RU2691855C1 - Training classifiers used to extract information from natural language texts - Google Patents
Training classifiers used to extract information from natural language texts Download PDFInfo
- Publication number
- RU2691855C1 RU2691855C1 RU2018110387A RU2018110387A RU2691855C1 RU 2691855 C1 RU2691855 C1 RU 2691855C1 RU 2018110387 A RU2018110387 A RU 2018110387A RU 2018110387 A RU2018110387 A RU 2018110387A RU 2691855 C1 RU2691855 C1 RU 2691855C1
- Authority
- RU
- Russia
- Prior art keywords
- information
- objects
- information objects
- classifier
- natural language
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/192—Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
- G06V30/194—References adjustable by an adaptive method, e.g. learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
Description
ОБЛАСТЬ ТЕХНИКИTECHNICAL FIELD
[0001] Настоящее изобретение в целом относится к вычислительным системам, а точнее - к системам и способам обработки естественного языка.[0001] The present invention relates generally to computing systems, and more specifically to systems and methods for processing natural language.
УРОВЕНЬ ТЕХНИКИBACKGROUND
[0002] Извлечение информации может включать анализ текста на естественном языке для выявления и классификации информационных объектов в соответствии с заданным множеством категорий (например, имена лиц, организаций, мест, выражения времени, количества, денежных сумм, процентов и т.д.). Извлечение информации может дополнительно включать определение отношений между распознанными именованными сущностями и (или) информационными объектами.[0002] Extraction of information may include the analysis of a natural language text to identify and classify information objects in accordance with a given set of categories (for example, the names of individuals, organizations, places, expressions of time, number, sums of money, interest, etc.). Information retrieval may additionally include defining relationships between recognized named entities and (or) information objects.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯDISCLOSURE OF INVENTION
[0003] В соответствии с одним или более вариантами реализации настоящего изобретения пример способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке может включать: обучение классификатора извлечения информации для извлечения первого множества информационных объектов из текста на естественном языке, причем определение классификатора извлечения информации включает один или более гиперпараметров; получение итогового списка извлеченных информационных объектов путем выполнения функции «арбитража» конфликтов по отношению к множеству конфликтующих информационных объектов, так, что первый информационный объект из набора конфликтующих информационных объектов первому множеству информационных объектов, и второй информационный объект из набора конфликтующих информационных объектов принадлежит второму множеству информационных объектов, извлеченных из текста на естественном языке; изменение значений гиперпараметров классификатора извлечения информации; и оптимизация показателя качества извлечения информации для итогового списка извлеченных информационных объектов путем итеративного повторения операций обучения классификатора извлечения информации, выполнения функции «арбитража» конфликтов и изменения значений гиперпараметров.[0003] In accordance with one or more embodiments of the present invention, an example of a classifier training method used to extract information from texts in natural language may include: training information extraction classifier to extract the first set of information objects from natural language text, and the definition of extraction classifier information includes one or more hyperparameters; obtaining a final list of extracted information objects by performing the function of “arbitration” of conflicts with respect to a set of conflicting information objects, so that the first information object from the set of conflicting information objects to the first set of information objects and the second information object from the set of conflicting information objects belongs to the second set of information objects extracted from natural language text; changing the values of the hyperparameters of the information extraction classifier; and optimization of the information extraction quality indicator for the final list of extracted information objects by iteratively repeating the training operations of the information extraction classifier, performing the “arbitration” of conflicts and changing the values of hyperparameters.
[0004] В соответствии с одним или более вариантами реализации настоящего изобретения другой пример способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке может включать: извлечение, посредством первого метода извлечения информации, первого множества информационных объектов из текста на естественном языке; извлечение, посредством второго метода извлечения информации, второго множества информационных объектов из текста на естественном языке; изменение значений одного или нескольких гиперпараметров классификатора арбитража конфликтов; обучение классификатора арбитража конфликтов, который создает список извлеченных информационных объектов посредством выполнения функции арбитража конфликтов в отношении набора конфликтующих информационных объектов, так что первый информационный объект множества конфликтующих информационных объектов принадлежит первому множеству информационных объектов второй информационный объект множества конфликтующих информационных объектов принадлежит второму множеству информационных объектов; оптимизацию метрики качества извлечения информации, отражающую качество списка извлеченных информационных объектов, итеративно повторяя операции извлечения первого множества информационных объектов, извлечение второго множества информационных объектов, изменение значений гиперпараметров и обучение классификатора арбитража конфликтов.[0004] In accordance with one or more embodiments of the present invention, another example of a classifier training method used to extract information from natural language texts may include: extracting, by the first method of extracting information, a first set of information objects from natural language text; extracting, by the second method of extracting information, the second set of information objects from the text in natural language; changing the values of one or several hyperparameters of the conflict arbitration classifier; learning the conflict arbitration classifier that creates a list of extracted information objects by performing the function of arbitrating conflicts regarding a set of conflicting information objects, so that the first information object of a set of conflicting information objects belongs to the first set of information objects the second information object of a set of conflicting information objects belongs to the second set of information objects; optimization of the information extraction quality metric, reflecting the quality of the list of extracted information objects, iteratively repeating operations of extracting the first set of information objects, extracting the second set of information objects, changing the values of hyperparameters and training the conflict arbitration classifier.
[0005] В соответствии с одним или более вариантами реализации настоящего изобретения пример системы извлечения информации из текста на естественном языке может включать: запоминающее устройство и процессор, соединенный с запоминающим устройством. Этот процессор может быть выполнен с возможностью: обучения классификаторов извлечения информации для извлечения первого множества информационных объектов из текста на естественном языке, причем определение классификатора извлечения информации включает один или более гиперпараметров; получения итогового списка извлеченных информационных объектов путем выполнения функции «арбитража» конфликтов по отношению к множеству конфликтующих информационных объектов, например, первого информационного объекта из набора конфликтующих информационных объектов, принадлежащего к первому множеству информационных объектов, и второго информационного объекта из набора конфликтующих информационных объектов, принадлежащего ко второму множеству информационных объектов, извлеченных из текста на естественном языке; изменения значений гиперпараметров классификатора извлечения информации; и оптимизации показателя качества извлечения информации для итогового списка извлеченных информационных объектов путем итеративного повторения операций обучения классификатора извлечения информации, выполнения функции «арбитража» конфликтов и изменения значений гиперпараметров.[0005] In accordance with one or more embodiments of the present invention, an example of a system for extracting information from text in natural language may include: a storage device and a processor connected to the storage device. This processor can be configured to: - learn information extraction classifiers to extract the first set of information objects from natural language text, with the definition of the information extraction classifier including one or more hyperparameters; retrieving the final list of extracted information objects by performing the function of “arbitration” of conflicts with respect to the set of conflicting information objects, for example, the first information object from the set of conflicting information objects belonging to the first set of information objects and the second information object from the set of conflicting information objects belonging to the second set of information objects extracted from the text in natural language; changes in the values of the hyperparameters of the information extraction classifier; and optimization of the information extraction quality indicator for the final list of extracted information objects by iteratively repeating the training operations of the information extraction classifier, performing the “arbitration” of conflicts and changing the values of hyper parameters.
[0006] В соответствии с одним или более вариантами реализации настоящего изобретения пример машиночитаемого постоянного носителя данных может содержать исполняемые команды, которые при выполнении вычислительной системой вызывают следующие действия вычислительной системы: обучение классификаторов извлечения информации для извлечения первого множества информационных объектов из текста на естественном языке, причем определение классификатора извлечения информации включает один или более гиперпараметров; получение итогового списка извлеченных информационных объектов путем выполнения функции «арбитража» конфликтов по отношению к множеству конфликтующих информационных объектов, например, первого информационного объекта из набора конфликтующих информационных объектов, принадлежащего к первому множеству информационных объектов, и второго информационного объекта из набора конфликтующих информационных объектов, принадлежащего ко второму множеству информационных объектов, извлеченных из текста на естественном языке; изменение значений гиперпараметров классификатора извлечения информации; и оптимизация показателя качества извлечения информации для итогового списка извлеченных информационных объектов путем итеративного повторения операций обучения классификатора извлечения информации, выполнения функции «арбитража» конфликтов и изменения значений гиперпараметров.[0006] In accordance with one or more embodiments of the present invention, an example of a computer-readable readable data carrier may contain executable instructions that, when executed by a computing system, cause the following actions of a computing system: training information extraction classifiers to extract the first set of information objects from natural language text, moreover, the definition of the classifier information extraction includes one or more hyperparameters; obtaining a final list of extracted information objects by performing the function of “arbitration” of conflicts with respect to a set of conflicting information objects, for example, the first information object from the set of conflicting information objects belonging to the first set of information objects and the second information object from the set of conflicting information objects belonging to the second set of information objects extracted from the text in natural language; changing the values of the hyperparameters of the information extraction classifier; and optimization of the information extraction quality indicator for the final list of extracted information objects by iteratively repeating the training operations of the information extraction classifier, performing the “arbitration” of conflicts and changing the values of hyperparameters.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
[0007] Настоящее изобретение иллюстрируется с помощью примеров, а не способом ограничения и может быть лучше понято при рассмотрении приведенного ниже описания предпочтительных вариантов реализации в сочетании с чертежами, на которых:[0007] The present invention is illustrated using examples rather than a limiting method, and may be better understood when considering the following description of preferred embodiments in conjunction with the drawings, in which:
[0008] На Фиг. 1 приведена блок-схема одного иллюстративного примера способа извлечения информации с помощью нескольких методов извлечения в соответствии с одним или более вариантами реализации настоящего изобретения;[0008] FIG. 1 is a block diagram 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;
[0009] На Фиг. 2 схематически показан пример «арбитража» конфликтующих объектов, который может быть выполнен в соответствии с одним или более вариантами реализации настоящего изобретения, в соответствии с одним или более вариантами реализации настоящего изобретения;[0009] FIG. 2 schematically shows an example of “arbitration” of conflicting objects, which 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;
[00010] На Фиг. 3 показана блок-схема одного из примеров способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке, в соответствии с одним или более вариантами реализации настоящего изобретения;[00010] FIG. 3 shows a block diagram 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;
[00011] На Фиг. 4 показана блок-схема другого примера способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке, в соответствии с одним или более вариантами реализации настоящего изобретения;[00011] FIG. 4 shows a block diagram of another example of a classifier learning method used to extract information from natural language texts in accordance with one or more embodiments of the present invention;
[00012] На Фиг. 5 показана блок-схема одного из иллюстративных примеров способа 400 семантико-синтаксического анализа предложения на естественном языке в соответствии с одним или более вариантами реализации настоящего изобретения;[00012] FIG. 5 shows a block diagram of one illustrative example of a
[00013] На Фиг. 6 схематически показан пример лексико-морфологической структуры предложения в соответствии с одним или более вариантами реализации настоящего изобретения;[00013] FIG. 6 schematically shows an example of a lexico-morphological structure of a sentence in accordance with one or more embodiments of the present invention;
[00014] На Фиг. 6 схематически показаны языковые описания, представляющие модель естественного языка, в соответствии с одним или более вариантами реализации настоящего изобретения;[00014] FIG. 6 schematically shows language descriptions representing a natural language model in accordance with one or more embodiments of the present invention;
[00015] На Фиг. 8 схематически показаны примеры морфологических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;[00015] FIG. 8 schematically shows examples of morphological descriptions in accordance with one or more embodiments of the present invention;
[00016] На Фиг. 9 схематически показаны примеры синтаксических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;[00016] FIG. 9 schematically shows examples of syntactic descriptions in accordance with one or more embodiments of the present invention;
[00017] На Фиг. 10 схематически показаны примеры семантических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;[00017] FIG. 10 schematically shows examples of semantic descriptions in accordance with one or more embodiments of the present invention;
[00018] На Фиг. 11 схематически показаны примеры лексических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;[00018] FIG. 11 schematically shows examples of lexical descriptions in accordance with one or more embodiments of the present invention;
[00019] На Фиг. 12 схематически показаны примеры структур данных, которые могут быть использованы в рамках одного или более способов, реализованных в соответствии с одним или более вариантами реализации настоящего изобретения;[00019] FIG. 12 schematically shows examples of data structures that can be used within one or more of the methods implemented in accordance with one or more embodiments of the present invention;
[00020] На Фиг. 13 схематически показан пример графа обобщенных составляющих в соответствии с одним или более вариантами реализации настоящего изобретения;[00020] FIG. 13 schematically shows an example of a graph of generalized components in accordance with one or more embodiments of the present invention;
[00021] На Фиг. 14 приводится пример синтаксической структуры, соответствующей предложению, приведенному на Фиг. 13;[00021] FIG. 14 shows an example of the syntactic structure corresponding to the sentence shown in FIG. 13;
[00022] На Фиг. 15 показана семантическая структура, соответствующая синтаксической структуре, приведенной на Фиг. 14;[00022] FIG. 15 shows the semantic structure corresponding to the syntactic structure shown in FIG. 14;
[00023] На Фиг. 16 показана схема примера вычислительной системы, реализующей способы настоящего изобретения.[00023] FIG. 16 is a diagram of an example computing system implementing the methods of the present invention.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИDESCRIPTION OF THE PREFERRED EMBODIMENTS
[00024] В настоящем документе описываются способы и системы извлечения информации из текстов на естественном языке. Системы и способы, представленные в настоящем документе, могут найти применение в самых разных ситуациях, где требуется обработка текстов на естественном языке, в частности это могут быть машинный перевод, семантическое индексирование, семантический поиск (в том числе многоязычный семантический поиск), классификация документов, поиск и представление электронных документов (e-discovery) и т.д.[00024] 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 wide variety of situations where natural language processing is required, in particular, it can be machine translation, semantic indexing, semantic search (including multilingual semantic search), document classification, search and submission of electronic documents (e-discovery), etc.
[00025] В настоящем документе термин «вычислительная система» означает устройство обработки данных, оснащенное универсальным или специализированным процессором, памятью и по меньшей мере одним интерфейсом связи. Примерами вычислительных систем, которые могут использовать описанные в этом документе способы, являются, в частности, настольные компьютеры, ноутбуки, планшетные компьютеры и смартфоны.[00025] In this document, 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.
[00026] «Онтология» в настоящем документе означает модель, которая представляет объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Онтология может включать определения некого множества классов, где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также называться «концептом», а принадлежащий классу объект может означать экземпляр данного концепта. В некоторых реализациях изобретения класс может быть предком или потомком другого класса. В определенных вариантах реализации объект может быть соотнесен с двумя или более классами.[00026] "Ontology" in this document means a model that represents objects belonging to a specific area of knowledge (domain), and the relationship between these objects. An ontology can include definitions of a certain set of classes, where each class corresponds to a domain concept. Each class definition may include definitions of one or more objects assigned to the class. According to generally accepted terminology, an ontology class can also be called a “concept”, and an object belonging to a class can mean an instance of a given concept. In some implementations of the invention, the class may be an ancestor or descendant of another class. In certain embodiments, an object may be associated with two or more classes.
[00027] Определение каждого класса может далее включать одно или более определений отношений одного или более отнесенных к данному классу объектов. Отношения определяют различные типы взаимодействий между связанными объектами. В некоторых реализациях изобретения различные отношения могут быть организованы во всеобщей таксономии, например, отношения «отцовства» и «материнства» могут быть включены в более общее отношение «быть родителем», которое в свою очередь может быть включено в более общее отношение «быть предком».[00027] The definition of each class may further include one or more definitions of the relationships of one or more objects assigned to the class. Relationships define different types of interactions between related objects. In some implementations of the invention, different relationships may be organized in a general taxonomy, for example, the “paternity” and “motherhood” relationships may be included in the more general “parent” relationship, which in turn may be included in the more general “ancestor” relationship .
[00028] Атрибут информационного объекта может быть представлен другим информационным объектом (например, место рождения человека может быть представлено информационным объектом класса «Город»; а работодатель человека может быть представлен объектом класса «Компания»). Определение класса может включать одно или более ограничений, связанных с определенными атрибутами объекта этого класса, например, атрибут ограничения по кардинальности (например, человек может иметь только одно место рождения) или ограничения по типу (например, заданный атрибут может быть представлен объектами указанного множества классов).[00028] 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 the class "City"; and the employer of a person may be represented by an object of the class "Company"). A class definition can include one or more constraints associated with certain attributes of an object of this class, for example, a cardinality restriction attribute (for example, a person can have only one birthplace) or a type restriction (for example, a given attribute can be represented by objects of a specified set of classes ).
[00029] Извлечение информации может включать анализ текста на естественном языке для выявления и классификации информационных объектов, на которые ссылаются фрагменты текста на естественном языке. Фрагменты текста, ссылающиеся на информационный объект, называются «аннотациями объекта». Фрагменты текста, ссылающиеся на атрибут информационного объекта, называются «аннотациями атрибута». Аннотация может быть определена ее положением в тексте на естественном языке, включая позицию начала (слово) и позицию конца (слово).[00029] Information extraction may include analysis of a natural language text to identify and classify information objects referenced by natural language text fragments. Fragments of text 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 may be defined by its position in the text in natural language, including the position of the beginning (word) and the position of the end (word).
[00030] При извлечении информации может происходить классификация выявленных информационных объектов в соответствии с предварительно заданным множеством категорий (например, имена людей, наименования организаций, места, выражения времени, количества, денежных сумм, процентов и т.д.). Такие категории могут быть представлены концептами предварительно заданной или динамически формируемой онтологии. Извлечение информации может дополнительно включать определение отношений между распознанными именованными сущностями и (или) информационными объектами. Примерами таких отношений могут быть работа лица X в организационном подразделении Y, расположение объекта X в геопозиции Y, приобретение организационной единицей X организационной единицы Y и т.д. Подобные отношения могут быть выражены фрагментами на естественном языке, которые могут содержать множество слов из одного или более предложений. Отношения информационных объектов могут быть выражены атрибутами информационного объекта, которые ссылаются на другие информационные объекты (например, информационный объект «человек» может иметь такие атрибуты, как «место рождения», «место жительства» или «работодатель», каждый из которых представлен ссылкой на информационный объект соответствующего класса).[00030] When extracting information, the identified information objects may be classified according to a predefined set of categories (for example, names of people, names of organizations, places, expressions of time, quantities, sums of money, interest, etc.) Such categories can be represented by concepts of a predefined or dynamically formed ontology. Information retrieval may additionally include defining relationships between recognized named entities and (or) information objects. Examples of such relationships can be the work of a person X in the organizational unit Y, the location of the object X in geo-location Y, the acquisition by the organizational unit X of an organizational unit Y, etc. Similar relationships can be expressed in natural language fragments, which can contain a variety of 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, the information object “person” can have attributes such as “place of birth”, “place of residence” or “employer”, each of which is represented by reference to information object of the corresponding class).
[00031] Извлеченная информация, которая может быть представлена RDF-графом, может использоваться для выполнения различных операций и задач обработки естественного языка, включая машинный перевод, семантическое индексирование, семантический поиск, классификацию документов, поиск и представление электронных документов (e-discovery) и т.д.[00031] The extracted information, which 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.
[00032] Извлечение информации может выполняться различными методами извлечения с использованием изменяемых наборов правил, автоматических методов классификации (также называемых «классификаторами на основе машинного обучения»), эвристических подходов и (или) сочетанием этих методов. Методы извлечения информации могут быть основаны на онтологиях и (или) других моделях документов для анализа морфологических, лексических, синтаксических, семантических и (или) иных атрибутов текстов на естественном языке.[00032] Information extraction can be performed by various extraction methods using variable sets of rules, automatic classification methods (also called “machine learning-based classifiers”), heuristic approaches, and / or a combination of these methods. Information extraction methods can be based on ontologies and / or other document models for analyzing morphological, lexical, syntactic, semantic, and / or other attributes of natural language texts.
[00033] В иллюстративном примере извлечение информации может включать применение множества продукционных правил, например, сопоставление с шаблоном, заданным в левой части продукционного правила, с семантической структурой, представляющей фрагмент текста на естественном языке, может запустить действие правой части продукционного правила, которое может назначить определенные значения одному или более атрибутам информационного объекта. В еще одном иллюстративном примере классификатор на основе машинного обучения может определять степень связанности заданного фрагмента текста на естественном языке (например, представленного набором морфологических, лексических, синтаксических, семантических и (или) иных атрибутов) с определенным классом информационных объектов. Параметры классификатора могут быть определены или изменены в результате дообучения классификатора с использованием ранее существовавших или динамически созданных обучающих выборок данных, на основе которых выполняется корреляция классов информационных объектов с морфологическими, лексическими, синтаксическими, семантическими и (или) иными атрибутами текста на естественном языке. Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейросети и т.д.[00033] In an illustrative example, retrieving information can include applying a set of production rules, for example, matching the pattern specified on the left side of a production rule with a semantic structure representing a piece of text in natural language can trigger the action of the right side of a production rule that can assign certain values to one or more attributes of the information object. In another illustrative example, a classifier based on machine learning can determine the degree of relatedness of a given piece of text in natural language (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 defined or changed as a result of further training of the classifier using previously existing or dynamically created training data samples, on the basis of which the classes of information objects are correlated with morphological, lexical, syntactic, semantic and (or) other attributes of text in natural language. Classification methods may include differential evolution methods, genetic algorithms, random forest methods, neural networks, etc.
[00034] Различные методы извлечения информации могут иметь различные характеристики производительности, такие как вычислительная точность, полнота и (или) вычислительная сложность. Соответственно, различные методы извлечения информации могут создавать различные результаты при применении к одному и тому же тексту на естественном языке. Определенные информационные объекты, извлеченные на основе двух или более методов извлечения информации, могут конфликтовать друг с другом, например, одно и то же слово на естественном языке может быть распознано как ссылка на географическое положение или имя человека.[00034] Different methods for extracting information may have different performance characteristics, such as computational accuracy, completeness, and (or) computational complexity. Accordingly, different methods of extracting information can create different results when applied to the same natural language text. Certain information objects extracted based on two or more methods of extracting information may conflict with each other, for example, the same word in natural language can be recognized as a reference to a geographical location or the name of a person.
[00035] Настоящее изобретение повышает эффективность и качество извлечения информации путем создания систем и способов, которые используют различные сочетания методов извлечения информации с последующим определением и разрешением конфликтов среди извлеченных информационных объектов, таким образом достигается результат, превышающий качество и эффективность традиционно используемых методов. В иллюстративном примере вычислительная система, реализующая этот способ, может применять две или более методов извлечения информации для одного и того же текста на естественном языке. Затем вычислительная система может выявить множества (например, пары, триплеты, квадруплеты и т.д.) потенциально конфликтующих объектов, извлеченных различными методами, например, путем выявления перекрывающихся текстовых аннотаций и (или) нарушений различных ограничений, связанных с атрибутами информационных объектов (например, атрибут ограничения по кардинальности). После определения множества конфликтующих объектов вычислительная система может предпринять попытку разрешить конфликт за счет применения функции «арбитража» конфликтующих объектов, которая может выполнять анализ морфологических, лексических, синтаксических, семантических и (или) иных атрибутов конфликтующих информационных объектов с целью получения результата, подтверждающего один или более потенциально конфликтующих объектов, изменяющего атрибуты одного или более потенциально конфликтующих объектов, удаляющего один или более потенциально конфликтующих объектов и (или) выполняющего слияние одного или более потенциально конфликтующих объектов.[00035] The present invention improves the efficiency and quality of information extraction by creating systems and methods that use various combinations of information extraction methods, followed by defining and resolving conflicts among the extracted information objects, thus achieving a result that exceeds the quality and efficiency of the traditionally used methods. In an illustrative example, a computing system implementing this method may apply two or more methods of extracting information for the same natural language text. The computing system can then identify sets (for example, pairs, triplets, quadruplets, etc.) of potentially conflicting objects extracted by various methods, for example, by identifying overlapping text annotations and / or violations of various constraints associated with the attributes of information objects (for example , attribute of cardinality constraint). After determining the set of conflicting objects, the computing system may attempt to resolve the conflict by applying the function of “arbitration” of the conflicting objects, which can perform an analysis of morphological, lexical, syntactic, semantic and / or other attributes of the conflicting information objects in order to obtain a result confirming 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.
[00036] В определенных вариантах реализации функция «арбитража» конфликтующих информационных объектов может применять одно или более настраиваемых правил оценки логических условий, определенных для морфологических, лексических, синтаксических, семантических и (или) иных атрибутов извлеченных информационных объектов. Как вариант, функция «арбитража» конфликтующих объектов может включать один или более классификаторов на основе машинного обучения. В иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может обеспечивать степень обоснованности одного или более возможных результатов «арбитража» (например, слияние возможных конфликтующих объектов в единый объект, подтверждение одного или более извлеченных объектов, изменение одного или более извлеченных объектов и (или) удаление одного или более извлеченных объектов). В другом иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может обеспечивать сходство двух или более информационных объектов, представляющих один и тот же объект реальной жизни. В еще одном иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может создавать степени уверенности, связанные с каждым информационным объектом из множества конфликтующих информационных объектов.[00036] In certain embodiments, the function of “arbitration” of conflicting information objects may apply one or more custom 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, a classifier used by the “arbitration” function of conflicting objects can provide a degree of justification for 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 retrieved objects). In another illustrative example, a classifier used by the “arbitration” function of conflicting objects can provide the similarity of two or more information objects representing the same real-life object. In another illustrative example, the classifier used by the function of “arbitration” of conflicting objects can create degrees of confidence associated with each information object from a set of conflicting information objects.
[00037] Классификаторы, использующиеся функцией «арбитража» конфликтующих объектов, могут быть обучены на основе существовавших ранее или динамически созданных обучающих выборок данных, на основе которых результаты «арбитража» могут быть соотнесены с морфологическими, лексическими, синтаксическими, семантическими и (или) другими атрибутами извлеченных информационных объектов. Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейросети и т.д.[00037] 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 “arbitration” can be correlated with morphological, lexical, syntactic, semantic and (or) other attributes of the extracted information objects. Classification methods may include differential evolution methods, genetic algorithms, random forest methods, neural networks, etc.
[00038] В определенных вариантах реализации обучающие выборки данных для классификаторов на основе машинного обучения могут создаваться путем применения способов на основе правил для отбора текстов на естественном языке и (или) путем верификации пользователем результатов классификации, полученных за счет применения обучаемых классификаторов. В иллюстративном примере классификаторы могут итеративно проходить повторное обучение на основе верифицированных пользователем результатов классификации, за счет чего с каждой итерацией обучения постепенно повышается качество классификации. Контуры такого обучения на основе обратной связи могут быть применены к классификаторам, выполняющим начальное извлечение информационных объектов, а также к классификаторам, реализующим функции «арбитража» конфликтующих объектов, за счет чего постепенно повышается общее качество извлечения информации.[00038] In certain embodiments, training data samples for classifiers based on machine learning can be created by applying methods based on rules for selecting texts in natural language and / or by verifying by the user the results of classification obtained through the use of trained classifiers. In an illustrative example, classifiers can iteratively undergo re-training based on user-verified classification results, due to which, with each iteration of training, the quality of classification is gradually increased. Outlines of such training based on feedback can be applied to classifiers that perform the initial extraction of information objects, as well as to classifiers that implement the functions of “arbitration” of conflicting objects, thereby gradually increasing the overall quality of information extraction.
[00039] В некоторых вариантах осуществления определение классификатора, используемого для извлечения информации, может содержать один или более параметров, значения которых могут регулироваться с помощью методов машинного обучения, и может также включать один или более гиперпараметров, значения которых могут определяться некоторыми внешними по отношению к методам машинного обучения операциями или процессами. В иллюстративном примере значения одного или более гиперпараметров классификатора извлечения информации могут итеративно регулироваться путем итеративного выполнения операций обучения классификатора извлечения информации, обучения классификатора «арбитража» конфликтов, выполнения функции «арбитража» конфликтов и изменения значений гиперпараметров, таким образом итеративно оптимизируя показатель качества, с помощью которого производится оценка итогового списка извлеченных информационных объектов, как более подробно описано ниже в этом документе.[00039] In some embodiments, the definition of a classifier used to extract information may contain one or more parameters, the values of which may be adjusted using machine learning methods, and may also include one or more hyperparameters, the values of which may be determined by some external to methods of machine learning by operations or processes. In an illustrative example, the values of one or more hyperparameters of the information extraction classifier can be adjusted iteratively by iteratively performing learning operations of the information extraction classifier, training the conflict arbitration classifier, performing the conflict arbitration function and changing the hyperparameter values, thus iteratively optimizing the quality indicator using which evaluates the final list of extracted information objects, as described in more detail in Also in this document.
[00040] Системы и способы, работающие в соответствии с одним или более вариантами реализации настоящего изобретения, можно использовать для выполнения различных операций обработки естественного языка, таких как машинный перевод, семантический поиск, классификация и кластеризация объектов и т.д. В некоторых реализациях извлеченная информация может быть визуально представлена с помощью графического пользовательского интерфейса, например, путем отображения идентификаторов классов информационных объектов в визуальном сопоставлении с соответствующими фрагментами текста естественного языка.[00040] 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 a visual comparison with the corresponding fragments of the natural language text.
[00041] Различные аспекты упомянутых выше способов и систем подробно описаны ниже в этом документе с помощью примеров, а не способом ограничения.[00041] Various aspects of the methods and systems mentioned above are described in detail later in this document using examples, and not a way of limitation.
[00042] На Фиг. 1 приведена блок-схема одного иллюстративного примера способа извлечения информации с помощью нескольких методов извлечения в соответствии с одним или более вариантами реализации настоящего изобретения. Способ 100 и (или) каждая из его отдельных функций, стандартных программ, подпрограмм или операций могут выполняться одним или более процессорами вычислительной системы (например, вычислительная система 1000 на Фиг. 16), реализующей этот способ. В некоторых вариантах осуществления способ 100 может выполняться в одном потоке обработки. При альтернативном подходе способ 100 может осуществляться с использованием двух или более потоков обработки, при этом в каждом потоке реализована одна или более отдельных функций, процедур, подпрограмм или действий этого способа. В одном из иллюстративных примеров потоки обработки, в которых реализован способ 100, могут быть синхронизированы (например, с использованием семафоров, критических секций и (или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, реализующие способ 100, могут выполняться асинхронно по отношению друг к другу.[00042] FIG. 1 shows a block diagram 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.
[00043] На шаге 110 вычислительная система, реализующая способ, может получать текст на естественном языке. В иллюстративном примере вычислительное устройство может получить текст на естественном языке в виде электронного документа, который может быть получен путем сканирования или за счет применения иного способа изображения с бумажного документа с последующим выполнением оптического распознавания символов (OCR) для получения текста документа. В другом иллюстративном примере вычислительная система может получить текст на естественном языке в виде одного или более форматированных файлов, например, файлов текстового редактора, сообщений электронной почты, файлов цифровых данных и т.д.[00043] At step 110, the computing system implementing the method may receive the text in natural language. In an illustrative example, a computing device may receive text in natural language in the form of an electronic document, which can be obtained by scanning or by applying a different image method from a paper document and then performing optical character recognition (OCR) to obtain the text of the document. In another illustrative example, a computing system may receive text in natural language in the form of one or more formatted files, such as text editor files, e-mail messages, digital data files, etc.
[00044] На шаге 120 вычислительная система может применить к тексту на естественном языке первый метод извлечения информации. В определенных вариантах реализации первый метод извлечения информации может использовать изменяемые наборы правил, автоматические методы классификации (также называемые «классификаторами на основе машинного обучения»), эвристические подходы и (или) сочетание этих способов. При применении первого метода извлечения информации к тексту на естественном языке может создаваться множество информационных объектов одного или более типов информационных объектов.[00044] In step 120, a computing system may apply a first method of extracting information to natural language text. In certain embodiments, the first method of extracting information can use variable sets of rules, automatic classification methods (also called “machine learning-based classifiers”), heuristic approaches, and / or a combination of these methods. When applying the first method of extracting information to a natural language text, a variety of information objects of one or more types of information objects can be created.
[00045] В одном из иллюстрационных примеров первый метод извлечения информации может использовать изменяемое множество продукционных правил для интерпретации множества семантико-синтаксических структур, полученных в результате семантико-синтаксического анализа текста на естественном языке. Каждая семантическая структура может представлять предложение на соответствующем естественном языке. Каждая семантическая структура может быть представлена ациклическим графом, который включает множество узлов, соответствующих семантическим классам, и множество дуг, соответствующих семантическим отношениям, что описано более подробно ниже со ссылкой на Фиг. 15.[00045] In one of the illustrative examples, the first method of extracting information can use a variable set of production rules to interpret the set of semantic-syntactic structures resulting from the semantic-syntactic analysis of a natural language text. Each semantic structure can represent a sentence in the appropriate natural language. Each semantic structure can be represented by an acyclic graph, which includes a set of nodes corresponding to semantic classes, and a set of arcs corresponding to semantic relations, which is described in more detail below with reference to FIG. 15.
[00046] Продукционные правила, применяемые ко множеству семантических структур, могут содержать правила интерпретации и правила идентификации. Правило интерпретации может содержать левую часть, представленную множеством логических выражений, определенных на одном или более шаблонах семантической структуры, и правую часть, представленную одним или более утверждениями относительно информационных объектов, представляющих сущности, на которые имеется ссылка в тексте на естественном языке. Шаблон семантической структуры может включать определенные элементы семантической структуры {например, связь с определенным лексическим/семантическим классом, связь с определенной поверхностной или глубинной позицией в указанном месте семантической структуры, наличие отношений предок-потомок между определенными узлами семантической структуры и ряд уровней семантической иерархии между родительскими и дочерними классами в определенной онтологии, наличие общего предка для определенных узлов семантической структуры, наличие определенных граммем или семантем и т.д.). Отношения между элементами семантических структур могут задаваться с помощью одного или более логических выражений (конъюнкция, дизъюнкция и отрицание) и(или) операций, характеризующих взаимное расположение узлов в синтактико-семантическом дереве. В качестве иллюстративного примера такая операция может проверять, принадлежит ли узел к поддереву другого узла.[00046] Production rules that apply to a variety of semantic structures may contain interpretation rules and identification rules. An interpretation rule may contain a left part, represented by a set of logical expressions defined on one or more patterns of the semantic structure, and a right part, represented by one or more statements regarding information objects representing entities referenced in natural language text. A semantic structure pattern may include certain elements of a semantic structure {for example, a connection with a specific lexical / semantic class, a connection with a certain surface or deep position in a specified place of the semantic structure, the presence of ancestor-descendant relations between certain nodes of the semantic structure and a number of levels of the semantic hierarchy between the parent and daughter classes in a specific ontology, the presence of a common ancestor for certain nodes of the semantic structure, the presence of a certain ennyh grammemes or semantics, etc.). Relations between elements of semantic structures can be defined using one or more logical expressions (conjunction, disjunction and denial) and / or operations that characterize the mutual arrangement of nodes in the syntactic-semantic tree. As an illustrative example, such an operation can check whether a node belongs to a subtree of another node.
[00047] Правая часть продукционного правила может назначать и(или) изменять значения одного или более атрибутов информационных объектов, отображающих морфологические, лексические, синтаксические, семантические и(или) иные атрибуты фрагмента текста на естественном языке. В одном из иллюстративных примеров правая сторона правила интерпретации может содержать утверждение, связывающее фрагмент текста на естественном языке с классом информационных объектов.[00047] The right part of a production rule can 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 piece of text in natural language. In one of the illustrative examples, the right side of the rule of interpretation may contain a statement relating a piece of text in natural language to a class of information objects.
[00048] Правило идентификации может использоваться для установления ассоциативной связи для пары информационных объектов, которые представляют одну и ту же сущность реального мира. Правило идентификации - это продукционное правило, левая часть которого содержит одно или более логических выражений, указывающих на узлы семантического дерева, соответствующие информационным объектам. Если указанная пара информационных объектов удовлетворяет условиям, заданным логическими выражениями, то происходит слияние информационных объектов в один информационный объект.[00048] The identification rule can be used to establish associative relationships for a pair of information objects that represent the same essence of 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 are merged into one information object.
[00049] В иллюстративном примере метод извлечения информации может использовать один или более классификаторов машинного обучения. Каждый классификатор машинного обучения может определять степень связанности заданного фрагмента текста на естественном языке (например, представленного набором морфологических, лексических, синтаксических, семантических и(или) иных атрибутов) с определенным классом информационных объектов. Вычислительная система может итеративно обрабатывать множество фрагментов текста на естественном языке и определять для каждого текстового фрагмента степень его связи с одним или более классами информационных объектов. Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейросети и т.д.[00049] 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 piece of text in natural language (for example, represented by a set of morphological, lexical, syntactic, semantic, and (or) other attributes) with a certain class of information objects. A computing system can iteratively process many pieces of text in 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.
[00050] Классификаторы могут быть обучены с использованием ранее существовавших и(или) динамически созданных обучающих выборок данных, на основе которых выполняется корреляция классов информационных объектов с лексическими, синтаксическими, семантическими и(или) иными атрибутами текста на естественном языке. Обучающая выборка данных может включать один или более текстов на естественном языке в сопровождении метаданных, которые определяют некоторые информационные объекты, их классификацию, атрибуты и соответствующие текстовые аннотации. В иллюстративном примере метаданные могут быть представлены разметкой, связанной с текстом на естественном языке. В определенных вариантах реализации обучающая выборка данных может итеративно совершенствоваться за счет добавления новых текстов на естественном языке, сопровождаемых подтвержденными пользователем метаданными. Валидация метаданных может включать получение через графический интерфейс пользователя пользовательского ввода, подтверждающего или корректирующего извлеченные информационные объекты и их атрибуты.[00050] Classifiers can be trained using pre-existing and (or) dynamically created training data samples, on the basis of which the classes of information objects are correlated with lexical, syntactic, semantic and (or) other attributes of a natural-language text. A training sample of data can 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 can be represented by markup associated with text in natural language. In certain embodiments, the training data sample can be iteratively improved by adding new texts in natural language, accompanied by user-verified metadata. Validation of metadata may include receiving, through a graphical user interface, user input confirming or correcting the extracted information objects and their attributes.
[00051] Извлеченные информационные объекты могут быть представлены в виде RDF-графа. RDF (Resource Definition Framework - среда определения ресурса) присваивает каждому информационному объекту уникальный идентификатор и сохраняет информацию о таком объекте в виде наборов из трех элементов (триплетов) SPO, где S означает «субъект» и содержит идентификатор объекта, Р означает «предикат» и определяет некоторое свойство этого объекта, а О означает «объект» и хранит в себе значение рассматриваемого свойства данного объекта. Это значение может быть либо примитивным типом данных (примеры: строка, число, булево (логическое) значение), либо идентификатором другого объекта. В одном из иллюстративных примеров триплет SPO может ассоциировать фрагмент из текста на естественном языке с категорией информационных объектов.[00051] The extracted information objects can be represented as an RDF-graph. RDF (Resource Definition Framework - a resource definition environment) assigns each information object a unique identifier and stores information about such an object as sets of three elements (triplets) of an SPO, where S means "subject" and contains the object identifier, P means "predicate" and defines a property of this object, and O means “object” and stores the value of the property of the object in question. This value can be either a primitive data type (examples: a string, a number, a boolean (logical) value), or an identifier for another object. In one of the illustrative examples, the SPO triplet may associate a fragment from a natural language text with a category of information objects.
[00052] В определенных вариантах реализации методы извлечения информации могут быть основаны на онтологиях и(или) других моделях документов для анализа лексических, синтаксических, семантических и(или) иных атрибутов текста на естественном языке. Таким образом, операциям по извлечению информации, указанным на шаге 120, может предшествовать одна или более операций предварительной обработки документа, выполняемых для определения структуры документа и определения соответствующей модели документа. В одном иллюстративном примере структура документа может включать иерархическую многоуровневую структуру, в которой разделы документа разделяются заголовками и подзаголовками. В другом иллюстративном примере структура документа может включать одну или более таблиц, содержащих несколько строк и столбцов, по меньшей мере некоторые из которых могут быть связаны с заголовками, которые в свою очередь могут быть организованы в многоуровневую иерархию. В другом иллюстративном примере структура документа может включать структуру страницы, содержащую верхний колонтитул страницы, тело страницы и(или) нижний колонтитул страницы. В другом иллюстративном примере структура документа может включать определенные текстовые поля, связанные с заранее определенными типами информации, такими как поле подписи, поле даты, поле адреса, поле имени и т.д. Вычислительная система 100, в которой реализован этот способ, может интерпретировать структуру документа для получения определенной информации о структуре документа, которая может использоваться для расширения текстовой информации, содержащейся в этом документе. В некоторых реализациях изобретения при анализе структурированных документов вычислительная система может использовать различные вспомогательные онтологии, содержащие классы и концепты, отражающие специфическую структуру документа. Классы вспомогательной онтологии могут быть ассоциированы с определенными продукционными правилами и(или) функциями классификатора, которые могут быть применены к нескольким семантическим структурам, полученным при семантико-синтаксическом анализе соответствующего документа для внесения в результирующее множество семантических структур определенной информации, передаваемой структурой этого документа.[00052] In certain implementations, information extraction methods can be based on ontologies and / or other document models for analyzing lexical, syntactic, semantic, and / or other attributes of a natural language text. Thus, the information retrieval operations indicated at step 120 may be preceded by one or more document preprocessing operations performed to determine the structure of the document and determine the appropriate document model. In one illustrative example, the structure of the document may include a hierarchical multi-level structure in which sections of the document are separated by headings and subheadings. In another illustrative example, the 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, the document structure may include a page structure containing a page header, a page body, and / or a page footer. In another illustrative example, the document structure may include certain text fields associated with predetermined types of information, such as a signature field, date field, address field, name field, etc. The
[00053] На шаге 130 вычислительная система может применить к тексту на естественном языке второй метод извлечения информации, который отличается от первого метода извлечения информации. В определенных вариантах реализации второй метод извлечения информации может использовать изменяемые наборы правил, автоматические методы классификации (также называемые «классификаторами машинного обучения»), эвристические подходы и(или) сочетание этих способов, что описано более подробно ниже со ссылкой на шаг 120. При применении второго метода извлечения информации может быть создано второе множество информационных объектов, которое может отличаться от первого множества информационных объектов, созданного при применении первого метода извлечения информации.[00053] At step 130, a computing system may apply a second information extraction method to natural language text that is different from the first information extraction method. In certain embodiments, the second method of extracting information can use variable rule sets, automatic classification methods (also called “machine learning classifiers”), heuristic approaches, and / or a combination of these methods, which are described in more detail below with reference to step 120. When applying the second method of extracting information can be created the second set of information objects, which may differ from the first set of information objects created by applying the first Methods for information retrieval.
[00054] На Фиг. 1 показано только два множества информационных объектов, извлекаемых с применением двух различных методов извлечения информации, однако различные варианты реализации способа 100 могут предусматривать применение двух или более различных методы извлечения информация для извлечения двух или более множеств информационных объектов.[00054] FIG. 1 shows only two sets of information objects retrieved using two different methods of extracting information, however, various embodiments of
[00055] На шаге 140 вычислительная система может создавать промежуточный 250 перечень информационных объектов, который может включать по меньшей мере подмножество для каждого множества информационных объектов, извлеченных за счет применения различных методов извлечения информации на шагах 120-130. В иллюстративном примере вычислительная система может включать в промежуточный перечень информационные объекты, связанные с одним или более заранее определенными классами информационных объектов, с исключением информационных объектов, связанных с другими классами. В другом иллюстративном примере вычислительная система может исключать из промежуточного перечня информационные объекты одного или более заранее определенных классов информационных объектов. Как описано выше, промежуточный перечень может включать одно или более множеств потенциально конфликтующих информационных объектов, совместное существование которых нарушает одно или более заданных правил (например, перекрытие текстовых аннотаций или ограничения по кардинальности). Промежуточный перечень может быть представлен RDF-графом, созданным путем слияния RDF-графов, представляющих соответствующие множества извлеченных информационных объектов.[00055] At step 140, the computing system may create an intermediate 250 list of information objects, which may include at least a subset for each set of information objects retrieved by applying various methods for extracting information in steps 120-130. In an illustrative example, a computer system may include in the intermediate list information objects associated with one or more predetermined classes of information objects, with the exception of information objects associated with other classes. In another illustrative example, a computer system may exclude from the intermediate list information objects of one or more predetermined classes of information objects. As described above, the intermediate list may include one or more sets of potentially conflicting information objects, the coexistence of which violates one or more specified rules (for example, overlapping text annotations or cardinality constraints). An intermediate list can be represented by an RDF-graph created by merging RDF-graphs representing the corresponding sets of extracted information objects.
[00056] На шаге 150 вычислительная система может определить один или более множеств конфликтующих информационных объектов, при этом каждое множество включает два или более информационных объекта, по меньшей мере два из которых были извлечены различными методами извлечения информации. В иллюстративном примере множество конфликтующих информационных объектов может включать два информационных объекта, при этом первый информационный объект относится к первому множеству информационных объектов, извлеченных по первому методу извлечения информации, а второй информационный объект относится ко второму множеству информационных объектов, извлеченных по второму методу извлечения информации.[00056] At step 150, the computing system may determine one or more sets of conflicting information objects, each including two or more information objects, at least two of which have been extracted by various methods of extracting information. In an illustrative example, the set of conflicting information objects may include two information objects, with the first information object related to the first set of information objects extracted by the first information retrieval method, and the second information object related to the second set of information objects extracted by the second information extraction method.
[00057] В иллюстративном примере определение потенциально конфликтующих информационных объектов может включать определение извлеченных информационных объектов, имеющих как минимум частично пересекающиеся текстовые аннотации. Вычислительная система, реализующая этот способ, может итеративно обрабатывать промежуточный перечень извлеченных информационных объектов с целью выявления множеств информационных объектов (например, пары, триплеты, квадруплеты и т.д.) с пересекающимися текстовыми аннотациями. В определенных вариантах реализации вычислительная система может определять, что два или более извлеченных информационных объектов конфликтуют, если их соответствующие аннотации пересекаются по меньшей мере в пороговом количестве слов.[00057] In an illustrative example, the definition of potentially conflicting information objects may include the definition of the extracted information objects that have at least partially overlapping text annotations. The computing 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, the computing system may determine that two or more retrieved information objects conflict if their corresponding annotations intersect at least in a threshold word count.
[00058] В другом иллюстративном примере определение потенциально конфликтующих информационных объектов может включать определение различных ограничений, связанных с атрибутами информационных объектов. В определенных вариантах реализации вычислительная система, реализующая этот способ, может выполнять оценку логических условий, определенных для атрибутов информационных объектов (например, сравнение атрибута одного информационного объекта с атрибутом другого информационного объекта). В иллюстративном примере вычислительная система может выявлять нарушение ограничения по кардинальности за счет определения информационного объекта, имеющего ряд атрибутов определенного типа (например, человек может иметь только одну дату рождения и одно место рождения). Кардинальность и другие ограничения могут быть указаны в модели документа или онтологии, связанной с обрабатываемым документом.[00058] In another illustrative example, the definition of potentially conflicting information objects may include defining various constraints associated with the attributes of the information objects. In certain embodiments of the implementation of the computing system that implements this method, can perform an assessment of the logical conditions defined for the attributes of information objects (for example, comparing the attribute of one information object with the attribute of another information object). In an illustrative example, a computer system can detect a violation of a cardinality constraint 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 may be specified in the model of the document or ontology associated with the document being processed.
[00059] На шаге 160 вычислительная система может применить функцию «арбитража» конфликтующих объектов для каждого выявленного множества конфликтующих информационных объектов для разрешения конфликтов в промежуточном перечне информационных объектов, за счет чего создается окончательный перечень информационных объектов, извлеченных из текстов на естественном языке. Для каждого множества конфликтующих информационных объектов функция «арбитража» конфликтующих объектов может разрешать конфликт путем анализа морфологических, лексических, синтаксических, семантических и(или) иных атрибутов конфликтующих информационных объектов с целью создания результата, подтверждающего один или более потенциально конфликтующих объектов, изменяющего один или более потенциально конфликтующих объектов, удаляющего один или более потенциально конфликтующих объектов и(или) выполняющего слияние одного или более потенциально конфликтующих объектов. На основе результатов работы функции «арбитража» конфликтующих объектов вычислительная система может изменять RDF-граф, представляющий промежуточный перечень извлеченных информационных объектов, на основе чего создается окончательный RDF-граф.[00059] At step 160, the computing system can use the “arbitration” function 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 function of “arbitration” of conflicting objects can resolve the conflict by analyzing 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 that change one or more potentially conflicting objects, removing one or more potentially conflicting objects and / or merging one or more sweats potentially conflicting objects. Based on the results of the “arbitration” function of the conflicting objects, the computer system can change the RDF-graph, which represents an intermediate list of extracted information objects, on the basis of which a final RDF-graph is created.
[00060] На Фиг. 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С.[00060] FIG. 2 schematically shows an example of “arbitration” of conflicting objects, which can be performed in accordance with one or more embodiments of the present invention. As shown in FIG. 2, when applied to the text in natural language 210 of the first information extraction method 220A, the first set of information objects 230A is created, and when applied to the text in natural language 210 of the second information extraction method 220B, a 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 240V included in the second set of information objects 230V. When applying the “arbitrage” function of conflicting objects 250 to potentially conflicting information objects 260, one of the results of “arbitration” of conflicting objects 260 can be created. (for example, by changing the class of the information object and appropriately resolving an obvious conflict). The result of the “arbitration” of
[00061] В определенных вариантах реализации функция «арбитража» конфликтующих информационных объектов может применять одно или более настраиваемых продукционных правил оценки логических условий, определенных для морфологических, лексических, синтаксических, семантических и(или) иных атрибутов извлеченных информационных объектов. В иллюстративном примере реализации атрибуты извлеченных информационных объектов, оцениваемые продукционными правилами, могут включать степени уверенности, связанные с соответствующими информационными объектами. Степени уверенности могут создаваться методами извлечения информации, применяемыми на шагах 120-130.[00061] In certain implementations, the arbitration function of conflicting information objects may apply one or more custom 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 retrieved information objects, evaluated by the production rules, may include the degrees of confidence associated with the respective information objects. Degrees of confidence can be generated by the methods of extracting information used in steps 120-130.
[00062] Как вариант, функция «арбитража» конфликтующих объектов может включать один или более классификаторов машинного обучения. В иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может обеспечивать степень обоснованности одного или более возможных результатов «арбитража» (например, слияние возможных конфликтующих объектов в единый объект, подтверждение одного или более извлеченных объектов, изменение одного или более извлеченных объектов и(или) удаление одного или более извлеченных объектов). В другом иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может фиксировать сходство двух или более информационных объектов, представляющих один и тот же объект реальной жизни. Если вероятность превышает пороговое значение, функция «арбитража» конфликтующих объектов может выполнять слияние выявленных информационных объектов. В еще одном иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может создавать степени уверенности, связанные с каждым информационным объектом из множества конфликтующих информационных объектов. Функция «арбитража» конфликтующих объектов может удалять один или более информационных объектов с минимальной степенью уверенности и(или) степенью уверенности ниже заданного порога.[00062] Alternatively, the “arbitration” function of conflicting objects may include one or more machine learning classifiers. In an illustrative example, a classifier used by the “arbitration” function of conflicting objects can provide a degree of justification for 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 retrieved objects). In another illustrative example, the classifier used by the function of “arbitration” of conflicting objects can fix the similarity of two or more information objects representing the same real-life object. If the probability exceeds the threshold value, the function of “arbitration” of the conflicting objects can merge the identified information objects. In another illustrative example, the classifier used by the function of “arbitration” of conflicting objects can create degrees of confidence associated with each information object from a set of conflicting information objects. The “arbitration” function of conflicting objects can delete one or more information objects with a minimum degree of confidence and (or) a degree of confidence below a predetermined threshold.
[00063] Классификаторы, использующиеся функцией «арбитража» конфликтующих объектов, могут быть обучены на основе существовавших ранее или динамически созданных обучающих выборок данных, на основе которых результаты «арбитража» могут быть соотнесены с морфологическими, лексическими, синтаксическими, семантическими и(или) другими атрибутами извлеченных информационных объектов. В определенных вариантах реализации атрибуты извлеченных информационных объектов, оцениваемые классификаторами на основе машинного обучения, могут включать степени уверенности, связанные с соответствующими информационными объектами. Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейросети и т.д.[00063] 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 “arbitration” can be correlated with morphological, lexical, syntactic, semantic and (or) other attributes of the extracted information objects. In certain embodiments, attributes of the retrieved information objects assessed by machine learning based classifiers may include the degrees of confidence associated with the respective information objects. Classification methods may include differential evolution methods, genetic algorithms, random forest methods, neural networks, etc.
[00064] Классификатор может быть обучен с использованием ранее существовавших и(или) динамически созданных обучающих выборок данных, на основе которых выполняется корреляция возможных результатов «арбитража» с лексическими, синтаксическими, семантическими и(или) иными атрибутами текста на естественном языке. Обучающая выборка данных может включать один или более текстов на естественном языке в сопровождении метаданных, которые определяют множества конфликтующих информационных объектов, их классификацию, атрибуты и соответствующие результаты «арбитража» конфликтующих объектов. В иллюстративном примере метаданные могут быть представлены разметкой, связанной с текстом на естественном языке. В определенных вариантах реализации обучающая выборка данных может итеративно совершенствоваться за счет добавления новых текстов на естественном языке, сопровождаемых подтвержденными пользователем метаданными. Валидация метаданных может включать получение через графический интерфейс пользователя пользовательского ввода, подтверждающего или корректирующего извлеченные информационные объекты и их атрибуты. В некоторых реализациях верифицированные пользователем тексты и сопровождающие их метаданные, специфицирующие извлеченные информационные объекты, их атрибуты и текстовые аннотации, могут быть использованы для формирования и обновления обучающих выборок, применяемых для обучения классификаторов как подробно описано ниже.[00064] The classifier can be trained using pre-existing and (or) dynamically created training data samples, on the basis of which the possible results of “arbitration” are correlated with lexical, syntactic, semantic and (or) other attributes of natural-text text. A training sample of data can include one or more natural language texts accompanied by metadata that define the sets of conflicting information objects, their classification, attributes, and the corresponding results of “arbitration” of the conflicting objects. In an illustrative example, metadata can be represented by markup associated with text in natural language. In certain embodiments, the training data sample can be iteratively improved by adding new texts in natural language, accompanied by user-verified metadata. Validation of metadata may include receiving, through a graphical user interface, user input confirming or correcting the extracted information objects and their attributes. In some implementations, user-verified texts and 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.
[00065] Со ссылкой на Фиг. 1, на шаге 170 вычислительная система может использовать окончательный перечень информационных объектов для выполнения задач или операций обработки естественного языка, включая машинный перевод, семантическое индексирование, семантический поиск (в том числе семантический поиск на нескольких языках), классификацию документов, поиск и представление электронных документов (е-discovery) и т.д. В некоторых реализациях компьютерная система может отображать извлеченные информационные объекты с визуальными ссылками к фрагментам текста на естественном языке и учитывать действия пользователя, подтверждающие или изменяющие текстовые аннотации и/или результат классификации объекта.[00065] With reference to FIG. 1, at 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 multiple languages), document classification, search and presentation of electronic documents (e-discovery), etc. In some implementations, the computer system can display the extracted information objects with visual references 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 an object.
[00066] В некоторых вариантах осуществления определение классификатора, используемого для извлечения информации, может содержать один или более параметров, значения которых могут регулироваться с помощью методов машинного обучения, и может также включать один или более гиперпараметров, значения которых могут определяться некоторыми внешними по отношению к методам машинного обучения операциями или процессами. Другими словами, значения гиперпараметров классификатора определяются до применения методов машинного обучения для тонкой настройки параметров классификатора.[00066] In some embodiments, the definition of a classifier used to extract information may contain one or more parameters, the values of which may be adjusted using machine learning methods, and may also include one or more hyperparameters, the values of which may be determined by some external to methods of machine learning by operations or processes. In other words, the values of the hyper-parameters of the classifier are determined before applying the methods of machine learning to fine-tune the parameters of the classifier.
[00067] В одном из иллюстративных примеров гиперпараметр классификатора извлечения информации может быть представлен параметром регуляризации классификатора градиентного бустинга. В другом иллюстративном примере гиперпараметр классификатора извлечения информации может быть представлен параметром β F-меры, полученным путем оценки информационного объекта, выдаваемого классификатором, который определяется следующим образом:[00067] In one of the illustrative examples, 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 β F-measure, obtained by evaluating an information object issued by the classifier, which is defined as follows:
[00068] Fβ=(1+β2) * (Точность * Полнота) / ((β2 * Точность) + Полнота),[00068] F β = (1 + β 2 ) * (Accuracy * Completeness) / ((β 2 * Accuracy) + Completeness),
где Точность = 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 true positive results (correctly classified information objects retrieved), f p is the number of false positive results (an information object that does not belong to a certain 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).
[00069] В некоторых вариантах реализации значения одного или более гиперпараметров классификатора извлечения информации может итеративно регулироваться путем итеративного выполнения операций обучения классификатора извлечения информации, обучения классификатора «арбитража» конфликтов, выполнения функции «арбитража» конфликтов и модификации значений гиперпараметров на основе результата применения функции «арбитража» конфликтов, таким образом производится итеративная оптимизация показателя качества для оценки итогового списка извлеченных информационных объектов, как более подробно будет описано ниже в этом документе со ссылкой на Фиг. 3.[00069] In some embodiments, the values of one or more hyperparameters of the information extraction classifier can be adjusted iteratively by iteratively performing learning operations of the information extraction classifier, training the conflict arbitration classifier, performing the conflict arbitration function, and modifying the hyperparameter values based on the result of applying the “ arbitration ”of conflicts, thus, an iterative optimization of the quality indicator is made to evaluate the final list of information objects, as will be described in more detail later in this document with reference to FIG. 3
[00070] На Фиг. 3 приведена блок-схема одного примера способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке в соответствии с одним или более вариантами реализации настоящего изобретения. Способ 300 и(или) каждая из его отдельных функций, программ, подпрограмм или операций могут выполняться одним или более процессорами вычислительной системы {например, вычислительной системы 1000 на Фиг. 16), реализующими этот способ. В некоторых вариантах реализации способ 300 может выполняться в одном потоке обработки. При альтернативном подходе способ 300 может быть реализован двумя или более потоками обработки, при этом в каждом потоке реализована одна или несколько отдельных функций, процедур, подпрограмм или операций этого способа. В иллюстративном примере потоки обработки, в которых реализован способ 300, могут быть синхронизированы {например, с использованием семафоров, критических секций и(или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, реализующие способ 300, могут выполняться асинхронно по отношению друг к другу.[00070] FIG. 3 is a block diagram 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
[00071] На шаге 310 вычислительная система реализует способ, позволяющий обучать классификатор извлечения информации извлечению множества информационных объектов из текста на естественном языке. В некоторых вариантах реализации определение классификатора может включать один или более параметров, значения которых регулируются при операции обучения классификатора и могут дополнительно включать один или более гиперпараметров, значения которых могут определяться некоторой внешней по отношению к машинному обучению операцией или процессом. В одном из иллюстративных примеров гиперпараметр классификатора извлечения информации может быть представлен параметром регуляризации классификатора градиентного бустинга. В другом иллюстративном примере гиперпараметр классификатора извлечения информации может быть представлен параметром β F-меры, полученным путем оценки информационного объекта, выдаваемого классификатором.[00071] At step 310, the computing system implements a method that allows the classifier to retrieve information to be trained in extracting a set of information objects from natural language text. In some embodiments, the classifier definition may include one or more parameters, the values of which are adjusted during the classifier training operation and may additionally include one or more hyperparameters, the values of which may be determined by some operation or process external to the machine learning. In one of the illustrative examples, 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 β F-measure, obtained by evaluating an information object issued by the classifier.
[00072] В одном из иллюстративных примеров аннотированный корпус текстов, используемый для обучения классификатора извлечения информации, может быть разделен на обучающую выборку данных и набор проверочных данных. Обучающая выборка данных затем может быть использована для определения значений параметров классификатора, а набор проверочных данных может использоваться для вычисления показателя качества извлечения информации (то есть, быть представлен параметризованной F-мерой). В одном из иллюстративных примеров процесс обучения может включать настройку одного или более параметров классификатора извлечения информации до тех пор, пока выбранный показатель качества, применяемый к извлеченным информационным объектам, не будет соответствовать установленному заранее пороговому значению.[00072] In one of the illustrative examples, the annotated corpus of texts used to train the information extraction classifier can be divided into a training data sample and a set of verification data. The training data sample can then be used to determine the values of the parameters of the classifier, and the set of verification data can be used to calculate an indicator for the quality of information extraction (that is, to be represented by a parameterized F-measure). In one of the illustrative examples, the learning process may include setting one or more parameters of the information extraction classifier until the selected quality indicator applied to the retrieved information objects corresponds to a predetermined threshold value.
[00073] Разделение корпуса текстов может включать перекрестную проверку обучающей выборки данных и набора проверочных данных. Для сокращения непостоянства результата может выполняться несколько итераций перекрестной проверки с применением различных разделений, а результаты проверки модели могут быть агрегированы (например, усреднены) по итерациям. В иллюстративном примере к корпусу текстов на естественном языке может применяться способ k-кратной перекрестной проверки. Способ может включать случайное разделение исходного корпуса текстов на k наборов данных одинакового размера, один из которых затем используется в качестве набора проверочных данных, а оставшиеся k-1 дополнительных наборов затем используются как обучающие выборки данных. Затем процесс перекрестной проверки может быть повторен k раз таким образом, чтобы каждый из k наборов данных использовался один раз в качестве проверочных данных. После этого k результатов могут быть агрегированы для создания единого расчета.[00073] The separation of the corpus of texts may include cross-checking of the training sample of data and the set of verification data. To reduce the variability of the result, several iterations of cross-validation can be performed using different divisions, and the model verification results can be aggregated (for example, averaged) by iterations. In an illustrative example to the body of texts in a natural language, the method of k-fold cross-checking can be applied. The method may include randomly splitting the original body of text 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 the verification data. After that, k results can be aggregated to create a single calculation.
[00074] На шаге 320 вычислительная система может использовать классификатор извлечения информации к набору проверочных данных, получая таким образом первое множество информационных объектов.[00074] At step 320, the computing system may use a classifier for extracting information to a set of verification data, thereby obtaining a first set of information objects.
[00075] На шаге 330 вычислительная система может применять к тому же набору проверочных данных второй метод извлечения информации, который отличается от упомянутого ранее классификатора извлечения информации, таким образом получая второе множество информационных объектов. В одном из иллюстративных примеров второй метод извлечения информации может использовать набор настраиваемых продукционных правил для интерпретации набора семантико-синтаксических структур, полученных путем семантико-синтаксического анализа текста на естественном языке, как более подробно описано ниже в этом документе. В другом иллюстративном примере второй метод извлечения информации может использовать один или более классификаторов машинного обучения, которые отличаются от указанного выше классификатора извлечения информации, который использовался для извлечения первого множества информационных объектов.[00075] At step 330, the computing system may apply to the same set of verification data a second method of extracting information that is different from the previously mentioned information extraction classifier, thereby obtaining a second set of information objects. In one of the illustrative examples, the second method of extracting information can use a set of custom production rules to interpret a set of semantic-syntactic structures obtained by semantic-syntactic analysis of natural language text, 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 differ from the above information extraction classifier that was used to extract the first set of information objects.
[00076] На шаге 340 вычислительная система может определить один или более множеств конфликтующих информационных объектов, при этом каждое множество включает два или более информационных объекта, по меньшей мере два из которых были извлечены различными методами извлечения информации. В иллюстративном примере множество конфликтующих информационных объектов может включать два информационных объекта, при этом первый информационный объект относится к первому множеству информационных объектов, извлеченных с помощью классификатора извлечения информации, а второй информационный объект относится ко второму множеству информационных объектов, извлеченных по другому методу извлечения информации, как более подробно было рассмотрено выше.[00076] At step 340, the computing system may determine one or more sets of conflicting information objects, each including two or more information objects, at least two of which have been extracted by various methods of extracting information. In an illustrative example, the set of conflicting information objects may include two information objects, with the first information object related to the first set of information objects extracted using the information extraction classifier, and the second information object related to the second set of information objects extracted using a different information retrieval method as discussed in more detail above.
[00077] На шаге 350 вычислительная система может применить функцию арбитража конфликтов к каждому обнаруженному множеству конфликтующих информационных объектов, чтобы разрешить конфликты, таким образом, создается окончательный список информационных объектов, извлеченных из текстов на естественном языке, как описано более подробно выше.[00077] At step 350, a computing system may apply a conflict arbitration function to each detected set of conflicting information objects to resolve conflicts, thus creating a final list of information objects extracted from natural language texts, as described in more detail above.
[00078] В иллюстративном примере функция «арбитража» конфликтующих объектов, может быть реализована классификатором на основе машинного обучения, обученным производить степень "обоснованности" одного или более возможных результатов «арбитража» (например, слияние возможных конфликтующих объектов в единый объект, подтверждение одного или более извлеченных объектов, изменение одного или более извлеченных объектов и(или) удаление одного или более извлеченных объектов). В другом иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может обеспечивать сходство двух или более информационных объектов, представляющих один и тот же объект реальной жизни. Если вероятность превышает пороговое значение, функция «арбитража» конфликтующих объектов может выполнять слияние выявленных информационных объектов. В другом иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может создавать степени уверенности, связанные с каждым информационным объектом из множества конфликтующих информационных объектов. Функция «арбитража» конфликтующих объектов может удалять один или более информационных объектов с минимальной степенью уверенности и(или) степенью уверенности ниже заданного порога.[00078] In an illustrative example, the function of “arbitration” of conflicting objects can be implemented by a classifier based on machine learning, trained to produce a degree of “reasonableness” 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, a classifier used by the “arbitration” function of conflicting objects can provide the similarity of two or more information objects representing the same real-life object. If the probability exceeds the threshold value, the function of “arbitration” of the conflicting objects can merge the identified information objects. In another illustrative example, a classifier used by the “arbitration” function of conflicting objects can create degrees of confidence associated with each information object from a set of conflicting information objects. The “arbitration” function of conflicting objects can delete one or more information objects with a minimum degree of confidence and (or) a degree of confidence below a predetermined threshold.
[00079] Альтернативно, функция арбитража конфликтов может быть реализована одним или несколькими настраиваемыми правилами, оценивающими логические условия, определенные на морфологических, лексических, синтаксических, семантических и/или других атрибутах извлеченных информационных объектов, как описано более подробно здесь.[00079] Alternatively, a conflict arbitration function can be implemented by one or more custom rules that evaluate logical conditions defined on morphological, lexical, syntactic, semantic, and / or other attributes of the extracted information objects, as described in more detail here.
[00080] На шаге 360 вычислительная система может оценивать заранее определенный показатель качества, применяемый к итоговому набору извлеченных информационных объектов. В одном из иллюстративных примеров показатель качества обеспечивается при помощи F-меры.[00080] At step 360, the computing system may evaluate a predetermined quality indicator applied to the final set of retrieved information objects. In one illustrative example, a quality score is provided by an F-measure.
[00081] В ответ на определение на шаге 370 того, что заранее определенные условия прекращения не выполнены, обработка продолжается на шаге 380 изменением одного или более гиперпараметров классификатора извлечения информации. В одном из иллюстративных примеров гиперпараметр может быть представлен параметром β F-меры, который используется для оценки качества извлечения информации. Таким образом, вычислительная система может модифицировать значение параметра β для повышения точности или полноты результатов, получаемых от классификатора извлечения информации. В некоторых вариантах осуществления вычислительная система может реализовывать поиск по сетке параметров, итеративно изменяя значения одного или более гиперпараметров на заранее определенные приращения так, чтобы параметры оставались внутри определенных диапазонов, таким образом оптимизируя показатель качества, применяемый для итогового набора извлеченных информационных объектов. После выполнения операций на шаге 380 способ может вернуться к шагу 310.[00081] In response to the determination at step 370 that the predefined termination conditions are not met, processing continues at
[00082] В ответ на определение на шаге 370 факта выполнения условий прекращения способ может выйти из цикла и продолжить работу на шаге 390. В одном из иллюстративных примеров условия прекращения могут определяться по максимальному количеству выполненных итераций. В ответ на определение факта выполнения указанного числа операций вычислительная система может на шаге 390 выявить среди значений, указанных выше, заранее определенных показателей качества, оцененных на шаге 370, которые создавались на всех выполненных итерациях, оптимальное (то есть минимальное или максимальное) значение показателя качества и соответствующим образом выявить значения гиперпараметров классификатора извлечения информации, который использовался в итерации, которая показала оптимальный показатель качества.[00082] In response to the determination at step 370 of the fulfillment of the termination conditions, the method can exit the cycle and continue working at step 390. In one of the illustrative examples, the termination conditions can be determined by the maximum number of iterations performed. In response to determining whether a specified number of operations have been completed, the computer system may, at step 390, identify among the values indicated above, predetermined quality indicators, evaluated at step 370, which were generated on all performed iterations, the optimal (i.e. minimum or maximum) quality indicator value and properly identify the values of the hyperparameters of the information extraction classifier that was used in the iteration, which showed the optimal quality indicator.
[00083] В другом иллюстративном примере условия прекращения, проверенные на шаге 370, могут определять пороговое значение, соответствующее показателю качества, который оценивался на шаге 370. В ответ на определение факта соответствия показателя качества указанному пороговому значению вычислительная система может на шаге 390 выявить значения гиперпараметров классификатора извлечения информации, который был использован в последней выполненной итерации, которая дала значение показателя качества, соответствующее условиям прекращения выполнения. В ответ на определение значений гиперпараметров классификатора извлечения информации способ может прекратить работу. Обученный классификатор извлечения информации может быть затем использован в способе 100 извлечения информации.[00083] In another illustrative example, the termination conditions, tested at step 370, can determine a threshold value corresponding to the quality indicator, which was evaluated at step 370. In response to determining whether the quality indicator matches the specified threshold value, the computing system can detect hyper parameters at step 390 information extraction classifier, which was used in the last iteration, which gave the value of the quality indicator that meets the conditions for termination 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 may then be used in the
[00084] Как отмечено выше, в некоторых реализациях функция арбитража конфликтов может выполняться посредством классификатора на основе машинного обучения. Определение такого классификатора может включать в себя один или несколько параметров, значения которых могут настраиваться с помощью методов машинного обучения и могут дополнительно включать в себя один или несколько гиперпараметров, значения которых могут быть определены некоторыми внешними по отношению к машинному обучению, операциями или процессом. Другими словами, значения гиперпараметров классификатора определяются до применения методов машинного обучения для точной настройки параметров классификатора.[00084] As noted above, in some implementations, the function of arbitrating conflicts can be performed by a classifier based on machine learning. 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 may be determined by some external to the machine learning, operations or process. In other words, the classifier hyperparameter values are determined before applying machine learning methods to fine tune the classifier parameters.
[00085] В иллюстративном примере гиперпараметр классификатора арбитража конфликтов может быть представлен параметром регуляризации классификатора градиентного бустинга. В другом иллюстративном примере гиперпараметр классификатора арбитража конфликтов может быть представлен параметром β показателя F-меры путем оценки информационных объектов, полученных классификатором.[00085] In an illustrative example, the conflict arbitration classifier hyperparameter can be represented by the regularization parameter of the gradient boosting classifier. In another illustrative example, the hyper-parameter of the conflict arbitration classifier can be represented by the parameter β of the F-measure indicator by evaluating information objects received by the classifier.
[00086] В некоторых реализациях значения одного или нескольких гиперпараметров классификатора арбитража конфликтов могут итеративно корректироваться путем итеративного выполнения операций извлечения первого множества информационных объектов, извлечения второго множества информационных объектов, изменения значений гипер-параметров на основе оценки качества извлечения информации, и обучение классификатора арбитража конфликтов, таким образом итеративно оптимизируя метрику качества, оценивая окончательный список извлеченных информационных объектов. В некоторых реализациях компьютерная система может реализовать поиск лучших параметров по сетке (grid search) путем итеративного изменения значений одного или нескольких гиперпараметров с помощью заранее определенных приращений, в то время как параметры остаются в определенных диапазонах, таким образом оптимизируя метрику качества, применяемую к окончательному набору извлеченных информационных объектов, как более подробно описано ниже со ссылкой на Фиг. 4.[00086] In some implementations, the values of one or more hyperparameters of the conflict arbitration classifier can be iteratively corrected by iteratively performing operations of extracting the first set of information objects, extracting the second set of information objects, changing the values of hyper-parameters based on evaluating the quality of information extraction, and training the classifier of conflict arbitration thus iteratively optimizing the quality metric, evaluating the final list of extracted information objects. In some implementations, the computer system can implement the search for the best parameters on the grid (grid search) by iteratively changing the values of one or several hyperparameters using predetermined increments, while the parameters remain in certain ranges, thus optimizing the quality metric applied to the final set retrieved information objects, as described in more detail below with reference to FIG. four.
[00087] На Фиг. 4 показана блок-схема другого примера способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке, в соответствии с одним или несколькими аспектами настоящего раскрытия. Способ 400 и/или каждая из его отдельных функций, подпрограмм, подпрограмм или операций может выполняться одним или несколькими процессорами компьютерной системы (например, компьютерной системой 1000 на Фиг. 16), реализующей этот метод. В некоторых реализациях способ 400 может выполняться одним потоком обработки. Альтернативно, способ 400 может выполняться двумя или более потоками обработки, причем каждый поток реализует одну или несколько отдельных функций, подпрограмм, подпрограмм или операций этого метода. В иллюстративном примере способ реализации 400 потоков обработки может быть синхронизирован (например, с использованием семафоров, критических секций и/или других механизмов синхронизации потоков). Альтернативно, способ 400 реализации потоков обработки может выполняться асинхронно относительно друг друга.[00087] FIG. 4 shows 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. The
[00088] На этапе 410 компьютерная система, реализующая способ, может применять к тексту на естественном языке первый метод извлечения информации. В некоторых реализациях первый метод извлечения информации может использовать настраиваемые наборы правил, автоматические методы классификации (также известные как «классификаторы на основе машинного обучения»), эвристические подходы и/или их комбинации. Применение первого метода извлечения информации к тексту на естественном языке может создавать первое множество информационных объектов одного или нескольких типов информационных объектов.[00088] At
[00089] На этапе 420 компьютерная система может применять к тексту на естественном языке второй метод извлечения информации, которая отличается от первого метода извлечения информации. В некоторых реализациях второй метод извлечения информации может использовать настраиваемые наборы правил, автоматические методы классификации (также известные как «классификаторы на основе машинного обучения»), эвристические подходы и/или их комбинации. Применение второго метода извлечения информации к тексту на естественном языке может создавать второе множество информационных объектов, которое может отличаться от первого множества информационных объектов, созданных с помощью первого метода извлечения информации.[00089] At block 420, a computer system may apply a second method of extracting information to the natural language text that is different from the first method of extracting information. In some implementations, the second method of extracting information can use custom rulesets, automatic classification methods (also known as “machine learning-based classifiers”), heuristic approaches, and / or combinations thereof. The application of the second method of extracting information to the text in natural language may create a second set of information objects, which may differ from the first set of information objects created using the first method of information extraction.
[00090] На этапе 430 компьютерная система может изменять значения одного или нескольких гиперпараметров классификатора арбитража конфликтов. В иллюстративном примере гиперпараметр может быть представлен параметром регуляризации метода градиентного бустинга. В другом иллюстративном примере гиперпараметр может быть представлен параметром β метрики F-меры путем оценки информационных объектов, полученных классификатором. В некоторых реализациях компьютерная система может реализовать поиск лучших параметров по сетке (grid search) путем итеративного изменения значений одного или нескольких гиперпараметров с помощью заранее определенных приращений, в то время как параметры остаются в определенных диапазонах, таким образом оптимизируя метрику качества, применяемую к окончательному набору извлеченных информационных объектов.[00090] At step 430, the computer system may change the values of one or more hyperparameters of the conflict arbitration classifier. In an illustrative example, the hyperparameter can be represented by the regularization parameter of the gradient boosting method. In another illustrative example, the hyperparameter can be represented by the parameter β of the F-measure metric by evaluating the information objects received by the classifier. In some implementations, the computer system can implement the search for the best parameters on the grid (grid search) by iteratively changing the values of one or several hyperparameters using predetermined increments, while the parameters remain in certain ranges, thus optimizing the quality metric applied to the final set extracted information objects.
[00091] На этапе 440 компьютерная система может обучать классификатор арбитража конфликтов для выполнения функции арбитража конфликтов в отношении набора конфликтующих информационных объектов, чтобы составить окончательный список извлеченных информационных объектов. В иллюстративном примере набор конфликтующих информационных объектов может содержать два информационных объекта, так что первый информационный объект принадлежит первому множеству информационных объектов, который был извлечен классификатором извлечения информации, тогда как второй информационный объект принадлежит второму множеству информационных объектов, которые были извлечены с помощью второго метода извлечения информации, как описано более подробно выше.[00091] At step 440, the computer system may train a conflict arbitration classifier to perform a conflict arbitration function on a set of conflicting information objects in order to compile a final list of the 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.
[00092] В иллюстративном примере классификатор, используемый функцией арбитража конфликтов, может выдать степень обоснованности одного или нескольких возможных результатов арбитража (например, объединение двух или более потенциально конфликтующих объектов в один объект, подтверждение одного или нескольких извлеченных объектов, изменение одного или нескольких извлеченных объектов и/или удаление одного или нескольких извлеченных объектов). В другом иллюстративном примере классификатор, используемый функцией арбитража конфликтов, может оценивать вероятность того, что два или более информационных объекта представляют один и тот же объект реальной жизни. Если вероятность превышает пороговое значение, функция арбитража конфликтов может объединять идентифицированные информационные объекты. В другом иллюстративном примере классификатор, используемый функцией арбитража конфликтов, может продуцировать степени достоверности, связанные с каждым информационным объектом из множества конфликтующих информационных объектов. Функция арбитража конфликтов может удалить один или несколько информационных объектов, имеющих наименьшие степени достоверности и/или степени достоверности, которые находятся ниже заранее определенного порога.[00092] In an illustrative example, a classifier used by the arbitration function of conflicts can give a degree of validity to one or several possible results of arbitration (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 deleting one or more extracted objects). In another illustrative example, the classifier used by the conflict arbitration function can estimate 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 confidence levels associated with each information object from a set of conflicting information objects. The conflict arbitration function can remove one or more information objects with the least confidence and / or confidence that are below a predetermined threshold.
[00093] В некоторых реализациях определение классификатора арбитража конфликтов может включать один или несколько параметров, значения которых настраиваются с помощью процедуры обучения классификатора и могут дополнительно включать один или несколько гиперпараметров, значения которых могут быть определенных некоторым внешним, по отношению к процессу машинного обучения, процессом или операцией.[00093] In some implementations, the definition of a conflict arbitration classifier may include one or more parameters, the values of which are configured using the classifier training procedure and may additionally include one or more hyperparameters, the values of which may be determined by some external process in relation to machine learning or operation.
[00094] Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейронные сети и т.д. В иллюстративном примере процесс обучения может включать настройку одного или нескольких параметров классификатора извлечения информации до тех пор, пока не будет достигнут предопределенный порог выбранной метрики качества.[00094] 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 one or more parameters of the information extraction classifier until a predetermined threshold of the selected quality metric is reached.
[00095] Классификаторы, используемые в функции арбитража конфликтов, могут быть обучены с использованием ранее существовавших и/или динамически созданных обучающих наборов данных, которые устанавливают соотношение результатов арбитража с морфологическими, лексическими, синтаксическими, семантическими и/или другими атрибутами извлеченных информационных объектов.[00095] Classifiers used in the function of arbitration of conflicts can be trained using pre-existing and / or dynamically created training data sets that establish the relationship of the results of arbitration with morphological, lexical, syntactic, semantic and / or other attributes of the extracted information objects.
[00096] Обучающий набор данных может содержать один или несколько текстов на естественном языке, сопровождаемых метаданными, которые задают множество конфликтующих информационных объектов, их классификацию, атрибуты и соответствующие результаты арбитража. В иллюстративном примере метаданные могут быть представлены разметкой, связанной с текстом на естественном языке. В некоторых реализациях обучающий набор данных может быть итеративно расширен путем добавления новых текстов на естественном языке, сопровождаемых проверенными пользователем метаданными. Валидация метаданных может включать в себя получение через графический интерфейс пользователя (GUI), пользовательского ввода, подтверждающего или корректирующего извлеченные информационные объекты и их атрибуты.[00096] A training dataset can contain one or more natural language texts, accompanied by metadata that define a set of conflicting information objects, their classification, attributes, and corresponding arbitration results. In an illustrative example, metadata can be represented by markup associated with text in natural language. In some implementations, the training data set can be iteratively expanded by adding new texts in natural language, followed by user-verified metadata. Validation of metadata may include, through a graphical user interface (GUI), user input confirming or correcting the retrieved information objects and their attributes.
[00097] В иллюстративном примере аннотированный текстовый корпус, используемый для обучения классификатора арбитража конфликтов, может быть разделен на обучающий набор данных и проверочный набор данных. Затем обучающий набор данных может быть использован для определения значений параметров классификатора, тогда как проверочный набор данных может использоваться для вычисления метрики качества извлечения информации (например, представленной параметризованной F-мерой). В иллюстративном примере процесс обучения может включать в себя корректировку одного или нескольких параметров классификатора арбитража конфликтов до тех пор, пока выбранная метрика качества, применяемая к окончательному списку извлеченных информационных объектов, не будет соответствовать заранее установленному порогу.[00097] In an illustrative example, an annotated text corpus used to train a conflict arbitration classifier can be divided into a training data set and a test data set. The training data set can then be used to determine the values of the parameters of the classifier, while the test data set can be used to calculate the information extraction quality metric (for example, by the presented parameterized F-measure). In an illustrative example, the learning process may include adjusting one or more parameters of the conflict arbitration classifier until the selected quality metric applied to the final list of retrieved information objects corresponds to a predetermined threshold.
[00098] На этапе 450 компьютерная система может применять функцию арбитража конфликта для каждого обнаруженного набора конфликтующих информационных объектов для разрешения конфликтов, создавая таким образом окончательный список информационных объектов, извлеченных из текстов на естественном языке, как описано более подробно выше.[00098] At step 450, the computer system may use the conflict arbitration function for each detected set of conflicting information objects to resolve conflicts, thus creating a final list of information objects extracted from natural language texts, as described in more detail above.
[00099] На этапе 460 компьютерная система может вычислять предопределенную метрику качества применительно к окончательному набору извлеченных информационных объектов. В иллюстративном примере метрика качества может быть представлена посредством F-меры.[00099] At step 460, the computer system may calculate a predetermined quality metric as applied to the final set of retrieved information objects. In an illustrative example, a quality metric can be represented by an F-measure.
[000100] В ответ на установление на этапе 470 того, что предопределенное условие завершения не выполнено, способ может возвращаться к блоку 410; в противном случае способ может выйти из цикла и продолжить обработку в блоке 480. В иллюстративном примере условие завершения может указывать максимальное количество итераций, которые должны быть выполнены. В ответ на выполнение указанного количества итераций компьютерная система может на этапе 470 идентифицировать среди значений вышеописанной предопределенной метрики качества, вычисленных на этапе 460, которые были получены при всех выполненных итерациях, оптимальное (например, максимальное или минимальное) значение метрики качества и, соответственно, может идентифицировать те значения гиперпараметров классификатора арбитража конфликтов, использованные в процессе итерации, которые дали оптимальную метрику качества.[000100] In response to the determination at step 470 that the predetermined termination condition is not fulfilled, the method may return to block 410; otherwise, the method may exit the loop and continue processing in block 480. In an illustrative example, the termination condition may indicate the maximum number of iterations to be performed. In response to performing the specified number of iterations, the computer system may, at step 470, identify among the values of the above predetermined quality metric, calculated at step 460, which were obtained with all the iterations performed, the optimal (for example, maximum or minimum) value of the quality metric and identify those values of the hyperparameters of the conflict arbitration classifier used in the iteration process, which gave the optimal quality metric.
[000101] В другом иллюстративном примере условие завершения, которое оценивается в блоке 470, может указывать пороговое значение, которое должно удовлетворяться метрикой качества, которая была вычислена на этапе 460. В ответ на определение того, что метрика качества соответствует указанному пороговому значению, компьютерная система может на этапе 490 идентифицировать значения гиперпараметров классификатора извлечения информации, которые использовались на последней выполненной итерации, что дало показатель качества, удовлетворяющий условию завершения. В ответ на выявление значений гиперпараметров классификатора арбитража конфликтов метод может завершиться. Затем обученный классификатор арбитража конфликтов может быть использован методом 100 для извлечения информации.[000101] In another illustrative example, the termination condition, which is evaluated at block 470, may indicate a threshold value that must be met by the quality metric that was calculated at step 460. In response to determining that the quality metric corresponds to the specified threshold value, the computer system may, at step 490, identify the values of the hyperparameters of the information extraction classifier that were used at the last iteration performed, which gave a quality indicator that satisfies the condition complete. In response to identifying the values of the hyperparameters of the conflict arbitration classifier, the method may end. A trained conflict arbitration classifier can then be used by
[000102] Как указано выше, продукционные правила, классификаторы и(или) иные методы извлечения информации и «арбитража» конфликтующих объектов могут выполнять анализ различных морфологических, лексических, синтаксических, семантических и(или) иных атрибутов текста на естественном языке. Такие атрибуты могут создаваться путем выполнения семантико-синтаксического анализа текста на естественном языке, что схематически показано на Фиг. 5.[000102] As stated above, production rules, classifiers and (or) other methods of extracting information and “arbitration” of conflicting objects can perform an analysis of various morphological, lexical, syntactic, semantic and (or) other attributes of natural text text. Such attributes can be created by performing semantic-syntactic analysis of text in natural language, which is shown schematically in FIG. five.
[000103] На Фиг. 5 приведена блок-схема одного иллюстративного примера реализации способа 200 для выполнения семантико-синтаксического анализа предложения на естественном языке 212 в соответствии с одним или несколькими аспектами настоящего изобретения. Способ 400 может быть применен к одной или более синтаксическим единицам (например, предложениям), включенным в определенный текстовый корпус, для формирования множества семантико-синтаксических деревьев, соответствующих синтаксическим единицам. В различных иллюстративных примерах подлежащие обработке способом 400 предложения на естественном языке могут извлекаться из одного или нескольких электронных документов, которые могут создаваться путем сканирования (или другим способом получения изображений бумажных документов) и оптического распознавания символов (OCR) для получения текстов, соответствующих этим документам. Предложения на естественном языке также могут извлекаться из других различных источников, включая сообщения, отправляемые по электронной почте, тексты из социальных сетей, файлы с цифровым содержимым, обработанные с использованием способов распознавания речи и т.д.[000103] FIG. 5 is a block diagram of one illustrative example implementation of method 200 for performing semantic-syntactic analysis of a
[000104] В блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для установления морфологических значений слов, входящих в состав предложения. В настоящем документе "морфологическое значение" слова означает одну или несколько лемм (т.е. канонических или словарных форм), соответствующих слову, и соответствующий набор значений грамматических признаков, которые определяют грамматическое значение слова. В число таких грамматических признаков могут входить лексическая категория (часть речи) слова и один или более морфологических и грамматических признаков (например, падеж, род, число, спряжение и т.д.). Ввиду омонимии и(или) совпадающих грамматических форм, соответствующих разным лексико-морфологическим значениям определенного слова, для данного слова может быть установлено два или более морфологических значений. Более подробное описание иллюстративного примера проведения лексико-морфологического анализа предложения более детально приведено ниже в настоящем документе со ссылкой на Фиг. 6.[000104] In
[000105] В блоке 215 вычислительное устройство может проводить грубый синтаксический анализ предложения 212. Грубый синтаксический анализ может включать применение одной или нескольких синтаксических моделей, которые могут быть соотнесены с элементами предложения 212, с последующим установлением поверхностных (т.е. синтаксических) связей в рамках предложения 212 для получения графа обобщенных составляющих. В настоящем документе "составляющая" означает группу соседних слов исходного предложения, функционирующую как одна грамматическая сущность. Составляющая включает в себя ядро в виде одного или более слов и может также включать одну или несколько дочерних составляющих на более низких уровнях. Дочерняя составляющая является зависимой составляющей, которая может быть соотнесена с одной или несколькими родительскими составляющими.[000105] In
[000106] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев предложения. Среди различных синтаксических деревьев на основе определенной функции оценки с учетом совместимости лексических значений слов исходного предложения, поверхностных отношений, глубинных отношений и т.д. может быть отобрано одно или несколько лучших синтаксических деревьев, соответствующих предложению 212.[000106] In
[000107] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может включать множество узлов, соответствующих семантическим классам и также может включать множество дуг, соответствующих семантическим отношениям (более подробное описание см. ниже в настоящем документе).[000107] In
[000108] Фиг. 6 схематически иллюстрирует пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения. Пример лексико-морфологической структуры 300 может включать множество пар "лексическое значение - грамматическое значение" для примера предложения. В качестве иллюстративного примера, "ll" может быть соотнесено с лексическим значением "shall" 512 и "will" 514. Грамматическим значением, соотнесенным с лексическим значением 512, является<Verb, GTVerbModal, ZeroType, Present, Nonnegative, Composite II>. Грамматическим значением, соотнесенным с лексическим значением 314, является<Verb, GTVerbModal, ZeroType, Present, Nonnegative, Irregular, Composite II>.[000108] FIG. 6 schematically illustrates an example of a lexico-morphological structure of a sentence in accordance with one or more aspects of the present invention. An example of a lexico-
[000109] Фиг. 7 схематически иллюстрирует используемые языковые описания 210, в том числе морфологические описания 201, лексические описания 203, синтаксические описания 202 и семантические описания 204, а также отношения между ними. Среди них морфологические описания 201, лексические описания 203 и синтаксические описания 202 зависят от языка. Набор языковых описаний 610 представляет собой модель определенного естественного языка.[000109] FIG. 7 schematically illustrates the used language descriptions 210, including
[000110] В качестве иллюстративного примера определенное лексическое значение в лексических описаниях 203 может быть соотнесено с одной или несколькими поверхностными моделями синтаксических описаний 202, соответствующих данному лексическому значению. Определенная поверхностная модель синтаксических описаний 202 может быть соотнесена с глубинной моделью семантических описаний 204.[000110] As an illustrative example, a certain lexical meaning in
[000111] На Фиг. 8 схематически иллюстрируются несколько примеров морфологических описаний. В число компонентов морфологических описаний 201 могут входить: описания словоизменения 710, грамматическая система 720, описания словообразования 730 и другие. Грамматическая система 720 включает набор грамматических категорий, таких как часть речи, падеж, род, число, лицо, возвратность, время, вид и их значения (так называемые "граммемы"), в том числе, например, прилагательное, существительное или глагол; именительный, винительный или родительный падеж; женский, мужской или средний род и т.д. Соответствующие граммемы могут использоваться для составления описания словоизменения 710 и описания словообразования 730.[000111] FIG. 8 schematically illustrates several examples of morphological descriptions. The components of
[000112] Описание словоизменения 710 определяет формы данного слова в зависимости от его грамматических категорий (например, падеж, род, число, время и т.д.) и в широком смысле включает в себя или описывает различные возможные формы слова. Описание словообразования 730 определяет, какие новые слова могут быть образованы от данного слова (например, сложные слова).[000112] The description of
[000113] В соответствии с одним из аспектов настоящего изобретения при установлении синтаксических отношений между элементами исходного предложения могут использоваться модели составляющих. Составляющая представляет собой группу соседних слов в предложении, ведущих себя как единое целое. Ядром составляющей является слово, она также может содержать дочерние составляющие более низких уровней. Дочерняя составляющая является зависимой составляющей и может быть прикреплена к другим составляющим (родительским) для построения синтаксических описаний 202 исходного предложения.[000113] In accordance with one aspect of the present invention, constituent models can be used in establishing syntactic relationships between elements of the original sentence. The constituent is a group of adjacent words in a sentence that behave as a whole. The core of the component is the word, it can also contain the child components of lower levels. A child component is a dependent component and can be attached to other components (parent) to build
[000114] На Фиг. 9 приведены примеры синтаксических описаний. В число компонентов синтаксических описаний 202 могут входить, среди прочего, поверхностные модели 910, описания поверхностных позиций 920, описание референциального и структурного контроля 956, описание управления и согласования 940, описание недревесного синтаксиса 950 и правила анализа 960. Синтаксические описания 202 могут использоваться для построения возможных синтаксических структур исходного предложения на заданном естественном языке с учетом свободного линейного порядка слов, недревесных синтаксических явлений (например, согласование, эллипсис и т.д.), референциальных отношений и других факторов.[000114] FIG. 9 shows examples of syntactic descriptions. The components of the
[000115] Поверхностные модели 910 могут быть представлены в виде совокупностей одной или нескольких синтаксических форм («синтформ» 912) для описания возможных синтаксических структур предложений, входящих в состав синтаксического описания 202. В целом, лексическое значение слова на естественном языке может быть связано с поверхностными (синтаксическими) моделями 910. Поверхностная модель может представлять собой составляющие, которые возможны, если лексическое значение выступает в роли "ядра". Поверхностная модель может включать набор поверхностных позиций дочерних элементов, описание линейного порядка и(или) диатезу. В настоящем документе "диатеза" означает определенное отношение между поверхностными и глубинными позициями и их семантическими ролями, выражаемыми посредством глубинных позиций. Например, диатеза может быть выражаться залогом глагола: если субъект является агентом действия, глагол в активном залоге, а когда субъект является направлением действия, это выражается пассивным залогом глагола.[000115]
[000116] В модели составляющих может использоваться множество поверхностных позиций 915 дочерних составляющих и описаний их линейного порядка 916 для описания грамматических значений 914 возможных заполнителей этих поверхностных позиций. Диатезы 917 представляют собой соответствия между поверхностными позициями 915 и глубинными позициями 514 (как показано на Фиг. 11). Коммуникативные описания 980 описывают коммуникативный порядок в предложении.[000116] In the constituent model, a plurality of surface positions of 915 child components and descriptions of their
[000117] Описание линейного порядка (916) может быть представлено в виде выражений линейного порядка, отражающих последовательность, в которой различные поверхностные позиции (915) могут встречаться в предложении. В число выражений линейного порядка могут входить наименования переменных, имена поверхностных позиций, круглые скобки, граммемы, оператор «or» (или) и т.д. В качестве иллюстративного примера описание линейного порядка простого предложения "Boys play football" можно представить в виде "Subject Core Object_Direct" (Подлежащее - Ядро - Прямое дополнение), где Subject (Подлежащее), Core (Ядро) и Object_Direct (Прямое дополнение) представляют собой имена поверхностных позиций 915, соответствующих порядку слов.[000117] The linear order description (916) can be represented as linear order expressions, reflecting the sequence in which different surface positions (915) can appear in a sentence. Linear order expressions may include variable names, surface position names, parentheses, grammemes, the or operator (or), etc. As an illustrative example, the linear order description of a simple sentence "Boys play football" can be represented as "Subject Core Object_Direct" (Subject - Core - Direct Supplement), where Subject (Subject), Core (Core) and Object_Direct (Direct Supplement) are the names of the surface positions 915, corresponding to the word order.
[000118] Коммуникативные описания 980 могут описывать порядок слов в синтформе 912 с точки зрения коммуникативных актов, представленных в виде коммуникативных выражений порядка, которые похожи на выражения линейного порядка. Описания управления и согласования 940 может включать правила и ограничения на грамматические значения присоединяемых составляющих, которые используются во время синтаксического анализа.[000118]
[000119] Описания не древесного синтаксиса 950 могут создаваться для отражения различных языковых явлений, таких как эллипсис и согласование, они используются при трансформациях синтаксических структур, которые создаются на различных этапах анализа в различных вариантах реализации изобретения. Описания недревесного синтаксиса 950 могут, среди прочего, включать описание эллипсиса 952, описания согласования 954, а также описания референциального и структурного контроля 930.[000119] The descriptions of
[000120] Правила анализа 960 могут описывать свойства конкретного языка и использоваться в рамках семантического анализа. Правила анализа 960 могут включать правила вычисления семантем 962 и правила нормализации 964. Правила нормализации 964 могут использоваться для описания трансформаций семантических структур, которые могут отличаться в разных языках.[000120] The analysis rules 960 may describe the properties of a particular language and be used as part of semantic analysis. Analysis rules 960 can include rules for calculating
[000121] На Фиг. 10 приведен пример семантических описаний. Компоненты семантических описаний 204 не зависят от языка и могут, среди прочего, включать семантическую иерархию 510, описания глубинных позиций 520, систему семантем 530 и прагматические описания 540.[000121] FIG. 10 shows an example of semantic descriptions. The components of
[000122] Ядро семантических описаний может быть представлено семантической иерархией 510, в которую могут входить семантические понятия (семантические сущности), также называемые семантическими классами. Последние могут быть упорядочены в иерархическую структуру, отражающую отношения "родитель-потомок".[000122] The core of semantic descriptions can be represented by the
В целом, дочерний семантический класс может унаследовать одно или более свойств своего прямого родителя и других семантических классов-предков. В качестве иллюстративного примера семантический класс SUBSTANCE (Вещество) является дочерним семантическим классом класса ENTITY (Сущность) и родительским семантическим классом для классов GAS, (Газ), LIQUID (Жидкость), METAL (Металл), WOOD MATERIAL (Древесина) и т.д.In general, a child semantic class may inherit one or more properties of its direct parent and other semantic ancestral classes. As an illustrative example, the semantic class SUBSTANCE (Substance) is a subsidiary semantic class of the ENTITY class (Entity) and the parent semantic class for the classes GAS, (Gas), LIQUID (Liquid), METAL (Metal), WOOD MATERIAL (Wood), etc. .
[000123] Каждый семантический класс в семантической иерархии 510 может сопровождаться глубинной моделью 512. Глубинная модель 512 семантического класса может включать множество глубинных позиций 514, которые могут отражать семантические роли дочерних составляющих в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей. Глубинная модель 512 также может включать возможные семантические классы, выступающие в роли заполнителей глубинных позиций. Глубинные позиции (514) могут выражать семантические отношения, в том числе, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "quantity" (количество) и т.д. Дочерний семантический класс может наследовать и уточнять глубинную модель своего непосредственного родительского семантического класса.[000123] Each semantic class in the
[000124] Описания глубинных позиций 520 отражают семантические роли дочерних составляющих в глубинных моделях 512 и могут использоваться для описания общих свойств глубинных позиций 514. Описания глубинных позиций 520 также могут содержать грамматические и семантические ограничения в отношении заполнителей глубинных позиций 514. Свойства и ограничения, связанные с глубинными позициями 514 и их возможными заполнителями в различных языках, могут быть в значительной степени подобными и зачастую идентичными. Таким образом, глубинные позиции 514 не зависят от языка.[000124] The descriptions of the
[000125] Система семантем 530 может представлять собой множество семантических категорий и семантем, которые представляют значения семантических категорий. В качестве иллюстративного примера семантическая категория "DegreeOflComparison" (Степень сравнения) может использоваться для описания степени сравнения прилагательных и включать следующие семантемы: "Positive" (Положительная), "ComparativeHigherDegree" (Сравнительная степень сравнения), "SuperlativeHighestDegree" (Превосходная степень сравнения) и другие. В качестве еще одного иллюстративного примера семантическая категория "RelationToReferencePoint" (Отношение к точке) может использоваться для описания порядка (пространственного или временного в широком смысле анализируемых слов), как, например, до или после точки или события, и включать семантемы "Previous" (Предыдущий) и "Subsequent" (Последующий). В качестве еще одного иллюстративного примера семантическая категория "EvaluationObjective" (Оценка) может использоваться для описания объективной оценки, как, например, "Bad" (Плохой), "Good" (Хороший) и т.д.[000125] The
[000126] Система семантем 530 может включать независимые от языка семантические атрибуты, которые могут выражать не только семантические характеристики, но и стилистические, прагматические и коммуникативные характеристики. Некоторые семантемы могут использоваться для выражения атомарного значения, которое находит регулярное грамматическое и(или) лексическое выражение в естественном языке. По своему целевому назначению и использованию системы семантем могут разделяться на категории, например, грамматические семантемы 532, лексические семантемы 534 и классифицирующие грамматические (дифференцирующие) семантемы 536.[000126] The
[000127] Грамматические семантемы 532 могут использоваться для описания грамматических свойств составляющих при преобразовании синтаксического дерева в семантическую структуру. Лексические семантемы 534 могут описывать конкретные свойства объектов (например, "being flat" (быть плоским) или "being liquid" (являться жидкостью)) и использоваться в описаниях глубинных позиций 520 как ограничение заполнителей глубинных позиций (например, для глаголов "face (with)" (облицовывать) и "flood" (заливать), соответственно). Классифицирующие грамматические (дифференцирующие) семантемы 536 могут выражать дифференциальные свойства объектов внутри одного семантического класса. В качестве иллюстративного примера в семантическом классе HAIRDRESSER (ПАРИКМАХЕР) семантема «RelatedToMen» (Относится к мужчинам) присваивается лексическому значению "barber" в отличие от других лексических значений, которые также относятся к этому классу, например, «hairdresser», «hairstylist» и т.д. Используя данные независимые от языка семантические свойства, которые могут быть выражены в виде элементов семантического описания, в том числе семантических классов, глубинных позиций и семантем, можно извлекать семантическую информацию в соответствии с одним или более аспектами настоящего изобретения.[000127] Grammar semanthemes 532 can be used to describe the grammatical properties of constituents when converting a syntactic tree to a semantic structure. The
[000128] Прагматические описания 540 позволяют назначать определенную тему, стиль или жанр текстам и объектам семантической иерархии 510 (например, «Экономическая политика», «Внешняя политика», «Юриспруденция», «Законодательство», «Торговля», «Финансы» и т.д.). Прагматические свойства также могут выражаться семантемами. В качестве иллюстративного примера прагматический контекст может приниматься во внимание при семантическом анализе.[000128]
[000129] На Фиг. 11 приведен пример лексических описаний. Лексические описания (203) представляют собой множество лексических значений 612 конкретного естественного языка. Для каждого лексического значения 612 имеется связь 602 с его независимым от языка семантическим родителем для того, чтобы указать положение какого-либо заданного лексического значения в семантической иерархии 510.[000129] FIG. 11 shows an example of lexical descriptions. Lexical descriptions (203) are a set of
[000130] Лексическое значение 612 в лексико-семантической иерархии 510 может быть соотнесено с поверхностной моделью 910, которая в свою очередь через одну или несколько диатез 917 может быть соотнесена с соответствующей глубинной моделью 512. Лексическое значение 612 может наследовать семантический класс своего родителя и уточнять свою глубинную модель 512.[000130] The
[000131] Поверхностная модель 910 лексического значения может включать одну или несколько синтаксических форм 912. Синтформа 912 поверхностной модели 910 может включать одну или несколько поверхностных позиций 915, в том числе соответствующие описания их линейного порядка 916, одно или несколько грамматических значений 914, выраженных в виде набора грамматических категорий (граммем), одно или несколько семантических ограничений, соотнесенных с заполнителями поверхностных позиций, и одну или несколько диатез 917. Семантические ограничения, соотнесенные с определенным заполнителем поверхностной позиции, могут быть представлены в виде одного или более семантических классов, объекты которых могут заполнить эту поверхностную позицию.[000131] The
[000132] На Фиг. 12 схематически иллюстрируются примеры структур данных, которые могут быть использованы в рамках одного или более методов настоящего изобретения. Снова ссылаясь на Фиг. 5, в блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для построения лексико-морфологической структуры 722 согласно Фиг. 12. Лексико-морфологическая структура 722 может включать множество соответствий лексического и грамматического значений для каждой лексической единицы (например, слова) исходного предложения. Фиг. 6 схематически иллюстрирует пример лексико-морфологической структуры.[000132] FIG. 12 schematically illustrates examples of data structures that may be used within one or more of the methods of the present invention. Referring again to FIG. 5, in
[000133] Снова возвращаясь к Фиг. 6, в блоке 215 вычислительное устройство может проводить грубый синтаксический анализ исходного предложения 212 для построения графа обобщенных составляющих 732 согласно Фиг. 12. Грубый синтаксический анализ предполагает применение одной или нескольких возможных синтаксических моделей возможных лексических значений к каждому элементу множества элементов лексико-морфологической структуры 722, с тем чтобы установить множество потенциальных синтаксических отношений в составе исходного предложения 212, представленных графом обобщенных составляющих 732.[000133] Returning again to FIG. 6, at
[000134] Граф обобщенных составляющих 732 может быть представлен ациклическим графом, включающим множество узлов, соответствующих обобщенным составляющим исходного предложения 212 и включающим множество дуг, соответствующих поверхностным (синтаксическим) позициям, которые могут выражать различные типы отношений между обобщенными лексическими значениями. В рамках данного способа может применяться множество потенциально применимых синтаксических моделей для каждого элемента множества элементов лексико-морфологических структур исходного предложения 212 для формирования набора составляющих исходного предложения 212. Затем в рамках способа может рассматриваться множество возможных составляющих исходного предложения 212 для построения графа обобщенных составляющих 732 на основе набора составляющих. Граф обобщенных составляющих 732 на уровне поверхностной модели может отражать множество потенциальных связей между словами исходного предложения 212. Поскольку количество возможных синтаксических структур может быть относительно большим, граф обобщенных составляющих 732 может, в общем случае, включать избыточную информацию, в том числе относительно большое число лексических значений по определенным узлам и(или) поверхностных позиций по определенным дугам графа.[000134] The graph of generalized components 732 can be represented by an acyclic graph including a set of nodes corresponding to the generalized components of the
[000135] Граф обобщенных составляющих 732 может изначально строиться в виде дерева, начиная с концевых узлов (листьев) и двигаясь далее к корню, путем добавления дочерних составляющих, заполняющих поверхностные позиции 915 множества родительских составляющих, с тем чтобы были охвачены все лексические единицы исходного предложения 212.[000135] The graph of generalized components 732 can initially be constructed in the form of a tree, starting from the leaf 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.
[000136] В некоторых вариантах осуществления корень графа обобщенных составляющих 732 представляет собой предикат. В ходе описанного выше процесса дерево может стать графом, так как определенные составляющие более низкого уровня могут быть включены в одну или несколько составляющих верхнего уровня. Множество составляющих, которые представляют определенные элементы лексико-морфологической структуры, затем может быть обобщено для получения обобщенных составляющих. Составляющие могут быть обобщены на основе их лексических значений или грамматических значений 914, например, на основе частей речи и отношений между ними. Фиг. 13 схематически иллюстрирует пример графа обобщенных составляющих.[000136] In some embodiments, the implementation of the root of the graph of generalized components 732 is a predicate. In the process described above, a tree can become a graph, since certain lower level components can be included in one or more top level components. The set of components that represent certain elements of the lexico-morphological structure can then be generalized to obtain generalized components. Constituents may be generalized based on their lexical meanings or
[000137] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев 742 согласно Фиг. 12 на основе графа обобщенных составляющих 732. Для каждого синтаксического дерева вычислительное устройство может определить интегральную оценку на основе априорных и вычисляемых оценок. Дерево с наилучшей оценкой может быть выбрано для построения наилучшей синтаксической структуры 746 исходного предложения 212.[000137] In
[000138] В ходе построения синтаксической структуры 746 на основе выбранного синтаксического дерева вычислительное устройство может установить одну или несколько недревесных связей (например, путем создания дополнительной связи среди, как минимум, двух узлов графа). Если этот процесс заканчивается неудачей, вычислительное устройство может выбрать синтаксическое дерево с условно оптимальной оценкой, наиболее близкой к оптимальной, и производится попытка установить одну или несколько недревесных связей в дереве. Наконец, в результате точного синтаксического анализа создается синтаксическая структура 746, которая представляет собой лучшую синтаксическую структуру, соответствующую исходному предложению 212. Фактически в результате отбора лучшей синтаксической структуры 746 определяются лучшие лексические значения 240 для элементов исходного предложения 212.[000138] In the course of building the syntactic structure 746 based on the selected syntax tree, the computing device can establish one or several non-wood links (for example, by creating an additional link among at least two graph nodes). If this process fails, the computing device may select a syntactic tree with a conditionally optimal estimate that is closest to optimal, and an attempt is made to establish one or more non-wood links in the tree. Finally, as a result of accurate parsing, a syntactic structure 746 is created, which is the best syntactic structure corresponding to the
[000139] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может отражать передаваемую исходным предложением семантику в независимых от языка терминах. Семантическая структура 218 может быть представлена в виде ациклического графа (например, дерево, возможно, дополненное одной или более недревесной связью (дугой графа). Слова исходного предложения представлены узлами с соответствующими независимыми от языка семантическими классами семантической иерархии 510. Дуги графа представляют глубинные (семантические) отношения между элементами предложения. Переход к семантической структуре 218 может осуществляться с помощью правил анализа 960 и предполагает соотнесение одного или более атрибутов (отражающих лексические, синтаксические и (или) семантические свойства слов исходного предложения 212) с каждым семантическим классом.[000139] In
[000140] На Фиг. 14 приводится пример синтаксической структуры предложения, сгенерированной из графа обобщенных составляющих, показанного на Фиг. 13. Узел 901 соответствует лексическому элементу "life" (жизнь) 906. Применяя способ описанного в настоящем документе синтактико-семантического анализа, вычислительное устройство может установить, что лексический элемент "life" (жизнь) 906 представляет одну из форм лексического значения, соотнесенного с семантическим классом "LIVE" (ЖИТЬ) 904 и заполняет поверхностную позицию $Adjunct_Locative 905) в родительской составляющей, представленной управляющим узлом Verb:succeed:succeed:TO_SUCCEED (907).[000140] FIG. 14 shows an example of the syntactic structure of the sentence generated from the graph of generalized components shown in FIG. 13.
[000141] На Фиг. 15 приводится семантическая структура, соответствующая синтаксической структуре на Фиг. 15. В отношении вышеупомянутого лексического элемента "life" (жизнь) (906) на Фиг. 13 семантическая структура включает лексический класс 1010 и семантический класс 1030, соответствующие представленным на Фиг. 15, однако вместо поверхностной позиции (905) семантическая структура включает глубинную позицию "Sphere" (сфера_деятельности) 1020.[000141] FIG. 15 shows the semantic structure corresponding to the syntactic structure in FIG. 15. With regard to the aforementioned lexical element "life" (906) in FIG. 13, the semantic structure includes a
[000142] Как отмечено выше в настоящем документе, в качестве «онтологии» может выступать модель, которая представляет собой объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Таким образом, онтология отличается от семантической иерархии, несмотря на то что она может быть соотнесена с элементами семантической иерархии через определенные отношения (также называемые «якоря»). Онтология может включать определения некого множества классов, где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также называться «концепт», а принадлежащий классу объект может означать экземпляр данного концепта.[000142] As noted earlier in this document, a “ontology” can be a model that represents objects related to a specific area of knowledge (subject area) and the relationship between these objects. Thus, 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 can include definitions of a certain set of classes, where each class corresponds to a domain concept. Each class definition may include definitions of one or more objects assigned to the class. According to generally accepted terminology, the ontology class can also be called a “concept”, and an object belonging to a class can mean an instance of a given concept.
[000143] В соответствии с одним или несколькими аспектами настоящего изобретения вычислительное устройство, в котором реализованы описанные в настоящем описании способы, может индексировать один или несколько параметров, полученных в результате семантико-синтаксического анализа. Таким образом, способы настоящего изобретения позволяют рассматривать не только множество слов в составе исходного текстового корпуса, но и множество лексических значений этих слов, сохраняя и индексируя всю синтаксическую и семантическую информацию, полученную в ходе синтаксического и семантического анализа каждого предложения исходного текстового корпуса. Такая информация может дополнительно включать данные, полученные в ходе промежуточных этапов анализа, а также результаты лексического выбора, в том числе результаты, полученные в ходе разрешения неоднозначностей, вызванных омонимией и(или) совпадающими грамматическими формами, соответствующими различным лексико-морфологическим значениям некоторых слов исходного языка.[000143] In accordance with one or more aspects of the present invention, a computing device in which the methods described in the present description are implemented may index one or more parameters resulting from semantic-syntactic analysis. Thus, the methods of the present invention allow to consider not only the set of words in the source text corpus, but also the set of lexical meanings of these words, preserving and indexing all the syntactic and semantic information obtained during the syntactic and semantic analysis of each sentence of the original text corpus. Such information may additionally include data obtained during the intermediate stages of analysis, as well as the results of lexical choice, including the results obtained during the resolution of ambiguities caused by homonymy and (or) concurrent grammatical forms corresponding to different lexical and morphological meanings of some words of the original language.
[000144] Для каждой семантической структуры можно создать один или несколько индексов. Индекс можно представить в виде структуры данных в памяти, например, в виде таблицы, состоящей из нескольких записей. Каждая запись может представлять собой установление соответствия между определенным элементом семантической структуры (например, одно слово или несколько слов, синтаксическое отношение, морфологическое, синтаксическое или семантическое свойство или синтаксическая или семантическая структура) и одним или несколькими идентификаторами (или адресами) случаев употребления данного элемента семантической структуры в исходном тексте.[000144] For each semantic structure, you can create one or more indexes. The index can be represented as a data structure in memory, for example, in the form of a table consisting of several records. Each entry can be a mapping between a certain element of a semantic structure (for example, one word or several words, a syntactic relationship, a morphological, syntactic or semantic property, or a syntactic or semantic structure) and one or more identifiers (or addresses) of cases when a given element is used semantic structures in the source text.
[000145] В некоторых вариантах осуществления индекс может включать одно или несколько значений морфологических, синтаксических, лексических и(или) семантических параметров. Эти значения могут создаваться в процессе двухэтапного семантического анализа (более подробное описание см. в настоящем документе). Индекс можно использовать для выполнения различных задач обработки естественного языка, в том числе для выполнения семантического поиска.[000145] 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 in a two-stage semantic analysis process (for a more detailed description, see this document). The index can be used to perform various natural language processing tasks, including for performing semantic search.
[000146] Вычислительное устройство, реализующее данный способ, может извлекать широкий спектр лексических, грамматических, синтаксических, прагматических и(или) семантических характеристик в ходе проведения синтактико-семантического анализа и создания семантических структур. В иллюстративном примере система может извлекать и сохранять определенную лексическую информацию, данные о принадлежности определенных лексических единиц семантическим классам, информацию о грамматических формах и линейном порядке, информацию об использовании определенных форм, аспектов, тональности {например, положительной или отрицательной), глубинных позиций, недревесных связей, семантем и т.д.[000146] A computing device that implements this method can extract a wide range of lexical, grammatical, syntactic, pragmatic and (or) semantic characteristics in the course of conducting syntactic-semantic analysis and creating semantic structures. In an illustrative example, the system can extract and save certain lexical information, data on the belonging of certain lexical units to 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-timber connections, semanthemes, etc.
[000147] Вычислительное устройство, в котором реализованы описанные здесь способы, может производить анализ, используя один или несколько описанных в этом документе способов анализа текста, и индексировать любой один или несколько параметров описаний языка, включая лексические значения, семантические классы, граммемы, семантемы и т.д. Индексацию семантического класса можно использовать в различных задачах обработки естественного языка, включая семантический поиск, классификацию, кластеризацию, фильтрацию текста и т.д.. Индексация лексических значений (вместо индексации слов) позволяет искать не только слова и формы слов, но и лексические значения, т.е. слова, имеющие определенные лексические значения. Вычислительное устройство, реализующее способы настоящего изобретения, также может хранить и индексировать синтаксические и семантические структуры, созданные одним или несколькими описанными в настоящем документе способами анализа текста, для использования данных структур и(или) индексов при проведении семантического поиска, классификации, кластеризации и фильтрации документов.[000147] A computing device that implements the methods described here can analyze using one or more text analysis methods described in this document and index any one or more parameters of language descriptions, including lexical meanings, semantic classes, grammes, semantemes, and etc. Indexing a semantic class can be used in various tasks of natural language processing, including semantic search, classification, clustering, text filtering, etc. Indexing lexical values (instead of indexing words) allows you to search not only words and forms of words, but also lexical values, those. words that have 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 text analysis methods described herein for using these structures and / or indices when conducting semantic search, classification, clustering and filtering documents .
[000148] На Фиг. 16 показан иллюстративный пример вычислительной системы 1000, которая может исполнять набор команд, которые вызывают выполнение вычислительной системой любого отдельно взятого или нескольких способов настоящего изобретения. Вычислительная система может быть соединена с другой вычислительной системой по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительная система может работать в качестве сервера или клиента в сетевой среде «клиент-сервер» либо в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительная система может быть представлена персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), карманным ПК (PDA), сотовым телефоном или любой вычислительной системой, способной выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этой вычислительной системой. Кроме того, несмотря на то, что показана только одна вычислительная система, термин «вычислительная система» также может включать любую совокупность вычислительных систем, которые отдельно или совместно выполняют набор (или более наборов) команд для выполнения одной или более способов, обсуждаемых в настоящем документе.[000148] FIG. 16 illustrates an illustrative example of a
[000149] Пример вычислительной системы 1000 включает процессор 502, основное запоминающее устройство 504 {например, постоянное запоминающее устройство (ПЗУ) или динамическое оперативное запоминающее устройство (DRAM)) и устройство хранения данных 518, которые взаимодействуют друг с другом по шине 530.[000149] An example of a
[000150] Процессор 502 может быть представлен одной или более универсальными вычислительными системами, например, микропроцессором, центральным процессором и т.д. В частности, процессор 502 может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд или процессоры, реализующие комбинацию наборов команд. Процессор 502 также может представлять собой одну или более вычислительных систем специального назначения, например, заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор 502 реализован с возможностью выполнения команд 526 для осуществления рассмотренных в настоящем документе операций и функций.[000150] The
[000151] Вычислительная система 1000 может дополнительно включать устройство сетевого интерфейса 522, устройство визуального отображения 510, устройство ввода символов 512 (например, клавиатуру) и устройство ввода в виде сенсорного экрана 514.[000151] The
[000152] Устройство хранения данных 518 может содержать машиночитаемый носитель данных 524, в котором хранится один или более наборов команд 526 и в котором реализованы одна или более методов или функций, рассмотренных в настоящем документе. Команды 526 также могут находиться полностью или по меньшей мере частично в основном запоминающем устройстве 504 и/или в процессоре 502 во время выполнения их в вычислительной системе 1000, при этом оперативное запоминающее устройство 504 и процессор 502 также представляют собой машиночитаемый носитель данных. Команды 526 также могут передаваться или приниматься по сети 516 через устройство сетевого интерфейса 522.[000152] The
[000153] В некоторых вариантах реализации изобретения набор команд 526 может содержать команды способа 100, 300 и/или 400 для извлечения информации из текстов на естественном языке и обучения классификаторов в соответствии с одним или более вариантами реализации настоящего изобретения. Хотя машиночитаемый носитель данных 524 показан в примере на Фиг. 16 в виде одного носителя, термин «машиночитаемый носитель» следует понимать в широком смысле, подразумевающем один или более носителей (например, централизованную или распределенную базу данных и/или соответствующие кэши и серверы), в которых хранится один или более наборов команд. Термин «машиночитаемый носитель данных» также следует понимать как включающий любой носитель, который может хранить, кодировать или переносить набор команд для выполнения машиной и который обеспечивает выполнение машиной любой одной или более методов настоящего изобретения. Поэтому термин «машиночитаемый носитель данных» относится, помимо прочего, к твердотельным запоминающим устройствам, а также к оптическим и магнитным носителям.[000153] In some embodiments of the invention,
[000154] Способы, компоненты и функции, описанные в этом документе, могут быть реализованы с помощью дискретных компонентов оборудования либо они могут быть встроены в функции других компонентов оборудования, например, ASICS (специализированная заказная интегральная схема), FPGA (программируемая логическая интегральная схема), DSP (цифровой сигнальный процессор) или аналогичных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратного обеспечения. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации аппаратного обеспечения и программных компонентов либо исключительно с помощью программного обеспечения.[000154] The methods, components, and functions described in this document can be implemented using discrete hardware components, or they can be built into the functions of other hardware components, such as ASICS (customized 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 hardware functional diagrams. Methods, components and functions can also be implemented using any combination of hardware and software components, or exclusively using software.
[000155] В приведенном выше описании изложены многочисленные детали. Однако любому специалисту в этой области техники, ознакомившемуся с этим описанием, должно быть очевидно, что настоящее изобретение может быть осуществлено на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схем без детализации, чтобы не усложнять описание настоящего изобретения.[000155] In the above description, numerous details are set forth. However, it should be obvious to anyone 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 diagram form without detail in order not to complicate the description of the present invention.
[000156] Некоторые части описания предпочтительных вариантов реализации изобретения представлены в виде алгоритмов и символического представления операций с битами данных в запоминающем устройстве компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, что обеспечивает наиболее эффективную передачу сущности работы другим специалистам в данной области. В контексте настоящего описания, как это и принято, алгоритмом называется логически непротиворечивая последовательность операций, приводящих к желаемому результату. Операции подразумевают действия, требующие физических манипуляций с физическими величинами. Обычно, хотя и необязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и выполнять другие манипуляции. Иногда удобно, прежде всего для обычного использования, описывать эти сигналы в виде битов, значений, элементов, символов, терминов, цифр и т.д.[000156] 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 presentation of algorithms are tools used by specialists in the field of data processing, which provides the most efficient transfer of the essence of the work to other specialists in this field. In the context of the present description, as is customary, the algorithm is called a logically consistent sequence of operations leading to the desired result. Operations involve actions that require physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared, and carried out other manipulations. It is sometimes convenient, first of all for ordinary use, to describe these signals in the form of bits, values, elements, symbols, terms, numbers, etc.
[000157] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами и что они являются лишь удобными обозначениями, применяемыми к этим величинам. Если явно не указано обратное, принимается, что в последующем описании термины «определение», «вычисление», «расчет», «получение», «установление», «определение», «изменение» и т.п. относятся к действиям и процессам вычислительной системы или аналогичной электронной вычислительной системы, которая использует и преобразует данные, представленные в виде физических {например, электронных) величин в реестрах и запоминающих устройствах вычислительной системы, в другие данные, также представленные в виде физических величин в запоминающих устройствах или реестрах вычислительной системы или иных устройствах хранения, передачи или отображения такой информации.[000157] However, it should be borne in mind that all of these and similar terms must be associated with the corresponding physical quantities and that they are only convenient notation applied to these quantities. Unless explicitly stated otherwise, it is assumed that in the following description, the terms "definition", "calculation", "calculation", "receipt", "establishment", "definition", "change", etc. relate to actions and processes of a computing system or a similar electronic computing system that uses and converts data presented as physical (for example, electronic) values in registers and storage devices of a computing system into other data also represented as physical values in memory devices or computer system registers or other devices for storing, transmitting, or displaying such information.
[000158] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей, либо оно может представлять собой универсальный компьютер, который избирательно приводится в действие или дополнительно настраивается с помощью программы, хранящейся в запоминающем устройстве компьютера. Такая компьютерная программа может храниться на машиночитаемом носителе данных, например, помимо прочего, на диске любого типа, включая дискеты, оптические диски, CD-ROM и магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), СППЗУ, ЭППЗУ, магнитные или оптические карты и носители любого типа, подходящие для хранения электронной информации.[000158] 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 that is selectively driven or additionally configured using a program stored in a computer storage device. Such a computer program can be stored on a machine-readable data carrier, for example, among other things, on any type of disk, including floppy disks, optical disks, CD-ROMs and magneto-optical disks, permanent storage devices (RAM), random access memory (RAM), EPROM , EPROM, magnetic or optical cards and media of any type suitable for storing electronic information.
[000159] Следует понимать, что приведенное выше описание призвано иллюстрировать, а не ограничивать сущность изобретения. Специалистам в данной области техники после прочтения и уяснения приведенного выше описания станут очевидны и различные другие варианты реализации изобретения. Исходя из этого область применения изобретения должна определяться с учетом прилагаемой формулы изобретения, а также всех областей применения эквивалентных способов, на которые в равной степени распространяется формула изобретения.[000159] It should be understood that the above description is intended to illustrate and not to 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. On this basis, the scope of the invention should be determined by taking into account the appended claims, as well as all the uses of equivalent methods to which the claims are equally applicable.
Claims (65)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018110387A RU2691855C1 (en) | 2018-03-23 | 2018-03-23 | Training classifiers used to extract information from natural language texts |
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 |
---|---|---|---|
RU2018110387A RU2691855C1 (en) | 2018-03-23 | 2018-03-23 | Training classifiers used to extract information from natural language texts |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2691855C1 true RU2691855C1 (en) | 2019-06-18 |
Family
ID=66947682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018110387A RU2691855C1 (en) | 2018-03-23 | 2018-03-23 | Training classifiers used to extract information from natural language texts |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2691855C1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2777354C2 (en) * | 2020-10-07 | 2022-08-02 | Общество с ограниченной ответственностью "БИОРГ" | Image recognition system: beorg smart vision |
US11532305B2 (en) | 2019-06-26 | 2022-12-20 | Samsung Electronics Co., Ltd. | Electronic apparatus and control method thereof |
WO2025144084A1 (en) * | 2023-12-26 | 2025-07-03 | National University of Science and Technology “MISIS” | Method for labeling and verification of textual data |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160162456A1 (en) * | 2014-12-09 | 2016-06-09 | Idibon, Inc. | Methods for generating natural language processing systems |
RU2628431C1 (en) * | 2016-04-12 | 2017-08-16 | Общество с ограниченной ответственностью "Аби Продакшн" | Selection of text classifier parameter based on semantic characteristics |
US20170293607A1 (en) * | 2016-04-12 | 2017-10-12 | Abbyy Infopoisk Llc | Natural language text classification based on semantic features |
RU2640297C2 (en) * | 2016-05-17 | 2017-12-27 | Общество с ограниченной ответственностью "Аби Продакшн" | Definition of confidence degrees related to attribute values of information objects |
RU2640718C1 (en) * | 2016-12-22 | 2018-01-11 | Общество с ограниченной ответственностью "Аби Продакшн" | Verification of information object attributes |
-
2018
- 2018-03-23 RU RU2018110387A patent/RU2691855C1/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160162456A1 (en) * | 2014-12-09 | 2016-06-09 | Idibon, Inc. | Methods for generating natural language processing systems |
RU2628431C1 (en) * | 2016-04-12 | 2017-08-16 | Общество с ограниченной ответственностью "Аби Продакшн" | Selection of text classifier parameter based on semantic characteristics |
US20170293607A1 (en) * | 2016-04-12 | 2017-10-12 | Abbyy Infopoisk Llc | Natural language text classification based on semantic features |
RU2640297C2 (en) * | 2016-05-17 | 2017-12-27 | Общество с ограниченной ответственностью "Аби Продакшн" | Definition of confidence degrees related to attribute values of information objects |
RU2640718C1 (en) * | 2016-12-22 | 2018-01-11 | Общество с ограниченной ответственностью "Аби Продакшн" | Verification of information object attributes |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11532305B2 (en) | 2019-06-26 | 2022-12-20 | Samsung Electronics Co., Ltd. | Electronic apparatus and control method thereof |
RU2777354C2 (en) * | 2020-10-07 | 2022-08-02 | Общество с ограниченной ответственностью "БИОРГ" | Image recognition system: beorg smart vision |
RU2832840C1 (en) * | 2023-12-26 | 2025-01-09 | Федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский технологический университет "МИСиС" | Method of marking and verifying text data |
WO2025144084A1 (en) * | 2023-12-26 | 2025-07-03 | National University of Science and Technology “MISIS” | Method for labeling and verification of textual data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10691891B2 (en) | Information extraction from natural language texts | |
RU2686000C1 (en) | Retrieval of information objects using a combination of classifiers analyzing local and non-local signs | |
RU2662688C1 (en) | Extraction of information from sanitary blocks of documents using micromodels on basis of ontology | |
RU2628431C1 (en) | Selection of text classifier parameter based on semantic characteristics | |
RU2628436C1 (en) | Classification of texts on natural language based on semantic signs | |
RU2619193C1 (en) | Multi stage recognition of the represent essentials in texts on the natural language on the basis of morphological and semantic signs | |
RU2646386C1 (en) | Extraction of information using alternative variants of semantic-syntactic analysis | |
RU2697647C1 (en) | System and method for automatic creation of templates | |
RU2679988C1 (en) | Extracting information objects with the help of a classifier combination | |
RU2732850C1 (en) | Classification of documents by levels of confidentiality | |
RU2637992C1 (en) | Method of extracting facts from texts on natural language | |
RU2657173C2 (en) | Sentiment analysis at the level of aspects using methods of machine learning | |
US9626358B2 (en) | Creating ontologies by analyzing natural language texts | |
RU2626555C2 (en) | Extraction of entities from texts in natural language | |
RU2635257C1 (en) | Sentiment analysis at level of aspects and creation of reports using machine learning methods | |
RU2640297C2 (en) | Definition of confidence degrees related to attribute values of information objects | |
RU2607976C1 (en) | Extracting information from structured documents containing text in natural language | |
RU2618374C1 (en) | Identifying collocations in the texts in natural language | |
RU2646380C1 (en) | Using verified by user data for training models of confidence | |
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 |