В эпоху Больших Данных особую актуальность приобрела задача преобразования текстов, написанных на естественном языке (неструктурированных данных), в структурированное представление, определяемое прикладной задачей, — информацию. Например, набор отзывов о каком-либо продукте или событии, собранный с различных сайтов, можно агрегировать в таблицу с оценками товаров, их параметрами и частотами упоминания: «телефон → в целом хороший», «клавиатура → неудобная». Этот процесс называют текстовой аналитикой (text mining) и реализуют методами компьютерной лингвистики (computational linguistics, дисциплина о вычислениях над естественными языками), построенной на стыке трех наук: языкознание — изучение, анализ и моделирование естественных языков; математика — научные методы описания и анализа математических моделей, построения алгоритмов, выявления зависимостей; программная инженерия. Разберем технологические аспекты компьютерной лингвистики, существенные с практической точки зрения при обработке Больших Данных.

О чем молчит статистика

Мощные вычислительные устройства позволили практически исключить человека из процесса анализа таблиц, а ведь еще в начале 20-го столетия исследователи таким образом работали с данными экспериментов для вывода и проверки гипотез. Ключевыми стали методы статистического машинного обучения. К примеру, требуется автоматически разбить поток новостей на рубрики «политик X», «политик Y» и т. д., «не про политиков» на основе наблюдаемых признаков, таких как частоты упоминаний соответствующих персон в текстах, — это задача классификации. В задаче регрессии наблюдаемому объекту назначается определенное число, например, отзыву о банковской услуге — оценка по шкале «позитив-негатив» от —5 до +5.

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

Сегодня подобными методами изучается текстовое содержимое интернет-простран­ства, однако для машины текст — это просто цепочка слов, поэтому в качестве признаков можно взять линейные вычисляемые характеристики: частоту определенных слов и словосочетаний, расстояние между словами, длину слов в буквах и т. д. С такими признаками обучение с учителем дает потрясающее качество — до 98% для частных задач, таких как: автоматическая классификация документов и определение авторства; деление текста на предложения; определение частей речи по контексту (так, в предложении «Души прекрасные порывы» надо понять, что «души» — это существительное «душа», но не повелительная форма глагола «душить»). Безусловный успех статистического подхода — это продукт Google Translate, который хотя и не дает отличного решения задачи машинного перевода, но позволяет получить общее представление о содержании текста на одном из сотни неизвестных пользователю языков.

Однако некоторые лингвистические задачи, на первый взгляд тоже частные, много хуже поддаются методам машинного обучения. К примеру, явление анафоры: «Я подарил отцу телефон. Он был рад подарку.» — здесь «он» соответствует «отцу», «Я подарил отцу телефон. В итоге он оказался бракованным» — «он» соответствует «телефону». Для корректного решения задачи здесь надо учитывать семантику понятий — телефон, скорее всего, не может быть рад подарку. В задаче разрешения анафоры (наряду с множеством других) машинное обучение позволяет достаточно быстро получить результат с качеством 70–80%, но оставшиеся 20–30% требуют серьезных исследований и методов за рамками анализа статистики и с явным учетом множества свойств языка. А желаемое качество в 95% в решении этой задачи пока не достигнуто. Пионеру в области распознавания речи из IBM Rese­arch Фредерику Йелинеку принадлежит час­то цитируемое высказывание: «Каждый раз, когда лингвист покидает коллектив, качество распознавания возрастает». Сегодня, однако, требуется беспрецедентное качество и широкое покрытие тематик, поэтому только машинного обучения для обработки естественного языка недостаточно. Востребована интеграция вычислительных методов и языкознания, а не их разделение, характерное для исследователей конца прошлого века.

Существенный изъян предложенной схемы с машинным обучением — это разметка корпусов. В крупных задачах на Больших Данных любой вручную созданный корпус оказывается ограниченным, «узким», при этом затруднительно дать разметку в объеме, достаточном для получения хорошего уровня обобщения классификатора. В контексте растущего Интернета обучение с учителем выглядит поэтому все менее привлекательным. Перспективный подход, активно развивающийся последние годы, — обучение без учителя, в котором признаки определяются автоматически по неразмеченным корпусам. В прикладной лингвистике подход пока не очень успешен: если с учителем достижимо качество в отдельных задачах до 80–90%, то без него — лишь 40–60%.

