Способ извлечения фактов из текстов на естественном языке

Иллюстрации

Показать все

Изобретение относится к системам и способам обработки естественного языка. Техническим результатом является обеспечение возможности конечному пользователю извлекать информацию – сущности и факты и создавать онтологии в автоматическом режиме. В способе извлечения фактов из текстов на естественном языке получают идентификатор первого токена, содержащегося в тексте и включающего слово естественного языка, ссылающееся на первый информационный объект, представленный первой именованной сущностью. Получают идентификаторы первого множества слов, представляющего первый факт определенной категории фактов, связанный с первым информационным объектом некоторой категории информационных объектов. Определяют в тексте второе множество слов, включающее второй токен, ссылающийся на второй информационный объект, ассоциирующийся с указанной категорией информационных объектов. В ответ на получение подтверждения того, что второе множество слов представляет второй факт, связанный со вторым информационным объектом той же категории информационных объектов, извлекают второй факт и сохраняют его в форме RDF-графа. Изменяют параметр функции классификатора, которая дает значение, отражающее степень ассоциации данной семантической структуры с фактом из определенной категории фактов. 3 н. и 17 з.п. ф-лы, 27 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ

[0001] Настоящее изобретение в целом относится к вычислительным системам, а точнее - к системам и способам обработки естественного языка.

УРОВЕНЬ ТЕХНИКИ

[0002] Интерпретация неструктурированной информации, представленной текстом на естественном языке, может быть затруднена многозначностью, которая является неотъемлемой особенностью естественных языков. Решению задачи интерпретации текстов на естественном языке может способствовать поиск семантически подобных языковых конструкций, их сравнение и определение степени подобия.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

[0003] В соответствии с одним или более аспектами настоящего изобретения пример способа извлечения фактов из текстов на естественном языке может включать: получение идентификатора токена, содержащегося в тексте на естественном языке, при этом токен содержит, как минимум, одно слово естественного языка, ссылающееся на первый информационный объект; получение идентификаторов первого множества слов, относящегося к первому факту в определенной категории фактов, при этом первый факт ассоциирован с первым информационным объектом определенной категории информационных объектов; определение в тексте на естественном языке второго множества слов; и в ответ на получение подтверждения того, что второе множество слов представляет второй факт, связанный со вторым информационным объектом определенной категории информационных объектов, изменение параметра функции классификатора, которая дает значение, отражающее степень связи данной семантической структуры с фактом из определенной категории фактов.

[0004] В соответствии с одним или более аспектами настоящего изобретения пример системы извлечения фактов из текстов на естественных языках может включать: память и соединенный с памятью процессор, причем процессор настроен на: получение идентификатора токена, содержащегося в тексте на естественном языке, при этом токен содержит, как минимум, одно слово естественного языка, ссылающееся на первый информационный объект; получение идентификаторов первого множества слов, относящегося к первому факту в определенной категории фактов, при этом первый факт ассоциирован с первым информационным объектом определенной категории информационных объектов; определение в тексте на естественном языке второго множества слов; и в ответ на получение подтверждения того, что второе множество слов представляет второй факт, связанный со вторым информационным объектом определенной категории информационных объектов, изменение параметра функции классификатора, которая дает значение, отражающее степень связи данной семантической структуры с фактом из определенной категории фактов.

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0006] Настоящее изобретение иллюстрируется с помощью примеров, а не способом ограничения, и может быть лучше понято при рассмотрении приведенного ниже описания предпочтительных вариантов реализации в сочетании с чертежами, на которых:

[0007] На Фиг. 1 приведена блок-схема одного иллюстративного примера способа настройки параметров функции классификатора, используемой для извлечения фактов из текстов на естественном языке в соответствии с одним или более аспектами настоящего изобретения;

[0008] На Фиг. 2 приведена блок-схема одного иллюстративного примера способа извлечения фактов из текста на естественном языке в соответствии с одним или более аспектами настоящего изобретения;

[0009] На Фиг. 3А-3С приведен пример экрана графического интерфейса пользователя (GUI) для отображения текстов на естественном языке, в котором объекты, связанные с определенными концептами онтологии, визуально выделены в соответствии с одним или более аспектами настоящего изобретения;

[00010] На Фиг. 4А-4В приведен схематический пример графического интерфейса пользователя (GUI) для визуального представления онтологии, полученной путем анализа множества текстов на естественном языке в соответствии с одним или более аспектами настоящего изобретения;

