Функции обработки естественного языка (NLP)
Это экспериментальная функция, которая в настоящее время разрабатывается и не готова к общему использованию. Она будет изменена в непредсказуемые и несовместимые с предыдущими версиями способы в будущих релизах. Установите allow_experimental_nlp_functions = 1
, чтобы включить ее.
detectCharset
Функция detectCharset
определяет набор символов не закодированной в UTF8 входной строки.
Синтаксис
Аргументы
text_to_be_analyzed
— Набор (или предложения) строк для анализа. String.
Возвращаемое значение
- Строка, содержащая код определенного набора символов
Примеры
Запрос:
Результат:
detectLanguage
Определяет язык UTF8-кодированной входной строки. Функция использует библиотеку CLD2 для обнаружения и возвращает 2-буквенный ISO код языка.
Функция detectLanguage
работает лучше всего при предоставлении более 200 символов во входной строке.
Синтаксис
Аргументы
text_to_be_analyzed
— Набор (или предложения) строк для анализа. String.
Возвращаемое значение
- 2-буквенный ISO код определенного языка
Другие возможные результаты:
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-буквенный ISO код определенного языка
Другие возможные результаты:
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
— Язык, к которому будут применяться правила. Используйте двухбуквенный ISO 639-1 код.word
— слово, которое нужно стеммировать. Должно быть в нижнем регистре. String.
Примеры
Запрос:
Результат:
Поддерживаемые языки для stem()
Функция stem() использует библиотеку Snowball stemming, смотрите сайт Snowball для обновленных языков и т. д.
- арабский
- армянский
- баскский
- каталонский
- датский
- нидерландский
- английский
- финский
- французский
- немецкий
- греческий
- хинди
- венгерский
- индонезийский
- ирландский
- итальянский
- литовский
- непали
- норвежский
- Портер
- португальский
- румынский
- русский
- сербский
- испанский
- шведский
- тамильский
- турецкий
- идиш
synonyms
Находит синонимы к заданному слову. Существует два типа расширений синонимов: plain
и wordnet
.
При использовании типа расширения plain
необходимо предоставить путь к простому текстовому файлу, где каждая строка соответствует определенному набору синонимов. Слова в этой строке должны быть разделены пробелами или табуляциями.
При использовании типа расширения wordnet
необходимо предоставить путь к каталогу с тезаурусом WordNet, который должен содержать индекс смыслов WordNet.
Синтаксис
Аргументы
extension_name
— Название расширения, в котором будет выполняться поиск. String.word
— Слово, которое будет искаться в расширении. String.
Примеры
Запрос:
Результат:
Конфигурация