ОБЛАСТЬ ИЗОБРЕТЕНИЯ
[0001] Настоящее изобретение относится к технологиям поиска, в частности, реализация данного изобретения имеет отношение к поиску доступного электронного контента, например, в интернете и других электронных ресурсах, таких как текстовые корпуса, словари, глоссарии, энциклопедии и способам представления результатов поиска.
УРОВЕНЬ ТЕХНИКИ
[0002] Широко известны поисковые технологии, которые позволяют генерировать результат поиска, основываясь на ключевых словах, вводимых пользователем в составе поискового запроса.
[0003] Однако, из-за омонимии и омографии, имеющейся в естественных языках, результат поиска, основанный на поиске по ключевым словам, может включать значительное количество нерелевантной и малорелевантной информации. Например, если пользователь ищет тексты, содержащие слово "page" в смысле "паж" (придворная должность), он получит множество нерелевантной информации, где "page" относится к интернет-страницам, страницам газет, журналов, страницам устройств памяти и т.д. Это происходит потому, что эти значения гораздо более частотны, чем "page" в лексическом значении "паж". Аналогично в русском языке по ключевому слову "стекло" можно получить все тексты, содержащие глагол "течь" во всевозможных словоформах.
[0004] Существующие системы позволяют использовать простые языки запросов для поиска документов, которые содержат, или не содержат слова или слово, указанные пользователем. Однако пользователь не имеет возможности указать, должны ли эти слова находиться в одном предложении или нет. Также, пользователь не может формулировать свой запрос сразу для некоторого множества слов, принадлежащих некоторому классу, или обладающих некоторыми свойствами или характеристиками. Как правило, эти системы не позволяют формулировать запрос в виде обычного вопроса на естественном языке. И наконец, существующие системы поиска не позволяют пользователям искать предложения с заданными синтаксическими и/или семантическими свойствами, например, иллюстрирующие заданное семантическое отношение (связь), не позволяют создавать запросы, основанные на грамматических значениях, семантических и/или семантических позициях (связях), синтаксических моделях, стилистических и/или семантических особенностях. Такие типы поиска могут быть особенно полезны лексикографам, филологам, лингвистам, студентам и преподавателям родного или иностранного языка, а также многим обычным пользователям. Данное изобретение является развитием решений, изложенных ранее в Патентных заявках США №13/173,649 и 13/173,369, поданных 30 июня 2011, и №12/983,220, поданной 31 декабря 2010, а также заявки RU 2013132622 "Система и метод семантического поиска", поданной в Роспатент 15 июля 2013 и соответствующей ей патентной заявки США №14/142,701, поданной 27 декабря 2013. Данное изобретение также частично использует технологию анализа, запатентованную в США (Патент №8,078,450).
[0005] Наиболее близким решением является решение по Патентной заявке США №12/601901, в которой описан способ организации поиска на множестве электронных документов для компьютерной системы, заключающийся в том, что комбинируют результат поиска по ключевым словам с результатами семантического поиска и предъявляют пользователю результат такого комбинированного поиска.
[0006] Однако известный способ имеет недостатки. Семантический поиск, как он описан в этой заявке не делает различий между "словом" и множеством его лексических значений, и сам имеет ограниченный характер - фактически в качестве семантической информации используются только метаданные - некоторые внешние метки, тэги, которыми, автоматически или вручную, снабжаются документы. Он не позволяет искать слова в выбранном значении. Для уточнения искомого значения часто приходится добавлять в запрос дополнительные слова. Кроме того, иногда сам пользователь не может определить, какое из значений слова его на самом деле интересует. Например, если он ищет варианты словоупотребления неизвестного ему слова на иностранном языке. Большой и несистематизированный объем выдачи позволяет увидеть все варианты значений искомого слова или словосочетания.
[0007] Технический результат от использования настоящего изобретения состоит в повышении точности и скорости поиска информации. В отличие от указанного прототипа, способ настоящего изобретения предполагает компьютерный поиск не просто слов, но слов в определенных семантических значениях и отношениях. В одной из реализаций он включает семантико-синтаксический анализ полученных результатов с распределением их по значениям, что позволяет учитывать лексические, морфологические, синтаксические и семантические параметры запроса. В результате, пользователь может видеть результаты поиска, кластеризованные по семантическим значениям.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Настоящее изобретение представляет собой способ и систему организации информационного поиска в корпусах электронных текстов для компьютерной системы и показа результатов поиска в интерфейсе пользователя, метод, заключающийся в том, что, по меньшей мере, один раз производят следующую последовательность действий: получение запроса на поиск, включающего одну или несколько групп слов; показ списка лексических значений для одной или нескольких групп слов, образующих запрос; выбор пользователем одного или нескольких лексических значений из списка лексических значений; показ пользователю результатов поиска, релевантных выбранному лексическому значению. Лексическое значение является реализацией в конкретном языке некоторых семантических значений. При этом указанная группа слов может являться как словосочетанием, так и состоять из одного слова. Указанный способ также включает поиск фрагментов в корпусах электронных текстов, удовлетворяющих запросу, и показ пользователю результатов поиска. В некоторых реализациях список лексических значений для групп слов, образующих запрос, может формироваться на основе запроса к семантической иерархии и фильтроваться на основе семантико-синтаксического анализа запроса, чтобы исключить те лексические значения, сочетания которых невозможны. В одной реализации поиск может проводиться на предварительно обработанных по методу глубинного семантико-синтаксического анализа и проиндексированных корпусах текстов для поиска выбранного пользователем конкретного лексического значения. В другой реализации поиск проводится на произвольных проиндексированных корпусах с последующим анализом найденных фрагментов для распределения и кластеризации поисковой выдачи по возможным лексическим значениям поискового запроса.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0008] Фиг.1 иллюстрирует общую схему метода глубинного анализа корпуса текстов и построения индексов согласно одной из реализаций данного изобретения.
[0009] Фиг.1A содержит пример фрагмента текста с референциальными связями.
[0010] Фиг.2 иллюстрирует последовательность структур, строящихся в процессе анализа предложения согласно одной или нескольким реализациям изобретения.
[0011] Фиг.3 иллюстрирует пример синтаксического дерева, полученного в результате точного синтаксического анализа английского предложения "This boy is smart, he′ll succeed in life".
[0012] Фиг.4 иллюстрирует схему семантической структуры, полученной в результате анализа предложения "This boy is smart, he′ll succeed in life."
[0013] Фиг.5A-5D иллюстрируют фрагмент семантической иерархии, согласно одной или нескольким реализациям данного изобретения.
[0014] Фиг.6 представляет собой схему, иллюстрирующую языковые описания 610, согласно одной из возможных реализаций изобретения.
[0015] Фиг.7 представляет собой схему, иллюстрирующую морфологические описания, согласно одной из возможных реализаций изобретения.
[0016] Фиг.8 иллюстрирует синтаксические описания, согласно одной из возможных реализаций изобретения.
[0017] Фиг.9 иллюстрирует семантические описания, согласно одной из возможных реализаций изобретения.
[0018] Фиг.10 является схемой, иллюстрирующей лексические описания, согласно одной или нескольким реализациям данного изобретения.
[0019] Фиг.11A и Фиг.11B иллюстрируют пример пользовательского графического интерфейса поисковой системы, который позволяет пользователю формулировать запросы с выбором лексических значений.
[0020] Фиг.11C и Фиг.11D иллюстрируют результаты семантического запроса.
[0021] Фиг.12A иллюстрирует один из примеров семантического запроса.
[0022] Фиг.12B иллюстрирует еще один пример семантического запроса.
[0023] Фиг.12C иллюстрирует еще один пример семантического запроса.
[0024] Фиг.12D иллюстрирует пример семантического запроса с "лакуной".
[0025] Фиг.13A-13B иллюстрируют примеры пользовательского графического интерфейса поисковой системы с кластеризацией результатов поиска.
[0026] Фиг.13C иллюстрирует примерную схему реализации поиска с кластеризацией результатов поиска.
[0027] Фиг.13D иллюстрирует еще один пример схемы реализации поиска с кластеризацией результатов поиска.
[0028] Фиг.14 иллюстрирует примерную схему действий, осуществляемых при выполнении семантического запроса согласно одной из реализаций данного изобретения.
[0029] Фиг.14A иллюстрирует пример семантического запроса с выбором объектов онтологии.
[0030] Фиг.15 иллюстрирует пример схемы аппаратного обеспечения.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0031] Реализация данного изобретения раскрывает методы индексирования и систему семантического поиска в текстах на естественном языке и способы выдачи результатов поиска в зависимости от семантики.
[0032] В общих чертах, предлагаемый метод создания индекса включает выполнение исчерпывающего синтаксического и семантического анализа тексов на естественном языке для построения, по меньшей мере, одного индекса для каждого текста или текстового корпуса. При этом рассматриваются множества не просто слов, но множества лексических значений всех встречающихся в тексте (корпусе) слов, являющихся реализацией различных семантических значений, и вся лексическая, синтаксическая и семантическая информация о каждом предложении, получаемая в процессе синтаксического и семантического анализа сохраняется и индексируется. Сохраняемая информация может включать также данные, получаемые на промежуточных этапах разбора, результаты лексического выбора, включая результаты, полученные в процессе разрешения неоднозначностей. Полученный таким образом индекс используется для организации семантического поиска как описано ниже.
[0033] Существующие системы используют простые языки запросов для поиска документов, которые содержат, или не содержат слова или слово, указанные пользователем. Однако пользователь не имеет возможности указать, в каком именно из своих значений должно быть найдено слово или словосочетание, должны ли указанные слова находиться в одном предложении или нет. Некоторые системы, например, Yandex, на основе статистического анализа большого числа запросов, умеет подсказывать пользователю уточняющие слова для добавления в запрос. Однако, это работает только если уже было достаточное количество запросов, или пользователь хорошо представляет, какое именно из значений слова его интересует. Например, если он ищет варианты словоупотребления неизвестного ему слова на иностранном языке, то указать требуемое значение не так уж просто, а большой и несистематизированный объем выдачи не позволяет увидеть все варианты значений искомого слова или словосочетания.
[0034] Также, пользователь не может формулировать свой запрос сразу для некоторого множества слов, принадлежащего некоторому классу или обладающих некоторыми свойствами или характеристиками. Как правило, эти системы не позволяют формулировать запрос в виде обычного вопроса на естественном языке. И, наконец, существующие системы поиска не позволяют пользователям искать предложения с заданными синтаксическими и/или семантическими свойствами, например, иллюстрирующие заданное семантическое отношение (связь), не позволяют создавать запросы, основанные на грамматических значениях, семантических и/или семантических позициях (связях), синтаксических моделях, стилистических и/или семантических особенностях.
[0035] Проблемы существующих поисковых систем полностью или частично решаются методами, описанными ниже.
[0036] Осуществление изобретения позволяет пользователю искать и находить релевантную информацию и получать результаты поиска в кластеризованном по семантическим значениям и ранжированном виде. В случае, если запрос формулируется в виде вопроса на естественном языке, тот же самый анализатор используется для анализа запроса, для распознавания его синтаксической структуры и построения семантической структуры и, таким образом, "понимания" системой смысла запроса. Таким образом, пользователь может получить только релевантные результаты запроса.
[0037] Кроме того, поскольку поисковый запрос может быть сформулирован или транслирован в универсальных, независимых от языка, семантических терминах, поиск может осуществляться в корпусах, включающих документы на разных языках. Таким образом, пользователь может получать информацию, представленную в различных ресурсах независимо от языка, на котором сформулирован запрос на поиск. Результаты поиска могут быть предъявлены пользователю как на языке ресурса, в оригинальном виде, как это найдено в документе, так и могут быть переведены на язык запроса при помощи системы машинного перевода.
[0038] В Патенте США Patent 8,078,450 описан метод, включающий глубинный синтаксический и семантический анализ текстов на естественном языке, основанный на исчерпывающих лингвистических описаниях. Этот метод может быть использован на этапе анализа описываемого метода построения индексов. Метод использует широкий спектр лингвистических описаний, как универсальных семантических механизмов, так относящихся к конкретному языку, что позволяет отразить все реальные сложности языка без упрощения и искусственных ограничений, не опасаясь при этом комбинаторного взрыва, неуправляемого роста сложности. Сверх того, указанные способы анализа основаны на принципах целостного и целенаправленного распознавания, т.е. гипотезы о структуре части предложения верифицируются в рамках проверки гипотезы о структуре всего предложения. Это позволяет избежать анализа большого множества аномалий и вариантов.
[0039] Глубинный анализ включает лексико-морфологический, синтаксический и семантический анализ каждого предложения корпуса текстов, в результате которых строятся семантические структуры, независимые от языка (language-independent semantic structures), в которых каждому слову текста сопоставлен соответствующий семантический класс. Фиг.1 иллюстрирует общую схему метода глубинного анализа и построения индексов согласно одной из реализаций данного изобретения. Корпус текстов 105 подвергается исчерпывающему семантико-синтаксическому анализу 106 с использованием лингвистических описаний, как исходного языка, так и универсальных семантических описаний, что позволяет анализировать не только поверхностную синтаксическую структуру, но и глубинную, семантическую, выражающую смысл высказывания, содержащегося в каждом предложении, а также связи между предложениями или фрагментами текста. Лингвистические описания могут включать лексические описания 101, морфологические описания 102, синтаксические описания 103 и семантические описания 104. Анализ 106 включает синтаксический анализ, реализованный в виде двухэтапного алгоритма (грубого синтаксического анализа и точного синтаксического анализа), использующий лингвистические модели и информацию различных уровней для вычисления вероятностей и генерации наиболее вероятной («лучшей») синтаксической структуры. Фиг.2 иллюстрирует последовательность структур, строящихся в процессе анализа предложения согласно одной или нескольким реализациям изобретения.
[0040] Затем строится независимая от языка семантическая структура (language-independent semantic structure) 107, которая представляет смысл исходного предложения. Этот этап может включать также восстановление референциальных связей между предложениями. Примером референциальной связи является анафора - использование языковых конструкций, которые могут быть проинтерпретированы лишь с учетом другого, как правило, предшествующего, фрагмента текста. Фиг.1A иллюстрирует фрагмент текста с референциальными связями между предложениями. Эти связи на уровне соответствующих семантических структур устанавливаются на этапе 107. В частности, для последующего индексирования личные, указательные местоимения, а также другие объекты, между которыми устанавливаются референциальные связи, индексируются с учетом связи с их антецедентом. Т.е. для фрагмента текста, показанного на Фиг.1A, будет установлена идентичность объектов "David Cameron", "Prime Minister of the United Kingdom", "he", "his", "Prime Minister" в рамках данного фрагмента или всего текста. Восстановление референциальных связей выполняется на семантических структурах с помощью специальных правил.
[0041] Затем исходное предложение, синтаксическая структура исходного предложения и независимая от языка семантическая структура индексируются 108. Результатом является набор коллекций индексов 109. Индекс обычно может быть представлен в виде таблицы, где каждому значению текстовой характеристики (например, слову, выражению или фразе, отношению между элементами предложения, морфологическое, лексическое, синтаксическое или семантическое свойство, а также и синтаксические и семантические структуры) в документе сопоставлен список адресов их вхождений в этот документ. Согласно одной из реализаций данного изобретения, морфологические, синтаксические, лексические и семантические характеристики, а также структуры и фрагменты структур могут индексироваться так же, как индексируется слово в документе.
[0042] В одной из реализаций данного изобретения индексы могут включать все или, по крайней мере, одно значение морфологических, синтаксических, лексических и семантических характеристик (параметров). Эти значения или параметры генерируются во время двухэтапного семантического анализа, далее описанного более детально. Индексы могут использоваться во многих задачах обработки естественного языка, в частности, для организации семантического поиска. Согласно одной из реализаций данного изобретения, морфологические, синтаксические, лексические и семантические описания структурированы и сохраняются в базе данных. Это множество описаний может включать, по крайней мере, морфологическую модель языка, модели синтаксических конструкций языка, лексико-семантические модели. Согласно одной из реализаций данного изобретения, для анализа сложных языковых структур, распознавания смысла предложения и корректной передачи заключенной в нем информации используется интегральная модель для описания синтаксиса и семантики.
[0043] Фиг.2 иллюстрирует детальную схему метода анализа предложения согласно одной или нескольким реализациям изобретения. Ссылаясь на Фиг.1 и Фиг.2, лексико-морфологическая структура 222 определяется на этапе анализа 106 исходного предложения 105. Затем производится синтаксический анализ, реализованный в виде двухэтапного алгоритма (грубого синтаксического анализа и точного синтаксического анализа), использующий лингвистические модели и информацию различных уровней для вычисления вероятностей и генерации наиболее вероятной («лучшей») синтаксической структуры.
[0044] Грубый синтаксический анализ применяется к исходному предложению и включает, в частности, генерацию всех потенциально возможных лексических значений слов, образующих предложение или словосочетание, всех потенциально возможных отношений между ними, всех потенциально возможных составляющих. Применяются все вероятные поверхностные синтаксические модели для каждого элемента лексико-морфологической структуры, затем строятся и обобщаются все возможные составляющие так, чтобы были представлены все возможные варианты синтаксического разбора предложения. В результате формируется граф обобщенных составляющих 232 для последующего точного синтаксического анализа. Граф обобщенных составляющих 232 включает все потенциально возможные связи в предложении. За грубым синтаксическим анализом следует точный синтаксический анализ на графе обобщенных составляющих, в результате которого из него "извлекаются" одно или несколько синтаксических деревьев 242, представляющих структуру исходного предложения. Построение синтаксического дерева 242 включает лексический выбор для вершин графа и выбор отношений между вершинами графа. Множество априорных и статистических оценок может быть использовано при выборе лексических вариантов и при выборе отношений из графа. Априорные и статистические оценки могут также быть использованы как для оценивания частей графа, так и для оценивания всего дерева. В одной из реализаций одно или несколько синтаксических деревьев строятся или упорядочиваются по убыванию оценки. Таким образом, лучшее синтаксическое дерево может быть построено первым. В этот момент также проверяются и строятся недревесные связи. Если первое синтаксическое дерево оказывается неподходящим, например, из-за невозможности установить необходимые недревесные связи, в качестве лучше рассматривается второе синтаксическое дерево и т.д.
[0045] Поскольку упомянутый лексический выбор для вершин графа и выбор отношений между вершинами графа производится на основе априорных и статистических оценок, в одной из реализаций метода не только рассматриваются и оцениваются все варианты, но эти варианты также запоминаются и индексируются на этапе 108 с учетом их интегральных оценок. Т.е. в индексе 109 содержатся не только высоковероятные варианты разбора предложения, но и маловероятные с соответствующим весом, если такой разбор закончился успешно. Веса вариантов разбора используются впоследствии при вычислении оценки релевантности результата поиска.
[0046] Широкий спектр лексических, грамматических, синтаксических, прагматических, семантических характеристик извлекается на этом этапе анализа 106 и построения семантических структур 107. Например, система может извлекать и хранить лексическую информацию и информацию о принадлежности лексических единиц семантическим классам, информацию о грамматических формах и линейном порядке, о синтаксических отношениях и поверхностных позициях, использовании определенных форм, аспектов, тональностей, таких как, положительная и негативная тональность, глубинных позиций, недревесных связей, семантем и т.д.
[0047] Также, дополнительно, на этапе 107 может проводиться онтологический анализ с целью извлечения знаний о предметной области, извлечения онтообъектов и онтофактов. Извлечение онтообъектов и онтофактов и фиксация отношений между ними производится, например, с помощью специального вида правил, правил логического вывода и других средств. Эта информация фиксируется в онтологиях ПО. Например, возвращаясь к примеру, представленному на Фиг.1A, в онтологии сохраняется информация о том, что Дэвид Кэмерон является премьер-министром Великобритании, что его адрес - 10 Downing Street, что он выступал на Social Impact Investment Forum, который имел место быть 6 июня 2012 года в Лондоне.
[0048] Информация из онтологии привлекается в процессе построения индексов 108. Это позволяет затем, в процессе поиска, находить информацию об объекте, даже если она выражена в корпусе текстов неявно. Например, информация из фрагмента, представленного на Фиг.1A, если она занесена в онтологию, позволяет дать ответ на вопрос, на какой улице находится резиденция премьер-министра Великобритании, или когда в Великобритании работало коалиционное правительство.
[0049] Фиг.3 иллюстрирует пример синтаксического дерева 300, полученного в результате точного синтаксического анализа английского предложения "This boy is smart, he′ll succeed in life". Дерево содержит достаточно полную синтаксическую информацию, такую как лексические значения, части речи, синтаксические роли, грамматические значения, синтаксические отношения (позиции), синтаксические модели, типы недревесных связей и т.д. Например, местоимение «he» определяется относящимся к существительному «boy» как субъект анафорической связи 310. "Boy" определяется субъектом 320 глагола "be." "Не" - субъектом 330 глагола "succeed." Прилагательное "smart" оказывается относящимся к существительному "boy" с отношением "control-complement" 340.
[0050] Ссылаясь на Фиг.2, этот подход двухэтапного синтаксического анализа обеспечивает построение лучшей синтаксической структуры 246 исходного предложения, выбранной из одной или нескольких синтаксических структур. Фиг.3 иллюстрирует схему лучшей синтаксической структуры, полученной в результате синтаксического анализа предложения "This boy is smart, he′ll succeed in life." Подход двухэтапного анализа следует принципу целостного и целенаправленного распознавания, то есть гипотезы о структуре части предложения проверяются с помощью доступных лингвистических описаний в рамках структуры всего предложения. При этом подходе отсутствует необходимость анализировать множество тупиковых вариантов разбора. В большинстве случаях такой подход позволяет существенно сократить количество вычислительных ресурсов, необходимых для анализа предложения.
[0051] Предложенные методы анализа обеспечивают достижение максимальной точности понимания смысла предложения. Фиг.4 иллюстрирует схему семантической структуры, полученной в результате анализа предложения "This boy is smart, he′ll succeed in life." Эта структура содержит всю синтаксическую и семантическую информацию, такую как семантические классы, семантемы (которые не показаны на рисунке), семантические отношения (глубинные позиции), недревесные связи и т.д.
[0052] Независимая от языка семантическая структура предложения представляется в виде ациклического графа (дерева, дополненного недревесными связями), где каждое слово определенного языка заменено универсальными (независимыми от языка) семантическими сущностями, называемыми здесь семантическими классами. Семантический класс - одна из самых важных семантических характеристик, которая может быть извлечена и использована для решения задач семантического поиска, классификации, кластеризации и фильтрации документов, написанных на одном или нескольких языках. Кроме того, информацию в независимых от языка структурах могут быть использованы семантемы, отражающие не только семантическую, но и синтаксическую, грамматическую и пр. зависимую от языка информацию.
[0053] Семантические классы могут быть упорядочены в семантическую иерархию, где "дочерний" семантический класс и его "потомки" наследуют значительную часть свойств "родительского" и всех предшествующих семантических классов ("предков"). Например, семантический класс SUBSTANCE (вещество) является дочерним классом достаточно широкого класса ENTITY (сущность), и в то же время он является "родителем" для семантических классов GAS (газ), LIQUID (жидкость), METAL (металл), WOODMATERIAL (дерево как материал), и т.д. Каждый семантический класс в семантической иерархии снабжен глубинной (семантической) моделью. Глубинная модель представляет собой множество глубинных позиций (типов семантических отношений в предложениях). Глубинные позиции отражают семантические роли дочерних составляющих (структурных единиц предложения) в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей и возможные семантические классы в качестве заполнителей позиций. Эти глубинные позиции выражают семантические отношения между составляющими, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "quantity" (количество), и т.д. Дочерний класс наследует и подстраивает глубинную модель родительского класса.
[0054] Фиг.5A-5D иллюстрируют фрагмент семантической иерархии, согласно одной или нескольким реализациям данного изобретения. Семантическая иерархия устроена таким образом, что более общие понятия находятся на верхних уровнях иерархии. Например, в случае документов, типы которых проиллюстрированы Фиг.5B и Фиг.5C, семантические классы - PRINTED_MATTER (печатное издание, 502), SCIENTIFIC_AND_LITERARYWORK (научные труды и литература, 504), TEXT_AS_PART_OF_CREATIVE_WORK (творческие тексты, 505) и другие являются потомками класса TEXT_OBJECTS_AND_DOCUMENTS (текстовые объекты и документы, 501), а класс PRTNTED_MATTER (печатное издание, 502), в свою очередь, является родительским для семантического класса EDITION_AS_TEXT (издание как текста, 503), содержащего классы PERIODICAL (периодические издания) и NONPERIODICAL (непериодические издания), где PERIODICAL (периодические издания) - родительский класс для классов ISSUE (выпуск), MAGAZINE (журнал), NEWSPAPER (газета) и т.д. Подход к делению на классы может отличаться. Данное изобретение в первую очередь основано на использовании понятий, не зависящих от языка.
[0055] Фиг.6 представляет собой схему, иллюстрирующую языковые описания 610, согласно одной из возможных реализаций изобретения. Языковые описания 610 включают морфологические описания 101, синтаксические описания 102, лексические описания, 103 и семантические описания 104. Фиг.7 представляет собой схему, иллюстрирующую морфологические описания, согласно одной из возможных реализаций изобретения. Фиг.8 иллюстрирует синтаксические описания, согласно одной из возможных реализаций изобретения. Фиг.9 иллюстрирует семантические описания, согласно одной из возможных реализаций изобретения.
[0056] Обратимся к Фиг.6 и Фиг.9. Являясь частью семантических описаний 104, семантическая иерархия 910 является ядром языковых описаний 610, которая объединяет независимые от языка семантические описания 104 и зависимые от языка лексические описания 103, что отмечено двойной стрелкой 623, и морфологические описания 101 и синтаксические описания 102, что отмечено двойной стрелкой 624. Семантическая иерархия может быть создана однажды, а затем может быть заполнена для каждого определенного языка. Семантический класс в конкретном языке включает лексические значения с соответствующими моделями. Семантические описания 104 не зависят от языка. Семантические описания 104 могут содержать описания глубинных составляющих и могут содержать семантическую иерархию, описания глубинных позиций, систему семантем и прагматических описаний.
[0057] Ссылаясь на Фиг.6, в одной из возможных реализаций изобретения морфологические описания 101, лексические описания 103, синтаксические описания 102 и семантические описания 104 связаны. Лексическое значение может иметь несколько поверхностных (синтаксических) моделей, сопровождаемых семантемами и прагматическими характеристиками. Синтаксические описания 102 и семантические описания 104 также связаны. Например, диатеза синтаксических описаний 102 может рассматриваться как "интерфейс" между зависимыми от языка поверхностными моделями и независимыми от языка глубинными моделями семантического описания 104.
[0058] Фиг.7 иллюстрирует пример морфологических описаний 101. Как показано на Фиг.7, составляющие морфологических описаний 101 включают, но не ограничиваются описаниями словоизменения 710, грамматической системой (граммемами) 720, и описаниями словообразования 730. В одной из возможных реализаций изобретения грамматическая система 720 включает набор грамматических категорий, таких как «Часть речи», «Падеж», «Род», «Число», «Лицо», «Возвратность», «Время», «Вид» и их значения, здесь и далее называемые граммемами. Например, граммемы, означающие части речи, могут включать прилагательное, существительное, глагол и т.д.; граммемы в разных языках могут различаться, например, граммемы падежа для русского языка могут включать «Именительный», «Родительный», «Дательный» и т.д.; граммемы рода могут включать «Мужской», «Женский», «Средний» и т.д. Ссылаясь на Фиг.7, описания словоизменения 710 описывают, как начальная форма слова может изменяться в зависимости от падежа, рода, числа, времени и т.д. и включают в широком смысле все возможные формы данного слова. Описания словообразования 730 описывают, какие новые слова могут быть построены с использованием данного слова. Граммемы -единицы грамматической системы 720 и, как показывает ссылка 722 и ссылка 724, граммемы могут быть использованы для построения описаний словоизменения 710 и описаний словообразования 730.
[0059] Фиг.8 иллюстрирует синтаксические описания 102. Компоненты синтаксических описаний 102 могут содержать поверхностные модели 810, описания поверхностных позиций 820, описания референциального и структурного управления 856, описания управления и согласования 840, недревесные описания 850 и правила анализа 860. Синтаксические описания 302 используются для построения возможных синтаксических структур предложения для данного исходного языка, учитывая порядок слов, недревесные синтаксические явления (например, согласование, эллипсис и т.д.), референциальный контроль (управление) и другие явления.
[0060] Фиг.9 иллюстрирует семантические описания 104 согласно одной из возможных реализаций изобретения. В то время как поверхностные позиции 820 отражают синтаксические отношения и способы их реализации в конкретном языке, глубинные позиции 914 отражают семантические роли дочерних (зависимых) составляющих в глубинных моделях 912. Потому описания поверхностных позиций, и шире -поверхностные модели, могут быть специфичными для каждого конкретного языка. Описания глубинных моделей 920 содержат грамматические и семантические ограничения для заполнителей этих позиций. Свойства и ограничения глубинных позиций 914 и их заполнители в глубинных моделях 912 очень похожи и часто идентичны для различных языков.
[0061] Система семантем 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" и др.
[0062] Прагматические описания 940 служат для того, чтобы в процессе анализа текста фиксировать соответствующую тему, стиль или жанр текста, а также возможно приписать соответствующие характеристики объектам семантической иерархии. Например, "Economic Policy", "Foreign Policy", "Justice", "Legislation", "Trade", "Finance", etc.
[0063] Фиг.10 является схемой, иллюстрирующей лексические описания 103, согласно одной или нескольким реализациям данного изобретения. Лексические описания 103 включают лексико-семантический словарь 1004, который включает в себя набор лексических значений 1012, образующих вместе со своими семантическими классами семантическую иерархию, где каждое лексическое значение может сопровождаться, но не ограничивается своей глубинной моделью 912, поверхностной моделью 810, грамматическим значением 1008 и семантическим значением 1010. Лексическое значение является реализацией к конкретном языке некоторого семантического значения - смысла и может объединять различные дериваты (например, слова, выражения, фразы), выражающие смысл с помощью различных частей речи, различных форм слова, однокоренных слов и пр. В свою очередь, семантический класс объединяет лексические значения близких по смыслу слов и выражений на разных языках.
[0064] Любой параметр языкового описания 610 - лексические значения, семантические классы, граммемы, семантемы и многое другое извлекается во время исчерпывающего анализа текста, и любой параметр может быть проиндексирован (создан индекс характеристики). Индексация семантических классов востребована во многих задачах, связанных с анализом текстов на естественном языке, таких как семантический поиск, классификация, кластеризация, фильтрация текстов и многие другие. Индексация лексических значений (в отличие от индексации просто слов) позволяет искать не просто слова или словоформы, но лексические значения, т.е. слова в определенном смысловом (семантическом) значении. Синтаксические структуры и семантические структуры также могут индексироваться и сохраняться для использования в семантическом поиске, классификации, кластеризации и фильтрации документов.
[0065] Возвращаясь к Фиг.1, после того как построены универсальная семантическая структура для каждого предложения каждого текста в корпусе текстов, синтаксические и семантические структуры индексируются. Индексируются лексические значения как результат лексического выбора в каждой вершине семантической структуры, каждый параметр морфологических, синтаксических, лексических и семантических описаний может индексироваться таким же образом, как обычные слова. Индекс слов в документе обычно включает, по меньшей мере, одну таблицу, где каждое слово (лексема или словоформа), встретившееся в документе, сопровождается списком номеров или адресов позиций в этом документе. Согласно реализации данного изобретения, индекс может строиться для всех лексических и семантических значений, всех семантических классов, для любых значений морфологических, синтаксических, лексических и семантических параметров. Эти значения параметров генерируются в процессе двухступенчатого синтактико-семантического анализа, и полученные индексы могут быть использованы для достижения более высокой точности и релевантности семантического поиска в корпусах текстов на естественных языках. Например, пользователь может формулировать свой запрос с возможностью поиска предложений с существительными, имеющими свойство "being fiat" или "being liquid" или предложений содержащих слова (существительные и/или глаголы), обозначающие какой-либо процесс, например, производства, разрушения, перемещения и т.п.
[0066] В одной из возможных реализаций способа изобретения, комбинация из двух, трех или, вообще говоря, 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).
[0067] Т.к. индексируются не только слова, но их лексические значения, семантические классы, синтаксические и семантические отношения, любые другие элементы синтаксических и семантических структур, становится возможным искать контекст не только по ключевым словам, но также контекст, содержащий определенные лексические или семантические значения, значения, принадлежащие определенным семантическим классам, контекст, включающий элементы с определенными синтаксическими и/или семантическими свойствами и/или морфологическими свойствами или наборами (комбинациями) таких свойств. Также, могут быть найдены предложения с недревесными синтаксическими явлениями, например, эллипсис, сочинение и др. Т.к. можно искать семантические классы, становится возможным искать семантически связанные слова и понятия.
[0068] Также может осуществляться поиск фрагментов синтаксических и/или семантических структур. Результатом поиска могут быть предложения или абзацы, или другие фрагменты, в зависимости от выбора пользователем соответствующей опции. Т. к. все предложения в каждом корпусе анализируются, и затем сохраняются вместе с результатами их синтаксического и семантического анализа, синтаксические и семантические структуры могут быть предъявлены пользователю также и в графическом виде.
[0069] Наиболее распространенным типом поиска в обычных поисковых системах является поиск по ключевым словам. Но возникает проблема, если одно или несколько ключевых слов являются многозначными, например, в английском языке "bank" может означать 1) финансовое учреждение, банк; 2) хранилище, репозиторий; 3) берег реки или озера. Есть и другие, менее частотные значения "bank". В таком случае, в ответ на запрос по такому ключевому слову пользователь получает множество ненужных ему результатов, т.к. у пользователя нет возможности сообщить поисковой системе, какое именно из возможных значений его интересует. Например, большинство найденных результатов обычного поиска по ключевому слову "apple" относятся к названию компьютерной корпорации, поскольку она гораздо чаще встречается в интернет ресурсах, и практически невозможно найти документы с упоминанием "apple" как фрукт (они окажутся на самых дальних страницах) без добавления дополнительных слов (например, "fruit") в запрос или исключения специальным образом компьютерного лексикона. Если одно из возможных значений не выбрано каким-либо дополнительным способом, то пользователь обычно видит множество результатов, соответствующих различным лексическим значениям, и эти результаты произвольно перемешаны. Если превалирует одно или несколько лексических значений, например, если они существенно более частотны в языке, или просто структура текстового корпуса имеет тематический "перекос" или просто неполна, так, что некоторые лексические значения там практически отсутствуют, то практически невозможно увидеть результаты поиска, включающие "редкие" значения. В одной из реализаций данного изобретения пользователь может для ключевого слова указать одно из возможных лексических значений. Например, на Фиг.11A показан интерфейс пользователя поисковой системы, содержащий окно запроса 1101 и кнопку "Найти" 1102, и кроме того, показано всплывающее окно 1103 со списком лексических значений слова "центр", которые показываются пользователю для выбора подходящего значения при наведении курсора на слово. Пользователь может увидеть, что слово "центр" имеет несколько значений, находящихся в разных семантических классах, и для выбора релевантного в поле запроса требуется на нужном кликнуть кнопкой мыши. Существуют разные способы специфицировать лексическое значение, например, при помощи указания семантического класса. Другой способ состоит в снабжении каждого лексического значения толкованием, по типу статьи в толковом словаре, как показано на Фиг.11A, или указание наиболее близких к данному значению синонимов.
[0070] Пользователь может выбрать любое возможное лексическое значение слова для поиска, это значение становится выбранным и помечается, например, как показано на Фиг.11B. Если запрос включает несколько слов, для любого из них или для всех могут быть указаны лексические значения из соответствующих семантических классов.
[0071] Независимо от того, специфицирует ли пользователь слова запроса, пользователь может в найденном фрагменте, например, по клику на правую кнопку мыши, увидеть, в каком лексическом значении встречается слово в найденном фрагменте, его семантический класс, а также некоторые другие параметры, например, синонимы, синтаксическую модель, сочетаемость, примеры словосочетаний с данным словом и т.д. Пример такого запроса показан на Фиг.11C.
[0072] В еще одной реализации данного изобретения пользователь может, не выбирая предварительно одно из возможных значений слова или словосочетания, увидеть кластеризованные результаты поиска для нескольких возможных значений. В этом случае возможны различные сценарии работы. В одной из возможных реализаций результаты поиска для различных лексических значений размещаются на различных закладках панели закладок. В этом случае пользователь вначале видит панель закладок, в заголовках которых перечислены возможные варианты значений, возможно, в ранжированном, например, по частотности, порядке. Затем пользователь выбирает закладку, закладка открывается, и пользователь видит те результаты поиска, которые соответствуют выбранному лексическому значению. Примерный вариант интерфейса представлен на Фиг.13A. На Фиг.13A в окне запроса 1310 показан пример запроса, состоящего из группы слов, или словосочетания "машина времени". В русском языке этому словосочетанию соответствует несколько значений - это название музыкальной группы, повести Герберта Уэллса, фильма по ней, а также есть и компьютерная игра с таким названием. На закладках 1311, 1312, 1313 и 1314 представлены различные варианты значений этого словосочетания - "исполнитель", "фильм", "игра", "книга". При выборе пользователем одного из значений, например, "исполнитель", как показано на Фиг.13A, пользователь видит в поле выбранной закладки 1311 результаты поиска 1315, соответствующие выбранному значению.
[0073] В другом варианте реализации пользователь может сначала увидеть расширяемый список значений, при нажатии на любое из значений из списка, выбранный элемент "расширяется" и "выпадают" ссылки на результаты поиска, релевантные выбранному лексическому значению. Примерный вариант интерфейса представлен на Фиг.13B. Окно запроса 1320 также содержит пример запроса, состоящего из группы слов, или словосочетания "машина времени". Различные варианты значений - "исполнитель", "фильм", "игра", "книга" показаны в виде раскрывающихся списков 1321, 1322, 1323 и 1324 соответственно. При выборе пользователем одного из значений, как показано на Фиг.13B, соответствующий список "раскрывается", и пользователь видит в результаты поиска 1325, соответствующие выбранному значению. В еще одном варианте реализации в интерфейсе против каждого значения может находиться элемент управления, например, кнопка "Показать" или "Искать", чек-бокс или что-то аналогичное. Во всех перечисленных случаях возможны, по крайней мере, две стратегии поиска. Одна из них применима к предварительно проанализированному по методу описанного выше глубинного семантико-синтаксического анализа корпусу текстов, вторая может осуществляться на произвольных корпусах, включая огромные массивы данных, представленные, например, в сети Интернет.
[0074] В первом случае, в одном варианте реализации изобретения, поиск проводится на корпусах текстов, предварительно проанализированных по описанному выше методу глубинного семантико-синтаксического анализа с построением индексов лексических значений и других лингвистических параметров. Примерная блок схема такого варианта реализации представлена на Фиг.13C. Если запрос 1330 представлен группой слов, или словосочетанием, то может быть произведен его семантико-синтаксический анализ, чтобы исключить те лексические значения, сочетания которых невозможны. Система предварительно может обратиться к семантической иерархии, чтобы определить, сколько и какие лексические значения могут соответствовать данному запросу пользователя. Все релевантные лексические значения, имеющиеся в иерархии, или допустимые их сочетания вначале показываются списком 1331 еще до выполнения собственно поиска. Лексические значения атрибутируются. В качестве атрибута может выступать толкование (как в словаре), указание на семантический класс, синоним или что-то иное. Собственно поиск, представляющий собой поиск одного из лексических значений или сочетания выбранных лексических значений на предобработанном корпусе текстов, выполняется только после выбора на этапе 1332 соответствующего варианта лексического значения. В момент выбора, например, после нажатия кнопки, запускается поиск 1333, и результаты могут поступать в окно выдачи одномоментно или порциями. Определяется количество найденных результатов, оно может быть показано пользователю. Результаты поиска 1335 для выбранного лексического значения показываются на этапе 1334 пользователю. Эта стратегия позволяет не искать "лишние" лексические значения, и при этом демонстрирует все возможные варианты лексических значений, соответствующих запросу. Т.е. интерфейс выдачи может быть приблизительно релевантным статье толкового словаря. Порядок, в котором лексические значения показываются пользователю, может быть выбран в соответствии с априорными оценками лексических значений, хранящимися в иерархии. Однако, корпус, на котором производится поиск, может оказаться неполным в том смысле, что некоторые лексические значения слова могут быть слабо представлены в этом корпусе или вовсе отсутствовать. Поэтому, поскольку демонстрация списка возможных лексических значений предшествует собственно поиску, список лексических значений может не соответствовать их наличию в корпусе, а порядок, в котором они показываются, может не отражать их частотность в корпусе, на котором производится поиск.
[0075] Во втором случае, предварительно может быть выполнен поиск по ключевым словам на произвольных корпусах. Примерная блок схема такого варианта реализации представлена на Фиг.13D. Для заданного пользователем запроса 1340 выполняется поиск по ключевым словам 1341, без учета наличия различных лексических значений входящих в запрос слов. Для этого может быть использована любая доступная поисковая машина. Результаты могут предварительно упорядочиваться, как при обычном поиске. Затем все множество результатов - найденных фрагментов, включающих одно или более предложений, абзац, параграф или иное, - подвергается глубинному семантико-синтаксическому анализу на этапе 1342, в ходе которого однозначно определяется лексическое значение каждого вхождения слова, входящего в запрос 1340. Если объем выдачи слишком велик, обработка и выдача может осуществляться порциями. После чего найденные результаты упорядочиваются, т.е. кластеризуются 1343 по лексическим значениям. Множество всех возможных лексических значений, как и в первом случае, может быть получено из семантической иерархии. Однако, во втором случае, "не найденные" лексические значения могут вовсе не показываться в списке, и, кроме того, кластеры могут быть сразу упорядочены в соответствии не с априорными оценками, а с реальной частотностью в большом корпусе текстов, на котором производится поиск. Кроме того, в этом случае для каждого варианта лексического значения может быть сразу указано количество найденных документов. Кластеризованные результаты 1345 показываются 1344 в интерфейсе системы.
[0076] Используя для поиска ключевые слова в обычных поисковых системах, пользователь явно или неявно может использовать булевские операторы, такие как AND (и), OR (или) и NOT (не) для создания своего запроса. Однако он не может выбрать, в каком лексическом значении следует искать заданное слово. Метод настоящего изобретения позволяет пользователю применять указанные булевские операторы AND(и), OR (или) и NOT (не) к лексическим значениям, т.е. ключевым словам, для которых указаны соответствующие семантические классы.
[0077] Порядок слов может быть существенен или нет в соответствии с выбранной пользователем опцией, предоставляемой пользователю в списке опций, например, 1104. Другая опция, выбираемая пользователем, позволяет ограничивать расстояние между объектами запроса. Например, пользователь может использовать оператор W/n для поиска документов, содержащих не более п слов между объектами запроса. В одной из реализаций пользователь может использовать его явно, в других - выбрать расстояние в качестве опции.
[0078] Дополнительная возможность, присущая семантическому поиску в отличие от обычного поиска по ключевым словам, состоит в поиске по синонимам. Синонимы - это слова, имеющие тот же или очень близкий смысл. В семантической иерархии, где все синонимичные лексические значения, например, "food", "meal", "alimentary" находятся в одном семантическом классе и имеют те же или близкие семантические характеристики - семантемы. Тогда, если пользователь включает опцию "Искать синонимы" (1104), и хочет найти "food", то сначала определяется его лексическое значение, семантический класс, и как результат, могут быть найдены документы, где встречаются "meal" или "alimentary" или, возможно, другие наиболее репрезентативные представители семантического класса FOOD. В таких случаях, результаты поиска могут быть более или менее релевантны, более или менее близки к искомому результату. Может быть введена мера релевантности, например, основанная на оценке "близости" лексического значения из запроса к найденному синониму, и, принимая во внимание контекст, порядок слов и другие факторы, она может быть распространена на предложение, фрагмент и т.п.
[0079] Еще один способ специфицировать лексические значения слов, участвующих в запросе, в случае, если запрос представлен связной фразой или предложением - его полный синтаксический и семантический анализ. Многие слова в языке имеют несколько различающихся смыслов, значений. Некоторые слова в запросе тоже могут иметь различные смыслы, выражаемые в различных лексических значениях. Чтобы определить, в каком именно лексическом значении следует искать слово, представленное в запросе, выполняют полный синтаксический и семантический анализ запроса, представленного предложением или словосочетанием, чтобы определить лексические значения слов, составляющих запрос. Исчерпывающий синтаксический анализ включает грубый и точный анализ. Во время грубого анализа определяются все потенциально возможные значения для каждого слова, во время точного анализа, основываясь на лингвистических описаниях, правилах языка, сочетаемости, на анализе контекста, статистике и др. факторах, выбираются наиболее релевантные лексические значения. Таким образом, как результат лексического выбора во время точного анализа, для каждого слова в запросе пользователя определяется его семантический класс. Фиг.11D иллюстрирует пример интерфейса с запросом пользователя в форме фразы, где пользователь может проверить, в каком именно лексическом значении слова будет искаться в документах корпуса текстов. Найденные документы могут содержать все (или большинство) слов запроса в выбранных значениях. При этом порядок слов может быть существенен или нет в соответствии с выбранной пользователем опцией. В одной из реализаций порядок слов может быть обязательным по умолчанию. Поисковая система также может искать документы с произвольным порядком слов запроса, а также с указанием максимальной дистанции между ними, но в таком случае оценка релевантности для найденного документа может быть ниже. В другой реализации пользователю предоставляется выбор опции поиска -принимать во внимание порядок слов или нет.
[0080] На Фиг.12A-12C показаны примеры пользовательских запросов, сформулированных в виде вопросов на естественном языке. На Фиг.12A показан пример запроса, отвечающего на вопрос "What countries were discovered?" (Какие страны были открыты?). Запрос на естественном языке анализируется тем же анализатором, что и тексты корпуса, и транслируется в семантический запрос. В окне запроса 1210 показан запрос на естественном языке, а в терминах семантических классов и отношений он выглядит, например, как "discover [Object:"COUNTRY"]", и означает, что система семантического поиска ищет предложения с английским глаголом "discover" и объектом, принадлежащим семантическому классу COUNTRY. Результаты поиска показаны в окне 1220.
[0081] Другой пример семантического запроса показан на Фиг.12В, он отвечает на вопрос "What can be made from milk?"(Что можно приготовить из молока?). Он также сформулирован на естественном языке и транслируется в семантический запрос "CREATIONJVERBS [Object:<Noun>, Fabricative: milk]", где "CREATION_VERBS" - семантический класс глаголов, обозначающих процесс создания, таких “to make” (делать), "to produce" (производить), "to manufacture" (изготовлять), "to confect" (изготовлять) и др. Любой из этих глаголов, принадлежащих семантическому классу "CREATION_VERBS" может быть найден в текстах корпуса. "Fabricative" означает глубинную (семантическую) позицию “raw material” (сырье), из которого что-то производят, сырьем в данном запросе является "milk" (молоко). Таким образом, результатом должно быть существительное (<Noun>), заполняющее семантическую позицию "Object" (Объект) в предложении. Результаты поиска показаны в окне 1220.
[0082] Еще один пример запроса к системе семантического поиска показан на Фиг.12C. Содержательно, запрос означает "What do the people collect?" (Что коллекционируют люди?). В терминах семантического запроса, показанный в окне 1210 запрос выглядит так: "collect[$Subject:people, $Object_Direct:<Noun>]". Система семантического поиска ищет предложения с глаголом "collect" (коллекционировать) и словом "people" (люди), которое заполняет поверхностную позицию "Subject". Целью поиска являются существительные (noun или nouns) в роли прямого объекта глагола "collect". Результаты поиска показаны в окне 1220. В одной из реализаций изобретения, все морфологические формы слов, указанных в запросе, принимаются во внимание, и все морфологические формы могут быть найдены. Ограничения на морфологические формы могут включаться в запрос в виде ограничений на грамматические значения, и могут быть показаны, например, в угловых скобках <>. Индекс, полученный в соответствии с данными методами, является составной частью системы семантического поиска.
[0083] Различные реализации настоящего изобретения также включают способ семантического поиска, при котором пользователь может формулировать свой вопрос на естественном языке. Тот же анализатор, который используется для синтактико-семантического анализа корпуса текстов, применяется для синтактико-семантического анализа вопроса пользователя, распознается его синтаксическая структура, строится независимая от языка семантическая структура, и таким образом достигается "распознавание" системой смысла предложения. Построенная семантическая структура затем транслируется язык запросов поисковой системы. Например, упомянутые вопросы "What countries were discovered?" или "What can be made from milk?" изначально сформулированы пользователем на естественном языке, проанализированы анализатором, и транслированы в семантический запрос. Если запрос формулируется в виде вопросительного предложения, то в результате анализа строится структура предложения, которое может являться потенциальным ответом на заданный вопрос, в этом случае она содержит "лакуны.
[0084] Метод настоящего изобретения позволяет создавать индексы синтаксических и семантических структур, хранимых в виде дерева или графа. Искомые структуры описываются в поисковом запросе при помощи одного или более искомых параметров. Один или более параметров могут быть не определены, могут быть заданы при помощи переменных, могут быть заданы как диапазон возможных значений этих переменных. Другими словами, запрос для поиска может быть представлен предложением на естественном языке с "лакунами". Лакуны могут покрываться или включать как отдельные слова, так и словосочетания, фразы, группы слов, образующие связанную составляющую (конституенту), вложенное (придаточное) предложение и т.п. Результатом запроса и поиска являются варианты заполнения этих лакун в текстах, имеющихся в размеченном корпусе текстов. Для показа пользователю они могут быть отсортированы по частоте встречаемости.
[0085] Фиг.12D демонстрирует один пример запроса, использующего переменную для обозначения лакуны в искомом предложении. Запрос
[$Subject:[…[people]]]think
демонстрирует возможность поиска предложений определенной структуры. В данной реализации переменная, например, [$Subject: […[people]]] используется для описания искомого предложения, включающего именную группу с ядром "people", заполняющую синтаксическую (поверхностную) позицию "Subject" и глагол "think" в любой форме.
[0086] Метод делает возможным поиск широкого спектра сущностей, таких как отношения, недревесные связи, лексические классы, семантические классы и т.д. Эти сущности - слова и словосочетания могут быть найдены по грамматическим признакам, лексическим свойствам, синтаксическим и/или семантическим свойствам. Клозы (предложения) могут быть найдены по любым - лексическим, синтаксическим, семантическим признакам.
[0087] Используя методы настоящего изобретения, могут быть реализованы очень специфичные типы поиска. Например, можно искать по свойствам узлов синтаксической или семантической структуры - грамматические значения, по суперклассу (классу со всеми потомками), по семантемам (например, "время" безотносительно к форме выражения). Другая возможность поиска состоит в поиске отношений по свойствам. Например, возможен поиск поверхностных или глубинных позиций с проверкой (или без проверки) наследования, анафорических связей, или любого количества узлов с указанными свойствами. Дополнительно, возможно извлечение значений этих признаков в найденных результатах.
[0088] Существенно, что поскольку поисковый запрос может транслироваться в семантическую, независимую от конкретного языка форму, поиск может быть выполнен в текстах на разных языках, на ресурсах, включающих корпуса разных языков. Таким образом, пользователь может получать информацию, представленную на всех ресурсах, независимо от языка запроса. Результат поиска может быть предъявлен пользователю на языке ресурса (как он представлен в оригинале) или результат поиска может быть транслирован на язык запроса при помощи системы машинного перевода.
[0089] В некоторой реализации, для поиска могут быть использованы не только один или более индексов, но и формальные модели, представляющие знания об одной или более предметных областях. Например, онтологии могут использоваться как модели областей. Онтология может включать, среди прочего, множества понятий и сущностей, относящихся к предметной области и отношений между ними. Они используются для моделирования предметной области и логического вывода.
[0090] Фиг.14 представляет блок-схему действий поисковой системы при выполнении семантического поиска в размеченном, т.е. подвергнутом исчерпывающему семантико-синтаксическому анализу, корпусе текстов. Запрос на поиск 1410 подвергается исчерпывающему семантико-синтаксическому анализу, аналогично тому, как это делается для каждого предложения корпуса текстов согласно этапам 106 и 107, метода, представленного на Фиг.1. Так, семантико-синтаксический анализ запроса включает лексический анализ с использованием морфологических 101 и лексических 103 описаний, затем производится синтаксический анализ с использованием синтаксических 102 и семантических 104 описаний, в ходе которого, в частности, генерируются все потенциально возможные лексические значения слов, образующих предложение или словосочетание и все потенциально возможные отношений между ними. В результате выбирается наиболее вероятная синтаксическая структура, фиксируются лексические значения и соответствующие им семантические классы всех элементов предложения.
[0091] Строится семантическая структура запроса, которая, наряду с синтаксической структурой предложения может использоваться для формальных заключений с использованием данных, хранящихся в онтологиях 1480. Например, на вопрос "Кто выиграл на римскую Олимпиаду в фехтовании?" должно быть найдено, в частности, предложение "Петров стал Олимпийским чемпионом в фехтовании в 1960 году". Унификация семантических структур производится с помощью трансформационных правил, правил онтологии и сопоставления данных онтологии о том, что "римская Олимпиада была в 1960 году", "в 1960 году Олимпиада проводилась в Риме", "римская Олимпиада"="Олимпиада в Риме", "выиграть Олимпиаду"="стать Олимпийским чемпионом". А также, "Олимпиада в Риме"="летние Олимпийские игры 1960 года".
[0092] Онтология может включать описание, например, сущностей, классов (концептов, понятий), атрибутов, отношений и онтофактов. Например, сущности являются экземплярами или объектами классов, которые представляют собой базовый уровень понятий (объектов). Также, классы могут представлять множества, коллекции, концепты, классы в программировании, типы объектов, виды (сорта) вещей и т.п. Примерами классов могут быть Person (персоны), Geographical Object (географические объекты), Company (компании), Organization (организации), Numerical Value (численные значения) и т.д.
[0093] Атрибуты выражают, аспекты, свойства, признаки, характеристики или параметры, которые могут иметь объекты или классы. Отношения есть способ выражения отношений сущностей и классов друг к другу и между собой. Некоторые из событий могут вызывать изменение атрибутов или отношений. Онтологии описываются с использованием специальных языков онтологии.
[0094] Упомянутые объекты онтологии - сущности, классы (концепты), атрибуты, отношения, онтофакты могут быть включены в поисковый запрос. Могут быть использованы разные способы для спецификации слов, включенных в запрос, как онтологических объектов. Например, в запросе "Dakota" может означать, по меньшей мере, локацию, персону или организацию. В одной реализации, такие объекты могут быть помечены явно, например, "Dakota%person". В другой реализации, если включена опция "Искать в онтологии", пользователь может увидеть меню для выбора типа онтологического объекта, как показано, например, на Фиг.14A. В еще одной реализации, тип онтологического объекта может быть определен автоматически. Например, на основе анализа запроса, прагматического или контекстного анализа предыдущих запросов, темы корпуса, выбранного для поиска, информации о пользователе и т.д. Например, для запроса "(apple OR НТС) AND NOT litigation" система может проанализировать тематику слов в запросе и сделать вывод, что, с большей вероятностью, для "apple" следует выбрать соответствующее лексическое значение в семантическом классе APPLE_COMPUTER_FIRM, нежели в классах "FRUIT" или "FRUIT_TREE", а если включена опция "Искать в онтологии", то система автоматически выберет тип объекта - Company и пользователь сможет увидеть информацию из онтологии, имеющую отношение к компании Apple. В случае неоднозначности, пользователю может быть задано один-два вопроса для уточнения типа объекта.
[0095] Теперь, учитывая варианты искомых семантических и синтаксических структур и данные полученные из онтологии 1480, системой может быть составлен исчерпывающий семантический запрос к индексам 1460 соответствующего корпуса текстов 1470. Поскольку смысл (семантика) исходного вопроса зафиксирован, системой в процессе поиска 1440 ищутся лексические значения и семантические структуры предложений, содержащих ответ на искомый вопрос с учетом возможных вариантов формулировки вопроса и различных синтаксических и лексических вариантов ответа. Также, поиск производится с учетом анафорических и других референциальных связей между предложениями, устанавливаемых при построении семантических структур анализируемых предложений на этапе 107 (Фиг.1A), так что система находит фрагменты текста, где объект поиска выражен неявно, при помощи отсылок, как-то личные, указательные, относительные местоимения, референтные именные группы, нулевые группы, замещения и т.п.
[0096] Каждый найденный фрагмент текста может быть формально оценен 1450 по степени релевантности запросу. В частности, в одной из реализаций изобретения, оценка релевантности 1450 учитывает индексирование лексических значений с вероятностью при построении индекса 109, как это было описано при описании этапа 108, изображенного на Фиг.1. Таким образом, результаты поиска 1490 могут быть ранжированы по релевантности и показаны пользователю в соответствующем порядке.
[0097] На Фиг.15 приведен возможный пример вычислительного средства 1500, которое может быть использовано для внедрения настоящего изобретения, осуществленного так, как было описано выше. Вычислительное средство 1500 включает в себя, по крайней мере, один процессор 1502, соединенный с памятью 1504. Процессор 1502 может представлять собой один или более процессоров, может содержать одно, два или более вычислительных ядер. Память 1504 может представлять собой оперативную память (ОЗУ), а также содержать любые другие типы и виды памяти, в частности, устройства энергонезависимой памяти (например, флэш-накопители) и постоянные запоминающие устройства, например жесткие диски и т.д. Кроме того, может считаться, что память 1504 включает в себя аппаратные средства хранения информации, физически размещенные где-либо еще в составе вычислительного средства 1500, например кэшпамять в процессоре 1502, память, используемую в качестве виртуальной и хранимую на внешнем либо внутреннем постоянном запоминающем устройстве 1510.
[0098] Вычислительное средство 1500 также обычно имеет некоторое количество входов и выходов для передачи информации вовне и получения информации извне. Для взаимодействия с пользователем вычислительное средство 1500 может содержать одно или более устройств ввода (например, клавиатура, мышь, сканер и т.д.) и устройство отображения 1508 (например, жидкокристаллический дисплей). Вычислительное средство 1500 также может иметь одно или более постоянных запоминающих устройств 1510, например, привод оптических дисков (CD, DVD или другой), жесткий диск, ленточный накопитель. Кроме того, вычислительное средство 1500 может иметь интерфейс с одной или более сетями 1512, обеспечивающими соединение с другими сетями и вычислительными устройствами. В частности, это может быть локальная сеть (LAN), беспроводная сеть Wi-Fi, соединенные со всемирной сетью Интернет или нет. Подразумевается, что вычислительное средство 1500 включает подходящие аналоговые и/или цифровые интерфейсы между процессором 1502 и каждым из компонентов 1504, 1506, 1508, 1510 и 1512.
[0099] Вычислительное средство 1500 работает под управлением операционной системы 1514 и выполняет различные приложения, компоненты, программы, объекты, модули и т.д., указанные обобщенно цифрой 1516.
[00100] Вообще программы, исполняемые для реализации способов, соответствующих данному изобретению, могут являться частью операционной системы или представлять собой обособленное приложение, компоненту, программу, динамическую библиотеку, модуль, скрипт либо их комбинацию.
[00101] Настоящее описание излагает основной изобретательский замысел авторов, который не может быть ограничен теми аппаратными устройствами, которые упоминались ранее. Следует отметить, что аппаратные устройства, прежде всего, предназначены для решения узкой задачи. С течением времени и с развитием технического прогресса такая задача усложняется или эволюционирует. Появляются новые средства, которые способны выполнить новые требования. В этом смысле следует рассматривать данные аппаратные устройства с точки зрения класса решаемых ими технических задач, а не чисто технической реализации на некой элементной базе.
название | год | авторы | номер документа |
---|---|---|---|
СИСТЕМА И МЕТОД СЕМАНТИЧЕСКОГО ПОИСКА | 2013 |
|
RU2563148C2 |
РАСШИРЕНИЕ ВОЗМОЖНОСТЕЙ ИНФОРМАЦИОННОГО ПОИСКА | 2015 |
|
RU2618375C2 |
ИЗВЛЕЧЕНИЕ СУЩНОСТЕЙ ИЗ ТЕКСТОВ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ | 2015 |
|
RU2626555C2 |
СИСТЕМА И СПОСОБ СОЗДАНИЯ И ИСПОЛЬЗОВАНИЯ ПОЛЬЗОВАТЕЛЬСКИХ ОНТОЛОГИЧЕСКИХ МОДЕЛЕЙ ДЛЯ ОБРАБОТКИ ПОЛЬЗОВАТЕЛЬСКОГО ТЕКСТА НА ЕСТЕСТВЕННОМ ЯЗЫКЕ | 2015 |
|
RU2596599C2 |
СПОСОБ ИЗВЛЕЧЕНИЯ ФАКТОВ ИЗ ТЕКСТОВ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ | 2016 |
|
RU2637992C1 |
СИСТЕМА И СПОСОБ СОЗДАНИЯ И ИСПОЛЬЗОВАНИЯ ПОЛЬЗОВАТЕЛЬСКИХ СЕМАНТИЧЕСКИХ СЛОВАРЕЙ ДЛЯ ОБРАБОТКИ ПОЛЬЗОВАТЕЛЬСКОГО ТЕКСТА НА ЕСТЕСТВЕННОМ ЯЗЫКЕ | 2015 |
|
RU2584457C1 |
СИСТЕМА И МЕТОД АВТОМАТИЧЕСКОГО СОЗДАНИЯ ШАБЛОНОВ | 2018 |
|
RU2697647C1 |
ИЗВЛЕЧЕНИЕ ИНФОРМАЦИИ ИЗ СМЫСЛОВЫХ БЛОКОВ ДОКУМЕНТОВ С ИСПОЛЬЗОВАНИЕМ МИКРОМОДЕЛЕЙ НА БАЗЕ ОНТОЛОГИИ | 2017 |
|
RU2662688C1 |
СОЗДАНИЕ ОНТОЛОГИЙ НА ОСНОВЕ АНАЛИЗА ТЕКСТОВ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ | 2014 |
|
RU2606873C2 |
ИСЧЕРПЫВАЮЩАЯ АВТОМАТИЧЕСКАЯ ОБРАБОТКА ТЕКСТОВОЙ ИНФОРМАЦИИ | 2014 |
|
RU2662699C2 |
Настоящее изобретение относится к технологиям поиска информации в электронных ресурсах и способам представления результатов поиска. Технический результат состоит в повышении точности и скорости поиска информации. В способе организации поиска получают запрос на поиск, включающий группу слов. Затем показывают список лексических значений для упомянутой группы слов. Пользователь выбирает лексические значения из списка, после чего проводится семантико-синтаксический анализ найденных фрагментов с определением лексических значений. Затем распределяют найденные фрагменты по кластерам лексических значений, а пользователю показывают результаты поиска, релевантные выбранному лексическому значению. 2 н. и 28 з.п. ф-лы, 29 ил.
1. Способ организации поиска в корпусах электронных текстов для компьютерной системы и показа результатов поиска в интерфейсе пользователя, включающий:
- получение запроса на поиск, включающего одну или несколько групп слов;
- показ списка лексических значений для одной или нескольких групп слов, образующих запрос;
- выбор пользователем одного или нескольких лексических значений из списка лексических значений;
- семантико-синтаксический анализ найденных фрагментов с определением лексических значений;
- распределение найденных фрагментов по кластерам лексических значений для показа пользователю;
- показ пользователю результатов поиска, релевантных выбранному лексическому значению.
2. Способ по п.1, в котором группа слов является словосочетанием.
3. Способ по п.1, в котором группа слов состоит из одного слова.
4. Способ по п.1, дополнительно включающий поиск фрагментов в корпусах электронных текстов, удовлетворяющих запросу, где показ пользователю результатов поиска основан на результатах поиска фрагментов.
5. Способ по п.1, где список лексических значений для групп слов, образующих запрос, формируется на основе запроса к семантической иерархии.
6. Способ по п.5, где список лексических значений для групп слов, образующих запрос, фильтруется на основе семантико-синтаксического анализа запроса, чтобы исключить те лексические значения, сочетания которых невозможны.
7. Способ по п.1, дополнительно включающий предварительный семантико-синтаксический анализ корпуса текстов с определением лексических значений и их последующим индексированием и сохранением индексов.
8. Способ по п.7, где поиск фрагментов в корпусах электронных текстов выполняется для выбранного пользователем лексического значения и показ пользователю результатов поиска основан на результатах поиска фрагментов.
9. Способ по п.1, где лексические значения из списка лексических значений для групп слов, образующих запрос, при показе пользователю атрибутируются.
10. Способ по п.1, где список лексических значений для слов или словосочетаний, образующих запрос, представлен в виде раскрывающегося списка.
11. Способ по п.1, где каждое лексическое значение для слова или словосочетания, образующих запрос, представлено в виде закладки на панели закладок.
12. Способ по п.4, где каждое лексическое значение для слова или группы слов, образующих запрос, сопровождается числом найденных фрагментов.
13. Способ по п.7, где порядок лексических значений в списке лексических значений для слов или словосочетаний, образующих запрос, формируется на основе априорных оценок лексических значений, представленных в семантической иерархии.
14. Способ по п.4, где порядок лексических значений в списке лексических значений для слов или словосочетаний, образующих запрос, формируется на основе реального числа найденных в процессе поиска в корпусе текстов каждого из лексических значений, представленных в семантической иерархии.
15. Способ по п.4, где поиск фрагментов в корпусах электронных текстов, удовлетворяющих запросу, выполняется по ключевым словам, присутствующим в запросе.
16. Система организации поиска и показа в интерфейсе пользователя результатов поиска в корпусах электронных текстов, включающая:
- один или более процессоров;
- одно или более устройств памяти;
- программные инструкции для вычислительного устройства, записанные в одно или более устройств памяти, которые при выполнении на одном или более процессорах управляют системой для:
- получения запроса на поиск, включающего одну или несколько групп слов;
- показа списка лексических значений для одной или нескольких групп слов, образующих запрос;
- выбора пользователем одного или нескольких лексических значений из списка лексических значений;
- семантико-синтаксического анализа найденных фрагментов с определением лексических значений;
- распределения найденных фрагментов по кластерам лексических значений для показа пользователю;
- показа пользователю результатов поиска, релевантных выбранному лексическому значению.
17. Система по п.16, в которой группа слов является словосочетанием.
18. Система по п.16, в которой группа слов состоит из одного слова.
19. Система по п.16, дополнительно включающая поиск фрагментов в корпусах электронных текстов, удовлетворяющих запросу, где показ пользователю результатов поиска основан на результатах поиска фрагментов.
20. Система по п.16, где список лексических значений для групп слов, образующих запрос, формируется на основе запроса к семантической иерархии.
21. Система по п.20, где список лексических значений для групп слов, образующих запрос, фильтруется на основе семантико-синтаксического анализа запроса, чтобы исключить те лексические значения, сочетания которых невозможны.
22. Система по п.16, дополнительно включающая предварительный семантико-синтаксический анализ корпуса текстов с определением лексических значений и их последующим индексированием и сохранением индексов.
23. Система по п.22, где поиск фрагментов в корпусах электронных текстов выполняется для выбранного пользователем лексического значения и показ пользователю результатов поиска основан на результатах поиска фрагментов.
24. Система по п.16, где лексические значения из списка лексических значений для групп слов, образующих запрос, при показе пользователю атрибутируются.
25. Система по п.16, где список лексических значений для слов или словосочетаний, образующих запрос, представлен в виде раскрывающегося списка.
26. Система по п.16, где каждое лексическое значение для слова или словосочетания, образующих запрос, представлено в виде закладки на панели закладок.
27. Система по п.19, где каждое лексическое значение для слова или группы слов, образующих запрос, сопровождается числом найденных фрагментов.
28. Система по п.22, где порядок лексических значений в списке лексических значений для слов или словосочетаний, образующих запрос, формируется на основе априорных оценок лексических значений, представленных в семантической иерархии.
29. Система по п.19, где порядок лексических значений в списке лексических значений для слов или словосочетаний, образующих запрос, формируется на основе реального числа найденных в процессе поиска в корпусе текстов каждого из лексических значений, представленных в семантической иерархии.
30. Система по п.19, где поиск фрагментов в корпусах электронных текстов, удовлетворяющих запросу, выполняется по ключевым словам, присутствующим в запросе.
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
СПОСОБ И СИСТЕМА СЕМАНТИЧЕСКОГО ПОИСКА ЭЛЕКТРОННЫХ ДОКУМЕНТОВ | 2011 |
|
RU2473119C1 |
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем | 1924 |
|
SU2012A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Авторы
Даты
2015-10-10—Публикация
2014-03-31—Подача