Требования к содержанию результатов анализа становятся выше с ростом запросов рынка. Так, при анализе мнений, высказанных в социальных сетях, интересует не столько общая оценка отзыва, сколько детальная параметрическая оценка элементов объекта. Если оценка «Цена новой услуги очень понравилась» очевидна из-за близости параметра «цена услуги» и характеристики «понравилась», то высказывание «Экран того устройства, что недавно с таким пафосом представили на международной выставке в Ганновере, … мне кажется явно не соответствующим его цене и статусу» не оставляет никаких шансов линейным признакам. Приложения этих признаков к текстам, где распространены сложные и развернутые предложения, можно назвать поверхностными. К сожалению, сегодня они популярны среди исследователей, что подтверждается последними соревнованиями систем анализа текстов [1]. Видимо, сказывается относительная простота подхода, но практика показывает, что для успешного решения задач обработки большого текста требуются более совершенные, нелинейные представления.

Структурный подход

Текст в эпоху Больших Данных
Рис. 1. Дерево синтаксического разбора

Дерево синтаксического разбора — это представление предложения набором отношений между его словами (рис. 1). По сути, это тот самый грамматический разбор, которому учат в школе. Обходя дерево, можно узнать, о каком действии говорится, кто его совершает (субъект), над чем (объект) и при каких обстоятельствах (место, время и т. д.). Заметим, что объект и оценка из длинного примера про экран, далекие линейно, в дереве окажутся близки — достаточно пройти по нескольким связям.

Алгоритмы синтаксического анализа хорошо проработаны и доступны для реализации. Модель дерева обусловлена и когнитивными науками: исследования показывают, что человек при восприятии предложений неявно пользуется структурами, изоморфными деревьям разбора [2]. Ключевая проблема заключается в управлении процессом построения дерева. Естественный язык полон неоднозначностей (явление омонимии), которые мы обычно не замечаем. Например: «купил этот счетчик для воды» и «купил этот счетчик для дома»: «для дома» должно подчиниться «купил», «для воды» — «счетчику». Машина должна некоторым образом «понимать» вещи, воспринимаемые человеком интуитивно. А название должности на рис. 2 представляется нетривиальным для разбора даже человеком.

Текст в эпоху Больших Данных
Рис. 2. Неоднозначность в названии должности

 

Таким образом, для управления синтаксическим разбором требуется исчислить комбинаторные явления языка в некоторой базе данных. Разновидности явлений описаны современными теориями языка (структурный синтаксис Терньера, «Смысл ⇔ Текст» Мельчука, категориальные грамматики Айдукевича и пр.). Вместо того чтобы выявлять множество частных закономерностей, свойственных деревьям разбора, как это делают в подходах с чистым машинным обучением, теории определяют законы их формирования, широко подтверждаемые практикой. Впрочем, не все вопросы в этих теориях на сегодня решены — каждая обладает некоторыми ограничениями описательных возможностей. Типичным примером являются модели управления глаголов. Считается, что каждый глагол обладает некоторыми обязательными вариантами заполнения, например, у глагола «давать» их три: «кто», «что», «кому» — «Кондуктор дал мне билет». Из практики в синтаксическом анализаторе должны быть учтены модели управления как минимум для 20 тысяч часто употребляемых глаголов. Открытых ресурсов с такими данными высокого качества на сегодняшний день нет. Еще один яркий пример — онтологии, описывающие сущности и отношения между ними, например в ресурсе WordNet: синонимия (доктор ↔ врач), членство (больница ← доктор), часть – целое (стул ← ножка) и т. д. Для английского языка ресурс WordNet неплохо проработан и доступен в открытом доступе, но для других языков, включая его русский аналог, он весьма неполон.

Другой путь — дескриптивный — может представиться единственно верным, но для получения деревьев разбора с качеством, близким к ручному, мы приходим к описанию всего окружающего мира. Проект Cyc, запущенный Дугласом Ленатом в 1984 году, сегодня включает более 6 млн фактов, которые «знает» каждый человек о мире, но это 700 человеко-лет работы по их ручному описанию. Кроме того, пространство для внедрения Cyc очень небольшое, а активная работа по наращиванию правил все еще продолжается. Сравнивая эти масштабы с тем, как быстро (до 4–5 лет) учатся пониманию языка и мира дети, по сути без учителя (взрослые просто предъявляют им образцы неразмеченного текста в виде речи, связанные с графическими образами), возникает впечатление, что здесь мы пытаемся описать компактные законы динамики твердого тела уравнениями движения его отдельных молекул. Современный практический выход из этого затруднения происходит по двум направлениям:

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

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

