Функции обработки естественного языка (NLP)
detectCharset
Добавлено в версии v22.2.0
Определяет кодировку (набор символов) входной строки, закодированной в формате, отличном от UTF-8.
Эта функция экспериментальная и в будущих выпусках может измениться непредсказуемым образом с нарушением обратной совместимости.
Чтобы включить её, задайте allow_experimental_nlp_functions = 1.
Синтаксис
Аргументы
s— текст для анализа.String
Возвращаемое значение
Возвращает строку с кодом обнаруженной кодировки символов. String
Примеры
Базовое использование
detectLanguage
Добавлено в версии: v22.2.0
Определяет язык входной строки в кодировке UTF-8. Функция использует библиотеку CLD2 для определения языка и возвращает двухбуквенный ISO‑код языка.
Чем длиннее входные данные, тем точнее будет определение языка.
Эта функция является экспериментальной и в будущих выпусках может измениться непредсказуемым образом с нарушением обратной совместимости.
Установите allow_experimental_nlp_functions = 1, чтобы включить её.
Синтаксис
Аргументы
text_to_be_analyzed— текст для анализа.String
Возвращаемое значение
Возвращает двухбуквенный ISO-код обнаруженного языка. Другие возможные результаты: un = неизвестно, не удалось определить ни один язык; other = обнаруженный язык не имеет двухбуквенного кода. String
Примеры
Текст на смешанном языке
detectLanguageMixed
Добавлено в: v22.2.0
Аналогична функции detectLanguage, но detectLanguageMixed возвращает Map, в котором 2-буквенным кодам языков сопоставлены значения с процентом соответствующего языка в тексте.
Эта функция является экспериментальной и в будущих выпусках может непредсказуемо измениться с нарушением обратной совместимости.
Чтобы включить её, установите allow_experimental_nlp_functions = 1.
Синтаксис
Аргументы
s— текст для анализаString
Возвращаемое значение
Возвращает отображение (map), в котором ключи — 2-буквенные ISO-коды, а соответствующие значения — процент текста, определённого для этого языка Map(String, Float32)
Примеры
Смешанные языки
detectLanguageUnknown
Добавлено в: v22.2.0
Аналогична функции detectLanguage, за исключением того, что функция detectLanguageUnknown работает со строками, закодированными не в UTF8.
Используйте эту версию, когда ваш набор символов — UTF-16 или UTF-32.
Эта функция является экспериментальной и в будущих выпусках может измениться непредсказуемым образом с нарушением обратной совместимости.
Установите allow_experimental_nlp_functions = 1, чтобы включить её.
Синтаксис
Аргументы
s— текст для анализа.String
Возвращаемое значение
Возвращает двухбуквенный код языка по стандарту ISO для обнаруженного языка. Другие возможные результаты: un = неизвестно, не удалось определить какой-либо язык, other = обнаруженный язык не имеет двухбуквенного кода. String
Примеры
Базовое использование
detectTonality
Добавлено в: v22.2.0
Определяет тональность переданных текстовых данных.
В текущей реализации эта функция ограничена тем, что использует встроенный эмоциональный словарь и работает только для русского языка.
Эта функция является экспериментальной и в будущих выпусках может непредсказуемо измениться с нарушением обратной совместимости.
Чтобы включить её, установите allow_experimental_nlp_functions = 1.
Синтаксис
Аргументы
s— текст для анализа.String
Возвращаемое значение
Возвращает среднее значение тональности слов в тексте Float32
Примеры
Анализ тональности текста на русском языке
lemmatize
Добавлено в версии: v21.9.0
Выполняет лемматизацию заданного слова. Для работы этой функции необходимы словари, которые можно получить с GitHub. Подробнее о загрузке словаря из локального файла см. раздел «Определение словарей».
Эта функция является экспериментальной и в будущих выпусках может изменяться непредсказуемым образом с нарушением обратной совместимости.
Чтобы включить её, установите allow_experimental_nlp_functions = 1.
Синтаксис
Аргументы
lang— Язык, для которого будут применены правила.Stringword— Слово в нижнем регистре, которое нужно лемматизировать.String
Возвращаемое значение
Возвращает лемматизированную форму слова String
Примеры
Лемматизация английского языка
stem
Добавлено в: v21.9.0
Выполняет стемминг слова или массива слов с использованием алгоритмов Snowball. Каждая входная строка должна содержать только одно слово в нижнем регистре — строки с пробельными символами вызывают исключение. Передача символов в верхнем регистре приводит к неопределённым результатам. Возвращает String для скалярных входных данных (включая FixedString) и Array(String) для входных массивов. Поддерживаются варианты Nullable и LowCardinality для типов String и FixedString.
Синтаксис
Аргументы
word— Одно слово в нижнем регистре (или массив слов) для стемминга. Должно быть в нижнем регистре — символы в верхнем регистре приводят к неопределённому результату. Принимает String, FixedString, Array(String), Array(FixedString), Array(Nullable(String)) или Array(Nullable(FixedString)).StringилиFixedStringилиArray(String)илиArray(FixedString)language— Язык, для которого будут применяться правила стемминга. Используйте двухбуквенный код ISO 639-1 (например, 'en', 'de', 'fr'), см. https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes.String
Возвращаемое значение
Стеммированная форма слова (String) или массив стеммированных слов (Array(String)). String или Array(String)
Примеры
Стемминг одного слова
Стемминг для массива слов
Стемминг типа FixedString
Стемминг для слова типа Nullable
synonyms
Добавлено в версии: v21.9.0
Находит синонимы заданного слова.
Существует два типа расширений синонимов:
plainwordnet
Для типа расширения plain необходимо указать путь к простому текстовому файлу, где каждая строка соответствует определённому множеству синонимов.
Слова в этой строке должны быть разделены пробелами или символами табуляции.
Для типа расширения wordnet необходимо указать путь к каталогу, содержащему тезаурус WordNet.
Тезаурус должен содержать WordNet sense index.
Эта функция является экспериментальной и в будущих выпусках может измениться непредсказуемым образом с нарушением обратной совместимости.
Чтобы включить её, установите allow_experimental_nlp_functions = 1.
Синтаксис
Аргументы
ext_name— Название расширения, в котором будет выполняться поиск.Stringword— Слово, по которому будет выполняться поиск в расширении.String
Возвращаемое значение
Возвращает массив синонимов для указанного слова. Array(String)
Примеры
Поиск синонимов