какие типичные типы задач решаются с помощью nlp

Обработка естественного языка

Содержание

Задачи [ править ]

Определение:
Корпус — подобранная и обработанная по определённым правилам совокупность текстов, используемых в качестве базы для исследования языка.

NLP решает большой набор задач, который можно разбить по уровням (в скобках). Среди этих задач, можно выделить следующие:

Основные подходы [ править ]

Предобработка текста [ править ]

Предобработка текста переводит текст на естественном языке в формат удобный для дальнейшей работы. Предобработка состоит из различных этапов, которые могут отличаться в зависимости от задачи и реализации. Далее приведен один из возможных набор этапов:

Стемминг [ править ]

Количество корректных словоформ, значения которых схожи, но написания отличаются суффиксами, приставками, окончаниями и прочим, очень велико, что усложняет создание словарей и дальнейшую обработку. Стемминг позволяет привести слово к его основной форме. Суть подхода в нахождении основы слова, для этого с конца и начала слова последовательно отрезаются его части. Правила отсекания для стеммера создаются заранее, и чаще всего представляют из себя регулярные выражения, что делает данный подход трудоемким, так как при подключении очередного языка нужны новые лингвистические исследования. Вторым недостатком подхода является возможная потеря информации при отрезании частей, например, мы можем потерять информацию о части речи.

Лемматизация [ править ]

Данный подход является альтернативой стемминга. Основная идея в приведении слова к словарной форме — лемме. Например для русского языка:

Векторизация [ править ]

Большинство математических моделей работают в векторных пространствах больших размерностей, поэтому необходимо отобразить текст в векторном пространстве. Основным походом является мешок слов (bag-of-words): для документа формируется вектор размерности словаря, для каждого слова выделяется своя размерность, для документа записывается признак насколько часто слово встречается в нем, получаем вектор. Наиболее распространенным методом для вычисления признака является TF-IDF [4] (TF — частота слова, term frequency, IDF — обратная частота документа, inverse document frequency). TF вычисляется, например, счетчиком вхождения слова. IDF обычно вычисляют как логарифм от числа документов в корпусе, разделённый на количество документов, где это слово представлено. Таким образом, если какое-то слово встретилось во всех документах корпуса, то такое слово не будет никуда добавлено. Плюсами мешка слов является простая реализация, однако данный метод теряет часть информации, например, порядок слов. Для уменьшения потери информации можно использовать мешок N-грамм (добавлять не только слова, но и словосочетания), или использовать методы векторных представлений слов это, например, позволяет снизить ошибку на словах с одинаковыми написаниями, но разными значениями.

Дедубликация [ править ]

Так как количество схожих документов в большом корпусе может быть велико, необходимо избавляться от дубликатов. Так как каждый документ может быть представлен как вектор, то мы можем определить их близость, взяв косинус или другую метрику. Минусом является то, что для больших корпусов полный перебор по всем документам будет невозможен. Для оптимизации можно использовать локально-чувствительный хеш, который поместит близко похожие объекты.

Семантический анализ [ править ]

Семантический (смысловой) анализ текста — выделение семантических отношений, формировании семантического представления. В общем случае семантическое представление является графом, семантической сетью, отражающим бинарные отношения между двумя узлами — смысловыми единицами текста. Глубина семантического анализа может быть разной, а в реальных системах чаще всего строится только лишь синтаксико-семантическое представление текста или отдельных предложений. Семантический анализ применяется в задачах анализа тональности текста [5] (Sentiment analysis), например, для автоматизированного определения положительности отзывов.

Распознавание именованных сущностей и извлечение отношений [ править ]

Именованные сущности — объекты из текста, которые могут быть отнесены к одной из заранее заявленных категорий (например, организации, личности, адреса). Идентификация ссылок на подобные сущности в тексте является задачей распознавания именованных сущностей.

Определение семантических отношений между именованными сущностями или другими объектами текста, является задачей извлечения отношений. Примеры отношений: (автор,книга), (организация,главный_офис).

Использование N-грамм [ править ]

В NLP N-граммы используются для построения вероятностных моделей, задач схожести текстов, категоризации текста и языка.

Построив N-граммную модель можно определить вероятность употребления заданной фразы в тексте. N-граммная модель рассчитывает вероятность последнего слова N-граммы, если известны все предыдущие, при этом полагается, что вероятность появления каждого слова зависит только от предыдущих слов.

Использование N-грамм применяется в задаче выявления плагиата. Текст разбивается на несколько фрагментов, представленных N-граммами. Сравнение N-грамм друг с другом позволяет определить степень сходства документов. Аналогичным способом можно решать задачу исправления орфографических ошибок, подбирая слова кандидаты для замены.

Частеречная разметка [ править ]

