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