При обсуждении применимости машинного обучения для решения различных лингвистических задач, связанных с анализом текстов, сломано уже немало копий, но основной вывод можно свести к признанию того, что применение этой технологии ограничивается задачами классификации текстов и поиска статистически значимого соответствия текстовых блоков, например, в машинном переводе [1]. В качестве основной проблемы на пути широкого применения машинного обучения обычно указываются сложности морфологического, синтаксического и семантического анализа, особенно для флективных языков (словоизменения в которых имеют сразу несколько значений); к ним, например, относятся славянские языки, немецкий, семитские языки. Кроме того, трудность представляет отсутствие надлежащим образом размеченных корпусов текстов. Казалось бы, такие компании, как Google и «Яндекс», имеют в своем распоряжении петабайты размеченных текстовых данных, огромные словари синонимов, разного рода векторов и индексов, что позволяет им достаточно хорошо справляться с задачей машинного перевода, но практика показывает, что до полноценного ее решения еще далеко.
История нейросетей начиналась с попытки смоделировать работу человеческого мозга, обеспечивающего такие качества интеллекта, как любопытство, глубина, гибкость, логичность, доказательность, критичность и широта мышления. Машинное обучение можно представить как попытку реализации первых трех: любопытство — стремление к разноплановому пониманию того или иного явления в его существенных отношениях; глубина — способность отделять главное от второстепенного; гибкость — оперативное исследование предметов в их новых связях и отношениях. Все эти качества связаны с задачами статистического анализа, группировки и кластеризации большого количества стохастических данных.
Для построения «думающих» систем необходимо расширить машинное обучение недостающими качествами, а для этого решить комплекс вопросов, связанных с накоплением опыта и его последующим осмыслением — «смысловой» разметкой корпусов текстов. Накопление опыта — это: формирование справочников и онтологий, аккумулирующих знания о предметных областях; составление баз теоретических моделей-классов; создание семантических карт, отражающих взаимосвязи внутри одной предметной области и между различными областями. Смысловая разметка — анализ текстов с целью их превращения в семантически осмысленные структуры, а также семиотический и прагматический анализ для оценки смысловой направленности тех или иных текстов.
Слабая размеченность текстов, используемых сегодня в качестве обучающих выборок, сдерживает применение машинного обучения для анализа текстов — простое выделение значимых или близких слов [2] не позволяет в достаточной степени классифицировать текст. Само по себе существование справочника слов и фраз, отражающих эмоциональность, не дает возможности провести уверенный анализ эмоциональной окраски более или менее длинного сообщения и уж тем более обеспечить надежное обучение нейронной сети. Нельзя забывать о проблемах с грамотностью, о возможности автоподстановки слов и связанных с этим проблемах выпадающих по смыслу слов. Кроме того, необходимо определить предметную область каждого текста, его направленность (в чем общий смысл текста) и многое другое.
Таким образом, без предварительной подготовки обучающих выборок нельзя говорить о полноценном применении машинного обучения в задачах анализа текстов и связанных с ними задачах очистки и стандартизации данных (Data Quality).
Сегодня имеется два технологических подхода к анализу текстов: на основе статистических и на основе лингвистических методов. Первый состоит в статистическом анализе базы фактов, применяемой для анализа новых ситуаций. Иначе говоря, «обучение» системы происходит путем создания баз статистически значимых вариантов и суперпозиций, написания одних и тех же «сущностей» в различных текстах. Вариациями являются различные частотные алгоритмы, такие как латентно-семантический анализ, нейронные сети и т. д. Второй подход предполагает развитие аналитических возможностей машины за счет выстраивания логических связей без предварительного «обучения» на примерах; в этом случае применяются технологии SVM-анализа (машины опорных векторов, Support Vector Machines, www.osp.ru/os/2017/03/13052660), «перенос-свертка», построение грамматик и т. д.
К сожалению, несмотря на большое количество фундаментальных исследований, посвященных анализу текстов, на практике приходится сталкиваться с рядом трудностей, главным образом связанных со слабым развитием семиотики как теории знаковых систем [3]. Большинство исследований в этой области, проводимых в 60-х годах прошлого века, носили умозрительный характер и были связаны с изучением мышления как такового, а сегодня в рамках задач анализа текстов необходимо учитывать различия в ассоциативных рядах представителей разных культур, распознавать устойчивые выражения, эмоциональные оттенки речи, недостаточность знания автором языка, на котором пишется та или иная работа, и т. д. Кроме того, развитие часто затруднено закрытостью передовых исследований, большая часть которых имеет прикладной характер и носит статус коммерческой тайны.
Статистические методы
Основная масса алгоритмов такого типа базируется на предварительно размеченных онтологиях, обогащенных алгоритмами нечеткого сравнения и вариантами написаний, такими как сокращения, типовые опечатки и т. д. Другими словами, анализ производится путем сопоставления исследуемого текста с предварительно размеченной базой текстов на основании того или иного алгоритма частотного анализа. Ярким примером могут послужить попытки google.com использовать нейронные сети при переводе текстов. В качестве модели чаще всего применяются разного рода онтологии, наиболее типичными из которых являются эталонные справочники. Основные особенности методов данного класса:
- широкое использование алгоритмов полнотекстового поиска, что не позволяет учитывать флективность языка, учитывать ошибки и опечатки;
- использование разного рода n-грамм (анализ последовательности анализа кортежей из n-букв, слогов или слов), что снижает скорость работы алгоритмов и приводит к ошибкам, связанным с гипотезой о достаточно значимой зависимости лингвистических единиц от их окружения;
- хеширование данных, приводящее к избыточности вариантов написания одной и той же сущности (в среднем увеличение от 10 до 50 и более раз); в качестве примера можно привести решения по очистке адресных данных, где наиболее популярные сервисы обычно сообщают, что их «обучающая выборка» составляет порядка 50 млн на каждый миллион эталонных записей;
- анализ производится путем прямой проверки подстрок на полное соответствие эталону, что не позволяет проводить анализ грамматических ошибок и опечаток без накопления базы их вариантов, учитывать наличие «выпадающего» контента и т. д.
К преимуществам статистических методов можно отнести относительно простую реализацию и высокую скорость перебора вариантов. Но недостатков существенно больше, среди них:
- лавинообразный рост объема базы из-за необходимости хранения вариантов написаний отдельных сущностей;
- сложность контроля непротиворечивости фактов, ставших элементами базы фактов, приводящая к росту вероятности появления как полисемии, так и синонимии вариантов написаний лексических единиц;
- невозможность или сильная ограниченность анализа частичных совпадений и учета морфологии;
- высокая стоимость первоначального создания алгоритмов из-за необходимости накопления базы вариантов написаний, что отражается, например, в сложности подключения новых стран при разборе адресов (для каждой страны необходимо создавать свою базу вариантов написаний);
- невозможность применения эвристических подходов для анализа ситуаций, выходящих за рамки известных вариантов.
Лингвистические методы
Если не брать во внимание специфические задачи, такие как анализ эмоциональной окраски текста, фонетический анализ и пр., то можно считать, что алгоритмы данного класса опираются прежде всего на синтаксический, семантический и прагматический анализ, осуществляемый как за счет сопоставления с теоретическими моделями, так и путем перевода лингвистических единиц на метаязык.
Синтаксический анализ линейной последовательности слов — это анализ структуры предложения и отношения его компонентов с построением дерева зависимостей или дерева составляющих.
Семантический анализ зависимости слова или фразы от общего контекста — разрешение проблем полисемии, синонимии и т. д. В основе здесь лежат разного рода языковые корпусы, созданные для задач корпусной лингвистики. Отдельно следует упомянуть исследования в области ассоциативной семантики, такие как теория неоднородных семантических сетей [4], в основе которой лежат лексические единицы, объединяемые по значениям (семантический принцип) или по выполняемым функциям (функциональный принцип). Методология ассоциативной семантики нужна для сокращения семантической многозначности путем формирования семантической модели, позволяющей восстановить общий смысл текста в условиях многозначности его фрагментов, а также вычислить и оценить степень адекватности цели, с которой был текст написан [5].
Прагматический анализ смысла текста требуется для учета иносказательностей, «ошибок перевода», связанных с разными культурологическими ассоциациями, понятиями и принятыми устойчивыми выражениями в контексте среды автора текста. Эта область сегодня наименее формализована, а «корпусы» практически отсутствуют. Одним из перспективных направлений работ было бы создание корпусов ассоциативных полей, напоминающих политические, с временными и территориальными границами культур. Примером таких различий может быть разница в понимании символики цвета в разных культурах. Построение такого рода полей является естественным развитием ассоциативной семантики, но в случае семантического подхода ассоциации строятся главным образом на анализе баз ассоциаций лингвистических единиц или экспонентов, а в случае прагматического — на основе баз ассоциаций знаков (слов или фраз), сигнификатов (совокупность признаков предмета или явления, которые существенны для его правильного наименования данным словом в системе данного языка) и денотатов (множество объектов внеязыковой действительности. Примером может послужить цепочка: «котелок» (знак) — «емкость для приготовления пищи на огне» (описательные характеристики — сигнификат) — сам предмет или совокупность предметов (абстракций), которые могут быть названы «котелком».
Хорошие результаты для поиска общностей, используемые в дальнейшем для создания баз, получены с помощью нейронных сетей, позволяющих кластеризовать устойчивые выражения, описания и выявить устойчивые ассоциации. Такой подход был реализован в системах машинного перевода Google. Кроме того, перспективным направлением существующих сегодня технологий работы с изображениями могла бы стать задача по выявлению и созданию классов денотатов по их изображениям, которые сами по себе уже есть внеязыковые сущности.
Характерные особенности лингвистических методов:
- наличие размеченных корпусов, эталонных справочников и онтологий (но не самих текстов как таковых), например «Лексикограф» ВИНИТИ, национальный корпус русского языка КЛАДР/ФИАС;
- наличие объединенных в грамматики правил, реализуемых в форме связанных шаблонов, искусственных предикативных языков и т. д.;
- проведение анализа путем последовательного сравнения слов, причем допускаются перестановки, различия в порядке следования слов, учитываются сокращения и словоформы;
- отсутствие отдельной процедуры верификации для принятия окончательного результата.
Преимущества:
- высокая точность по сравнению со статистическими методами;
- хорошая адаптация к разным онтологиям;
- возможность использования эвристических подходов для анализа ситуаций за рамками знаний, упакованных в корпусы;
- возможность анализа и принятия решения при работе с «грязными» данными (изобилие разного рода ошибок, избыточный контент и пр.).
Среди недостатков можно отметить сложность реализации грамматик из-за отсутствия готовых инструментов, низкую скорость работы, сложность контроля непротиворечивости правил, а также построения предварительно размеченных и логически увязанных корпусов баз знаний.
Практика
Как показывает наш опыт разработки алгоритмов для извлечения данных, результаты не зависят от размера эталонного справочника — достаточно минимального объема в 1–3 тыс. элементов при средней длине элемента в два слова. В таблице приведены результаты сравнения статистических и лингвистических методов извлечения данных на примере анализа адресных данных экспериментальной базы. В качестве эталонного иерархического справочника был использован ФИАС [6], состоящий из 1,2 млн элементов на уровне улиц. Общий уровень иерархии объектов равен шести: регион, район, город, населенный пункт, улица и дом. А в качестве инструментов статистического анализа использовались машина полнотекстового поиска Elastic Search (elastic.com), дополненная расстоянием Левенштейна для анализа опечаток, и машина полнотекстового поиска. В качестве инструмента лингвистического анализа применялась машина IQDQ Search Engine (iqsystems.ru/tech/iqsearch), а в качестве анализируемого текста послужил массив из 100 тыс. адресов, гарантированно содержащих адресные данные, грамматические ошибки, пропущенные элементы адресного кортежа. Длина каждого элемента массива не превышала 500 символов, а количество слов, не относящихся к конкретному адресному кортежу, не превышало двух на каждые 10 строк.
Несмотря на явные различия, оба метода имеют право на существование. Их эффективность зависит: от объема эталонных справочников, хотя, как уже отмечалось, на объемах 1–3 тыс. элементов различия не столь существенны; «узости» понятийного поля предметной области; наличия мультиязычности; глубины вложенности дерева сущностей и т. д. Неплохим примером может служить организация поиска данных в небольшом узкоспециализированном товарном справочнике интернет-магазина и поиска в большом online-гипермаркете.. В первом случае статистические методы дают прекрасные результаты, а для достижения результата во втором случае не обойтись без систем лингвистического анализа текстов.
***
Эффективное применение технологий машинного обучения для работы с текстами сегодня невозможно без технологий предварительного семантического анализа, которые в будущем должны широко использоваться при решении любых задач, связанных с обучением, и в первую очередь с подготовкой и разметкой обучающих выборок. Само машинное обучение может, в свою очередь, стать обязательным компонентом при создании различных фреймворков на уровне встроенных собственных функций или «оберток» внешних сервисов, необходимых для обеспечения качества данных.
- Дмитрий Ильвовский, Екатерина Черняк. Системы автоматической обработки текстов // Открытые системы. СУБД. — 2014. — № 1. — С. 51–53. URL: https://www.osp.ru/os/2014/01/13039687 (дата обращения: 21.09.2018).
- Tomas Mikolov et. al. Efficient Estimation of Word Representations in Vector Space, arxiv.org. URL: http://arxiv.org/pdf/1301.3781.pdf (дата обращения: 18.05.2018).
- Осипов Г. С. Приобретение знаний интеллектуальными системами: Основы теории и технологии. — М.: Наука. Физматлит, 1997.
- Лотман Ю. М. Люди и знаки // В кн. Лотман Ю. М. Семиосфера. — СПб.: Искусство-СПБ, 2010. — С. 6.
- Кучуганов В. Н. Элементы теории ассоциативной семантики // Управление большими системами. Выпуск 40. М.: ИПУ РАН, 2012. — С.30–48.
- Константин Симаков, Илья Козлов. Особенности очистки адресных данных // Открытые системы. СУБД. — 2013. — № 9. — С. 30–33. URL: https://www.osp.ru/os/2013/09/13038283 (дата обращения: 21.09.2018).
Максим Ковалев (kovalev@iqsystems.ru) — генеральный директор, компания IQSystems (Москва). Статья подготовлена на основе материалов выступления автора на конференции «Технологии машинного обучения 2018».