Функции обработки естественного языка (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-буквенный 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
— Язык, к которому будут применяться правила. Используйте 2-буквенный ISO 639-1 код.word
— слово, которое нужно стеммировать. Должно быть написано с маленькой буквы. String.
Примеры
Запрос:
Результат:
Поддерживаемые языки для stem()
Функция stem() использует библиотеку Snowball stemming, смотрите веб-сайт Snowball для обновленных языков и т.д.
- Арабский
- Армянский
- Баскский
- Каталонский
- Датский
- Нидерландский
- Английский
- Финский
- Французский
- Немецкий
- Греческий
- Хинди
- Венгерский
- Индонезийский
- Ирландский
- Итальянский
- Литовский
- Непальский
- Норвежский
- Портер
- Португальский
- Румынский
- Русский
- Сербский
- Испанский
- Шведский
- Тамильский
- Турецкий
- Идиш
synonyms
Находит синонимы к заданному слову. Существуют два типа расширений синонимов: plain
и wordnet
.
С типом расширения plain
необходимо предоставить путь к простому текстовому файлу, где каждая строка соответствует определенному набору синонимов. Слова в этой строке должны быть разделены пробелами или табуляцией.
С типом расширения wordnet
необходимо предоставить путь к директории с тезаурусом WordNet. Тезаурус должен содержать индекс смыслов WordNet.
Синтаксис
Аргументы
extension_name
— Имя расширения, в котором будет производиться поиск. String.word
— Слово, которое будет искаться в расширении. String.
Примеры
Запрос:
Результат:
Конфигурация