[00011] На Фиг. 5 схематически показана семантическая структура, полученная в результате анализа примера предложения в соответствии с одним или более аспектами настоящего изобретения;

[00012] На Фиг. 6 схематически показаны информационные объекты и факты, извлеченные из примера предложения на Фиг. 5 системами и способами, в соответствии с одним или более аспектами настоящего изобретения;

[00013] На Фиг. 7А-7С схематически показаны фрагменты семантической структуры, соответствующей этому примеру предложения;

[00014] На Фиг. 8А-8С схематически показаны продукционные правила, применяемые к подмножеству семантической структуры, соответствующей примеру предложения, для извлечения информационных объектов и фактов в соответствии с одним или более аспектами настоящего изобретения;

[00015] На Фиг. 9 показана блок-схема одного из иллюстративных примеров способа 400 семантико-синтаксического анализа предложения на естественном языке в соответствии с одним или более аспектами настоящего изобретения;

[00016] На Фиг. 10 схематически показан пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения;

[00017] На Фиг. 11 схематически показаны языковые описания, представляющие модель естественного языка в соответствии с одним или более аспектами настоящего изобретения;

[00018] На Фиг. 12 схематически показаны примеры морфологических описаний в соответствии с одним или более аспектами настоящего изобретения;

[00019] На Фиг. 13 схематически показаны примеры синтаксических описаний в соответствии с одним или более аспектами настоящего изобретения;

[00020] На Фиг. 14 схематически показаны примеры семантических описаний в соответствии с одним или более аспектами настоящего изобретения;

[00021] На Фиг. 15 схематически показаны примеры лексических описаний в соответствии с одним или более аспектами настоящего изобретения;

[00022] На Фиг. 16 схематически показаны примеры структур данных, которые могут быть использованы в рамках одного или более способов, реализованных в соответствии с одним или более аспектами настоящего изобретения;

[00023] На Фиг. 17 схематически показан пример графа обобщенных составляющих в соответствии с одним или более аспектами настоящего изобретения;

[00024] На Фиг. 18 показан пример синтаксической структуры, соответствующей предложению, приведенному на Фиг. 17;

[00025] На Фиг. 19 показана семантическая структура, соответствующая синтаксической структуре, приведенной на Фиг. 18;

[00026] На Фиг. 20 изображена блок-схема примера вычислительного устройства, осуществляющего методы настоящего изобретения.

ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ

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

[00028] В настоящем документе термин «вычислительная система» означает устройство обработки данных, оснащенное универсальным процессором, памятью и по меньшей мере одним коммуникационным интерфейсом. Примерами вычислительных систем, которые могут использовать описанные в этом документе способы, являются, в частности, настольные компьютеры, ноутбуки, планшетные компьютеры и смартфоны.

[00029] «Онтология» в настоящем документе означает модель, которая представляет объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Онтология может включать определения некого множества классов, где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также называться «концепт», а принадлежащий классу объект может означать экземпляр данного концепта.

[00030] Определение каждого класса может далее включать одно или несколько определений отношений, описывающих типы отношений, соотнесенных с объектами данного класса. Отношения определяют различные типы взаимодействия между связывающими этими отношениями объектами. В некоторых реализациях изобретения различные отношения могут быть организованы в виде всеобщей таксономии, например, отношения «отцовства» и «материнства» могут быть включены в более общее отношение «быть родителем», которое, в свою очередь, может быть включено в более общее отношение «быть кровным родственником». Каждое определение класса может дополнительно содержать одно или более ограничений, определяющих некоторые свойства объектов класса. В некоторых реализациях изобретения класс может быть предком или потомком другого класса. Определение объекта может представлять собой материальный реальный объект (например, человека или предмет) или определенное понятие, связанное с одним или более реальными объектами (например, число или слово). В иллюстративном примере класс «Person» (Персона) может быть представлен одним или более объектами, соответствующими определенным личностям. В некоторых реализациях объект может быть ассоциирован с двумя или более классами.

[00031] Извлечение информации может включать анализ текста на естественном языке с целью распознавания информационных объектов, таких, например, как именованные сущности. Распознавание именованных сущностей (NER) представляет собой задачу по извлечению информации, в ходе выполнения которой производится определение токенов в тексте на естественном языке и классификация их по заранее определенным категориям, таким как имена людей, названия организаций, географические названия, представление времени, количества, денежные суммы, проценты и т.д. Эти категории могут быть представлены концептами заранее определенной или динамически выстраиваемой онтологии.