Частеречная разметка (POS-тэгирование, англ. part-of-speech tagging) используется в NLP для определения части речи и грамматических характеристик слов в тексте с приписыванием им соответствующих тегов. Модель необходима, когда значение слова зависит от контекста. Например, в предложениях «Столовая ложка» и «Школьная столовая» слово «столовая» имеет разные части речи. POS-тэгирование позволяет сопоставить слову в тексте специальный тэг на основе его значения и контекста.

Алгоритмы частеречной разметки делятся на несколько групп:

POS-тэгирование является неотъемлемой частью обработки естественного языка. Без частеречной разметки становится невозможным дальнейший анализ текста из-за возникновения неопределенностей в значениях слов. Данный алгоритм используется при решении таких задач как перевод на другой язык, определение смысла текста, проверка на пунктуационные и речевые ошибки. Также можно автоматизировать процесс определения хештегов у постов и статей, выделяя существительные в приведенном тексте.

Библиотеки для NLP [ править ]

NLTK (Natural Language ToolKit) [14] [ править ]

Пакет библиотек и программ для символьной и статистической обработки естественного языка, написанных на Python и разработанных по методологии SCRUM. Содержит графические представления и примеры данных. Поддерживает работу с множеством языков, в том числе, русским.

spaCy [15] [ править ]

Библиотека, разработанная по методологии SCRUM на языке Cypthon, позиционируется как самая быстрая NLP библиотека. Имеет множество возможностей, в том числе, разбор зависимостей на основе меток, распознавание именованных сущностей, пометка частей речи, векторы расстановки слов. Не поддерживает русский язык.

scikit-learn [16] [ править ]

Библиотека scikit-learn разработана по методологии SCRUM и предоставляет реализацию целого ряда алгоритмов для обучения с учителем и обучения без учителя через интерфейс для Python. Построена поверх SciPy. Ориентирована в первую очередь на моделирование данных, имеет достаточно функций, чтобы использоваться для NLP в связке с другими библиотеками.

gensim [17] [ править ]

Python библиотека, разработанная по методологии SCRUM, для моделирования, тематического моделирования документов и извлечения подобия для больших корпусов. В gensim реализованы популярные NLP алгоритмы, например, word2vec. Большинство реализаций могут использовать несколько ядер.

Балто-славянские языки имеют сложную морфологию, что может ухудшить качество обработки текста, а также ограничить использование ряда библиотек. Для работы со специфичной русской морфологией можно использовать, например, морфологический анализатор pymorphy2 [18] и библиотеку для поиска и извлечения именованных сущностей Natasha [19]

Источник

Тренды и прогнозы в Natural Language Processing

Тренды и прогнозы в области NLP (Natural Language Processing)

Это статья про тренды и прогнозы из нашего сентябрьского Альманаха «Искусственный интеллект» №2, который посвящен обзору рынка технологий и компаний в области NLP и распознавания-синтеза речи в России.

Для этого иследования мы проводили экспертный опрос индустрии и в частности задавали вопрос о прогнозах развития как технологий, так и применения ИИ в разных областях. Ответов было не так много, но тем не менее общую тенденцию можно сформулировать. В этой статье мы обобщили эти ответы и проявили основные тренды.

Общие технологические тренды

End-to-end решение задач NLP

Приближение качества распознавания и генерации речи к человеческой

В ближайшие годы будет достигнуто существенное улучшение качества распознавания речи. Количество ошибок при распознавании приблизится к человеческому уровню. Улучшится распознавание смешанной речи нескольких людей, говорящих с различными акцентами в условиях зашумленности. Добавится анализ звуковых сцен с распознаванием пола и возраста говорящих, эмоциональной окраски их речи и характера окружающей обстановки.

Синтезированная речь будет неотличима от человеческой, причем можно будет синтезировать голос любого человека.

Многоязычность

В ближайшее время появятся многоязыковые модели перевода, в том числе, за счет применения transfer learning и за счет использования кроме параллельных корпусов значительно более объемных монокорпусов. В результате значительно повысится качество перевода для малоресурсных языков (с относительно небольшими массивами обучающих выборок).

Ручной перевод будет целиком вытеснен машинным благодаря более глубокому машинному пониманию контекста и тематики документов. По мере взросления технологий распознавания и синтеза речи, на горизонте 5-10 лет появится машинный синхронный устный перевод.

Понимание смысла текстов

На том же горизонте 5-10 лет появятся и другие приложения, основанные на понимании смысла с учетом контекста: разного рода диалоговые и справочные сервисы, способные понимать контекст диалога, разумно отвечать на вопросы пользователей и направлять ход диалога в нужном направлении. Более глубокое машинное понимание языка выведет на новый уровень автоматическую обработку текстовых потоков в интернете и в соцсетях: сбор и компиляцию фактов, их анализ на непротиворечивость и достоверность.

