ТЕХНИЧЕСКИЕ НАУКИ (TECHNICAL SCIENCE)
УДК 004.021
Акжолов Р.К.
студент 4 курса факультета математики и информационных технологий, кафедра информационных технологий. Астраханский государственный университет (Россия, г. Астрахань)
Верига А.В.
доцент кафедры информационных технологий Астраханский государственный университет (Россия, г. Астрахань)
ПРЕДОБРАБОТКА ТЕКСТА ДЛЯ РЕШЕНИЯ ЗАДАЧ NLP
Аннотация: в статье рассматривается методы предварительной обработки текста для дальнейшей работы с алгоритмами машинного обучения.
Ключевые слова: NLP, векторизация, токенизация, стэмминг, лемматизация.
Обработка естественного языка (Natural Language Processing) — общее направление искусственного интеллекта и математической лингвистики. Оно изучает проблемы компьютерного анализа и синтеза естественных языков.
Алгоритмы машинного обучения не могут работать с текстом на естественном языке и для работы с ним нужна предварительная обработка текста. Целью данной статьи является знакомство с методами предварительной обработки текстов для решения задач NLP.
Предобработка текста переводит текст на естественном языке в формат удобный для дальнейшей работы. Предобработка состоит из различных этапов, которые могут отличаться в зависимости от задачи и реализации.
Как правило, первым шагом обработки текста является нормализация. Эта операция, в результате которой тексты приводятся к нужному регистру, удаляются знаки пунктуации (обычно реализуется как удаление из текста символов из заранее заданного набора), удаляются числа (или приводятся к другому формату), удаляются пробельные символы. Нормализация необходима для унификации методов обработки текста.
Следующим шагом является токенизация, которая заключается в разбиении длинных строк на более короткие. Обычно используется токенизация по словам.
После токенизации важным шагом является удаление стоп-слов. Стоп-слова - это слова, которые не несут смысловой нагрузки. В русском языке, например: союзы, предлоги.
Следующим шагом является стемминг. Количество корректных словоформ, значения которых схожи, но написания отличаются суффиксами, приставками, окончаниями и прочим, очень велико, что усложняет создание словарей и дальнейшую обработку. Стемминг позволяет привести слово к его основной форме. Суть подхода в нахождении основы слова, для этого с конца и начала слова последовательно отрезаются его части. Правила отсекания для стеммера создаются заранее, и чаще всего представляют из себя регулярные выражения.
Лемматизация является альтернативой стемминга. Основная идея в приведении слова к словарной форме — лемме. Например, для русского языка:
• для существительных — именительный падеж, единственное число;
• для прилагательных — именительный падеж, единственное число, мужской род;
• для глаголов, причастий, деепричастий — глагол в инфинитиве несовершенного вида.
Отличие в том, что стеммер действует без знания контекста и, соответственно, не понимает разницу между словами, которые имеют разный смысл в зависимости от части речи. Однако у стеммеров есть и свои преимущества: их проще внедрить и они работают быстрее.
Векторизация. Большинство математических моделей работают в векторных
пространствах больших размерностей, поэтому необходимо отобразить текст в
векторном пространстве. Основным подходом является мешок слов: для документа
67
формируется вектор размерности словаря, для каждого слова выделяется своя размерность, для документа записывается признак насколько часто слово встречается в нем, получаем вектор. Наиболее распространенным методом для вычисления признака является TF-IDF (TF — частота слова, term frequency, IDF — обратная частота документа, inverse document frequency). TF вычисляется, как счетчиком вхождения слова. IDF обычно вычисляют как логарифм от числа документов в корпусе, разделённый на количество документов, где это слово представлено. Таким образом, если какое-то слово встретилось во всех документах корпуса, то такое слово не будет никуда добавлено.
Список литературы:
Обработка естественного языка. [Электронный ресурс]: URL:
https://ru.wikipedia.org/wiki/Обработка_естественного_языка.
Основы Natural Language Processing для текста. [Электронный ресурс]: URL: https://habr.com/ru/company/Voximplant/blog/446738/.
Обработка естественного языка. [Электронный ресурс]: URL:
http://neerc.ifmo.ru/wiki/index.php?title=Обработка_естественного_языка.