Достижения в машинной обработке естественного языка

+7 926 604 54 63 address

«XX2 век» публикует статью исследователей компьютерной лингвистики Джулии Хиршберг (Julia Hirschberg) и Кристофера Д. Маннинга (Christopher D. Manning), опубликованную в 2015 году в журнале Science. Так как с тех пор в некоторых областях произошли значительные изменения, текст был дополнен информацией о последних открытиях. Ссылки на научные статьи читатель может найти в англоязычной версии статьи в журнале Science.

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

За последние 20 лет математическая лингвистика превратилась в захватывающую область научных исследований, а также в практически применимую технологию: она всё чаще используется в бытовой технике (например, в приложениях Apple Siri и Skype Translator). Четыре ключевых фактора способствовали такому развитию: (1) значительно увеличилась вычислительная мощность компьютеров, (2) стало доступно большое количество лингвистических данных, (3) были изобретены высокоэффективные методы машинного обучения (machine learning, ML), и (4) улучшилось понимание структуры человеческого языка и его использования в социальных контекстах. В этом обзоре мы опишем некоторые интересные области применения технологий обработки естественного языка (ОЕЯ, natural language processing), использующих подход больших данных (big data), основанный на современных передовых методологиях и объединяющий статистический анализ, и машинное обучение с пониманием естественного языка.

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

В течение первых нескольких десятилетий учёные пытались адаптировать словари и правила человеческих языков для компьютеров. Это оказалось трудной задачей из-за изменчивости, двусмысленности и зависимости интерпретации человеческих языков от контекста. Например, star (звезда) может быть либо астрономическим объектом, либо человеком; может быть как существительным, так и глаголом (в английском языке. — Прим. «XX2 век»). Другой пример: у заголовка Teacher strikes idle kids возможны две интерпретации — «учитель бьёт ленивых детей» и «забастовки учителей заставляют детей бездельничать». Интерпретация будет зависеть от того, какой смысл мы вкладываем в существительное, глагол и прилагательное в предложении, как мы понимаем грамматическую структуру. Начиная с 1980-х годов, но более широко в 1990-х, в ОЕЯ произошли значительные изменения: исследователи начали строить модели на большом количестве эмпирических языковых данных. Основанная на статистике, или на корпусной лингвистике, ОЕЯ стала одной из первых успешных областей использования больших данных (задолго до того, как машинное обучение получило широкое применение, даже до появления термина «большие данные»).

Центральной находкой статистического подхода к ОЕЯ стало то, что простые методы, использующие шаблоны из слов и последовательностей частей речи, часто показывают хорошие результаты при обучении на большом количестве данных. Многие классификаторы текстов и детекторы эмоциональной окраски по-прежнему основаны исключительно на наборах слов (подход bag of words), они не учитывают структуру дискурса и предложений, или значение текста. Достичь значительных улучшений по сравнению с результатами этого подхода может быть непросто, но это возможно с помощью нейронных сетей. Наиболее эффективные системы сейчас основываются на подходах машинного обучения и на лучшем понимании лингвистической структуры. В настоящее время доступны высокопроизводительные инструменты, способные выделять из текста синтаксическую, семантическую и дискурсивную информацию. Одним из примеров является Stanford CoreNLP, который предоставляет стандартную последовательность процедур предварительной обработки текста, включающую разметку частей речи (существительное, глагол и предлог); идентификацию имён собственных, таких как люди, места и организации; анализ грамматической структуры предложения; определение согласования между местоимениями и существительными (рис.1).

Рисунок 1. Многие инструменты ОЕЯ на первой стадии обработки анализируют лингвистическую структуру предложения. На изображении показан результат работы Stanford CoreNLP. Сверху вниз расписаны шаги работы алгоритма. Сначала программа определяет часть речи каждого слова и помечает его в соответствии с семантикой. Затем она определяет, какое местоимение относится к какому существительному. В конце она устанавливает синтаксическую структуру каждого предложения.