Генерация текстов

Нейросетевые end-to-end подходы повсеместно заменят классический NLG-pipeline. Применение моделей уровня GPT2 уже дает возможность создавать достаточно длинные статьи по произвольным темам в заданной области с управляемым содержимым. На 5-летнем горизонте нейросетевые модели смогут генерировать тексты не хуже человека. И тогда автоматический контент затопит мир.

Платформы и кроссплатформенность

Многие решения станут стандартными, появится множество платформ для сборки приложений на базе голосовых интерфейсов. Облачные платформы будут улучшаться с точки зрения времени отклика, нагрузок и безопасности. Прогнозируется рост инвестиций не в отдельные диалоговые сервисы (чатботы), а в многофункциональные платформы и кросс-платформенные решения, благодаря которым голосовой ассистент сможет одинаково работать на разных устройствах. В результате мы сможем начинать разговор со своим помощником в «умном доме», продолжать его по дороге в автомобиле и потом на работе со своим компьютером на рабочем месте и все это без потери контекста общения.

Технологии для малого количества данных

Будет расти значение методов машинного обучения, которые эффективно работают в условиях малого количества сырых данных: transfer learning, knowledge transfer. В таких применениях также ожидается более широкое использование GAN (generative adversarial networks) для генерации данных для обучения моделей.

Архитектуры с меньшими требованиями к вычислительным ресурсам

По мере перехода нейросетевых моделей из стен лабораторий в коммерческие дата-центры повысятся требования к их энергоэффективности. Ожидается появление новых, более эффективных вычислительных архитектур. Например, разреженные сети, сочетающие лучшие качества распределенных и символьных вычислений, модели сложность которых адаптируется к количеству обучающих данных.

Рыночные тренды

Повсеместное внедрение голосовых интерфейсов

Развитие технологий speech-to-text будет первым шагом для упрощения офисных задач (например, планирования времени руководителя, поиска документов, обработки конфиденциальной информации). С повышением точности распознавания, глубины понимания и качества синтеза речи голосовые интерфейсы будут интегрированы практически во все устройства: диалоговые системы в умном доме, автомобиле, бытовой технике, боты-аватары, боты-помощники.

Взрывной рост голосовых роботов

Нас ждет взрывной рост количества интеллектуальных ассистентов в различных отраслях бизнеса, в том числе в коммерческих сервисах банков, ритейлеров, телекома и других компаний, которые активно взаимодействуют с клиентами. Все вербальное общение с массовой аудиторией в наиболее популярных сервисах будут вести роботы. Роботы научатся чутко распознавать эмоции, используя в том числе мультимодальную оценку эмоций и будут сами использовать эмоциональную составляющую в разговоре.

Поиск информации на естественном языке

Растет спрос на интеллектуальный поиск с возможностью делать запросы на естественном языке. Все больше организаций хотят быстро находить неструктурированные данные во всех внутренних источниках, автоматически определять их содержание и выделять значимые факты в специализированных юридических или финансовых текстах. За счет развития глубоких моделей извлечения фактов из текстов и автореферирования их содержания будет существенно повышаться качество поиска информации.

Своими силами

По всей видимости, крупные компании – банки, телеком, промышленность – будут развивать и наращивать собственную экспертизу в области ИИ, в том числе разговорного с собственной командой лингвистов, data scientists, NLP инженеров и т.д. Примеры аутсорсинга отдельных задач в ближайшее время останутся малочисленными. Мы наблюдаем быстрый рост ИИ команд многих крупных компаний. Хорошо это или плохо – тема для отдельной статьи, но это явный тренд.

Тренды отдельных отраслей

Финансы и страхование

В кратковременной перспективе фокус банков будет направлен на извлечение максимальной выгоды из уже накопленных банками данных с помощью ИИ вообще и NLP в частности. В долгосрочной перспективе есть устойчивый тренд на унификацию и упрощение банковских процессов, выполнимых без участия человека или с его минимальным участием (открытие счета, оценка рисков, создание кредитного досье, скоринг и т.д.). NLP будет сочетаться с другими технологиями (компьютерное зрение, RPA, удалённая идентификация и т.д.).

Промышленность и логистика

Благодаря технологиям NLP можно ожидать новое поколение конструкторов проектной документации, а также появление систем, оценивающих непротиворечивости документов, описывающих сложные технические объекты. Дальше можно прогнозировать появление автоматизированных систем планирования контрольных мероприятий на основе анализа проектной документации и норм с помощью NLP.

С появлением систем понимания смысла текстов, на горизонте 5-10 лет ожидается окончательное решение задачи нормализации номенклатур.

Медицина