[00032] После распознавания именованных сущностей может быть применено извлечение информации для разрешения кореференций и анафорических связей между токенами текста (каждый токен может содержать одно или более слов). «Кореференция» в настоящем документе означает конструкцию естественного языка, содержащую два или более токенов естественного языка, которые относятся к одной сущности (например, одному и тому же лицу, вещи, месту или организации). Например, в предложении «После того, как Джон получил диплом MIT, ему предложили работу в Microsoft» собственное имя «Джон» и местоимение «ему» относится к одному человеку. Из двух токенов кореференций тот токен, на который дается ссылка, может обобщенно именоваться антецедентом, а тот, который ссылается на него - проформой или анафорой.

[00033] После распознавания именованных сущностей и разрешения кореференций может производиться извлечение информации с целью определения отношений между распознанными именованными сущностями и (или) другими информационными объектами. Примерами таких отношений могут быть работа лица X в организационном подразделении Y, расположение объекта X в геопозиционировании Y, приобретение организационной единицей X организационной единицы Y и т.д. Подобные отношения могут быть выражены фрагментами на естественном языке, которые могут содержать множество слов из одного или более предложений.

[00034] Отношения между распознанными именованными сущностями и (или) другими информационными объектами именуются в настоящем документе «фактами». Факт может быть отнесен к одной или более категориям фактов. Например, факт, связанный с лицом, может относиться к рождению лица, его образованию, занятости, трудовой деятельности и т.д. В другом примере факт, связанный с коммерческой операцией, может относиться к типу операции и сторонами операции, обязательствами сторон, датой подписания контракта, датой исполнения, выплатами по контракту и т.д.

[00035] Факты, связанные с одной категорией, могут выражаться различными языковыми конструкциями, имеющими различные морфологические, лексические и синтаксические атрибуты. Например, следующие фразы отражают факт трудовой деятельности лица X в организационной единице Y: Джон трудится в IBM. Пол работал в Microsoft более пяти лет. Джордж - начальник отдела в Hewlett Packard. Алексей Венедиктов, главный редактор "Эха Москвы ".

[00036] Категория фактов (например, относящихся к истории трудовой деятельности) может быть организована в виде иерархических структур и может быть связана с классами онтологии. Способы, описанные в настоящем документе, предполагают, что факты, связанные с одной и той же категорией (и одним и тем же концептом онтологии), могут выражаться фрагментами текста на естественном языке, имеющими схожие независимые от языка семантические структуры. Эти семантические структуры могут быть обнаружены с помощью функций классификатора, параметры которых могут настраиваться с помощью методов управляемого обучения, подробнее описанных ниже в настоящем документе.

[00037] В соответствии с одним или более аспектами настоящего изобретения, вычислительное устройство может получить текст на естественном языке (например, документ или совокупность документов), связанный с определенным текстовым корпусом). Кроме того, вычислительное устройство может получить один или более идентификаторов токенов, которые ссылаются на примеры информационных объектов (например, именованных сущностей), связанных с некоторыми категориями информационных объектов (например, категории именованных сущностей). В некоторых реализациях изобретения примеры идентификаторов токенов можно получить с помощью графического интерфейса пользователя (GUI), который позволяет пользователю визуально выделить части отображаемого текста. При альтернативном подходе образцы идентификаторов токенов можно получить в виде метаданных, сопровождающих текст на естественном языке.

[00038] Для каждой группы из одного или более экземпляров токенов вычислительное устройство может дополнительно получить идентификаторы множества слов, входящих в текст на естественном языке, которые описывают пример факта, связанного с экземплярами именованных сущностей. В некоторых реализациях изобретения идентификаторы слов можно получить с помощью графического интерфейса пользователя (GUI), который позволяет пользователю визуально выделить части отображаемого текста. Кроме того, идентификаторы слов можно получить в виде метаданных, сопровождающих текст на естественном языке.

[00039] Затем вычислительное устройство может произвести семантико-синтаксический анализ текста на естественном языке. При синтаксическом и семантическом анализе может быть получено множество семантических структур, каждая из которых представляет предложение на естественном языке. Каждая семантическая структура может быть представлена ациклическим графом, который включает множество узлов, соответствующих семантическим классам, и множество дуг, соответствующих семантическим отношениям, что описано более подробно ниже со ссылкой на Фиг. 19.

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