Два фактора превратили ОЕЯ в область использования больших данных. Первый — это ранняя доступность лингвистической информации в цифровой форме, в частности через Консорциум лингвистических данных (Linguistic Data Consortium, LDC), созданный в 1992-м году. В настоящий момент большое количество текстов в электронном формате можно легко загрузить из интернета. Обширные корпусы текстов и прямой речи доступны в лингвистически аннотированной форме — данные размечены с помощью меток частей речи, синтаксического и семантического разбора; в них аннотированы имена собственные (лица, места, организации), намерения диалога (утверждение, вопрос, запрос), эмоции и положительные или отрицательные чувства; определена тема или риторика текста. Второй фактор — усовершенствование методов ОЕЯ было стимулировано соревнованиями на базе «открытых задач» (задач, решать которые предложено всем, кто хочет. — Прим. «XX2 век»). Первоначально эти соревнования финансировались и организовывались Министерством обороны США, но позже инициативу по организации взяло на себя исследовательское сообщество (например, оно организовало соревнование CoNLL Shared Tasks). Такие конкурсы были предшественниками современных соревнований в области прогнозирования и аналитических моделей на основе машинного обучения, таких как Kaggle, в которых компании и исследователи публикуют данные и статистику, которую они получили эмпирически, а специалисты в области глубинного анализа данных (data mining) со всего мира соревнуются, кто эти данные лучше обработает.

Сегодня основным ограничением ОЕЯ является то, что большинство ресурсов и систем ОЕЯ доступны только для высокоресурсных языков (High Resource Language, HRL — таких языков, для которых накоплено много данных. — Прим. XX2 век), таких как английский, французский, испанский, немецкий и китайский. Многие языки с низким уровнем ресурсов (Low Resource Language, LRL), такие как бенгальский, индонезийский, панджабский, себуано и суахили, на которых говорят и пишут миллионы людей, не имеют таких ресурсов и систем. Вопрос, который будет стоять в будущем перед языковым сообществом — это как разработать ресурсы и инструменты ОЕЯ для сотен или тысяч разных языков, а не ограничиться парой-тройкой языков.

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

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

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

После затишья конца 1990-х годов, новое тысячелетие принесло комбинацию других благоприятных факторов. Это, во-первых, доступность большого количества интерактивного текста (в том числе, параллельного текста на двух языках); во-вторых, это распространённость и сравнительная дешевизна вычислительных систем; а в-третьих, появление новой идеи построения систем машинного перевода на базе фразовой статистики. Ключевое нововведение ОЕЯ этого времени — следующее: вместо того, чтобы переводить слово за словом, стали переводить небольшие группы слов, которые часто имеют характерное значение. Например, японское выражение mizu iro буквально представляет собой последовательность из двух слов («вода цвет»), но это — неправильный смысл. Выражение также не означает тип живописи — акварельный рисунок, оно обозначает светло-голубой оттенок. Такой основанный на фразовых значениях машинный перевод был использован Францем Охом (Franz Josef Och) в разработке переводчика Google Translate.

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

В прошлом году (2014) мы стали свидетелями появления чрезвычайно перспективного решения вопроса машинного перевода с помощью технологий глубокого обучения. Центральная идея глубокого обучения заключается в том, что, если научить модель с несколькими уровнями представления оптимизировать конечную цель (например, качество перевода), тогда модель сама сможет строить промежуточные представления, специфические для конкретных задач. Эта идея была реализована на моделях нейронных сетей, в которых информация хранится в векторах с вещественными числами. Над векторами выполняют некоторые операции, а именно матричное умножение, за которым следует нелинейное преобразование (например, к ним применяется сигмоидальная функция, которая отображает выходные значения матричного умножения на множество [−1, 1]). Построение больших моделей такого типа — гораздо более практично (особенно если учитывать, что сейчас стали возможны широкомасштабные параллельные вычисления на графических процессорах). В области перевода, исследования сосредоточились на определённом типе нейронных сетей — с долгой краткосрочной памятью (long short-term memory, LSTM). Эти сети могут лучше запоминать контекстную информацию по ходу «чтения» предложения (рис.2). Нейронные сети часто очень эффективны для нахождения тонких семантических сходств. Нейросетевые системы машинного перевода уже дали результаты, сравнимые по качеству с другими лучшими способами машинного перевода.

Замечание от редакции портала «XX2 век»

