СИСТЕМА И МЕТОД АВТОМАТИЧЕСКОГО СОЗДАНИЯ ШАБЛОНОВ
SYSTEM AND METHOD FOR AUTOMATIC CREATION OF TEMPLATES

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение в целом относится к вычислительным системам, а точнее - к системам и способам обработки естественного языка.
УРОВЕНЬ ТЕХНИКИ
[0002] Извлечение информации может включать анализ текста на естественном языке для выявления и классификации информационных объектов в тексте в соответствии с заданным множеством категорий (например, имена лиц, организаций, мест, выражения времени, количества, денежных сумм, процентов и т.д.). Извлечение информации может дополнительно включать определение отношений между распознанными именованными информационными объектами.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0003] В соответствии с одним или более вариантами реализации настоящего изобретения пример способа автоматического создания шаблонов правил извлечения информации из текста на естественном языке может включать: получение вычислительным устройством первого текстового фрагмента, содержащего первый идентификатор первого текстового токена, причем первый токен содержит одно или несколько слов на естественном языке, и первый токен ссылается на первый информационный объект из первой категории информационных объектов; отображение с использованием графического пользовательского интерфейса, генерирующего шаблон, множества языковых характеристик первого токена; получение посредством графического пользовательского интерфейса, генерирующего шаблон, атрибутов первого ввода, идентифицирующего атрибуты шаблона из множества лингвистических характеристик первого информационного объекта; генерирование первого шаблона, основанного, по меньшей мере, частично на идентифицированных атрибутах шаблона; создание первого продукционного правила для первого шаблона; применение первого продукционного правила к частям первого текста на естественном языке, соответствующим первому шаблону; отображение с использованием графического пользовательского интерфейса, генерирующего шаблон, второго информационного объекта, идентифицированного с помощью продукционных правил в первом тексте на естественном языке.
[0004] В некоторых реализациях способа первый фрагмент представляет собой фрагмент текста, фрагмент первого текста на естественном языке и/или фрагмент второго текста на естественном языке и/или фрагмент семантической структуры, соответствующий первому тексту на естественном языке. В некоторых реализациях способ дополнительно включает в себя изменение посредством графического пользовательского интерфейса, генерирующего шаблон, первого продукционного правила на основе второго информационного объекта, и/или выполнение семантико-синтаксического анализа первого текста на естественном языке для создания семантической структуры, соответствующей первому тексту на естественном языке. В некоторых реализациях способа лингвистические характеристики первого токена выбираются из группы, состоящей из грамматических характеристик, синтаксических характеристик, семантических характеристик, лексического класса первого токена, семантического класса первого токена, положения семантического класса первого токена в семантической иерархии, ключевых слов и префиксов. В некоторых реализациях способа первое действие пользователя включает идентификацию одной из более релевантных лингвистических характеристик первого токена из множества лингвистических характеристик первого токена и/или обобщение одной или нескольких лингвистических характеристик первого токена из множества лингвистических характеристик первого токена. В некоторых реализациях способа первый информационный объект является именованной сущностью, соответствующей первой категории именованных объектов.
[0005] В соответствии с одним или более вариантами реализации настоящего изобретения пример системы автоматического создания шаблонов правил извлечения информации из текста на естественном языке может включать: память; процессор, связанный с указанной памятью, причем этот процессор выполнен с возможностью: получения вычислительным устройством первого текстового фрагмента, содержащего первый идентификатор первого текстового токена, причем первый токен содержит одно или несколько слов на естественном языке, и первый токен ссылается на первый информационный объект из первой категории информационных объектов; отображения с использованием графического пользовательского интерфейса, генерирующего шаблон, множества языковых характеристик первого токена; получения посредством графического пользовательского интерфейса, генерирующего шаблон, атрибутов первого ввода, идентифицирующего атрибуты шаблона из множества лингвистических характеристик первого информационного объекта; генерирования первого шаблона, основанного, по меньшей мере, частично на идентифицированных атрибутах шаблона; создания первого продукционного правила для первого шаблона; применения первого продукционного правила к частям первого текста на естественном языке, соответствующим первому шаблону; отображения с использованием графического пользовательского интерфейса, генерирующего шаблон, второго информационного объекта, идентифицированного с помощью продукционных правил в первом тексте на естественном языке.
[0006] В соответствии с одним или более вариантами реализации настоящего изобретения пример постоянного машиночитаемого носителя данных для автоматического создания шаблонов правил может включать исполняемые команды, которые при исполнении их вычислительной системой приводят к выполнению вычислительной системой операций, в том числе: получения вычислительным устройством первого текстового фрагмента, содержащего первый идентификатор первого текстового токена, причем первый токен содержит одно или несколько слов на естественном языке, и первый токен ссылается на первый информационный объект из первой категории информационных объектов; отображения с использованием графического пользовательского интерфейса, генерирующего шаблон, множества языковых характеристик первого токена; получения посредством графического пользовательского интерфейса, генерирующего шаблон, атрибутов первого ввода, идентифицирующего атрибуты шаблона из множества лингвистических характеристик первого информационного объекта; генерирования первого шаблона, основанного, по меньшей мере, частично на идентифицированных атрибутах шаблона; создания первого продукционного правила для первого шаблона; применения первого продукционного правила к частям первого текста на естественном языке, соответствующим первому шаблону; отображения с использованием графического пользовательского интерфейса, генерирующего шаблон, второго информационного объекта, идентифицированного с помощью продукционных правил в первом тексте на естественном языке.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0007] Настоящее изобретение иллюстрируется с помощью примеров, а не способом ограничения и может быть лучше понято при рассмотрении приведенного ниже описания предпочтительных вариантов реализации в сочетании с чертежами, на которых:
[0008] На Фиг. 1 приведена блок-схема одного иллюстративного примера способа автоматического создания шаблонов для правил извлечения информации в соответствии с вариантами реализации настоящего изобретения;
[0009] На Фиг. 2А показан пример правила извлечения информации из текстов на естественном языке в соответствии с одним или более вариантами реализации настоящего изобретения;
[00010] На Фиг. 2В показан пример семантической структуры предложения. Правило, представленное на Фиг. 2А, применимо к предложению, представленному семантической структурой, изображенной на Фиг. 2В.
[00011] На Фиг. 3А показан пример окна выбора семантического класса графического интерфейса пользователя на примере одного предложения в соответствии с одним или более вариантами реализации настоящего изобретения;
[00012] На Фиг. 3В показан пример окна выбора семантического отношения графического интерфейса пользователя на примере одного предложения в соответствии с одним или более вариантами реализации настоящего изобретения;
[00013] На Фиг. 4А и 4В показаны примеры окна графического интерфейса пользователя для выбора атрибутов извлекаемых информационных объектов в соответствии с одним или более вариантами реализации настоящего изобретения;
[00014] На Фиг. 5 показана блок-схема одного из иллюстративных примеров способа 400 семантико-синтаксического анализа предложения на естественном языке в соответствии с одним или более вариантами реализации настоящего изобретения;
[00015] На Фиг. 6 схематически показан пример лексико-морфологической структуры предложения в соответствии с одним или более вариантами реализации настоящего изобретения;
[00016] На Фиг. 7 схематически показаны языковые описания, представляющие модель естественного языка, в соответствии с одним или более вариантами реализации настоящего изобретения;
[00017] На Фиг. 8 схематически показаны примеры морфологических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;
[00018] На Фиг. 9 схематически показаны примеры синтаксических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;
[00019] На Фиг. 10 схематически показаны примеры семантических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;
[00020] На Фиг. 11 схематически показаны примеры лексических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;
[00021] На Фиг. 12 схематически показаны примеры структур данных, которые могут быть использованы в рамках одного или более способов, реализованных в соответствии с одним или более вариантами реализации настоящего изобретения;
[00022] На Фиг. 13 схематически показан пример графа обобщенных составляющих в соответствии с одним или более вариантами реализации настоящего изобретения;
[00023] На Фиг. 14 приводится пример синтаксической структуры, соответствующей предложению, приведенному на Фиг. 13;
[00024] На Фиг. 15 показана семантическая структура, соответствующая синтаксической структуре, приведенной на Фиг. 14;
[00025] На Фиг. 16 показана схема примера вычислительной системы, реализующей способы настоящего изобретения.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ
[00026] В настоящем документе описываются способы и системы автоматического создания шаблонов правил извлечения информации из текстов на естественном языке. Правила для извлечения сущностей и/или фактов обычно пишутся вручную специалистом-онтоинженером, это процесс, требующий высокой квалификации, знания особенностей предметной области и знания структуры массива документов, из которого должна извлекаться информация.
[00027] Информация, которую предстоит извлекать, может включать информационные объекты, их атрибуты, отношения, а также факты, связанные с информационными объектами и т.д. Информационные объекты могут затем стать объектами (экземплярами) некоторой онтологии.
[00028] "Онтология" означает модель, которая представляет собой объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Онтология может включать определения некого множества классов (или категорий), где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также означать концепт, а принадлежащий классу объект может означать экземпляр данного концепта.
[00029] Определение каждого класса может далее включать одно или более определений отношений одного или более отнесенных к данному классу объектов. Отношения определяют различные типы взаимодействий между связанными объектами. В некоторых реализациях изобретения различные отношения могут быть организованы во всеобщей таксономии, например, отношения «отцовства» и «материнства» могут быть включены в более общее отношение «быть родителем», которое в свою очередь может быть включено в более общее отношение «быть кровным родственником». Каждое определение класса может включать ограничения, определяющие свойства отнесенных к данному классу объектов. В некоторых реализациях изобретения класс может быть предком или потомком другого класса.
[00030] Информационный объект может представлять собой материальный объект реального мира (как, например, человек или вещь) либо некое понятие, соотнесенное с одним или более объектами реального мира (как, например, число или слово). В определенных вариантах осуществления объект может быть соотнесен с двумя или более классами.
[00031] Иногда онтология может являться предком или (и) потомком другой онтологии, в случае чего концепты и свойства онтологии-предка также относятся к онтологии-потомку.
[00032] Извлечение информации может включать анализ текста на естественном языке с целью распознавания информационных объектов, таких, например, как именованные сущности. Распознавание именованных сущностей (NER) представляет собой задачу по извлечению информации, в ходе выполнения которой производится определение токенов в тексте на естественном языке и классификация их по заранее определенным категориям, таким как имена людей, названия организаций, географические названия, представление времени, количества, денежные суммы, проценты и т.д. Эти категории могут быть представлены концептами заранее определенной или динамически выстраиваемой онтологии.
[00033] После распознавания именованных сущностей может быть произведено разрешение кореференций и установление анафорических связей между токенами текста (каждый токен может содержать одно или более слов). «Кореференция» в настоящем документе означает конструкцию естественного языка, содержащую два или более токенов естественного языка, которые относятся к одной сущности (например, одному и тому же лицу, вещи, месту или организации). Например, в предложении «После того, как Джон получил диплом МП, ему предложили работу в Microsoft» собственное имя «Джон» и местоимение «ему» относится к одному человеку. Из двух токенов кореференций тот токен, на который дается ссылка, может обобщенно именоваться антецедентом, а тот, который ссылается на него - проформой или анафорой.
[00034] После распознавания именованных сущностей и разрешения кореференций может производиться извлечение информации с целью определения отношений между распознанными именованными сущностями и (или) другими информационными объектами. Примерами таких отношений могут быть работа лица X в организационном подразделении Y, расположение объекта X в геопозиционировании Y, приобретение организационной единицей X организационной единицы Y и т.д. Подобные отношения могут быть выражены фрагментами на естественном языке, которые могут содержать множество слов из одного или более предложений.
[00035] Отношения между распознанными именованными сущностями и (или) другими информационными объектами именуются в настоящем документе «фактами». Факт может быть отнесен к одной или более категориям фактов. Например, факт, связанный с лицом, может относиться к рождению лица, его образованию, занятости, трудовой деятельности и т.д. В другом примере факт, связанный с коммерческой операцией, может относиться к типу операции и сторонами операции, обязательствами сторон, датой подписания контракта, датой исполнения, выплатами по контракту и т.д.
[00036] Факты, связанные с одной категорией, могут выражаться различными языковыми конструкциями, имеющими различные морфологические, лексические и синтаксические атрибуты. Например, следующие фразы отражают факт трудовой деятельности лица X в организационной единице Y: Джон трудится в IBM. Пол работал в Microsoft более пяти лет. Джордж - начальник отдела в Hewlett Packard.
[00037] Категория фактов (например, относящихся к истории трудовой деятельности) может быть организована в виде иерархических структур и может быть связана с классами онтологии. Способы, описанные в настоящем документе, предполагают, что факты, связанные с одной и той же категорией (и одним и тем же концептом онтологии), могут выражаться фрагментами текста на естественном языке, имеющими схожие независимые от языка семантические структуры. Эти семантические структуры могут быть обнаружены с помощью классификаторов, параметры которых могут настраиваться с помощью методов машинного обучения.
[00038] В соответствии с одним или несколькими аспектами настоящего изобретения вычислительное устройство может получать текст на естественном языке (например, документ или набор документов), связанный с определенным текстовым корпусом). Вычислительное устройство может дополнительно получить один или несколько идентификаторов токенов в тексте на естественном языке, которые ссылаются на примеры информационных объектов (например, именованные сущности) и факты, связанные с категориями примеров информационных объектов примера (например, примеров категорий именованных сущностей).
[00039] Далее, вычислительное устройство может посредством семантико-синтаксического анализа создавать семантико-синтаксические структуры, каждая из которых представляет соответствующее предложению на естественном языке. Семантическая структура может быть представлена ациклическим графом, который включает множество узлов, соответствующих семантическим классам, и множество дуг, соответствующих семантическим отношениям, что описано более подробно ниже со ссылкой на Фиг. 15. Процесс семантико-синтаксического анализа может быть выполнен в соответствии с последовательностью операций, описываемых ниже рисунком Фиг. 5. В другом случае вычислительное устройство может получить экземпляр семантико-синтаксической структуры примера предложения непосредственно посредством его ввода пользователем или от другого программного приложения.
[00040] Чтобы извлечь из текста объекты, представляемые идентифицированные именованные сущности, в некоторых вариантах реализации вычислительная система может интерпретировать множество семантических структур, используя набор продукционных правил, как будет подробно описано ниже. Альтернативно, для определения степени ассоциирования токена из исходного текста на естественном языке с соответствующей категорией именованных сущностей вычислительное устройство может использовать одну или более функций классификатора, определенных, например, в числе прочих, в гиперпространстве лексических и грамматических признаков токенов. Атрибуты токена могут включать морфологические, лексические и (или) семантические атрибуты, как подробно описано выше в настоящем документе.
[00041] Вычислительное устройство может получить набор документов, произвести множество семантических структур, представляющих по крайней мере часть предложений текста из этих документов, и выделить из множества семантических структур, полученных в результате синтактико-семантического анализа, одну или более семантических структур-кандидатов, которые содержат элементы, соответствующие именованным сущностям, и с точки зрения определенной метрики сходства, похожие по меньшей мере на одну из семантических структур, которые представляют предложения, включающие выделенные пользователем слова как примеры именованных сущностей данной категории. В некоторых реализациях изобретения при оценке степени ассоциирования семантической структуры с заданной категорией фактов вычислительное устройство может использовать машинные методы классификации (также называемые методами «машинного обучения»), которые используют уже существующие или динамически создаваемые обучающие и тестовые выборки, которые коррелируют параметры семантической структуры и категории фактов. Такие методы могут включать методы дифференциальной эволюции, генетические алгоритмы, наивный классификатор Байеса, методы случайного леса (решающих деревьев), нейронные сети и т.д.
[00042] Продукционные правила, которые используются для интерпретации семантических структур, могут включать правила интерпретации и правила идентификации. Правило интерпретации может содержать левую часть, представленную набором логических выражений, определенных в одном или более шаблонах семантических структур, и правую часть, представленную одним или более утверждениями, относящимися к информационным объектам, которые представляют сущности, ссылающиеся на текст на естественном языке.
[00043] Шаблон семантической структуры может содержать некоторые элементы семантической структуры (например, принадлежность к определенному лексическому/семантическому классу, наличие некоторой поверхностной или глубинной позиции, наличие определенной граммемы или семантемы и т.д.). В некоторых реализациях шаблон семантической структуры может включать переменные. Переменные могут замещаться соответствующими лексическими/семантическими классами, поверхностными или глубинными позициями, граммемой, семантемой и т.д. Отношения между элементами семантических структур могут задаваться с помощью одного или более логических выражений (конъюнкция, дизъюнкция и отрицание) и (или) операций, характеризующих взаимное расположение узлов в синтактико-семантическом дереве. В качестве иллюстративного примера такая операция может проверять, принадлежит ли узел к поддереву другого узла.
[00044] Совпадение шаблона, определенного левой частью продукционного правила семантической структуры, с семантической структурой, представляющей, по крайней мере, часть предложения текста на естественном языке, может запускать правую часть продукционного правила. Правая часть продукционного правила может связывать один или более атрибутов (относящихся к лексическим, синтаксическим и (или) семантическим свойствам слов оригинального предложения) с информационными объектами, представленными узлами и/или модифицировать один или более атрибутов. В одном из иллюстративных примеров правая часть правила интерпретации может содержать утверждение, связывающее токен из текста на естественном языке с категорией информационных объектов.
[00045] Правило идентификации может использоваться для определения пары информационных объектов, которые представляют одну и ту же сущность из реального мира. Правило идентификации представляет собой продукционное правило, левая часть которого содержит одно или более логических выражений, относящихся к узлам семантического дерева, соответствующим информационным объектам. Если пара информационных объектов соответствует условию, определенному логическим выражением, информационные объекты объединяются в один информационный объект.
[00046] Настоящее изобретение представляет собой способ и систему автоматического построения шаблонов правил извлечения информации из текстов на естественном языке. Эта функциональность в рамках системы извлечения информации, позволяет обычному пользователю системы без помощи специалиста по онтологиям, который хорошо знает как предметную область, так и синтаксис правил извлечения информации, создавать правила извлечения "по образцу", т.е. путем указания примеров конструкций, которые содержат нужную информацию.
[00047] Различные аспекты вышеупомянутых способов и систем подробно описаны ниже в качестве примеров, а не способом ограничения.
[00048] На Фиг. 1 приведена блок-схема одного иллюстративного примера способа автоматической генерации шаблонов, используемого в системах извлечения информации в соответствии с одним или более вариантами реализации настоящего изобретения.
[00049] Способ 100 и (или) каждая из его отдельных функций, стандартных программ, подпрограмм или операций могут выполняться одним или более процессорами вычислительной системы (например, вычислительная система 1000 на Фиг. 16), реализующей этот способ. В некоторых вариантах осуществления способ 100 может выполняться в одном потоке обработки. При альтернативном подходе способ 100 может осуществляться с использованием двух или более потоков обработки, при этом в каждом потоке реализована одна или более отдельных функций, процедур, подпрограмм или действий этого способа. В одном из иллюстративных примеров потоки обработки, в которых реализован способ 100, могут быть синхронизированы (например, с использованием семафоров, критических секций и (или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, реализующие способ 100, могут выполняться асинхронно по отношению друг к другу.
[00050] На шаге 110 вычислительная система, реализующая способ, может получать текст на естественном языке (документ или коллекцию документов). В иллюстративном примере вычислительное устройство может получить текст на естественном языке в виде электронного документа, который может быть получен путем сканирования или за счет применения иного способа изображения с бумажного документа с последующим выполнением оптического распознавания символов (OCR) для получения текста документа. В другом иллюстративном примере вычислительная система может получить текст на естественном языке в виде одного или более форматированных файлов, например, файлов текстового редактора, сообщений электронной почты, файлов цифровых данных и т.д.
[00051] В блоке 120 вычислительное устройство может произвести семантико-синтаксический анализ текста на естественном языке. При синтаксическом и семантическом анализе может быть получено множество семантических структур, каждая из которых представляет соответствующее предложение на естественном языке. Каждая семантическая структура может быть представлена ациклическим графом, который включает множество узлов, соответствующих семантическим классам, и множество дуг, соответствующих семантическим отношениям, что описано более подробно ниже со ссылкой на Фиг. 16. Для упрощения любое подмножество семантической структуры в этом документе мы будем называть «структурой» (а не «подструктурой»), если только не рассматривается отношение типа «родитель-потомок» между двумя семантическими структурами.
[00052] В некоторых реализациях полученные семантические структуры могут быть проиндексированы. Т.е. полученный индекс может включать индекс слов, индекс лексических классов, индекс семантических классов, индекс всех или избранных лексических, синтаксических и семантических характеристик, полученных в ходе семантико-синтаксического анализа, а также самих полученных структур.
[00053] В блоке 130 вычислительное устройство получает от пользователя текстовый фрагмент для построения шаблона продукционного правила. Текстовый фрагментом является часть текста, содержащая одно или более слов. Это может быть одно или более предложений, фраз, слов и т.п. Например, вычислительное устройство может получать такой текстовый фрагмент напечатанным или подсвеченным пользователем.
[00054] Такой фрагмент текста является словом или группой слов, к которым применимо данное правило. Чтобы являться шаблоном правила, текстовый фрагмент включает по крайней мере один идентификатор одного или более токенов, отсылающих к информационному объекту из некоторого класса информационных объектов. Правило содержит левую часть (слева от символа =>) и правую часть (справа от =>). Левая часть собственно и представляет собой шаблон правила.
[00055] На Фиг. 2А приводится пример продукционного правила в одной из возможных реализаций настоящего изобретения. Данный пример правила иллюстрирует извлечение информации об административной единице, в качестве примера текста для извлечения может рассматриваться, например, статья энциклопедии, википедии, справочника и т.п. Левая часть правила содержит шаблон правила, включающий: предикат - семантический класс "BE" в качестве ядра составляющей, а также лексические единицы других классов, которые могут заполнять глубинные позиции в предложении. Т.е., если предикат предложения представлен глаголом класса "BE" (быть, являться и т.п.) и в семантической структуре предложения, найдены единицы (узлы), принадлежащие семантическим классам "ADMINISTRATIVE AND TERRITORIAL UNIT" (страны, государства; административно-территориальные единицы; населенные пункты: города, населенные пункты) или "AREA" (область, регион, район и т.п.) или "VICINITY"(округ, окрестность...), но не являющееся относящееся к "COUNTRY BY NAME" (названия стран, государств), заполняющие ПОЗИЦИИ (Relation_Relative и Reiation_correiative), то данное правило может быть применено к такому предложению.
[00056] Например, правило, представленное на Фиг. 2А, применимо к предложению "San Francisco is the city and cultural, commercial, and financial center of Northern California". Семантическая структура этого предложения представлена на Фиг. 2В. Правило срабатывает, потому что семантический класс CITY является дочерним по отношению к классу ADMINISTRATIVE_AND_TERRITORIAL_UNIT, т.е. лексическая единица класса CITY принадлежит также и классу ADMINISTRATIVE AND TERRITORIAL UNIT.
[00057] Текстовый фрагмент, получаемый вычислительным устройством на шаге 130, может включать один или более токенов, состоящих их слов естественного языка. Эти токены ссылаются на по крайней мере один информационный объект, принадлежащий определенному классу информационных объектов. Например, предложение "San Francisco is the city and cultural, commercial, and financial center of Northern California" включает токен San Francisco is the city, который включает информационный объект San Francisco класса Named Entities.
[00058] В некоторых реализациях изобретения идентификаторы образцов токенов можно получить через графический интерфейс пользователя (GUI). Такой графический интерфейс пользователя может включать различные элементы управления, позволяющие пользователю выделять цветом или иным образом на экране дисплея текстовый фрагмент, содержащий пример сущности или факта, для извлечения которого пользователь создает свое правило извлечения.
[00059] В другом варианте пользователь может воспользоваться графическим представлением текста в виде семантических структур и указать те фрагменты или элементы (узлы, связи) семантической структуры, которые являются существенными для создания шаблона правила.
[00060] При альтернативном подходе экземпляры идентификаторов токенов можно получить в виде метаданных, сопровождающих текст на естественном языке.
[00061] В блоке 140 вычислительное устройство может предоставить пользователю лингвистические характеристики выделенных токенов, атрибуты элементов семантических структур соответствующих предложений. Лингвистические характеристик, которые могут быть предъявлены пользователю на этапе 140, могут включать грамматические, синтаксические и семантические характеристики, полученные в результате семантико-синтаксического разбора, прежде всего - лексический и семантический класс выделенного токена, положение семантического класса в семантической иерархии, а также прочие характеристики, например, ключевые слова, префиксы и т.п.
[00062] Используя графический интерфейс пользователя, пользователь может отметить, какие из атрибутов элементов семантических структур являются существенными для построения шаблона правила извлечения информации. Помимо выделения, пользователь может произвести генерализацию - например, заменить семантический класс на более общий (старший) класс в иерархической цепочке семантических классов или обобщенную глубинную позицию, обобщенное значение атрибута.
[00063] Фиг. 3А иллюстрирует пример окна Key Word Extractor 305 в интерфейсе пользователя для выбора семантического класса в процессе генерации шаблона правила. Предложение "John bought an apple for $1". используется в этом примере в качестве образца. Если пользователь выбирает опцию "Use semantic class" 310 и при этом "Generalize semantic class" 315, ему предлагается выбрать, какой из обобщающих семантических классов может быть выбран для выделенного слова "bought" 325. Таблица 330 содержит строку для выбора каждого из возможных для обобщения семантических классов. Левая часть 330 содержит "внешние имена" (335, 336, 337) возможных классов, в правой части таблицы 330 - списки лексических единиц 340, принадлежащих соответствующим классам. Например, семантический класс TO_ACQUIRE (336) находится выше в семантической иерархии (и поэтому более общий), чем семантический класс TO BUY (335). И поэтому семантический класс TO_ACQUIRE (336) включает в себя семантический класс TO_BUY (335). Аналогично, семантический класс TO_GET (337) находится выше в семантической иерархии и поэтому более общий, чем семантический класс TO_ACQUIRE (336). Помимо этого, в некоторых реализациях к шаблону могут быть добавлены семантемы, в частности для того, чтобы отфильтровать семантические классы.
[00064] Фиг. 3В иллюстрирует пример окна выбора семантической роли Role Extraction GUI 350 (глубинной позиции) в шаблоне правила. На примере того же предложения "John bought an apple for $1". Фиг. 3В демонстрирует выбор семантической роли Possessor. Поскольку некоторые глубинные позиции также имеют иерархическую структуру, можно уточнить семантическую роль, выбрав глубинную позицию из допустимого множества.
[00065] Для построения правой части продукционного правила пользователю может быть предложено другое окно, позволяющее выполнить такие операции, как связывание токена из текста на естественном языке с классом информационных объектов, связывание одного или более атрибутов с информационными объектами, представленными узлами и/или модификацию одного или более атрибутов и т.д.
[00066] Фиг. 4А и Фиг. 4В иллюстрируют пример окна интерфейса 401 Extraction of Party Attributes на примере сторон-участников некоторого договора. Интерфейс 401 позволяет пользователю связать извлекаемые объекты "Crossfire Corporation" 405 и "CoolWire Corporation" 410 с соответствующим классом онтологии Organization.
[00067] Для правил идентификации правая часть правила может содержать операции, приводящие к объединению информационных объектов в один информационный объект.
[00068] В блоке 150 вычислительное устройство может сгенерировать шаблон правила, основанный на действиях пользователя через интерфейс генерации шаблона (например, включающий окна, похожие на 305, 350, 401). Шаблон продукционного правила включает шаблон семантической структуры обрабатываемого фрагмента.
[00069] В блоке 160 числительное устройство может создать продукционное правило, основанное на шаблонах, построенных в блоке 150. Продукционное правило может содержать левую часть, представленную набором логических выражений, определенных в одном или более шаблонах семантических структур, соответствующих шаблонам продукционных правил, построенных в блоке 150, и правую часть, представленную одним или более утверждениями, относящимися к информационным объектам, которые представляют сущности, ссылающиеся на текст на естественном языке.
[00070] Шаблон семантической структуры может содержать некоторые элементы семантической структуры (например, принадлежность к определенному лексическому/семантическому классу, наличие некоторой поверхностной или глубинной позиции, наличие определенной граммемы или семантемы и т.д.). В некоторых реализациях шаблон семантической структуры может включать переменные. Переменные могут замещаться соответствующими лексическими/семантическими классами, поверхностными или глубинными позициями, граммемой, семантемой и т.д. Элементы семантических структур могут связываться с помощью одного или более логических выражений (конъюнкция, дизъюнкция и отрицание) и (или) операций, характеризующих взаимное расположение узлов в синтактико-семантическом дереве.
[00071] В блоке 170 система может применить полученное правило, построенное в блоке 160, для нахождения частей текста, соответствующих необходимым шаблонам, и применения полученного на этапе 160 правила для извлечения информационных объектов. Система сначала анализирует семантические структуры, соответствующие тексту на естественном языке, для определения фрагментов текста, соответствующих шаблону продукционного правила. Такие фрагменты текста могут быть найдены посредством идентификации в тексте на естественном языке одного или более токенов, представляющих собой образцы выделенной категории информационных объектов. Совпадение шаблона, определенного левой частью продукционного правила семантической структуры, с семантической структурой, представляющей, по крайней мере, часть предложения текста на естественном языке, может запускать правую часть продукционного правила. Правая часть продукционного правила может связывать один или более атрибутов (относящихся к лексическим, синтаксическим и (или) семантическим свойствам слов оригинального предложения) с информационными объектами, представленными узлами и/или модифицировать один или более атрибутов. В одном из иллюстративных примеров правая часть правила интерпретации может содержать утверждение, связывающее токен из текста на естественном языке с категорией информационных объектов.
[00072] Объекты, извлеченные на этапе 170, с использованием правил, сгенерированных на этапе 160, могут быть предъявлены пользователю на этапе 180. В этом случае пользователь может просмотреть и верифицировать результаты извлечения. Если пользователь обнаруживает ошибки извлечения, он может отметить для системы пропущенный или ошибочно извлеченный объект. Если ошибка извлечения идентифицирована пользователем, система может вернуться к шагу 140 и предоставить пользователю возможность нового выбора характеристик шаблона и настройки самого продукционного правила. Например, могут быть сделаны исключения из шаблона. В примере, показанном на Фиг. 2, таким исключением является ~ "COUNTRY_BY_NAME" (250).
[00073] Если один и тот же объект упоминается в разных предложениях документа, и продукционные правила не смогли идентифицировать их как один объект, пользователь может явно указать то, что это один и тот же объект. В одной из реализаций для таких случаев предусмотрен механизм "обучения" правил идентификации, основанный на статистике такого рода действий пользователя.
[00074] Операции способа 100, описанные выше со ссылками на блоки 140-180, могут повторяться два или более раз, таким образом, совершенствуя продукционные правила и шаблоны правил и идентифицируя в тексте естественного языка множество информационных объектов, соответствующих этим правилам.
[00075] В блоке 190 извлеченные объекты и факты могут быть представлены в общепринятом формате среды описания ресурса Resource Definition Framework (RDF) или экспортированы в другой формат.
[00076] RDF присваивает уникальный идентификатор каждому информационному объекту и сохраняет информацию о таком объекте в виде триплетов SPO, где S обозначает «субъект» и содержит идентификатор объекта, Р обозначает «предикат» и определяет некоторое свойство этого объекта, а О обозначает «объект» и сохраняет значение этого свойства данного объекта. Это значение может быть как примитивным типом данных (строкой, числом, булевым значением), так и идентификатором другого объекта. В одном из иллюстративных примеров триплет SPO может ассоциировать токен из текста на естественном языке с категорией информационных объектов. Затем извлеченные объекты и факты могут быть использованы для решения различных задач обработки данных, больших данных, задачах обработки информации, обработки естественного языка и т.д.
[00077] На Фиг. 5 приведена блок-схема одного иллюстративного примера реализации способа 200 для выполнения семантико-синтаксического анализа предложения на естественном языке 212 в соответствии с одним или несколькими аспектами настоящего изобретения. Способ 400 может быть применен к одной или более синтаксическим единицам (например, предложениям), включенным в определенный текстовый корпус, для формирования множества семантико-синтаксических деревьев, соответствующих синтаксическим единицам. В различных иллюстративных примерах подлежащие обработке способом 400 предложения на естественном языке могут извлекаться из одного или нескольких электронных документов, которые могут создаваться путем сканирования (или другим способом получения изображений бумажных документов) и оптического распознавания символов (OCR) для получения текстов, соответствующих этим документам. Предложения на естественном языке также могут извлекаться из других различных источников, включая сообщения, отправляемые по электронной почте, тексты из социальных сетей, файлы с цифровым содержимым, обработанные с использованием способов распознавания речи и т.д.
[00078] В блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для установления морфологических значений слов, входящих в состав предложения. В настоящем документе "морфологическое значение" слова означает одну или несколько лемм (т.е. канонических или словарных форм), соответствующих слову, и соответствующий набор значений грамматических признаков, которые определяют грамматическое значение слова. В число таких грамматических признаков могут входить лексическая категория (часть речи) слова и один или более морфологических и грамматических признаков (например, падеж, род, число, спряжение и т.д.). Ввиду омонимии и (или) совпадающих грамматических форм, соответствующих разным лексико-морфологическим значениям определенного слова, для данного слова может быть установлено два или более морфологических значений. Более подробное описание иллюстративного примера проведения лексико-морфологического анализа предложения более детально приведено ниже в настоящем документе со ссылкой на Фиг. 6.
[00079] В блоке 215 вычислительное устройство может проводить грубый синтаксический анализ предложения 212. Грубый синтаксический анализ может включать применение одной или нескольких синтаксических моделей, которые могут быть соотнесены с элементами предложения 212, с последующим установлением поверхностных (т.е. синтаксических) связей в рамках предложения 212 для получения графа обобщенных составляющих. В настоящем документе "составляющая" означает группу соседних слов исходного предложения, функционирующую как одна грамматическая сущность. Составляющая включает в себя ядро в виде одного или более слов и может также включать одну или несколько дочерних составляющих на более низких уровнях. Дочерняя составляющая является зависимой составляющей, которая может быть соотнесена с одной или несколькими родительскими составляющими.
[00080] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев предложения. Среди различных синтаксических деревьев на основе определенной функции оценки с учетом совместимости лексических значений слов исходного предложения, поверхностных отношений, глубинных отношений и т.д. может быть отобрано одно или несколько лучших синтаксических деревьев, соответствующих предложению 212.
[00081] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может включать множество узлов, соответствующих семантическим классам и также может включать множество дуг, соответствующих семантическим отношениям (более подробное описание см. ниже в настоящем документе).
[00082] Фиг. 6 схематически иллюстрирует пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения. Пример лексико-морфологической структуры 300 может включать множество пар "лексическое значение - грамматическое значение" для примера предложения. В качестве иллюстративного примера, "ll" может быть соотнесено с лексическим значением "shall" 512 и "will" 514. Грамматическим значением, соотнесенным с лексическим значением 512, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Composite II>. Грамматическим значением, соотнесенным с лексическим значением 314, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Irregular, Composite II>.
[00083] Фиг. 7 схематически иллюстрирует используемые языковые описания 210, в том числе морфологические описания 201, лексические описания 203, синтаксические описания 202 и семантические описания 204, а также отношения между ними. Среди них морфологические описания 201, лексические описания 203 и синтаксические описания 202 зависят от языка. Набор языковых описаний 610 представляет собой модель определенного естественного языка.
[00084] В качестве иллюстративного примера определенное лексическое значение в лексических описаниях 203 может быть соотнесено с одной или несколькими поверхностными моделями синтаксических описаний 202, соответствующих данному лексическому значению. Определенная поверхностная модель синтаксических описаний 202 может быть соотнесена с глубинной моделью семантических описаний 204.
[00085] На Фиг. 8 схематически иллюстрируются несколько примеров морфологических описаний. В число компонентов морфологических описаний 201 могут входить: описания словоизменения 710, грамматическая система 720, описания словообразования 730 и другие. Грамматическая система 720 включает набор грамматических категорий, таких как часть речи, падеж, род, число, лицо, возвратность, время, вид и их значения (так называемые "граммемы"), в том числе, например, прилагательное, существительное или глагол; именительный, винительный или родительный падеж; женский, мужской или средний род и т.д. Соответствующие граммемы могут использоваться для составления описания словоизменения 710 и описания словообразования 730.
[00086] Описание словоизменения 710 определяет формы данного слова в зависимости от его грамматических категорий (например, падеж, род, число, время и т.д.) и в широком смысле включает в себя или описывает различные возможные формы слова. Описание словообразования 730 определяет, какие новые слова могут быть образованы от данного слова (например, сложные слова).
[00087] В соответствии с одним из аспектов настоящего изобретения при установлении синтаксических отношений между элементами исходного предложения могут использоваться модели составляющих. Составляющая представляет собой группу соседних слов в предложении, ведущих себя как единое целое. Ядром составляющей является слово, она также может содержать дочерние составляющие более низких уровней. Дочерняя составляющая является зависимой составляющей и может быть прикреплена к другим составляющим (родительским) для построения синтаксических описаний 202 исходного предложения.
[00088] На Фиг. 9 приведены примеры синтаксических описаний. В число компонентов синтаксических описаний 202 могут входить, среди прочего, поверхностные модели 910, описания поверхностных позиций 920, описание референциального и структурного контроля 956, описание управления и согласования 940, описание недревесного синтаксиса 950 и правила анализа 960. Синтаксические описания 202 могут использоваться для построения возможных синтаксических структур исходного предложения на заданном естественном языке с учетом свободного линейного порядка слов, недревесных синтаксических явлений (например, согласование, эллипсис и т.д.), референциальных отношений и других факторов.
[00089] Поверхностные модели 910 могут быть представлены в виде совокупностей одной или нескольких синтаксических форм («синтформ» 912) для описания возможных синтаксических структур предложений, входящих в состав синтаксического описания 202. В целом, лексическое значение слова на естественном языке может быть связано с поверхностными (синтаксическими) моделями 910. Поверхностная модель может представлять собой составляющие, которые возможны, если лексическое значение выступает в роли "ядра". Поверхностная модель может включать набор поверхностных позиций дочерних элементов, описание линейного порядка и (или) диатезу. В настоящем документе "диатеза" означает определенное отношение между поверхностными и глубинными позициями и их семантическими ролями, выражаемыми посредством глубинных позиций. Например, диатеза может быть выражаться залогом глагола: если субъект является агентом действия, глагол в активном залоге, а когда субъект является направлением действия, это выражается пассивным залогом глагола.
[00090] В модели составляющих может использоваться множество поверхностных позиций 915 дочерних составляющих и описаний их линейного порядка 916 для описания грамматических значений 914 возможных заполнителей этих поверхностных позиций. Диатезы 917 представляют собой соответствия между поверхностными позициями 915 и глубинными позициями 514 (как показано на Фиг. 11). Коммуникативные описания 980 описывают коммуникативный порядок в предложении.
[00091] Описание линейного порядка (916) может быть представлено в виде выражений линейного порядка, отражающих последовательность, в которой различные поверхностные позиции (915) могут встречаться в предложении. В число выражений линейного порядка могут входить наименования переменных, имена поверхностных позиций, круглые скобки, граммемы, оператор «or» (или) и т.д. В качестве иллюстративного примера описание линейного порядка простого предложения "Boys play football" можно представить в виде "Subject Core Object Direct" (Подлежащее - Ядро - Прямое дополнение), где Subject (Подлежащее), Core (Ядро) и Object Direct (Прямое дополнение) представляют собой имена поверхностных позиций 915, соответствующих порядку слов.
[00092] Коммуникативные описания 980 могут описывать порядок слов в синтформе 912 с точки зрения коммуникативных актов, представленных в виде коммуникативных выражений порядка, которые похожи на выражения линейного порядка. Описания управления и согласования 940 может включать правила и ограничения на грамматические значения присоединяемых составляющих, которые используются во время синтаксического анализа.
[00093] Описания недревесного синтаксиса 950 могут создаваться для отражения различных языковых явлений, таких как эллипсис и согласование, они используются при трансформациях синтаксических структур, которые создаются на различных этапах анализа в различных вариантах реализации изобретения. Описания недревесного синтаксиса 950 могут, среди прочего, включать описание эллипсиса 952, описания согласования 954, а также описания референциального и структурного контроля 930.
[00094] Правила анализа 960 могут описывать свойства конкретного языка и использоваться в рамках семантического анализа. Правила анализа 960 могут включать правила вычисления семантем 962 и правила нормализации 964. Правила нормализации 964 могут использоваться для описания трансформаций семантических структур, которые могут отличаться в разных языках.
[00095] На Фиг. 10 приведен пример семантических описаний. Компоненты семантических описаний 204 не зависят от языка и могут, среди прочего, включать семантическую иерархию 510, описания глубинных позиций 520, систему семантем 530 и прагматические описания 540.
[00096] Ядро семантических описаний может быть представлено семантической иерархией 510, в которую могут входить семантические понятия (семантические сущности), также называемые семантическими классами. Последние могут быть упорядочены в иерархическую структуру, отражающую отношения "родитель-потомок". В целом, дочерний семантический класс может унаследовать одно или более свойств своего прямого родителя и других семантических классов-предков. В качестве иллюстративного примера семантический класс SUBSTANCE (Вещество) является дочерним семантическим классом класса ENTITY (Сущность) и родительским семантическим классом для классов GAS, (Газ), LIQUID (Жидкость), METAL (Металл), WOOD MATERIAL (Древесина) и т.д.
[00097] Каждый семантический класс в семантической иерархии 510 может сопровождаться глубинной моделью 512. Глубинная модель 512 семантического класса может включать множество глубинных позиций 514, которые могут отражать семантические роли дочерних составляющих в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей. Глубинная модель 512 также может включать возможные семантические классы, выступающие в роли заполнителей глубинных позиций. Глубинные позиции (514) могут выражать семантические отношения, в том числе, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "quantity" (количество) и т.д. Дочерний семантический класс может наследовать и уточнять глубинную модель своего непосредственного родительского семантического класса.
[00098] Описания глубинных позиций 520 отражают семантические роли дочерних составляющих в глубинных моделях 512 и могут использоваться для описания общих свойств глубинных позиций 514. Описания глубинных позиций 520 также могут содержать грамматические и семантические ограничения в отношении заполнителей глубинных позиций 514. Свойства и ограничения, связанные с глубинными позициями 514 и их возможными заполнителями в различных языках, могут быть в значительной степени подобными и зачастую идентичными. Таким образом, глубинные позиции 514 не зависят от языка.
[00099] Система семантем 530 может представлять собой множество семантических категорий и семантем, которые представляют значения семантических категорий. В качестве иллюстративного примера семантическая категория "DegreeOfComparison" (Степень сравнения) может использоваться для описания степени сравнения прилагательных и включать следующие семантемы: "Positive" (Положительная), "ComparativeHigherDegree" (Сравнительная степень сравнения), "SuperlativeHighestDegree" (Превосходная степень сравнения) и другие. В качестве еще одного иллюстративного примера семантическая категория "RelationToReferencePoint" (Отношение к точке) может использоваться для описания порядка (пространственного или временного в широком смысле анализируемых слов), как, например, до или после точки или события, и включать семантемы "Previous" (Предыдущий) и "Subsequent" (Последующий). В качестве еще одного иллюстративного примера семантическая категория "EvaluationObjective" (Оценка) может использоваться для описания объективной оценки, как, например, "Bad" (Плохой), "Good" (Хороший) и т.д.
[000100] ества лингвистических характеристик первого инф от языка семантические атрибуты, которые могут выражать не только семантические характеристики, но и стилистические, прагматические и коммуникативные характеристики. Некоторые семантемы могут использоваться для выражения атомарного значения, которое находит регулярное грамматическое и (или) лексическое выражение в естественном языке. По своему целевому назначению и использованию системы семантем могут разделяться на категории, например, грамматические семантемы 532, лексические семантемы 534 и классифицирующие грамматические (дифференцирующие) семантемы 536.
[000101] Грамматические семантемы 532 могут использоваться для описания грамматических свойств составляющих при преобразовании синтаксического дерева в семантическую структуру. Лексические семантемы 534 могут описывать конкретные свойства объектов (например, "being flat" (быть плоским) или "being liquid" (являться жидкостью)) и использоваться в описаниях глубинных позиций 520 как ограничение заполнителей глубинных позиций (например, для глаголов "face (with)" (облицовывать) и "flood" (заливать), соответственно). Классифицирующие грамматические (дифференцирующие) семантемы 536 могут выражать дифференциальные свойства объектов внутри одного семантического класса. В качестве иллюстративного примера в семантическом классе HAIRDRESSER (ПАРИКМАХЕР) семантема «RelatedToMen» (Относится к мужчинам) присваивается лексическому значению "barber" в отличие от других лексических значений, которые также относятся к этому классу, например, «hairdresser», «hairstylist» и т.д. Используя данные независимые от языка семантические свойства, которые могут быть выражены в виде элементов семантического описания, в том числе семантических классов, глубинных позиций и семантем, можно извлекать семантическую информацию в соответствии с одним или более аспектами настоящего изобретения.
[000102] Прагматические описания 540 позволяют назначать определенную тему, стиль или жанр текстам и объектам семантической иерархии 510 (например, «Экономическая политика», «Внешняя политика», «Юриспруденция», «Законодательство», «Торговля», «Финансы» и т.д.). Прагматические свойства также могут выражаться семантемами. В качестве иллюстративного примера прагматический контекст может приниматься во внимание при семантическом анализе.
[000103] На Фиг. 11 приведен пример лексических описаний. Лексические описания (203) представляют собой множество лексических значений 612 конкретного естественного языка. Для каждого лексического значения 612 имеется связь 602 с его независимым от языка семантическим родителем для того, чтобы указать положение какого-либо заданного лексического значения в семантической иерархии 510.
[000104] Лексическое значение 612 в лексико-семантической иерархии 510 может быть соотнесено с поверхностной моделью 910, которая в свою очередь через одну или несколько диатез 917 может быть соотнесена с соответствующей глубинной моделью 512. Лексическое значение 612 может наследовать семантический класс своего родителя и уточнять свою глубинную модель 512.
[000105] Поверхностная модель 910 лексического значения может включать одну или несколько синтаксических форм 912. Синтформа 912 поверхностной модели 910 может включать одну или несколько поверхностных позиций 915, в том числе соответствующие описания их линейного порядка 916, одно или несколько грамматических значений 914, выраженных в виде набора грамматических категорий (граммем), одно или несколько семантических ограничений, соотнесенных с заполнителями поверхностных позиций, и одну или несколько диатез 917. Семантические ограничения, соотнесенные с определенным заполнителем поверхностной позиции, могут быть представлены в виде одного или более семантических классов, объекты которых могут заполнить эту поверхностную позицию.
[000106] На Фиг. 12 схематически иллюстрируются примеры структур данных, которые могут быть использованы в рамках одного или более методов настоящего изобретения. Снова ссылаясь на Фиг. 5, в блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для построения лексико-морфологической структуры 722 согласно Фиг. 12. Лексико-морфологическая структура 722 может включать множество соответствий лексического и грамматического значений для каждой лексической единицы (например, слова) исходного предложения. Фиг. 6 схематически иллюстрирует пример лексико-морфологической структуры.
[000107] Снова возвращаясь к Фиг. 6, в блоке 215 вычислительное устройство может проводить грубый синтаксический анализ исходного предложения 212 для построения графа обобщенных составляющих 732 согласно Фиг. 12. Грубый синтаксический анализ предполагает применение одной или нескольких возможных синтаксических моделей возможных лексических значений к каждому элементу множества элементов лексико-морфологической структуры 722, с тем чтобы установить множество потенциальных синтаксических отношений в составе исходного предложения 212, представленных графом обобщенных составляющих 732.
[000108] Граф обобщенных составляющих 732 может быть представлен ациклическим графом, включающим множество узлов, соответствующих обобщенным составляющим исходного предложения 212 и включающим множество дуг, соответствующих поверхностным (синтаксическим) позициям, которые могут выражать различные типы отношений между обобщенными лексическими значениями. В рамках данного способа может применяться множество потенциально применимых синтаксических моделей для каждого элемента множества элементов лексико-морфологических структур исходного предложения 212 для формирования набора составляющих исходного предложения 212. Затем в рамках способа может рассматриваться множество возможных составляющих исходного предложения 212 для построения графа обобщенных составляющих 732 на основе набора составляющих. Граф обобщенных составляющих 732 на уровне поверхностной модели может отражать множество потенциальных связей между словами исходного предложения 212. Поскольку количество возможных синтаксических структур может быть относительно большим, граф обобщенных составляющих 732 может, в общем случае, включать избыточную информацию, в том числе относительно большое число лексических значений по определенным узлам и (или) поверхностных позиций по определенным дугам графа.
[000109] Граф обобщенных составляющих 732 может изначально строиться в виде дерева, начиная с концевых узлов (листьев) и двигаясь далее к корню, путем добавления дочерних составляющих, заполняющих поверхностные позиции 915 множества родительских составляющих, с тем чтобы были охвачены все лексические единицы исходного предложения 212.
[000110] В некоторых вариантах осуществления корень графа обобщенных составляющих 732 представляет собой предикат. В ходе описанного выше процесса дерево может стать графом, так как определенные составляющие более низкого уровня могут быть включены в одну или несколько составляющих верхнего уровня. Множество составляющих, которые представляют определенные элементы лексико-морфологической структуры, затем может быть обобщено для получения обобщенных составляющих. Составляющие могут быть обобщены на основе их лексических значений или грамматических значений 914, например, на основе частей речи и отношений между ними. Фиг. 13 схематически иллюстрирует пример графа обобщенных составляющих.
[000111] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев 742 согласно Фиг. 12 на основе графа обобщенных составляющих 732. Для каждого синтаксического дерева вычислительное устройство может определить интегральную оценку на основе априорных и вычисляемых оценок. Дерево с наилучшей оценкой может быть выбрано для построения наилучшей синтаксической структуры 746 исходного предложения 212.
[000112] В ходе построения синтаксической структуры 746 на основе выбранного синтаксического дерева вычислительное устройство может установить одну или несколько недревесных связей (например, путем создания дополнительной связи среди, как минимум, двух узлов графа). Если этот процесс заканчивается неудачей, вычислительное устройство может выбрать синтаксическое дерево с условно оптимальной оценкой, наиболее близкой к оптимальной, и производится попытка установить одну или несколько недревесных связей в дереве. Наконец, в результате точного синтаксического анализа создается синтаксическая структура 746, которая представляет собой лучшую синтаксическую структуру, соответствующую исходному предложению 212. Фактически в результате отбора лучшей синтаксической структуры 746 определяются лучшие лексические значения 240 для элементов исходного предложения 212.
[000113] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может отражать передаваемую исходным предложением семантику в независимых от языка терминах. Семантическая структура 218 может быть представлена в виде ациклического графа (например, дерево, возможно, дополненное одной или более недревесной связью (дугой графа). Слова исходного предложения представлены узлами с соответствующими независимыми от языка семантическими классами семантической иерархии 510. Дуги графа представляют глубинные (семантические) отношения между элементами предложения. Переход к семантической структуре 218 может осуществляться с помощью правил анализа 960 и предполагает соотнесение одного или более атрибутов (отражающих лексические, синтаксические и (или) семантические свойства слов исходного предложения 212) с каждым семантическим классом.
[000114] На Фиг. 14 приводится пример синтаксической структуры предложения, сгенерированной из графа обобщенных составляющих, показанного на Фиг. 13. Узел 901 соответствует лексическому элементу "life" (жизнь) 906. Применяя способ описанного в настоящем документе синтактико-семантического анализа, вычислительное устройство может установить, что лексический элемент "life" (жизнь) 906 представляет одну из форм лексического значения, соотнесенного с семантическим классом "LIVE" (ЖИТЬ) 904 и заполняет поверхностную позицию $Adjunct_Locative 905) в родительской составляющей, представленной управляющим узлом Verb:succeed:succeed:TO_SUCCEED (907).
[000115] На Фиг. 15 приводится семантическая структура, соответствующая синтаксической структуре на Фиг. 15. В отношении вышеупомянутого лексического элемента "life" (жизнь) (906) на Фиг. 13 семантическая структура включает лексический класс 1010 и семантический класс 1030, соответствующие представленным на Фиг. 15, однако вместо поверхностной позиции (905) семантическая структура включает глубинную позицию "Sphere" (сфера_деятельности) 1020.
[000116] Как отмечено выше в настоящем документе, в качестве «онтологии» может выступать модель, которая представляет собой объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Таким образом, онтология отличается от семантической иерархии, несмотря на то что она может быть соотнесена с элементами семантической иерархии через определенные отношения (также называемые «якоря»). Онтология может включать определения некого множества классов, где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также называться «концепт», а принадлежащий классу объект может означать экземпляр данного концепта.
[000117] В соответствии с одним или несколькими аспектами настоящего изобретения вычислительное устройство, в котором реализованы описанные в настоящем описании способы, может индексировать один или несколько параметров, полученных в результате семантико-синтаксического анализа. Таким образом, способы настоящего изобретения позволяют рассматривать не только множество слов в составе исходного текстового корпуса, но и множество лексических значений этих слов, сохраняя и индексируя всю синтаксическую и семантическую информацию, полученную в ходе синтаксического и семантического анализа каждого предложения исходного текстового корпуса. Такая информация может дополнительно включать данные, полученные в ходе промежуточных этапов анализа, а также результаты лексического выбора, в том числе результаты, полученные в ходе разрешения неоднозначностей, вызванных омонимией и (или) совпадающими грамматическими формами, соответствующими различным лексико-морфологическим значениям некоторых слов исходного языка.
[000118] Для каждой семантической структуры можно создать один или несколько индексов. Индекс можно представить в виде структуры данных в памяти, например, в виде таблицы, состоящей из нескольких записей. Каждая запись может представлять собой установление соответствия между определенным элементом семантической структуры (например, одно слово или несколько слов, синтаксическое отношение, морфологическое, синтаксическое или семантическое свойство или синтаксическая или семантическая структура) и одним или несколькими идентификаторами (или адресами) случаев употребления данного элемента семантической структуры в исходном тексте.
[000119] В некоторых вариантах осуществления индекс может включать одно или несколько значений морфологических, синтаксических, лексических и (или) семантических параметров. Эти значения могут создаваться в процессе двухэтапного семантического анализа (более подробное описание см. в настоящем документе). Индекс можно использовать для выполнения различных задач обработки естественного языка, в том числе для выполнения семантического поиска.
[000120] Вычислительное устройство, реализующее данный способ, может извлекать широкий спектр лексических, грамматических, синтаксических, прагматических и (или) семантических характеристик в ходе проведения синтактико-семантического анализа и создания семантических структур. В иллюстративном примере система может извлекать и сохранять определенную лексическую информацию, данные о принадлежности определенных лексических единиц семантическим классам, информацию о грамматических формах и линейном порядке, информацию об использовании определенных форм, аспектов, тональности (например, положительной или отрицательной), глубинных позиций, недревесных связей, семантем и т.д.
[000121] Вычислительное устройство, в котором реализованы описанные здесь способы, может производить анализ, используя один или несколько описанных в этом документе способов анализа текста, и индексировать любой один или несколько параметров описаний языка, включая лексические значения, семантические классы, граммемы, семантемы и т.д. Индексацию семантического класса можно использовать в различных задачах обработки естественного языка, включая семантический поиск, классификацию, кластеризацию, фильтрацию текста и т.д. Индексация лексических значений (вместо индексации слов) позволяет искать не только слова и формы слов, но и лексические значения, т.е. слова, имеющие определенные лексические значения. Вычислительное устройство, реализующее способы настоящего изобретения, также может хранить и индексировать синтаксические и семантические структуры, созданные одним или несколькими описанными в настоящем документе способами анализа текста, для использования данных структур и (или) индексов при проведении семантического поиска, классификации, кластеризации и фильтрации документов.
[000122] На Фиг. 16 показан иллюстративный пример вычислительной системы 1000, которая может исполнять набор команд, которые вызывают выполнение вычислительной системой любого отдельно взятого или нескольких способов настоящего изобретения. Вычислительная система может быть соединена с другой вычислительной системой по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительная система может работать в качестве сервера или клиента в сетевой среде «клиент-сервер» либо в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительная система может быть представлена персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), карманным ПК (PDA), сотовым телефоном или любой вычислительной системой, способной выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этой вычислительной системой. Кроме того, несмотря на то, что показана только одна вычислительная система, термин «вычислительная система» также может включать любую совокупность вычислительных систем, которые отдельно или совместно выполняют набор (или более наборов) команд для выполнения одной или более способов, обсуждаемых в настоящем документе.
[000123] Пример вычислительной системы 1000 включает процессор 502, основное запоминающее устройство 504 (например, постоянное запоминающее устройство (ПЗУ) или динамическое оперативное запоминающее устройство (DRAM)) и устройство хранения данных 518, которые взаимодействуют друг с другом по шине 530.
[000124] Процессор 502 может быть представлен одной или более универсальными вычислительными системами, например, микропроцессором, центральным процессором и т.д. В частности, процессор 502 может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд или процессоры, реализующие комбинацию наборов команд. Процессор 502 также может представлять собой одну или более вычислительных систем специального назначения, например, заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор 502 реализован с возможностью выполнения команд 526 для осуществления рассмотренных в настоящем документе операций и функций.
[000125] Вычислительная система 1000 может дополнительно включать устройство сетевого интерфейса 522, устройство визуального отображения 510, устройство ввода символов 512 (например, клавиатуру) и устройство ввода в виде сенсорного экрана 514.
[000126] Устройство хранения данных 518 может содержать машиночитаемый носитель данных 524, в котором хранится один или более наборов команд 526 и в котором реализованы одна или более методов или функций, рассмотренных в настоящем документе. Команды 526 также могут находиться полностью или по меньшей мере частично в основном запоминающем устройстве 504 и/или в процессоре 502 во время выполнения их в вычислительной системе 1000, при этом оперативное запоминающее устройство 504 и процессор 502 также представляют собой машиночитаемый носитель данных. Команды 526 также могут передаваться или приниматься по сети 516 через устройство сетевого интерфейса 522.
[000127] В некоторых вариантах реализации изобретения набор команд 526 может содержать команды способа 100, 300 и/или 400 для извлечения информации из текстов на естественном языке и обучения классификаторов в соответствии с одним или более вариантами реализации настоящего изобретения. Хотя машиночитаемый носитель данных 524 показан в примере на Фиг. 16 в виде одного носителя, термин «машиночитаемый носитель» следует понимать в широком смысле, подразумевающем один или более носителей (например, централизованную или распределенную базу данных и/или соответствующие кэши и серверы), в которых хранится один или более наборов команд. Термин «машиночитаемый носитель данных» также следует понимать как включающий любой носитель, который может хранить, кодировать или переносить набор команд для выполнения машиной и который обеспечивает выполнение машиной любой одной или более методов настоящего изобретения. Поэтому термин «машиночитаемый носитель данных» относится, помимо прочего, к твердотельным запоминающим устройствам, а также к оптическим и магнитным носителям.
[000128] Способы, компоненты и функции, описанные в этом документе, могут быть реализованы с помощью дискретных компонентов оборудования либо они могут быть встроены в функции других компонентов оборудования, например, ASICS (специализированная заказная интегральная схема), FPGA (программируемая логическая интегральная схема), DSP (цифровой сигнальный процессор) или аналогичных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратного обеспечения. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации аппаратного обеспечения и программных компонентов либо исключительно с помощью программного обеспечения.
[000129] В приведенном выше описании изложены многочисленные детали. Однако любому специалисту в этой области техники, ознакомившемуся с этим описанием, должно быть очевидно, что настоящее изобретение может быть осуществлено на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схем без детализации, чтобы не усложнять описание настоящего изобретения.
[000130] Некоторые части описания предпочтительных вариантов реализации изобретения представлены в виде алгоритмов и символического представления операций с битами данных в запоминающем устройстве компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, что обеспечивает наиболее эффективную передачу сущности работы другим специалистам в данной области. В контексте настоящего описания, как это и принято, алгоритмом называется логически непротиворечивая последовательность операций, приводящих к желаемому результату. Операции подразумевают действия, требующие физических манипуляций с физическими величинами. Обычно, хотя и необязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и выполнять другие манипуляции. Иногда удобно, прежде всего для обычного использования, описывать эти сигналы в виде битов, значений, элементов, символов, терминов, цифр и т.д.
[000131] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами и что они являются лишь удобными обозначениями, применяемыми к этим величинам. Если явно не указано обратное, принимается, что в последующем описании термины «определение», «вычисление», «расчет», «получение», «установление», «определение», «изменение» и т.п. относятся к действиям и процессам вычислительной системы или аналогичной электронной вычислительной системы, которая использует и преобразует данные, представленные в виде физических (например, электронных) величин в реестрах и запоминающих устройствах вычислительной системы, в другие данные, также представленные в виде физических величин в запоминающих устройствах или реестрах вычислительной системы или иных устройствах хранения, передачи или отображения такой информации.
[000132] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей, либо оно может представлять собой универсальный компьютер, который избирательно приводится в действие или дополнительно настраивается с помощью программы, хранящейся в запоминающем устройстве компьютера. Такая компьютерная программа может храниться на машиночитаемом носителе данных, например, помимо прочего, на диске любого типа, включая дискеты, оптические диски, CD-ROM и магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), СППЗУ, ЭППЗУ, магнитные или оптические карты и носители любого типа, подходящие для хранения электронной информации.
[000133] Следует понимать, что приведенное выше описание призвано иллюстрировать, а не ограничивать сущность изобретения. Специалистам в данной области техники после прочтения и уяснения приведенного выше описания станут очевидны и различные другие варианты реализации изобретения. Исходя из этого область применения изобретения должна определяться с учетом прилагаемой формулы изобретения, а также всех областей применения эквивалентных способов, на которые в равной степени распространяется формула изобретения.