[00041] Вычислительное устройство может выделить из множества семантических структур, полученных в результате синтактико-семантического анализа, одну или более семантических структур-кандидатов, которые содержат элементы, соответствующие именованным сущностям, и с точки зрения определенной метрики сходства, похожие по меньшей мере на одну из семантических структур, которые представляют предложения, включающие выделенные пользователем слова как примеры именованных сущностей данной категории. В некоторых реализациях изобретения при оценке степени ассоциирования семантической структуры с заданной категорией фактов вычислительное устройство может использовать машинные методы классификации (также называемые методами «машинного обучения»), которые используют уже существующие или динамически создаваемые обучающие и тестовые выборки, которые коррелируют параметры семантической структуры и категории фактов. Такие методы могут включать методы дифференциальной эволюции, генетические алгоритмы, наивный классификатор Байеса, методы случайного леса (решающих деревьев), нейронные сети и т.д.

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

[00043] В иллюстративном примере устройство обработки может использовать обучающие и тестовые выборки для настройки параметров одной или более функций классификатора, которые порождают значение, отражающее степень ассоциирования заданной семантической структуры с определенной категорией фактов.

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

[00045] Различные аспекты упомянутых выше способов и систем подробно описаны ниже в этом документе с помощью примеров, а не способом ограничения.

