RU2681356C1 - Classifier training used for extracting information from texts in natural language - Google Patents
Classifier training used for extracting information from texts in natural language Download PDFInfo
- Publication number
- RU2681356C1 RU2681356C1 RU2018110386A RU2018110386A RU2681356C1 RU 2681356 C1 RU2681356 C1 RU 2681356C1 RU 2018110386 A RU2018110386 A RU 2018110386A RU 2018110386 A RU2018110386 A RU 2018110386A RU 2681356 C1 RU2681356 C1 RU 2681356C1
- Authority
- RU
- Russia
- Prior art keywords
- information
- information objects
- objects
- conflicting
- natural language
- Prior art date
Links
- 238000012549 training Methods 0.000 title claims description 43
- 230000006870 function Effects 0.000 claims abstract description 65
- 238000000605 extraction Methods 0.000 claims abstract description 62
- 230000009471 action Effects 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 170
- 238000010801 machine learning Methods 0.000 claims description 30
- 238000003860 storage Methods 0.000 claims description 16
- 239000012634 fragment Substances 0.000 claims description 13
- 238000004519 manufacturing process Methods 0.000 claims description 13
- 238000003058 natural language processing Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 abstract description 3
- 239000000306 component Substances 0.000 description 50
- 230000000875 corresponding effect Effects 0.000 description 42
- 238000004458 analytical method Methods 0.000 description 29
- 230000000877 morphologic effect Effects 0.000 description 29
- 238000012545 processing Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 17
- 230000002596 correlated effect Effects 0.000 description 13
- 238000013442 quality metrics Methods 0.000 description 13
- 230000014509 gene expression Effects 0.000 description 11
- 238000013459 approach Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 239000002023 wood Substances 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000002068 genetic effect Effects 0.000 description 5
- 238000007637 random forest analysis Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000002790 cross-validation Methods 0.000 description 4
- 238000012015 optical character recognition Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000007788 liquid Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000021615 conjugation Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000009699 differential effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
Description
ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY
[0001] Настоящее изобретение в целом относится к вычислительным системам, а точнее - к системам и способам обработки естественного языка.[0001] The present invention generally relates to computing systems, and more specifically, to systems and methods for processing a natural language.
УРОВЕНЬ ТЕХНИКИBACKGROUND
[0002] Извлечение информации может включать анализ текста на естественном языке для выявления и классификации информационных объектов в соответствии с заданным множеством категорий (например, имена лиц, организаций, мест, выражения времени, количества, денежных сумм, процентов и т.д.). Извлечение информации может дополнительно включать определение отношений между распознанными именованными сущностями и (или) информационными объектами.[0002] Information retrieval may include analysis of natural language text to identify and classify information objects according to a given set of categories (for example, names of individuals, organizations, places, expressions of time, quantity, monetary amounts, percent, etc.). Information retrieval may further include determining the relationship between recognized named entities and / or information objects.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION
[0003] В соответствии с одним или более вариантами реализации настоящего изобретения пример способа извлечения информации из текста на естественном языке может включать: извлечение вычислительной системой первого множества информационных объектов из текста на естественном языке; извлечение из текста на естественном языке второго множества информационных объектов; создание промежуточного перечня информационных объектов, включающего по меньшей мере подмножество первого множества информационных объектов и по меньшей мере подмножество второго множества информационных объектов; выявление в промежуточном перечне информационных объектов множества конфликтующих информационных объектов, в котором первый информационный объект из множества конфликтующих информационных объектов принадлежит первому множеству информационных объектов, а второй информационный объект из множества конфликтующих информационных объектов принадлежит второму множеству информационных объектов; и создание окончательного перечня информационных объектов, извлеченных из текста на естественном языке путем применения к множеству конфликтующих информационных объектов функции «арбитража» конфликтующих объектов, которая выполняет по меньшей мере одно из следующих действий: изменение первого информационного объекта, удаление первого информационного объекта или слияние двух и более информационных объектов из множества конфликтующих информационных объектов.[0003] In accordance with one or more embodiments of the present invention, an example of a method for extracting information from a natural language text may include: extracting by a computer system a first plurality of information objects from a natural language text; extracting from the text in the natural language of the second set of information objects; creating an intermediate list of information objects, including at least a subset of the first set of information objects and at least a subset of the second set of information objects; identifying in the intermediate list of information objects a plurality of conflicting information objects, in which a first information object of a plurality of conflicting information objects belongs to a first plurality of information objects, and a second information object of a plurality of conflicting information objects belongs to a second plurality of information objects; and creating a final list of information objects extracted from the text in a natural language by applying to the set of conflicting information objects the function of “arbitration” of conflicting objects, which performs at least one of the following: changing the first information object, deleting the first information object, or merging two and more information objects from many conflicting information objects.
[0004] В соответствии с одним или более вариантами реализации настоящего изобретения пример системы извлечения информации из текста на естественном языке может включать: память; процессор, связанный с указанной памятью, причем этот процессор выполнен с возможностью: извлечения из текста на естественном языке первого множества информационных объектов; извлечения из текста на естественном языке второго множества информационных объектов; создания промежуточного перечня информационных объектов, включающего по меньшей мере подмножество первого множества информационных объектов и по меньшей мере подмножество второго множества информационных объектов; выявления в промежуточном перечне информационных объектов множества конфликтующих информационных объектов, в котором первый информационный объект из множества конфликтующих информационных объектов принадлежит к первому множеству информационных объектов, а второй информационный объект из множества конфликтующих информационных объектов принадлежит ко второму множеству информационных объектов; и создания окончательного перечня информационных объектов, извлеченных из текста на естественном языке, за счет применения ко множеству конфликтующих информационных объектов функции «арбитража» конфликтующих информационных объектов, которая выполняет по меньшей мере одно из следующих действий: изменение первого информационного объекта или слияние двух или более информационных объектов из множества конфликтующих информационных объектов..[0004] In accordance with one or more embodiments of the present invention, an example system for extracting information from natural language text may include: memory; a processor associated with the specified memory, and this processor is configured to: extract from the text in natural language the first set of information objects; extracting from the text in the natural language of the second set of information objects; creating an intermediate list of information objects, including at least a subset of the first set of information objects and at least a subset of the second set of information objects; identifying in the intermediate list of information objects a plurality of conflicting information objects, in which a first information object of a plurality of conflicting information objects belongs to a first set of information objects, and a second information object of a plurality of conflicting information objects belongs to a second set of information objects; and creating a final list of information objects extracted from natural language text by applying to the set of conflicting information objects the function of “arbitration” of conflicting information objects, which performs at least one of the following: changing the first information object or merging two or more information objects from many conflicting information objects ..
[0005] В соответствии с одним или более вариантами реализации настоящего изобретения пример постоянного машиночитаемого носителя данных может включать исполняемые команды, которые при исполнении их вычислительной системой приводят к выполнению вычислительной системой операций, в том числе: извлечения из текста на естественном языке первого множества информационных объектов; извлечения из текста на естественном языке второго множества информационных объектов; создания промежуточного перечня информационных объектов, включающего по меньшей мере подмножество первого множества информационных объектов и по меньшей мере подмножество второго множества информационных объектов; выявления в промежуточном перечне информационных объектов множества конфликтующих информационных объектов, в котором первый информационный объект из множества конфликтующих информационных объектов принадлежит к первому множеству информационных объектов, а второй информационный объект из множества конфликтующих информационных объектов принадлежит ко второму множеству информационных объектов; и создания окончательного перечня информационных объектов, извлеченных из текста на естественном языке, за счет применения ко множеству конфликтующих информационных объектов функции «арбитража» конфликтующих информационных объектов, которая выполняет по меньшей мере одно из следующих действий: изменение первого информационного объекта или слияние двух или более информационных объектов из множества конфликтующих информационных объектов[0005] In accordance with one or more embodiments of the present invention, an example of a permanent computer-readable storage medium may include executable instructions that, when executed by a computer system, result in the computer system performing operations, including: extracting from a natural language text a first set of information objects ; extracting from the text in the natural language of the second set of information objects; creating an intermediate list of information objects, including at least a subset of the first set of information objects and at least a subset of the second set of information objects; identifying in the intermediate list of information objects a plurality of conflicting information objects, in which a first information object of a plurality of conflicting information objects belongs to a first set of information objects, and a second information object of a plurality of conflicting information objects belongs to a second set of information objects; and creating a final list of information objects extracted from natural language text by applying to the set of conflicting information objects the function of “arbitration” of conflicting information objects, which performs at least one of the following: changing the first information object or merging two or more information objects from multiple conflicting information objects
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
[0006] Настоящее изобретение иллюстрируется с помощью примеров, а не способом ограничения и может быть лучше понято при рассмотрении приведенного ниже описания предпочтительных вариантов реализации в сочетании с чертежами, на которых:[0006] The present invention is illustrated by way of examples, and not by way of limitation, and can be better understood by considering the following description of preferred embodiments in conjunction with the drawings, in which:
[0007] На Фиг. 1 приведена блок-схема одного иллюстративного примера способа извлечения информации с помощью нескольких методов извлечения в соответствии с одним или более вариантами реализации настоящего изобретения;[0007] In FIG. 1 is a flowchart of one illustrative example of a method for extracting information using several extraction methods in accordance with one or more embodiments of the present invention;
[0008] На Фиг. 2 схематически показан пример «арбитража» конфликтующих объектов, который может быть выполнен в соответствии с одним или более вариантами реализации настоящего изобретения, в соответствии с одним или более вариантами реализации настоящего изобретения;[0008] In FIG. 2 schematically shows an example of “arbitration” of conflicting entities that may be performed in accordance with one or more embodiments of the present invention, in accordance with one or more embodiments of the present invention;
[0009] На Фиг. 3 показана блок-схема одного из примеров способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке, в соответствии с одним или более вариантами реализации настоящего изобретения;[0009] In FIG. 3 is a flowchart of one example of a classifier training method used to extract information from natural language texts in accordance with one or more embodiments of the present invention;
[00010] На Фиг. 4 показана блок-схема другого примера способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке, в соответствии с одним или более вариантами реализации настоящего изобретения;[00010] In FIG. 4 is a flowchart of another example of a classifier training method used to extract information from natural language texts in accordance with one or more embodiments of the present invention;
[00011] На Фиг. 5 показана блок-схема одного из иллюстративных примеров способа 400 семантико-синтаксического анализа предложения на естественном языке в соответствии с одним или более вариантами реализации настоящего изобретения;[00011] In FIG. 5 is a flowchart of one illustrative example of a
[00012] На Фиг. 6 схематически показан пример лексико-морфологической структуры предложения в соответствии с одним или более вариантами реализации настоящего изобретения;[00012] In FIG. 6 schematically shows an example of the lexical-morphological structure of a sentence in accordance with one or more embodiments of the present invention;
[00013] На Фиг. 6 схематически показаны языковые описания, представляющие модель естественного языка, в соответствии с одним или более вариантами реализации настоящего изобретения;[00013] In FIG. 6 schematically shows language descriptions representing a natural language model in accordance with one or more embodiments of the present invention;
[00014] На Фиг. 8 схематически показаны примеры морфологических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;[00014] In FIG. 8 schematically shows examples of morphological descriptions in accordance with one or more embodiments of the present invention;
[00015] На Фиг. 9 схематически показаны примеры синтаксических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;[00015] In FIG. 9 schematically shows examples of syntactic descriptions in accordance with one or more embodiments of the present invention;
[00016] На Фиг. 10 схематически показаны примеры семантических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;[00016] In FIG. 10 schematically shows examples of semantic descriptions in accordance with one or more embodiments of the present invention;
[00017] На Фиг. 11 схематически показаны примеры лексических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;[00017] In FIG. 11 schematically shows examples of lexical descriptions in accordance with one or more embodiments of the present invention;
[00018] На Фиг. 12 схематически показаны примеры структур данных, которые могут быть использованы в рамках одного или более способов, реализованных в соответствии с одним или более вариантами реализации настоящего изобретения;[00018] In FIG. 12 schematically shows examples of data structures that can be used within one or more methods implemented in accordance with one or more embodiments of the present invention;
[00019] На Фиг. 13 схематически показан пример графа обобщенных составляющих в соответствии с одним или более вариантами реализации настоящего изобретения;[00019] In FIG. 13 schematically shows an example of a graph of generalized components in accordance with one or more embodiments of the present invention;
[00020] На Фиг. 14 приводится пример синтаксической структуры, соответствующей предложению, приведенному на Фиг. 13;[00020] FIG. 14 is an example of a syntax structure corresponding to the sentence of FIG. 13;
[00021] На Фиг. 15 показана семантическая структура, соответствующая синтаксической структуре, приведенной на Фиг. 14;[00021] In FIG. 15 shows a semantic structure corresponding to the syntactic structure shown in FIG. fourteen;
[00022] На Фиг. 16 показана схема примера вычислительной системы, реализующей способы настоящего изобретения.[00022] FIG. 16 is a diagram of an example computer system implementing the methods of the present invention.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИDESCRIPTION OF PREFERRED EMBODIMENTS
[00023] В настоящем документе описываются способы и системы извлечения информации из текстов на естественном языке. Системы и способы, представленные в настоящем документе, могут найти применение в самых разных ситуациях, где требуется обработка текстов на естественном языке, в частности это могут быть машинный перевод, семантическое индексирование, семантический поиск (в том числе многоязычный семантический поиск), классификация документов, поиск и представление электронных документов (e-discovery) и т.д.[00023] This document describes methods and systems for extracting information from natural language texts. The systems and methods presented in this document can find application in a variety of situations where natural language text processing is required, in particular, it can be machine translation, semantic indexing, semantic search (including multilingual semantic search), classification of documents, search and submission of electronic documents (e-discovery), etc.
[00024] В настоящем документе термин «вычислительная система» означает устройство обработки данных, оснащенное универсальным или специализированным процессором, памятью и по меньшей мере одним интерфейсом связи. Примерами вычислительных систем, которые могут использовать описанные в этом документе способы, являются, в частности, настольные компьютеры, ноутбуки, планшетные компьютеры и смартфоны.[00024] As used herein, the term "computing system" means a data processing device equipped with a universal or specialized processor, memory, and at least one communication interface. Examples of computing systems that can use the methods described in this document are, in particular, desktop computers, laptops, tablet computers and smartphones.
[00025] «Онтология» в настоящем документе означает модель, которая представляет объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Онтология может включать определения некого множества классов, где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также называться «концептом», а принадлежащий классу объект может означать экземпляр данного концепта. В некоторых реализациях изобретения класс может быть предком или потомком другого класса. В определенных вариантах реализации объект может быть соотнесен с двумя или более классами.[00025] “Ontology” in this document means a model that represents objects belonging to a certain field of knowledge (domain), and the relationship between these objects. An ontology may include definitions of a certain set of classes, where each class corresponds to the concept of a subject area. Each class definition may include definitions of one or more objects assigned to that class. According to generally accepted terminology, an ontology class can also be called a “concept”, and an object belonging to the class can mean an instance of this concept. In some implementations of the invention, the class may be the ancestor or descendant of another class. In certain embodiments, an object may be associated with two or more classes.
[00026] Определение каждого класса может далее включать одно или более определений отношений одного или более отнесенных к данному классу объектов. Отношения определяют различные типы взаимодействий между связанными объектами. В некоторых реализациях изобретения различные отношения могут быть организованы во всеобщей таксономии, например, отношения «отцовства» и «материнства» могут быть включены в более общее отношение «быть родителем», которое в свою очередь может быть включено в более общее отношение «быть предком».[00026] The definition of each class may further include one or more definitions of the relations of one or more objects assigned to this class. Relationships define various types of interactions between related objects. In some implementations of the invention, various relationships can be organized in a general taxonomy, for example, the relationship of “paternity” and “motherhood” can be included in the more general relationship of “being a parent,” which in turn can be included in the more general relationship of “being an ancestor” .
[00027] Атрибут информационного объекта может быть представлен другим информационным объектом (например, место рождения человека может быть представлено информационным объектом класса «Город»; а работодатель человека может быть представлен объектом класса «Компания»). Определение класса может включать одно или более ограничений, связанных с определенными атрибутами объекта этого класса, например, атрибут ограничения по кардинальности (например, человек может иметь только одно место рождения) или ограничения по типу (например, заданный атрибут может быть представлен объектами указанного множества классов).[00027] The attribute of an information object may be represented by another information object (for example, the place of birth of a person may be represented by an information object of class "City"; and the employer of a person may be represented by an object of class "Company"). A class definition may include one or more restrictions associated with certain attributes of an object of this class, for example, an attribute of cardinality restriction (for example, a person can have only one place of birth) or type restrictions (for example, a given attribute can be represented by objects of a specified set of classes )
[00028] Извлечение информации может включать анализ текста на естественном языке для выявления и классификации информационных объектов, на которые ссылаются фрагменты текста на естественном языке. Фрагменты текста, ссылающиеся на информационный объект, называются «аннотациями объекта». Фрагменты текста, ссылающиеся на атрибут информационного объекта, называются «аннотациями атрибута». Аннотация может быть определена ее положением в тексте на естественном языке, включая позицию начала (слово) и позицию конца (слово).[00028] Information retrieval may include natural language text analysis to identify and classify information objects referenced by natural language text fragments. Text fragments that refer to an information object are called "object annotations." Text fragments that refer to an attribute of an information object are called "attribute annotations." An annotation can be determined by its position in a text in a natural language, including the position of the beginning (word) and the position of the end (word).
[00029] При извлечении информации может происходить классификация выявленных информационных объектов в соответствии с предварительно заданным множеством категорий (например, имена людей, наименования организаций, места, выражения времени, количества, денежных сумм, процентов и т.д.). Такие категории могут быть представлены концептами предварительно заданной или динамически формируемой онтологии. Извлечение информации может дополнительно включать определение отношений между распознанными именованными сущностями и (или) информационными объектами. Примерами таких отношений могут быть работа лица X в организационном подразделении Y, расположение объекта X в геопозиции Y, приобретение организационной единицей X организационной единицы Y и т.д. Подобные отношения могут быть выражены фрагментами на естественном языке, которые могут содержать множество слов из одного или более предложений. Отношения информационных объектов могут быть выражены атрибутами информационного объекта, которые ссылаются на другие информационные объекты (например, информационный объект «человек» может иметь такие атрибуты, как «место рождения», «место жительства» или «работодатель», каждый из которых представлен ссылкой на информационный объект соответствующего класса).[00029] When retrieving information, a classification of identified information objects may occur in accordance with a predefined set of categories (for example, names of people, names of organizations, places, expressions of time, quantity, money, percent, etc.). Such categories can be represented by concepts of a predefined or dynamically formed ontology. Information retrieval may further include determining the relationship between recognized named entities and / or information objects. Examples of such relationships can be the work of person X in organizational unit Y, the location of object X in geoposition Y, the acquisition by organizational unit X of organizational unit Y, etc. Such relationships can be expressed in fragments in a natural language, which can contain many words from one or more sentences. Relationships of information objects can be expressed by attributes of an information object that refer to other information objects (for example, an information object “person” can have such attributes as “place of birth”, “place of residence” or “employer”, each of which is represented by a link to information object of the corresponding class).
[00030] Извлеченная информация, которая может быть представлена RDF-графом, может использоваться для выполнения различных операций и задач обработки естественного языка, включая машинный перевод, семантическое индексирование, семантический поиск, классификацию документов, поиск и представление электронных документов (e-discovery) и т.д.[00030] The extracted information that can be represented by an RDF graph can be used to perform various operations and tasks of natural language processing, including machine translation, semantic indexing, semantic search, document classification, search and presentation of electronic documents (e-discovery) and etc.
[00031] Извлечение информации может выполняться различными методами извлечения с использованием изменяемых наборов правил, автоматических методов классификации (также называемых «классификаторами на основе машинного обучения»), эвристических подходов и (или) сочетанием этих методов. Методы извлечения информации могут быть основаны на онтологиях и (или) других моделях документов для анализа морфологических, лексических, синтаксических, семантических и (или) иных атрибутов текстов на естественном языке.[00031] Information extraction can be performed using various extraction methods using variable sets of rules, automatic classification methods (also called “machine learning classifiers”), heuristic approaches and / or a combination of these methods. Information extraction methods can be based on ontologies and (or) other document models for the analysis of morphological, lexical, syntactic, semantic and (or) other attributes of texts in natural language.
[00032] В иллюстративном примере извлечение информации может включать применение множества продукционных правил, например, сопоставление с шаблоном, заданным в левой части продукционного правила, с семантической структурой, представляющей фрагмент текста на естественном языке, может запустить действие правой части продукционного правила, которое может назначить определенные значения одному или более атрибутам информационного объекта. В еще одном иллюстративном примере классификатор на основе машинного обучения может определять степень связанности заданного фрагмента текста на естественном языке (например, представленного набором морфологических, лексических, синтаксических, семантических и (или) иных атрибутов) с определенным классом информационных объектов. Параметры классификатора могут быть определены или изменены в результате дообучения классификатора с использованием ранее существовавших или динамически созданных обучающих выборок данных, на основе которых выполняется корреляция классов информационных объектов с морфологическими, лексическими, синтаксическими, семантическими и (или) иными атрибутами текста на естественном языке. Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейросети и т.д.[00032] In an illustrative example, extracting information may include applying a variety of production rules, for example, matching with a pattern defined on the left side of a production rule, with a semantic structure representing a piece of text in natural language, can trigger an action on the right side of a production rule that can assign specific values to one or more attributes of the information object. In another illustrative example, a classifier based on machine learning can determine the degree to which a given fragment of a text in a natural language is connected (for example, represented by a set of morphological, lexical, syntactic, semantic and (or) other attributes) with a certain class of information objects. Classifier parameters can be determined or changed as a result of further training of the classifier using pre-existing or dynamically created training data samples based on which the classes of information objects are correlated with morphological, lexical, syntactic, semantic and (or) other text attributes in natural language. Classification methods may include differential evolution methods, genetic algorithms, random forest methods, neural networks, etc.
[00033] Различные методы извлечения информации могут иметь различные характеристики производительности, такие как вычислительная точность, полнота и (или) вычислительная сложность. Соответственно, различные методы извлечения информации могут создавать различные результаты при применении к одному и тому же тексту на естественном языке. Определенные информационные объекты, извлеченные на основе двух или более методов извлечения информации, могут конфликтовать друг с другом, например, одно и то же слово на естественном языке может быть распознано как ссылка на географическое положение или имя человека.[00033] Different methods of extracting information may have different performance characteristics, such as computational accuracy, completeness, and / or computational complexity. Accordingly, different methods of extracting information can produce different results when applied to the same text in a natural language. Certain information objects extracted using two or more methods of extracting information may conflict with each other, for example, the same word in a natural language can be recognized as a reference to a geographical location or a person’s name.
[00034] Настоящее изобретение повышает эффективность и качество извлечения информации путем создания систем и способов, которые используют различные сочетания методов извлечения информации с последующим определением и разрешением конфликтов среди извлеченных информационных объектов, таким образом достигается результат, превышающий качество и эффективность традиционно используемых методов. В иллюстративном примере вычислительная система, реализующая этот способ, может применять две или более методов извлечения информации для одного и того же текста на естественном языке. Затем вычислительная система может выявить множества (например, пары, триплеты, квадруплеты и т.д.) потенциально конфликтующих объектов, извлеченных различными методами, например, путем выявления перекрывающихся текстовых аннотаций и (или) нарушений различных ограничений, связанных с атрибутами информационных объектов (например, атрибут ограничения по кардинальности). После определения множества конфликтующих объектов вычислительная система может предпринять попытку разрешить конфликт за счет применения функции «арбитража» конфликтующих объектов, которая может выполнять анализ морфологических, лексических, синтаксических, семантических и (или) иных атрибутов конфликтующих информационных объектов с целью получения результата, подтверждающего один или более потенциально конфликтующих объектов, изменяющего атрибуты одного или более потенциально конфликтующих объектов, удаляющего один или более потенциально конфликтующих объектов и (или) выполняющего слияние одного или более потенциально конфликтующих объектов.[00034] The present invention improves the efficiency and quality of information extraction by creating systems and methods that use various combinations of information extraction methods with subsequent determination and resolution of conflicts among the extracted information objects, thus achieving a result that exceeds the quality and efficiency of traditionally used methods. In an illustrative example, a computing system that implements this method can use two or more methods of extracting information for the same natural language text. Then, the computing system can detect the sets (for example, pairs, triplets, quadruplets, etc.) of potentially conflicting objects extracted by various methods, for example, by detecting overlapping text annotations and (or) violations of various restrictions associated with attributes of information objects (for example , attribute of cardinality restriction). After determining the set of conflicting objects, the computing system can attempt to resolve the conflict by applying the function of “arbitration” of conflicting objects, which can analyze morphological, lexical, syntactic, semantic and (or) other attributes of conflicting information objects in order to obtain a result confirming one or more potentially conflicting objects, changing the attributes of one or more potentially conflicting objects, deleting one or more potentially conflicting objects and / or merging one or more potentially conflicting objects.
[00035] В определенных вариантах реализации функция «арбитража» конфликтующих информационных объектов может применять одно или более настраиваемых правил оценки логических условий, определенных для морфологических, лексических, синтаксических, семантических и (или) иных атрибутов извлеченных информационных объектов. Как вариант, функция «арбитража» конфликтующих объектов может включать один или более классификаторов на основе машинного обучения. В иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может обеспечивать степень обоснованности одного или более возможных результатов «арбитража» (например, слияние возможных конфликтующих объектов в единый объект, подтверждение одного или более извлеченных объектов, изменение одного или более извлеченных объектов и (или) удаление одного или более извлеченных объектов). В другом иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может обеспечивать сходство двух или более информационных объектов, представляющих один и тот же объект реальной жизни. В еще одном иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может создавать степени уверенности, связанные с каждым информационным объектом из множества конфликтующих информационных объектов.[00035] In certain embodiments, the arbitration function of conflicting information objects may apply one or more customizable rules for evaluating logical conditions defined for morphological, lexical, syntactic, semantic and (or) other attributes of the extracted information objects. Alternatively, the “arbitration” function of conflicting objects may include one or more classifiers based on machine learning. In an illustrative example, the classifier used by the “arbitration” function of conflicting objects can provide the degree of validity of one or more possible results of the “arbitration” (for example, merging possible conflicting objects into a single object, confirming one or more extracted objects, changing one or more extracted objects and (or) deletion of one or more extracted objects). In another illustrative example, the classifier used by the “arbitration” function of conflicting objects can ensure the similarity of two or more information objects representing the same real-life object. In yet another illustrative example, a classifier used by the arbitrage function of conflicting objects can create degrees of confidence associated with each information object from a plurality of conflicting information objects.
[00036] Классификаторы, использующиеся функцией «арбитража» конфликтующих объектов, могут быть обучены на основе существовавших ранее или динамически созданных обучающих выборок данных, на основе которых результаты «арбитража» могут быть соотнесены с морфологическими, лексическими, синтаксическими, семантическими и (или) другими атрибутами извлеченных информационных объектов. Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейросети и т.д.[00036] Classifiers used by the “arbitration” function of conflicting objects can be trained on the basis of pre-existing or dynamically created training data samples, based on which the results of the “arbitration” can be correlated with morphological, lexical, syntactic, semantic and (or) other attributes of extracted information objects. Classification methods may include differential evolution methods, genetic algorithms, random forest methods, neural networks, etc.
[00037] В определенных вариантах реализации обучающие выборки данных для классификаторов на основе машинного обучения могут создаваться путем применения способов на основе правил для отбора текстов на естественном языке и (или) путем верификации пользователем результатов классификации, полученных за счет применения обучаемых классификаторов. В иллюстративном примере классификаторы могут итеративно проходить повторное обучение на основе верифицированных пользователем результатов классификации, за счет чего с каждой итерацией обучения постепенно повышается качество классификации. Контуры такого обучения на основе обратной связи могут быть применены к классификаторам, выполняющим начальное извлечение информационных объектов, а также к классификаторам, реализующим функции «арбитража» конфликтующих объектов, за счет чего постепенно повышается общее качество извлечения информации.[00037] In certain embodiments, training data sets for classifiers based on machine learning can be created by applying rules-based methods for selecting texts in natural language and / or by user verification of classification results obtained through the use of trained classifiers. In an illustrative example, classifiers can iteratively retrain on the basis of classification results verified by the user, due to which the quality of classification is gradually improved with each iteration of training. The contours of such training based on feedback can be applied to classifiers that perform the initial extraction of information objects, as well as classifiers that implement the functions of “arbitration” of conflicting objects, thereby gradually increasing the overall quality of information extraction.
[00038] В некоторых вариантах осуществления определение классификатора, используемого для извлечения информации, может содержать один или более параметров, значения которых могут регулироваться с помощью методов машинного обучения, и может также включать один или более гиперпараметров, значения которых могут определяться некоторыми внешними по отношению к методам машинного обучения операциями или процессами. В иллюстративном примере значения одного или более гиперпараметров классификатора извлечения информации могут итеративно регулироваться путем итеративного выполнения операций обучения классификатора извлечения информации, обучения классификатора «арбитража» конфликтов, выполнения функции «арбитража» конфликтов и изменения значений гиперпараметров, таким образом итеративно оптимизируя показатель качества, с помощью которого производится оценка итогового списка извлеченных информационных объектов, как более подробно описано ниже в этом документе.[00038] In some embodiments, the definition of the classifier used to extract the information may include one or more parameters, the values of which can be adjusted using machine learning methods, and may also include one or more hyperparameters, the values of which can be determined by some external to machine learning methods by operations or processes. In an illustrative example, the values of one or more hyperparameters of the information extraction classifier can be iteratively controlled by iteratively performing the operations of training the information extraction classifier, training the conflict arbitration classifier, performing the conflict arbitration function, and changing the hyperparameter values, thereby iteratively optimizing the quality indicator using which evaluates the final list of extracted information objects, as described in more detail on Also in this document.
[00039] Системы и способы, работающие в соответствии с одним или более вариантами реализации настоящего изобретения, можно использовать для выполнения различных операций обработки естественного языка, таких как машинный перевод, семантический поиск, классификация и кластеризация объектов и т.д. В некоторых реализациях извлеченная информация может быть визуально представлена с помощью графического пользовательского интерфейса, например, путем отображения идентификаторов классов информационных объектов в визуальном сопоставлении с соответствующими фрагментами текста естественного языка.[00039] Systems and methods operating in accordance with one or more embodiments of the present invention can be used to perform various natural language processing operations, such as machine translation, semantic search, classification and clustering of objects, etc. In some implementations, the extracted information can be visually represented using a graphical user interface, for example, by displaying the identifiers of classes of information objects in visual comparison with the corresponding fragments of the text of a natural language.
[00040] Различные аспекты упомянутых выше способов и систем подробно описаны ниже в этом документе с помощью примеров, а не способом ограничения.[00040] Various aspects of the above methods and systems are described in detail later in this document by way of examples, and not by way of limitation.
[00041] На Фиг. 1 приведена блок-схема одного иллюстративного примера способа извлечения информации с помощью нескольких методов извлечения в соответствии с одним или более вариантами реализации настоящего изобретения. Способ 100 и (или) каждая из его отдельных функций, стандартных программ, подпрограмм или операций могут выполняться одним или более процессорами вычислительной системы (например, вычислительная система 1000 на Фиг. 16), реализующей этот способ. В некоторых вариантах осуществления способ 100 может выполняться в одном потоке обработки. При альтернативном подходе способ 100 может осуществляться с использованием двух или более потоков обработки, при этом в каждом потоке реализована одна или более отдельных функций, процедур, подпрограмм или действий этого способа. В одном из иллюстративных примеров потоки обработки, в которых реализован способ 100, могут быть синхронизированы (например, с использованием семафоров, критических секций и (или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, реализующие способ 100, могут выполняться асинхронно по отношению друг к другу.[00041] In FIG. 1 is a flowchart of one illustrative example of a method for extracting information using several extraction methods in accordance with one or more embodiments of the present invention. The
[00042] На шаге 110 вычислительная система, реализующая способ, может получать текст на естественном языке. В иллюстративном примере вычислительное устройство может получить текст на естественном языке в виде электронного документа, который может быть получен путем сканирования или за счет применения иного способа изображения с бумажного документа с последующим выполнением оптического распознавания символов (OCR) для получения текста документа. В другом иллюстративном примере вычислительная система может получить текст на естественном языке в виде одного или более форматированных файлов, например, файлов текстового редактора, сообщений электронной почты, файлов цифровых данных и т.д.[00042] In step 110, a computing system implementing the method may receive natural language text. In an illustrative example, a computing device can receive natural language text in the form of an electronic document, which can be obtained by scanning or by using another image method from a paper document, followed by optical character recognition (OCR) to obtain the text of the document. In another illustrative example, a computing system may receive natural language text in the form of one or more formatted files, for example, text editor files, email messages, digital data files, etc.
[00043] На шаге 120 вычислительная система может применить к тексту на естественном языке первый метод извлечения информации. В определенных вариантах реализации первый метод извлечения информации может использовать изменяемые наборы правил, автоматические методы классификации (также называемые «классификаторами на основе машинного обучения»), эвристические подходы и (или) сочетание этих способов. При применении первого метода извлечения информации к тексту на естественном языке может создаваться множество информационных объектов одного или более типов информационных объектов.[00043] In step 120, the computing system can apply the first information extraction method to the natural language text. In certain implementations, the first method of extracting information can use variable sets of rules, automatic classification methods (also called “machine learning classifiers”), heuristic approaches and / or a combination of these methods. When applying the first method of extracting information to a text in a natural language, many information objects of one or more types of information objects can be created.
[00044] В одном из иллюстрационных примеров первый метод извлечения информации может использовать изменяемое множество продукционных правил для интерпретации множества семантико-синтаксических структур, полученных в результате семантико-синтаксического анализа текста на естественном языке. Каждая семантическая структура может представлять предложение на соответствующем естественном языке. Каждая семантическая структура может быть представлена ациклическим графом, который включает множество узлов, соответствующих семантическим классам, и множество дуг, соответствующих семантическим отношениям, что описано более подробно ниже со ссылкой на Фиг. 15.[00044] In one illustrative example, the first method of extracting information can use a variable set of production rules to interpret the set of semantic-syntactic structures obtained as a result of semantic-syntactic analysis of text in natural language. Each semantic structure can represent a sentence in the corresponding natural language. Each semantic structure can be represented by an acyclic graph that includes many nodes corresponding to semantic classes and many arcs corresponding to semantic relations, which is described in more detail below with reference to FIG. fifteen.
[00045] Продукционные правила, применяемые ко множеству семантических структур, могут содержать правила интерпретации и правила идентификации. Правило интерпретации может содержать левую часть, представленную множеством логических выражений, определенных на одном или более шаблонах семантической структуры, и правую часть, представленную одним или более утверждениями относительно информационных объектов, представляющих сущности, на которые имеется ссылка в тексте на естественном языке. Шаблон семантической структуры может включать определенные элементы семантической структуры (например, связь с определенным лексическим / семантическим классом, связь с определенной поверхностной или глубинной позицией в указанном месте семантической структуры, наличие отношений предок-потомок между определенными узлами семантической структуры и ряд уровней семантической иерархии между родительскими и дочерними классами в определенной онтологии, наличие общего предка для определенных узлов семантической структуры, наличие определенных граммем или семантем и т.д.). Отношения между элементами семантических структур могут задаваться с помощью одного или более логических выражений (конъюнкция, дизъюнкция и отрицание) и (или) операций, характеризующих взаимное расположение узлов в синтактико-семантическом дереве. В качестве иллюстративного примера такая операция может проверять, принадлежит ли узел к поддереву другого узла.[00045] Production rules applied to a variety of semantic structures may include interpretation rules and identification rules. An interpretation rule may contain the left part represented by a set of logical expressions defined on one or more semantic structure templates and the right part represented by one or more statements regarding information objects representing entities referred to in a natural language text. The semantic structure template may include certain elements of the semantic structure (for example, a relationship with a specific lexical / semantic class, a relationship with a specific surface or depth position at a specified location in the semantic structure, the presence of ancestor-child relationships between certain nodes of the semantic structure, and a number of levels of the semantic hierarchy between parent and child classes in a specific ontology, the presence of a common ancestor for certain nodes of the semantic structure, the presence of PARTICULAR grammemes or semantics, etc.). Relations between elements of semantic structures can be specified using one or more logical expressions (conjunction, disjunction, and negation) and (or) operations characterizing the mutual arrangement of nodes in a syntactic-semantic tree. As an illustrative example, such an operation can check whether a node belongs to a subtree of another node.
[00046] Правая часть продукционного правила может назначать и (или) изменять значения одного или более атрибутов информационных объектов, отображающих морфологические, лексические, синтаксические, семантические и (или) иные атрибуты фрагмента текста на естественном языке. В одном из иллюстративных примеров правая сторона правила интерпретации может содержать утверждение, связывающее фрагмент текста на естественном языке с классом информационных объектов.[00046] The right part of the production rule may assign and (or) change the values of one or more attributes of information objects that display morphological, lexical, syntactic, semantic and (or) other attributes of a fragment of text in a natural language. In one illustrative example, the right side of the interpretation rule may contain a statement linking a piece of natural language text to a class of information objects.
[00047] Правило идентификации может использоваться для установления ассоциативной связи для пары информационных объектов, которые представляют одну и ту же сущность реального мира. Правило идентификации - это продукционное правило, левая часть которого содержит одно или более логических выражений, указывающих на узлы семантического дерева, соответствующие информационным объектам. Если указанная пара информационных объектов удовлетворяет условиям, заданным логическими выражениями, то происходит слияние информационных объектов в один информационный объект.[00047] An identification rule can be used to establish an associative relationship for a pair of information objects that represent the same entity in the real world. An identification rule is a production rule, the left part of which contains one or more logical expressions pointing to the nodes of the semantic tree corresponding to information objects. If the specified pair of information objects satisfies the conditions specified by logical expressions, then the information objects merge into one information object.
[00048] В иллюстративном примере метод извлечения информации может использовать один или более классификаторов машинного обучения. Каждый классификатор машинного обучения может определять степень связанности заданного фрагмента текста на естественном языке (например, представленного набором морфологических, лексических, синтаксических, семантических и (или) иных атрибутов) с определенным классом информационных объектов. Вычислительная система может итеративно обрабатывать множество фрагментов текста на естественном языке и определять для каждого текстового фрагмента степень его связи с одним или более классами информационных объектов. Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейросети и т.д.[00048] In an illustrative example, an information extraction method may use one or more machine learning classifiers. Each machine learning classifier can determine the degree of connectedness of a given fragment of text in a natural language (for example, represented by a set of morphological, lexical, syntactic, semantic and (or) other attributes) with a specific class of information objects. A computer system can iteratively process many fragments of text in a natural language and determine for each text fragment the degree of its connection with one or more classes of information objects. Classification methods may include differential evolution methods, genetic algorithms, random forest methods, neural networks, etc.
[00049] Классификаторы могут быть обучены с использованием ранее существовавших и (или) динамически созданных обучающих выборок данных, на основе которых выполняется корреляция классов информационных объектов с лексическими, синтаксическими, семантическими и (или) иными атрибутами текста на естественном языке. Обучающая выборка данных может включать один или более текстов на естественном языке в сопровождении метаданных, которые определяют некоторые информационные объекты, их классификацию, атрибуты и соответствующие текстовые аннотации. В иллюстративном примере метаданные могут быть представлены разметкой, связанной с текстом на естественном языке. В определенных вариантах реализации обучающая выборка данных может итеративно совершенствоваться за счет добавления новых текстов на естественном языке, сопровождаемых подтвержденными пользователем метаданными. Валидация метаданных может включать получение через графический интерфейс пользователя пользовательского ввода, подтверждающего или корректирующего извлеченные информационные объекты и их атрибуты.[00049] Classifiers can be trained using pre-existing and (or) dynamically created training data samples based on which the correlation of classes of information objects with lexical, syntactic, semantic and (or) other attributes of a text in a natural language is performed. A training data set may include one or more natural language texts accompanied by metadata that define some information objects, their classification, attributes, and corresponding text annotations. In an illustrative example, metadata may be represented by markup associated with natural language text. In certain implementations, the training data set can be iteratively improved by adding new natural language texts, accompanied by user-confirmed metadata. Validation of metadata may include receiving user input through a graphical user interface that confirms or corrects the extracted information objects and their attributes.
[00050] Извлеченные информационные объекты могут быть представлены в виде RDF-графа. RDF (Resource Definition Framework - среда определения ресурса) присваивает каждому информационному объекту уникальный идентификатор и сохраняет информацию о таком объекте в виде наборов из трех элементов (триплетов) SPO, где S означает «субъект» и содержит идентификатор объекта, Р означает «предикат» и определяет некоторое свойство этого объекта, а О означает «объект» и хранит в себе значение рассматриваемого свойства данного объекта. Это значение может быть либо примитивным типом данных (примеры: строка, число, булево (логическое) значение), либо идентификатором другого объекта. В одном из иллюстративных примеров триплет SPO может ассоциировать фрагмент из текста на естественном языке с категорией информационных объектов.[00050] The extracted information objects may be represented as an RDF graph. RDF (Resource Definition Framework) assigns a unique identifier to each information object and stores information about such an object in the form of sets of three SPO elements (triplets), where S means “subject” and contains the identifier of the object, P means “predicate” and defines some property of this object, and O means "object" and stores the value of the considered property of this object. This value can be either a primitive data type (examples: string, number, Boolean (logical) value), or the identifier of another object. In one illustrative example, an SPO triplet can associate a fragment from a text in natural language with a category of information objects.
[00051] В определенных вариантах реализации методы извлечения информации могут быть основаны на онтологиях и (или) других моделях документов для анализа лексических, синтаксических, семантических и (или) иных атрибутов текста на естественном языке. Таким образом, операциям по извлечению информации, указанным на шаге 120, может предшествовать одна или более операций предварительной обработки документа, выполняемых для определения структуры документа и определения соответствующей модели документа. В одном иллюстративном примере структура документа может включать иерархическую многоуровневую структуру, в которой разделы документа разделяются заголовками и подзаголовками. В другом иллюстративном примере структура документа может включать одну или более таблиц, содержащих несколько строк и столбцов, по меньшей мере некоторые из которых могут быть связаны с заголовками, которые в свою очередь могут быть организованы в многоуровневую иерархию. В другом иллюстративном примере структура документа может включать структуру страницы, содержащую верхний колонтитул страницы, тело страницы и (или) нижний колонтитул страницы. В другом иллюстративном примере структура документа может включать определенные текстовые поля, связанные с заранее определенными типами информации, такими как поле подписи, поле даты поле адреса, поле имени и т.д. Вычислительная система 100, в которой реализован этот способ, может интерпретировать структуру документа для получения определенной информации о структуре документа, которая может использоваться для расширения текстовой информации, содержащейся в этом документе. В некоторых реализациях изобретения при анализе структурированных документов вычислительная система может использовать различные вспомогательные онтологии, содержащие классы и концепты, отражающие специфическую структуру документа. Классы вспомогательной онтологии могут быть ассоциированы с определенными продукционными правилами и (или) функциями классификатора, которые могут быть применены к нескольким семантическим структурам, полученным при семантико-синтаксическом анализе соответствующего документа для внесения в результирующее множество семантических структур определенной информации, передаваемой структурой этого документа.[00051] In certain embodiments, information retrieval methods can be based on ontologies and (or) other document models for analyzing lexical, syntactic, semantic and (or) other attributes of a text in natural language. Thus, the information retrieval operations indicated in step 120 may be preceded by one or more document pre-processing operations performed to determine the structure of the document and determine the corresponding model of the document. In one illustrative example, a document structure may include a hierarchical multi-level structure in which sections of a document are separated by headers and subheadings. In another illustrative example, a document structure may include one or more tables containing several rows and columns, at least some of which may be associated with headings, which in turn may be organized into a multi-level hierarchy. In another illustrative example, a document structure may include a page structure comprising a page header, a page body, and / or a page footer. In another illustrative example, a document structure may include certain text fields associated with predetermined types of information, such as a signature field, a date field, an address field, a name field, etc. The
[00052] На шаге 130 вычислительная система может применить к тексту на естественном языке второй метод извлечения информации, который отличается от первого метода извлечения информации. В определенных вариантах реализации второй метод извлечения информации может использовать изменяемые наборы правил, автоматические методы классификации (также называемые «классификаторами машинного обучения»), эвристические подходы и (или) сочетание этих способов, что описано более подробно ниже со ссылкой на шаг 120. При применении второго метода извлечения информации может быть создано второе множество информационных объектов, которое может отличаться от первого множества информационных объектов, созданного при применении первого метода извлечения информации.[00052] In step 130, the computing system can apply a second method of extracting information to a natural language text that is different from the first method of extracting information. In certain implementations, the second method of extracting information can use variable sets of rules, automatic classification methods (also called “machine learning classifiers”), heuristic approaches and / or a combination of these methods, which is described in more detail below with reference to step 120. When applying a second set of information objects can be created that can be different from the first set of information objects created by applying the first method of extracting information.
[00053] На Фиг. 1 показано только два множества информационных объектов, извлекаемых с применением двух различных методов извлечения информации, однако различные варианты реализации способа 100 могут предусматривать применение двух или более различных методы извлечения информация для извлечения двух или более множеств информационных объектов.[00053] In FIG. 1 shows only two sets of information objects retrieved using two different methods of extracting information, however, various embodiments of
[00054] На шаге 140 вычислительная система может создавать промежуточный 250 перечень информационных объектов, который может включать по меньшей мере подмножество для каждого множества информационных объектов, извлеченных за счет применения различных методов извлечения информации на шагах 120-130. В иллюстративном примере вычислительная система может включать в промежуточный перечень информационные объекты, связанные с одним или более заранее определенными классами информационных объектов, с исключением информационных объектов, связанных с другими классами. В другом иллюстративном примере вычислительная система может исключать из промежуточного перечня информационные объекты одного или более заранее определенных классов информационных объектов. Как описано выше, промежуточный перечень может включать одно или более множеств потенциально конфликтующих информационных объектов, совместное существование которых нарушает одно или более заданных правил (например, перекрытие текстовых аннотаций или ограничения по кардинальности). Промежуточный перечень может быть представлен RDF-графом, созданным путем слияния RDF-графов, представляющих соответствующие множества извлеченных информационных объектов.[00054] At step 140, the computing system may create an intermediate 250 list of information objects, which may include at least a subset of each set of information objects extracted by applying various methods of extracting information in steps 120-130. In an illustrative example, a computing system may include in an interim list information objects associated with one or more predefined classes of information objects, with the exception of information objects associated with other classes. In another illustrative example, a computing system may exclude from the interim list information objects of one or more predetermined classes of information objects. As described above, an interim list may include one or more sets of potentially conflicting information objects, the joint existence of which violates one or more specified rules (for example, overlapping text annotations or cardinality restrictions). An intermediate list can be represented by an RDF graph created by merging RDF graphs representing the corresponding sets of extracted information objects.
[00055] На шаге 150 вычислительная система может определить один или более множеств конфликтующих информационных объектов, при этом каждое множество включает два или более информационных объекта, по меньшей мере два из которых были извлечены различными методами извлечения информации. В иллюстративном примере множество конфликтующих информационных объектов может включать два информационных объекта, при этом первый информационный объект относится к первому множеству информационных объектов, извлеченных по первому методу извлечения информации, а второй информационный объект относится ко второму множеству информационных объектов, извлеченных по второму методу извлечения информации.[00055] At step 150, the computing system can determine one or more sets of conflicting information objects, each set including two or more information objects, at least two of which were extracted by various methods of extracting information. In an illustrative example, a plurality of conflicting information objects may include two information objects, wherein the first information object relates to the first set of information objects extracted by the first information extraction method, and the second information object relates to the second set of information objects extracted by the second information extraction method.
[00056] В иллюстративном примере определение потенциально конфликтующих информационных объектов может включать определение извлеченных информационных объектов, имеющих как минимум частично пересекающиеся текстовые аннотации. Вычислительная система, реализующая этот способ, может итеративно обрабатывать промежуточный перечень извлеченных информационных объектов с целью выявления множеств информационных объектов (например, пары, триплеты, квадруплеты и т.д.) с пересекающимися текстовыми аннотациями. В определенных вариантах реализации вычислительная система может определять, что два или более извлеченных информационных объектов конфликтуют, если их соответствующие аннотации пересекаются по меньшей мере в пороговом количестве слов.[00056] In an illustrative example, identifying potentially conflicting information objects may include identifying extracted information objects having at least partially overlapping text annotations. A computer system that implements this method can iteratively process an intermediate list of extracted information objects in order to identify sets of information objects (for example, pairs, triplets, quadruplets, etc.) with intersecting text annotations. In certain embodiments, a computing system may determine that two or more extracted information objects conflict if their respective annotations intersect at least in a threshold number of words.
[00057] В другом иллюстративном примере определение потенциально конфликтующих информационных объектов может включать определение различных ограничений, связанных с атрибутами информационных объектов. В определенных вариантах реализации вычислительная система, реализующая этот способ, может выполнять оценку логических условий, определенных для атрибутов информационных объектов (например, сравнение атрибута одного информационного объекта с атрибутом другого информационного объекта). В иллюстративном примере вычислительная система может выявлять нарушение ограничения по кардинальности за счет определения информационного объекта, имеющего ряд атрибутов определенного типа (например, человек может иметь только одну дату рождения и одно место рождения). Кардинальность и другие ограничения могут быть указаны в модели документа или онтологии, связанной с обрабатываемым документом.[00057] In another illustrative example, the determination of potentially conflicting information objects may include the determination of various constraints associated with attributes of information objects. In certain embodiments, a computing system that implements this method can evaluate the logical conditions defined for attributes of information objects (for example, comparing an attribute of one information object with an attribute of another information object). In an illustrative example, a computing system can detect a violation of the cardinality limit by defining an information object that has a number of attributes of a certain type (for example, a person can have only one date of birth and one place of birth). Cardinality and other restrictions can be specified in the model of the document or ontology associated with the processed document.
[00058] На шаге 160 вычислительная система может применить функцию «арбитража» конфликтующих объектов для каждого выявленного множества конфликтующих информационных объектов для разрешения конфликтов в промежуточном перечне информационных объектов, за счет чего создается окончательный перечень информационных объектов, извлеченных из текстов на естественном языке. Для каждого множества конфликтующих информационных объектов функция «арбитража» конфликтующих объектов может разрешать конфликт путем анализа морфологических, лексических, синтаксических, семантических и (или) иных атрибутов конфликтующих информационных объектов с целью создания результата, подтверждающего один или более потенциально конфликтующих объектов, изменяющего один или более потенциально конфликтующих объектов, удаляющего один или более потенциально конфликтующих объектов и (или) выполняющего слияние одного или более потенциально конфликтующих объектов. На основе результатов работы функции «арбитража» конфликтующих объектов вычислительная система может изменять RDF-граф, представляющий промежуточный перечень извлеченных информационных объектов, на основе чего создается окончательный RDF-граф.[00058] At step 160, the computing system can apply the function of “arbitration” of conflicting objects for each identified set of conflicting information objects to resolve conflicts in the intermediate list of information objects, thereby creating a final list of information objects extracted from natural language texts. For each set of conflicting information objects, the “arbitration” function of conflicting objects can resolve the conflict by analyzing the morphological, lexical, syntactic, semantic and (or) other attributes of conflicting information objects in order to create a result confirming one or more potentially conflicting objects, changing one or more potentially conflicting objects, deleting one or more potentially conflicting objects and (or) merging one or more potentially conflicting objects. Based on the results of the function of "arbitration" of conflicting objects, the computing system can modify the RDF graph representing an intermediate list of extracted information objects, on the basis of which the final RDF graph is created.
[00059] На Фиг. 2 схематически показан пример «арбитража» конфликтующих объектов, который может быть выполнен в соответствии с одним или более вариантами реализации настоящего изобретения. Как показано за Фиг. 2, при применении к тексту на естественном языке 210 первого метода извлечения информации 220А создается первое множество информационных объектов 230А, а при применении к тексту на естественном языке 210 второго метода извлечения информации 220В создается второе множество информационных объектов 230В. Первое множество информационных объектов 230А может включать информационный объект 240А, который может быть потенциально конфликтующим с информационным объектом 240В, входящим во второе множество информационных объектов 230В. При применении функции «арбитража» конфликтующих объектов 250 к потенциально конфликтующим информационным объектам 260 может создаваться один из результатов «арбитража» конфликтующих объектов 260. Результат «арбитража» конфликтующих объектов 260А включает подтверждение информационных объектов 240А и 240В и изменение по меньшей мере некоторых из их атрибутов (например, путем изменения класса информационного объекта и соответствующего разрешения очевидного конфликта). Результат «арбитража» конфликтующих объектов 260В включает удаление информационного объекта 240В. По меньшей мере некоторые из атрибутов удаленного информационного объекта 240В могут быть скопированы в оставшийся информационный объект 240А. Результат «арбитража» конфликтующих объектов 260С включает слияние информационных объектов 240А и 240В в новый информационный объект 240С.[00059] FIG. 2 schematically shows an example of “arbitration” of conflicting entities that can be performed in accordance with one or more embodiments of the present invention. As shown in FIG. 2, when the first set of information extraction method 220A is applied to the natural language text 210, the first set of information objects 230A is created, and when the second method of information extraction 220V is applied to the text in natural language 210, the second set of information objects 230B is created. The first set of information objects 230A may include an information object 240A, which may be potentially conflicting with the information object 240B included in the second set of information objects 230B. When applying the function of “arbitration” of conflicting objects 250 to potentially conflicting information objects 260, one of the results of the “arbitration” of conflicting objects 260 can be created. The result of the “arbitration” of
[00060] В определенных вариантах реализации функция «арбитража» конфликтующих информационных объектов может применять одно или более настраиваемых продукционных правил оценки логических условий, определенных для морфологических, лексических, синтаксических, семантических и (или) иных атрибутов извлеченных информационных объектов. В иллюстративном примере реализации атрибуты извлеченных информационных объектов, оцениваемые продукционными правилами, могут включать степени уверенности, связанные с соответствующими информационными объектами. Степени уверенности могут создаваться методами извлечения информации, применяемыми на шагах 120-130.[00060] In certain embodiments, the arbitration function of conflicting information objects may apply one or more customizable production rules for evaluating logical conditions defined for morphological, lexical, syntactic, semantic and (or) other attributes of the extracted information objects. In an illustrative implementation example, the attributes of the extracted information objects evaluated by production rules may include confidence levels associated with the corresponding information objects. Confidence levels can be created by the information extraction methods used in steps 120-130.
[00061] Как вариант, функция «арбитража» конфликтующих объектов может включать один или более классификаторов машинного обучения. В иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может обеспечивать степень обоснованности одного или более возможных результатов «арбитража» (например, слияние возможных конфликтующих объектов в единый объект, подтверждение одного или более извлеченных объектов, изменение одного или более извлеченных объектов и (или) удаление одного или более извлеченных объектов). В другом иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может фиксировать сходство двух или более информационных объектов, представляющих один и тот же объект реальной жизни. Если вероятность превышает пороговое значение, функция «арбитража» конфликтующих объектов может выполнять слияние выявленных информационных объектов. В еще одном иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может создавать степени уверенности, связанные с каждым информационным объектом из множества конфликтующих информационных объектов. Функция «арбитража» конфликтующих объектов может удалять один или более информационных объектов с минимальной степенью уверенности и (или) степенью уверенности ниже заданного порога.[00061] Alternatively, the arbitration function of conflicting entities may include one or more machine learning classifiers. In an illustrative example, the classifier used by the “arbitration” function of conflicting objects can provide the degree of validity of one or more possible results of the “arbitration” (for example, merging possible conflicting objects into a single object, confirming one or more extracted objects, changing one or more extracted objects and (or) deletion of one or more extracted objects). In another illustrative example, the classifier used by the “arbitration” function of conflicting objects can record the similarity of two or more information objects representing the same real-life object. If the probability exceeds a threshold value, the function of “arbitration” of conflicting objects can merge the identified information objects. In yet another illustrative example, a classifier used by the arbitrage function of conflicting objects can create degrees of confidence associated with each information object from a plurality of conflicting information objects. The arbitration function of conflicting objects can delete one or more information objects with a minimum degree of certainty and (or) a degree of certainty below a given threshold.
[00062] Классификаторы, использующиеся функцией «арбитража» конфликтующих объектов, могут быть обучены на основе существовавших ранее или динамически созданных обучающих выборок данных, на основе которых результаты «арбитража» могут быть соотнесены с морфологическими, лексическими, синтаксическими, семантическими и (или) другими атрибутами извлеченных информационных объектов. В определенных вариантах реализации атрибуты извлеченных информационных объектов, оцениваемые классификаторами на основе машинного обучения, могут включать степени уверенности, связанные с соответствующими информационными объектами. Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейросети и т.д.[00062] Classifiers used by the function of "arbitration" of conflicting objects can be trained based on pre-existing or dynamically created training data samples, based on which the results of the "arbitration" can be correlated with morphological, lexical, syntactic, semantic and (or) other attributes of extracted information objects. In certain implementations, the attributes of the extracted information objects evaluated by classifiers based on machine learning may include confidence levels associated with the corresponding information objects. Classification methods may include differential evolution methods, genetic algorithms, random forest methods, neural networks, etc.
[00063] Классификатор может быть обучен с использованием ранее существовавших и (или) динамически созданных обучающих выборок данных, на основе которых выполняется корреляция возможных результатов «арбитража» с лексическими, синтаксическими, семантическими и (или) иными атрибутами текста на естественном языке. Обучающая выборка данных может включать один или более текстов на естественном языке в сопровождении метаданных, которые определяют множества конфликтующих информационных объектов, их классификацию, атрибуты и соответствующие результаты «арбитража» конфликтующих объектов. В иллюстративном примере метаданные могут быть представлены разметкой, связанной с текстом на естественном языке. В определенных вариантах реализации обучающая выборка данных может итеративно совершенствоваться за счет добавления новых текстов на естественном языке, сопровождаемых подтвержденными пользователем метаданными. Валидация метаданных может включать получение через графический интерфейс пользователя пользовательского ввода, подтверждающего или корректирующего извлеченные информационные объекты и их атрибуты. В некоторых реализациях верифицированные пользователем тексты и сопровождающие их метаданные, специфицирующие извлеченные информационные объекты, их атрибуты и текстовые аннотации, могут быть использованы для формирования и обновления обучающих выборок, применяемых для обучения классификаторов как подробно описано ниже.[00063] The classifier can be trained using pre-existing and (or) dynamically created training data samples, based on which the possible results of the “arbitration” are correlated with lexical, syntactic, semantic and (or) other attributes of the text in natural language. A training data set may include one or more natural language texts accompanied by metadata that defines the sets of conflicting information objects, their classification, attributes and the corresponding results of the “arbitration” of conflicting objects. In an illustrative example, metadata may be represented by markup associated with natural language text. In certain implementations, the training data set can be iteratively improved by adding new natural language texts, accompanied by user-confirmed metadata. Validation of metadata may include receiving user input through a graphical user interface that confirms or corrects the extracted information objects and their attributes. In some implementations, user-verified texts and their accompanying metadata specifying the extracted information objects, their attributes and text annotations can be used to generate and update training samples used to train classifiers as described in detail below.
[00064] Со ссылкой на Фиг. 1, на шаге 170 вычислительная система может использовать окончательный перечень информационных объектов для выполнения задач или операций обработки естественного языка, включая машинный перевод, семантическое индексирование, семантический поиск (в том числе семантический поиск на нескольких языках), классификацию документов, поиск и представление электронных документов (е-discovery) и т.д. В некоторых реализациях компьютерная система может отображать извлеченные информационные объекты с визуальными ссылками к фрагментам текста на естественном языке и учитывать действия пользователя, подтверждающие или изменяющие текстовые аннотации и/или результат классификации объекта.[00064] With reference to FIG. 1, in step 170, the computing system can use the final list of information objects to perform tasks or natural language processing operations, including machine translation, semantic indexing, semantic search (including semantic search in several languages), document classification, search and presentation of electronic documents (e-discovery) etc. In some implementations, the computer system may display the extracted information objects with visual links to fragments of text in natural language and take into account user actions that confirm or modify text annotations and / or the result of the classification of the object.
[00065] В некоторых вариантах осуществления определение классификатора, используемого для извлечения информации, может содержать один или более параметров, значения которых могут регулироваться с помощью методов машинного обучения, и может также включать один или более гиперпараметров, значения которых могут определяться некоторыми внешними по отношению к методам машинного обучения операциями или процессами. Другими словами, значения гиперпараметров классификатора определяются до применения методов машинного обучения для тонкой настройки параметров классификатора.[00065] In some embodiments, the definition of the classifier used to extract the information may include one or more parameters, the values of which can be adjusted using machine learning methods, and may also include one or more hyperparameters, the values of which can be determined by some external to machine learning methods by operations or processes. In other words, the values of the classifier hyperparameters are determined before the application of machine learning methods for fine-tuning the classifier parameters.
[00066] В одном из иллюстративных примеров гиперпараметр классификатора извлечения информации может быть представлен параметром регуляризации классификатора градиентного бустинга. В другом иллюстративном примере гиперпараметр классификатора извлечения информации может быть представлен параметром β F-меры, полученным путем оценки информационного объекта, выдаваемого классификатором, который определяется следующим образом:[00066] In one illustrative example, the hyperparameter of the information extraction classifier can be represented by the regularization parameter of the gradient boosting classifier. In another illustrative example, the hyperparameter of the information extraction classifier can be represented by the parameter β of the F-measure, obtained by evaluating the information object issued by the classifier, which is determined as follows:
[00067] [00067]
где Точность = tp/(tp+fp) и Полнота = tp/(tp+fn),where Accuracy = t p / (t p + f p ) and Completeness = t p / (t p + f n ),
tp - это количество истинно положительных результатов (правильно классифицированных извлеченных информационных объектов), fp - количество ложно положительных результатов (информационный объект, который не принадлежит к определенному классу, был классифицирован как принадлежащий к этому классу), a fn - количество ложно отрицательных результатов (информационный объект, который принадлежит к определенному классу, не был классифицирован как принадлежащий к этому классу).t p is the number of truly positive results (correctly classified extracted information objects), f p is the number of false positive results (an information object that does not belong to a particular class was classified as belonging to this class), af n is the number of false negative results (an information object that belongs to a particular class has not been classified as belonging to this class).
[00068] В некоторых вариантах реализации значения одного или более гиперпараметров классификатора извлечения информации может итеративно регулироваться путем итеративного выполнения операций обучения классификатора извлечения информации, обучения классификатора «арбитража» конфликтов, выполнения функции «арбитража» конфликтов и модификации значений гиперпараметров на основе результата применения функции «арбитража» конфликтов, таким образом производится итеративная оптимизация показателя качества для оценки итогового списка извлеченных информационных объектов, как более подробно будет описано ниже в этом документе со ссылкой на Фиг. 3.[00068] In some embodiments, the values of one or more hyperparameters of the information extraction classifier can be iteratively controlled by iteratively performing the operations of training the information extraction classifier, training the conflict arbitration classifier, performing the conflict arbitration function, and modifying the values of the hyper parameters based on the result of applying the function " arbitration ”of conflicts, thus iterative optimization of the quality indicator is made to evaluate the final list of involved information objects, as will be described in more detail later in this document with reference to FIG. 3.
[00069] На Фиг. 3 приведена блок-схема одного примера способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке в соответствии с одним или более вариантами реализации настоящего изобретения. Способ 300 и (или) каждая из его отдельных функций, программ, подпрограмм или операций могут выполняться одним или более процессорами вычислительной системы (например, вычислительной системы 1000 на Фиг. 16), реализующими этот способ. В некоторых вариантах реализации способ 300 может выполняться в одном потоке обработки. При альтернативном подходе способ 300 может быть реализован двумя или более потоками обработки, при этом в каждом потоке реализована одна или несколько отдельных функций, процедур, подпрограмм или операций этого способа. В иллюстративном примере потоки обработки, в которых реализован способ 300, могут быть синхронизированы (например, с использованием семафоров, критических секций и (или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, реализующие способ 300, могут выполняться асинхронно по отношению друг к другу.[00069] In FIG. 3 is a flow chart of one example of a classifier training method used to extract information from natural language texts in accordance with one or more embodiments of the present invention. The
[00070] На шаге 310 вычислительная система реализует способ, позволяющий обучать классификатор извлечения информации извлечению множества информационных объектов из текста на естественном языке. В некоторых вариантах реализации определение классификатора может включать один или более параметров, значения которых регулируются при операции обучения классификатора и могут дополнительно включать один или более гиперпараметров, значения которых могут определяться некоторой внешней по отношению к машинному обучению операцией или процессом. В одном из иллюстративных примеров гиперпараметр классификатора извлечения информации может быть представлен параметром регуляризации классификатора градиентного бустинга. В другом иллюстративном примере гиперпараметр классификатора извлечения информации может быть представлен параметром β F-меры, полученным путем оценки информационного объекта, выдаваемого классификатором.[00070] At step 310, the computing system implements a method for training a classifier for extracting information to extract multiple information objects from a text in a natural language. In some embodiments, the definition of a classifier may include one or more parameters, the values of which are adjusted during the training operation of the classifier, and may additionally include one or more hyperparameters, the values of which can be determined by an operation or process external to machine learning. In one illustrative example, the hyperparameter of the information extraction classifier can be represented by the regularization parameter of the gradient boosting classifier. In another illustrative example, the hyperparameter of the information extraction classifier can be represented by the parameter β of the F-measure, obtained by evaluating the information object issued by the classifier.
[00071] В одном из иллюстративных примеров аннотированный корпус текстов, используемый для обучения классификатора извлечения информации, может быть разделен на обучающую выборку данных и набор проверочных данных. Обучающая выборка данных затем может быть использована для определения значений параметров классификатора, а набор проверочных данных может использоваться для вычисления показателя качества извлечения информации (то есть, быть представлен параметризованной F-мерой). В одном из иллюстративных примеров процесс обучения может включать настройку одного или более параметров классификатора извлечения информации до тех пор, пока выбранный показатель качества, применяемый к извлеченным информационным объектам, не будет соответствовать установленному заранее пороговому значению.[00071] In one illustrative example, the annotated body of texts used to train a classifier for extracting information can be divided into a training data set and a set of test data. The training data sample can then be used to determine the values of the classifier parameters, and the test data set can be used to calculate the quality of information extraction (that is, be represented by a parameterized F-measure). In one illustrative example, the learning process may include setting up one or more parameters of the information extraction classifier until the selected quality indicator applied to the extracted information objects corresponds to a predetermined threshold value.
[00072] Разделение корпуса текстов может включать перекрестную проверку обучающей выборки данных и набора проверочных данных. Для сокращения непостоянства результата может выполняться несколько итераций перекрестной проверки с применением различных разделений, а результаты проверки модели могут быть агрегированы (например, усреднены) по итерациям. В иллюстративном примере к корпусу текстов на естественном языке может применяться способ k-кратной перекрестной проверки. Способ может включать случайное разделение исходного корпуса текстов на k наборов данных одинакового размера, один из которых затем используется в качестве набора проверочных данных, а оставшиеся k-1 дополнительных наборов затем используются как обучающие выборки данных. Затем процесс перекрестной проверки может быть повторен k раз таким образом, чтобы каждый из k наборов данных использовался один раз в качестве проверочных данных. После этого k результатов могут быть агрегированы для создания единого расчета.[00072] Separation of a text corpus may include cross-validation of a training data set and a set of verification data. To reduce the variability of the result, several cross-validation iterations can be performed using various divisions, and the model verification results can be aggregated (for example, averaged) over iterations. In an illustrative example, a k-fold cross-validation method may be applied to the body of natural language texts. The method may include randomly dividing the original text corpus into k data sets of the same size, one of which is then used as a set of verification data, and the remaining k-1 additional sets are then used as training data samples. The cross-validation process can then be repeated k times so that each of the k data sets is used once as validation data. After that, k results can be aggregated to create a single calculation.
[00073] На шаге 320 вычислительная система может использовать классификатор извлечения информации к набору проверочных данных, получая таким образом первое множество информационных объектов.[00073] In step 320, the computing system may use a classifier for extracting information to a set of verification data, thereby obtaining the first set of information objects.
[00074] На шаге 330 вычислительная система может применять к тому же набору проверочных данных второй метод извлечения информации, который отличается от упомянутого ранее классификатора извлечения информации, таким образом получая второе множество информационных объектов. В одном из иллюстративных примеров второй метод извлечения информации может использовать набор настраиваемых продукционных правил для интерпретации набора семантико-синтаксических структур, полученных путем семантико-синтаксического анализа текста на естественном языке, как более подробно описано ниже в этом документе. В другом иллюстративном примере второй метод извлечения информации может использовать один или более классификаторов машинного обучения, которые отличаются от указанного выше классификатора извлечения информации, который использовался для извлечения первого множества информационных объектов.[00074] In step 330, the computing system can apply a second information extraction method to the same set of test data that is different from the information extraction classifier mentioned above, thereby obtaining a second set of information objects. In one illustrative example, the second method of extracting information can use a set of customizable production rules to interpret a set of semantic-syntactic structures obtained by semantic-syntactic analysis of text in natural language, as described in more detail later in this document. In another illustrative example, the second information extraction method may use one or more machine learning classifiers that are different from the above information extraction classifier, which was used to extract the first set of information objects.
[00075] На шаге 340 вычислительная система может определить один или более множеств конфликтующих информационных объектов, при этом каждое множество включает два или более информационных объекта, по меньшей мере два из которых были извлечены различными методами извлечения информации. В иллюстративном примере множество конфликтующих информационных объектов может включать два информационных объекта, при этом первый информационный объект относится к первому множеству информационных объектов, извлеченных с помощью классификатора извлечения информации, а второй информационный объект относится ко второму множеству информационных объектов, извлеченных по другому методу извлечения информации, как более подробно было рассмотрено выше.[00075] At step 340, the computing system can determine one or more sets of conflicting information objects, each set including two or more information objects, at least two of which have been extracted by various methods of extracting information. In an illustrative example, a plurality of conflicting information objects may include two information objects, wherein the first information object relates to the first set of information objects extracted using the information extraction classifier, and the second information object relates to the second set of information objects extracted using another information extraction method, as discussed in more detail above.
[00076] На шаге 350 вычислительная система может применить функцию арбитража конфликтов к каждому обнаруженному множеству конфликтующих информационных объектов, чтобы разрешить конфликты, таким образом, создается окончательный список информационных объектов, извлеченных из текстов на естественном языке, как описано более подробно выше.[00076] In step 350, the computing system can apply a conflict arbitration function to each detected plurality of conflicting information objects to resolve conflicts, thereby creating a final list of information objects extracted from natural language texts, as described in more detail above.
[00077] В иллюстративном примере функция «арбитража» конфликтующих объектов, может быть реализована классификатором на основе машинного обучения, обученным производить степень "обоснованности" одного или более возможных результатов «арбитража» (например, слияние возможных конфликтующих объектов в единый объект, подтверждение одного или более извлеченных объектов, изменение одного или более извлеченных объектов и (или) удаление одного или более извлеченных объектов). В другом иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может обеспечивать сходство двух или более информационных объектов, представляющих один и тот же объект реальной жизни. Если вероятность превышает пороговое значение, функция «арбитража» конфликтующих объектов может выполнять слияние выявленных информационных объектов. В другом иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может создавать степени уверенности, связанные с каждым информационным объектом из множества конфликтующих информационных объектов. Функция «арбитража» конфликтующих объектов может удалять один или более информационных объектов с минимальной степенью уверенности и (или) степенью уверенности ниже заданного порога.[00077] In an illustrative example, the function of “arbitration” of conflicting objects can be implemented by a machine learning classifier trained to produce the degree of “validity” of one or more possible results of “arbitration” (for example, merging possible conflicting objects into a single object, confirming one or more extracted objects, changing one or more extracted objects and (or) deleting one or more extracted objects). In another illustrative example, the classifier used by the “arbitration” function of conflicting objects can ensure the similarity of two or more information objects representing the same real-life object. If the probability exceeds a threshold value, the function of “arbitration” of conflicting objects can merge the identified information objects. In another illustrative example, the classifier used by the “arbitration” function of conflicting objects can create confidence levels associated with each information object from the set of conflicting information objects. The arbitration function of conflicting objects can delete one or more information objects with a minimum degree of certainty and (or) a degree of certainty below a given threshold.
[00078] Альтернативно, функция арбитража конфликтов может быть реализована одним или несколькими настраиваемыми правилами, оценивающими логические условия, определенные на морфологических, лексических, синтаксических, семантических и/или других атрибутах извлеченных информационных объектов, как описано более подробно здесь.[00078] Alternatively, the conflict arbitration function may be implemented by one or more custom rules evaluating logical conditions defined on morphological, lexical, syntactic, semantic and / or other attributes of the extracted information objects, as described in more detail here.
[00079] На шаге 360 вычислительная система может оценивать заранее определенный показатель качества, применяемый к итоговому набору извлеченных информационных объектов. В одном из иллюстративных примеров показатель качества обеспечивается при помощи F-меры.[00079] In step 360, the computing system can evaluate a predetermined quality metric applied to the final set of extracted information objects. In one illustrative example, a quality score is provided using an F-measure.
[00080] В ответ на определение на шаге 370 того, что заранее определенные условия прекращения не выполнены, обработка продолжается на шаге 380 изменением одного или более гиперпараметров классификатора извлечения информации. В одном из иллюстративных примеров гиперпараметр может быть представлен параметром β F-меры, который используется для оценки качества извлечения информации. Таким образом, вычислительная система может модифицировать значение параметра β для повышения точности или полноты результатов, получаемых от классификатора извлечения информации. В некоторых вариантах осуществления вычислительная система может реализовывать поиск по сетке параметров, итеративно изменяя значения одного или более гиперпараметров на заранее определенные приращения так, чтобы параметры оставались внутри определенных диапазонов, таким образом оптимизируя показатель качества, применяемый для итогового набора извлеченных информационных объектов. После выполнения операций на шаге 380 способ может вернуться к шагу 310.[00080] In response to the determination in step 370 that the predetermined termination conditions are not met, processing continues at
[00081] В ответ на определение на шаге 370 факта выполнения условий прекращения способ может выйти из цикла и продолжить работу на шаге 390. В одном из иллюстративных примеров условия прекращения могут определяться по максимальному количеству выполненных итераций. В ответ на определение факта выполнения указанного числа операций вычислительная система может на шаге 390 выявить среди значений, указанных выше, заранее определенных показателей качества, оцененных на шаге 370, которые создавались на всех выполненных итерациях, оптимальное (то есть минимальное или максимальное) значение показателя качества и соответствующим образом выявить значения гиперпараметров классификатора извлечения информации, который использовался в итерации, которая показала оптимальный показатель качества.[00081] In response to the determination at step 370 of the fact that the termination conditions are met, the method may exit the loop and continue to operation at step 390. In one illustrative example, the termination conditions can be determined by the maximum number of iterations performed. In response to the determination of the fact that the specified number of operations has been performed, the computing system can, at step 390, identify among the values indicated above the predetermined quality indicators evaluated at step 370 that were created at all iterations performed, the optimal (i.e., minimum or maximum) value of the quality indicator and appropriately identify the values of the hyperparameters of the information extraction classifier, which was used in the iteration, which showed the optimal quality indicator.
[00082] В другом иллюстративном примере условия прекращения, проверенные на шаге 370, могут определять пороговое значение, соответствующее показателю качества, который оценивался на шаге 370. В ответ на определение факта соответствия показателя качества указанному пороговому значению вычислительная система может на шаге 390 выявить значения гиперпараметров классификатора извлечения информации, который был использован в последней выполненной итерации, которая дала значение показателя качества, соответствующее условиям прекращения выполнения. В ответ на определение значений гиперпараметров классификатора извлечения информации способ может прекратить работу. Обученный классификатор извлечения информации может быть затем использован в способе 100 извлечения информации.[00082] In another illustrative example, the termination conditions checked in step 370 can determine a threshold value corresponding to the quality indicator that was evaluated in step 370. In response to determining whether the quality indicator matches the specified threshold value, the computing system can detect hyperparameter values in step 390 information extraction classifier that was used in the last iteration that yielded a quality indicator value corresponding to the termination conditions tions. In response to determining the values of the hyperparameters of the information extraction classifier, the method may stop working. The trained information extraction classifier can then be used in the
[00083] Как отмечено выше, в некоторых реализациях функция арбитража конфликтов может выполняться посредством классификатора на основе машинного обучения. Определение такого классификатора может включать в себя один или несколько параметров, значения которых могут настраиваться с помощью методов машинного обучения и могут дополнительно включать в себя один или несколько гиперпараметров, значения которых могут быть определены некоторыми внешними по отношению к машинному обучению, операциями или процессом. Другими словами, значения гиперпараметров классификатора определяются до применения методов машинного обучения для точной настройки параметров классификатора.[00083] As noted above, in some implementations, a conflict arbitration function may be performed by a machine learning classifier. The definition of such a classifier may include one or more parameters, the values of which can be adjusted using machine learning methods and may additionally include one or more hyperparameters, the values of which can be determined by some external to the machine learning operations or process. In other words, the values of the classifier hyperparameters are determined before the application of machine learning methods to fine tune the parameters of the classifier.
[00084] В иллюстративном примере гиперпараметр классификатора арбитража конфликтов может быть представлен параметром регуляризации классификатора градиентного бустинга. В другом иллюстративном примере гиперпараметр классификатора арбитража конфликтов может быть представлен параметром β показателя F-меры путем оценки информационных объектов, полученных классификатором.[00084] In an illustrative example, the conflict arbitration classifier hyperparameter may be represented by a gradient boost classifier regularization parameter. In another illustrative example, the hyperparameter of the arbitration classifier can be represented by the parameter β of the F-measure indicator by evaluating the information objects obtained by the classifier.
[00085] В некоторых реализациях значения одного или нескольких гиперпараметров классификатора арбитража конфликтов могут итеративно корректироваться путем итеративного выполнения операций извлечения первого множества информационных объектов, извлечения второго множества информационных объектов, изменения значений гипер-параметров на основе оценки качества извлечения информации, и обучение классификатора арбитража конфликтов, таким образом итеративно оптимизируя метрику качества, оценивая окончательный список извлеченных информационных объектов. В некоторых реализациях компьютерная система может реализовать поиск лучших параметров по сетке (grid search) путем итеративного изменения значений одного или нескольких гиперпараметров с помощью заранее определенных приращений, в то время как параметры остаются в определенных диапазонах, таким образом оптимизируя метрику качества, применяемую к окончательному набору извлеченных информационных объектов, как более подробно описано ниже со ссылкой на Фиг. 4.[00085] In some implementations, the values of one or more hyperparameters of a conflict arbitration classifier can be iteratively adjusted by iteratively performing operations to extract the first set of information objects, extract the second set of information objects, change hyper parameter values based on the quality of information extraction, and train the conflict arbitrator classifier , thus iteratively optimizing the quality metric, evaluating the final list of extracted information tion objects. In some implementations, a computer system can implement a grid search by iteratively changing the values of one or more hyperparameters using predetermined increments, while the parameters remain in certain ranges, thereby optimizing the quality metric applied to the final set extracted information objects, as described in more detail below with reference to FIG. four.
[00086] На Фиг. 4 показана блок-схема другого примера способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке, в соответствии с одним или несколькими аспектами настоящего раскрытия. Способ 400 и/или каждая из его отдельных функций, подпрограмм, подпрограмм или операций может выполняться одним или несколькими процессорами компьютерной системы (например, компьютерной системой 1000 на Фиг. 16), реализующей этот метод. В некоторых реализациях способ 400 может выполняться одним потоком обработки. Альтернативно, способ 400 может выполняться двумя или более потоками обработки, причем каждый поток реализует одну или несколько отдельных функций, подпрограмм, подпрограмм или операций этого метода. В иллюстративном примере способ реализации 400 потоков обработки может быть синхронизирован (например, с использованием семафоров, критических секций и/или других механизмов синхронизации потоков). Альтернативно, способ 400 реализации потоков обработки может выполняться асинхронно относительно друг друга.[00086] In FIG. 4 is a flowchart of another example of a classifier training method used to extract information from natural language texts in accordance with one or more aspects of the present disclosure.
[00087] На этапе 410 компьютерная система, реализующая способ, может применять к тексту на естественном языке первый метод извлечения информации. В некоторых реализациях первый метод извлечения информации может использовать настраиваемые наборы правил, автоматические методы классификации (также известные как «классификаторы на основе машинного обучения»), эвристические подходы и/или их комбинации. Применение первого метода извлечения информации к тексту на естественном языке может создавать первое множество информационных объектов одного или нескольких типов информационных объектов.[00087] At
[00088] На этапе 420 компьютерная система может применять к тексту на естественном языке второй метод извлечения информации, которая отличается от первого метода извлечения информации. В некоторых реализациях второй метод извлечения информации может использовать настраиваемые наборы правил, автоматические методы классификации (также известные как «классификаторы на основе машинного обучения»), эвристические подходы и/или их комбинации. Применение второго метода извлечения информации к тексту на естественном языке может создавать второе множество информационных объектов, которое может отличаться от первого множества информационных объектов, созданных с помощью первого метода извлечения информации.[00088] At step 420, the computer system may apply a second method of extracting information to a natural language text that is different from the first method of extracting information. In some implementations, the second method of extracting information may use custom rule sets, automatic classification methods (also known as “machine learning classifiers”), heuristic approaches and / or combinations thereof. Applying the second method of extracting information to a text in a natural language can create a second set of information objects that can differ from the first set of information objects created using the first method of extracting information.
[00089] На этапе 430 компьютерная система может изменять значения одного или нескольких гиперпараметров классификатора арбитража конфликтов. В иллюстративном примере гиперпараметр может быть представлен параметром регуляризации метода градиентного бустинга. В другом иллюстративном примере гиперпараметр может быть представлен параметром β метрики F-меры путем оценки информационных объектов, полученных классификатором. В некоторых реализациях компьютерная система может реализовать поиск лучших параметров по сетке (grid search) путем итеративного изменения значений одного или нескольких гиперпараметров с помощью заранее определенных приращений, в то время как параметры остаются в определенных диапазонах, таким образом оптимизируя метрику качества, применяемую к окончательному набору извлеченных информационных объектов.[00089] At step 430, the computer system can change the values of one or more hyperparameters of the arbitration conflict classifier. In an illustrative example, a hyperparameter can be represented by a regularization parameter of the gradient boosting method. In another illustrative example, the hyperparameter can be represented by the parameter β of the metric of the F-measure by evaluating the information objects obtained by the classifier. In some implementations, a computer system can implement a grid search by iteratively changing the values of one or more hyperparameters using predetermined increments, while the parameters remain in certain ranges, thereby optimizing the quality metric applied to the final set extracted information objects.
[00090] На этапе 440 компьютерная система может обучать классификатор арбитража конфликтов для выполнения функции арбитража конфликтов в отношении набора конфликтующих информационных объектов, чтобы составить окончательный список извлеченных информационных объектов. В иллюстративном примере набор конфликтующих информационных объектов может содержать два информационных объекта, так что первый информационный объект принадлежит первому множеству информационных объектов, который был извлечен классификатором извлечения информации, тогда как второй информационный объект принадлежит второму множеству информационных объектов, которые были извлечены с помощью второго метода извлечения информации, как описано более подробно выше.[00090] At step 440, a computer system can train a conflict arbitration classifier to perform a conflict arbitration function with respect to a set of conflicting information objects to compile a final list of extracted information objects. In an illustrative example, a set of conflicting information objects may contain two information objects, so that the first information object belongs to the first set of information objects that was extracted by the information extraction classifier, while the second information object belongs to the second set of information objects that were extracted using the second extraction method information as described in more detail above.
[00091] В иллюстративном примере классификатор, используемый функцией арбитража конфликтов, может выдать степень обоснованности одного или нескольких возможных результатов арбитража (например, объединение двух или более потенциально конфликтующих объектов в один объект, подтверждение одного или нескольких извлеченных объектов, изменение одного или нескольких извлеченных объектов и/или удаление одного или нескольких извлеченных объектов). В другом иллюстративном примере классификатор, используемый функцией арбитража конфликтов, может оценивать вероятность того, что два или более информационных объекта представляют один и тот же объект реальной жизни. Если вероятность превышает пороговое значение, функция арбитража конфликтов может объединять идентифицированные информационные объекты. В другом иллюстративном примере классификатор, используемый функцией арбитража конфликтов, может продуцировать степени достоверности, связанные с каждым информационным объектом из множества конфликтующих информационных объектов. Функция арбитража конфликтов может удалить один или несколько информационных объектов, имеющих наименьшие степени достоверности и/или степени достоверности, которые находятся ниже заранее определенного порога.[00091] In an illustrative example, the classifier used by the conflict arbitration function can provide the degree of validity of one or more possible arbitration results (for example, combining two or more potentially conflicting objects into one object, confirming one or more extracted objects, changing one or more extracted objects and / or deletion of one or more extracted objects). In another illustrative example, the classifier used by the conflict arbitration function may evaluate the likelihood that two or more information objects represent the same real-life object. If the probability exceeds a threshold value, the conflict arbitration function may combine the identified information objects. In another illustrative example, the classifier used by the conflict arbitration function can produce degrees of confidence associated with each information object from a plurality of conflicting information objects. The conflict arbitration function may remove one or more information objects having the smallest degrees of certainty and / or degrees of certainty that are below a predetermined threshold.
[00092] В некоторых реализациях определение классификатора арбитража конфликтов может включать один или несколько параметров, значения которых настраиваются с помощью процедуры обучения классификатора и могут дополнительно включать один или несколько гиперпараметров, значения которых могут быть определенных некоторым внешним, по отношению к процессу машинного обучения, процессом или операцией.[00092] In some implementations, the definition of a conflict arbitration classifier may include one or more parameters, the values of which are set using the classifier training procedure, and may additionally include one or more hyperparameters, the values of which can be determined by some external process of machine learning or operation.
[00093] Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейронные сети и т.д. В иллюстративном примере процесс обучения может включать настройку одного или нескольких параметров классификатора извлечения информации до тех пор, пока не будет достигнут предопределенный порог выбранной метрики качества.[00093] Classification methods may include differential evolution methods, genetic algorithms, random forest methods, neural networks, etc. In an illustrative example, the learning process may include setting up one or more parameters of the information extraction classifier until a predetermined threshold of the selected quality metric is reached.
[00094] Классификаторы, используемые в функции арбитража конфликтов, могут быть обучены с использованием ранее существовавших и/или динамически созданных обучающих наборов данных, которые устанавливают соотношение результатов арбитража с морфологическими, лексическими, синтаксическими, семантическими и/или другими атрибутами извлеченных информационных объектов,[00094] The classifiers used in the conflict arbitration function can be trained using pre-existing and / or dynamically created training datasets that correlate the results of the arbitration with morphological, lexical, syntactic, semantic and / or other attributes of the extracted information objects,
[00095] Обучающий набор данных может содержать один или несколько текстов на естественном языке, сопровождаемых метаданными, которые задают множество конфликтующих информационных объектов, их классификацию, атрибуты и соответствующие результаты арбитража. В иллюстративном примере метаданные могут быть представлены разметкой, связанной с текстом на естественном языке. В некоторых реализациях обучающий набор данных может быть итеративно расширен путем добавления новых текстов на естественном языке, сопровождаемых проверенными пользователем метаданными. Валидация метаданных может включать в себя получение через графический интерфейс пользователя (GUI), пользовательского ввода, подтверждающего или корректирующего извлеченные информационные объекты и их атрибуты.[00095] A training data set may contain one or more natural language texts, accompanied by metadata that defines a lot of conflicting information objects, their classification, attributes, and corresponding arbitration results. In an illustrative example, metadata may be represented by markup associated with natural language text. In some implementations, the training data set may be iteratively expanded by adding new natural language texts, accompanied by user-verified metadata. Validation of metadata may include receiving, through a graphical user interface (GUI), user input that confirms or corrects the extracted information objects and their attributes.
[00096] В иллюстративном примере аннотированный текстовый корпус, используемый для обучения классификатора арбитража конфликтов, может быть разделен на обучающий набор данных и проверочный набор данных. Затем обучающий набор данных может быть использован для определения значений параметров классификатора, тогда как проверочный набор данных может использоваться для вычисления метрики качества извлечения информации (например, представленной параметризованной F-мерой). В иллюстративном примере процесс обучения может включать в себя корректировку одного или нескольких параметров классификатора арбитража конфликтов до тех пор, пока выбранная метрика качества, применяемая к окончательному списку извлеченных информационных объектов, не будет соответствовать заранее установленному порогу.[00096] In an illustrative example, the annotated text corpus used to train a conflict arbitration classifier can be divided into a training data set and a verification data set. Then, the training data set can be used to determine the values of the classifier parameters, while the test data set can be used to calculate the metrics of the quality of information extraction (for example, represented by a parameterized F-measure). In an illustrative example, the learning process may include adjusting one or more parameters of a conflict arbitration classifier until the selected quality metric applied to the final list of extracted information objects matches a predetermined threshold.
[00097] На этапе 450 компьютерная система может применять функцию арбитража конфликта для каждого обнаруженного набора конфликтующих информационных объектов для разрешения конфликтов, создавая таким образом окончательный список информационных объектов, извлеченных из текстов на естественном языке, как описано более подробно выше.[00097] At 450, a computer system can apply a conflict arbitration function for each set of conflicting information objects detected to resolve conflicts, thus creating a final list of information objects extracted from natural language texts, as described in more detail above.
[00098] На этапе 460 компьютерная система может вычислять предопределенную метрику качества применительно к окончательному набору извлеченных информационных объектов. В иллюстративном примере метрика качества может быть представлена посредством F-меры.[00098] At step 460, the computer system can calculate a predefined quality metric for the final set of extracted information objects. In an illustrative example, a quality metric can be represented by an F-measure.
[00099] В ответ на установление на этапе 470 того, что предопределенное условие завершения не выполнено, способ может возвращаться к блоку 410; в противном случае способ может выйти из цикла и продолжить обработку в блоке 480. В иллюстративном примере условие завершения может указывать максимальное количество итераций, которые должны быть выполнены. В ответ на выполнение указанного количества итераций компьютерная система может на этапе 470 идентифицировать среди значений вышеописанной предопределенной метрики качества, вычисленных на этапе 460, которые были получены при всех выполненных итерациях, оптимальное (например, максимальное или минимальное) значение метрики качества и, соответственно, может идентифицировать те значения гиперпараметров классификатора арбитража конфликтов, использованные в процессе итерации, которые дали оптимальную метрику качества.[00099] In response to the determination in step 470 that the predetermined termination condition is not satisfied, the method may return to block 410; otherwise, the method may exit the loop and continue processing at block 480. In an illustrative example, the termination condition may indicate the maximum number of iterations to be performed. In response to the specified number of iterations, the computer system can, at 470, identify among the values of the above-described predetermined quality metrics calculated at 460 that were obtained at all iterations performed, the optimal (e.g., maximum or minimum) value of the quality metric and, accordingly, can identify those values of the conflict arbitration classifier hyperparameters used in the iteration process that gave the optimal quality metric.
[000100] В другом иллюстративном примере условие завершения, которое оценивается в блоке 470, может указывать пороговое значение, которое должно удовлетворяться метрикой качества, которая была вычислена на этапе 460. В ответ на определение того, что метрика качества соответствует указанному пороговому значению, компьютерная система может на этапе 490 идентифицировать значения гиперпараметров классификатора извлечения информации, которые использовались на последней выполненной итерации, что дало показатель качества, удовлетворяющий условию завершения. В ответ на выявление значений гиперпараметров классификатора арбитража конфликтов метод может завершиться. Затем обученный классификатор арбитража конфликтов может быть использован методом 100 для извлечения информации.[000100] In another illustrative example, a termination condition that is evaluated in block 470 may indicate a threshold value that must be satisfied by a quality metric that was calculated in step 460. In response to determining that the quality metric corresponds to the specified threshold value, a computer system can at step 490 identify the values of the hyperparameters of the information extraction classifier that were used at the last iteration that gave a quality indicator that satisfies the condition completion. In response to identifying the values of the hyperparameters of the conflict arbitration classifier, the method may end. Then, the trained conflict arbitration classifier can be used by
[000101] Как указано выше, продукционные правила, классификаторы и (или) иные методы извлечения информации и «арбитража» конфликтующих объектов могут выполнять анализ различных морфологических, лексических, синтаксических, семантических и (или) иных атрибутов текста на естественном языке. Такие атрибуты могут создаваться путем выполнения семантико-синтаксического анализа текста на естественном языке, что схематически показано на Фиг. 5.[000101] As indicated above, production rules, classifiers and (or) other methods for extracting information and "arbitration" of conflicting objects can analyze various morphological, lexical, syntactic, semantic and (or) other attributes of the text in natural language. Such attributes can be created by performing semantic-syntactic analysis of natural language text, which is schematically shown in FIG. 5.
[000102] На Фиг. 5 приведена блок-схема одного иллюстративного примера реализации способа 200 для выполнения семантико-синтаксического анализа предложения на естественном языке 212 в соответствии с одним или несколькими аспектами настоящего изобретения. Способ 400 может быть применен к одной или более синтаксическим единицам {например, предложениям), включенным в определенный текстовый корпус, для формирования множества семантико-синтаксических деревьев, соответствующих синтаксическим единицам. В различных иллюстративных примерах подлежащие обработке способом 400 предложения на естественном языке могут извлекаться из одного или нескольких электронных документов, которые могут создаваться путем сканирования (или другим способом получения изображений бумажных документов) и оптического распознавания символов (OCR) для получения текстов, соответствующих этим документам. Предложения на естественном языке также могут извлекаться из других различных источников, включая сообщения, отправляемые по электронной почте, тексты из социальных сетей, файлы с цифровым содержимым, обработанные с использованием способов распознавания речи и т.д.[000102] In FIG. 5 is a flow chart of one illustrative example implementation of a method 200 for performing semantic-syntactic analysis of sentences in
[000103] В блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для установления морфологических значений слов, входящих в состав предложения. В настоящем документе "морфологическое значение" слова означает одну или несколько лемм (т.е. канонических или словарных форм), соответствующих слову, и соответствующий набор значений грамматических признаков, которые определяют грамматическое значение слова. В число таких грамматических признаков могут входить лексическая категория (часть речи) слова и один или более морфологических и грамматических признаков (например, падеж, род, число, спряжение и т.д.). Ввиду омонимии и (или) совпадающих грамматических форм, соответствующих разным лексико-морфологическим значениям определенного слова, для данного слова может быть установлено два или более морфологических значений. Более подробное описание иллюстративного примера проведения лексико-морфологического анализа предложения более детально приведено ниже в настоящем документе со ссылкой на Фиг. 6.[000103] In
[000104] В блоке 215 вычислительное устройство может проводить грубый синтаксический анализ предложения 212. Грубый синтаксический анализ может включать применение одной или нескольких синтаксических моделей, которые могут быть соотнесены с элементами предложения 212, с последующим установлением поверхностных (т.е. синтаксических) связей в рамках предложения 212 для получения графа обобщенных составляющих. В настоящем документе "составляющая" означает группу соседних слов исходного предложения, функционирующую как одна грамматическая сущность. Составляющая включает в себя ядро в виде одного или более слов и может также включать одну или несколько дочерних составляющих на более низких уровнях. Дочерняя составляющая является зависимой составляющей, которая может быть соотнесена с одной или несколькими родительскими составляющими.[000104] In
[000105] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев предложения. Среди различных синтаксических деревьев на основе определенной функции оценки с учетом совместимости лексических значений слов исходного предложения, поверхностных отношений, глубинных отношений и т.д. может быть отобрано одно или несколько лучших синтаксических деревьев, соответствующих предложению 212.[000105] At
[000106] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может включать множество узлов, соответствующих семантическим классам и также может включать множество дуг, соответствующих семантическим отношениям (более подробное описание см. ниже в настоящем документе).[000106] In
[000107] Фиг. 6 схематически иллюстрирует пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения. Пример лексико-морфологической структуры 300 может включать множество пар "лексическое значение - грамматическое значение" для примера предложения. В качестве иллюстративного примера, "ll" может быть соотнесено с лексическим значением "shall" 512 и "will" 514. Грамматическим значением, соотнесенным с лексическим значением 512, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Composite II>. Грамматическим значением, соотнесенным с лексическим значением 314, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Irregular, Composite II>.[000107] FIG. 6 schematically illustrates an example of the lexical-morphological structure of a sentence in accordance with one or more aspects of the present invention. An example of lexical-
[000108] Фиг. 7 схематически иллюстрирует используемые языковые описания 210, в том числе морфологические описания 201, лексические описания 203, синтаксические описания 202 и семантические описания 204, а также отношения между ними. Среди них морфологические описания 201, лексические описания 203 и синтаксические описания 202 зависят от языка. Набор языковых описаний 610 представляет собой модель определенного естественного языка.[000108] FIG. 7 schematically illustrates language descriptions 210 used, including
[000109] В качестве иллюстративного примера определенное лексическое значение в лексических описаниях 203 может быть соотнесено с одной или несколькими поверхностными моделями синтаксических описаний 202, соответствующих данному лексическому значению. Определенная поверхностная модель синтаксических описаний 202 может быть соотнесена с глубинной моделью семантических описаний 204.[000109] As an illustrative example, a specific lexical meaning in
[000110] На Фиг. 8 схематически иллюстрируются несколько примеров морфологических описаний. В число компонентов морфологических описаний 201 могут входить: описания словоизменения 710, грамматическая система 720, описания словообразования 730 и другие. Грамматическая система 720 включает набор грамматических категорий, таких как часть речи, падеж, род, число, лицо, возвратность, время, вид и их значения (так называемые "граммемы"), в том числе, например, прилагательное, существительное или глагол; именительный, винительный или родительный падеж; женский, мужской или средний род и т.д. Соответствующие граммемы могут использоваться для составления описания словоизменения 710 и описания словообразования 730.[000110] In FIG. 8 schematically illustrates several examples of morphological descriptions. The components of
[000111] Описание словоизменения 710 определяет формы данного слова в зависимости от его грамматических категорий (например, падеж, род, число, время и т.д.) и в широком смысле включает в себя или описывает различные возможные формы слова. Описание словообразования 730 определяет, какие новые слова могут быть образованы от данного слова (например, сложные слова).[000111] The description of the
[000112] В соответствии с одним из аспектов настоящего изобретения при установлении синтаксических отношений между элементами исходного предложения могут использоваться модели составляющих. Составляющая представляет собой группу соседних слов в предложении, ведущих себя как единое целое. Ядром составляющей является слово, она также может содержать дочерние составляющие более низких уровней. Дочерняя составляющая является зависимой составляющей и может быть прикреплена к другим составляющим (родительским) для построения синтаксических описаний 202 исходного предложения.[000112] In accordance with one aspect of the present invention, component models can be used to establish syntactic relationships between elements of the original sentence. A component is a group of neighboring words in a sentence that behave as a whole. The core component is the word; it can also contain child components of lower levels. The child component is a dependent component and can be attached to other components (parent) to build
[000113] На Фиг. 9 приведены примеры синтаксических описаний. В число компонентов синтаксических описаний 202 могут входить, среди прочего, поверхностные модели 910, описания поверхностных позиций 920, описание референциального и структурного контроля 956, описание управления и согласования 940, описание недревесного синтаксиса 950 и правила анализа 960. Синтаксические описания 202 могут использоваться для построения возможных синтаксических структур исходного предложения на заданном естественном языке с учетом свободного линейного порядка слов, недревесных синтаксических явлений (например, согласование, эллипсис и т.д.), референциальных отношений и других факторов.[000113] In FIG. Figure 9 shows examples of syntactic descriptions. The components of
[000114] Поверхностные модели 910 могут быть представлены в виде совокупностей одной или нескольких синтаксических форм («синтформ» 912) для описания возможных синтаксических структур предложений, входящих в состав синтаксического описания 202. В целом, лексическое значение слова на естественном языке может быть связано с поверхностными (синтаксическими) моделями 910. Поверхностная модель может представлять собой составляющие, которые возможны, если лексическое значение выступает в роли "ядра". Поверхностная модель может включать набор поверхностных позиций дочерних элементов, описание линейного порядка и (или) диатезу. В настоящем документе "диатеза" означает определенное отношение между поверхностными и глубинными позициями и их семантическими ролями, выражаемыми посредством глубинных позиций. Например, диатеза может быть выражаться залогом глагола: если субъект является агентом действия, глагол в активном залоге, а когда субъект является направлением действия, это выражается пассивным залогом глагола.[000114]
[000115] В модели составляющих может использоваться множество поверхностных позиций 915 дочерних составляющих и описаний их линейного порядка 916 для описания грамматических значений 914 возможных заполнителей этих поверхностных позиций. Диатезы 917 представляют собой соответствия между поверхностными позициями 915 и глубинными позициями 514 (как показано на Фиг. 11). Коммуникативные описания 980 описывают коммуникативный порядок в предложении.[000115] In the component model, a plurality of
[000116] Описание линейного порядка (916) может быть представлено в виде выражений линейного порядка, отражающих последовательность, в которой различные поверхностные позиции (915) могут встречаться в предложении. В число выражений линейного порядка могут входить наименования переменных, имена поверхностных позиций, круглые скобки, граммемы, оператор «оr» (или) и т.д. В качестве иллюстративного примера описание линейного порядка простого предложения "Boys play football" можно представить в виде "Subject Core Object_Direct" (Подлежащее - Ядро - Прямое дополнение), где Subject (Подлежащее), Core (Ядро) и Object_Direct (Прямое дополнение) представляют собой имена поверхностных позиций 915, соответствующих порядку слов.[000116] A description of the linear order (916) can be presented in the form of linear order expressions reflecting the sequence in which various surface positions (915) can occur in the sentence. The expressions of linear order may include the names of variables, the names of surface positions, parentheses, grammes, the operator "or" (or), etc. As an illustrative example, the linear ordering description for the Boys play football simple sentence can be represented as Subject Core Object_Direct, where Subject, Core, Object_Direct are names of
[000117] Коммуникативные описания 980 могут описывать порядок слов в синтформе 912 с точки зрения коммуникативных актов, представленных в виде коммуникативных выражений порядка, которые похожи на выражения линейного порядка. Описания управления и согласования 940 может включать правила и ограничения на грамматические значения присоединяемых составляющих, которые используются во время синтаксического анализа.[000117]
[000118] Описания недревесного синтаксиса 950 могут создаваться для отражения различных языковых явлений, таких как эллипсис и согласование, они используются при трансформациях синтаксических структур, которые создаются на различных этапах анализа в различных вариантах реализации изобретения. Описания недревесного синтаксиса 950 могут, среди прочего, включать описание эллипсиса 952, описания согласования 954, а также описания референциального и структурного контроля 930.[000118] Descriptions of
[000119] Правила анализа 960 могут описывать свойства конкретного языка и использоваться в рамках семантического анализа. Правила анализа 960 могут включать правила вычисления семантем 962 и правила нормализации 964. Правила нормализации 964 могут использоваться для описания трансформаций семантических структур, которые могут отличаться в разных языках.[000119]
[000120] На Фиг. 10 приведен пример семантических описаний. Компоненты семантических описаний 204 не зависят от языка и могут, среди прочего, включать семантическую иерархию 510, описания глубинных позиций 520, систему семантем 530 и прагматические описания 540.[000120] In FIG. 10 gives an example of semantic descriptions. The components of
[000121] Ядро семантических описаний может быть представлено семантической иерархией 510, в которую могут входить семантические понятия (семантические сущности), также называемые семантическими классами. Последние могут быть упорядочены в иерархическую структуру, отражающую отношения "родитель-потомок". В целом, дочерний семантический класс может унаследовать одно или более свойств своего прямого родителя и других семантических классов-предков. В качестве иллюстративного примера семантический класс SUBSTANCE (Вещество) является дочерним семантическим классом класса ENTITY (Сущность) и родительским семантическим классом для классов GAS, (Газ), LIQUID (Жидкость), METAL (Металл), WOOD_MATERIAL (Древесина) и т.д.[000121] The core of semantic descriptions can be represented by a
[000122] Каждый семантический класс в семантической иерархии 510 может сопровождаться глубинной моделью 512. Глубинная модель 512 семантического класса может включать множество глубинных позиций 514, которые могут отражать семантические роли дочерних составляющих в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей. Глубинная модель 512 также может включать возможные семантические классы, выступающие в роли заполнителей глубинных позиций. Глубинные позиции (514) могут выражать семантические отношения, в том числе, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "quantity" (количество) и т.д. Дочерний семантический класс может наследовать и уточнять глубинную модель своего непосредственного родительского семантического класса.[000122] Each semantic class in the
[000123] Описания глубинных позиций 520 отражают семантические роли дочерних составляющих в глубинных моделях 512 и могут использоваться для описания общих свойств глубинных позиций 514. Описания глубинных позиций 520 также могут содержать грамматические и семантические ограничения в отношении заполнителей глубинных позиций 514. Свойства и ограничения, связанные с глубинными позициями 514 и их возможными заполнителями в различных языках, могут быть в значительной степени подобными и зачастую идентичными. Таким образом, глубинные позиции 514 не зависят от языка.[000123] The descriptions of the
[000124] Система семантем 530 может представлять собой множество семантических категорий и семантем, которые представляют значения семантических категорий. В качестве иллюстративного примера семантическая категория "DegreeOfComparison" (Степень сравнения) может использоваться для описания степени сравнения прилагательных и включать следующие семантемы: "Positive" (Положительная), "ComparativeHigherDegree" (Сравнительная степень сравнения), "SuperlativeHighestDegree" (Превосходная степень сравнения) и другие. В качестве еще одного иллюстративного примера семантическая категория "RelationToReferencePoint" (Отношение к точке) может использоваться для описания порядка (пространственного или временного в широком смысле анализируемых слов), как, например, до или после точки или события, и включать семантемы "Previous" (Предыдущий) и "Subsequent" (Последующий). В качестве еще одного иллюстративного примера семантическая категория "EvaluationObjective" (Оценка) может использоваться для описания объективной оценки, как, например, "Bad" (Плохой), "Good" (Хороший) и т.д.[000124] The
[000125] Система семантем 530 может включать независимые от языка семантические атрибуты, которые могут выражать не только семантические характеристики, но и стилистические, прагматические и коммуникативные характеристики. Некоторые семантемы могут использоваться для выражения атомарного значения, которое находит регулярное грамматическое и (или) лексическое выражение в естественном языке. По своему целевому назначению и использованию системы семантем могут разделяться на категории, например, грамматические семантемы 532, лексические семантемы 534 и классифицирующие грамматические (дифференцирующие) семантемы 536.[000125] The
[000126] Грамматические семантемы 532 могут использоваться для описания грамматических свойств составляющих при преобразовании синтаксического дерева в семантическую структуру. Лексические семантемы 534 могут описывать конкретные свойства объектов (например, "being flat" (быть плоским) или "being liquid" (являться жидкостью)) и использоваться в описаниях глубинных позиций 520 как ограничение заполнителей глубинных позиций (например, для глаголов "face (with)" (облицовывать) и "flood" (заливать), соответственно). Классифицирующие грамматические (дифференцирующие) семантемы 536 могут выражать дифференциальные свойства объектов внутри одного семантического класса. В качестве иллюстративного примера в семантическом классе HAIRDRESSER (ПАРИКМАХЕР) семантема <<RelatedToMen>> (Относится к мужчинам) присваивается лексическому значению "barber" в отличие от других лексических значений, которые также относятся к этому классу, например, «hairdresser», «hairstylist» и т.д. Используя данные независимые от языка семантические свойства, которые могут быть выражены в виде элементов семантического описания, в том числе семантических классов, глубинных позиций и семантем, можно извлекать семантическую информацию в соответствии с одним или более аспектами настоящего изобретения.[000126]
[000127] Прагматические описания 540 позволяют назначать определенную тему, стиль или жанр текстам и объектам семантической иерархии 510 (например, «Экономическая политика», «Внешняя политика», «Юриспруденция», «Законодательство», «Торговля», «Финансы» и т.д.). Прагматические свойства также могут выражаться семантемами. В качестве иллюстративного примера прагматический контекст может приниматься во внимание при семантическом анализе.[000127] The
[000128] На Фиг. 11 приведен пример лексических описаний. Лексические описания (203) представляют собой множество лексических значений 612 конкретного естественного языка. Для каждого лексического значения 612 имеется связь 602 с его независимым от языка семантическим родителем для того, чтобы указать положение какого-либо заданного лексического значения в семантической иерархии 510.[000128] In FIG. 11 is an example of lexical descriptions. Lexical descriptions (203) are the set of
[000129] Лексическое значение 612 в лексико-семантической иерархии 510 может быть соотнесено с поверхностной моделью 910, которая в свою очередь через одну или несколько диатез 917 может быть соотнесена с соответствующей глубинной моделью 512. Лексическое значение 612 может наследовать семантический класс своего родителя и уточнять свою глубинную модель 512.[000129] The
[000130] Поверхностная модель 910 лексического значения может включать одну или несколько синтаксических форм 912. Синтформа 912 поверхностной модели 910 может включать одну или несколько поверхностных позиций 915, в том числе соответствующие описания их линейного порядка 916, одно или несколько грамматических значений 914, выраженных в виде набора грамматических категорий (граммем), одно или несколько семантических ограничений, соотнесенных с заполнителями поверхностных позиций, и одну или несколько диатез 917. Семантические ограничения, соотнесенные с определенным заполнителем поверхностной позиции, могут быть представлены в виде одного или более семантических классов, объекты которых могут заполнить эту поверхностную позицию.[000130] The
[000131] На Фиг. 12 схематически иллюстрируются примеры структур данных, которые могут быть использованы в рамках одного или более методов настоящего изобретения. Снова ссылаясь на Фиг. 5, в блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для построения лексико-морфологической структуры 722 согласно Фиг. 12. Лексико-морфологическая структура 722 может включать множество соответствий лексического и грамматического значений для каждой лексической единицы (например, слова) исходного предложения. Фиг. 6 схематически иллюстрирует пример лексико-морфологической структуры.[000131] In FIG. 12 schematically illustrates examples of data structures that can be used within the framework of one or more methods of the present invention. Referring again to FIG. 5, in
[000132] Снова возвращаясь к Фиг. 6, в блоке 215 вычислительное устройство может проводить грубый синтаксический анализ исходного предложения 212 для построения графа обобщенных составляющих 732 согласно Фиг. 12. Грубый синтаксический анализ предполагает применение одной или нескольких возможных синтаксических моделей возможных лексических значений к каждому элементу множества элементов лексико-морфологической структуры 722, с тем чтобы установить множество потенциальных синтаксических отношений в составе исходного предложения 212, представленных графом обобщенных составляющих 732.[000132] Returning again to FIG. 6, at
[000133] Граф обобщенных составляющих 732 может быть представлен ациклическим графом, включающим множество узлов, соответствующих обобщенным составляющим исходного предложения 212 и включающим множество дуг, соответствующих поверхностным (синтаксическим) позициям, которые могут выражать различные типы отношений между обобщенными лексическими значениями. В рамках данного способа может применяться множество потенциально применимых синтаксических моделей для каждого элемента множества элементов лексико-морфологических структур исходного предложения 212 для формирования набора составляющих исходного предложения 212. Затем в рамках способа может рассматриваться множество возможных составляющих исходного предложения 212 для построения графа обобщенных составляющих 732 на основе набора составляющих. Граф обобщенных составляющих 732 на уровне поверхностной модели может отражать множество потенциальных связей между словами исходного предложения 212. Поскольку количество возможных синтаксических структур может быть относительно большим, граф обобщенных составляющих 732 может, в общем случае, включать избыточную информацию, в том числе относительно большое число лексических значений по определенным узлам и (или) поверхностных позиций по определенным дугам графа.[000133] The graph of generalized components 732 can be represented by an acyclic graph that includes many nodes corresponding to the generalized components of the
[000134] Граф обобщенных составляющих 732 может изначально строиться в виде дерева, начиная с концевых узлов (листьев) и двигаясь далее к корню, путем добавления дочерних составляющих, заполняющих поверхностные позиции 915 множества родительских составляющих, с тем чтобы были охвачены все лексические единицы исходного предложения 212.[000134] The graph of generalized components 732 can initially be constructed in the form of a tree, starting from the end nodes (leaves) and moving further to the root by adding child components that fill the surface positions 915 of the set of parent components so that all lexical units of the original sentence are covered 212.
[000135] В некоторых вариантах осуществления корень графа обобщенных составляющих 732 представляет собой предикат. В ходе описанного выше процесса дерево может стать графом, так как определенные составляющие более низкого уровня могут быть включены в одну или несколько составляющих верхнего уровня. Множество составляющих, которые представляют определенные элементы лексико-морфологической структуры, затем может быть обобщено для получения обобщенных составляющих. Составляющие могут быть обобщены на основе их лексических значений или грамматических значений 914, например, на основе частей речи и отношений между ними. Фиг. 13 схематически иллюстрирует пример графа обобщенных составляющих.[000135] In some embodiments, the root of the graph of generalized components 732 is a predicate. In the process described above, a tree can become a graph, as certain lower-level components can be included in one or more upper-level components. Many components that represent certain elements of the lexical-morphological structure can then be generalized to obtain generalized components. Components can be generalized based on their lexical meanings or
[000136] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев 742 согласно Фиг. 12 на основе графа обобщенных составляющих 732. Для каждого синтаксического дерева вычислительное устройство может определить интегральную оценку на основе априорных и вычисляемых оценок. Дерево с наилучшей оценкой может быть выбрано для построения наилучшей синтаксической структуры 746 исходного предложения 212.[000136] At
[000137] В ходе построения синтаксической структуры 746 на основе выбранного синтаксического дерева вычислительное устройство может установить одну или несколько недревесных связей (например, путем создания дополнительной связи среди, как минимум, двух узлов графа). Если этот процесс заканчивается неудачей, вычислительное устройство может выбрать синтаксическое дерево с условно оптимальной оценкой, наиболее близкой к оптимальной, и производится попытка установить одну или несколько недревесных связей в дереве. Наконец, в результате точного синтаксического анализа создается синтаксическая структура 746, которая представляет собой лучшую синтаксическую структуру, соответствующую исходному предложению 212. Фактически в результате отбора лучшей синтаксической структуры 746 определяются лучшие лексические значения 240 для элементов исходного предложения 212.[000137] During the construction of the syntax structure 746 based on the selected syntax tree, the computing device can establish one or more non-wood links (for example, by creating an additional link among at least two nodes of the graph). If this process fails, the computing device can select a syntax tree with a conditionally optimal estimate that is closest to the optimal one, and an attempt is made to establish one or more non-wood links in the tree. Finally, as a result of accurate parsing, a syntax structure 746 is created that represents the best syntax structure corresponding to the
[000138] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может отражать передаваемую исходным предложением семантику в независимых от языка терминах. Семантическая структура 218 может быть представлена в виде ациклического графа (например, дерево, возможно, дополненное одной или более недревесной связью (дугой графа). Слова исходного предложения представлены узлами с соответствующими независимыми от языка семантическими классами семантической иерархии 510. Дуги графа представляют глубинные (семантические) отношения между элементами предложения. Переход к семантической структуре 218 может осуществляться с помощью правил анализа 960 и предполагает соотнесение одного или более атрибутов (отражающих лексические, синтаксические и (или) семантические свойства слов исходного предложения 212) с каждым семантическим классом.[000138] At
[000139] На Фиг. 14 приводится пример синтаксической структуры предложения, сгенерированной из графа обобщенных составляющих, показанного на Фиг. 13. Узел 901 соответствует лексическому элементу "life" (жизнь) 906. Применяя способ описанного в настоящем документе синтактико-семантического анализа, вычислительное устройство может установить, что лексический элемент "life" (жизнь) 906 представляет одну из форм лексического значения, соотнесенного с семантическим классом "LIVE" (ЖИТЬ) 904 и заполняет поверхностную позицию $Adjunct_Locative 905) в родительской составляющей, представленной управляющим узлом Verb:succeed:succeed:TO_SUCCEED (907).[000139] In FIG. 14 is an example of a syntactic structure of a sentence generated from a graph of generalized components shown in FIG. 13.
[000140] На Фиг. 15 приводится семантическая структура, соответствующая синтаксической структуре на Фиг. 15. В отношении вышеупомянутого лексического элемента "life" (жизнь) (906) на Фиг. 13 семантическая структура включает лексический класс 1010 и семантический класс 1030, соответствующие представленным на Фиг. 15, однако вместо поверхностной позиции (905) семантическая структура включает глубинную позицию "Sphere" (сфера_деятельности) 1020.[000140] In FIG. 15 shows a semantic structure corresponding to the syntax structure in FIG. 15. With respect to the aforementioned lexical element “life” (906) in FIG. 13, the semantic structure includes the
[000141] Как отмечено выше в настоящем документе, в качестве «онтологии» может выступать модель, которая представляет собой объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Таким образом, онтология отличается от семантической иерархии, несмотря на то что она может быть соотнесена с элементами семантической иерархии через определенные отношения (также называемые «якоря»). Онтология может включать определения некого множества классов, где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также называться «концепт», а принадлежащий классу объект может означать экземпляр данного концепта.[000141] As noted above in this document, a “ontology” can be a model, which is an object belonging to a certain field of knowledge (subject area), and the relationship between these objects. Thus, the ontology differs from the semantic hierarchy, despite the fact that it can be correlated with the elements of the semantic hierarchy through certain relationships (also called “anchors”). An ontology may include definitions of a certain set of classes, where each class corresponds to the concept of a subject area. Each class definition may include definitions of one or more objects assigned to that class. According to generally accepted terminology, an ontology class may also be called a “concept”, and an object belonging to the class may mean an instance of this concept.
[000142] В соответствии с одним или несколькими аспектами настоящего изобретения вычислительное устройство, в котором реализованы описанные в настоящем описании способы, может индексировать один или несколько параметров, полученных в результате семантико-синтаксического анализа. Таким образом, способы настоящего изобретения позволяют рассматривать не только множество слов в составе исходного текстового корпуса, но и множество лексических значений этих слов, сохраняя и индексируя всю синтаксическую и семантическую информацию, полученную в ходе синтаксического и семантического анализа каждого предложения исходного текстового корпуса. Такая информация может дополнительно включать данные, полученные в ходе промежуточных этапов анализа, а также результаты лексического выбора, в том числе результаты, полученные в ходе разрешения неоднозначностей, вызванных омонимией и (или) совпадающими грамматическими формами, соответствующими различным лексико-морфологическим значениям некоторых слов исходного языка.[000142] In accordance with one or more aspects of the present invention, a computing device that implements the methods described herein may index one or more parameters resulting from semantic-syntactic analysis. Thus, the methods of the present invention allow us to consider not only many words in the composition of the original text corpus, but also many lexical meanings of these words, storing and indexing all the syntactic and semantic information obtained in the course of parsing and semantic analysis of each sentence of the original text corpus. Such information may additionally include data obtained during the intermediate stages of the analysis, as well as results of lexical selection, including results obtained during the resolution of ambiguities caused by homonymy and (or) matching grammatical forms corresponding to different lexical and morphological meanings of some words of the original language.
[000143] Для каждой семантической структуры можно создать один или несколько индексов. Индекс можно представить в виде структуры данных в памяти, например, в виде таблицы, состоящей из нескольких записей. Каждая запись может представлять собой установление соответствия между определенным элементом семантической структуры (например, одно слово или несколько слов, синтаксическое отношение, морфологическое, синтаксическое или семантическое свойство или синтаксическая или семантическая структура) и одним или несколькими идентификаторами (или адресами) случаев употребления данного элемента семантической структуры в исходном тексте.[000143] For each semantic structure, one or more indexes can be created. An index can be represented as a data structure in memory, for example, in the form of a table consisting of several records. Each record can be a correspondence between a particular element of the semantic structure (for example, one word or several words, syntactic relation, morphological, syntactic or semantic property or syntactic or semantic structure) and one or more identifiers (or addresses) of the use of this element of semantic structures in the source text.
[000144] В некоторых вариантах осуществления индекс может включать одно или несколько значений морфологических, синтаксических, лексических и (или) семантических параметров. Эти значения могут создаваться в процессе двухэтапного семантического анализа (более подробное описание см. в настоящем документе). Индекс можно использовать для выполнения различных задач обработки естественного языка, в том числе для выполнения семантического поиска.[000144] In some embodiments, the implementation of the index may include one or more values of morphological, syntactic, lexical and (or) semantic parameters. These values can be created during a two-stage semantic analysis (for a more detailed description, see this document). The index can be used to perform various natural language processing tasks, including semantic search.
[000145] Вычислительное устройство, реализующее данный способ, может извлекать широкий спектр лексических, грамматических, синтаксических, прагматических и (или) семантических характеристик в ходе проведения синтактико-семантического анализа и создания семантических структур. В иллюстративном примере система может извлекать и сохранять определенную лексическую информацию, данные о принадлежности определенных лексических единиц семантическим классам, информацию о грамматических формах и линейном порядке, информацию об использовании определенных форм, аспектов, тональности (например, положительной или отрицательной), глубинных позиций, недревесных связей, семантем и т.д.[000145] A computing device that implements this method can extract a wide range of lexical, grammatical, syntactic, pragmatic and (or) semantic characteristics during syntactic-semantic analysis and the creation of semantic structures. In an illustrative example, the system can extract and store certain lexical information, data on the membership of certain lexical units in semantic classes, information on grammatical forms and linear order, information on the use of certain forms, aspects, tonality (for example, positive or negative), deep positions, non-wood connections, semantems, etc.
[000146] Вычислительное устройство, в котором реализованы описанные здесь способы, может производить анализ, используя один или несколько описанных в этом документе способов анализа текста, и индексировать любой один или несколько параметров описаний языка, включая лексические значения, семантические классы, граммемы, семантемы и т.д. Индексацию семантического класса можно использовать в различных задачах обработки естественного языка, включая семантический поиск, классификацию, кластеризацию, фильтрацию текста и т.д.. Индексация лексических значений (вместо индексации слов) позволяет искать не только слова и формы слов, но и лексические значения, т.е. слова, имеющие определенные лексические значения. Вычислительное устройство, реализующее способы настоящего изобретения, также может хранить и индексировать синтаксические и семантические структуры, созданные одним или несколькими описанными в настоящем документе способами анализа текста, для использования данных структур и (или) индексов при проведении семантического поиска, классификации, кластеризации и фильтрации документов.[000146] A computing device that implements the methods described herein can analyze using one or more of the text analysis methods described in this document and index any one or more parameters of language descriptions, including lexical values, semantic classes, grammes, semantems, and etc. Indexing a semantic class can be used in various natural language processing tasks, including semantic search, classification, clustering, text filtering, etc. Indexing lexical values (instead of indexing words) allows you to search not only words and word forms, but also lexical meanings, those. words with certain lexical meanings. A computing device that implements the methods of the present invention can also store and index syntactic and semantic structures created by one or more of the text analysis methods described herein to use these structures and (or) indices for semantic search, classification, clustering and filtering of documents .
[000147] На Фиг. 16 показан иллюстративный пример вычислительной системы 1000, которая может исполнять набор команд, которые вызывают выполнение вычислительной системой любого отдельно взятого или нескольких способов настоящего изобретения. Вычислительная система может быть соединена с другой вычислительной системой по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительная система может работать в качестве сервера или клиента в сетевой среде «клиент-сервер» либо в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительная система может быть представлена персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), карманным ПК (PDA), сотовым телефоном или любой вычислительной системой, способной выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этой вычислительной системой. Кроме того, несмотря на то, что показана только одна вычислительная система, термин «вычислительная система» также может включать любую совокупность вычислительных систем, которые отдельно или совместно выполняют набор (или более наборов) команд для выполнения одной или более способов, обсуждаемых в настоящем документе.[000147] In FIG. 16 shows an illustrative example of a
[000148] Пример вычислительной системы 1000 включает процессор 502, основное запоминающее устройство 504 (например, постоянное запоминающее устройство (ПЗУ) или динамическое оперативное запоминающее устройство (DRAM)) и устройство хранения данных 518, которые взаимодействуют друг с другом по шине 530.[000148] An example of a
[000149] Процессор 502 может быть представлен одной или более универсальными вычислительными системами, например, микропроцессором, центральным процессором и т.д. В частности, процессор 502 может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд или процессоры, реализующие комбинацию наборов команд. Процессор 502 также может представлять собой одну или более вычислительных систем специального назначения, например, заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор 502 реализован с возможностью выполнения команд 526 для осуществления рассмотренных в настоящем документе операций и функций.[000149] The
[000150] Вычислительная система 1000 может дополнительно включать устройство сетевого интерфейса 522, устройство визуального отображения 510, устройство ввода символов 512 (например, клавиатуру) и устройство ввода в виде сенсорного экрана 514.[000150]
[000151] Устройство хранения данных 518 может содержать машиночитаемый носитель данных 524, в котором хранится один или более наборов команд 526 и в котором реализованы одна или более методов или функций, рассмотренных в настоящем документе. Команды 526 также могут находиться полностью или по меньшей мере частично в основном запоминающем устройстве 504 и/или в процессоре 502 во время выполнения их в вычислительной системе 1000, при этом оперативное запоминающее устройство 504 и процессор 502 также представляют собой машиночитаемый носитель данных. Команды 526 также могут передаваться или приниматься по сети 516 через устройство сетевого интерфейса 522.[000151] The
[000152] В некоторых вариантах реализации изобретения набор команд 526 может содержать команды способа 100, 300 и/или 400 для извлечения информации из текстов на естественном языке и обучения классификаторов в соответствии с одним или более вариантами реализации настоящего изобретения. Хотя машиночитаемый носитель данных 524 показан в примере на Фиг. 16 в виде одного носителя, термин «машиночитаемый носитель» следует понимать в широком смысле, подразумевающем один или более носителей (например, централизованную или распределенную базу данных и/или соответствующие кэши и серверы), в которых хранится один или более наборов команд. Термин «машиночитаемый носитель данных» также следует понимать как включающий любой носитель, который может хранить, кодировать или переносить набор команд для выполнения машиной и который обеспечивает выполнение машиной любой одной или более методов настоящего изобретения. Поэтому термин «машиночитаемый носитель данных» относится, помимо прочего, к твердотельным запоминающим устройствам, а также к оптическим и магнитным носителям.[000152] In some embodiments of the invention, the
[000153] Способы, компоненты и функции, описанные в этом документе, могут быть реализованы с помощью дискретных компонентов оборудования либо они могут быть встроены в функции других компонентов оборудования, например, ASICS (специализированная заказная интегральная схема), FPGA (программируемая логическая интегральная схема), DSP (цифровой сигнальный процессор) или аналогичных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратного обеспечения. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации аппаратного обеспечения и программных компонентов либо исключительно с помощью программного обеспечения.[000153] The methods, components, and functions described in this document can be implemented using discrete equipment components or they can be integrated into the functions of other equipment components, for example, ASICS (specialized custom integrated circuit), FPGA (programmable logic integrated circuit) , DSP (digital signal processor) or similar devices. In addition, methods, components and functions may be implemented using firmware modules or functional block diagrams of the hardware. The methods, components and functions may also be implemented using any combination of hardware and software components or solely using software.
[000154] В приведенном выше описании изложены многочисленные детали. Однако любому специалисту в этой области техники, ознакомившемуся с этим описанием, должно быть очевидно, что настоящее изобретение может быть осуществлено на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схем без детализации, чтобы не усложнять описание настоящего изобретения.[000154] In the above description, numerous details are set forth. However, it should be apparent to any person skilled in the art who has read this description that the present invention can be practiced without these specific details. In some cases, well-known structures and devices are shown in block diagrams without detail, so as not to complicate the description of the present invention.
[000155] Некоторые части описания предпочтительных вариантов реализации изобретения представлены в виде алгоритмов и символического представления операций с битами данных в запоминающем устройстве компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, что обеспечивает наиболее эффективную передачу сущности работы другим специалистам в данной области. В контексте настоящего описания, как это и принято, алгоритмом называется логически непротиворечивая последовательность операций, приводящих к желаемому результату. Операции подразумевают действия, требующие физических манипуляций с физическими величинами. Обычно, хотя и необязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и выполнять другие манипуляции. Иногда удобно, прежде всего для обычного использования, описывать эти сигналы в виде битов, значений, элементов, символов, терминов, цифр и т.д.[000155] Some parts of the description of preferred embodiments of the invention are presented in the form of algorithms and a symbolic representation of operations with data bits in a computer storage device. Such descriptions and representations of algorithms represent the means used by specialists in the field of data processing, which ensures the most efficient transfer of the essence of work to other specialists in this field. In the context of the present description, as is customary, an algorithm is a logically consistent sequence of operations leading to the desired result. Operations involve actions that require physical manipulation of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared and other manipulations performed. Sometimes it is convenient, first of all for ordinary use, to describe these signals in the form of bits, values, elements, symbols, terms, numbers, etc.
[000156] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами и что они являются лишь удобными обозначениями, применяемыми к этим величинам. Если явно не указано обратное, принимается, что в последующем описании термины «определение», «вычисление», «расчет», «получение», «установление», «определение», «изменение» и т.п. относятся к действиям и процессам вычислительной системы или аналогичной электронной вычислительной системы, которая использует и преобразует данные, представленные в виде физических (например, электронных) величин в реестрах и запоминающих устройствах вычислительной системы, в другие данные, также представленные в виде физических величин в запоминающих устройствах или реестрах вычислительной системы или иных устройствах хранения, передачи или отображения такой информации.[000156] However, it should be borne in mind that all these and similar terms should be associated with the corresponding physical quantities and that they are only convenient designations applicable to these quantities. Unless explicitly stated otherwise, it is assumed that in the following description the terms “determination”, “calculation”, “calculation”, “receipt”, “establishment”, “determination”, “change”, etc. relate to the actions and processes of a computing system or similar electronic computing system that uses and converts data represented as physical (e.g. electronic) quantities in registers and storage devices of a computing system into other data also represented as physical quantities in storage devices or computer system registries or other devices for storing, transmitting or displaying such information.
[000157] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей, либо оно может представлять собой универсальный компьютер, который избирательно приводится в действие или дополнительно настраивается с помощью программы, хранящейся в запоминающем устройстве компьютера. Такая компьютерная программа может храниться на машиночитаемом носителе данных, например, помимо прочего, на диске любого типа, включая дискеты, оптические диски, CD-ROM и магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), СППЗУ, ЭППЗУ, магнитные или оптические карты и носители любого типа, подходящие для хранения электронной информации.[000157] The present invention also relates to a device for performing the operations described herein. Such a device can be specially designed for the required purposes, or it can be a universal computer, which is selectively activated or additionally configured using a program stored in a computer storage device. Such a computer program may be stored on a computer-readable storage medium, for example, but not limited to, any type of disk, including floppy disks, optical disks, CD-ROMs and magneto-optical disks, read-only memory (ROM), random access memory (RAM), EPROM , EEPROM, magnetic or optical cards and any type of media suitable for storing electronic information.
[000158] Следует понимать, что приведенное выше описание призвано иллюстрировать, а не ограничивать сущность изобретения. Специалистам в данной области техники после прочтения и уяснения приведенного выше описания станут очевидны и различные другие варианты реализации изобретения. Исходя из этого область применения изобретения должна определяться с учетом прилагаемой формулы изобретения, а также всех областей применения эквивалентных способов, на которые в равной степени распространяется формула изобретения.[000158] It should be understood that the above description is intended to illustrate, and not limit the essence of the invention. Various other embodiments of the invention will become apparent to those skilled in the art after reading and understanding the above description. Based on this, the scope of the invention should be determined taking into account the attached claims, as well as all areas of application of equivalent methods, which are equally covered by the claims.
Claims (54)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018110386A RU2681356C1 (en) | 2018-03-23 | 2018-03-23 | Classifier training used for extracting information from texts in natural language |
US15/938,307 US10437931B1 (en) | 2018-03-23 | 2018-03-28 | Information extraction from natural language texts |
US15/938,509 US20190294665A1 (en) | 2018-03-23 | 2018-03-28 | Training information extraction classifiers |
US16/545,463 US10691891B2 (en) | 2018-03-23 | 2019-08-20 | Information extraction from natural language texts |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018110386A RU2681356C1 (en) | 2018-03-23 | 2018-03-23 | Classifier training used for extracting information from texts in natural language |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2681356C1 true RU2681356C1 (en) | 2019-03-06 |
Family
ID=65632855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018110386A RU2681356C1 (en) | 2018-03-23 | 2018-03-23 | Classifier training used for extracting information from texts in natural language |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2681356C1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274391A (en) * | 2020-01-15 | 2020-06-12 | 北京百度网讯科技有限公司 | SPO extraction method and device, electronic equipment and storage medium |
RU2745492C1 (en) * | 2020-10-09 | 2021-03-25 | Общество с ограниченной ответственностью «Газпромнефть Научно-Технический Центр» | Method and system for the search for analogues of oil and gas fields |
US11138383B2 (en) | 2019-08-21 | 2021-10-05 | International Business Machines Corporation | Extracting meaning representation from text |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7027974B1 (en) * | 2000-10-27 | 2006-04-11 | Science Applications International Corporation | Ontology-based parser for natural language processing |
US20150278197A1 (en) * | 2014-03-31 | 2015-10-01 | Abbyy Infopoisk Llc | Constructing Comparable Corpora with Universal Similarity Measure |
RU2628436C1 (en) * | 2016-04-12 | 2017-08-16 | Общество с ограниченной ответственностью "Аби Продакшн" | Classification of texts on natural language based on semantic signs |
RU2646386C1 (en) * | 2016-12-07 | 2018-03-02 | Общество с ограниченной ответственностью "Аби Продакшн" | Extraction of information using alternative variants of semantic-syntactic analysis |
-
2018
- 2018-03-23 RU RU2018110386A patent/RU2681356C1/en active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7027974B1 (en) * | 2000-10-27 | 2006-04-11 | Science Applications International Corporation | Ontology-based parser for natural language processing |
US20150278197A1 (en) * | 2014-03-31 | 2015-10-01 | Abbyy Infopoisk Llc | Constructing Comparable Corpora with Universal Similarity Measure |
RU2628436C1 (en) * | 2016-04-12 | 2017-08-16 | Общество с ограниченной ответственностью "Аби Продакшн" | Classification of texts on natural language based on semantic signs |
RU2646386C1 (en) * | 2016-12-07 | 2018-03-02 | Общество с ограниченной ответственностью "Аби Продакшн" | Extraction of information using alternative variants of semantic-syntactic analysis |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11138383B2 (en) | 2019-08-21 | 2021-10-05 | International Business Machines Corporation | Extracting meaning representation from text |
CN111274391A (en) * | 2020-01-15 | 2020-06-12 | 北京百度网讯科技有限公司 | SPO extraction method and device, electronic equipment and storage medium |
CN111274391B (en) * | 2020-01-15 | 2023-09-01 | 北京百度网讯科技有限公司 | SPO extraction method and device, electronic equipment and storage medium |
RU2745492C1 (en) * | 2020-10-09 | 2021-03-25 | Общество с ограниченной ответственностью «Газпромнефть Научно-Технический Центр» | Method and system for the search for analogues of oil and gas fields |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10691891B2 (en) | Information extraction from natural language texts | |
RU2628431C1 (en) | Selection of text classifier parameter based on semantic characteristics | |
RU2628436C1 (en) | Classification of texts on natural language based on semantic signs | |
RU2662688C1 (en) | Extraction of information from sanitary blocks of documents using micromodels on basis of ontology | |
RU2619193C1 (en) | Multi stage recognition of the represent essentials in texts on the natural language on the basis of morphological and semantic signs | |
RU2686000C1 (en) | Retrieval of information objects using a combination of classifiers analyzing local and non-local signs | |
RU2679988C1 (en) | Extracting information objects with the help of a classifier combination | |
RU2657173C2 (en) | Sentiment analysis at the level of aspects using methods of machine learning | |
RU2637992C1 (en) | Method of extracting facts from texts on natural language | |
RU2646386C1 (en) | Extraction of information using alternative variants of semantic-syntactic analysis | |
RU2635257C1 (en) | Sentiment analysis at level of aspects and creation of reports using machine learning methods | |
RU2626555C2 (en) | Extraction of entities from texts in natural language | |
RU2732850C1 (en) | Classification of documents by levels of confidentiality | |
RU2697647C1 (en) | System and method for automatic creation of templates | |
RU2607976C1 (en) | Extracting information from structured documents containing text in natural language | |
RU2636098C1 (en) | Use of depth semantic analysis of texts on natural language for creation of training samples in methods of machine training | |
RU2640297C2 (en) | Definition of confidence degrees related to attribute values of information objects | |
US20160147736A1 (en) | Creating ontologies by analyzing natural language texts | |
RU2646380C1 (en) | Using verified by user data for training models of confidence | |
RU2618374C1 (en) | Identifying collocations in the texts in natural language | |
RU2665261C1 (en) | Recovery of text annotations related to information objects | |
RU2640718C1 (en) | Verification of information object attributes | |
RU2681356C1 (en) | Classifier training used for extracting information from texts in natural language | |
RU2691855C1 (en) | Training classifiers used to extract information from natural language texts | |
RU2606873C2 (en) | Creation of ontologies based on natural language texts analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
QB4A | Licence on use of patent |
Free format text: LICENCE FORMERLY AGREED ON 20201211 Effective date: 20201211 |
|
QC41 | Official registration of the termination of the licence agreement or other agreements on the disposal of an exclusive right |
Free format text: LICENCE FORMERLY AGREED ON 20201211 Effective date: 20220311 |