Широкое внедрение голосовых интерфейсов позволит в значительной мере освободить врача от записей текста и создавать автоматически размеченные истории болезней. Появление больших размеченных корпусов текстов сделает возможным появление СППВР (систем поддержки принятия врачебных решений) нового класса на базе технологий NLP.

IT и телекоммуникации

Ожидается широкое применение технологий голосовой биометрии (аутентификации и авторизации человека по голосу) для предоставления услуг на основе персонифицированных данных. Телеком операторы получат возможность занять уникальное положение в экосистеме цифровых сервисов, обладая голосовым каналом связи с клиентом. С другой стороны, голосовые мессенджеры опираются на те же базовые технологии распознавания и синтеза речи. Нас ждет интересное время битв гигантов телеком индустрии с мессенджерами за голосовой канал с клиентом.

Юридическая практика

На горизонте 3-5 лет можно ожидать широкого внедрения технологий автоматической проверки договоров и шире – автоматизации договорной работы, в том числе проверка выполнения обязательств и т.п.

В ближайшие 5-10 лет можно ожидать появление моделей понимания юридических текстов. На их основе мы ожидаем появление систем, выдающих на вопрос пользователя, заданный на естественном языке, ответ, представляющий из себя сжатую справку по существующей нормативно-правовой документации, включая найденные противоречия и различные версии.

Компьютер для юриста перестанет быть справочником и станет полноценным инструментом поддержки принятия решений. Одной из главных задач компьютера юриста станет прогнозирование исхода судебного процесса с построением вероятностного дерева решений на базе существующей практики. Вероятно, большая часть этой работы будет происходить в облаке на обученных моделях огромного размера.

Массовое появление точечных сервисов, продуктов и компаний, решающих конкретную задачу в юридической плоскости.

Можно ожидать более глубокую интеграцию RPA-решений с технологиями NLP, что приведет к передаче рутинных задач по обработке информации и вводу данных к программным роботам.
И наконец, абсолютно завораживающе выглядит перспектива смарт-контрактов на блокчейне, автоматически генерирующихся на базе анализа юридически обязывающих документов, например договоров или NDA. Такое объединение технологий может вызвать к жизни самоисполняющиеся юридические документы, что само по себе пока звучит как фантастика, но уже недалеко от реализации.

Медиа и реклама

Нас ждет повсеместное внедрение персонализированного маркетинга на основе онлайн-анализа цифрового следа человека. Он будет включать глубокий анализ текстов человека и их тональности: негативная, позитивная оценка текста не в общем, а по отношению к конкретному продукту или бренду.

У каждого человека появится персональный помощник для покупок, который будет брать на себя до 90 % рутинных покупок.

Появятся сервисы по автоматической генерации новостей для конкретной компании, основываясь на ее истории, внутренних и внешних событиях.

Наука и образование

В ближайшие 5-10 лет можно ожидать появление моделей понимания научных текстов. Мы ожидаем появление систем, выдающих ответ на вопрос пользователя, заданный на естественном языке, представляющий из себя сжатую справку по существующей научной литературе по этому вопросу, включая найденные противоречия и различные версии. Другое применение таких моделей – это рекомендательные системы для научных исследований или анализа патентных ландшафтов.

Такие системы кардинально изменят технологический ландшафт и ускорят трансфер технологий, за счет анализа и выявления экспертов и экспертных сообществ в заданной области на основе анализа источников научной и патентной информации.

Также на горизонте 5-10 лет мы ожидаем появление полноценных Teacher Assistent’ов для каждой дисциплины и в общем для образовательных учреждений. С другой стороны, появятся персональные помощники обучающегося, которые будут вести человека по персональной траектории образования на протяжении всей жизни. Взаимодействие этих интеллектуальных агентов, по видимому, также будет осуществляться на естественном языке.

Государство и безопасность

Государства все больше перемещают свои активности в медиа пространство и социальные сети. Возникшая в последние годы концепция «информационных войн» приобрела совершенно конкретные формы и требует новых видов «вооружения» и «защиты». Уже наблюдается мощный тренд и будет только расти спрос на обнаружение фальшивых новостей (fake news). К сожалению, можно также с уверенностью прогнозировать рост спроса на автоматизированную генерацию разного рода fake news. Будет развиваться применение ИИ как для создания ботов в социальных сетях, так и для их выявления.

Не менее важна и разведка. ИИ будет все больше применяться для анализа больших массивов информации о компаниях, людях и транзакциях в разной форме для решения прикладных задач типа поиска аффилированности и неявных связей компаний и физлиц.

С ростом количества людей, для государства становится все более насущной задача максимально автоматизировать общение с гражданином с целью предоставления ему тех или иных услуг. ИИ, вероятно в форме интеллектуальных агентов, будет активно применяться для персонификации и персонализации государственных и муниципальных сервисов для каждого гражданина — так называемые «когнитивные города» и «государство-как-сервис».

