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