С момента написания статьи было совершено несколько ключевых открытий, одно из которых — изобретение Google Neural Machine Translation. Главное достижение этого метода по сравнению с другими системами машинного перевода — GNMT может переводить с языка на язык без помощи языка-посредника. Раньше, в статистических системах перевода, процедура занимала несколько шагов. Допустим, нам надо перевести текст с языка суахили на язык йоруба. Тогда на первой стадии текст переводился на английский, и с английского — на йоруба. Этого можно избежать с GNMT без потерь в качестве. Но это мы уже имели в простых системах нейронного машинного перевода, чем тогда GNMT лучше? Основная проблема до недавнего времени заключалась в том, что для каждой пары языков нужно было создавать отдельную нейронную сеть (то есть нейронные системы машинного перевода с трудом поддавались масштабированию). В противоположность, GNMT может работать с любой парой языков с помощью одной нейросети. GNMT также переводит лучше, чем статистические системы машинного перевода. Такая способность была получена благодаря особенному виду внутреннего состояния сети, которое в новостях красноречиво назвали «универсальным языком», и которое Google называет zero-shot translation.

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

Рисунок 2. Система машинного перевода, основанная на глубоком обучении. Изначально обученная на параллельных предложениях на разных языках, система представляет каждое слово как вектор с вещественными значениями (внутренние матрицы параметров составлены таким образом, чтобы оптимизировать качество перевода). После обучения, сеть может переводить даже такие предложения, которых не было в обучающем наборе. Каждая стрелка обозначает матричное умножение вместе со следующим за ним нелинейным преобразованием; векторы, показанные на иллюстрации, в реальности могут достигать размерности порядка 1000. Сначала рекуррентная нейронная сеть кодирует значение исходного предложения (это называется «кодировщик», он обозначен синим). Внутри постоянно хранится «закодированный» смысл предложения, который обновляется после прочтения каждого нового слова (чтение обозначено горизонтальными стрелками). Наличие верхних слоёв (обозначенных дополнительными верхними вертикальными стрелками) делает эту сеть глубокой рекуррентной сетью. Добавление глубины улучшает способность сети учиться, обобщать и запоминать. По достижении конца предложения (обозначен EOS), сеть начинает пошагово выводить слова перевода, исходя из внутреннего состояния (используя мультиклассовую логистическую модель регрессии). Во время генерации перевода (блоки обозначены зелёным и называются «декодировщик»), последнее сгенерированное слово подаётся на вход системе на каждом последующем шаге. По сохранённому скрытому представлению и по последнему слову модель вычисляет следующее слово перевода. Этот процесс повторяется до тех пор, пока сетью не будет сгенерирован EOS.

Разговорные системы и диалоговые агенты

Исследования диалога были популярной темой в ОЕЯ с 1980-х годов. Ранние работы по «текстовому» диалогу теперь дополнены исследованиями «разговорного» диалога — общения с интеллектуальными агентами на мобильных устройствах с целью доступа к информации и приложениям (Siri от Apple, Julie, Google Now и Microsoft Cortana). Разговорные диалоговые системы (РДС), если их встроить в роботов, могут помогать людям выполнять простые физические задачи (например, «Коботы Мануэлы Велосо», Manuela Veloso’s CoBots) или предоставлять терапию лицам с ограниченными возможностями (например, роботы — социальные работники Майи Матарич, Maja Mataric). Они также позволяют компьютерным аватарам тренировать людей в прохождении интервью или деловых переговоров или помогают в принятии медицинских решений.

Для разработки РДС, будь то для взаимодействия «человек-человек» или «человек-машина», необходимо несколько составных блоков. Это блок автоматического распознавания речи (АРР) — чтобы определить, что человек говорит; блок управления диалогом (УД), чтобы определить, что человек хочет; блок вычленения информации — для выполнения запрошенных действий; и блок преобразования текста в речь (ПТР), чтобы сообщить ответ человеку в устной форме (Рис.3). Кроме этого, РДС должны быть готовы к взаимодействию с пользователем при возникновении ошибки в распознавании речи — они должны понимать, какие слова, скорее всего, неправильно распознаны, и определять, что пользователь на самом деле хотел сказать (либо автоматически, либо через запрос дополнительной информации у пользователя). В разговорных системах элементы машинного перевода необходимы для облегчения диалога между говорящими на разных языках и системой. Алгоритм должен выявлять возможные ошибки в переводе и прояснять их с говорящим до того, как они произойдут.

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

Замечание от редакции портала «XX2 век»