Источник

5 методов обработки естественного языка, которые стремительно меняют мир вокруг нас

какие типичные типы задач решаются с помощью nlp. Смотреть фото какие типичные типы задач решаются с помощью nlp. Смотреть картинку какие типичные типы задач решаются с помощью nlp. Картинка про какие типичные типы задач решаются с помощью nlp. Фото какие типичные типы задач решаются с помощью nlp

Собираетесь изучать NLP и заниматься разработкой приложений, основанных на обработке естественного языка? Хотите создать свое приложение или программу для голосового помощника Amazon Alexa или Яндекс Алиса? В статье мы расскажем о направлениях развития и техниках, которые применяются для решения задач NLP, чтобы вам стало проще ориентироваться.

Что такое обработка естественного языка

Обработка естественного языка (далее NLP — Natural language processing) — область, находящаяся на пересечении computer science, искусственного интеллекта и лингвистики. Цель заключается в обработке и “понимании” естественного языка для перевода текста и ответа на вопросы.

С развитием голосовых интерфейсов и чат-ботов, NLP стала одной из самых важных технологий искусственного интеллекта. Но полное понимание и воспроизведение смысла языка — чрезвычайно сложная задача, так как человеческий язык имеет особенности:

Где применяется NLP

Сегодня быстро растет количество полезных приложений в этой области:

Глубокое обучение в NLP

Существенная часть технологий NLP работает благодаря глубокому обуч ению (deep learning) — области машинного обучения, которая начала набирать обороты только в начале этого десятилетия по следующим причинам:

Большинство методов машинного обучения хорошо работают из-за разработанных человеком представлений (representations) данных и входных признаков, а также оптимизации весов, чтобы сделать финальное предсказание лучше.

В глубоком обучении алгоритм пытается автоматически извлечь лучшие признаки или представления из сырых входных данных.

Созданные вручную признаки часто слишком специализированные, неполные и требуют время на создание и валидацию. В противоположность этому, выявленные глубоким обучением признаки легко приспосабливаются.

Глубокое обучение предлагает гибкий, универсальный и обучаемый фреймворк для представления мира как в виде визуальной, так и лингвистической информации. Вначале это привело к прорывам в областях распознавания речи и компьютерном зрении. Эти модели часто обучаются с помощью одного распространенного алго ритма и не требуют традиционного построения признаков под конкретную задачу.

Недавно я закончил исчерпывающий курс по NLP с глубоким обучением из Стэнфорда.

Этот курс — подробное введение в передовые исследование по глубокому обучению, примененному к NLP. Курс охватывает представление через вектор слов, window-based нейросети, рекуррентные нейросети, модели долгосрочной-краткосрочной памяти, сверточные нейросети и некоторые недавние модели с использованием компонента памяти. Со стороны программирования, я научился применять, тренировать, отлаживать, визуализировать и создавать собственные нейросетевые модели.

Замечание: доступ к лекциям из курса и домашним заданиям по программированию находится в этом репозитории.

Векторное представление (text embeddings)

В традиционном NLP слова рассматриваются как дискретные символы, которые далее представляются в виде one-hot векторов. Проблема со словами — дискретными символами — отсутствие определения cхожести для one-hot векторов. Поэтому альтернатива — обучиться кодировать схожесть в сами векторы.

Векторное представление — метод представления строк, как векторов со значениями. Строится плотный вектор (dense vector) для каждого слова так, чтобы встречающиеся в схожих контекстах слова имели схожие вектора. Векторное представление считается стартовой точкой для большинства NLP задач и делает глубокое обучение эффективным на маленьких датасетах. Техники векторных представлений Word2vec и GloVe, созданных Google (Mikolov) Stanford (Pennington, Socher, Manning) соответственно, пользуются популярностью и часто используются для задач NLP. Давайте рассмотрим эти техники.

Word2Vec

Word2vec принимает большой корпус (corpus) текста, в котором каждое слово в фиксированном словаре представлено в виде вектора. Далее алгоритм пробегает по каждой позиции t в тексте, которая представляет собой центральное слово c и контекстное слово o. Далее используется схожесть векторов слов для c и o, чтобы рассчитать вероятность o при заданном с (или наоборот), и продолжается регулировка вектор слов для максимизации этой вероятности.

какие типичные типы задач решаются с помощью nlp. Смотреть фото какие типичные типы задач решаются с помощью nlp. Смотреть картинку какие типичные типы задач решаются с помощью nlp. Картинка про какие типичные типы задач решаются с помощью nlp. Фото какие типичные типы задач решаются с помощью nlp