[00046] На Фиг. 1 приведена блок-схема одного иллюстративного примера способа настройки параметров функции классификатора, используемой для извлечения фактов из текстов на естественном языке в соответствии с одним или более аспектами настоящего изобретения. Способ 100 и (или) каждая из его отдельных функций, процедур, подпрограмм или операций могут быть реализованы с помощью одного или более процессоров вычислительного устройства (например, вычислительного устройства 1000 на Фиг. 20), в котором реализован этот способ. В некоторых реализациях способ 100 может быть реализован в одном потоке обработки. При альтернативном подходе способ 100 может быть реализован с использованием двух или более потоков обработки, при этом в каждом потоке реализована одна или более отдельных функций, процедур, подпрограмм или операций этого способа. В иллюстративном примере потоки обработки, в которых реализован способ 100, могут быть синхронизированы (например, с помощью семафоров, критических секций и (или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, реализующие способ (100), могут выполняться асинхронно по отношению друг к другу.

[00047] В блоке 110 вычислительное устройство, в котором реализован этот способ, может получить текст на естественном языке (например, документ или совокупность документов). В иллюстративном примере вычислительное устройство может получить текст на естественном языке в виде электронного документа, который может быть получен путем сканирования или за счет применения иного способа получения изображения с бумажного документа с последующим выполнением оптического распознавания символов (OCR), чтобы получить текст документа, связанный с этими документами. В иллюстративном примере вычислительное устройство может получить текст на естественном языке в виде одного или более форматированных файлов, например, файлов для системы электронной обработки текста, сообщений электронной почты, файлов цифровых данных и т.д.

[00048] В блоке 115 вычислительное устройство может получить идентификаторы одного или более экземпляров токенов, таких, что каждый такой токен содержит одно или более слов текста на естественном языке и ссылается на информационный объект из некоторой категории информационных объектов (например, некую именованную сущность, ассоциированную с некоторой категорией именованной сущности). В некоторых реализациях изобретения идентификаторы образцов токенов можно получить через графический интерфейс пользователя (GUI). Такой графический интерфейс пользователя может включать различные элементы управления для выбора идентификатора концепта онтологии, представляющем пример категории информационных объектов (например, категории именованных сущностей), и для выделения в тексте на естественном языке (что отображается в экране графического интерфейса пользователя) одного или более слов, представляющих пример информационного объекта (например, именованной сущности), связанного с выбранным концептом онтологии. При альтернативном подходе экземпляры идентификаторов токенов можно получить в виде метаданных, сопровождающих текст на естественном языке. В некоторых реализациях изобретения такие метаданные могут быть созданы другим приложением обработки естественного языка. В иллюстративном примере идентификаторы экземпляров токенов могут быть сгруппированы в определенной части текста на естественном языке (например, в определенном подмножестве страниц). В другом иллюстративном примере идентификаторы экземпляров токенов могут быть регулярно или случайным образом распределены по всему тексту.

[00049] В блоке 120 вычислительное устройство может получать идентификаторы множества слов из того же самого или иного текста на естественном языке. Эти слова могут представлять пример факта, связанного с одним или более экземплярами информационных объектов. В одной реализации, метаданные, получаемые в блоках 115 и 120 могут принадлежать одному и тому же тексту на естественном языке. В другой реализации, метаданные, получаемые в блоках 115 и 120 могут принадлежать различным текстам на естественном языке.

[00050] В некоторых вариантах реализации изобретения идентификаторы слов могут быть получены через графический интерфейс пользователя, который может включать различные элементы управления для выбора идентификатора в концепте онтологии, представляющем категории фактов, и для выделения в тексте на естественном языке (что отображается в экране графического интерфейса пользователя) одного или более слов, представляющих пример факта, связанный с идентифицированными ранее информационными объектами. В иллюстративном примере графический интерфейс пользователя может позволять выбрать слова, соответствующие примеру информационного объекта и примеру факта на одном экране.

[00051] Кроме того, идентификаторы слов можно получить в виде метаданных, сопровождающих текст на естественном языке. В некоторых реализациях изобретения такие метаданные могут быть созданы другим приложением обработки естественного языка. В иллюстративном примере идентификаторы слов могут быть сгруппированы в определенной части текста на естественном языке (например, в определенном подмножестве страниц). В другом иллюстративном примере идентификаторы слов могут быть регулярно или случайным образом распределены по всему тексту.

[00052] Операции, относящиеся к блокам 115-120, могут повторяться два или более раз, таким образом идентифицируя в тексте на естественном языке несколько образцов фактов, связанных с примерами информационных объектов одной или более категорий информационных объектов.

[00053] В блоке 125 вычислительное устройство может произвести семантико-синтаксический анализ текста на естественном языке. При синтаксическом и семантическом анализе может быть получено множество семантических структур, каждая из которых представляет соответствующее предложение на естественном языке. Каждая семантическая структура может быть представлена ациклическим графом, который включает множество узлов, соответствующих семантическим классам, и множество дуг, соответствующих семантическим отношениям, что описано более подробно ниже со ссылкой на Фиг. 19. Для упрощения любое подмножество семантической структуры в этом документе мы будем называть «структурой» (а не «подструктурой»), если только не рассматривается отношение типа «родитель-потомок» между двумя семантическими структурами.

[00054] В блоке 130 вычислительное устройство может определить среди множества полученных в результате семантико-синтаксического анализа семантических структур семантические структуры, представляющие предложения, которые содержат слова, определенные метаданными, на которые получены ссылки в блоке 120.

[00055] В блоке 135 вычислительное устройство может идентифицировать в тексте на естественном языке один или более токенов, представляющих собой образцы категорий информационных объектов. В некоторых вариантах реализации вычислительная система может интерпретировать множество семантических структур, используя набор продукционных правил для извлечения множества объектов, представляющих идентифицированные информационные объекты. Извлеченные объекты могут быть представлены в виде RDF-графа (Resource Definition Framework). RDF присваивает уникальный идентификатор каждому информационному объекту и сохраняет информацию о таком объекте в виде триплетов SPO, где S обозначает «субъект» и содержит идентификатор объекта, Р обозначает «предикат» и определяет некоторое свойство этого объекта, а О обозначает «объект» и сохраняет значение этого свойства данного объекта. Это значение может быть как примитивным типом данных (строкой, числом, булевым значением), так и идентификатором другого объекта. В одном из иллюстративных примеров триплет SPO может ассоциировать токен из текста на естественном языке с категорией информационных объектов.

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

[00057] Шаблон семантической структуры может содержать некоторые элементы семантической структуры (например, принадлежность к определенному лексическому/семантическому классу, нахождение в некоторой поверхностной или глубинной позиции, наличие определенной граммемы или семантемы и т.д.). Отношения между элементами семантических структур могут задаваться с помощью одного или более логических выражений (конъюнкция, дизъюнкция и отрицание) и (или) операций, характеризующих взаимное расположение узлов в синтактико-семантическом дереве. В качестве иллюстративного примера такая операция может проверять, принадлежит ли узел к поддереву другого узла.

[00058] Совпадение шаблона, определенного левой частью продукционного правила семантической структуры, с семантической структурой, представляющей, по крайней мере, часть предложения текста на естественном языке, может запускать правую часть продукционного правила. Правая часть продукционного правила может связывать один или более атрибутов (относящихся к лексическим, синтаксическим и (или) семантическим свойствам слов оригинального предложения) с информационными объектами, представленными узлами и/или модифицировать один или более атрибутов. В одном из иллюстративных примеров правая часть правила интерпретации может содержать утверждение, связывающее токен из текста на естественном языке с категорией информационных объектов.

[00059] Правило идентификации может использоваться для определения пары информационных объектов, которые представляют одну и ту же сущность из реального мира. Правило идентификации представляет собой продукционное правило, левая часть которого содержит одно или более логических выражений, относящихся к узлам семантического дерева, соответствующим информационным объектам. Если пара информационных объектов соответствует условию, определенному логическим выражением, информационные объекты объединяются в один информационный объект.

[00060] Кроме того, для определения в тексте на естественном языке одного или более токенов, представляющих образцы категорий информационных объектов, вычислительное устройство может выполнять итерации для множества токенов в тексте на естественном языке. Для каждого токена вычислительное устройство может определять степень ассоциирования с одной или более категориями информационных объектов. Оценка степени ассоциирования токена с определенной категорией именованных сущностей может быть представлена в иллюстративном примере в виде действительного числа, выбираемого в интервале [0, 1]. Для каждой категории информационных объектов для определения степени ассоциирования токена из исходного текста на естественном языке с соответствующей категорией информационных объектов может быть использована одна или более функций классификатора, определенных, как в иллюстративном примере, в гиперпространстве атрибутов токенов естественного языка. Атрибуты токена могут включать морфологические, лексические и (или) семантические атрибуты.

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

[00062] Определенные параметры функций классификатора могут корректироваться с помощью методов машинного обучения, которые используют заранее определенные или динамически созданные наборы обучающих и/или подтверждающих данных. Набор обучающих данных, как и набор подтверждающих данных может содержать один или более текстов на естественном языке, в которых отмечены отдельные информационные объекты и соответствующие им категории. В одном из иллюстративных примеров подобный набор подтверждающих данных может создаваться или обновляться с помощью GUI, предназначенного для получения данных от пользователя, который выделяет одно или более смежных слов и ассоциирует их с категорией информационных объектов.

[00063] Рассматривая еще раз Фиг. 1, в блоке 140 вычислительное устройство может определить среди множества семантических структур, полученных при синтактико - семантическом анализе текста на естественном языке, семантическую структуру-кандидат, которая содержит элемент, соответствующий токену, определенному в блоке 135 (то есть токену, представляющему информационный объект некоторой категории именованных сущностей), подобную по одной из метрик подобия, как минимум, одной из семантических структур, определенных в блоке 130 (то есть, семантической структуре, которая соответствует предложению, содержащему одно из множеств слов, определенных в блоке 120 как соответствующие экземпляру факта, связанному с примером информационного объекта). Определенная семантическая структура - кандидат предварительно описывает факт, связанный с экземпляром некоторой категории фактов.

[00064] В зависимости от требований к точности и (или) сложности вычислений эта метрика схожести может учитывать различные факторы, в том числе: структурное подобие семантических структур и их подструктур; наличие идентичных глубинных позиций или позиций, соотнесенных с тем же семантическим классом; наличие идентичных лексических или семантических классов в узлах семантических структур; наличие отношений «родитель-потомок» в определенных узлах семантических структур, так чтобы родитель и потомок были разделены не более, чем определенным числом уровней семантической иерархии; наличие общего предка по определенным семантическим классам и расстояния между узлами, представляющими данные классы. Если обнаруживается, что определенные семантические классы являются эквивалентными или в основном схожими, то эта метрика может далее принять во внимание наличие или отсутствие определенных дифференцирующих семантем и (или) другие факторы.

[00065] В некоторых реализациях изобретения выявление подобных семантических структур может выполняться с использованием набора правил классификации. Правило классификации может включать набор логических выражений, определенных в одном или более шаблонах семантических структур. Логические выражения могут отражать один или более упомянутых выше факторов сходства, так что набор правил классификации может определить, действительно ли две заданные семантические структуры являются сходными в выбранной метрике сходства. В различных иллюстративных примерах правило классификации может констатировать структурное сх