Снова про NLP: мечтают ли лингвисты об электроколлегах?
В прошлой статье мы рассказали, как лингвисты могут работать с человеческим мозгом — и нет, не при помощи нейролингвистического программирования. Про три страшные буквы NLP мы пообещали рассказать позже, и этот день настал.
Лингвисты в самом деле могут заниматься NLP – Natural language processing!
Natural language processing (оно же «обработка естественного языка») — это область развития искусственного интеллекта с целью добиться взаимодействия компьютеров с человеческим (естественным) языком. Главная цель NLP заключается в том, чтобы компьютеры могли понимать, интерпретировать и генерировать человеческий язык так же, как это делают люди.
Для любого современного учёного компьютер – незаменимая вещь, и лингвисты не исключение. Язык – это необъятное море данных, осознать объёмы которого невозможно, а систематизировать надо! Безусловно, восхищают своими масштабами рукописи Даля, составившие в итоге бессмертный «Толковый словарь живого великорусского языка», картотека Зализняка, переродившаяся в «Грамматический словарь» и множество других исследований докорпусной эпохи. Но повторять сейчас эти научные подвиги не хочется, ведь у нас есть удобнейший инструмент, избавляющий от муторных часов ручной работы: электронный носитель заменяет многотомные каталоги, алфавитная сортировка и перебор карточек не нужны, когда есть поиск по регулярным выражениям. Жить стало проще! Но как мы к этому пришли?
Компьютеры вошли в нашу жизнь так прочно и составляют такую важную часть жизни, что мы совершенно не задумываемся, насколько, на самом деле, сложно устроенно наше с ними взаимодействие. Удобный графический пользовательский интерфейс, понятные текстовые команды, голосовые помощники, создающие все условия для комфортного повседневного использования компьютера, заставляют забыть, что машина нас, на самом деле, не понимает, и «поговорить» с ней на, скажем, русском языке было невозможной задачей всего несколько поколений назад.
Компьютер долго и муторно учился нас понимать. Более того, продолжает это делать. С каждым годом руками учёных-лингвистов и программистов наше «общение» с машинами будет всё более удобным и продуктивным.
Давайте же рассмотрим основные задачи NLP и продукты, появляющиеся в процессе их решения.
Самые понятные продукты NLP окружают нас повсюду. Любой факт взаимодействия компьютера и текста – результат обработки текстового материала. Она может происходить в самых разных модальностях и направлениях:
- Оптическое распознавание текста – оцифровка рукописей, расшифровка и форматирование документов, систематизация почерков и анализ авторства написанного;
- Распознавание речи – в отличие от оптического распознавания, где компьютеру приходится работать с набором дискретных символов, речь очень тяжело сегментировать: пауз в естетсвенной речи мало, звуки сливаются за счёт коартикуляции, на всё накладываются разные тембры голосов и акценты;
Декодирование аудио или фото текста позволяет перевести информацию на понятный для компьютера язык и начать его обработку:
- Морфологический и синтаксический анализ.
«Понять» человеческий текст с ходу компьютер не может – для этого ему нужно совершить ряд преобразований. Основные из них связаны с морфологическим анализом (можно представить, что компьютер занимается морфемным и морфологическим разбором слов) – токенизация, лемматизация, сегментация, стемминг и многие другие. Токенизируя текст, компьютер разбивает его на маленькие части – токены, – проще всего соотнести их с графическими словами или пунктуационными знаками. Отдельные токены можно, опираясь на статистические данные и правила языка разбить на морфемы, объединить по принадлежности к одной лексеме, классифицировать по частям речи или семантической окраске…
Одним из распространенных методов синтаксического анализа машинными средствами является синтаксическое дерево - структура данных, которая отображает синтаксическую структуру предложения. Существуют различные методы построения синтаксических деревьев, такие как методы статистического анализа, методы на основе правил, методы на основе машинного обучения и др.
При помощи NLP-инструментов можно проводить автоматический синтаксический анализ текста, выделять главные и зависимые части предложения, определять взаимосвязи между словами и фразами. Это позволяет компьютеру генерировать грамматичные тексты на основе словаря: в чат-ботах, системах голосовых помощниках и многом другом.
Морфологический и синтаксический анализ — необходимая стадия на пути к основным задачам NLP.
- Машинный перевод: NLP используется для разработки систем автоматического перевода текстов с одного языка на другой. На данный момент для распространённых и изученных языков типа английского довольно хорошо развит автоматический перевод текстов и аудио.
- Анализ тональности: NLP помогает анализировать и классифицировать тексты по их эмоциональной окраске. Это может быть полезно для мониторинга общественного мнения, оценки отзывов или выявления настроений в социальных сетях.
- Извлечение информации: NLP позволяет автоматически извлекать структурированную информацию из сплошных текстов разного формата: имена, даты, названия организаций и т.д. Это можно применить в поисковых системах, информационных агрегаторах, при генерации баз данных.
Это только некоторые из областей, в которых NLP находит применение. В наших следующих статьях вы ещё не раз встретите упоминания нейросетей, позволяющих учёным повысить эффективность исследований. Надеемся, что кто-то из вас тоже вдохновится и внесёт свой вклад в развитие этой важной и очень интересной области.
Эльвира Агеева, преподавательница кафедры русского языка АПО
