В эпоху Больших Данных особую актуальность приобрела задача преобразования текстов, написанных на естественном языке (неструктурированных данных), в структурированное представление, определяемое прикладной задачей, — информацию. Например, набор отзывов о каком-либо продукте или событии, собранный с различных сайтов, можно агрегировать в таблицу с оценками товаров, их параметрами и частотами упоминания: «телефон → в целом хороший», «клавиатура → неудобная». Этот процесс называют текстовой аналитикой (text mining) и реализуют методами компьютерной лингвистики (computational linguistics, дисциплина о вычислениях над естественными языками), построенной на стыке трех наук: языкознание — изучение, анализ и моделирование естественных языков; математика — научные методы описания и анализа математических моделей, построения алгоритмов, выявления зависимостей; программная инженерия. Разберем технологические аспекты компьютерной лингвистики, существенные с практической точки зрения при обработке Больших Данных.
О чем молчит статистика
Мощные вычислительные устройства позволили практически исключить человека из процесса анализа таблиц, а ведь еще в начале 20-го столетия исследователи таким образом работали с данными экспериментов для вывода и проверки гипотез. Ключевыми стали методы статистического машинного обучения. К примеру, требуется автоматически разбить поток новостей на рубрики «политик X», «политик Y» и т. д., «не про политиков» на основе наблюдаемых признаков, таких как частоты упоминаний соответствующих персон в текстах, — это задача классификации. В задаче регрессии наблюдаемому объекту назначается определенное число, например, отзыву о банковской услуге — оценка по шкале «позитив-негатив» от —5 до +5.
Подход, зарекомендовавший себя в последние десятилетия, — это обучение с учителем. В нем составляются таблицы заданных наблюдений и соответствующих им известных значений — в лингвистике их называют размеченным корпусом. Составление корпусов требует участия человека — по корпусу система «обучается» предсказывать значения для наблюдений, которых в нем не было на этапе обучения. Системы, построенные таким путем, называют управляемыми данными (data-driven). Они обеспечили прорыв во многих областях — трансляция в текст сканированных документов, отслеживание террористов на изображениях с камер, автоматическое зрение роботов.
Сегодня подобными методами изучается текстовое содержимое интернет-пространства, однако для машины текст — это просто цепочка слов, поэтому в качестве признаков можно взять линейные вычисляемые характеристики: частоту определенных слов и словосочетаний, расстояние между словами, длину слов в буквах и т. д. С такими признаками обучение с учителем дает потрясающее качество — до 98% для частных задач, таких как: автоматическая классификация документов и определение авторства; деление текста на предложения; определение частей речи по контексту (так, в предложении «Души прекрасные порывы» надо понять, что «души» — это существительное «душа», но не повелительная форма глагола «душить»). Безусловный успех статистического подхода — это продукт Google Translate, который хотя и не дает отличного решения задачи машинного перевода, но позволяет получить общее представление о содержании текста на одном из сотни неизвестных пользователю языков.
Однако некоторые лингвистические задачи, на первый взгляд тоже частные, много хуже поддаются методам машинного обучения. К примеру, явление анафоры: «Я подарил отцу телефон. Он был рад подарку.» — здесь «он» соответствует «отцу», «Я подарил отцу телефон. В итоге он оказался бракованным» — «он» соответствует «телефону». Для корректного решения задачи здесь надо учитывать семантику понятий — телефон, скорее всего, не может быть рад подарку. В задаче разрешения анафоры (наряду с множеством других) машинное обучение позволяет достаточно быстро получить результат с качеством 70–80%, но оставшиеся 20–30% требуют серьезных исследований и методов за рамками анализа статистики и с явным учетом множества свойств языка. А желаемое качество в 95% в решении этой задачи пока не достигнуто. Пионеру в области распознавания речи из IBM Research Фредерику Йелинеку принадлежит часто цитируемое высказывание: «Каждый раз, когда лингвист покидает коллектив, качество распознавания возрастает». Сегодня, однако, требуется беспрецедентное качество и широкое покрытие тематик, поэтому только машинного обучения для обработки естественного языка недостаточно. Востребована интеграция вычислительных методов и языкознания, а не их разделение, характерное для исследователей конца прошлого века.
Существенный изъян предложенной схемы с машинным обучением — это разметка корпусов. В крупных задачах на Больших Данных любой вручную созданный корпус оказывается ограниченным, «узким», при этом затруднительно дать разметку в объеме, достаточном для получения хорошего уровня обобщения классификатора. В контексте растущего Интернета обучение с учителем выглядит поэтому все менее привлекательным. Перспективный подход, активно развивающийся последние годы, — обучение без учителя, в котором признаки определяются автоматически по неразмеченным корпусам. В прикладной лингвистике подход пока не очень успешен: если с учителем достижимо качество в отдельных задачах до 80–90%, то без него — лишь 40–60%.
Требования к содержанию результатов анализа становятся выше с ростом запросов рынка. Так, при анализе мнений, высказанных в социальных сетях, интересует не столько общая оценка отзыва, сколько детальная параметрическая оценка элементов объекта. Если оценка «Цена новой услуги очень понравилась» очевидна из-за близости параметра «цена услуги» и характеристики «понравилась», то высказывание «Экран того устройства, что недавно с таким пафосом представили на международной выставке в Ганновере, … мне кажется явно не соответствующим его цене и статусу» не оставляет никаких шансов линейным признакам. Приложения этих признаков к текстам, где распространены сложные и развернутые предложения, можно назвать поверхностными. К сожалению, сегодня они популярны среди исследователей, что подтверждается последними соревнованиями систем анализа текстов [1]. Видимо, сказывается относительная простота подхода, но практика показывает, что для успешного решения задач обработки большого текста требуются более совершенные, нелинейные представления.
Структурный подход
Рис. 1. Дерево синтаксического разбора |
Дерево синтаксического разбора — это представление предложения набором отношений между его словами (рис. 1). По сути, это тот самый грамматический разбор, которому учат в школе. Обходя дерево, можно узнать, о каком действии говорится, кто его совершает (субъект), над чем (объект) и при каких обстоятельствах (место, время и т. д.). Заметим, что объект и оценка из длинного примера про экран, далекие линейно, в дереве окажутся близки — достаточно пройти по нескольким связям.
Алгоритмы синтаксического анализа хорошо проработаны и доступны для реализации. Модель дерева обусловлена и когнитивными науками: исследования показывают, что человек при восприятии предложений неявно пользуется структурами, изоморфными деревьям разбора [2]. Ключевая проблема заключается в управлении процессом построения дерева. Естественный язык полон неоднозначностей (явление омонимии), которые мы обычно не замечаем. Например: «купил этот счетчик для воды» и «купил этот счетчик для дома»: «для дома» должно подчиниться «купил», «для воды» — «счетчику». Машина должна некоторым образом «понимать» вещи, воспринимаемые человеком интуитивно. А название должности на рис. 2 представляется нетривиальным для разбора даже человеком.
Рис. 2. Неоднозначность в названии должности |
Таким образом, для управления синтаксическим разбором требуется исчислить комбинаторные явления языка в некоторой базе данных. Разновидности явлений описаны современными теориями языка (структурный синтаксис Терньера, «Смысл ⇔ Текст» Мельчука, категориальные грамматики Айдукевича и пр.). Вместо того чтобы выявлять множество частных закономерностей, свойственных деревьям разбора, как это делают в подходах с чистым машинным обучением, теории определяют законы их формирования, широко подтверждаемые практикой. Впрочем, не все вопросы в этих теориях на сегодня решены — каждая обладает некоторыми ограничениями описательных возможностей. Типичным примером являются модели управления глаголов. Считается, что каждый глагол обладает некоторыми обязательными вариантами заполнения, например, у глагола «давать» их три: «кто», «что», «кому» — «Кондуктор дал мне билет». Из практики в синтаксическом анализаторе должны быть учтены модели управления как минимум для 20 тысяч часто употребляемых глаголов. Открытых ресурсов с такими данными высокого качества на сегодняшний день нет. Еще один яркий пример — онтологии, описывающие сущности и отношения между ними, например в ресурсе WordNet: синонимия (доктор ↔ врач), членство (больница ← доктор), часть – целое (стул ← ножка) и т. д. Для английского языка ресурс WordNet неплохо проработан и доступен в открытом доступе, но для других языков, включая его русский аналог, он весьма неполон.
Другой путь — дескриптивный — может представиться единственно верным, но для получения деревьев разбора с качеством, близким к ручному, мы приходим к описанию всего окружающего мира. Проект Cyc, запущенный Дугласом Ленатом в 1984 году, сегодня включает более 6 млн фактов, которые «знает» каждый человек о мире, но это 700 человеко-лет работы по их ручному описанию. Кроме того, пространство для внедрения Cyc очень небольшое, а активная работа по наращиванию правил все еще продолжается. Сравнивая эти масштабы с тем, как быстро (до 4–5 лет) учатся пониманию языка и мира дети, по сути без учителя (взрослые просто предъявляют им образцы неразмеченного текста в виде речи, связанные с графическими образами), возникает впечатление, что здесь мы пытаемся описать компактные законы динамики твердого тела уравнениями движения его отдельных молекул. Современный практический выход из этого затруднения происходит по двум направлениям:
- Тексты предварительно разбиваются на категории, каждой должна соответствовать конкретная тематика (бренд, персоналия и т. д.). Описания предметных областей детально прорабатываются, непрерывно поддерживаются лингвистами и учитываются в процессе анализа на всех этапах.
- Используются качественные, постоянно улучшаемые описания общих явлений языка и алгоритмы анализа, обладающие хорошей обобщающей способностью. Например, известно, что синтаксически связанные слова в простом предложении обычно близки, но это не всегда так. Ошибки обобщения должны корректироваться в процессе анализа с учетом описаний тематик. Степень допустимой компактности описаний и уровень обобщения алгоритмов — ключ к успешному решению.
Библиотека знаний С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% случаев давал верный отклик на лицо человека, независимо от ракурса и масштаба. Кроме того, были найдены нейроны с откликом на кошку и вид человека со спины. На современном уровне развития науки подобный результат для машинного обучения без учителя впечатляет.
В ближайшее время подобные эксперименты следует ожидать и в лингвистике. Так, известно, что структуры зрительной коры головного мозга, отвечающей за распознавание объектов и лиц, задействованы в орфографическом анализе. Эксперименты последних лет показывают, что огромные объемы приводят к скачку в качестве получаемых процедур анализа данных — больше значит лучше. Похоже, в ближайшее десятилетие нам предстоит узнать о новых инструментах для добычи информации в больших массивах неструктурированных данных.
***
В целом, качественный инструментарий для извлечения информации из текстов позволяет сегодня создавать системы бизнес-аналитики, отвечающие требованиям времени, однако цена успеха еще достаточно высока и во многом определяется научным уровнем конкретного коллектива разработчиков и проработанностью лингвистических баз данных. Вместе с тем экспоненциальный рост объемов неструктурированных данных ставит перед индустрией задачу поиска более эффективных методов их обработки.
Литература
- Четверкин И. И., Браславский П. И., Лукашевич Н. В. Дорожки по анализу мнений на РОМИП-2011 // Труды международной конференции «Диалог-2012».
- Juravsky D., Martin J. Speech and Language Processing: An introduction to natural language processing, computational linguistics, and speech recognition. 2007.
- Russell S.J., Norvig P. Artificial Intelligence — A Modern Approach (3. internat. ed.). Pearson Education, 2009.
Даниил Скатов (ds@dictum.ru) — сотрудник компании «Крибрум», группа компаний InfoWatch (Москва).