За последние два года были получены положительные результаты и в этой области. В 2015-м году было предложено использовать модель sequence-to-sequence (такую же модель, как на рис.2, только декодировщик выдаёт не перевод, а ответную реплику в диалоге) для разработки РДС. Презентованная исследователями из Google (Oriol Vinyals, Quoc V. Le) система учится на корпусе диалогов и предсказывает следующую реплику на основе нескольких предыдущих. В испытаниях, будучи обученной на базе разговоров с IT-консультантами, система могла во многих случаях успешно помогать клиентам. Обученная на корпусе субтитров из фильмов, система могла неплохо выделять и «запоминать» факты из текста и говорить на свободную тему лучше, чем система CleverBot, чат-бот с одними из лучших показателей по тесту Тьюринга. В 2017-м году было предложено дополнение к sequence-to-sequence РДС, позволяющее системе учитывать контекст — информацию, которая не фигурировали в обучающих данных. Такая система сможет на фразу: «Я сейчас на Тверской, пошёл пообедать» ответить не просто: «Приятного аппетита», как сделала бы обычная РДС, а: «Знаешь, есть хороший фастфуд прямо напротив метро Пушкинская». В эксперименте для обучения использовались комментарии из Twitter и советы из Foursquare. В итоге, у разработчиков получилось создать РДС, учитывающую контекст на базовом уровне.

Чат-боты в стиле ELIZA могут «говорить» на любую тему, — они умным образом повторяют то, что сам человек до этого сказал, (хотя по способностям значительно отстают от нейронных РДС. — Прим. «XX2 век»); были попытки использования этого подхода в системах голосового диалога для выполнения функций компаньона для людей с определёнными особенностями (например, для пожилых или страдающих деменцией). В устном диалоге информация о психическом состоянии говорящего может быть выведена из различных смысловых уровней говорения и может быть использована для дополнения знаний системы о том, что имеет в виду пользователь.

Рисунок 3. РДС. Три основных компонента (автоматическое распознавание речи — сверху, управление диалогом — посередине, преобразование текста в речь — снизу) представлены прямоугольниками; стрелки обозначают поток информации.

Существует множество проблем при создании РДС, в дополнение к задаче повышения точности работы базовых блоков АРР, УД и ПТР и расширения их использования в более широких речевых доменах. К ним относятся задачи, связанные с распознаванием и воспроизведением нормального человеческого разговорного поведения, например чередования и координации реплик. Люди определяют по неявным характеристикам — по тону голоса, по выражению лица и позе собеседника (где возможно), готов ли говорящий передать ход или же он просто хочет помедлить. Сигналы, такие как пауза, заполненная «мычанием» (например, «мм» или «ну да»), используются, чтобы обозначить, что собеседник слушает то, что вы говорите, или пытается осмыслить уже услышанное (в случаях, когда нужна обратная связь), а также чтобы предоставить информацию о текущем состоянии диалога. Если пауза между репликами отличается от той, какую соблюдают обычно люди (например, когда пользователи должны ждать несколько секунд до получения ответа от системы), это делает РДС сложной для взаимодействия. Чтобы решить эту проблему, учёные работают над пошаговой обработкой модулей АРР, УД и ПТР: системы смогут быстрее реагировать на запросы пользователей, если процессы распознавания, перевода и генерации текста начать, пока пользователь всё ещё говорит. Люди также могут (в отличие от машин) правильно определить значение слов «да» и «хорошо», которые имеют различные коннотации в зависимости от манеры произнесения — согласие, смену темы и даже несогласие. В успешных и согласованных беседах люди также склонны приспосабливаться к партнёру по диалогу, становясь более похожими друг на друга в произношении, выборе слов, акустических и просодических чертах, выражениях лица и жестах. Эта тенденция уже давно использовалась, чтобы заставить пользователей РДС выбирать лексику, которую системе легче распознать. В настоящее время исследователи начинают полагать, что системы (особенно интеллектуальные роботы) должны подстраиваться под своих пользователей по разным параметрам. Некоторые результаты экспериментов показывают, что пользователи отдают предпочтение таким системам и даже считают, что они более умны.

Открытым вопросом уже давно было определение того, как спроектировать нормальный ход диалога, когда речь идёт на тему, где существующих экспериментальных данных недостаточно (такие ситуации ещё не происходили или их нет в базе данных). В настоящее время наиболее широко используемым подходом является POMDP (Partially Observable Markov Decision Process, частично наблюдаемый марковский процесс принятия решений), в котором предпринята попытка определить оптимальное поведение системы с помощью хранения распределения вероятностей возникновения определённых состояний РДС и обновления этого распределения, когда система наблюдает новое диалоговое поведение. Этот подход опирается, в частности, на характер речевых актов (например, представляет ли пользовательский ввод вопрос, утверждение или согласие).