Для достижения лучшего результата Word2vec из датасета удаляются бесполезные слова (или слова с большой частотой появления, в английском языке — a,the,of,then). Это поможет улучшить точность модели и сократить время на тренировку. Кроме того, используется отрицательная выборка (negative sampling) для каждого входа, обновляя веса для всех правильных меток, но только на небольшом числе некорректных меток.

Word2vec представлен в 2 вариациях моделей:

какие типичные типы задач решаются с помощью nlp. Смотреть фото какие типичные типы задач решаются с помощью nlp. Смотреть картинку какие типичные типы задач решаются с помощью nlp. Картинка про какие типичные типы задач решаются с помощью nlp. Фото какие типичные типы задач решаются с помощью nlp

Единственная жалоба на Skip-Gram и CBOW — принадлежность к классу window-based моделей, для которых характерна низкая эффективность использования статистики совпадений в корпусе, что приводит к неоптимальным результатам.

GloVe

GloVe стремится решить эту проблему захватом значения одного word embedding со структурой всего обозримого корпуса. Чтобы сделать это, модель ищет глобальные совпадения числа слов и использует достаточно статистики, минимизирует среднеквадратичное отклонение, выдает пространство вектора слова с разумной субструктурой. Такая схема в достаточной степени позволяет отождествлять схожесть слова с векторным расстоянием.

какие типичные типы задач решаются с помощью nlp. Смотреть фото какие типичные типы задач решаются с помощью nlp. Смотреть картинку какие типичные типы задач решаются с помощью nlp. Картинка про какие типичные типы задач решаются с помощью nlp. Фото какие типичные типы задач решаются с помощью nlp

Помимо этих двух моделей, нашли применение много недавно разработанных технологий: FastText, Poincare Embeddings, sense2vec, Skip-Thought, Adaptive Skip-Gram.

Машинный перевод

Излишне говорить, что этот подход пропускает сотни важных деталей, требует большого количества спроектированных вручную признаков, состоит из различных и независимых задач машинного обучения.

Нейросетевой машинный перевод (Neural Machine Translation) — подход к моделированию перевода с помощью рекуррентной нейронной сети (Recurrent Neural Network, RNN). RNN — нейросеть c зависимостью от предыдущих состояний, в которая имеет связи между проходами. Нейроны получают информацию из предыдущих слоев, а также из самих себя на предыдущем шаге. Это означает, что порядок, в котором подается на вход данные и тренируется сеть, важен: результат подачи “Дональд” — “Трамп” не совпадает с результатом подачи “Трамп” — “Дональд”.

какие типичные типы задач решаются с помощью nlp. Смотреть фото какие типичные типы задач решаются с помощью nlp. Смотреть картинку какие типичные типы задач решаются с помощью nlp. Картинка про какие типичные типы задач решаются с помощью nlp. Фото какие типичные типы задач решаются с помощью nlp

Стандартная модель нейро-машинного перевода является сквозной нейросетью, где исходное предложение кодируется RNN, называемой кодировщик (encoder), а целевое слово предсказывается с помощью другой RNN, называемой декодер (decoder). Кодировщик «читает» исходное предложение со скоростью один символ в единицу времени, далее объединяет исходное предложение в последнем скрытом слое. Декодер использует обратное распространение ошибки для изучение этого объединения и возвращает переведённую вариант. Удивительно, что находившийся на периферии исследовательской активности в 2014 году нейро-машинный перевод стал стандартом машинного перевода в 2016 году. Ниже представлены достижения перевода на основе нейронной сети:

Главная проблема RNN — проблема исчезновения градиента, когда информация теряется с течением времени. Интуитивно кажется, что это не является серьезной проблемой, так как это только веса, а не состояния нейронов. Но с течением времени веса становятся местами, где хранится информация из прошлого. Если вес примет значение 0 или 100000, предыдущее состояние не будет слишком информативно. Как следствие, RNN будут испытывать сложности в запоминании слов, стоящих дальше в последовательности, а предсказания будут делаться на основе крайних слов, что создает проблемы.

Сети краткосрочной-долгосрочной памяти (Long/short term memory, далее LSTM) пытаются бороться с проблемой градиента исчезновения вводя гейты (gates) и вводя ячейку памяти. Каждый нейрон представляет из себя ячейку памяти с тремя гейтами: на вход, на выход и забывания (forget). Эти затворы выполняют функцию телохранителей для информации, разрешая или запрещая её поток.

Было показано, что LSTM способны обучаться на сложных последовательностях и, например, писать в стиле Шекспира или сочинять примитивную музыку. Заметим, что каждый из гейтов соединен с ячейкой на предыдущем нейроне с определенным весом, что требуют больше ресурсов для работы. LSTM распространены и используются в машинном переводе. Помимо этого, это стандартная модель для большинства задач маркировки (labeling) последовательности, которые состоят из большого количества данных.

