[Из песочницы] Сравнение технологических подходов к решению задач по извлечению данных

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


На сегодняшний день существует огромное количество материалов описывающий те или иные техники решения задач семантического анализа текстов. Это и латентно-семантический анализ, SVM-анализ, «перенос-свертка» и многое другое. Писать очередную статью про обзор и сравнение конкретных алгоритмов — это значит впустую потрать время.


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


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



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


1. Синтаксический
Анализ линейной последовательности слов с целью построения дерева зависимостей. Цель — анализ структуры предложения и отношения его компонентов. Основой анализа являются разного рода грамматики (зависимостей для славянских языков и немецкого языка, непосредственно-составляющих для романских, порождающие и т.д.).


2. Семантический
Анализ зависимости слова или фразы от общего контекста. Разрешение проблем полисемии, синонимии и т.д. Основой являются разного рода корпуса.


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


Если рассматривать возможные базовые идеи — технологические подходы в общем виде, то мне видятся два диаметрально противоположных подхода:


1. Технологии накопления опыта на основании известного опыта (машинное обучение) и попытка его применения для анализа новых ситуаций. Их еще называют алгоритмами, основанными на статистике. 90% публикаций относятся именно к технологии. Другими словами — статистические методы.


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


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


Ко второму типу относятся такие технологии как SVM-анализ, «перенос-свертка», построение грамматик.


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


Кроме того, следует отделить решаемые задачи. Хотим ли мы понять «смысл» написанного в целом или достаточно найти нечто, что нам известно и разметить текст в соответствии с имеющимся опытом, а именно — извлечь информацию?


В качестве пояснения и примера может служить анализ фразы: «Московский водопроводный канал находится по адресу Москва ул. Земляной Вал».


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


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


Анализ современных тенденций затруднен тем, что действительно прорывные технологии зачастую представляют собой коммерческую тайну, а также огромным количеством материалов по сути являющимися перепечатками друг друга. Благо, интернет все стерпит. Анализ диссертационной базы тоже не блещет разнообразием. Скорее в ней идет речь о подтверждении соискателем ученой степени, нежели является разработкой действительно чего-то нового. Хотя безусловно, встречаются и довольно интересные публикации. Например, довольно интересна в качестве обзора, хотя и со спорными выводами, работа И.В. Смирнова и А.О. Шелманова «Семантико-синтаксический анализ естественных языков» [2].


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


Цели анализа:


  1. Перевод текста
  2. Поиск по тексту
  3. Подсказки для пользователя
  4. Извлечение данных.

Проблемы:


  1. Миграционные потоки.
    Большое смешение смысловых и семиотических полей при большом количестве ошибок, т.е. нарушение синтаксиса (грамматик) и семантики текстов


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


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


  4. Полисемия понятий.
    В рамках России это озвученная, например, порталом «Государственных услуг» проблема, когда ведомства дают наименования по сути одних и тех же услуг по разному. При этом они подаются в сильно «забюрократизированном», формальном виде или очень длинные названия. Понять нормальному человеку это невозможно.

С точки зрения мира в целом — превалирующее влияние английского языка и возникновение его упрощенного варианта «middle atlentic».


Это далеко не полный перечень, но для целей данной статьи — достаточный.


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


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


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


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


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


Таким образом, целью статьи является попытка в первом приближении проанализировать возможности и ограничения самих базовых логик.


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


Статистические методы


Основная масса алгоритмов представляет собой предварительно размеченные корпуса, обогащенные вариантами написаний такими как сокращения, типовые ошибки и т.д. На данный момент, я только начал собирать статистику, поэтому репрезентативность не велика. Тем не менее, позволю себе выделить следующие характерные «родовые черты»:


1. Основная масса решений использует внутри full-text search.


2. Для ускорения широко используется хеширование данных.


3. Норма вариантов написания одной и той же сущности составляет от 1 до 100. В качестве примера, можно привести решения в области очистки адресных данных, где один из наиболее часто используемы сервисов указывает, что его «обучающая выборка» состоит из 50 миллионов вариантов, при размере эталонной базы 1,2 миллиона вариантов.


4. Анализ производится путем прямого сравнения подстрок на полное соответствие с эталоном.


5. Требуется отдельная процедура верификации результатов для принятия окончательного решения.


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


  1. Относительная простота реализации.
  2. Высокая скорость перебора вариантов.

К недостаткам можно отнести:


  1. Лавинообразный рост размера базы из-за необходимости хранения вариантов написаний отдельных сущностей.
  2. Сложность контроля непротиворечивости, что приводит к росту вероятности появления полисемии вариантов
  3. Невозможность или сильная ограниченность анализа частичных совпадений и учета морфологии.
  4. Высокая стоимость первоначального создания алгоритмов так как необходимо накапливать базу вариантов написаний. Это отражается, например, в сложности подключения новых стран при разборе адресов. Так как для каждой страны необходимо создавать свою базу вариантов написаний.
  5. Невозможность применения эвристических подходов для анализа ситуаций за рамками известных вариантов.

Алгоритмы, основанные на правилах


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


Родовыми чертами можно считать:


  1. Наличие тем или иным способом размеченных корпусов или эталонных опорных справочников. Например, «Лексикограф»[3] ВНИИТИ, национальный корпус русского языка[4], КЛАДР/ФИАС и т.д.
  2. Наличие правил, объединенных в грамматики. Грамматики могут быть реализованы в форме связанных шаблонов, искусственных предикативных языков т.д.
  3. Анализ производится путем последовательного сравнения слов. Допускаются перестановки и частичные совпадения слов, если такое предусмотрено грамматикой.
  4. Не требуется отдельная процедура верификации для принятия окончательного результата.

Преимуществами являются:


  1. Более высокая точность
  2. Хорошая переносимость при работе с разными корпусами и областями знаний.
  3. Возможность использования эвристических подходов для анализа ситуаций за рамками знаний упакованных в корпуса.
  4. Возможность анализа и принятия решения в ситуациях сильного «загрязнения» данных, связанных с разного рода ошибками и избыточным контентом.

К недостаткам можно отнести:


  1. Сложность реализации грамматик из-за отсутствия готовых инструментов.
  2. Более низкая скорость работы.
  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

Комментарии (0)

© Habrahabr.ru