Замечание от редакции портала «XX2 век»

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

Машинное чтение

Печатное слово обладает большой просветительской способностью. Машинное чтение — это идея, что машины смогут стать «умными» и обобщать информацию для людей, читая и понимая большие объёмы доступного сейчас текста.

В первые десятилетия развития ИИ внимание многих исследователей сосредоточилось на подходе к созданию интеллектуальных агентов с помощью построения вручную больших структурированных баз знаний на формальном логическом языке, а также на разработке автоматизированных методов логического вывода для выделения фактов из этих данных. Однако с появлением современного онлайн-мира, информация всё чаще хранится в свободной текстовой форме, а не в базах данных. Это, например, справедливо для научной литературы, когда результаты публикуются в основном на естественном языке (и сопровождаются таблицами и диаграммами). Такое утверждение работает и для более общих знаний — у нас теперь есть огромные хранилища информации, такие как Wikipedia. Количество научной литературы быстро увеличивается. Например, индекс статей Национальной библиотеки медицины США Medline растёт экспоненциально. С такими скоростями учёные не могут быть в курсе всех новых исследований даже в узких областях знаний. Таким образом, увеличивается потребность в применении машинного чтения для понимания и обобщения текста и извлечения из него фактов и гипотез.

Сначала нужно попробовать научиться извлекать основные факты. Чаще всего это логические взаимосвязи между двумя сущностями, например, такие как «ребёнок» (Билл Клинтон и Челси Клинтон; Челси Клинтон — ребёнок Билла Клинтона). Такая операция называется «извлечением отношения». Для конкретных тематических областей такие системы были успешно построены. Одна из техник — использовать созданные человеком текстовые шаблоны, которые соответствуют лингвистическому выражению отношений (например, «дочь <ЧЕЛОВЕК> — <ЧЕЛОВЕК>»). Однако лучших результатов можно достичь с помощью машинного обучения. Структурный классификатор предсказаний предлагает примеры таких отношений, основываясь на извлечённых характеристиках последовательности слов и грамматической структуры предложения. Эти системы являются основным инструментом для извлечения фактов из текста в таких областях, как, например, теоретическая медицина.

Во многих научных областях были предприняты попытки создания баз данных на основе научных текстов. Среди них — медицинская база данных Gene Ontology или база палеонтологических данных PaleoBiology Database с информацией о сохранившихся окаменелостях. Обычно извлечение данных делается вручную, посредством работы обученных специалистов. Использование ИИ для извлечения информации для заполнения баз данных, а также для выполнения последующего логического вывода и генерации гипотез, стало одной из ключевых задач в этой области. Такие инструменты активно разрабатываются для фармакогеномики. Или другое применение — Бетани Перча (Bethany Percha) и коллеги из университета Стенфорда сделали ИИ-модель взаимодействия лекарственных средств на основе известных взаимодействий между лекарствами и генами (информация о которых была извлечена из научных текстов).

Если база знаний частично уже составлена (как, например, Freebase, DBpedia, Wikidata или Gene Ontology), тогда можно для каждого известного факта из базы данных найти предполагаемые его констатации в научной литературе. Когда такие соответствия найдены, они могут быть использованы для обучения ИИ-систем по извлечению фактов из текста. Это называется удалённо контролируемой экстракцией отношений (Рис. 4). Ранние системы выделения отношений устанавливали связь между сущностью и её упоминанием, и затем делали наивное предположение, что предложения, содержащие пару сущностей, выражают каждое известное отношение между двумя объектами в базе данных. Более поздние системы использовали всё более сложные типы вероятностного вывода, чтобы различить, какие текстовые паттерны соответствуют определённым отношениям в базе знаний. Последним впечатляющим применением этого подхода была система DeepDive, которая автоматизирует построение таких систем. Она предоставляет инструменты широкомасштабного обучения и логического вывода, таким образом облегчая жизнь пользователю и давая ему больше времени, чтобы сосредоточиться на своей области. Недавно было показано, что PaleoDeepDive, применение DeepDive в области палеоантологии, лучше находит факты в журнальных статьях, чем учёные-волонтёры, которые поддерживают базу данных PaleoBiology.


