RU2563148C2 - Система и метод семантического поиска - Google Patents
Система и метод семантического поиска Download PDFInfo
- Publication number
- RU2563148C2 RU2563148C2 RU2013132622/08A RU2013132622A RU2563148C2 RU 2563148 C2 RU2563148 C2 RU 2563148C2 RU 2013132622/08 A RU2013132622/08 A RU 2013132622/08A RU 2013132622 A RU2013132622 A RU 2013132622A RU 2563148 C2 RU2563148 C2 RU 2563148C2
- Authority
- RU
- Russia
- Prior art keywords
- semantic
- lexical
- syntactic
- sentence
- search
- Prior art date
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
Изобретение относится к технологиям поиска. Техническим результатом является повышение точности поиска информации за счет обеспечения возможности получения пользователем только релевантных результатов поиска за счет использования семантических запросов. В способе организации поиска в корпусах электронных текстов для компьютерной системы предварительно осуществляют семантико-синтаксический анализ корпуса текстов с определением и сохранением в памяти значений лингвистических параметров предложений, включая сопоставление слов предложения некоторого множества возможных лексических значений - каждое с соответствующей оценкой вероятности вхождения этого лексического значения в предложение, и построением семантических структур предложений, составляющих тексты корпуса текстов, и их последующим индексированием и сохранением индексов. Осуществляют поиск фрагментов в предварительно проиндексированных корпусах электронных текстов, удовлетворяющих запросу. Производят оценку релевантности результатов и ранжируют результаты поиска в соответствии со степенью релевантности. 2 н. и 38 з.п. ф-лы, 25 ил.
Description
ОБЛАСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение относится к технологиям поиска, в частности, реализация данного изобретения имеет отношение к поиску доступного электронного контента, например, в интернете и других электронных ресурсах, таких как текстовые корпуса, словари, глоссарии, энциклопедии и т.д.
УРОВЕНЬ ТЕХНИКИ
Широко известны поисковые технологии, которые позволяют генерировать результат поиска, основываясь на ключевых словах, вводимых пользователем в составе поискового запроса.
Однако, из-за омонимии и омографии, имеющейся в естественных языках, результат поиска, основанный на поиске по ключевым словам, может включать значительное количество нерелевантной и малорелевантной информации. Например, если пользователь ищет тексты, содержащие слово "page" в смысле "паж" (придворная должность), он получит множество нерелевантной информации, где "page" относится к интернет-страницам, страницам газет, журналов, страницам устройств памяти и т.д. Это происходит потому, что эти значения гораздо более частотны, чем "page" в лексическом значении "паж". Аналогично в русском языке по ключевому слову "стекло" можно получить все тексты, содержащие глагол "течь" во всевозможных словоформах.
Существующие системы позволяют использовать простые языки запросов для поиска документов, которые содержат, или не содержат слова или слово, указанные пользователем. Однако пользователь не имеет возможности указать, должны ли эти слова находиться в одном предложении или нет. Также, пользователь не может формулировать свой запрос сразу для некоторого множества слов, принадлежащих некоторому классу или обладающих некоторыми свойствами или характеристиками. Как правило, эти системы не позволяют формулировать запрос в виде обычного вопроса на естественном языке. И наконец, существующие системы поиска не позволяют пользователям искать предложения с заданными синтаксическими и/или семантическими свойствами, например, иллюстрирующие заданное семантическое отношение (связь), не позволяют создавать запросы, основанные на грамматических значениях, семантических и/или семантических позициях (связях), синтаксических моделях, стилистических и/или семантических особенностях. Такие типы поиска могут быть особенно полезны лексикографам, филологам, лингвистам, студентам и преподавателям родного или иностранного языка, а также многим обычным пользователям. Данное изобретение является развитием решений, изложенных ранее в Патентных заявках США №13/173,649 и 13/173,369, поданных 30 июня 2011, а также №12/983,220, поданной 31 декабря 2010 и частично использует технологию анализа, также запатентованную в США (Патент №8,078,450).
Наиболее близким решением является решение по Патентной заявке США №12/601901, в которой описан способ организации поиска на множестве электронных документов для компьютерной системы, заключающийся в том, что комбинируют результат поиска по ключевым словам с результатами семантического поиска и предъявляют пользователю результат такого комбинированного поиска.
Однако известный способ имеет недостатки. Семантический поиск, как он описан в этой заявке не делает различий между "словом" и множеством его лексических значений, и сам имеет ограниченный характер - фактически в качестве семантической информации используются только метаданные - некоторые внешние метки, тэги, которыми, автоматически или вручную, снабжаются документы. Он не позволяет искать слова в выбранном значении. Используемое дополнительно хранилище триплетов (triplestore) хранит информацию только об отношениях между объектами в виде "троек" вида {субъект, отношение, объект}.
Технический результат от использования настоящего изобретения может состоять в следующем. В отличие от указанного прототипа, способ настоящего изобретения предполагает компьютерный поиск не просто слов, но слов в определенных лексических значениях, поскольку включает исчерпывающий семантико-синтаксический анализ корпуса текстов с извлечением всего спектра лексических, морфологических, синтаксических и семантических параметров предложений и построением их семантических структур. А последующее индексирование семантических структур обеспечивает возможность поиска не только "троек", но предложений любой заданной структуры, в том числе, возможность формулирования запроса на естественном языке.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Настоящее изобретение представляет собой способ организации информационного поиска в корпусах электронных текстов для компьютерной системы, заключающийся в том, что, по меньшей мере, один раз производят следующую последовательность действий: предварительно осуществляют семантико-синтаксический анализ корпуса текстов с определением значений лингвистических параметров предложений, их сохранением в памяти и построением семантических структур предложений, составляющих тексты корпуса текстов, и их последующим индексированием и сохранением индексов, затем, осуществляют поиск фрагментов в предварительно проиндексированных корпусах электронных текстов, удовлетворяющих запросу, производят оценку релевантности результатов, ранжируют результаты поиска в соответствии со степенью релевантности для показа их пользователю.
Указанный исчерпывающий семантико-синтаксический анализ корпуса текстов проводится с использованием широкого спектра языковых описаний, и для каждого предложения корпуса текстов включает: генерацию всех потенциальных связей между элементами предложения и их сохранение в памяти, построение графа обобщенных составляющих, генерацию из графа обобщенных составляющих, по крайней мере, одного синтаксического дерева, установление недревесных связей и построение на основе синтаксического дерева синтаксической структуры предложения и ее сохранение в памяти, генерацию универсальной семантической структуры предложения на основе его синтаксической структуры и ее сохранении в памяти. Указанный семантико-синтаксический анализ корпуса текстов также включает лексический выбор, который, в одной из реализаций, состоит в выборе наиболее вероятного лексического значения слова из множества возможных лексических значений этого слова с учетом априорных и вычисляемых интегральных оценок. В еще одной реализации, лексический выбор может состоять в приписывании слову некоторого множества возможных лексических значений, каждый с соответствующей оценкой вероятности вхождения этого лексического значения в предложение. Дополнительно, семантико-синтаксический анализ корпуса текстов включает определение и извлечение значений морфологических, лексических, синтаксических и семантических параметров элементов корпуса текстов и выбор лучшей синтаксической структуры предложения.
Также, дополнительно указанный семантико-синтаксический анализ корпуса текстов может сопровождаться атрибутированием элементов корпуса текстов понятиями модели предметной области (онтологии) и восстановлением референциальных связей между предложениями.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 иллюстрирует обитую схему метода глубинного анализа корпуса текстов и построения индексов согласно одной из реализаций данного изобретения.
Фиг.1A содержит пример фрагмента текста с референциальными связями.
Фиг.2 иллюстрирует последовательность структур, строящихся в процессе анализа предложения согласно одной или нескольким реализациям изобретения.
Фиг.3 иллюстрирует пример синтаксического дерева, полученного в результате точного синтаксического анализа английского предложения "This boy is smart, he'll succeed in life".
Фиг.4 иллюстрирует схему семантической структуры, полученной в результате анализа предложения "This boy is smart, he'll succeed in life."
Фиг.5A-5D иллюстрируют фрагмент семантической иерархии, согласно одной или нескольким реализациям данного изобретения.
Фиг.6 представляет собой схему, иллюстрирующую языковые описания 610, согласно одной из возможных реализаций изобретения.
Фиг.7 представляет собой схему, иллюстрирующую морфологические описания, согласно одной из возможных реализаций изобретения.
Фиг.8 иллюстрирует синтаксические описания, согласно одной из возможных реализаций изобретения.
Фиг.9 иллюстрирует семантические описания, согласно одной из возможных реализаций изобретения.
Фиг.10 является схемой, иллюстрирующей лексические описания, согласно одной или нескольким реализациям данного изобретения.
Фиг.11 и Фиг.11B иллюстрирует пример пользовательского графического интерфейса поисковой системы, который позволяет пользователю формулировать запросы с выбором лексических значений.
Фиг.11C и Фиг.11D иллюстрируют результаты семантического запроса.
Фиг.12A иллюстрирует один из примеров семантического запроса.
Фиг.12B иллюстрирует еще один пример семантического запроса.
Фиг.12C иллюстрирует еще один пример семантического запроса.
Фиг.13 иллюстрирует пример семантического запроса с "лакуной".
Фиг.14 иллюстрирует примерную схему действий, осуществляемых при выполнении семантического запроса согласно одной из реализаций данного изобретения.
Фиг.14A иллюстрирует пример семантического запроса с выбором объектов онтологии.
Фиг.15 иллюстрирует пример схемы аппаратного обеспечения.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Реализация данного изобретения раскрывает методы индексирования и систему для индексирования текстов на естественном языке. Также, изложены методы и система семантического поиска.
В общих чертах, предлагаемый метод создания индекса включает выполнение исчерпывающего синтаксического и семантического анализа тексов на естественном языке для построения, по меньшей мере, одного индекса для каждого текста или текстового корпуса. При этом рассматриваются множества не просто слов, но множества лексических значений всех встречающихся в тексте (корпусе) слов, и вся лексическая, синтаксическая и семантическая информация о каждом предложении, получаемая в процессе синтаксического и семантического анализа, сохраняется и индексируется. Сохраняемая информация может включать также данные, получаемые на промежуточных этапах разбора, результаты лексического выбора, включая результаты, полученные в процессе разрешения неоднозначностей. Полученный таким образом индекс используется для организации семантического поиска как описано ниже.
Существующие системы используют простые языки запросов для поиска документов, которые содержат, или не содержат слова или слово, указанные пользователем. Однако пользователь не имеет возможности указать, в каком именно из своих значений должно быть найдено слово, должны ли указанные слова находиться в одном предложении или нет. Также, пользователь не может формулировать свой запрос сразу для некоторого множества слов, принадлежащего некоторому классу или обладающих некоторыми свойствами или характеристиками. Как правило, эти системы не позволяют формулировать запрос в виде обычного вопроса на естественном языке. И, наконец, существующие системы поиска не позволяют пользователям искать предложения с заданными синтаксическими и/или семантическими свойствами, например, иллюстрирующие заданное семантическое отношение (связь), не позволяют создавать запросы, основанные на грамматических значениях, семантических и/или семантических позициях (связях), синтаксических моделях, стилистических и/или семантических особенностях.
Проблемы существующих поисковых систем полностью или частично решаются методами, описанными ниже.
Осуществление изобретения позволяет пользователю искать и находить релевантную информацию, используя семантический запрос, который формулируется либо на специальном языке семантических запросов, а также, возможно, на естественном языке. Тот же самый анализатор используется для анализа запроса на естественном языке, для распознавания его синтаксической структуры и построения семантической структуры и, таким образом, и "понимания" системой смысла запроса. Поиск реализуется в соответствии с синтаксисом и семантической информацией, которая сохранена в ресурсе, допускающем такие типы поиска. Таким образом, пользователь может получить только релевантные результаты запроса.
Кроме того, поскольку поисковый запрос может быть сформулирован или транслирован в универсальных, независимых от языка, семантических терминах, поиск может осуществляться в корпусах, включающих документы на разных языках. Таким образом, пользователь может получать информацию, представленную в различных ресурсах независимо от языка, на котором сформулирован запрос на поиск. Результаты поиска могут быть предъявлены пользователю как на языке ресурса, в оригинальном виде, как это найдено в документе, так и могут быть переведены на язык запроса при помощи системы машинного перевода.
В Патенте США U.S. Patent 8,078,450 описан метод, включающий глубинный синтаксический и семантический анализ текстов на естественном языке, основанный на исчерпывающих лингвистических описаниях. Этот метод может быть использован на этапе анализа описываемого метода построения индексов. Метод использует широкий спектр лингвистических описаний, как универсальных семантических механизмов, так относящихся к конкретному языку, что позволяет отразить все реальные сложности языка без упрощения и искусственных ограничений, не опасаясь при этом комбинаторного взрыва, неуправляемого роста сложности. Сверх того, указанные способы анализа основаны на принципах целостного и целенаправленного распознавания, т.е. гипотезы о структуре части предложения верифицируются в рамках проверки гипотезы о структуре всего предложения. Это позволяет избежать анализа большого множества аномалий и вариантов.
Глубинный анализ включает лексико-морфологический, синтаксический и семантический анализ каждого предложения корпуса текстов, в результате которых строятся семантические структуры, независимые от языка (language-independent semantic structures), в которых каждому слову текста сопоставлен соответствующий семантический класс. Фиг.1 иллюстрирует общую схему метода глубинного анализа и построения индексов согласно одной из реализаций данного изобретения. Корпус текстов 105 подвергается исчерпывающему семантико-синтаксическому анализу 106 с использованием лингвистических описаний, как исходного языка, так и универсальных семантических описаний, что позволяет анализировать не только поверхностную синтаксическую структуру, но и глубинную, семантическую, выражающую смысл высказывания, содержащегося в каждом предложении, а также связи между предложениями или фрагментами текста. Лингвистические описания могут включать лексические описания 101, морфологические описания 102, синтаксические описания 103 и семантические описания 104. Анализ 106 включает синтаксический анализ, реализованный в виде двухэтапного алгоритма (грубого синтаксического анализа и точного синтаксического анализа), использующий лингвистические модели и информацию различных уровней для вычисления вероятностей и генерации наиболее вероятной («лучшей») синтаксической структуры. Фиг.2 иллюстрирует последовательность структур, строящихся в процессе анализа предложения согласно одной или нескольким реализациям изобретения.
Затем строится независимая от языка семантическая структура (language-independent semantic structure) 107, которая представляет смысл исходного предложения. Этот этап может включать также восстановление референциальных связей между предложениями. Примером референциальной связи является анафора - использование языковых конструкций, которые могут быть проинтерпретированы лишь с учетом другого, как правило, предшествующего, фрагмента текста. Фиг.1A иллюстрирует фрагмент текста с референциальными связями между предложениями. Эти связи на уровне соответствующих семантических структур устанавливаются на этапе 107. В частности, для последующего индексирования личные, указательные местоимения, а также другие объекты, между которыми устанавливаются референциальные связи, индексируются с учетом связи с их антецедентом. Т.е. для фрагмента текста, показанного на Фиг.1A, будет установлена идентичность объектов "David Cameron", "Prime Minister of the United Kingdom", "he", "his", "Prime Minister" в рамках данного фрагмента или всего текста. Восстановление референциальных связей выполняется на семантических структурах с помощью специальных правил.
Затем исходное предложение, синтаксическая структура исходного предложения и независимая от языка семантическая структура индексируются 108. Результатом является набор коллекций индексов 109. Индекс обычно может быть представлен в виде таблицы, где каждому значению текстовой характеристики (например, слову, выражению или фразе, отношению между элементами предложения, морфологическое, лексическое, синтаксическое или семантическое свойство, а также и синтаксические и семантические структуры) в документе сопоставлен список адресов их вхождений в этот документ. Согласно одной из реализаций данного изобретения, морфологические, синтаксические, лексические и семантические характеристики, а также структуры и фрагменты структур могут индексироваться так же, как индексируется слово в документе.
В одной из реализаций данного изобретения индексы могут включать все или, по крайней мере, одно значение морфологических, синтаксических, лексических и семантических характеристик (параметров). Эти значения или параметры генерируются во время двухэтапного семантического анализа, далее описанного более детально. Индексы могут использоваться во многих задачах обработки естественного языка, в частности, для организации семантического поиска. Согласно одной из реализаций данного изобретения, морфологические, синтаксические, лексические и семантические описания структурированы и сохраняются в базе данных. Это множество описаний может включать, по крайней мере, морфологическую модель языка, модели синтаксических конструкций языка, лексико-семантические модели. Согласно одной из реализаций данного изобретения, для анализа сложных языковых структур, распознавания смысла предложения и корректной передачи заключенной в нем информации используется интегральная модель для описания синтаксиса и семантики.
Фиг.2 иллюстрирует детальную схему метода анализа предложения согласно одной или нескольким реализациям изобретения. Ссылаясь на Фиг.1 и Фиг.2, лексико-морфологическая структура 222 определяется на этапе анализа 106 исходного предложения 105. Затем производится синтаксический анализ, реализованный в виде двухэтапного алгоритма (грубого синтаксического анализа и точного синтаксического анализа), использующий лингвистические модели и информацию различных уровней для вычисления вероятностей и генерации наиболее вероятной («лучшей») синтаксической структуры.
Грубый синтаксический анализ применяется к исходному предложению и включает, в частности, генерацию всех потенциально возможных лексических значений слов, образующих предложение или словосочетание, всех потенциально возможных отношений между ними, всех потенциально возможных составляющих. Применяются все вероятные поверхностные синтаксические модели для каждого элемента лексико-морфологической структуры, затем строятся и обобщаются все возможные составляющие так, чтобы были представлены все возможные варианты синтаксического разбора предложения. В результате формируется граф обобщенных составляющих 232 для последующего точного синтаксического анализа. Граф обобщенных составляющих 232 включает все потенциально возможные связи в предложении. За грубым синтаксическим анализом следует точный синтаксический анализ на графе обобщенных составляющих, в результате которого из него "извлекаются" одно или несколько синтаксических деревьев 242, представляющих структуру исходного предложения. Построение синтаксического дерева 242 включает лексический выбор для вершин графа и выбор отношений между вершинами графа. Множество априорных и статистических оценок может быть использовано при выборе лексических вариантов и при выборе отношений из графа. Априорные и статистические оценки могут также быть использованы как для оценивания частей графа, так и для оценивания всего дерева. В одной из реализаций одно или несколько синтаксических деревьев строятся или упорядочиваются по убыванию оценки. Таким образом, лучшее синтаксическое дерево может быть построено первым. В этот момент также проверяются и строятся недревесные связи. Если первое синтаксическое дерево оказывается неподходящим, например, из-за невозможности установить необходимые недревесные связи, в качестве лучше рассматривается второе синтаксическое дерево и т.д.
Поскольку упомянутый лексический выбор для вершин графа и выбор отношений между вершинами графа производится на основе априорных и статистических оценок, в одной из реализаций метода не только рассматриваются и оцениваются все варианты, но эти варианты также запоминаются и индексируются на этапе 108 с учетом их интегральных оценок. Т.е. в индексе 109 содержатся не только высоковероятные варианты разбора предложения, но и маловероятные с соответствующим весом, если такой разбор закончился успешно. Веса вариантов разбора используются впоследствии при вычислении оценки релевантности результата поиска.
Широкий спектр лексических, грамматических, синтаксических, прагматических, семантических характеристик извлекается на этом этапе анализа 106 и построения семантических структур 107. Например, система может извлекать и хранить лексическую информацию и информацию о принадлежности лексических единиц семантическим классам, информацию о грамматических формах и линейном порядке, о синтаксических отношениях и поверхностных позициях, использовании определенных форм, аспектов, тональностей, таких как, положительная и негативная тональность, глубинных позиций, недревесных связей, семантем и т.д.
Также, дополнительно, на этапе 107 может проводиться онтологический анализ с целью извлечения знаний о предметной области, извлечения онтообъектов и онтофактов. Извлечение онтообъектов и онтофактов и фиксация отношений между ними производится, например, с помощью специального вида правил, правил логического вывода и других средств. Эта информация фиксируется в онтологиях 110. Например, возвращаясь к примеру, представленному на Фиг.1A, в онтологии, сохраняется информация о том, что Дэвид Кэмерон является премьер-министром Великобритании, что его адрес - 10 Downing Street, что он выступал на Social Impact Investment Forum, который имел место быть 6 июня 2012 года в Лондоне.
Информация из онтологии привлекается в процессе построения индексов 108. Это позволяет затем, в процессе поиска, находить информацию об объекте, даже если в она выражена в корпусе текстов неявно. Например, информация из фрагмента, представленного на Фиг.1A, если она занесена в онтологию, позволяет дать ответ на вопрос, на какой улице находится резиденция премьер-министра Великобритании, или когда в Великобритании работало коалиционное правительство.
Фиг.3 иллюстрирует пример синтаксического дерева 300, полученного в результате точного синтаксического анализа английского предложения "This boy is smart, he'll succeed in life". Дерево содержит достаточно полную синтаксическую информацию, такую как лексические значения, части речи, синтаксические роли, грамматические значения, синтаксические отношения (позиции), синтаксические модели, типы недревесных связей и т.д. Например, местоимение «he» определяется относящимся к существительному «boy» как субъект анафорической связи 310. "Boy" определяется субъектом 320 глагола "be." "Не" - субъектом 330 глагола "succeed." Прилагательное "smart" оказывается относящимся к существительному "boy" с отношением "control - complement" 340.
Ссылаясь на Фиг.2, этот подход двухэтапного синтаксического анализа обеспечивает построение лучшей синтаксической структуры 246 исходного предложения, выбранной из одной или нескольких синтаксических структур. Фиг.3 иллюстрирует схему лучшей синтаксической структуры, полученной в результате синтаксического анализа предложения "This boy is smart, he'll succeed in life." Подход двухэтапного анализа следует принципу целостного и целенаправленного распознавания, то есть гипотезы о структуре части предложения проверяются с помощью доступных лингвистических описаний в рамках структуры всего предложения. При этом подходе отсутствует необходимость анализировать множество тупиковых вариантов разбора. В большинстве случаях такой подход позволяет существенно сократить количество вычислительных ресурсов, необходимых для анализа предложения.
Предложенные методы анализа обеспечивают достижение максимальной точности понимания смысла предложения. Фиг.4 иллюстрирует схему семантической структуры, полученной в результате анализа предложения "This boy is smart, he'll succeed in life." Эта структура содержит всю синтаксическую и семантическую информацию, такую как семантические классы, семантемы (которые не показаны на рисунке), семантические отношения (глубинные позиции), недревесные связи и т.д.
Независимая от языка семантическая структура предложения представляется в виде ациклического графа (дерева, дополненного недревесными связями), где каждое слово определенного языка заменено универсальными (независимыми от языка) семантическими сущностями, называемыми здесь семантическими классами. Семантический класс - одна из самых важных семантических характеристик, которая может быть извлечена и использована для решения задач семантического поиска, классификации, кластеризации и фильтрации документов, написанных на одном или нескольких языках. Кроме того, информацию в независимых от языка структурах могут быть использованы семантемы, отражающие не только семантическую, но и синтаксическую, грамматическую и пр. зависимую от языка информацию.
Семантические классы могут быть упорядочены в семантическую иерархию, где "дочерний" семантический класс и его "потомки" наследуют значительную часть свойств "родительского" и всех предшествующих семантических классов ("предков"). Например, семантический класс SUBSTANCE (вещество) является дочерним классом достаточно широкого класса ENTITY (сущность), и в то же время он является "родителем" для семантических классов GAS (газ), LIQUID (жидкость), METAL (металл), WOOD_MATERIAL (дерево как материал), и т.д. Каждый семантический класс в семантической иерархии снабжен глубинной (семантической) моделью. Глубинная модель представляет собой множество глубинных позиций (типов семантических отношений в предложениях). Глубинные позиции отражают семантические роли дочерних составляющих (структурных единиц предложения) в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей и возможные семантические классы в качестве заполнителей позиций. Эти глубинные позиции выражают семантические отношения между составляющими, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "яиапгку"(количество), и т.д. Дочерний класс наследует и подстраивает глубинную модель родительского класса.
Фиг.5A-5D иллюстрируют фрагмент семантической иерархии, согласно одной или нескольким реализациям данного изобретения. Семантическая иерархия устроена таким образом, что более общие понятия находятся на верхних уровнях иерархии. Например, в случае документов, типы которых проиллюстрированы Фиг.5B и Фиг.5C, семантические классы - PRTNTED_MATTER (печатное издание, 502), SCIENTIFIC_AND_LITERARY_WORK (научные труды и литература, 504), TEXT_AS_PART_OF_CREATIVE_WORK (творческие тексты, 505) и другие являются потомками класса TEXT_OBJECTS_AND_DOCUMENTS (текстовые объекты и документы, 501), а класс PRINTED_MATTER (печатное издание, 502), в свою очередь, является родительским для семантического класса EDITION_AS_TEXT (издание как текста, 503), содержащего классы PERIODICAL (периодические издания) и NONPERIODICAL (непериодические издания), где PERIODICAL (периодические издания) - родительский класс для классов ISSUE (выпуск), MAGAZINE (журнал), NEWSPAPER (газета) и т.д. Подход к делению на классы может отличаться. Данное изобретение в первую очередь основано на использовании понятий, не зависящих от языка.
Фиг.6 представляет собой схему, иллюстрирующую языковые описания 610, согласно одной из возможных реализаций изобретения. Языковые описания 610 включают морфологические описания 101, синтаксические описания 102, лексические описания, 103 и семантические описания 104. Языковые описания 610 объединены в общее понятие. Фиг.7 представляет собой схему, иллюстрирующую морфологические описания, согласно одной из возможных реализаций изобретения. Фиг.8 иллюстрирует синтаксические описания, согласно одной из возможных реализаций изобретения. Фиг.9 иллюстрирует семантические описания, согласно одной из возможных реализаций изобретения.
Ссылаясь на Фиг.6 и Фиг.9, являясь частью семантических описаний 104, семантическая иерархия 910 является характеристикой языковых описаний 610, которая объединяет независимые от языка семантические описания 104 и зависимые от языка лексические описания 103, как отмечено двойной стрелкой 623, и морфологические описания 101 и синтаксические описания 102, как отмечено двойной стрелкой 624. Семантическая иерархия может быть создана единовременно, а затем может быть заполнена для каждого определенного языка. Семантический класс в определенном языке включает лексические значения с соответствующими моделями. Семантические описания 104 не зависят от языка. Семантические описания 104 могут содержать описания глубинных составляющих и могут содержать семантическую иерархию, описания глубинных позиций, систему семантем и прагматических описаний.
Ссылаясь на Фиг.6, в одной из возможных реализаций изобретения морфологические описания 101, лексические описания 103, синтаксические описания 102 и семантические описания 104 связаны. Лексическое значение может иметь несколько поверхностных (синтаксических) моделей, обусловленных семантемами и прагматическими характеристиками. Синтаксические описания 102 и семантические описания 104 также связаны. Например, диатеза синтаксических описаний 102 может рассматриваться как "интерфейс" между зависимыми от языка поверхностными моделями и независимыми от языка глубинными моделями семантического описания 104.
Фиг.7 иллюстрирует пример морфологических описаний 101. Как показано, составляющие морфологических описаний 101 включают, но не ограничиваются описаниями словоизменения 710, грамматической системой (граммемами) 720, и описаниями словообразования 730. В одной из возможных реализаций изобретения грамматическая система 720 включает набор грамматических категорий, таких как «Часть речи», «Падеж», «Род», «Число», «Лицо», «Возвратность», «Время», «Вид» и их значения, здесь и далее называемые граммемами. Например, граммемы, означающие части речи, могут включать прилагательное, существительное, глагол и т.д.; граммемы падежа могут включать «Именительный», «Родительный», «Дательный» и т.д.; граммемы рода могут включать «Мужской», «Женский», «Средний» и т.д. Ссылаясь на Фиг.7, описания словоизменения 710 описывают, как начальная форма слова может изменяться в зависимости от падежа, рода, числа, времени и т.д. и включают в широком смысле все возможные формы данного слова. Описания словообразования 730 описывают, какие новые слова могут быть построены с использованием данного слова. Граммемы - единицы грамматической системы 720 и, как показывает ссылка 722 и ссылка 724, граммемы могут быть использованы для построения описаний словоизменения 710 и описаний словообразования 730.
Фиг.8 иллюстрирует синтаксические описания 102. Компоненты синтаксических описаний 102 могут содержать поверхностные модели 810, описания поверхностных позиций 820, описания референциального и структурного управления 856, описания управления и согласования 840, недревесные описания 850 и правила анализа 860. Синтаксические описания 302 используются для построения возможных синтаксических структур предложения для данного исходного языка, учитывая порядок слов, недревесные синтаксические явления (например, согласование, эллипсис и т.д.), референциальный контроль (управление) и другие явления.
Фиг.9 иллюстрирует семантические описания 104 согласно одной из возможных реализаций изобретения. В то время как поверхностные позиции 820 отражают синтаксические отношения и способы их реализации в конкретном языке, глубинные позиции 914 отражают семантические роли дочерних (зависимых) составляющих в глубинных моделях 912. Потому описания поверхностных позиций, и шире - поверхностные модели, могут быть специфичными для каждого конкретного языка. Описания глубинных моделей 920 содержат грамматические и семантические ограничения для заполнителей этих позиций. Свойства и ограничения глубинных позиций 914 и их заполнители в глубинных моделях 912 очень похожи и часто идентичны для различных языков.
Система семантем 930 представляет множество семантических категорий. Семантемы могут отражать лексические, грамматические свойства и атрибуты, а также дифференциальные свойства и стилистические, прагматические и коммуникативные характеристики. Для примера, семантическая категория "DegreeOfComparison" (степень сравнения) может быть использована для описания степеней сравнения, выраженных разными формами прилагательных, например, "easy", "easier" and "easiest". Так, семантическая категория "DegreeOfComparison" может включать семантемы, например "Positive", "ComparativeHigherDegree", "SuperlativeHighestDegree". В качестве другого примера, семантическая категория "RelationToReferencePoint" может быть использована для описания того, в каком линейном порядке - до или после объекта или события находится в предложении ссылка на него, и ее семантемами являются "Previous", "Subsequent". Еще один пример - семантическая категория "EvaluationObjective" может фиксировать наличие объективной оценки, такой как "Bad", "Good" и т.д. Лексические семантемы могут описывать специфические свойства объектов, например "быть плоским" ("being flat") или "быть жидким" ("being liquid") и используются в ограничениях на заполнители глубинных позиций. Классифицирующие дифференциальные семантемы используются для выражения дифференциальных свойств внутри одного семантического класса. Например, в английском языке "парикмахер" для мужчин переводится как "barber", и ему в семантическом классе "HAIRDRESSER" будет приписана семантема "RelatedToMen", в то время как в том же семантическом классе есть "hairdresser" и "hairstylist" и др.
Прагматические описания 940 служат для того, чтобы в процессе анализа текста фиксировать соответствующую тему, стиль или жанр текста, а также возможно приписать соответствующие характеристики объектам семантической иерархии. Например, "Economic Policy", "Foreign Policy", "Justice", "Legislation", "Trade", "Finance", etc.
Фиг.10 является схемой, иллюстрирующей лексические описания 103, согласно одной или нескольким реализациям данного изобретения. Лексические описания 103 включают лексико-семантический словарь 1004, который включает в себя набор лексических значений 1012, образующих вместе со своими семантическими классами семантическую иерархию, где каждое лексическое значение может включать, но не ограничивается своей глубинной моделью 912, поверхностной моделью 810, грамматическим значением 1008 и семантическим значением 1010. Лексическое значение может объединять различные дериваты (например, слова, выражения, фразы), выражающие смысл с помощью различных частей речи, различных форм слова, однокоренных слов и пр. В свою очередь, семантический класс объединяет лексические значения близких по смыслу слов и выражений на разных языках.
Любой параметр языкового описания 610 - лексические значения, семантические классы, граммемы, семантемы и многое другое извлекается во время исчерпывающего анализа текста, и любой параметр может быть проиндексирован (создан индекс характеристики). Индексация семантических классов востребована во многих задачах, связанных с анализом текстов на естественном языке, таких как семантический поиск, классификация, кластеризация, фильтрация текстов и многие другие. Индексация лексических значений (в отличие от индексации просто слов) позволяет искать не просто слова или словоформы, но лексические значения, т.е. слова в определенном смысловом значении. Синтаксические структуры и семантические структуры также могут индексироваться и сохраняться для использования в семантическом поиске, классификации, кластеризации и фильтрации документов.
Возвращаясь к Фиг.1, после того как построены универсальная семантическая структура для каждого предложения каждого текста в корпусе текстов, синтаксические и семантические структуры индексируются. Индексируются лексические значения как результат лексического выбора в каждой вершине семантической структуры, каждый параметр морфологических, синтаксических, лексических и семантических описаний может индексироваться таким же образом, как обычные слова. Индекс слов в документе обычно включает, по меньшей мере, одну таблицу, где каждое слово (лексема или словоформа), встретившееся в документе, сопровождается списком номеров или адресов позиций в этом документе. Согласно реализации данного изобретения, индекс строится для всех лексических значений, всех семантических классов, для любых значений морфологических, синтаксических, лексических и семантических параметров. Эти значения параметров генерируются в процессе двухступенчатого синтактико-семантического анализа, и полученные индексы могут быть использованы для достижения более высокой точности и релевантности семантического поиска в корпусах текстов на естественных языках. Например, пользователь может формулировать свой запрос с возможностью поиска предложений с существительными, имеющими свойство "being flat" или "being liquid" или предложений содержащих слова (существительные и/или глаголы), обозначающие какой-либо процесс, например, производства, разрушения, перемещения и т.п.
В одной из возможных реализаций способа изобретения, комбинация из двух, трех или, вообще говоря, N чисел может быть использована для индексирования различных синтаксических, семантических или других параметров. Например, чтобы индексировать поверхностные или глубинные позиции могут быть использованы комбинации из двух чисел - номеров слов, которые в тексте связаны отношением, соответствующим данной позиции. Например, для семантической структуры предложения "This boy is smart, he'll succeed in life", представленной на Фиг.4, глубинная позиция 'Sphere' (450) соотносит лексическое значение "succeed: TO_SUCCEED" (460) с лексическим значением "life:LIVE (470)". Более конкретно, лексическое значение "life:LIVE" заполняет глубинную 'Sphere' глагола "succeed:TO_SUCCEED". Когда строится индекс лексических значений, в соответствии с методом данного изобретения, вхождениям данных лексических значений присваиваются номера в соответствии с их положением в тексте, например, N1 и N2. Когда строится индекс глубинных позиций, каждой глубинной позиции ставится в соответствие список ее встречаемости в документе. Для примера, индекс глубинной позиции 'Sphere' будет, среди прочих, включать пару (N1, N2).
Т.к. индексируются не только слова, но их лексические значения, семантические классы, синтаксические и семантические отношения, любые другие элементы синтаксических и семантических структур, становится возможным искать контекст не только по ключевым словам, но также контекст, содержащий лексические значения, значения, принадлежащие определенным семантическим классам, контекст, включающий элементы с определенными синтаксическими и/или семантическими свойствами и/или морфологическими свойствами или наборами (комбинациями) таких свойств. Также, могут быть найдены предложения с недревесными синтаксическими явлениями, например, эллипсис, сочинение и др. Т.к. можно искать семантические классы, становится возможным искать семантически связанные слова и понятия.
Также, может осуществляться поиск фрагментов синтаксических и/или семантических структур. Результатом поиска могут быть предложения или абзацы, или другие фрагменты, в зависимости от выбора пользователем соответствующей опции. Т.к. все предложения в каждом корпусе анализируются, и затем сохраняются вместе с результатами их синтаксического и семантического анализа, синтаксические и семантические структуры могут быть предъявлены пользователю также и в графическом виде.
Наиболее распространенным том поиска в обычных поисковых системах является поиск по ключевым словам. Но возникает проблема, если одно или несколько ключевых слов являются многозначными, например, в английском языке "bank" может означать 1) финансовое учреждение, банк; 2) хранилище, репозиторий; 3) берег реки или озера. Есть и другие, менее частотные значения "bank". В таком случае, в ответ на запрос по такому ключевому слову пользователь получает множество ненужных ему результатов, т.к. у пользователя нет возможности сообщить поисковой системе, какое именно из возможных значений его интересует. Например, большинство найденных результатов обычного поиска по ключевому слову "apple" относятся к названию компьютерной корпорации, поскольку она гораздо чаще встречается в интернет ресурсах, и практически невозможно найти документы с упоминанием "apple" как фрукт (они окажутся на самых дальних страницах) без добавления дополнительных слов (например, "fruit") в запрос или исключения специальным образом компьютерного лексикона. В реализации данного изобретения пользователь может для ключевого слова указать одно из возможных лексических значений. Например, на Фиг.11A показан интерфейс пользователя поисковой системы, содержащий окно запроса 1101 и кнопку "Найти" 1102, и кроме того, показано всплывающее окно 1103 со списком лексических значений слова "центр", которые показываются пользователю для выбора подходящего значения при наведении курсора на слово. Пользователь может увидеть, что слово "центр" имеет несколько значений, находящихся в разных семантических классах, и для выбора релевантного в поле запроса требуется на нужном кликнуть кнопкой мыши. Существуют разные способы специфицировать лексическое значение, например, при помощи указания семантического класса. Другой способ состоит в снабжении каждого лексического значения толкованием, по типу статьи в толковом словаре, как показано на Фиг.11A, или указание наиболее близких к данному значению синонимов.
Пользователь может выбрать любое возможное лексическое значение слова для поиска, это значение становится выбранным и помечается, например, как показано на Фиг.11B. Если запрос включает несколько слов, для любого из них или для всех могут быть указаны лексические значения из соответствующих семантических классов.
Независимо от того, специфицирует ли пользователь слова запроса, пользователь может в найденном фрагменте, например, по клику на правую кнопку мыши, увидеть, в каком лексическом значении встречается слово в найденном фрагменте, его семантический класс, а также некоторые другие параметры, например, синонимы, синтаксическую модель, сочетаемость, примеры словосочетаний с данным словом и т.д. Пример такого запроса показан на Фиг.11C.
Используя для поиска ключевые слова в обычных поисковых системах, пользователь явно или неявно может использовать булевские операторы, такие как AND(и), OR(или) и NOT(не) для создания своего запроса. Однако он не может выбрать, в каком лексическом значении следует искать заданное слово. Метод настоящего изобретения позволяет пользователю применять указанные булевские операторы AND(и), OR(или) и NOT(не) к лексическим значениям, т.е. ключевым словам, для которых указаны соответствующие семантические классы.
Порядок слов может быть существенен или нет в соответствии с выбранной пользователем опцией, предоставляемой пользователю в списке опций, например, 1104. Другая опция, выбираемая пользователем, позволяет ограничивать расстояние между объектами запроса. Например, пользователь может использовать оператор W/n для поиска документов, содержащих не более n слов между объектами запроса. В одной из реализаций пользователь может использовать его явно, в других - выбрать расстояние в качестве опции.
Дополнительная возможность, присущая семантическому поиску в отличие от обычного поиска по ключевым словам, состоит в поиске по синонимам. Синонимы - э то слова, имеющие тот же или очень близкий смысл. В семантической иерархии, где все синонимичные лексические значения, например, "food", "meal", "alimentary" находятся в одном семантическом классе и имеют те же или близкие семантические характеристики - семантемы. Тогда, если пользователь включает опцию "Искать синонимы" (1104), и хочет найти "food", то сначала определяется его лексическое значение, семантический класс, и как результат, могут быть найдены документы, где встречаются "meal" или "alimentary" или, возможно, другие наиболее репрезентативные представители семантического класса FOOD. В таких случаях, результаты поиска могут быть более или менее релевантны, более или менее близки к искомому результату. Может быть введена мера релевантности, например, основанная на оценке "близости" лексического значения из запроса к найденному синониму, и, принимая во внимание контекст, порядок слов и другие факторы, она может быть распространена на предложение, фрагмент и т.п.
Еще один способ специфицировать лексические значения слов, участвующих в запросе, в случае, если запрос представлен связной фразой или предложением - его полный синтаксический и семантический анализ. Многие слова в языке имеют несколько различающихся смыслов, значений. Некоторые слова в запросе тоже могут иметь различные смыслы, выражаемые в различных лексических значениях. Чтобы определить, в каком именно лексическом значении следует искать слово, представленное в запросе, выполняют полный синтаксический и семантический анализ запроса, представленного предложением или словосочетанием, чтобы определить лексические значения слов, составляющих запрос. Исчерпывающий синтаксический анализ включает грубый и точный анализ. Во время грубого анализа определяются все потенциально возможные значения для каждого слова, во время точного анализа, основываясь на лингвистических описаниях, правилах языка, сочетаемости, на анализе контекста, статистике и др. факторах, выбираются наиболее релевантные лексические значения. Таким образом, как результат лексического выбора во время точного анализа, для каждого слова в запросе пользователя определяется его семантический класс. Фиг.11D иллюстрирует пример интерфейса с запросом пользователя в форме фразы, где пользователь может проверить, в каком именно лексическом значении слова будет искаться в документах корпуса текстов. Найденные документы могут содержать все (или большинство) слов запроса в выбранных значениях. Порядок слов может быть существенен или нет в соответствии с выбранной пользователем опцией. В одной из реализаций порядок слов может быть обязательным по умолчанию. Поисковая система также может искать документы с произвольным порядком слов запроса, а также с указанием максимальной дистанции между ними, но в таком случае оценка релевантности для найденного документа может быть ниже. В другой реализации пользователю предоставляется выбор опции поиска - принимать во внимание порядок слов или нет.
На Фиг.12A-12C показаны примеры пользовательских запросов, сформулированных в виде вопросов на естественном языке. На Фиг.12A показан пример запроса, отвечающего на вопрос "What countries were discovered?" (Какие страны были открыты?). Запрос на естественном языке анализируется тем же анализатором, что и тексты корпуса, и транслируется в семантический запрос. В окне запроса 1210 показан запрос на естественном языке, а в терминах семантических классов и отношений он выглядит, например, как "discover [Object:"COUNTRY"]", и означает, что система семантического поиска ищет предложения с английским глаголом "discover" и объектом, принадлежащим семантическому классу COUNTRY. Результаты поиска показаны в окне 1220.
Другой пример семантического запроса показан на Фиг.12B, он отвечает на вопрос "What can be made from milk?" (Что можно приготовить из молока?). Он также сформулирован на естественном языке и транслируется в семантический запрос "CREATION_VERBS [Object:<Noun>, Fabricative: milk]", где "CREATION_VERBS" - семантический класс глаголов, обозначающих процесс создания, таких "to make" (делать), "to produce" (производить), "to manufacture" (изготовлять), "to confect" (изготовлять) и др. Любой из этих глаголов, принадлежащих семантическому классу "CREATION_VERBS" может быть найден в текстах корпуса. "Fabricative" означает глубинную (семантическую) позицию "raw material" (сырье), из которого что-то производят, сырьем в данном запросе является "milk" (молоко). Таким образом, результатом должно быть существительное (<Noun>), заполняющее семантическую позицию "Object" (Объект) в предложении. Результаты поиска показаны в окне 1220.
Еще один пример запроса к системе семантического поиска показан на Фиг.12C. Содержательно, запрос означает "What do the people collect?" (Что коллекционируют люди?). В терминах семантического запроса, показанный в окне 1310 запрос выглядит так: "collect[$Subject:people, $Object_Direct:<Noun>]". Система семантического поиска ищет предложения с глаголом "collect" (коллекционировать) и словом "реор1е"(люди), которое заполняет поверхностную позицию "Subject". Целью поиска являются существительные (noun или nouns) в роли прямого объекта глагола "collect". Результаты поиска показаны в окне 1220. В одной из реализаций изобретения, все морфологические формы слов, указанных в запросе, принимаются во внимание, и все морфологические формы могут быть найдены. Ограничения на морфологические формы могут включаться в запрос в виде ограничений на грамматические значения, и могут быть показаны, например, в угловых скобках <>. Индекс, полученный в соответствии с данными методами, является составной частью системы семантического поиска.
Различные реализации настоящего изобретения также включают способ семантического поиска, при котором пользователь может формулировать свой вопрос на естественном языке. Тот же анализатор, который используется для синтактико-семантического анализа корпуса текстов, применяется для синтактико-семантического анализа вопроса пользователя, распознается его синтаксическая структура, строится независимая от языка семантическая структура, и таким образом достигается "распознавание" системой смысла предложения. Построенная семантическая структура затем транслируется язык запросов поисковой системы. Например, упомянутые вопросы "What coun tries were discovered?" или "What can be made from milk?" изначально сформулированы пользователем на естественном языке, проанализированы анализатором, и транслированы в семантический запрос. Если запрос формулируется в виде вопросительного предложения, то в результате анализа строится структура предложения, которое может являться потенциальным ответом на заданный вопрос, в этом случае она содержит "лакуны.
Метод настоящего изобретения позволяет создавать индексы синтаксических и семантических структур, хранимых в виде дерева или графа. Искомые структуры описываются в поисковом запросе при помощи одного или более искомых параметров. Один или более параметров могут быть не определены, могут быть заданы при помощи переменных, могут быть заданы как диапазон возможных значений этих переменных. Другими словами, запрос для поиска может быть представлен предложением на естественном языке с "лакунами". Лакуны могут покрываться или включать как отдельные слова, так и словосочетания, фразы, группы слов, образующие связанную составляющую (конституенту), вложенное (придаточное) предложение и т.п. Результатом запроса и поиска являются варианты заполнения этих лакун в текстах, имеющихся в размеченном корпусе текстов. Для показа пользователю они могут быть отсортированы по частоте встречаемости.
Фиг.13 демонстрирует один пример запроса, использующего переменную для обозначения лакуны в искомом предложении. Запрос
[$Subject: […[people]]] think
демонстрирует возможность поиска предложений определенной структуры. В данной реализации переменная, например, [$Subject: […[people]]] используется для описания искомого предложения, включающего именную группу с ядром "people", заполняющую синтаксическую (поверхностную) позицию "Subject" и глагол "think" в любой форме.
Метод делает возможным поиск широкого спектра сущностей, таких как отношения, недревесные связи, лексические классы, семантические классы и т.д. Эти сущности - слова и словосочетания могут быть найдены по грамматическим признакам, лексическим свойствам, синтаксическим и/или семантическим свойствам. Клозы (предложения) могут быть найдены по любым - лексическим, синтаксическим, семантическим признакам.
Используя методы настоящего изобретения, могут быть реализованы очень специфичные типы поиска. Например, можно искать по свойствам узлов синтаксической или семантической структуры - грамматические значения, по суперклассу (классу со всеми потомками), по семантемам (например, "время" безотносительно к форме выражения). Другая возможность поиска состоит в поиске отношений по свойствам. Например, возможен поиск поверхностных или глубинных позиций с проверкой (или без проверки) наследования, анафорических связей, или любого количества узлов с указанными свойствами. Дополнительно, возможно извлечение значений этих признаков в найденных результатах.
Существенно, что поскольку поисковый запрос может транслироваться в семантическую, независимую от конкретного языка форму, поиск может быть выполнен в текстах на разных языках, на ресурсах, включающих корпуса разных языков. Таким образом, пользователь может получать информацию, представленную на всех ресурсах, независимо от языка запроса. Результат поиска может быть предъявлен пользователю на языке ресурса (как он представлен в оригинале) или результат поиска может быть транслирован на язык запроса при помощи системы машинного перевода.
В некоторой реализации, для поиска могут быть использованы не только один или более индексов, но и формальные модели, представляющие знания об одной или более предметных областях. Например, онтологии могут использоваться как модели областей. Онтология может включать, среди прочего, множества понятий и сущностей, относящихся к предметной области и отношений между ними. Они используются для моделирования предметной области и логического вывода.
Фиг.14 представляет блок-схему действий поисковой системы при выполнении семантического поиска в размеченном, т.е. подвергнутом исчерпывающему семантико-синтаксическому анализу, корпусе текстов. Запрос на поиск 1410 подвергается исчерпывающему семантико-синтаксическому анализу, аналогично тому, как это делается для каждого предложения корпуса текстов согласно этапам 106 и 107, метода, представленного на Фиг.1. Так, семантико-синтаксический анализ запроса включает лексический анализ с использованием морфологических 101 и лексических 103 описаний, затем производится синтаксический анализ с использованием синтаксических 102 и семантических 104 описаний, в ходе которого, в частности, генерируются все потенциально возможные лексические значения слов, образующих предложение или словосочетание и все потенциально возможные отношений между ними. В результате выбирается наиболее вероятная синтаксическая структура, фиксируются лексические значения и соответствующие и семантические классы всех элементов предложения.
Строится семантическая структура запроса, которая, наряду с синтаксической структурой предложения может использоваться для формальных заключений с использованием данных, хранящихся в онтологиях 1480. Например, на вопрос "Кто выиграл на римскую Олимпиаду в фехтовании?" должно быть найдено, в частности, предложение "Петров стал Олимпийским чемпионом в фехтовании в 1960 году". Унификация семантических структур производится с помощью трансформационных правил, правил онтологии и сопоставления данных онтологии о том, что "римская Олимпиада была в 1960 году", "в 1960 году Олимпиада проводилась в Риме", "римская Олимпиада" = "Олимпиада в Риме", "выиграть Олимпиаду" = "стать Олимпийским чемпионом". А также, " Олимпиада в Риме" = "летние Олимпийские игры 1960 года".
Онтология может включать описание, например, сущностей, классов (концептов, понятий), атрибутов, отношений и онтофактов. Например, сущности являются экземплярами или объектами классов, которые представляют собой базовый уровень понятий (объектов). Также, классы могут представлять множества, коллекции, концепты, классы в программировании, типы объектов, виды (сорта) вещей и т.п. Примерами классов могут быть Person (персоны), Geographical Object (географические объекты), Company (компании), Organization (организации), Numerical Value (численные значения) и т.д.
Атрибуты выражают, аспекты, свойства, признаки, характеристики или параметры, которые могут иметь объекты или классы. Отношения есть способ выражения отношений сущностей и классов друг к другу и между собой. Некоторые из событий могут вызывать изменение атрибутов или отношений. Онтологии кодируются с использованием специальных языков онтологии.
Упомянутые объекты онтологии - сущности, классы (концепты), атрибуты, отношения, онтофакты могут быть включены в поисковый запрос. Могут быть использованы разные способы для спецификации слов, включенных в запрос, как онтологических объектов. Например, в запросе "Dakota" может означать, по меньшей мере, локацию, персону или организацию. В одной реализации, такие объекты могут быть помечены явно, например, "Dakota%person". В другой реализации, если включена опция "Искать в онтологии", пользователь может увидеть меню для выбора типа онтологического объекта, как показано, например, на Фиг.14A. В еще одной реализации, тип онтологического объекта может быть определен автоматически. Например, на основе анализа запроса, прагматического или контекстного анализа предыдущих запросов, темы корпуса, выбранного для поиска, информации о пользователе и т.д. Например, для запроса "(apple OR НТС) AND NOT litigation" система может проанализировать тематику слов в запросе и сделать вывод, что, с большей вероятностью, для "apple" следует выбрать соответствующее лексическое значение в семантическом классе APPLE_COMPUTER_FIRM, нежели в классах "FRUIT" или "FRUIT_TREE", а если включена опция "Искать в онтологии", то система автоматически выберет тип объекта - Company и пользователь сможет увидеть информацию из онтологии, имеющую отношение к компании Apple. В случае неоднозначности, пользователю может быть задано один-два вопроса для уточнения типа объекта.
Теперь, учитывая варианты искомых семантических и синтаксических структур и данные полученные из онтологии 1480, системой может быть составлен исчерпывающий семантический запрос к индексам 1460 соответствующего корпуса текстов 1470. Поскольку смысл (семантика) исходного вопроса зафиксирован, системой в процессе поиска 1440 ищутся лексические значения и семантические структуры предложений, содержащих ответ на искомый вопрос с учетом возможных вариантов формулировки вопроса и различных синтаксических и лексических вариантов ответа. Также, поиск производится с учетом анафорических и других референциальных связей между предложениями, устанавливаемых при построении семантических структур анализируемых предложений на этапе 107 (Фиг.1A), так что система находит фрагменты текста, где объект поиска выражен неявно, при помощи отсылок, как-то личные, указательные, относительные местоимения, референтные именные группы, нулевые группы, замещения и т.п.
Каждый найденный фрагмент текста может быть формально оценен 1450 по степени релевантности запросу. В частности, в одной из реализаций изобретения, оценка релевантности 1450 учитывает индексирование лексических значений с вероятностью при построении индекса 109, как это было описано при описании этапа 108, изображенного на Фиг.1. Таким образом, результаты поиска 1490 могут быть ранжированы по релевантности и показаны пользователю в соответствующем порядке.
На Фиг.15 приведен возможный пример вычислительного средства 1500, которое может быть использовано для внедрения настоящего изобретения, осуществленного так, как было описано выше. Вычислительное средство 1500 включает в себя, по крайней мере, один процессор 1502, соединенный с памятью 1504. Процессор 1502 может представлять собой один или более процессоров, может содержать одно, два или более вычислительных ядер. Память 1504 может представлять собой оперативную память (ОЗУ), а также содержать любые другие типы и виды памяти, в частности, устройства энергонезависимой памяти (например, флэш-накопители) и постоянные запоминающие устройства, например, жесткие диски и т.д. Кроме того, может считаться, что память 1504 включает в себя аппаратные средства хранения информации, физически размещенные где-либо еще в составе вычислительного средства 1500, например, кэш-память в процессоре 1502, память, используемую в качестве виртуальной и хранимую на внешнем либо внутреннем постоянном запоминающем устройстве 1510.
Вычислительное средство 1500 также обычно имеет некоторое количество входов и выходов для передачи информации вовне и получения информации извне. Для взаимодействия с пользователем вычислительное средство 1500 может содержать одно или более устройств ввода (например, клавиатура, мышь, сканер и т.д.) и устройство отображения 1508 (например, жидкокристаллический дисплей). Вычислительное средство 1500 также может иметь одно или более постоянных запоминающих устройств 1510, например, привод оптических дисков (CD, DVD или другой), жесткий диск, ленточный накопитель. Кроме того, вычислительное средство 1500 может иметь интерфейс с одной или более сетями 1512, обеспечивающими соединение с другими сетями и вычислительными устройствами. В частности, это может быть локальная сеть (LAN), беспроводная сеть Wi-Fi, соединенные со всемирной сетью Интернет или нет. Подразумевается, что вычислительное средство 1500 включает подходящие аналоговые и/или цифровые интерфейсы между процессором 1502 и каждым из компонентов 1504, 1506, 1508, 1510 и 1512.
Вычислительное средство 1500 работает под управлением операционной системы 1514 и выполняет различные приложения, компоненты, программы, объекты, модули и т.д., указанные обобщенно цифрой 1516.
Вообще программы, исполняемые для реализации способов, соответствующих данному изобретению, могут являться частью операционной системы или представлять собой обособленное приложение, компоненту, программу, динамическую библиотеку, модуль, скрипт, либо их комбинацию.
Настоящее описание излагает основной изобретательский замысел авторов, который не может быть ограничен теми аппаратными устройствами, которые упоминались ранее. Следует отметить, что аппаратные устройства, прежде всего, предназначены для решения узкой задачи. С течением времени и с развитием технического прогресса такая задача усложняется или эволюционирует. Появляются новые средства, которые способны выполнить новые требования. В этом смысле следует рассматривать данные аппаратные устройства с точки зрения класса решаемых ими технических задач, а не чисто технической реализации на некой элементной базе.
Claims (40)
1. Способ организации поиска в корпусах электронных текстов для компьютерной системы, заключающийся в том, что, по меньшей мере, один раз производят следующую последовательность действий:
- предварительно осуществляют семантико-синтаксический анализ корпуса текстов с определением значений лингвистических параметров предложений, включая сопоставление, по крайней мере, одному слову предложения некоторого множества возможных лексических значений - каждое с соответствующей оценкой вероятности вхождения этого лексического значения в предложение, их сохранением в памяти и построением семантических структур предложений, составляющих тексты корпуса текстов, и их последующим индексированием и сохранением индексов,
- осуществляют поиск фрагментов в предварительно проиндексированных корпусах электронных текстов, удовлетворяющих запросу,
- производят оценку релевантности результатов,
- ранжируют результаты поиска в соответствии со степенью релевантности.
- предварительно осуществляют семантико-синтаксический анализ корпуса текстов с определением значений лингвистических параметров предложений, включая сопоставление, по крайней мере, одному слову предложения некоторого множества возможных лексических значений - каждое с соответствующей оценкой вероятности вхождения этого лексического значения в предложение, их сохранением в памяти и построением семантических структур предложений, составляющих тексты корпуса текстов, и их последующим индексированием и сохранением индексов,
- осуществляют поиск фрагментов в предварительно проиндексированных корпусах электронных текстов, удовлетворяющих запросу,
- производят оценку релевантности результатов,
- ранжируют результаты поиска в соответствии со степенью релевантности.
2. Способ по п. 1, где семантико-синтаксический анализ корпуса текстов для каждого предложения корпуса текстов включает:
- генерацию всех потенциальных связей между элементами предложения и их сохранение в памяти,
- построение графа обобщенных составляющих,
- генерацию из графа обобщенных составляющих, по крайней мере, одного синтаксического дерева,
- установление недревесных связей и построение на основе синтаксического дерева синтаксической структуры предложения и ее сохранение в памяти,
- генерацию универсальной семантической структуры предложения на основе его синтаксической структуры и ее сохранение в памяти.
- генерацию всех потенциальных связей между элементами предложения и их сохранение в памяти,
- построение графа обобщенных составляющих,
- генерацию из графа обобщенных составляющих, по крайней мере, одного синтаксического дерева,
- установление недревесных связей и построение на основе синтаксического дерева синтаксической структуры предложения и ее сохранение в памяти,
- генерацию универсальной семантической структуры предложения на основе его синтаксической структуры и ее сохранение в памяти.
3. Способ по п. 1, где семантико-синтаксический анализ корпуса текстов дополнительно включает выбор лучшей синтаксической структуры предложения.
4. Способ по п. 3, где выбор лучшей синтаксической структуры предложения включает лексический выбор, который производится с учетом наиболее вероятного лексического значения, по крайней мере, одного слова из множества возможных лексических значений этого слова на основе априорных и вычисляемых интегральных оценок.
5. Способ по п. 1, где семантико-синтаксический анализ корпуса текстов включает определение и извлечение значений морфологических, лексических, синтаксических и семантических параметров элементов корпуса текстов.
6. Способ по п. 1, где семантико-синтаксический анализ корпуса текстов дополнительно включает атрибутирование элементов корпуса текстов понятиями модели предметной области (онтологии).
7. Способ по п. 1, где семантико-синтаксический анализ корпуса текстов дополнительно включает восстановление референциальных связей между предложениями.
8. Способ по п. 1, где индексирование заключается в построении индекса лексических значений и записи его в память системы.
9. Способ по п. 1, где индексирование заключается в построении индекса значений, по крайней мере, одного лингвистического параметра и записи его в память системы.
10. Способ по п. 1, где индексирование заключается в построении индекса синтаксических структур и записи его в память системы.
11. Способ по п. 1, где индексирование заключается в построении индекса семантических структур и записи его в память системы.
12. Способ по п. 1, где элементами запроса являются лексические значения.
13. Способ по п. 12, где запрос представляет собой комбинацию лексических значений с помощью булевских операторов "И", "ИЛИ", "НЕ".
14. Способ по п. 12 или 13, где лексические значения элементов запроса выбираются пользователем посредством выбора соответствующего семантического класса из списка возможных семантических классов.
15. Способ по п. 12 или 13, где лексические значения элементов запроса выбираются пользователем посредством выбора соответствующего толкования из списка возможных толкований.
16. Способ по п. 12, где лексические значения элементов запроса определяются автоматически с учетом вероятностных оценок.
17. Способ по п. 12, где лексические значения элементов запроса определяются автоматически на основе прагматического и контекстного анализа.
18. Способ по п. 12, где для определения лексических значений элементов запроса производят семантико-синтаксический разбор запроса, включающий, по крайней мере, синтаксический анализ, фиксацию лексических значений элементов запроса, распознавание семантической структуры запроса.
19. Способ по п. 1, где элементом запроса является синтаксическая структура.
20. Способ по п. 1, где элементом запроса является семантическая структура.
21. Способ по п. 1, где запрос формулируется в виде предложения на естественном языке.
22. Способ по п. 21, где запрос формулируется в виде вопросительного предложения на естественном языке.
23. Способ по п. 21, где запрос в виде предложения на естественном языке содержит переменную (лакуну).
24. Способ по п. 1, где элемент запроса атрибутируется понятием модели предметной области (онтологии).
25. Способ по п. 24, где атрибуция элемента запроса понятием модели предметной области (онтологии) выполняется автоматически.
26. Способ по п. 1, где поиск выполняется с учетом восстановленных референциальных связей между предложениями.
27. Способ по п. 1, где поиск включает также поиск лексических значений, близких по значению к элементам запроса.
28. Способ по п. 1, где поиск состоит в нахождении идентичных запрашиваемым или похожих синтаксических структур.
29. Способ по п. 1, где поиск состоит в нахождении идентичных запрашиваемым или похожих семантических структур.
30. Способ по п. 1, где оценка релевантности каждого найденного фрагмента производится с учетом "меры схожести" каждого элемента запроса с соответствующим элементом в найденном фрагменте.
31. Способ по п. 1, где оценка релевантности каждого найденного фрагмента производится с учетом вероятности искомого лексического значения в данном фрагменте, определенной при лексическом выборе в процессе предварительного анализа корпуса текстов.
32. Способ по п. 1, где результаты поиска содержат информацию о лексических значениях элементов запроса в тексте найденных фрагментов.
33. Система организации поиска в корпусах электронных текстов, включающая:
- один или более процессоров;
- одно или более устройств памяти;
- программные инструкции для вычислительного устройства, записанные в одно или более устройств памяти, которые при выполнении на одном или более процессорах управляют системой для:
- предварительного осуществления семантико-синтаксического анализа корпуса текстов с определением значений лингвистических параметров предложений, включая сопоставление, по крайней мере, одному слову предложения некоторого множества возможных лексических значений - каждое с соответствующей оценкой вероятности вхождения этого лексического значения в предложение, их сохранением в памяти и построением семантических структур предложений, составляющих тексты корпуса текстов, и их последующим индексированием и сохранением индексов,
- поиска фрагментов в предварительно проиндексированных корпусах электронных текстов, удовлетворяющих запросу,
- оценки релевантности результатов,
- ранжирования результатов поиска в соответствии со степенью релевантности.
- один или более процессоров;
- одно или более устройств памяти;
- программные инструкции для вычислительного устройства, записанные в одно или более устройств памяти, которые при выполнении на одном или более процессорах управляют системой для:
- предварительного осуществления семантико-синтаксического анализа корпуса текстов с определением значений лингвистических параметров предложений, включая сопоставление, по крайней мере, одному слову предложения некоторого множества возможных лексических значений - каждое с соответствующей оценкой вероятности вхождения этого лексического значения в предложение, их сохранением в памяти и построением семантических структур предложений, составляющих тексты корпуса текстов, и их последующим индексированием и сохранением индексов,
- поиска фрагментов в предварительно проиндексированных корпусах электронных текстов, удовлетворяющих запросу,
- оценки релевантности результатов,
- ранжирования результатов поиска в соответствии со степенью релевантности.
34. Система по п. 33, где семантико-синтаксический анализ корпуса текстов для каждого предложения корпуса текстов включает:
- генерацию всех потенциальных связей между элементами предложения и их сохранение в памяти,
- построение графа обобщенных составляющих,
- генерацию из графа обобщенных составляющих, по крайней мере, одного синтаксического дерева,
- установление недревесных связей и построение на основе синтаксического дерева синтаксической структуры предложения и ее сохранение в памяти,
- генерацию универсальной семантической структуры предложения на основе его синтаксической структуры и ее сохранение в памяти.
- генерацию всех потенциальных связей между элементами предложения и их сохранение в памяти,
- построение графа обобщенных составляющих,
- генерацию из графа обобщенных составляющих, по крайней мере, одного синтаксического дерева,
- установление недревесных связей и построение на основе синтаксического дерева синтаксической структуры предложения и ее сохранение в памяти,
- генерацию универсальной семантической структуры предложения на основе его синтаксической структуры и ее сохранение в памяти.
35. Система по п. 33, где семантико-синтаксический анализ корпуса текстов дополнительно включает выбор лучшей синтаксической структуры предложения.
36. Система по п. 33, где индексирование заключается в построении индекса лексических, и/или синтаксических, и/или семантических значений и записи его в память системы.
37. Система по п. 33, где элементами запроса являются лексические значения, и/или синтаксическая структура, и/или семантическая структура.
38. Система по п. 33, где запрос формулируется в виде предложения на естественном языке.
39. Система по п. 33, где элемент запроса атрибутируется понятием модели предметной области (онтологии).
40. Система по п. 33, где оценка релевантности каждого найденного фрагмента производится с учетом "меры схожести" и/или с учетом вероятности искомого лексического значения каждого элемента запроса с соответствующим элементом в найденном фрагменте.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2013132622/08A RU2563148C2 (ru) | 2013-07-15 | 2013-07-15 | Система и метод семантического поиска |
US14/142,701 US9645993B2 (en) | 2006-10-10 | 2013-12-27 | Method and system for semantic searching |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2013132622/08A RU2563148C2 (ru) | 2013-07-15 | 2013-07-15 | Система и метод семантического поиска |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2013132622A RU2013132622A (ru) | 2015-01-20 |
RU2563148C2 true RU2563148C2 (ru) | 2015-09-20 |
Family
ID=53280805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2013132622/08A RU2563148C2 (ru) | 2006-10-10 | 2013-07-15 | Система и метод семантического поиска |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2563148C2 (ru) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2635257C1 (ru) * | 2016-07-28 | 2017-11-09 | Общество с ограниченной ответственностью "Аби Продакшн" | Сентиментный анализ на уровне аспектов и создание отчетов с использованием методов машинного обучения |
RU2691836C1 (ru) * | 2018-06-07 | 2019-06-18 | Игорь Петрович Рогачев | Способ преобразования структурированного массива данных, содержащего основные лингво-логические объекты |
RU2823436C1 (ru) * | 2023-12-21 | 2024-07-23 | Федеральное государственное бюджетное учреждение науки Институт системного программирования им. В.П. Иванникова Российской академии наук | Система автоматического определения тематики текстовых документов на основе объяснимых методов искусственного интеллекта |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052340B (zh) * | 2020-08-10 | 2024-06-21 | 深圳数联天下智能科技有限公司 | 一种数据模型构建方法、装置以及电子设备 |
CN116910086B (zh) * | 2023-09-13 | 2023-12-01 | 北京理工大学 | 一种基于自注意力句法感知的数据库查询方法和*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2480822C2 (ru) * | 2007-08-31 | 2013-04-27 | Майкрософт Корпорейшн | Разрешение кореференции в чувствительной к неоднозначности системе обработки естественного языка |
-
2013
- 2013-07-15 RU RU2013132622/08A patent/RU2563148C2/ru active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2480822C2 (ru) * | 2007-08-31 | 2013-04-27 | Майкрософт Корпорейшн | Разрешение кореференции в чувствительной к неоднозначности системе обработки естественного языка |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2635257C1 (ru) * | 2016-07-28 | 2017-11-09 | Общество с ограниченной ответственностью "Аби Продакшн" | Сентиментный анализ на уровне аспектов и создание отчетов с использованием методов машинного обучения |
RU2691836C1 (ru) * | 2018-06-07 | 2019-06-18 | Игорь Петрович Рогачев | Способ преобразования структурированного массива данных, содержащего основные лингво-логические объекты |
RU2823436C1 (ru) * | 2023-12-21 | 2024-07-23 | Федеральное государственное бюджетное учреждение науки Институт системного программирования им. В.П. Иванникова Российской академии наук | Система автоматического определения тематики текстовых документов на основе объяснимых методов искусственного интеллекта |
Also Published As
Publication number | Publication date |
---|---|
RU2013132622A (ru) | 2015-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2564629C1 (ru) | Способ кластеризации результатов поиска в зависимости от семантики | |
US9645993B2 (en) | Method and system for semantic searching | |
US9626358B2 (en) | Creating ontologies by analyzing natural language texts | |
US9069750B2 (en) | Method and system for semantic searching of natural language texts | |
RU2596599C2 (ru) | Система и способ создания и использования пользовательских онтологических моделей для обработки пользовательского текста на естественном языке | |
RU2686000C1 (ru) | Извлечение информационных объектов с использованием комбинации классификаторов, анализирующих локальные и нелокальные признаки | |
US9098489B2 (en) | Method and system for semantic searching | |
US20160004766A1 (en) | Search technology using synonims and paraphrasing | |
RU2584457C1 (ru) | Система и способ создания и использования пользовательских семантических словарей для обработки пользовательского текста на естественном языке | |
RU2626555C2 (ru) | Извлечение сущностей из текстов на естественном языке | |
RU2607975C2 (ru) | Построение корпуса сравнимых документов на основе универсальной меры похожести | |
RU2592395C2 (ru) | Разрешение семантической неоднозначности при помощи статистического анализа | |
RU2579699C2 (ru) | Разрешение семантической неоднозначности при помощи не зависящей от языка семантической структуры | |
Mohamed et al. | A hybrid approach for paraphrase identification based on knowledge-enriched semantic heuristics | |
RU2639655C1 (ru) | Система для создания документов на основе анализа текста на естественном языке | |
US9075864B2 (en) | Method and system for semantic searching using syntactic and semantic analysis | |
CN111382571B (zh) | 一种信息抽取方法、***、服务器和存储介质 | |
RU2640297C2 (ru) | Определение степеней уверенности, связанных со значениями атрибутов информационных объектов | |
RU2579873C2 (ru) | Разрешение семантической неоднозначности при помощи семантического классификатора | |
Wang et al. | NLP-based query-answering system for information extraction from building information models | |
US20190065453A1 (en) | Reconstructing textual annotations associated with information objects | |
Rodrigues et al. | Advanced applications of natural language processing for performing information extraction | |
Al-Zoghby et al. | Semantic relations extraction and ontology learning from Arabic texts—a survey | |
RU2563148C2 (ru) | Система и метод семантического поиска | |
Malik et al. | NLP techniques, tools, and algorithms for data science |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20170630 |
|
QB4A | Licence on use of patent |
Free format text: LICENCE FORMERLY AGREED ON 20201211 Effective date: 20201211 |
|
QC41 | Official registration of the termination of the licence agreement or other agreements on the disposal of an exclusive right |
Free format text: LICENCE FORMERLY AGREED ON 20201211 Effective date: 20220311 |