какие типичные типы задач решаются с помощью nlp. Смотреть фото какие типичные типы задач решаются с помощью nlp. Смотреть картинку какие типичные типы задач решаются с помощью nlp. Картинка про какие типичные типы задач решаются с помощью nlp. Фото какие типичные типы задач решаются с помощью nlp

Закрытые рекуррентные блоки (Gated recurrent units, далее GRU) отличаются от LSTM, хотя тоже являются расширением для нейросетевого машинного обучения. В GRU на один гейт меньше, и работа строится по-другому: вместо входного, выходного и забывания, есть гейт обновления (update gate). Он определяе т, сколько информации необходимо сохранить c последнего состояния и сколько информации пропускать с предыдущих слоев.

Функции сброса гейта (reset gate) похожи на затвор забывания у LSTM, но расположение отличается. GRU всегда передают свое полное состояние, не имеют выходной затвор. Часто эти затвор функционирует как и LSTM, однако, большим отличием заключается в следующем: в GRU затвор работают быстрее и легче в управлении (но также менее интерпретируемые). На практике они стремятся нейтрализовать друг друга, так как нужна большая нейросеть для восстановления выразительности (expressiveness), которая сводит на нет приросты в результате. Но в случаях, где не требуется экстра выразительности, GRU показывают лучше результат, чем LSTM.

какие типичные типы задач решаются с помощью nlp. Смотреть фото какие типичные типы задач решаются с помощью nlp. Смотреть картинку какие типичные типы задач решаются с помощью nlp. Картинка про какие типичные типы задач решаются с помощью nlp. Фото какие типичные типы задач решаются с помощью nlp

Помимо этих трех главных архитектур, за последние несколько лет появилось много улучшений в нейросетевом машинном переводе. Ниже представлены некоторые примечательные разработки:

Голосовые помощники

Много статей написано о “разговорном” искусственном интеллекте (ИИ), большинство разработок фокусируется на вертикальных чат-ботах, мессенджер-платформах, возможностях для стартапов (Amazon Alexa, Apple Siri, Facebook M, Google Assistant, Microsoft Cortana, Яндекс Алиса). Способности ИИ понимать естественный язык пока остаются ограничены, поэтому создание полноценного разговорного ассистента остается открытой задачей. Тем не менее, представленные ниже работы — отправная точка для людей, заинтересованных в прорыве в области голосовых помощников.

Исследователи из Монреаля, Технического Института Технологий Джорджии, Microsoft и Facebook создали нейросеть, способную создавать чувствительные к контексту ответы в разговоре. Эта система может тренироваться на большом количестве неструктурированных диалогов в Twitter. Архитектура рекуррентной нейросети используется для ответов на разреженные вопросы, которые появляются при интегрировании контекстной информации в классическую статистическую модель, что позволяет системе учесть сказанное ранее. Модель показывает уверенное улучшение результата над контент-чувствительной и контент-нечувствительной базовой линией машинного перевода и поиска информации.

Разработанная в Гонконге нейронная машина для ответов (далее NRM — Neural Responding Machine) — генератор ответов для коротких текстовых бесед. NRM использует общий кодер-декодер фреймворк. Сначала формализуется создание ответа, как процесс расшифровки на основе скрытого представления входного текста, пока кодирование и декодирование реализуется с помощью рекуррентных нейросетей. NRM обучен на больших данных с односложными диалогами, собранными из микро-блогов. Эмпирическим путем установлено, что NRM способен генерировать правильные грамматические и уместные в данном контексте ответы на 75% поданных на вход текстов, опережая в результативности современные модели с теми же настройками.

какие типичные типы задач решаются с помощью nlp. Смотреть фото какие типичные типы задач решаются с помощью nlp. Смотреть картинку какие типичные типы задач решаются с помощью nlp. Картинка про какие типичные типы задач решаются с помощью nlp. Фото какие типичные типы задач решаются с помощью nlp

Последняя модель — Google’s Neural Conversational Model предлагает простой подход к моделированию диалогов, используя sequence-to-sequence фреймворк. Модель поддерживает беседу благодаря предсказанию следующего предложения, используя предыдущие предложения из диалога. Сильная сторона этой модели — способность к сквозному обучению, из-за чего требуется намного меньше рукотворных правил.

Модель способна создавать простые диалоги на основе обширного диалогового тренировочного сета, способна извлекать знания из узкоспециализированных датасетов, а также больших и зашумленных общих датасетов субтитров к фильмам. В узкоспециализированной области справочной службы для ИТ-решений модель находит решения технической проблемы с помощью диалога. На зашумленных датасетах транскриптов фильмов модель способна делать простые рассуждения на основе здравого смысла.

Вопросно-ответные (QA) системы