Рисунок 4. Удалённо контролируемая экстракция отношений. В этом подходе есть структурированные представления знаний в виде шаблонов. Они проецируются на фрагменты текста из текстовых баз знаний, в которых упоминаются люди, места, даты и т. д. Такой алгоритм извлечения знаний делает много ошибок, но если модель натренировать на больших количествах текста, можно обеспечить неплохое качество извлечения отношений. (Источник фото: Национальная библиотека Австралии, http://nla.gov.а.е./nla.pic-an12267621).

Задачу извлечения отношений можно обобщить (с меньшей семантической точностью), чтобы выделять любые отношения из любого текста. Это обычно называется «открытым извлечением информации» (Open Information Extraction, OpenIE). В ранних исследованиях подчёркивалась важность разработки простых, но масштабируемых методов извлечения фактов, которые бы не требовали никакой предварительной разметки данных вручную. При всё возрастающей вычислительной мощности, второе поколение работ всё чаще заостряло внимание на осторожном использовании лингвистической структуры, которая может быть точно определена с помощью методов ОЕЯ.
В настоящее время исследуют ряд способов дальнейшего расширения компьютерных возможностей создания и использования баз знаний, начиная с уровня информации на естественном языке. Интересным обобщением являются универсальные схемы, которые позволяют выполнять логический вывод и построение баз знаний как из неформализованного набора текстовых отношений (например, «рождённый в…»), как в OpenIE, так и из более формализованных баз данных (в которых отношения представлены в виде «per: city_of_birth»). Даже со всеми нашими техниками выделения фактов из текста, любая база знаний будет только частичной и неполной; в идеале, нужно дополнить базы знаний хорошо работающими методами логического вывода. Над этой задачей сейчас работают исследователи. Помимо этого, мы надеемся выйти за рамки простого извлечения отношений, событий или фактов. Мы хотим уметь распознавать, какие существуют отношения между событиями (например, уметь устанавливать причинно-следственную связь), и выполнять другие сложные многоступенчатые процедуры и процессы. В своей работе Джонатан Берант (Jonathan Berant) и коллеги из Стэнфордского университета исследуют, как можно решить эту задачу для области биологических процессов. Они показывают, что извлечение явных структур процессов может повысить точность ответов на вопросы. «Обратная» задача машинного чтения — научиться проектировать системы, которые будут отвечать на вопросы, опираясь на построенные базы знаний. Недавно был достигнут значительный прогресс в построении таких систем — были разработаны семантические анализаторы.

Интеллектуальный анализ данных социальных медиа

Развитие социальных сетей коренным образом изменило количество и типы доступной информации. Данные, которые можно получить из Twitter, Facebook, YouTube, блогов и форумов, предоставляют информацию для изучения отношений между демографией, использованием языка и типами социального взаимодействия. Исследователи применяют методы т. н. веб-выскабливания (web-scraping), которые через API сайтов позволяют загружать такое количество данных и разнообразие категорий информации, о котором нельзя было помыслить ранее. Используя статистические методы и методы машинного обучения, они учатся идентифицировать демографическую информацию (например, возраст и пол) по языковым характеристикам; учатся отслеживать популярные темы, а также настроения людей; учатся идентифицировать мнения о товарах и политиках; прогнозировать распространение болезней и связывать отравления с определёнными продуктами питания, опираясь на твиты (см., например, Google Flu Trends); распознавать обман в «заказных» обзорах; определять социальные круги людей, взаимодействующих друг с другом онлайн.

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

Социальные медиа, в частности веб-форумы, предоставляют очень богатые источники разговорных данных, которые могут быть использованы для изучения языковых явлений, таких как переключение языкового кода, языковое хеджирование (непрямая коммуникация с помощью использования междометий «ну типа»), а также идентифицировать пропаганду ненависти или «травлю» юзеров. Социальные медиа существуют на самых разных языках, включая «языки с высокими ресурсами» и «языки с низкими ресурсами». Данные, полученные из социальных медиа, могут быть бесценны для обогащения языковых моделей АРР и разработки синтезаторов ПТР без необходимости создания дорогостоящих языковых корпусов специального назначения. В свою очередь, эти технологии могут быть полезны для создания РДС в зонах низкоресурсных языков. Такие системы могут предоставить миллионам людей (а не только тем, кто владеет высокоресурсным языком) возможность общаться с мобильными телефонами (использование которых являются повсеместным, даже среди населения с низкой степенью грамотности, или чьи языки или диалекты не имеют стандартной письменной формы). Разработка инструментов для низкоресурсных языков на базе «найденных данных» и путём адаптации инструментов, имеющихся для высокоресурсных языков, является ещё одним важным способом использования «найденных данных». Особое применение интеллектуального анализа данных для низкоресурсных языков — это сбор данных из Twitter или других блогов, и их передача организациям по оказанию помощи при бедствиях. Из этой информации можно выявить, например, наиболее серьёзные проблемы (когда они происходят), выявить группы риска.

У интеллектуального анализа данных социальных сетей есть свои недостатки. Возрастает беспокойство по вопросам конфиденциальности: люди хотят контролировать свои личные данные, а веб-исследователи хотят их использовать для своих целей. Такие сайты как Twitter сильно ограничивают возможность скачивать данные, и это затрудняет быстрое построение языковых корпусов. Существует также серьёзная проблема с обнаружением «правдивой информации» в онлайн-заметках, поскольку нет точного способа проверить демографическую информацию человека, достоверность сообщений о событиях, адекватность отзывов об отелях, ресторанах и продуктах. Агрегирование информации из нескольких источников может решить некоторые проблемы валидности; да и сами сайты пытаются выявить ложные обзоры. Задача валидации данных остаётся, пожалуй, наиболее сложной для исследователей данных социальных сетей.

Анализ и генерация «состояния рассказчика»

«Состояния рассказчика», также называемые «частными состояниями», включают в себя мнения, утверждения, убеждения, эмоции и любые другие оценочные взгляды, принадлежащие говорящему или пишущему человеку. Значительная часть работы в ОЕЯ была сосредоточена на чувственном анализе текста (идентификация позитивной или негативной окраски используемого языка) и идентификации «состояний убеждения» на основе лексической и синтаксической информации (например, «полная преданность суждению», «неполная преданность суждению», «нейтральность суждения»). Чувства и убеждения определяют отношение к событиям и инициативам, хотя чувства могут также относиться к объектам (к людям, организациям и абстрактным понятиям). Обнаружение чувств и эмоций в тексте требует понимания лексической и синтаксической структуры предложения. Настроения могут быть определены по положительно или отрицательно окрашенным словам: например, «грустно», «беспокойно», «сложно» и «слабо» — это слова с отрицательной окраской, тогда как «удобно», «важно», «успешно», «интересно» передают положительное настроение. Для оценки положительных и отрицательных чувств в тексте можно использовать онлайн-словари, такие как словарь аффектации Уисселла (Whissell’s Dictionary of Affect in Language), а также программы, основанные на терминах, характерных для определённых предметных областей, например LIWC (Linguistic Inquiry and Word Count) Таусчика и Пеннебейкера (Tausczik and Pennebaker). Более сложные подходы к анализу чувств также направлены на выявление обладателя (источника) чувства, и на предмет, на который чувство направлено. Это нужно, чтобы уметь определять, кто позитивно относится к какому человеку, стране, деятельности или концепции.

Сообщество компьютерных лингвистов также исследовало положительные и отрицательные мнения, опираясь на более общие эмоции, которые можно определить с помощью акустической и просодической информации. В настоящее время большая часть работы в ОЕЯ направлена на выявление эмоций, которые могут быть реакцией на события, предложения или объекты (например, шесть основных эмоций Экмана, Paul Ekman’s Atlas of Emotions, — гнев, отвращение, страх, счастье, грусть, удивление). Кроме того, было проведено много исследований того, как черты, хорошо работающие для распознавания классических эмоций, можно использовать для идентификации других «состояний рассказчика» (таких как обман), психологических состояний (таких как аутизм или болезнь Паркинсона), характеристик оратора (возраст, пол, приятность, патологии, свойства личности), и жизненных условий оратора (мыслительная нагрузка, пьянство, сонливость, заинтересованность, доверчивость). Корпус, собранный для этих опытов, использовался в паралингвистических соревнованиях (Interspeech Paralinguistic Challenges), проводящихся с 2009-го года. Генерация речевых эмоций оказалась более сложной задачей. Хотя существуют некоторые системы (например, MARY), которые пытаются генерировать эмоции, например, депрессию, агрессию или бодрость, лучшие «синтезированные» эмоции по-прежнему исходят из собрания аудиозаписей определённых эмоций, начитанных талантливыми имитаторами.

Замечание от редакции портала «XX2 век»

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

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

Breakfast on Broadway — новое место, которое специализируется, как вы могли догадаться, на завтраках. Был там прошлым воскресеньем в районе часа. Еда была неплохой, но обслуживание — достаточно ужасное. Прошло 15 минут, пока нам принесли меню, и ещё 30 мы ждали еду. И клиентов особо не было — было занято всего несколько столов! Если вы не против ожидания, то цена соответствуют качеству. Я, наверно, попробую зайти в другой раз. Возможно, им нужно время, чтобы поставить работу на конвейер. Breakfast on Broadway — новое место, которое специализируется, как вы могли догадаться, на завтраках. Был там прошлым воскресеньем в районе часа. Еда была неплохой, но [гнев: обслуживание — достаточно ужасное]. [Отвращение: Прошло 15 минут, пока нам принесли меню, и ещё 30 мы ждали еду. И клиентов особо не было — было занято всего несколько столов!] Если вы не против ожидания, то цена соответствуют качеству. Я, наверно, попробую зайти в другой раз. [Неопределённость: Возможно, им нужно время, чтобы поставить работу на конвейер].
Рисунок 5. Анализ — аннотация текста вручную — на примере отзыва о ресторане. Анализ эмоций показан справа, а слева синим обозначены отрицательные предложения, красным — положительные, чёрным — нейтральные. Обратите внимание, в частности, на то, что ключевые слова определяют не всё; например, «нет» — это негативное слово, но оно не всегда обозначает отрицательные эмоции, и это может ввести в заблуждение простые системы. Кроме того, встречаются такие слова и фразы, которые меняют значение связанных с ними слов (например, слово «достаточно» имеет положительную коннотацию и смягчает отрицательное слово «ужасное»).

Выявление в социальных сетях основных настроений и эмоций особенно популярно, например, для оценки «общественного настроения»; для прогнозирования тенденций на фондовом рынке; или просто для оценки психического состояния какого-то сообщества. Социальные медиа, такие как Twitter, блоги, форумы — всё это также предоставляет исследователям очень большие объёмы данных. На них можно проверить, какую роль играют чувства и эмоции при выявлении других языковых или социальных явлений (например, сарказма, отношений власти и социального влияния). Эмоциональную окраску тоже можно использовать для выявления психических проблем, например депрессии.

Заключение и перспективы

В течение последних 50-ти лет восторженные исследователи часто возлагали большие надежды на то, что не за горами изобретение роботов, понимающих естественный язык, как это было предсказано в научно-фантастических фильмах. Однако на самом деле методы ОЕЯ в то время не обладали достаточной эффективностью даже для использования в простых приложениях. За последние пять лет ситуация сильно изменилась. Были достигнуты значительные улучшения в распознавании речи, и теперь говорить со своим телефоном — это привычное дело, особенно для молодёжи. Поисковые системы теперь гораздо лучше работают со сложными запросами. С помощью машинного перевода можно получить текст, который будет, по крайней мере, передавать сущность материала, даже если ИИ ещё не может заменить человека-переводчика. Компьютерные системы торгуют акциями и фьючерсами автоматически, исходя из эмоций в отчётах о компаниях. В настоящее время существует большой коммерческий интерес к внедрению технологий ОЕЯ в различных областях, особенно потому, что естественный язык представляет собой очень простой интерфейс для взаимодействия с мобильными телефонами. Мы уверены, что в краткосрочной перспективе увеличение количества информации и вычислительных мощностей, в дополнение к недавним достижениям в области машинного перевода и глубокого обучения, приведёт к дальнейшему усовершенствованию методов ОЕЯ. Однако по-настоящему сложные проблемы семантики, контекста и знания, вероятно, потребуют новых открытий в лингвистике и логическом выводе. В этом контексте стоит отметить, что развитие вероятностных подходов к языку — это не просто решение технических проблем: вероятностные модели языка также были использованы в теоретической лингвистике. Исследователи находят новые способы описания фонологии, понимания того, как человек работает с языком, и моделирования семантики и прагматики. Многие лингвистические подходы сами становятся более эмпирическими и более количественными.

.
Комментарии