[0001] Настоящее изобретение относится к компьютерным системам в широком смысле и, в частности, к системам и методам обработки естественного языка.
УРОВЕНЬ ТЕХНИКИ
[0002] Текст на естественном языке может быть структурирован посредством табличной формы представления. Таблица может содержать множество ячеек, представленных в виде строк и столбцов. По крайней мере некоторые из них могут содержать текст на естественном языке. Кроме того, таблица может содержать заголовок, включающий, по крайней мере, одну заголовочную ячейку, т.е. название для одного или более столбцов таблицы. Заголовочная ячейка может содержать описание, определение или другую информацию, ассоциированную с каждой ячейкой соответствующего столбца.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0003] В соответствии с одним или более вариантами настоящего раскрытия изобретения пример реализации метода может включать: получение таблицы, содержащей текст на естественном языке; идентификацию заголовка таблицы и множества ячеек, образующих строки и столбцы; выполнение семантико-синтаксического анализа текста на естественном языке для получения множества семантических структур; интерпретацию множества семантических структур с использованием первого набора продукционных правил для получения объекта данных, представленного таблицей; выполнение анализа заголовка таблицы для определения множества онтологических классов, ассоциированных с соответствующими столбцами таблицы; и модификацию объекта данных, представленного таблицей, используя второй набор продукционных правил, связанных с онтологическими классами, ассоциированными со столбцами таблицы.
[0004] В соответствии с одним или более вариантами настоящего раскрытия изобретения пример реализации системы может включать: устройство памяти; процессор, связанный с устройством памяти, и сконфигурированные для: получения вычислительным устройством таблицы, содержащей текст на естественном языке; идентификации заголовка таблицы и множества ячеек, образующих строки и столбцы; выполнения семантико-синтаксического анализа текста на естественном языке для получения множества семантических структур; интерпретации множества семантических структур с использованием первого набора продукционных правил для получения объекта данных, представленного таблицей; выполнения анализа заголовка таблицы для определения множества онтологических классов, ассоциированных с соответствующими столбцами таблицы; и модификации объекта данных, представленного таблицей, используя второй набор продукционных правил, связанных с онтологическими классами, ассоциированными со столбцами таблицы.
[0005] В соответствии с одним или более вариантами настоящего раскрытия изобретения пример реализации постоянного машиночитаемый носитель данных, содержащий исполняемые команды, которые при исполнении их вычислительным устройством приводят к выполнению операций, включающих: получение вычислительным устройством таблицы, содержащей текст на естественном языке; идентификацию заголовка таблицы и множества ячеек, образующих строки и столбцы; выполнение семантико-синтаксического анализа текста на естественном языке для получения множества семантических структур; интерпретацию множества семантических структур с использованием первого набора продукционных правил для получения объекта данных, представленного таблицей; выполнение анализа заголовка таблицы для определения множества онтологических классов, ассоциированных с соответствующими столбцами таблицы; и модификацию объекта данных, представленного таблицей, используя второй набор продукционных правил, связанных с онтологическими классами, ассоциированными со столбцами таблицы.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0006] Настоящее изобретение иллюстрируется с помощью примеров, а не путем ограничений. Для более полного его понимания приведенное ниже описание предпочтительных вариантов реализации следует рассматривать в сочетании с чертежами, на которых:
[0007] На Фиг. 1 приведена блок-схема, иллюстрирующая пример реализации способа извлечения информации из структурированных документов, содержащих текст на естественном языке, согласно настоящему изобретению;
[0008] На Фиг. 2 показана блок-схема, иллюстрирующая пример реализации способа 200 семантико-синтаксического анализа предложения на естественном языке 212 в соответствии с вариантом реализации настоящего изобретения;
[0009] Фиг. 3 схематично иллюстрирует пример лексико-морфологической структуры предложения в соответствии с одним или несколькими вариантами реализации настоящего изобретения;
[0010] Фиг. 4 является иллюстрацией лингвистических описаний, представляющих модель естественного языка, в соответствии с одним или несколькими вариантами реализации настоящего изобретения;
[0011] Фиг. 5 схематично иллюстрирует пример морфологических описаний в соответствии с одним или несколькими вариантами реализации настоящего изобретения;
[0012] Фиг. 6 схематично иллюстрирует пример синтаксических описаний в соответствии с одним или несколькими вариантами реализации настоящего изобретения;
[0013] Фиг. 7 схематично иллюстрирует пример семантических описаний в соответствии с одним или несколькими вариантами реализации настоящего изобретения;
[0014] Фиг. 8 схематично иллюстрирует пример лексических описаний в соответствии с одним или несколькими вариантами настоящего изобретения;
[0015] Фиг. 9 показана последовательность структур данных в соответствии в соответствии с одним или несколькими вариантами реализации настоящего изобретения;
[0016] Фиг. 10 схематично иллюстрирует пример графа обобщенных составляющих в соответствии в соответствии с одним или несколькими вариантами реализации настоящего изобретения;
[0017] Фиг. 11 является иллюстрацией одного из вариантов синтаксической структуры предложения, представленного на Фиг. 10;
[0018] Фиг. 12 является иллюстрацией семантической структуры предложения, показанного на Фиг. 11;
[0019] Фиг. 13 схематично иллюстрирует различные типы утверждений, которые используются в процессе извлечения информации в соответствии в соответствии с вариантами реализации настоящего изобретения;
[0020] Фиг. 14 схематично иллюстрирует процесс интерпретации семантических структур, полученных в результате семантико-синтаксического анализа в соответствии в соответствии с вариантами реализации настоящего изобретения;
[0021] Фиг. 15 схематично иллюстрирует пример вспомогательной онтологии, содержащей различные классы, ассоциированные с некоторыми аспектами табличной структуры, в соответствии с вариантами реализации настоящего изобретения;
[0022] Фиг. 16А-16В иллюстрируют примеры таблиц и правил, применяемых в обработке заголовков в соответствии с вариантами реализации настоящего изобретения;
[0023] Фиг. 17 схематично иллюстрирует пример таблицы и набор правил для обработки содержимого таблицы в соответствии с вариантами реализации настоящего изобретения;
[0024] На Фиг. 18 изображена схема примера вычислительного устройства, осуществляющего методы настоящего изобретения.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ ИЗОБРЕТЕНИЯ
[0025] Ниже описываются способы и системы для извлечения информации из структурированных документов (например, документов, включающих таблицы, документов, имеющих многоуровневую структуру, включая секции и подсекции и т.п.), содержащих текст на естественном языке.
[0026] Извлечение информации является одной из важнейших операций в автоматической обработке текстов на естественном языке. Информация, извлеченная из документа может быть представлена как один или более информационных объектов, включая определения объектов, отношения между объектами и/или утверждения, ассоциированные с этими объектами. В некоторых реализациях информационные объекты могут быть представлены в виде RDF(Resource Definition Framework)-графов.
[0027] Информация в некоторых документах может быть структурирована различными способами. Например, документ может содержать одну и более таблиц, в свою очередь, каждая таблица может включать множество ячеек, образующих столбцы и строки. Наконец, некоторые из ячеек могут содержать текст на естественном языке. Таблица может содержать заголовок, включающий, по крайней мере, одну заголовочную ячейку, т.е. название для одного или более столбцов таблицы. Заголовочная ячейка может содержать описание, определение или другую информацию, ассоциированную с каждой ячейкой соответствующего столбца. Таким образом, информация, содержащаяся в таблице, может быть уточнена посредством информации, извлеченной из заголовков (например, используя отношения между объектами, описанными в таблице).
[0028] Настоящее описание раскрывает способы и системы для извлечения информации из структурированных документов (например, документов, включающих таблицы, документов, имеющих многоуровневую структуру, включая секции и подсекции и т.п.), содержащих текст на естественном языке.
[0029] В настоящем документе термин "вычислительное устройство" означает устройство обработки данных, оснащенное универсальным процессором, памятью и по меньшей мере одним интерфейсом связи. Примерами вычислительных устройств, которые могут использовать описанные в этом документе способы, являются, помимо прочего, настольные компьютеры, портативные компьютеры, планшетные компьютеры и смартфоны.
[0030] Способы извлечения информации в соответствии с вариантами реализации настоящего изобретения позволяют представлять извлеченную информацию в виде, согласованном с некоторыми предопределенными или создаваемыми динамически онтологиями. "Онтология" ниже означает модель, которая представляет собой объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Онтология может включать определения некого множества классов, где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также означать концепт, а принадлежащий классу объект может означать экземпляр данного концепта.
[0031] В качестве иллюстративного примера класс "Person" (Человек) может быть соотнесен с одним или более объектами, соответствующими определенным лицам. Определение каждого класса может далее включать одно или несколько определений отношений одного или более отнесенных к данному классу объектов. Определение каждого класса может далее включать одно или несколько ограничений, устанавливающих определенные свойства объектов класса. В определенных вариантах осуществления класс может являться предком или потомком другого класса.
[0032] Определение объекта может представлять собой материальный объект реального мира (как, например, человек или вещь) либо некое понятие, соотнесенное с одним или более объектами реального мира (как, например, число или слово). В определенных вариантах осуществления объект может быть соотнесен с двумя или более классами. Онтология может являться предком или (и) потомком другой онтологии, в случае чего концепты и свойства онтологии-предка также относятся к онтологии-потомку.
[0033] В соответствии с одним или более аспектами настоящего изобретения вычислительное устройство, осуществляющее данный способ, может анализировать таблицу, содержащую текст на естественном языке, распознавая при этом ее структуру. В частности, вычислительное устройство может идентифицировать заголовок таблицы и набор ячеек, образующих ее столбцы и строки.
[0034] Вычислительное устройство может затем выполнять синтаксический и семантический анализ текста на естественном языке, содержащегося в ячейках таблицы, широкий спектр как языкозависимых, так и универсальных лингвистических описаний. Синтаксический и семантический анализ позволяет получить независимые от языка семантические структуры, представляющие информацию, содержащуюся в ячейках таблицы.
[0035] Затем вычислительное устройство, используя онтологию общего назначения или предметно-ориентированную онтологию, ассоциированную с областью знаний, к которой относится информация, представленная в таблице, может извлечь информацию из множества семантических структур. Извлечение информации осуществляется при помощи продукционных правил, которые создаются без учета структуры самой таблицы, т.е. являются структурно-независимыми. Каждое продукционное правило может включать набор логических выражений, определенных для одного или более шаблона семантической структуры. В некоторых реализациях информация, извлеченная из ячеек таблицы, может быть представлена объектами RDF-графа.
[0036] Затем вычислительное устройство может перейти к обработке заголовка таблицы. В частности, вычислительное устройство может идентифицировать множество онтологических классов, которые могут быть ассоциированы с соответствующими столбцами таблицы, используя онтологию общего назначения или предметно-ориентированную онтологию, ассоциированную с областью, к которой относится документ. В процессе анализа заголовка таблицы вычислительное устройство, кроме того, может использовать вспомогательную онтологию, содержащую классы, связанные с некоторыми свойствами и особенностями табличной структуры.
[0037] Вычислительное устройство может при этом уточнять и добавлять информацию к объекту RDF-графа, ранее построенному в процессе извлечения информации из ячеек таблицы без учета особенностей табличной структуры. В частности, вычислительное устройство применять к информации, извлеченной из ячеек таблицы, некоторые продукционные правила, связанные с множеством классов онтологии, которые определены заголовками таблицы.
[0038] Различные аспекты упомянутых выше способов и систем подробно описаны ниже в этом документе с помощью примеров, а не способом ограничения.
[0039] На Фиг. 1 приведена блок-схема одного иллюстративного примера способа 100 извлечения информации из структурированных документов, содержащих текст на естественном языке в соответствии с вариантом реализации настоящего изобретения. Способ 100 и (или) каждая из его отдельных функций, стандартных программ, подпрограмм или операций может выполняться с помощью одного или более процессоров вычислительного устройства, реализующего данный способ. В некоторых вариантах осуществления способ 100 может выполняться в одном потоке обработки. При альтернативном подходе способ 100 может быть реализован с помощью двух или более потоков обработки, при этом каждый поток выполняет одну или несколько отдельных функций, стандартных программ, подпрограмм или операций данного способа. В качестве иллюстративного примера потоки обработки, реализующие способ 100, могут быть синхронизованы (например, с использованием семафоров, критических секций и (или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, реализующие способ (100), могут выполняться асинхронно по отношению друг к другу.
[0040] В блоке 120 вычислительное устройство, реализующее данный способ, может анализировать таблицу 110, содержащую текст на естественном языке, с целью определения структуры таблицы. В некоторых реализациях вычислительное устройство может идентифицировать один или более заголовков таблицы и множество ячеек, образующих строки и столбцы таблицы, как будет более подробно описано ниже.
[0041] В блоке 130 вычислительное устройство, реализующее данный способ, может проводить семантико-синтаксический анализ текста, заключенного в ячейках таблицы, используя языкозависимые и универсальные лингвистические описания. Синтаксический и семантический анализ позволяет получить независимые от языка семантические структуры, представляющие информацию, содержащуюся в ячейках таблицы.
[0042] В блоке 140 вычислительное устройство может интерпретировать полученное множество семантических структур, используя продукционные правила и онтологию общего назначения или предметно-ориентированную онтологию, ассоциированную с областью знаний, к которой относится информация, представленная в таблице. Каждое продукционное правило может включать набор логических выражений, определенных для одного или более шаблона семантической структуры. В некоторых реализациях информация, извлеченная из ячеек таблицы, может быть представлена объектами RDF-графа.
[0043] В блоке 150 вычислительное устройство может анализировать заголовок таблицы с тем, чтобы по возможности связать по крайней мере один столбец таблицы с одним или более классов общей онтологии или специальной онтологии, относящейся к информации, представленной в таблице. В некоторых реализациях, чтобы способствовать анализу заголовка, вычислительное устройство может использовать вспомогательную онтологию (например, как онтология 1510 на Фиг. 15), которая включает классы, связанные со свойствами табличной структуры.
[0044] В блоке 160 вычислительное устройство может уточнять и модифицировать объекты RDF-графа, ранее созданные в процессе извлечения информации из ячеек таблицы. В частности, объекты RDF-графа могут уточняться в результате применения к информации, извлеченной из ячеек таблицы, множества продукционных правил, связанных с множеством классов онтологии, которые определены заголовками таблицы.
[0045] На Фиг. 2 приведена блок-схема одного иллюстративного примера способа 200 проведения семантико-синтаксического анализа предложения на естественном языке 212 в соответствии с одним или более аспектами настоящего изобретения. Способ 200 может быть применен к одной или более синтаксическим единицам (например, предложениям), включенным в определенный текстовый документ или таблицу с текстом, для формирования множества семантико-синтаксических деревьев, соответствующих синтаксическим единицам.
[0046] В блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для установления морфологических значений слов, входящих в состав предложения. В настоящем документе "морфологическое значение" слова означает одну или несколько лемм (т.е. канонических или словарных форм), соответствующих слову, и соответствующий набор значений грамматических признаков, которые определяют грамматическое значение слова. В число таких грамматических признаков могут входить лексическая категория (часть речи) слова и один или более морфологических и грамматических признаков (например, падеж, род, число, спряжение и т.д.). Ввиду омонимии и (или) совпадающих грамматических форм, соответствующих разным лексико-морфологическим значениям определенного слова, для данного слова может быть установлено два или более морфологических значений. Более подробное описание иллюстративного примера проведения лексико-морфологического анализа предложения приведено ниже в настоящем документе со ссылкой на Фиг. 3.
[0047] В блоке 215 вычислительное устройство может проводить грубый синтаксический анализ предложения 212. Грубый синтаксический анализ может включать применение одной или нескольких синтаксических моделей, которые могут быть соотнесены с элементами предложения 212, с последующим установлением поверхностных (т.е. синтаксических) связей в рамках предложения 212 для получения графа обобщенных составляющих. В настоящем документе "составляющая" означает группу соседних слов исходного предложения, функционирующую как одна грамматическая сущность. Составляющая включает в себя ядро в виде одного или более слов и может также включать одну или несколько дочерних составляющих на более низких уровнях. Дочерняя составляющая является зависимой составляющей, которая может быть соотнесена с одной или несколькими родительскими составляющими.
[0048] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев предложения. Среди различных синтаксических деревьев на основе определенной функции оценки с учетом совместимости лексических значений слов исходного предложения, поверхностных отношений, глубинных отношений и т.д. может быть отобрано одно или несколько лучших синтаксических деревьев, соответствующих предложению 212.
[0049] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может включать множество узлов, соответствующих семантическим классам и также может включать множество дуг, соответствующих семантическим отношениям (более подробное описание см. ниже в настоящем документе).
[0050] На Фиг. 3 схематически иллюстрируется пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения. Пример лексико-морфологической структуры 300 может включать множество пар "лексическое значение - грамматическое значение" для примера предложения 320. В качестве иллюстративного примера, "ll" может быть соотнесено с лексическим значением "shall" 312 и "will" 314. Грамматическим значением, соотнесенным с лексическим значением 312, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Composite II>. Грамматическим значением, соотнесенным с лексическим значением 314, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Irregular, Composite II>.
[0051] Фиг. 4 схематически иллюстрирует используемые языковые описания 210, в том числе морфологические описания 201, лексические описания 203, синтаксические описания 202 и семантические описания 204, а также отношения между ними. Среди них морфологические описания 201, лексические описания 203 и синтаксические описания 202 зависят от языка. Набор языковых описаний 210 представляет собой модель определенного естественного языка.
[0052] В качестве иллюстративного примера определенное лексическое значение в лексических описаниях 203 может быть соотнесено с одной или несколькими поверхностными моделями синтаксических описаний 202, соответствующих данному лексическому значению. Определенная поверхностная модель синтаксических описаний 202 может быть соотнесена с глубинной моделью семантических описаний 204.
[0053] На Фиг. 5 схематически иллюстрируются несколько примеров морфологических описаний. В число компонентов морфологических описаний 201 могут входить: описания словоизменения 310, грамматическая система 320, описания словообразования 330 и другие. Грамматическая система 320 включает набор грамматических категорий, таких как часть речи, падеж, род, число, лицо, возвратность, время, вид и их значения (так называемые "граммемы"), в том числе, например, прилагательное, существительное или глагол; именительный, винительный или родительный падеж; женский, мужской или средний род и т.д. Соответствующие граммемы могут использоваться для составления описания словоизменения 310 и описания словообразования 330.
[0054] Описание словоизменения 310 определяет формы данного слова в зависимости от его грамматических категорий (например, падеж, род, число, время и т.д.) и в широком смысле включает в себя или описывает различные возможные формы слова. Описание словообразования 330 определяет, какие новые слова могут быть образованы от данного слова (например, сложные слова).
[0055] В соответствии с одним из аспектов настоящего изобретения при установлении синтаксических отношений между элементами исходного предложения могут использоваться модели составляющих. Составляющая представляет собой группу соседних слов в предложении, ведущих себя как единое целое. Ядром составляющей является слово, она также может содержать дочерние составляющие более низких уровней. Дочерняя составляющая является зависимой составляющей и может быть прикреплена к другим составляющим (родительским) для построения синтаксических описаний 202 исходного предложения.
[0056] На Фиг. 6 приведены примеры синтаксических описаний. В число компонентов синтаксических описаний 202 могут входить, среди прочего, поверхностные модели 410, описания поверхностных позиций 420, описание референциального и структурного контроля 456, описание управления и согласования 440, описание недревесного синтаксиса 450 и правила анализа 460. Синтаксические описания 202 могут использоваться для построения возможных синтаксических структур исходного предложения на заданном естественном языке с учетом свободного линейного порядка слов, недревесных синтаксических явлений (например, согласование, эллипсис и т.д.), референциальных отношений и других факторов.
[0057] Поверхностные модели 410 могут быть представлены в виде совокупностей одной или нескольких синтаксических форм («синтформ» 412) для описания возможных синтаксических структур предложений, входящих в состав синтаксического описания 202. В целом, лексическое значение слова на естественном языке может быть связано с поверхностными (синтаксическими) моделями 410. Поверхностная модель может представлять собой составляющие, которые возможны, если лексическое значение выступает в роли "ядра". Поверхностная модель может включать набор поверхностных позиций дочерних элементов, описание линейного порядка и (или) диатезу. В настоящем документе "диатеза" означает определенное отношение между поверхностными и глубинными позициями и их семантическими ролями, выражаемыми посредством глубинных позиций. Например, диатеза может быть выражаться залогом глагола: если субъект является агентом действия, глагол в активном залоге, а когда субъект является направлением действия, это выражается пассивным залогом глагола.
[0058] В модели составляющих может использоваться множество поверхностных позиций 415 дочерних составляющих и описаний их линейного порядка 416 для описания грамматических значений 414 возможных заполнителей этих поверхностных позиций. Диатезы 417 представляют собой соответствия между поверхностными позициями 415 и глубинными позициями 514 (как показано на Фиг. 7). Коммуникативные описания 480 описывают коммуникативный порядок в предложении.
[0059] Описание линейного порядка (416) может быть представлено в виде выражений линейного порядка, отражающих последовательность, в которой различные поверхностные позиции (415) могут встречаться в предложении. В число выражений линейного порядка могут входить наименования переменных, имена поверхностных позиций, круглые скобки, граммемы, оператор «or» (или) и т.д. В качестве иллюстративного примера описание линейного порядка простого предложения "Boys play football" можно представить в виде "Subject Core Object_Direct" (Подлежащее - Ядро - Прямое дополнение), где Subject (Подлежащее), Core (Ядро) и Object_Direct (Прямое дополнение) представляют собой имена поверхностных позиций 415, соответствующих порядку слов.
[0060] Коммуникативные описания 480 могут описывать порядок слов в синтформе 412 с точки зрения коммуникативных актов, представленных в виде коммуникативных выражений порядка, которые похожи на выражения линейного порядка. Описания управления и согласования 440 может включать правила и ограничения на грамматические значения присоединяемых составляющих, которые используются во время синтаксического анализа.
[0061] Описания недревесного синтаксиса 450 могут создаваться для отражения различных языковых явлений, таких как эллипсис и согласование, они используются при трансформациях синтаксических структур, которые создаются на различных этапах анализа в различных вариантах реализации изобретения. Описания недревесного синтаксиса 450 могут, среди прочего, включать описание эллипсиса 452, описания согласования 454, а также описания референциального и структурного контроля 430.
[0062] Правила анализа 460 могут описывать свойства конкретного языка и использоваться в рамках семантического анализа. Правила анализа 460 могут включать правила вычисления семантем 462 и правила нормализации 464. Правила нормализации 464 могут использоваться для описания трансформаций семантических структур, которые могут отличаться в разных языках.
[0063] На Фиг. 7 приведен пример семантических описаний. Компоненты семантических описаний 204 не зависят от языка и могут, среди прочего, включать семантическую иерархию 510, описания глубинных позиций 520, систему семантем 530 и прагматические описания 540.
[0064] Ядро семантических описаний может быть представлено семантической иерархией 510, в которую могут входить семантические понятия (семантические сущности), также называемые семантическими классами. Последние могут быть упорядочены в иерархическую структуру, отражающую отношения "родитель-потомок". В целом, дочерний семантический класс может унаследовать одно или более свойств своего прямого родителя и других семантических классов-предков. В качестве иллюстративного примера семантический класс SUBSTANCE (Вещество) является дочерним семантическим классом класса ENTITY (Сущность) и родительским семантическим классом для классов GAS, (Газ), LIQUID (Жидкость), METAL (Металл), WOOD_MATERIAL (Древесина) и т.д.
[0065] Каждый семантический класс в семантической иерархии 510 может сопровождаться глубинной моделью 512. Глубинная модель 512 семантического класса может включать множество глубинных позиций 514, которые могут отражать семантические роли дочерних составляющих в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей. Глубинная модель 512 также может включать возможные семантические классы, выступающие в роли заполнителей глубинных позиций. Глубинные позиции (514) могут выражать семантические отношения, в том числе, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "quantity" (количество) и т.д. Дочерний семантический класс может наследовать и уточнять глубинную модель своего непосредственного родительского семантического класса.
[0066] Описания глубинных позиций 520 отражают семантические роли дочерних составляющих в глубинных моделях 512 и могут использоваться для описания общих свойств глубинных позиций 514. Описания глубинных позиций 520 также могут содержать грамматические и семантические ограничения в отношении заполнителей глубинных позиций 514. Свойства и ограничения, связанные с глубинными позициями 514 и их возможными заполнителями в различных языках, могут быть в значительной степени подобными и зачастую идентичными. Таким образом, глубинные позиции 514 не зависят от языка.
[0067] Система семантем 530 может представлять собой множество семантических категорий и семантем, которые представляют значения семантических категорий. В качестве иллюстративного примера семантическая категория "DegreeOfComparison" (Степень сравнения) может использоваться для описания степени сравнения прилагательных и включать следующие семантемы: "Positive" (Положительная), "ComparativeHigherDegree" (Сравнительная степень сравнения), "SuperlativeHighestDegree" (Превосходная степень сравнения) и другие. В качестве еще одного иллюстративного примера семантическая категория "RelationToReferencePoint" (Отношение к точке) может использоваться для описания порядка (пространственного или временного в широком смысле анализируемых слов), как, например, до или после точки или события, и включать семантемы "Previous" (Предыдущий) и "Subsequent" (Последующий). В качестве еще одного иллюстративного примера семантическая категория "EvaluationObjective" (Оценка) может использоваться для описания объективной оценки, как, например, "Bad" (Плохой), "Good" (Хороший) и т.д.
[0068] Система семантем 530 может включать независимые от языка семантические атрибуты, которые могут выражать не только семантические характеристики, но и стилистические, прагматические и коммуникативные характеристики. Некоторые семантемы могут использоваться для выражения атомарного значения, которое находит регулярное грамматическое и (или) лексическое выражение в естественном языке. По своему целевому назначению и использованию системы семантем могут разделяться на категории, например, грамматические семантемы 532, лексические семантемы 534 и классифицирующие грамматические (дифференцирующие) семантемы 536.
[0069] Грамматические семантемы 532 могут использоваться для описания грамматических свойств составляющих при преобразовании синтаксического дерева в семантическую структуру. Лексические семантемы 534 могут описывать конкретные свойства объектов (например, "being flat" (быть плоским) или "being liquid" (являться жидкостью)) и использоваться в описаниях глубинных позиций 520 как ограничение заполнителей глубинных позиций (например, для глаголов "face (with)" (облицовывать) и "flood" (заливать), соответственно). Классифицирующие грамматические (дифференцирующие) семантемы 536 могут выражать дифференциальные свойства объектов внутри одного семантического класса. В качестве иллюстративного примера в семантическом классе HAIRDRESSER (ПАРИКМАХЕР) семантема <<RelatedToMen>> (Относится к мужчинам) присваивается лексическому значению "barber" в отличие от других лексических значений, которые также относятся к этому классу, например, «hairdresser», «hairstylist» и т.д. Используя данные независимые от языка семантические свойства, которые могут быть выражены в виде элементов семантического описания, в том числе семантических классов, глубинных позиций и семантем, можно извлекать семантическую информацию в соответствии с одним или более аспектами настоящего изобретения.
[0070] Прагматические описания 540 позволяют назначать определенную тему, стиль или жанр с текстам и объектам семантической иерархии 510 (например, «Экономическая политика», «Внешняя политика», «Юриспруденция», «Законодательство», «Торговля», «Финансы» и т.д.). Прагматические свойства также могут выражаться семантемами. В качестве иллюстративного примера прагматический контекст может приниматься во внимание при семантическом анализе.
[0071] На Фиг. 8 приведен пример лексических описаний. Лексические описания (203) представляют собой множество лексических значений 612 конкретного естественного языка. Для каждого лексического значения 612 имеется связь 602 с его независимым от языка семантическим родителем для того, чтобы указать положение какого-либо заданного лексического значения в семантической иерархии 510.
[0072] Лексическое значение 612 в лексико-семантической иерархии 510 может быть соотнесено с поверхностной моделью 410, которая в свою очередь через одну или несколько диатез 417 может быть соотнесена с соответствующей глубинной моделью 512. Лексическое значение 612 может наследовать семантический класс своего родителя и уточнять свою глубинную модель 512.
[0073] Поверхностная модель 410 лексического значения может включать одну или несколько синтаксических форм 412. Синтформа 412 поверхностной модели 410 может включать одну или несколько поверхностных позиций 415, в том числе соответствующие описания их линейного порядка 416, одно или несколько грамматических значений 414, выраженных в виде набора грамматических категорий (граммем), одно или несколько семантических ограничений, соотнесенных с заполнителями поверхностных позиций, и одну или несколько диатез 417. Семантические ограничения, соотнесенные с определенным заполнителем поверхностной позиции, могут быть представлены в виде одного или более семантических классов, объекты которых могут заполнить эту поверхностную позицию.
[0074] На Фиг. 9 схематически иллюстрируются примеры структур данных, которые могут быть использованы в рамках одного или более методов настоящего изобретения. Снова ссылаясь на Фиг. 2, в блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для построения лексико-морфологической структуры 722 согласно Фиг. 9. Лексико-морфологическая структура 722 может включать множество соответствий лексического и грамматического значений для каждой лексической единицы (например, слова) исходного предложения. На Фиг. 3 схематически иллюстрируется пример лексико-морфологической структуры.
[0075] В блоке 215 вычислительное устройство может проводить грубый синтаксический анализ исходного предложения 212 для построения графа обобщенных составляющих 732 согласно Фиг. 9. Грубый синтаксический анализ предполагает применение одной или нескольких возможных синтаксических моделей возможных лексических значений к каждому элементу множества элементов лексико-морфологической структуры 722, с тем чтобы установить множество потенциальных синтаксических отношений в составе исходного предложения 212, представленных графом обобщенных составляющих 732.
[0076] Граф обобщенных составляющих 732 может быть представлен ациклическим графом, включающим множество узлов, соответствующих обобщенным составляющим исходного предложения 212 и включающим множество дуг, соответствующих поверхностным (синтаксическим) позициям, которые могут выражать различные типы отношений между обобщенными лексическими значениями. В рамках данного способа может применяться множество потенциально применимых синтаксических моделей для каждого элемента множества элементов лексико-морфологических структур исходного предложения 212 для формирования набора составляющих исходного предложения 212. Затем в рамках способа может рассматриваться множество возможных составляющих исходного предложения 212 для построения графа обобщенных составляющих 732 на основе набора составляющих. Граф обобщенных составляющих 732 на уровне поверхностной модели может отражать множество потенциальных связей между словами исходного предложения 212. Поскольку количество возможных синтаксических структур может быть относительно большим, граф обобщенных составляющих 732 может, в общем случае, включать избыточную информацию, в том числе относительно большое число лексических значений по определенным узлам и (или) поверхностных позиций по определенным дугам графа.
[0077] Граф обобщенных составляющих 732 может изначально строиться в виде дерева, начиная с концевых узлов (листьев) и двигаясь далее к корню, путем добавления дочерних составляющих, заполняющих поверхностные позиции 415 множества родительских составляющих, с тем чтобы были охвачены все лексические единицы исходного предложения 212.
[0078] В определенных вариантах осуществления корень графа обобщенных составляющих 732 представляет собой предикат. В ходе описанного выше процесса дерево может стать графом, так как определенные составляющие более низкого уровня могут быть включены в одну или несколько составляющих верхнего уровня. Множество составляющих, которые представляют определенные элементы лексико-морфологической структуры, затем может быть обобщено для получения обобщенных составляющих. Составляющие могут быть обобщены на основе их лексических значений или грамматических значений 414, например, на основе частей речи и отношений между ними. На Фиг. 10 схематически иллюстрируется пример графа обобщенных составляющих.
[0079] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев 742 согласно Фиг. 9 на основе графа обобщенных составляющих 732. Для каждого синтаксического дерева вычислительное устройство может определить интегральную оценку на основе априорных и вычисляемых оценок. Дерево с наилучшей оценкой может быть выбрано для построения наилучшей синтаксической структуры 746 исходного предложения 212.
[0080] В ходе построения синтаксической структуры 746 на основе выбранного синтаксического дерева вычислительное устройство может установить одну или несколько недревесных связей (например, путем создания дополнительной связи среди, как минимум, двух узлов графа). Если этот процесс заканчивается неудачей, вычислительное устройство может выбрать синтаксическое дерево с условно оптимальной оценкой, наиболее близкой к оптимальной, и производится попытка установить одну или несколько недревесных связей в дереве. Наконец, в результате точного синтаксического анализа создается синтаксическая структура 746, которая представляет собой лучшую синтаксическую структуру, соответствующую исходному предложению 212. Фактически в результате отбора лучшей синтаксической структуры 746 определяются лучшие лексические значения 240 для элементов исходного предложения 212.
[0081] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может отражать передаваемую исходным предложением семантику в независимых от языка терминах. Семантическая структура 218 может быть представлена в виде ациклического графа (например, дерево, возможно, дополненное одной или более недревесной связью (дугой графа). Слова исходного предложения представлены узлами с соответствующими независимыми от языка семантическими классами семантической иерархии 510. Дуги графа представляют глубинные (семантические) отношения между элементами предложения. Переход к семантической структуре 218 может осуществляться с помощью правил анализа 460 и предполагает соотнесение одного или более атрибутов (отражающих лексические, синтаксические и (или) семантические свойства слов исходного предложения 212) с каждым семантическим классом.
[0082] На Фиг. 11 приводятся примеры синтаксической структуры предложения, сгенерированной из графа обобщенных составляющих, показанного на Фиг. 10. Узел 901 соответствует лексическому элементу "life" (жизнь) 906. Применяя способ описанного в настоящем документе синтактико-семантического анализа, вычислительное устройство может установить, что лексический элемент "life" (жизнь) 906 представляет одну из форм лексического значения, соотнесенного с семантическим классом "LIVE" (ЖИТЬ) 904 и заполняет поверхностную позицию $Adjunctr_Locative (905) в родительской составляющей, представленной управляющим узлом Verb:succeed:succeed:TO_SUCCEED (907).
[0083] На Фиг. 12 приводится семантическая структура, соответствующая синтаксической структуре на Фиг. 11. В отношении вышеупомянутого лексического элемента "life" (жизнь) (906) на Фиг. 11 семантическая структура включает лексический класс 1010 и семантический класс 1030, соответствующие представленным на Фиг. 11, однако вместо поверхностной позиции (905) семантическая структура включает глубинную позицию "Sphere" (сфера_деятельности) 1020.
[0084] Как отмечено выше в настоящем документе, в качестве "онтологии" может выступать модель, которая представляет собой объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Таким образом, онтология отличается от семантической иерархии, несмотря на то что она может быть соотнесена с элементами семантической иерархии через определенные отношения (также называемые "якоря"). Онтология может включать определения некого множества классов, где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также означать концепт, а принадлежащий классу объект может означать экземпляр данного концепта.
[0085] Возвращаясь к Фиг. 1, в блоке 140 вычислительное устройство, реализующее метод, может выполнять интерпретацию семантических структур, полученных на этапе семантико-синтаксического анализа, как описано выше на этапе 130. В некоторых реализациях фрагменты семантико-синтаксических структур могут интерпретироваться посредством применения набора продукционных правил для получения аннотированного RDF-графа.
[0086] В среде описания ресурсов (Resource Definition Framework - RDF) каждому отдельному информационному объекту назначается уникальный идентификатор и информация о нем хранится в виде троек SPO. «S» обозначает субъект и содержит идентификатор соответствующего объекта, «Р» означает предикат и определяет некоторое свойство объекта, «О» обозначает объект и хранит значение этого свойства. Это значение может быть как примитивным типом данных (строкой, числом, булевым значением) или идентификатором другого объекта.
[0087] Однако аннотированный RDF-граф формируется на самом окончательном этапе процесса извлечения информации, в то время как во время процесса используется более сложная структура для хранения информации. Эту структуру можно описать как совокупность непротиворечивых утверждений об информационных объектах и их свойствах, это так называемый «мешок утверждений». В RDF графе каждая тройка SPO и каждая связь от объекта к сегменту текста считается утверждением об этом объекте.
[0088] В то время, как RDF-граф является результатом интерпретации семантико-синтаксических структур, полученных на этапе семантико-синтаксического анализа, процесс извлечения информации может использовать более сложные структуры для хранения промежуточных результатов. Основное различие между структурой для хранения временной информации (внутренней структурой) и конечной продукцией в форме RDF-графа. Основное различие заключается в том, что утверждения из внутренней структуры могут использоваться для создания функциональных зависимостей, т.е. некоторые утверждения могут зависеть от наличия других свойств и/или зависимостей. Например, множество значений определенного свойства объекта может содержать набор значений какого-либо другого свойства другого объекта. Если набор значений второго объекта изменяется, то свойство первого объекта также изменяется. Такие утверждения (которые используют функциональные зависимости) далее называются «динамическими утверждениями». Еще одно отличие внутренней структуры заключается в том, что она может содержать некоторые дополнительные утверждения, которые не соответствуют окончательной структуре аннотированного RDF-графа, и используются только в процессе извлечения.
[0089] На Фиг. 13 схематично изображены все типы утверждений, используемых в процессе извлечения информации. Ромбы обозначают информационные объекты (например, лица, сущности, персоны, местоположения, организации, факты и т.д.), эллипсы - классы (или концепты), а прямоугольники - узлы деревьев разбора.
[0090] Фиг. 14 схематически иллюстрирует процесс интерпретации семантических структур, полученных в результате семантико-синтаксического анализа в соответствии с вариантами реализации настоящего изобретения. В некоторых вариантах реализации фрагменты синтактико-семантических структур могут интерпретироваться в соответствии с множеством правил, включающих правила интерпретации и правила идентификации. Правило интерпретации позволяет указать фрагменты деревьев разбора, которые должны быть обнаружены для некоторых логических утверждений, чтобы они стали истинными. Правило интерпретации может включать в своей левой части один или более шаблонов фрагментов семантико-синтаксического дерева, а в правой - одно или более утверждений об информационных объектах.
[0091] Продукционное правило может включать набор логических выражений, определенных на одном или более шаблонах семантических структур. Шаблоны деревьев разбора (далее «древесные шаблоны») представляют собой формулы, атомарными элементами которых являются проверки некоторых свойств узлов деревьев (например, наличие той или иной граммемы/семантемы, принадлежности определенному семантическому или лексическому классу, нахождения в некоторой поверхностной или глубинной позиции и многие другие свойства, полученные из результатов разбора). Помимо основных логических связок (конъюнкция, дизъюнкция, отрицание) в древесных шаблонах допускается использование операций, характеризующих взаимное расположение узлов в дереве. Например, можно проверить, находится ли узел в поддереве другого узла.
[0092] Утверждение в правой части правил может ссылаться на узлы означенного в левой части фрагмента узлов поддерева, а иногда и к информационным объектам, прикрепленным к этим узлам. Для этого вводятся имена (или переменные) для отдельных частей древесных шаблонов.
[0093] Правила идентификации применяются в тех ситуациях, когда требуется сливать (объединять) пару объектов. Правило идентификации представляет собой продукцию, в левой части которой описываются условия, накладываемые на два объекта. Если эти условия выполняются для пары объектов, то эти объекты будут объединяются в один объект. Правая часть всех правил идентификации считается одинаковой (это одно утверждение об идентичности двух объектов) и может быть опущена.
[0094] Возвращаясь к Фиг. 1, в блоке 150 вычислительное устройство может анализировать заголовок таблицы. В разных иллюстрирующих примерах заголовок таблицы может иметь одну или более строк, может иметь сложную структуру с подзаголовками и его не совсем просто отличить от тела таблицы. Таким образом, разные эвристические способы могут быть применены для выделения и разбора заголовка таблицы с использованием видимых разделителей, различия шрифтов и т.п.
[0095] Вычислительное устройство может анализировать заголовок таблицы с использованием вспомогательной онтологии 1510, включающей различные классы, связанные с различными аспектами структуры таблиц, как схематично проиллюстрировано на Фиг. 15. Вычислительное устройство может также ассоциировать один или более столбцов таблицы с одним или более классов общей или предметно-ориентированной онтологии.
[0096] Фиг. 16А-16В схематично иллюстрируют пример таблиц и правил, применяемых для обработки заголовка таблицы в соответствии с вариантами реализации изобретения. Как схематично показано на Фиг. 16А, множество правил 1610 может идентифицировать, что класс "OWNER"(ВЛАДЕЛЕЦ) онтологии представлен некоторыми лексемами в заголовке, и связать соответствующие столбцы таблиц 1620, 1630б 1640 с идентифицированным классом в онтологии. Как схематично показано на Фиг. 16В, множество правил 1660 может идентифицировать онтологический класс "CH_PRICE_AND_SUMS"(ЦЕНА_И_СУММА), представленный соответствующими лексемами в заголовке таблицы, и ассоциировать соответствующий столбец таблиц 1670, 1680 с идентифицированным классом онтологии.
[0097] Возвращаясь к Фиг. 1, в блоке 160 вычислительное устройство может модифицировать объект (т.е. RDF-граф), который раньше был построен в процессе извлечения информации из ячеек таблицы. В частности, объект может быть уточнен и модифицирован в результате применения продукционных правил связанных с онтологическими классами, сопоставленными столбцам таблицы.
[0098] На Фиг. 17 схематично представлен пример таблиц и правил, применяемых для обработки тела таблицы в соответствии с вариантами реализации изобретения. В частности, Фиг. 17 представляет пример правил 1710, которые могут применяться для разбора содержимого ячеек таблицы в столбце, ассоциированном с онтологическим классом "CH_PRICE_AND_SUMS"(ЦЕНА_И_СУММА).
[0099] В результате применения правил 1710, RDF-граф, представляющий таблицу, который, как показано на Фиг. 1, был получен на этапе 140, может быть расширен включением новых объектов, например, если сущности, принадлежащие классам некоторой онтологии, были сопоставлены соответствующим столбцам таблицы. RDF-граф, представляющий таблицу, может быть дополнен посредством установления отношений между существующими в нем и/или новыми добавляемыми объектами (например, идентификатор объекта недвижимости, адрес, владелец и цена могут быть связаны некоторыми отношениями).
[00100] На Фиг. 18 показан иллюстративный приме вычислительного устройства (1000), которое может исполнять набор команд, которые вызывают выполнение вычислительным устройством любого отдельно взятого или нескольких способов настоящего изобретения. Вычислительное устройство может подключаться к другому вычислительному устройству по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительное устройство может работать в качестве сервера или клиентского вычислительного устройства в сетевой среде "клиент/сервер" либо в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительное устройство может быть представлено персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), карманным ПК (PDA), сотовым телефоном или любым вычислительным устройством, способным выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этим вычислительным устройством. Кроме того, в то время как показано только одно вычислительное устройство, следует принять, что термин «вычислительное устройство» также может включать любую совокупность вычислительных устройств, которые отдельно или совместно выполняют набор (или несколько наборов) команд для выполнения одной или нескольких методик, описанных в настоящем документе.
[00101] Пример вычислительного устройства (1000) включает процессор (502), основную память (504) (например, постоянное запоминающее устройство (ПЗУ) или динамическую оперативную память (DRAM)) и устройство хранения данных (518), которые взаимодействуют друг с другом по шине (530).
[00102] Процессор (502) может быть представлен одним или более универсальными вычислительными устройствами, например, микропроцессором, центральным процессором и т.д. В частности, процессор (502) может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд, или процессоры, реализующие комбинацию наборов команд. Процессор (502) также может представлять собой одно или несколько вычислительных устройств специального назначения, например, заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор (502) настроен на выполнение команд (526) для осуществления рассмотренных в настоящем документе операций и функций.
[00103] Вычислительное устройство (1000) может дополнительно включать устройство сетевого интерфейса (522), устройство визуального отображения (510), устройство ввода символов (512) (например, клавиатуру) и устройство ввода - сенсорный экран (514).
[00104] Устройство хранения данных (518) может содержать машиночитаемый носитель данных (524), в котором хранится один или более наборов команд (526) и в котором реализован один или более из методов или функций настоящего изобретения. Команды (526) также могут находиться полностью или по меньшей мере частично в основной памяти (504) и/или в процессоре (502) во время выполнения их в вычислительном устройстве (1000), при этом оперативная память (504) и процессор (502) также составляют машиночитаемый носитель данных. Команды (526) дополнительно могут передаваться или приниматься по сети (516) через устройство сетевого интерфейса (522).
[00105] В некоторых вариантах осуществления команды (526) могут включать в себя команды способа (800) на создание онтологий на основе анализа текстов на естественном языке. В то время как машиночитаемый носитель данных (524), показанный на примере на Фиг. 4, является единым носителем, термин «машиночитаемый носитель» должен включать один носитель или несколько носителей (например, централизованную или распределенную базу данных, и/или соответствующие кэши и серверы), в которых хранится один или более наборов команд. Термин "машиночитаемый носитель данных" также следует рассматривать как термин, включающий любой носитель, который способен хранить, кодировать или переносить набор команд для выполнения машиной, который заставляет эту машину выполнять любую одну или несколько из методик, описанных в настоящем раскрытии изобретения. Таким образом, термин «машиночитаемый носитель данных», помимо прочего, также относится к твердотельной памяти и оптическим и магнитным носителям.
[00106] Описанные в документе способы, компоненты и функции могут быть реализованы дискретными аппаратными компонентами, либо они могут быть интегрированы в функции других аппаратных компонентов, таких как ASICS, FPGA, DSP или подобных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратных устройств. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации вычислительных средств и программных компонентов, либо исключительно с помощью программного обеспечения.
[00107] В приведенном выше описании изложены многочисленные детали. Однако специалисту в этой области техники благодаря этому описанию очевидно, что настоящее изобретение может быть реализовано на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схемы, а не детально, чтобы не усложнять описание настоящего изобретения.
[00108] Некоторые части описания предпочтительных вариантов реализации представлены в виде алгоритмов и символического представления операций с битами данных в памяти компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, чтобы наиболее эффективно передавать сущность своей работы другим специалистам в данной области. В настоящем документе и в целом алгоритмом называется самосогласованная последовательность операций, приводящих к требуемому результату. Операции требуют физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и подвергать другим манипуляциям. Оказалось, что прежде всего для обычного использования удобно описывать эти сигналы в виде битов, значений, элементов, символов, членов, цифр и т.д.
[00109] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами и что они представляют собой просто удобные метки, применяемые к этим величинам. Если иное специально и недвусмысленно не указано в нижеследующем обсуждении, следует принимать, что везде по тексту такие термины как "определение", "вычисление", "расчет", "вычисление", "получение", "установление", "изменение" и т.п., относятся к действиям и процессам вычислительного устройства или аналогичного электронного вычислительного устройства, которое работает с данными и преобразует данные, представленные в виде физических (например, электронных) величин в регистрах и памяти вычислительного устройства, в другие данные, аналогичным образом представленные в виде физических величин в памяти или регистрах вычислительного устройства, либо других подобных устройствах хранения, передачи или отображения информации.
[00110] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей или оно может содержать универсальный компьютер, который избирательно активируется или реконфигурируется с помощью компьютерной программы, хранящейся в компьютере. Такая компьютерная программа может храниться на машиночитаемом носителе данных, таком как, в числе прочих, диск любого рода, в том числе дискеты, оптические диски, компакт-диски, магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), СППЗУ, ЭППЗУ, магнитные или оптические карты и другие виды носителей данных, подходящие для хранения электронных команд.
[00111] Следует понимать, что вышеприведенное описание носит иллюстративный, а не ограничительный характер. Различные другие варианты осуществления станут очевидны специалистам в данной области техники после прочтения и понимания приведенного выше описания. Поэтому объем раскрытия должен определяться со ссылкой на прилагаемую формулу изобретения наряду с полным объемом эквивалентов, на которые такие требования предоставляют право.
Изобретение относится к способу, машиночитаемому носителю данных и системе извлечения данных из структурированного документа. Технический результат заключается в повышении точности формирования объекта структурированного документа за счет дополнительного анализа таблицы и модификации формируемого объекта данных, представленного таблицей, на основе этого анализа. Способ заключается в получении вычислительным устройством таблицы, содержащей текст на естественном языке, идентификации заголовка таблицы и множества ячеек, образующих строки и столбцы, выполнении семантико-синтаксического анализа текста на естественном языке для получения множества семантических структур, интерпретации множества семантических структур с использованием первого набора продукционных правил для получения объекта данных, представленного таблицей, где продукционные правила этого набора включают логические выражения, определенные на структурных шаблонах, выполнении анализа заголовка таблицы для определения множества онтологических классов, ассоциированных с соответствующими столбцами таблицы, и модификации объекта данных, представленного таблицей, используя второй набор продукционных правил, где продукционные правила этого набора связаны с онтологическими классами, ассоциированными со столбцами указанной таблицы. 3 н. и 15 з.п. ф-лы, 19 ил.
1. Способ извлечения данных из структурированного документа, заключающийся в:
- получении вычислительным устройством таблицы, содержащей текст на естественном языке;
- идентификации заголовка таблицы и множества ячеек, образующих строки и столбцы;
- выполнении семантико-синтаксического анализа текста на естественном языке для получения множества семантических структур;
- интерпретации множества семантических структур с использованием первого набора продукционных правил для получения объекта данных, представленного таблицей, где по меньшей мере одно из указанных продукционных правил первого набора продукционных правил включает одно или более логических выражений, определенных на одном или более структурных шаблонах;
- выполнении анализа заголовка таблицы для определения множества онтологических классов, ассоциированных с соответствующими столбцами таблицы; и
- модификации объекта данных, представленного таблицей, используя второй набор продукционных правил, где по меньшей мере одно из указанных продукционных правил второго набора продукционных правил связано с онтологическими классами, ассоциированными со столбцами указанной таблицы.
2. Способ по п. 1, отличающийся тем, что объект данных представлен графом в среде описания ресурсов (RDF-графом).
3. Способ по п. 1, отличающийся тем, что модификация объекта данных, представленного таблицей, включает уточнение и дополнение ранее построенного RDF-графа посредством добавления нового объекта и/или добавления нового отношения.
4. Способ по п. 1, отличающийся тем, что каждая семантическая структура из множества семантических структур представлена графом, содержащим множество вершин, соответствующих семантическим классам, и множество ребер, соответствующих множеству семантических отношений.
5. Способ по п. 1, отличающийся тем, что указанное по меньшей мере одно продукционное правило из второго набора продукционных правил включает одно или более логических выражений, определенных на одном или более структурных шаблонах.
6. Способ по п. 1, отличающийся тем, что выполнение анализа заголовка таблицы производится с использованием вспомогательной онтологии, включающей множество классов, ассоциированных со структурой документов.
7. Система извлечения данных из структурированного документа, включающая:
- устройство памяти;
- процессор, связанный с устройством памяти,
сконфигурированные для:
получения вычислительным устройством таблицы, содержащей текст на естественном языке;
идентификации заголовка таблицы и множества ячеек, образующих строки и столбцы;
выполнения семантико-синтаксического анализа текста на естественном языке для получения множества семантических структур;
интерпретации множества семантических структур с использованием первого набора продукционных правил для получения объекта данных, представленного таблицей, где по меньшей мере одно из указанных продукционных правил первого набора продукционных правил включает одно или более логических выражений, определенных на одном или более структурных шаблонах;
выполнения анализа заголовка таблицы для определения множества онтологических классов, ассоциированных с соответствующими столбцами таблицы; и
модификации объекта данных, представленного таблицей, используя второй набор продукционных правил, где по меньшей мере одно из указанных продукционных правил из второго набора продукционных правил связано с онтологическими классами, ассоциированными со столбцами указанной таблицы.
8. Система по п. 7, отличающаяся тем, что объект данных представлен графом в среде описания ресурсов (RDF-графом).
9. Система по п. 7, отличающаяся тем, что модификация объекта данных, представленного таблицей, включает уточнение и дополнение ранее построенного RDF-графа посредством добавления нового объекта и/или добавления нового отношения.
10. Система по п. 7, отличающаяся тем, что каждая семантическая структура из множества семантических структур представлена графом, содержащим множество вершин, соответствующих семантическим классам, и множество ребер, соответствующих семантическим отношениям.
11. Система по п. 7, отличающаяся тем, что указанное по меньшей мере одно продукционное правило из второго набора продукционных правил включает одно или более логических выражений, определенных на одном или более структурных шаблонах.
12. Система по п. 7, отличающаяся тем, что выполнение анализа заголовка таблицы производится с использованием вспомогательной онтологии, включающей множество классов, ассоциированных со структурой документов.
13. Постоянный машиночитаемый носитель данных, содержащий исполняемые команды, которые при исполнении их вычислительным устройством приводят к выполнению операций, включающих:
получение вычислительным устройством таблицы, содержащей текст на естественном языке;
идентификацию заголовка таблицы и множества ячеек, образующих строки и столбцы;
выполнение семантико-синтаксического анализа текста на естественном языке для получения множества семантических структур;
интерпретацию множества семантических структур с использованием первого набора продукционных правил для получения объекта данных, представленного таблицей, где по меньшей мере одно из указанных продукционных правил первого набора продукционных правил включает одно или более логических выражений, определенных на одном или более структурных шаблонах;
выполнение анализа заголовка таблицы для определения множества онтологических классов, ассоциированных с соответствующими столбцами таблицы; и
модификацию объекта данных, представленного таблицей, используя второй набор продукционных правил, где по меньшей мере одно из указанных продукционных правил из второго набора продукционных правил связано с онтологическими классами, ассоциированными со столбцами указанной таблицы.
14. Постоянный машиночитаемый носитель данных по п. 13, отличающийся тем, что объект данных представлен графом в среде описания ресурсов (RDF-графом).
15. Постоянный машиночитаемый носитель данных по п. 13, отличающийся тем, что модификация объекта данных, представленного таблицей, включает уточнение и дополнение ранее построенного RDF-графа посредством добавления нового объекта и/или добавления нового отношения.
16. Постоянный машиночитаемый носитель данных по п. 13, отличающийся тем, что каждая семантическая структура из множества семантических структур представлена графом, содержащим множество вершин, соответствующих семантическим классам, и множество ребер, соответствующих семантическим отношениям.
17. Постоянный машиночитаемый носитель данных по п. 13, отличающийся тем, что, указанное по меньшей мере одно продукционное правило из второго набора продукционных правил включает одно или более логических выражений, определенных на одном или более структурных шаблонах.
18. Постоянный машиночитаемый носитель данных по п. 13, отличающийся тем, что выполнение анализа заголовка таблицы производится с использованием вспомогательной онтологии, включающей множество классов, ассоциированных со структурой документов.
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
Способ приготовления лака | 1924 |
|
SU2011A1 |
УСТРОЙСТВО ДЛЯ ВЫПРЯМЛЕНИЯ И ИНВЕРТИРОВАНИЯ ТРЕХФАЗНОГО ПЕРЕМЕННОГО ТОКА | 1940 |
|
SU60751A1 |
СПОСОБ СИНТЕЗА САМООБУЧАЮЩЕЙСЯ СИСТЕМЫ ИЗВЛЕЧЕНИЯ ЗНАНИЙ ИЗ ТЕКСТОВЫХ ДОКУМЕНТОВ ДЛЯ ПОИСКОВЫХ СИСТЕМ | 2002 |
|
RU2273879C2 |
Авторы
Даты
2017-01-11—Публикация
2015-08-19—Подача