Идея вопросно-ответных (Question-answering, далее — QA) систем заключается в извлечении информации непосредственно из документа, разговора, онлайн поиска или любого другого места, удовлетворяющего потребности пользователя. Вместо того, чтобы заставлять пользователя читать полный текст, QA системы предпочитают давать короткие и лаконичные ответы. Сегодня QA системы легко комбинируются с чат-ботами, выходят за пределы поиска текстовых документов и извлекают информацию из набора картинок.

Большинство NLP задач могут быть рассмотрены как вопросно-ответные задачи. Парадигма проста: отправляется запрос, на который машина предоставляет ответ. Через чтение текста или набора инструкций разумная система должна находить ответ на большой круг вопросов. Естественно, требуется создать модель для ответов на общие вопросы.

какие типичные типы задач решаются с помощью nlp. Смотреть фото какие типичные типы задач решаются с помощью nlp. Смотреть картинку какие типичные типы задач решаются с помощью nlp. Картинка про какие типичные типы задач решаются с помощью nlp. Фото какие типичные типы задач решаются с помощью nlp

Специально для QA задач создана и оптимизирована мощная архитектура глубокого обучения — Сеть Динамической Памяти (Dynamic Memory Network, далее — DNM). Обученная на тренировочном наборе из входных данных и вопросов, DNM формирует эпизодические воспоминания и использует их для генерации подходящих ответов. Эта архитектура состоит из следующих компонент:

какие типичные типы задач решаются с помощью nlp. Смотреть фото какие типичные типы задач решаются с помощью nlp. Смотреть картинку какие типичные типы задач решаются с помощью nlp. Картинка про какие типичные типы задач решаются с помощью nlp. Фото какие типичные типы задач решаются с помощью nlp

DNM хорошо справляется с QA задачами и превосходит в результатах другие архитектуры для семантического анализа и частеречной разметки (part-of-speech tagging). С момента выпуска начальной версии DMN претерпела ряд улучшений для дальнейшего совершенствования точности в QA задачах:

Краткое изложение текста (Text Summarization)

Человеку сложно вручную выделить краткое содержание в большом объеме текста. Поэтому в NLP возникает проблема создания точного и лаконичного резюме для исходного документа. Извлечение краткого содержания (Text Summarization) — важный инструмент для помощи в интерпретации текстовой информации. Push-уведомления и дайджесты статей привлекают большое внимание, а количество задач по созданию разумных и точных резюме для больших фрагментов текста растет день ото дня.

Автоматическое извлечение краткого содержания из текста работает следующим образом. Сначала считается частота появления слова во полном текстовом документе, затем 100 наиболее частых слов сохраняются и сортируются. После этого каждое предложение оценивается по количеству часто употребимых слов, причем вес больше у более часто встречающегося слова. Наконец, первые Х предложений сортируются с учетом положения в оригинальном тексте.

какие типичные типы задач решаются с помощью nlp. Смотреть фото какие типичные типы задач решаются с помощью nlp. Смотреть картинку какие типичные типы задач решаются с помощью nlp. Картинка про какие типичные типы задач решаются с помощью nlp. Фото какие типичные типы задач решаются с помощью nlp

С сохранением простоты и обобщающей способности алгоритм автоматического извлечения краткого содержания способен работать в сложных ситуациях. Например, многие реализации терпят неудачи на текстах с иностранными языками или уникальными словарными ассоциациями, которые не содержатся в стандартных массивах текстов.

Выделяют два фундаментальных подхода к сокращению текста: извлекательный и абстрактный. Первый извлекает слова и фразы из оригинального текста для создания резюме. Последний изучает внутреннее языковое представление, чтобы создать человекоподобное изложение, перефразируя оригинальный текст.

Методы в извлекательном сокращении работают на основе выбора подмножества. Это достигается за счет извлечения фраз или предложений из статьи для формирования резюме. LexRank и TextRank — хорошо известные представители этого подхода, которые используют вариации алгоритм сортировки страниц Google PageRank.

LexRank — алгоритм обучения без учителя на основе графов, который использует модифицированный косинус обратной частоты встречи слова, как мера похожести двух предложений. Похожесть используется как вес грани графа между двумя предложениями. LexRank также внедряет шаг умной постобработки, которая убеждается, что главные предложения не слишком похожи друг на друга.

TextRank похож на алгоритм LexRank, но имеет некоторые улучшений. К ним относятся:

какие типичные типы задач решаются с помощью nlp. Смотреть фото какие типичные типы задач решаются с помощью nlp. Смотреть картинку какие типичные типы задач решаются с помощью nlp. Картинка про какие типичные типы задач решаются с помощью nlp. Фото какие типичные типы задач решаются с помощью nlp

Модели для абстрактного резюмирования используют глубокое обучение, которое позволило сделать прорывы в таких задачах. Ниже представлены примечательные результаты больших компаний в области NLP:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *