Целью статьи является попытка сравнительного анализа основных подходов в решении задач семантического анализа текстов, их различиях и эффективности на уровне концепций, без учета нюансов, комбинаций вариантов и возможных трюков, способствующих улучшению ожидаемого результата.
На сегодняшний день существует огромное количество материалов описывающий те или иные техники решения задач семантического анализа текстов. Это и латентно-семантический анализ, SVM-анализ, «перенос-свертка» и многое другое. Писать очередную статью про обзор и сравнение конкретных алгоритмов – это значит впустую потрать время.
Мне бы хотелось в рамках нескольких статей обсудить базовые идеи и проблемы, лежащие в основе семантического анализа с точки зрения их практического применения, если можно так выразится, с базовой философско-онтологической точки зрения. В какой степени возможно использовать порождающие грамматики для анализа текста? Накапливать ли варианты написания и разного рода "корпуса" или разрабатывать алгоритмы анализа на основании правил?
В рамках нашего рассуждения я осознанно постараюсь уйти от каких-либо терминов и устоявшихся выражений, ибо как говорил У. Куайн – термины это всего лишь имена в рамках онтологий не имеющие никакого практического значения для решения задач логики и понимания чего-либо в частности.[1] Поэтому, с его позволения, будем опираться на единичные дескрипции Рассела, а проще говоря, давать полные описания в ущерб существующим устоявшимся терминам.
Если не брать во внимание специфические задачи, такие как анализ эмоциональной окрашенности, фонетический анализ и т.д., то с точки зрения задач анализа текста, можно выделить следующие основные виды-этапы анализа:
1. Синтаксический
Анализ линейной последовательности слов с целью построения дерева зависимостей. Цель – анализ структуры предложения и отношения его компонентов. Основой анализа являются разного рода грамматики (зависимостей для славянских языков и немецкого языка, непосредственно-составляющих для романских, порождающие и т.д.).
2. Семантический
Анализ зависимости слова или фразы от общего контекста. Разрешение проблем полисемии, синонимии и т.д. Основой являются разного рода корпуса.
3. Семиотический
Анализ смысла текста с учетом, иносказательностей, «ошибок перевода» связанных с разными культурологическими ассоциациями, принятых устойчивых выражений в контексте среды рассказчика, понятий. С основами пока сложно. Возможно, создание карт ассоциативных полей или карт, напоминающих политические, с временными и территориальными границами культур.
Если рассматривать возможные базовые идеи – технологические подходы в общем виде, то мне видятся два диаметрально противоположных подхода:
1. Технологии накопления опыта на основании известного опыта (машинное обучение) и попытка его применения для анализа новых ситуаций. Их еще называют алгоритмами, основанными на статистике. 90% публикаций относятся именно к технологии. Другими словами – статистические методы.
2. Технологии развития аналитических возможностей машины за счет развития алгоритмов выстраивания логических связей без предварительного «обучения» на примерах. Или алгоритмы, основанные на правилах или грамматиках.
К первому типу следует отнести, безусловно в упрощенном виде, технологии «обучения» системы путем создания вариантов написания и суперпозиций анализируемых сущностей. Вариациями на эту же тему являются различные частотные алгоритмы такие как латентно-семантический анализ и т.д.
Ко второму типу относятся такие технологии как SVM-анализ, «перенос-свертка», построение грамматик.
В общем, и тут идеи Платона и Аристотеля сталкиваются во всей своей красе. Отвечая на вопрос о преимуществах технологий следует задаться вопросами о том что мы хотим получить на выходе и каким способом мы хотим этого добиться? Будем ли мы выяснять содержится в анализируемом тексте информация, соответствующая нашему предыдущему опыту или допускаем наличие информации за пределами этого опыта? И в этом случае будем ли мы строить гипотезы и опровергать гипотезы?
Кроме того, следует отделить решаемые задачи. Хотим ли мы понять «смысл» написанного в целом или достаточно найти нечто, что нам известно и разметить текст в соответствии с имеющимся опытом, а именно – извлечь информацию?
В качестве пояснения и примера может служить анализ фразы: «Московский водопроводный канал находится по адресу Москва ул. Земляной Вал».
Вероятно, для решения задач перевода текста значение семантического анализа огромно, но недостаточно, так как кроме этого необходимо решить вопрос различия в ассоциативных рядах, устойчивые выражения, эмоциональные оттенки и т.д. Например, большинство фундаментальных исследований, посвященных семантическому анализу не учитывают возможную «безграмотность» писавшего. Это вполне нормально, так как большинство этих фундаментальных исследований создавались не позднее 60-х годов 20-го века. А значит, носили более умозрительный характер, связанный больше с мышлением как таковым, но не с задачами распознавания текста. Если не брать «серьезные» научные труды, то стоит почитать Умберто Эко «Сказать почти то же самое. Опыты о переводе», где в популярной форме исследуется вопрос влияния семиотических подходов в вопросах перевода.
Достаточно ли семантических подходов к решению задачи извлечения информации или проблема шире? По сути должны ли мы больше опираться только на семантический анализ или нужно абстрагироваться и выйти на более общий уровень – семиотический?
Анализ современных тенденций затруднен тем, что действительно прорывные технологии зачастую представляют собой коммерческую тайну, а также огромным количеством материалов по сути являющимися перепечатками друг друга. Благо, интернет все стерпит. Анализ диссертационной базы тоже не блещет разнообразием. Скорее в ней идет речь о подтверждении соискателем ученой степени, нежели является разработкой действительно чего-то нового. Хотя безусловно, встречаются и довольно интересные публикации. Например, довольно интересна в качестве обзора, хотя и со спорными выводами, работа И.В. Смирнова и А.О. Шелманова «Семантико-синтаксический анализ естественных языков» [2].
Перейдем к сути статьи и, для начала, определимся с базовым слоем целей и проблем.
Цели анализа:
- Перевод текста
- Поиск по тексту
- Подсказки для пользователя
- Извлечение данных.
Проблемы:
Миграционные потоки.
Большое смешение смысловых и семиотических полей при большом количестве ошибок, т.е. нарушение синтаксиса (грамматик) и семантики текстов
Различие в фонемных рядах разных языков.
Невозможность предсказывать опечатки, а значит невозможно создать «полную» базу вариантов написаний
Гаджетизация
На сегодняшний день сматфоны и планшеты есть у всех. В результате развитой системы подсказок и исправлений текстов возникает новый класс ошибок. Выпадающие слова из контекста.
- Полисемия понятий.
В рамках России это озвученная, например, порталом «Государственных услуг» проблема, когда ведомства дают наименования по сути одних и тех же услуг по разному. При этом они подаются в сильно «забюрократизированном», формальном виде или очень длинные названия. Понять нормальному человеку это невозможно.
С точки зрения мира в целом – превалирующее влияние английского языка и возникновение его упрощенного варианта «middle atlentic».
Это далеко не полный перечень, но для целей данной статьи — достаточный.
Прежде чем давать краткое сравнение технологических подходов, хотелось бы сделать несколько принципиальных замечаний.
Во-первых, сравнение носит чисто прикладной характер, и имеет очень узкую направленность, не связанную с задачами перевода. Анализ производится для задач извлечения и поиска данных. Довольно часто, можно услышать гипотезу, что технологии распознавания зрительных образов-изображений и текстов можно с легкостью объединить и они по сути должны прийти к реализации общего механизма. Возможно и так, но мне кажется, что эта идея больше напоминает поиски единой теории поля в физике. Возможно она и будет найдена, но пока в рамках данного исследования, ограничимся задачами работы с текстовыми данными.
Во-вторых, рамки ограниченности размеров статьи не предусматривают глубокий анализ. Поэтому, материал носит тезисный характер, без подробного разбора ситуаций.
В-третьих, сравнение конкретных технологических подходов, а именно: сравнение преимуществ и недостатков нейронных сетей, генетических алгоритмов, ДСМ-методов и т.д. не относится к сути вопроса. Это не более чем средства достижения результата, в которые можно «загрузить» любую логику. Поэтому, хотелось бы сравнить сам принцип и возможности тех или иных технологических подходов.
В-четвертых, все без исключения алгоритмы основаны на нашем предыдущем опыте и являются результатом нашего предыдущего опыта. Знаний данных свыше, к сожалению, в мире нет, включая врожденные инстинкты, так как они есть опыт предыдущих поколений. Поэтому, говорить о том, что одни алгоритмы опираются на предыдущий опыт, а другие нет – это преувеличение. Вопрос в том как мы будем использовать этот опыт, в какие конструкции его будем оборачивать.
Таким образом, целью статьи является попытка в первом приближении проанализировать возможности и ограничения самих базовых логик.
Итак, основных технологий две: статистические и основанные на правилах. Комбинированный вариант рассматривать не будем ввиду избыточности.
Статистические методы
Основная масса алгоритмов представляет собой предварительно размеченные корпуса, обогащенные вариантами написаний такими как сокращения, типовые ошибки и т.д. На данный момент, я только начал собирать статистику, поэтому репрезентативность не велика. Тем не менее, позволю себе выделить следующие характерные «родовые черты»:
1. Основная масса решений использует внутри full-text search.
2. Для ускорения широко используется хеширование данных.
3. Норма вариантов написания одной и той же сущности составляет от 1 до 100. В качестве примера, можно привести решения в области очистки адресных данных, где один из наиболее часто используемы сервисов указывает, что его «обучающая выборка» состоит из 50 миллионов вариантов, при размере эталонной базы 1,2 миллиона вариа��тов.
4. Анализ производится путем прямого сравнения подстрок на полное соответствие с эталоном.
5. Требуется отдельная процедура верификации результатов для принятия окончательного решения.
Преимуществами метода являются:
- Относительная простота реализации.
- Высокая скорость перебора вариантов.
К недостаткам можно отнести:
- Лавинообразный рост размера базы из-за необходимости хранения вариантов написаний отдельных сущностей.
- Сложность контроля непротиворечивости, что приводит к росту вероятности появления полисемии вариантов
- Невозможность или сильная ограниченность анализа частичных совпадений и учета морфологии.
- Высокая стоимость первоначального создания алгоритмов так как необходимо накапливать базу вариантов написаний. Это отражается, например, в сложности подключения новых стран при разборе адресов. Так как для каждой страны необходимо создавать свою базу вариантов написаний.
- Невозможность применения эвристических подходов для анализа ситуаций за рамками известных вариантов.
Алгоритмы, основанные на правилах
Основная масса алгоритмов опирается на понятиях фрейма, синтаксемы и с помощью искусственных предикативных языков, различных семантически размеченных корпусов.
Родовыми чертами можно считать:
- Наличие тем или иным способом размеченных корпусов или эталонных опорных справочников. Например, «Лексикограф»[3] ВНИИТИ, национальный корпус русского языка[4], КЛАДР/ФИАС и т.д.
- Наличие правил, объединенных в грамматики. Грамматики могут быть реализованы в форме связанных шаблонов, искусственных предикативных языков т.д.
- Анализ производится путем последовательного сравнения слов. Допускаются перестановки и частичные совпадения слов, если такое предусмотрено грамматикой.
- Не требуется отдельная процедура верификации для принятия окончательного результата.
Преимуществами являются:
- Более высокая точность
- Хорошая переносимость при работе с разными корпусами и областями знаний.
- Возможность использования эвристических подходов для анализа ситуаций за рамками знаний упакованных в корпуса.
- Возможность анализа и принятия решения в ситуациях сильного «загрязнения» данных, связанных с разного рода ошибками и избыточным контентом.
К недостаткам можно отнести:
- Сложность реализации грамматик из-за отсутствия готовых инструментов.
- Более низкая скорость работы.
- Сложность контроля непротиворечивости правил
- Сложность построения предварительно размеченных и логически увязанных корпусов баз знаний.
Выводы
Несмотря на кажущуюся очевидность преимущества технологического подхода основанного на правилах, оба подхода имеют право на существования. Вопрос заключается в областях и экономической целесообразности их применения.
Так, представляется очевидным, что подход, основанный на статистических методах может себя хорошо зарекомендовать в задачах, где есть небольшой массив анализируемых сущностей и нет большой загрязненности данных. Примером могут служить такие задачи как организация[5] поиска по товарным позициям небольшого магазина, поиск и анализ хеш-тегов в социальных сетях, оценка эмоциональной окраски текстов. Экспресс-анализ документов с целью определения их типа и дальнейшей каталогизации.
В то же время, в решении задач связанных с большими массивами эталонных данных, при работе со славянскими языками, преимуществом обладает технологический подход основанный на правилах. Примером может служить решения задачи разбора адресов. Результаты тестов и анализ существующих решений показывает, что решения основанные на статистике дают устойчивый результат точности поиска в пределах 60-70% процентов на контексте с загрязненностью в пределах 10-15% и рост точности до 80-85% при снижении загрязненности ниже 10%.
В приведенных цифрах легко убедится собрав стенд, который будет представлять собой какой-либо full-text индекс, например elastic[6], с залитым в него КЛАДР/ФИАС.
Данная статья является по сути вводной. В дальнейшем, я постараюсь более подробно остановится на каждом из вопросов.
[1] У.Куайн «Философия логики»
[2] Работа выполнена при поддержке РФФИ (проект № 12-07-33068) и Минобрнауки России по государственному контракту № 07.514.11.4134 от 08.06.2012г
[3] Проект «Лексикограф» был первоначально связан с возникшей у С.А.Крылова в 1990 г. идеей создать библиографическую базу данных по лексической семантике: был выдвинут проект словаря русского языка, в котором каждому слову или значению слова была бы сопоставлена касающаяся его библиография. Эта идея заинтересовала группу лингвистов и постепенно преобразовалась в идею создания базы данных по лексической семантике, которая могла бы быть рабочим инструментом лексикографа.
На первоначальном этапе в создании «Лексикографа» принимали участие Г.И.Кустова, Е.В.Падучева, Е.В.Рахилина, Р.И.Розина, С.Ю.Семенова, М.В.Филипенко, Н.М.Якубова, Т.Е.Янко.
[4] В проекте участвуют специалисты Института русского языка им. В. В. Виноградова РАН [ИРЯ РАН], Института языкознания РАН [ИЯз РАН], Института проблем передачи информации РАН [ИППИ РАН], Всероссийского института научной и технической информации РАН [ВИНИТИ РАН] и Института лингвистических исследований РАН [ИЛИ РАН] в Санкт-Петербурге (совместно с Санкт-Петербургским государственным университетом [СПбГУ]), Казанского (Приволжского) федерального университета, Воронежского государственного университета, Саратовского государственного университета. Сайт:www. http://ruscorpora.ru
[5]под загрязненностью понимается наличие лишних с точки зрения слов, а также ошибок
[6] https://www.elastic.co
