Когда к нам приходят новые разработчики, до этого не встречавшие NLP, то первым делом они уяснять себе терминологию. У нас есть внутренняя обучающая документация и решили написать небольшую статью на эту тему. Конечно, это мог бы быть отдельный раздел на сайте, типа»Глоссарий», но пока на полноценный словарь терминов не потянем, поэтому начнем со статьи.
- И первым у нас будет определение, собственно, термина Natural Language Processing. Переводиться, как «обработка естественного языка». Мы употребляем его, чтобы датьпонять, чтомы говорим о взаимодействии натурального человеского языка и компьютерных или роботизированных устройств.
- Токенизация — это самый первый шаг при обработке текста. Заключается в разбиении (разделении) длинных строк текста в более мелкие: абзацы делим на предложения, предложения на слова.
- Нормализация — для качественной обработки текст должен быть нормализированным. Это серия операций, в результате которых текст приводиться к «рафинированному» виду: всеслова приводятся к одному регистру, удаляются знаки пунктуации, расшифровываются сокращения, числа приводятся к их текстовому написанию и т.д. Нормализация необходима для унификации методов обработки текста.
- Стеммизация — образовано от английского слова stem, которое переводиться как «лингвистическая основа слова». В восточнославянских языках к этому близко понятие «корень слова». Так, стеммизация — это устранение придатков к корню, то есть отделение суффикса,приставки, окончания.
- Лемматизация — близка к стеммизация. Отличие в том, что лемматизация приводит слово к смысловой канонической форме слова (инфинитив для глагола, именительный падеж единственного числа — для существительных и прилагательных). Это более сложная операция. Например: зафрахтованный — фрахтовать, ценами — цена, лучший — хороший.
- Корпус — в самом простом понимании, это набор текстов. Также, используется термин корпора — это множество корпусов. Корпус может состоять из текстов на одном языке, а может из текстов на разных. Корпус используется исключительно для проверки гипотез, обучения и статистического лингвистического анализа.
- Стоп-слова — слова, которые не несут никакой смысловой нагрузки. Их еще называют шумовыми словами. Стоп-слова уже давно применяются в алгоритмах поисковых машин. Например,в английском языке — это артикли, в русском — междометия, союзы, маты и т.д.
- POS (Part-of-Speech) tagging, морфологическая разметка — это процесс назначения тега токенизированной части предложения. Наиболее популярная разметка определяет слова как имена существительные, прилагательные, глаголы и другие части речи.
- Statistical Language Modeling (статистическое моделирование языка) — процесс построения статистической модели языка, целью которой является создать текст, максимально близкий к натуральной речи. Математически SLM — это распределение вероятности появления строки S как целого предложения.
- «Сумка слов» (bag of words) — это детальная репрезентативая модель, используемая для упрощения обработки содержание выделенного текста. Эта модель не берет во внимание грамматику или порядок слов. Главная задача — определение количества вхождений слов в данный текст.
- n-граммы. Это другая модель для упрощения распознавания содержание текста. В отличии от моделей, гдене учитывается порядок слов, n-граммная модель определяет и сохраняет смежные последовательности слов в тексте.