3. В чем сущность семантической свертки?
4. Для чего используется разреженное распределенное представление текста?
5. Что называют лоскутами? Каково назначение семантической карты текста?
6. Каково назначение таблицы семантических отпечатков?
Вопросы для обсуждения:
1. В чем сходство и отличие формального и статистического методов разбора текста? Каковы их возможности и ограничения? Приведите примеры их применения.
2. Каковы возможности применения машинного обучения для обработки естественного языка? Какие решаются интеллектуальные задачи?
3. Каковы особенности и возможности применения семантической свертки для обучения нейронных сетей обработке естественного языка?
Методические рекомендации
Первое, необходимо определить основную и до сих пор окончательно не решенную задачу обработки естественного языка, а именно извлечение смысла из введенного текста и реализацию реакции системы искусственного интеллекта, в том числе синтезирование нового текста, с учетом этого смысла.
Второе, рассматриваем существующие на сегодняшний день основные методы обработки текста, в которых его осмысление интеллектуальной системой не происходит, однако в силу особенностей работы этих методов у пользователя может складываться впечатление, что система его понимает.
Первый метод основан на использовании формальных правил и поэтому называется формальным методом разбора текста. Уточняем, что в данном методе применяются заранее подготовленные словари с описанием всех возможных вариантов использования в тексте той или иной лексической единицы.
Обсуждаем, что на основе этих словарей выполняется морфологический и синтаксический анализ текста, а также выработка системы правил, чтобы определить, какая комбинация слов позволит синтезировать правильное предложение.
Следует обратить внимание учащихся на то, что этот метод хорошо работает в том случае, если удается достаточно точно и детально построить математическую модель конкретного языка. Однако для многих естественных языков данная задача сложна и не решена до конца до сих пор. Система наводящих вопросов может помочь школьникам прийти к выводу о том, что лучше всего формальный метод применять для анализа и синтеза текста, записанного на искусственном языке.
Второй метод основан на использовании статистических методов анализа текста и активном применении машинного обучения, в том числе нейронных сетей. Этот метод называют статистическим методом разбора текста, в нем на основе вероятности появления определенной лексической единицы в тексте определяется, в каком месте предложения она может быть использована.
Учащимся необходимо понимать, что существует множество статистических методов анализа текста, которые применяются в зависимости от поставленной задачи. Например, существуют методы, позволяющие на основе анализа множества текстов определять принадлежность текста определенному автору.
Обращаем внимание, что использование нейронных сетей для обработки текстов, написанных на естественном языке, позволяет расширить область применения статистических методов. Для этого нейронную сеть обучают на специальных парах «стимул - реакция», где в качестве стимула используются фразы на естественном языке, а реакции - это ответы на этом же языке. Чем больше будет база таких пар (датасетов), тем точнее система искусственного интеллекта будет реагировать на вводимый текст.
Опираясь на уже полученные знания в области нейросетей и распознавания образов, учащиеся могут назвать и другие факторы, влияющие на точность определения слов и целых фраз искусственной системой (например, количество слоев в нейронной сети).
Третий подход к обработке текстов заключается в использовании смешанного метода, сочетающего формальный и статистический методы разбора текста. Уточняем, что этот метод позволяет обрабатывать тексты без четко выраженной предметной принадлежности, используется он при разработке современных поисковых систем и прикладных программ, которые исправляют опечатки пользователей и понимают поисковый контекст.
Третье, важно отметить, что рассмотренные методы ориентированы на обработку текста лишь за счет накопления больших объемов статистических данных и использования их для обучения нейронных сетей. Поэтому нельзя говорить о том, что интеллектуальная система понимает текст.
Стоит обратить внимание учащихся на то, что в большей степени к верному пониманию текстов приблизился новый метод, который получил название семантической свертки. Он позволяет организовать поиск нужной информации в тексте не по ключевым словам, как это происходило ранее, а по заключенному в тексте смыслу. При рассмотрении этого вопроса базируемся на ранее полученных знаниях учащихся о функционировании сверточной нейронной сети.
В процессе обсуждения выделяем три этапа, из которых состоит метод семантический свертки:
1. Текст преобразуется в битовые векторы - последовательность битов (0 или 1), в которой единиц существенно меньше, чем нулей. Каждая позиция в этом битовом векторе означает определенный смысловой аспект слова или фразы.
Объясняем, что если в определенной позиции стоит цифра 1, то это означает, что данное слово или фраза несут смысловое значение, соответствующее этой позиции. Если же в разных векторах, определяющих разные слова, на одном и том же месте стоит цифра 1, то это означает, что данные слова или фразы семантически близки. Можно уточнить, что этот формат хранения данных получил специальное название - разреженное распределенное представление (SDR - Spares Distributed Representation).
2. На основе сформированных битовых векторов создается семантическая карта текста - граф, - в которой близкие по смыслу части текста, называемые лоскутами, располагаются близко, а далекие по смыслу понятия - на более далеком расстоянии. При этом система использует табличное представление графа, то есть семантическая карта текста представляет собой прямоугольную таблицу (двумерный массив), а каждому лоскуту будет соответствовать индекс в этом двумерном массиве.
3. Каждое слово текста проверяется на вхождение в определенный лоскут. Уточняем, что при этом слово может находиться в разных лоскутах, то есть иметь разный смысл в зависимости от контекста. Для каждого такого вхождения указывается индекс двумерного массива, соответствующий тому лоскуту, к которому можно отнести данное слово. В итоге получается еще одна таблица - таблица семантических отпечатков. Обращаем внимание, что такая таблица строится для всех слов текста, а из всех этих таблиц в итоге формируется семантический словарь.
Подкрепляем повествование примерами, понятными учащимся, а также предлагаем им самим привести примеры. Так, слово «хвост» находится в различных лоскутах: «прическа», «собака», «студент», - соответственно, семантическая карта слова «хвост» будет содержать индексы перечисленных лоскутов.
Четвертое, выясняем, что метод семантической свертки позволяет сравнивать смысл слов и фраз в зависимости от контекста, в котором они используются, а также оценивать степень их семантической близости, что, с точки зрения человека, означает понимать текст. Обращаем внимание учащихся на то, что благодаря этому можно выстраивать более эффективный поиск информации в тексте и формировать необходимую реакцию интеллектуальной системы на запросы пользователей. Уточните, что для обучения интеллектуальной системы не требуется огромных датасетов, и обсудите, что влечет за собой их уменьшение. Помогите учащимся прийти к выводу, что такой шаг приведет к использованию намного меньшего количества вычислительных ресурсов по сравнению с другими методами.
Пятое, важно обеспечить прочное понимание учащимися того факта, что для реализации семантической свертки используются сверточные нейронные сети, поэтому метод семантической свертки во многом похож на методы распознавания образов различной природы. И те и другие методы реализуются с применением сверточных нейросетей, относящихся к технологии глубокого машинного обучения.
Рассмотрим методику преподавания темы «Применение методов обработки естественного языка», которая является третьей и завершающей в модуле.
Цель: закрепить знание о методах обработки естественного языка, дать представление о чат-ботах и голосовых помощниках.
Контрольные вопросы:
1. Что понимается под машинным переводом текста?
2. В какую форму преобразует компьютерный переводчик вводимый текст?
3. Каков результат морфологического, синтаксического, семантического и прагматического анализа текста, выполненного компьютерным переводчиком?
4. Какие две функции должна выполнять программа, предназначенная для общения с пользователем на естественном языке?
5. Какие задачи решают чат-боты и голосовые помощники?
Вопросы для обсуждения:
1. От чего зависит качество работы компьютерного переводчика? Как можно улучшить качество перевода текста? Приведите примеры.
2. В чем сходство и отличие компьютерных переводчиков, чат-ботов, голосовых помощников? Приведите примеры.
3. Каковы возможности и перспективы развития программ, предназначенных для общения с пользователем на естественном языке? Приведите примеры.
Методические рекомендации
Первое, в ходе обсуждения истории развития программ-переводчиков отмечаем, что в середине XX века началась разработка теории машинного перевода и была предложена первая программа-переводчик. Уточняем, что компьютерные переводчики начали получать свое распространение во второй половине XX века. В рамках теории машинного перевода рассматривались вопросы преобразования текста с одного естественного языка на другой язык с применением компьютеров (тогда они назывались электронно-вычислительными машинами - ЭВМ).
Второе, обращаем внимание учащихся, что сегодня под машинным переводом понимают не только область научных исследований, но и сам процесс перевода текста с помощью компьютеров. При этом для машинного перевода используют двуязычные словари, которые содержат информацию о структурах слов, способах их возможных сочетаний в предложениях и о том смысле, которые эти слова содержат.
Далее выделяем шаги в алгоритме работы компьютерного переводчика:
1. С помощью компьютерного переводчика текст вводится устно (через микрофон) или письменно (через клавиатуру, сканер и т.д.) и преобразуется в последовательность символов.
2. Морфологический анализ текста, деление введенных символов на слова и приведение их в нормальную форму (именительный падеж и единственное число). Выделение устойчивых словосочетаний, которые переводятся на другой язык одним словом или тоже устойчивым словосочетанием.
3. Синтаксический анализ текста, нахождение места каждого слова в предложении, определение роли слов и зависимостей между словами.
4. Семантический анализ текста, определение контекста использованных в тексте многозначных слов для более точного и правильного перевода.
5. Прагматический анализ текста для перевода слов и словосочетаний на выходной язык, формирование итоговых словоформ и целого предложения.
Третье, обращаем внимание учащихся на то, что качество работы компьютерного переводчика зависит от качества реализации каждого этапа работы алгоритма и наличия определенных словарей. Предлагаем учащимся раскрыть суть этого высказывания и привести примеры. Так, для перевода специализированной литературы могут потребоваться дополнительные словари из соответствующей предметной области, которые содержат правила перевода специальных терминов.
Также уточняем, что от стиля исходного текста и тематики во многом зависит качество выполненного перевода. Например, перевод технического текста при наличии соответствующих словарей оказывается более качественным, чем художественного текста, поскольку интеллектуальная система не всегда распознает образы, которые использует автор художественного текста.
Совместно с учащимися формулируем вывод, что часто результаты машинного перевода используются для первичного знакомства с содержанием документа. В случае необходимости более качественного перевода человеку до сих пор приходится самому редактировать фрагменты, которые не смогла правильно перевести программа.
Четвертое, выделяем функции любой программы для общения с пользователем - анализ введенного текста и синтез текста для ответа на естественном языке. Уточняем, что с этой целью обучаются нейронные сети, что позволяет использовать не только заранее подготовленные ответы, но и синтезировать новые. Так, например, голосовой помощник «Алиса» для диалога использует как базу ответов на популярные вопросы, подготовленную разработчиками, так и нейросеть, которая позволяет формировать ответы на заданный пользователем вопрос, отсутствующий в датасете.