Как компьютеры понимают, что зло, зла и (из двух) зол — формы одного и того же слова? Рассказываем про лемматизацию — один из основных методов предобработки текстов, который помогает компьютеру лучше их понимать.
Лемматизация (англ. lemmatization) — это процесс приведения слова к его базовой, начальной форме, или лемме. Лемматизация является важным этапом в обработке естественного языка, поскольку она помогает компьютеру «понимать» различные грамматические формы слова как одно и то же слово. Например, слова «бегу», «бежит» будут приведены к лемме «бежать», а «малиновую» и «малиновее» — к лемме «малиновый».
Чтобы хорошо лемматизировать текст, лучше учитывать контекст слова, чтобы снять возможную грамматическую омонимию: «ели» может быть как множественным числом существительного ель, так и глаголом «есть» в прошедшем времени, третьем лице и множественном числе. Грамматика языка подсказывает, к какой части речи принадлежит слово и в какой грамматической форме оно находится. Лемму можно получить из словаря лемм, в котором содержится информация о лемме слов и их формах (обычно это списки слов во всевозможных падежах, временах, числах и т. д. с указанием начальной формы), хотя в последнее время всё чаще применяют методы машинного обучения.
Автоматизировать лемматизацию можно с помощью различных библиотек, таких как NLTK для английского языка или pymorphy2 (об этой библиотеке мы уже рассказывали в нашей статье про морфологический анализ) и natasha для русского языка. Более мощный инструмент, в котором поддерживаются русский, английский и множество других языков, — библиотека spaCy.
Пример лемматизации русского текста при помощи библиотеки spaCy (в среде Google Colab)
Более старые инструменты и модели частично основаны на правилах и эвристиках, которые заведомо не могут полностью описать механизмы естественного языка, более современные — на машинном обучении. Ни один инструмент не обладает стопроцентной точностью.
Лемматизация применяется в самых разных областях:
Например, в этом материале можно ознакомиться с тем, как лемматизация помогает при выделении тем в новостных статьях.
Компания Google представила много новых ИИ-продуктов, а модель GPT опровергла известную математическую гипотезу Пала Эрдёша — рассказываем, что произошло в мире ИИ за последнее время
Facebook* и Instagram* будут сканировать фото и видео, чтобы находить детей, которые скрыли свой возраст
Можно ли заниматься NLP, если при словах «производная» и «матрица» хочется закрыть ноутбук? Да — если изучать математику не абстрактно, а через реальные задачи. Объясняем, какие разделы действительно нужны джуну,…