Леонид Черняк

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

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

  • восстановление синтаксических нулей («Мне нравится экран, а еще клавиатура» — здесь надо понять, что «еще [нравится] клавиатура»);
  • исправление грамматических ошибок и опечаток — без этого принципиально невозможно анализировать тексты из Интернета, где плотность ошибок крайне высока: включение учета ошибок на всех этапах лингвистического конвейера может в разы поднять качество анализа;
  • извлечение именованных сущностей — определение в тексте объектов специального вида: упоминаний персон, дат, организаций, географических объектов (так, при отсутствии этого модуля, фрагмент «12 апреля 1961 года» будет просто набором из четырех слов и часть информации оказывается потеряна).

Из практики следует, что решения лингвистических задач системами, управляемыми правилами (rule-driven), в целом показывают лучшее качество в сравнении с системами, управляемыми данными. Но создание правил подразумевает большую долю ручного труда, хотя построение систем обработки текстов с качеством от 70–90% — это задача, в принципе решаемая существующими методами, но требующая от коллектива разработчиков высокого уровня научно-технической подготовки, а также больших человеческих ресурсов по созданию и поддержке баз данных, отсутствующих как в открытом доступе, так и для приобретения. Уровень качества во многом определяется детальной проработкой систем в контексте решаемых задач бизнеса.

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

Понимание естественного языка

Посмотрим на следующие высказывания:

  • «А» руководит Союзом машиностроителей, как известно, глава «X» Иван Петров, который совсем недавно гордо демонстрировал главе правительства последнее детище автоконцерна «Z», которое завелось только с пятого раза.
  • Был проведен очередной раунд переговоров между «X» и «Y». Это четвертая по счету попытка получить нужные договоренности. Однако прогресс в этом деле налицо.

Подобные тексты характерны для широко распространенных сегодня видов творчества типа записей в «Живом журнале». Человеку позитив и негатив здесь явно заметен, но машина может определить его, только если получит способность к (ограниченному) рассуждению и умозаключению — reasoning, что обычно относят к области искусственного интеллекта. После почти 20-летнего спада интереса к этой области из-за научно-методологического кризиса (AI winter) сегодня исследователи констатируют рост внимания к ней и активное развитие.

Элементарен ли Watson?

Годы работы сотен ученых плюс огромные инвестиции позволили создать работающую в реальном времени вопрос-ответную систему контентной аналитики Watson.

Леонид Черняк

Понять высказывание в обработке естественного языка — значит определить его истинность, или/и вычислить его следствия, или/и выполнить на основании него определенные действия. Например, анализ тональности — по сути, это понимание того, какие логические выводы об оценках объектов и их параметров можно получить на основании высказываний в Сети («Клавиатура у X так себе») и заданных знаний об окружающем мире («Телефон имеет клавиатуру», «X — телефон»). Отображение естественного языка в модель, описывающую смысл высказываний, называется семантической интерпретацией. В контексте искусственного интеллекта задачи понимания текста сегодня могут быть сведены к вычислительным методам логики первого порядка: доказательство теорем (theorem proving), логический вывод на текстах (textual inference) — поэтому все чаще говорят о вычислительной семантике. Основной тренд — создание гибких систем, качественно отличных от чисто декларативных подходов 80-х годов, подразумевающих непрерывный и методичный ручной ввод частных правил один за другим. Здесь, очевидно, также ожидаются широкие способности систем к обобщению, но уже в плоскости логики.

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

Нейронные сети

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

Недавно был поставлен следующий опыт [3]. Нейронной сети специального типа, моделирующей некоторое свойство нейронов мозга, с 109 связей между ними (в живом мозге таких связей порядка 1014 ) предъявлялись случайные изображения размером 200x200 пикселей. Изюминкой эксперимента был факт о наличии в мозге приматов одиночных нейронов, дающих отклик только на изображения лиц, — обнаружатся ли такие в искусственной сети? Ответ оказался положительным, и найденный искусственный нейрон в 85% случаев давал верный отклик на лицо человека, независимо от ракурса и масштаба. Кроме того, были найдены нейроны с откликом на кошку и вид человека со спины. На современном уровне развития науки подобный результат для машинного обучения без учителя впечатляет.

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

***

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

Литература

  1. Четверкин И. И., Браславский П. И., Лукашевич Н. В. Дорожки по анализу мнений на РОМИП-2011 // Труды международной конференции «Диалог-2012».
  2. Juravsky D., Martin J. Speech and Language Processing: An introduction to natural language processing, computational linguistics, and speech recognition. 2007.
  3. Russell S.J., Norvig P. Artificial Intelligence — A Modern Approach (3. internat. ed.). Pearson Education, 2009.

Даниил Скатов (ds@dictum.ru) — сотрудник компании «Крибрум», группа компаний InfoWatch (Москва).