Функции обработки естественного языка (NLP)
Это экспериментальная функция, которая в настоящее время находится в разработке и не готова к общему использованию. Она будет изменяться непредсказуемым образом с несовместимыми изменениями в будущих релизах. Установите allow_experimental_nlp_functions = 1, чтобы активировать её.
detectCharset
Функция detectCharset определяет кодировку входной строки, не закодированной в UTF8.
Синтаксис
Аргументы
text_to_be_analyzed— Набор (или предложения) строк для анализа. String.
Возвращаемое значение
String, содержащая код определенной кодировки
Примеры
Запрос:
Результат:
detectLanguage
Определяет язык входной строки, закодированной в UTF8. Функция использует библиотеку CLD2 для определения языка и возвращает 2-буквенный код языка по стандарту ISO.
Функция detectLanguage работает наилучшим образом при наличии более 200 символов во входной строке.
Синтаксис
Аргументы
text_to_be_analyzed— Набор (или предложения) строк для анализа. String.
Возвращаемое значение
- 2-буквенный код языка, который был определен
Другие возможные результаты:
un= неизвестно, не удается определить язык.other= обнаруженный язык не имеет 2-буквенного кода.
Примеры
Запрос:
Результат:
detectLanguageMixed
Похожие на функцию detectLanguage, но detectLanguageMixed возвращает Map 2-буквенных языковых кодов, сопоставленных с процентом определенного языка в тексте.
Синтаксис
Аргументы
text_to_be_analyzed— Набор (или предложения) строк для анализа. String.
Возвращаемое значение
Map(String, Float32): Ключи — это 2-буквенные коды по стандарту ISO, а значения — это процент текста, найденного для этого языка.
Примеры
Запрос:
Результат:
detectProgrammingLanguage
Определяет язык программирования из исходного кода. Вычисляет все униграммы и биграммы команд в исходном коде. Затем, используя размеченный словарь с весами униграмм и биграмм команд для различных языков программирования, находит язык с наибольшим весом и возвращает его.
Синтаксис
Аргументы
source_code— строковое представление исходного кода для анализа. String.
Возвращаемое значение
- Язык программирования. String.
Примеры
Запрос:
Результат:
detectLanguageUnknown
Похожая на функцию detectLanguage, однако функция detectLanguageUnknown работает с не закодированными в UTF8 строками. Предпочитайте эту версию, когда ваша кодировка — UTF-16 или UTF-32.
Синтаксис
Аргументы
text_to_be_analyzed— Набор (или предложения) строк для анализа. String.
Возвращаемое значение
- 2-буквенный код языка, который был определен
Другие возможные результаты:
un= неизвестно, не удается определить язык.other= обнаруженный язык не имеет 2-буквенного кода.
Примеры
Запрос:
Результат:
detectTonality
Определяет тональность текстовых данных. Использует размеченный словарь тональности, в котором каждому слову присваивается тональность в диапазоне от -12 до 6. Для каждого текста вычисляется среднее значение тональности его слов и возвращается в диапазоне [-1,1].
Эта функция ограничена в своей текущей форме. В настоящее время она использует встроенный эмоциональный словарь по адресу /contrib/nlp-data/tonality_ru.zst и работает только для русского языка.
Синтаксис
Аргументы
text— Текст для анализа. String.
Возвращаемое значение
- Среднее значение тональности слов в
text. Float32.
Примеры
Запрос:
Результат:
lemmatize
Выполняет лемматизацию заданного слова. Для работы нужны словари, которые можно получить здесь.
Синтаксис
Аргументы
language— Язык, к правилам которого будет применяться. String.word— Слово, требующее лемматизации. Должно быть написано в нижнем регистре. String.
Примеры
Запрос:
Результат:
Конфигурация
Эта конфигурация указывает, что словарь en.bin должен использоваться для лемматизации английских (en) слов. Файлы с расширением .bin можно скачать по адресу
здесь.
stem
Выполняет стемминг заданного слова.
Синтаксис
Аргументы
language— Язык, к правилам которого будет применяться. Используйте 2-буквенный ISO 639-1 код.word— слово, которое нужно привести к корню. Должно быть написано в нижнем регистре. String.
Примеры
Запрос:
Результат:
Поддерживаемые языки для stem()
Функция stem() использует библиотеку Snowball stemming, смотрите сайт Snowball для обновлений языков и т. д.
- арабский
- армянский
- баскский
- каталанский
- датский
- нидерландский
- английский
- финский
- французский
- немецкий
- греческий
- хинди
- венгерский
- индонезийский
- ирландский
- итальянский
- литовский
- непальский
- норвежский
- Портер
- португальский
- румынский
- русский
- сербский
- испанский
- шведский
- тамильский
- турецкий
- идиш
synonyms
Находит синонимы к заданному слову. Существуют два типа расширений синонимов: plain и wordnet.
При типе расширения plain необходимо указать путь к простому текстовому файлу, в котором каждая строка соответствует определенному набору синонимов. Слова в этой строке должны разделяться пробелами или символами табуляции.
При типе расширения wordnet необходимо указать путь к каталогу с тезаурусом WordNet. Тезаурус должен содержать индекс смыслов WordNet.
Синтаксис
Аргументы
extension_name— Название расширения, в котором будет выполнен поиск. String.word— Слово, которое будет искаться в расширении. String.
Примеры
Запрос:
Результат:
Конфигурация