Семантический (смысловой) анализ текста – одна из ключевых проблем как теории создания систем искусственного интеллекта, относящаяся к обработке естественного языка (Natural Language Processing, NLP) , так и компьютерной лингвистики. Результаты семантического анализа могут применяться для решения задач в таких областях как, например, психиатрия (для диагностирования больных), политология (предсказание результатов выборов), торговля (анализ “востребованности” тех или иных товаров на основе комментариев к данному товару), филология (анализ авторских текстов), поисковые системы, системы автоматического перевода и т.д.
Несмотря на свою востребованность практически во всех областях жизни человека, семантический анализ является одной из сложнейших математических задач. Вся сложность заключается в том, чтобы “научить” компьютер правильно трактовать образы, которые автор текста пытается передать своим читателям/слушателям.
Способность “распознавать” образы считается основным свойством человеческих существ, как, впрочем, и других живых организмов. Образ представляет собой описание объекта. В каждое мгновение нашего бодрствования мы совершаем акты распознавания. Мы опознаем окружающие нас объекты и в соответствии с этим перемещаемся и совершаем определенные действия. Мы можем заметить в толпе друга и понять, что он говорит, можем узнать голос знакомого, прочесть рукопись и идентифицировать отпечатки пальцев, можем отличить улыбку от злобной гримасы. Человеческое существо представляет собой очень сложную информационную систему – в определенной степени это определяется чрезвычайно развитыми у человека способностями распознавать образы [5, с. 16].
Естественный язык в отличие, например, от компьютерных (алгоритмических) языков формировался во многом стихийно, не формализовано. Это обуславливает целый ряд сложностей в понимании текста, вызванных, например, неоднозначным толкованием одних и тех же слов в зависимости от контекста, который может быть и неизвлекаем, в принципе, из самого текста. Следовательно, этот контекст или знание о предметной области в систему должны быть заранее внесены. К тому же зачастую практические задачи требуют точного определения времени, места того, что описано в тексте, точной идентификации людей и т.д., в то время как подобная информация находится за пределами данного текста. В этом случае система может или не обрабатывать эту информацию, или оставить ее до выяснения контекста и даже попытаться проявить инициативу в выяснении контекста, например, в диалоге с оператором, задающим ввод текста. То, как ведет себя система в подобной ситуации, определяется стилем и схемой работы системы [3].
Промышленные системы автоматической обработки текста, в основном, сейчас используют два этапа анализа текста: морфологический и синтаксический. Однако теоретические разработки многих исследователей предполагают существование следующего за синтаксическим этапа – семантического. В отличие от предыдущих шагов семантический этап использует формальное представление смысла составляющих входной текст слов и конструкций. Суть семантического анализа понимается разными исследователями по-разному [4]. Многие ученые сходятся во мнении, что в сферу семантического анализа входит:
- Построение семантической интерпретации слов и конструкций;
- Установление "содержательных" семантических отношений между элементами текста, которые уже принципиально не ограничены размером одного слова (могут быть больше или меньше одного слова).
Некоторые ученые предлагают рассматривать не просто текст на основе его составляющих слов, предложений, абзацев, но и попытаться выявить тот смысловой образ, который автор хотел создать в сознании своих читателей, посредством этого текста. На современном этапе развития искусственного интеллекта эта задача является практически неразрешимой.
Основные проблемы понимания текста в обработке естественных языков таковы:
1. Знание системой контекста и проблемной области и обучение этому системы. Например, из предложения «мужчина вошел в дом с красным портфелем» можно извлечь как представление о мужчине с красным портфелем, так и о доме с красным портфелем, если заранее не иметь в виду, что применительно к мужчинам употребление принадлежности портфеля гораздо вероятнее, чем применительно к дому.
2. Различная форма передачи синтаксиса (т.е. структуры) предложения в разных языках. Например, если синтаксическая роль слова (подлежащее, сказуемое, определение и т.д.) в английской речи во многом определяется положением слова в предложении относительно других слов, то в русском предложении существует свободный порядок слов и для выявления синтаксической роли слова служат его морфологические признаки (например, окончания слов), служебные слова и знаки препинания.
3. Проблема равнозначности. Предложения «длинноухий грызун бросился от меня наутек» и «заяц бросился от меня наутек» могут означать одно и то же, но могут иметь и разный смысл, например, если в первом случае имелся в виду длинноухий тушканчик.
4. Наличие в тексте новых для компьютера слов, например неологизмов. Самообучаемая система должна уметь «интуитивно» определить (возможно, и неправильно, но с возможность в дальнейшем исправить себя) лексическую роль, морфологическую форму этого слова, попробовать вписать его в существующую структуру знаний, наделить его какими-то атрибутами или выяснить все это в диалоге с оператором. Система, не способная к самообучению просто потеряет какое-то количество информации.
5. Проблема совместимости новой информации с уже накопленными знаниями. Новая информация может каким-то образом противоречить уже накопленной информации. Необходимо реализовать механизм, определяющий, в каких случаях нужно отвергнуть старую информацию, а в каких – новую.
6. Проблема временных противоречий. Так в предложении «я думал, что сверну горы» глагол в прошедшей форме «думал» сочетается с глаголом будущего времени «сверну».
7. Проблема эллипсов, то есть предложений с пропущенными фактически, но существующими неявно благодаря контексту словами. Например, в предложении «я передам пакет тебе, а ты – Ивану Петровичу» во второй части опущен глагол «передашь» и существительное «пакет» [3].
Системы, направленные на извлечение знаний из текстов на естественных языках (то есть на таких языках, на которых общаются люди в отличие, например, от алгоритмических языков), а также на синтез текста на основе знаний называются лингвистическими трансляторами или лингвистическими процессорами.
Подобные системы могут интегрироваться с экспертными системами, то есть системами, служащими для того, чтобы заменять человека-эксперта в какой-либо области, например медицинская диагностика, юридическое консультирование, бизнес-планирование, диагностика различных технических неисправностей и многих других. В этом случае экспертная система с одной стороны имеет возможность высокоэффективно обучаться, накапливать новые знания, а с другой стороны, способна выдавать информацию пользователю в максимально удобной форме.
Кроме того, лингвистический процессор может быть интегрирован с системой распознавания и (или) синтеза речи, что может сделать процесс общения с компьютером максимально удобным, а, следовательно, и продуктивным.
Одной из наиболее очевидных направлений применения лингвистических процессоров является машинный перевод с одного естественного языка (ЕЯ) на другой.
Также подобные системы могут использоваться и используются для автоматического пополнения информационных баз и баз знаний (т.н. «data mining») в том числе путем сканирования Интернета.
В настоящее время существуют различные подходы к созданию систем для автоматизированного семантического анализа.
Проведя поверхностный анализ отечественной и зарубежной литературы по способам и средствам семантического анализа текста, можно сделать следующие выводы:
Системы семантического анализа не могут существовать без морфологической составляющей. В качестве морфологической составляющей выступают различные виды словарей словоформ (т.е. содержащие все варианты склонения, спряжения и т.д. того или иного слова). Самый популярный словарь (относительно русского языка) среди исследователей – грамматический словарь, предложенный Зализняком А.А. Данный словарь содержит около 100 000 словоформ, в то время как, по предварительным подсчетам, в русском языке существует более 200 000 слов. Поэтому возникает проблема «неполноты» того или иного словаря. Существует ряд подходов для решения этой проблемы.
Первый способ – это так называемое обучение с учителем, в качестве учителя выступает человек. Например, когда система сталкивается со словом, отсутствующим в словаре, она прекращает свою работу и ждет от учителя, пока он покажет ей все варианты словоформ данного слова. Этот вариант является очень трудоемким, потому что требует постоянного «обучения» со стороны человека к тому же, сильно увеличивается время выполнения анализа.
Второй способ – обучение без учителя, на основе правил. В данном случае исследователи для проведения морфологического анализа используют обратные словари или, собственноручно созданные, базы аффиксов (т.е. суффиксов, префиксов, окончаний и т.д.) с указанием морфологических признаков, которым соответствует тот или иной аффикс. Существует также подход, согласно которому нет необходимости создавать отдельную базу аффиксов, достаточно просто сравнить форму нового (отсутствующего в словаре слова) со всеми словами уже существующими в словаре и присвоение новому слову признаков, соответствующих словоформе слова из словаря с наибольшим «весом». В данном случае используются статистические методы. У этого способа главным недостатком является его вероятностная часть – в зависимости от статистического метода, используемого теми или иными учеными, «правильность» определения морфологических признаков варьировалась от 50 до 97%. Поэтому очень часто системы морфологического анализа используют гибридный метод, использующий оба этих подхода.
Следует упомянуть, что на этапе морфологического анализа некоторые системы используют также словари акронимов (аббревиатур) и словари личных имен, что существенно ускоряет сам процесс семантического анализа.
Системы семантического анализа не могут существовать без синтаксической составляющей. Основной задачей синтаксического анализа является построение синтаксического дерева предложения. Также как и морфологический анализ, синтаксический анализ является предварительным этапом перед семантическим анализом. На этом этапе отсеивается большая часть омонимов (слова разного значения, но одинаково звучащие, напр., пол, коса, ключ), выявленных на этапе морфологического анализа. Что, в свою очередь, существенно ускорит семантический анализ.
Для представления в памяти компьютера значения всех содержательных единиц рассматриваемого языка (лексических, морфологических, синтаксических и словообразовательных) и приведения их к единому, формальному виду, понятному компьютеру, используется, специально созданный для этого искусственный язык или, как его еще называют некоторые ученые, метаязык.
Реально в качестве семантического метаязыка в большинстве современных работ используется не универсальный искусственный язык, а некий упрощенный и стандартизированный подъязык описываемого языка со своим словарем и грамматикой [2].
В настоящее время под эгидой Института передовых исследований токийского университета Организации Объединенных Наций разрабатывается универсальный сетевой язык (The Universal Networking Language, UNL). По замыслу, UNL – это искусственный семантико-синтаксический язык, предназначенный для описания, хранения и распространения информации в WWW в не зависящем от какого-либо естественного языка виде, а также независимо от конкретной компьютерной платформы или операционной системы. В отличие от систем машинного перевода, призванных осуществлять перевод с одного естественного языка на другой, предполагается, что система UNL должна уметь автоматически (или полуавтоматически) преобразовывать исходный текст в его UNL-представление, а затем синтезировать из этого представления текст на нужном языке. Таким образом, о UNL можно говорить как о своеобразном языке-посреднике, удобном для хранения информации и ее восстановления на любом естественном языке из числа поддерживаемых системой [6].
Кроме того, огромную популярность получили так называемые онтологии (формальные явные описания терминов предметной области и отношений между ними), которые могут быть использованы как основа для семантического анализа. Во всемирной паутине онтологии стали обычным явлением. Онтологии варьируются от больших таксономий, категоризирующих веб-сайты (как на сайте Yahoo!), до категоризаций продаваемых товаров и их характеристик (как на сайте Amazon.com). Консорциум WWW (W3C) разрабатывает RDF (Resource Description Framework), язык кодирования знаний на веб-страницах, для того, чтобы сделать их понятными для электронных агентов, которые осуществляют поиск информации. Управление перспективных исследований и разработок министерства обороны США (The Defense Advanced Research Projects Agency, DARPA) в сотрудничестве с W3C разрабатывает Язык Разметки для Агентов DARPA (DARPA Agent Markup Language, DAML), расширяя RDF более выразительными конструкциями, предназначенными для облегчения взаимодействия агентов в сети. Во многих дисциплинах сейчас разрабатываются стандартные онтологии, которые могут использоваться экспертами по предметным областям для совместного использования и аннотирования информации в своей области. Например, в области медицины созданы большие стандартные, структурированные словари, такие как snomed и семантическая сеть Системы Унифицированного Медицинского Языка (the Unified Medical Language System). Также появляются обширные общецелевые онтологии. Например, Программа ООН по развитию (the United Nations Development Program) и компания Dun & Bradstreet объединили усилия для разработки онтологии UNSPSC, которая предоставляет терминологию товаров и услуг (http://www.unspsc.org/).
Подводя итоги всему вышесказанному, можно сделать выводы, что семантический анализ в настоящее время движется в сторону формальных грамматик (Мельчук И., Хомский Н. и др.), но пока значительных прорывов в данной области не наблюдается.
Литература:
Автоматическая обработка текстов на естественном языке и компьютерная лингвистика: учеб. пособие / Большакова Е.И., Клышинский Э.С., Ландэ Д.В., Носков А.А., Пескова О.В., Ягунова Е.В. — М.: МИЭМ, 2011. — 272 с.
Апресян, Ю.Д. Исследования по семантике и лексикографии. Т. I: Парадигматика / Ю.Д. Апресян. – М.: Языки славянских культур, 2009.
Понимание и синтез текста компьютером. http://compuling.narod.ru/index2.html
Сокирко А.В. Семантические словари в автоматической обработке текста: По материалам системы ДИАЛИНГ: диссертация ... кандидата технических наук: 05.13.17. – Москва, 2001. – 120 с.: ил.
Ту Дж. Принципы распознавания образов / Дж. Ту, Р. Гонсалес, пер. с англ. И.Б. Гуревича. – М.: Мир,1978.
Что такое UNL? // Л. Крейдлин. – 2001. http://stra.teg.ru/library/strategics/7/9/1