[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

RU2681356C1 - Classifier training used for extracting information from texts in natural language - Google Patents

Classifier training used for extracting information from texts in natural language Download PDF

Info

Publication number
RU2681356C1
RU2681356C1 RU2018110386A RU2018110386A RU2681356C1 RU 2681356 C1 RU2681356 C1 RU 2681356C1 RU 2018110386 A RU2018110386 A RU 2018110386A RU 2018110386 A RU2018110386 A RU 2018110386A RU 2681356 C1 RU2681356 C1 RU 2681356C1
Authority
RU
Russia
Prior art keywords
information
information objects
objects
conflicting
natural language
Prior art date
Application number
RU2018110386A
Other languages
Russian (ru)
Inventor
Степан Евгеньевич Мацкевич
Илья Александрович Булгаков
Original Assignee
Общество с ограниченной ответственностью "Аби Продакшн"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Аби Продакшн" filed Critical Общество с ограниченной ответственностью "Аби Продакшн"
Priority to RU2018110386A priority Critical patent/RU2681356C1/en
Priority to US15/938,307 priority patent/US10437931B1/en
Priority to US15/938,509 priority patent/US20190294665A1/en
Application granted granted Critical
Publication of RU2681356C1 publication Critical patent/RU2681356C1/en
Priority to US16/545,463 priority patent/US10691891B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

FIELD: examination of documents.SUBSTANCE: invention relates to the extraction of facts from texts in natural languages. First set of information objects is extracted from the natural language text. Second set of information objects is extracted from the natural language text. Intermediate list of information objects is generated, including at least a subset of the first set of information objects and at least a subset of the second set of information objects. Set of conflicting information objects in the intermediate list of information objects is identified, where the first information object from the set of conflicting information objects belongs 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. Final list of information objects extracted from natural language text is generated, by means of applying the function of arbitration of the conflicting objects to the set of conflicting information objects, which performs at least one of the following actions: changing the first information object, deleting the first information object or merging two or more information objects from the set of conflicting information objects.EFFECT: technical result consists in increasing the efficiency and quality of information extraction.20 cl, 16 dwg

Description

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

[0001] Настоящее изобретение в целом относится к вычислительным системам, а точнее - к системам и способам обработки естественного языка.[0001] The present invention generally relates to computing systems, and more specifically, to systems and methods for processing a natural language.

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

[0002] Извлечение информации может включать анализ текста на естественном языке для выявления и классификации информационных объектов в соответствии с заданным множеством категорий (например, имена лиц, организаций, мест, выражения времени, количества, денежных сумм, процентов и т.д.). Извлечение информации может дополнительно включать определение отношений между распознанными именованными сущностями и (или) информационными объектами.[0002] Information retrieval may include analysis of natural language text to identify and classify information objects according to a given set of categories (for example, names of individuals, organizations, places, expressions of time, quantity, monetary amounts, percent, etc.). Information retrieval may further include determining the relationship between recognized named entities and / or information objects.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

[0003] В соответствии с одним или более вариантами реализации настоящего изобретения пример способа извлечения информации из текста на естественном языке может включать: извлечение вычислительной системой первого множества информационных объектов из текста на естественном языке; извлечение из текста на естественном языке второго множества информационных объектов; создание промежуточного перечня информационных объектов, включающего по меньшей мере подмножество первого множества информационных объектов и по меньшей мере подмножество второго множества информационных объектов; выявление в промежуточном перечне информационных объектов множества конфликтующих информационных объектов, в котором первый информационный объект из множества конфликтующих информационных объектов принадлежит первому множеству информационных объектов, а второй информационный объект из множества конфликтующих информационных объектов принадлежит второму множеству информационных объектов; и создание окончательного перечня информационных объектов, извлеченных из текста на естественном языке путем применения к множеству конфликтующих информационных объектов функции «арбитража» конфликтующих объектов, которая выполняет по меньшей мере одно из следующих действий: изменение первого информационного объекта, удаление первого информационного объекта или слияние двух и более информационных объектов из множества конфликтующих информационных объектов.[0003] In accordance with one or more embodiments of the present invention, an example of a method for extracting information from a natural language text may include: extracting by a computer system a first plurality of information objects from a natural language text; extracting from the text in the natural language of the second set of information objects; creating an intermediate list of information objects, including at least a subset of the first set of information objects and at least a subset of the second set of information objects; identifying in the intermediate list of information objects a plurality of conflicting information objects, in which a first information object of a plurality of conflicting information objects belongs to a first plurality of information objects, and a second information object of a plurality of conflicting information objects belongs to a second plurality of information objects; and creating a final list of information objects extracted from the text in a natural language by applying to the set of conflicting information objects the function of “arbitration” of conflicting objects, which performs at least one of the following: changing the first information object, deleting the first information object, or merging two and more information objects from many conflicting information objects.

[0004] В соответствии с одним или более вариантами реализации настоящего изобретения пример системы извлечения информации из текста на естественном языке может включать: память; процессор, связанный с указанной памятью, причем этот процессор выполнен с возможностью: извлечения из текста на естественном языке первого множества информационных объектов; извлечения из текста на естественном языке второго множества информационных объектов; создания промежуточного перечня информационных объектов, включающего по меньшей мере подмножество первого множества информационных объектов и по меньшей мере подмножество второго множества информационных объектов; выявления в промежуточном перечне информационных объектов множества конфликтующих информационных объектов, в котором первый информационный объект из множества конфликтующих информационных объектов принадлежит к первому множеству информационных объектов, а второй информационный объект из множества конфликтующих информационных объектов принадлежит ко второму множеству информационных объектов; и создания окончательного перечня информационных объектов, извлеченных из текста на естественном языке, за счет применения ко множеству конфликтующих информационных объектов функции «арбитража» конфликтующих информационных объектов, которая выполняет по меньшей мере одно из следующих действий: изменение первого информационного объекта или слияние двух или более информационных объектов из множества конфликтующих информационных объектов..[0004] In accordance with one or more embodiments of the present invention, an example system for extracting information from natural language text may include: memory; a processor associated with the specified memory, and this processor is configured to: extract from the text in natural language the first set of information objects; extracting from the text in the natural language of the second set of information objects; creating an intermediate list of information objects, including at least a subset of the first set of information objects and at least a subset of the second set of information objects; identifying in the intermediate list of information objects a plurality of conflicting information objects, in which a first information object of a plurality of conflicting information objects belongs to a first set of information objects, and a second information object of a plurality of conflicting information objects belongs to a second set of information objects; and creating a final list of information objects extracted from natural language text by applying to the set of conflicting information objects the function of “arbitration” of conflicting information objects, which performs at least one of the following: changing the first information object or merging two or more information objects from many conflicting information objects ..

[0005] В соответствии с одним или более вариантами реализации настоящего изобретения пример постоянного машиночитаемого носителя данных может включать исполняемые команды, которые при исполнении их вычислительной системой приводят к выполнению вычислительной системой операций, в том числе: извлечения из текста на естественном языке первого множества информационных объектов; извлечения из текста на естественном языке второго множества информационных объектов; создания промежуточного перечня информационных объектов, включающего по меньшей мере подмножество первого множества информационных объектов и по меньшей мере подмножество второго множества информационных объектов; выявления в промежуточном перечне информационных объектов множества конфликтующих информационных объектов, в котором первый информационный объект из множества конфликтующих информационных объектов принадлежит к первому множеству информационных объектов, а второй информационный объект из множества конфликтующих информационных объектов принадлежит ко второму множеству информационных объектов; и создания окончательного перечня информационных объектов, извлеченных из текста на естественном языке, за счет применения ко множеству конфликтующих информационных объектов функции «арбитража» конфликтующих информационных объектов, которая выполняет по меньшей мере одно из следующих действий: изменение первого информационного объекта или слияние двух или более информационных объектов из множества конфликтующих информационных объектов[0005] In accordance with one or more embodiments of the present invention, an example of a permanent computer-readable storage medium may include executable instructions that, when executed by a computer system, result in the computer system performing operations, including: extracting from a natural language text a first set of information objects ; extracting from the text in the natural language of the second set of information objects; creating an intermediate list of information objects, including at least a subset of the first set of information objects and at least a subset of the second set of information objects; identifying in the intermediate list of information objects a plurality of conflicting information objects, in which a first information object of a plurality of conflicting information objects belongs to a first set of information objects, and a second information object of a plurality of conflicting information objects belongs to a second set of information objects; and creating a final list of information objects extracted from natural language text by applying to the set of conflicting information objects the function of “arbitration” of conflicting information objects, which performs at least one of the following: changing the first information object or merging two or more information objects from multiple conflicting information objects

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[0006] Настоящее изобретение иллюстрируется с помощью примеров, а не способом ограничения и может быть лучше понято при рассмотрении приведенного ниже описания предпочтительных вариантов реализации в сочетании с чертежами, на которых:[0006] The present invention is illustrated by way of examples, and not by way of limitation, and can be better understood by considering the following description of preferred embodiments in conjunction with the drawings, in which:

[0007] На Фиг. 1 приведена блок-схема одного иллюстративного примера способа извлечения информации с помощью нескольких методов извлечения в соответствии с одним или более вариантами реализации настоящего изобретения;[0007] In FIG. 1 is a flowchart of one illustrative example of a method for extracting information using several extraction methods in accordance with one or more embodiments of the present invention;

[0008] На Фиг. 2 схематически показан пример «арбитража» конфликтующих объектов, который может быть выполнен в соответствии с одним или более вариантами реализации настоящего изобретения, в соответствии с одним или более вариантами реализации настоящего изобретения;[0008] In FIG. 2 schematically shows an example of “arbitration” of conflicting entities that may be performed in accordance with one or more embodiments of the present invention, in accordance with one or more embodiments of the present invention;

[0009] На Фиг. 3 показана блок-схема одного из примеров способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке, в соответствии с одним или более вариантами реализации настоящего изобретения;[0009] In FIG. 3 is a flowchart of one example of a classifier training method used to extract information from natural language texts in accordance with one or more embodiments of the present invention;

[00010] На Фиг. 4 показана блок-схема другого примера способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке, в соответствии с одним или более вариантами реализации настоящего изобретения;[00010] In FIG. 4 is a flowchart of another example of a classifier training method used to extract information from natural language texts in accordance with one or more embodiments of the present invention;

[00011] На Фиг. 5 показана блок-схема одного из иллюстративных примеров способа 400 семантико-синтаксического анализа предложения на естественном языке в соответствии с одним или более вариантами реализации настоящего изобретения;[00011] In FIG. 5 is a flowchart of one illustrative example of a method 400 for semantic-syntactic analysis of a sentence in a natural language in accordance with one or more embodiments of the present invention;

[00012] На Фиг. 6 схематически показан пример лексико-морфологической структуры предложения в соответствии с одним или более вариантами реализации настоящего изобретения;[00012] In FIG. 6 schematically shows an example of the lexical-morphological structure of a sentence in accordance with one or more embodiments of the present invention;

[00013] На Фиг. 6 схематически показаны языковые описания, представляющие модель естественного языка, в соответствии с одним или более вариантами реализации настоящего изобретения;[00013] In FIG. 6 schematically shows language descriptions representing a natural language model in accordance with one or more embodiments of the present invention;

[00014] На Фиг. 8 схематически показаны примеры морфологических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;[00014] In FIG. 8 schematically shows examples of morphological descriptions in accordance with one or more embodiments of the present invention;

[00015] На Фиг. 9 схематически показаны примеры синтаксических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;[00015] In FIG. 9 schematically shows examples of syntactic descriptions in accordance with one or more embodiments of the present invention;

[00016] На Фиг. 10 схематически показаны примеры семантических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;[00016] In FIG. 10 schematically shows examples of semantic descriptions in accordance with one or more embodiments of the present invention;

[00017] На Фиг. 11 схематически показаны примеры лексических описаний в соответствии с одним или более вариантами реализации настоящего изобретения;[00017] In FIG. 11 schematically shows examples of lexical descriptions in accordance with one or more embodiments of the present invention;

[00018] На Фиг. 12 схематически показаны примеры структур данных, которые могут быть использованы в рамках одного или более способов, реализованных в соответствии с одним или более вариантами реализации настоящего изобретения;[00018] In FIG. 12 schematically shows examples of data structures that can be used within one or more methods implemented in accordance with one or more embodiments of the present invention;

[00019] На Фиг. 13 схематически показан пример графа обобщенных составляющих в соответствии с одним или более вариантами реализации настоящего изобретения;[00019] In FIG. 13 schematically shows an example of a graph of generalized components in accordance with one or more embodiments of the present invention;

[00020] На Фиг. 14 приводится пример синтаксической структуры, соответствующей предложению, приведенному на Фиг. 13;[00020] FIG. 14 is an example of a syntax structure corresponding to the sentence of FIG. 13;

[00021] На Фиг. 15 показана семантическая структура, соответствующая синтаксической структуре, приведенной на Фиг. 14;[00021] In FIG. 15 shows a semantic structure corresponding to the syntactic structure shown in FIG. fourteen;

[00022] На Фиг. 16 показана схема примера вычислительной системы, реализующей способы настоящего изобретения.[00022] FIG. 16 is a diagram of an example computer system implementing the methods of the present invention.

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

[00023] В настоящем документе описываются способы и системы извлечения информации из текстов на естественном языке. Системы и способы, представленные в настоящем документе, могут найти применение в самых разных ситуациях, где требуется обработка текстов на естественном языке, в частности это могут быть машинный перевод, семантическое индексирование, семантический поиск (в том числе многоязычный семантический поиск), классификация документов, поиск и представление электронных документов (e-discovery) и т.д.[00023] This document describes methods and systems for extracting information from natural language texts. The systems and methods presented in this document can find application in a variety of situations where natural language text processing is required, in particular, it can be machine translation, semantic indexing, semantic search (including multilingual semantic search), classification of documents, search and submission of electronic documents (e-discovery), etc.

[00024] В настоящем документе термин «вычислительная система» означает устройство обработки данных, оснащенное универсальным или специализированным процессором, памятью и по меньшей мере одним интерфейсом связи. Примерами вычислительных систем, которые могут использовать описанные в этом документе способы, являются, в частности, настольные компьютеры, ноутбуки, планшетные компьютеры и смартфоны.[00024] As used herein, the term "computing system" means a data processing device equipped with a universal or specialized processor, memory, and at least one communication interface. Examples of computing systems that can use the methods described in this document are, in particular, desktop computers, laptops, tablet computers and smartphones.

[00025] «Онтология» в настоящем документе означает модель, которая представляет объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Онтология может включать определения некого множества классов, где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также называться «концептом», а принадлежащий классу объект может означать экземпляр данного концепта. В некоторых реализациях изобретения класс может быть предком или потомком другого класса. В определенных вариантах реализации объект может быть соотнесен с двумя или более классами.[00025] “Ontology” in this document means a model that represents objects belonging to a certain field of knowledge (domain), and the relationship between these objects. An ontology may include definitions of a certain set of classes, where each class corresponds to the concept of a subject area. Each class definition may include definitions of one or more objects assigned to that class. According to generally accepted terminology, an ontology class can also be called a “concept”, and an object belonging to the class can mean an instance of this concept. In some implementations of the invention, the class may be the ancestor or descendant of another class. In certain embodiments, an object may be associated with two or more classes.

[00026] Определение каждого класса может далее включать одно или более определений отношений одного или более отнесенных к данному классу объектов. Отношения определяют различные типы взаимодействий между связанными объектами. В некоторых реализациях изобретения различные отношения могут быть организованы во всеобщей таксономии, например, отношения «отцовства» и «материнства» могут быть включены в более общее отношение «быть родителем», которое в свою очередь может быть включено в более общее отношение «быть предком».[00026] The definition of each class may further include one or more definitions of the relations of one or more objects assigned to this class. Relationships define various types of interactions between related objects. In some implementations of the invention, various relationships can be organized in a general taxonomy, for example, the relationship of “paternity” and “motherhood” can be included in the more general relationship of “being a parent,” which in turn can be included in the more general relationship of “being an ancestor” .

[00027] Атрибут информационного объекта может быть представлен другим информационным объектом (например, место рождения человека может быть представлено информационным объектом класса «Город»; а работодатель человека может быть представлен объектом класса «Компания»). Определение класса может включать одно или более ограничений, связанных с определенными атрибутами объекта этого класса, например, атрибут ограничения по кардинальности (например, человек может иметь только одно место рождения) или ограничения по типу (например, заданный атрибут может быть представлен объектами указанного множества классов).[00027] The attribute of an information object may be represented by another information object (for example, the place of birth of a person may be represented by an information object of class "City"; and the employer of a person may be represented by an object of class "Company"). A class definition may include one or more restrictions associated with certain attributes of an object of this class, for example, an attribute of cardinality restriction (for example, a person can have only one place of birth) or type restrictions (for example, a given attribute can be represented by objects of a specified set of classes )

[00028] Извлечение информации может включать анализ текста на естественном языке для выявления и классификации информационных объектов, на которые ссылаются фрагменты текста на естественном языке. Фрагменты текста, ссылающиеся на информационный объект, называются «аннотациями объекта». Фрагменты текста, ссылающиеся на атрибут информационного объекта, называются «аннотациями атрибута». Аннотация может быть определена ее положением в тексте на естественном языке, включая позицию начала (слово) и позицию конца (слово).[00028] Information retrieval may include natural language text analysis to identify and classify information objects referenced by natural language text fragments. Text fragments that refer to an information object are called "object annotations." Text fragments that refer to an attribute of an information object are called "attribute annotations." An annotation can be determined by its position in a text in a natural language, including the position of the beginning (word) and the position of the end (word).

[00029] При извлечении информации может происходить классификация выявленных информационных объектов в соответствии с предварительно заданным множеством категорий (например, имена людей, наименования организаций, места, выражения времени, количества, денежных сумм, процентов и т.д.). Такие категории могут быть представлены концептами предварительно заданной или динамически формируемой онтологии. Извлечение информации может дополнительно включать определение отношений между распознанными именованными сущностями и (или) информационными объектами. Примерами таких отношений могут быть работа лица X в организационном подразделении Y, расположение объекта X в геопозиции Y, приобретение организационной единицей X организационной единицы Y и т.д. Подобные отношения могут быть выражены фрагментами на естественном языке, которые могут содержать множество слов из одного или более предложений. Отношения информационных объектов могут быть выражены атрибутами информационного объекта, которые ссылаются на другие информационные объекты (например, информационный объект «человек» может иметь такие атрибуты, как «место рождения», «место жительства» или «работодатель», каждый из которых представлен ссылкой на информационный объект соответствующего класса).[00029] When retrieving information, a classification of identified information objects may occur in accordance with a predefined set of categories (for example, names of people, names of organizations, places, expressions of time, quantity, money, percent, etc.). Such categories can be represented by concepts of a predefined or dynamically formed ontology. Information retrieval may further include determining the relationship between recognized named entities and / or information objects. Examples of such relationships can be the work of person X in organizational unit Y, the location of object X in geoposition Y, the acquisition by organizational unit X of organizational unit Y, etc. Such relationships can be expressed in fragments in a natural language, which can contain many words from one or more sentences. Relationships of information objects can be expressed by attributes of an information object that refer to other information objects (for example, an information object “person” can have such attributes as “place of birth”, “place of residence” or “employer”, each of which is represented by a link to information object of the corresponding class).

[00030] Извлеченная информация, которая может быть представлена RDF-графом, может использоваться для выполнения различных операций и задач обработки естественного языка, включая машинный перевод, семантическое индексирование, семантический поиск, классификацию документов, поиск и представление электронных документов (e-discovery) и т.д.[00030] The extracted information that can be represented by an RDF graph can be used to perform various operations and tasks of natural language processing, including machine translation, semantic indexing, semantic search, document classification, search and presentation of electronic documents (e-discovery) and etc.

[00031] Извлечение информации может выполняться различными методами извлечения с использованием изменяемых наборов правил, автоматических методов классификации (также называемых «классификаторами на основе машинного обучения»), эвристических подходов и (или) сочетанием этих методов. Методы извлечения информации могут быть основаны на онтологиях и (или) других моделях документов для анализа морфологических, лексических, синтаксических, семантических и (или) иных атрибутов текстов на естественном языке.[00031] Information extraction can be performed using various extraction methods using variable sets of rules, automatic classification methods (also called “machine learning classifiers”), heuristic approaches and / or a combination of these methods. Information extraction methods can be based on ontologies and (or) other document models for the analysis of morphological, lexical, syntactic, semantic and (or) other attributes of texts in natural language.

[00032] В иллюстративном примере извлечение информации может включать применение множества продукционных правил, например, сопоставление с шаблоном, заданным в левой части продукционного правила, с семантической структурой, представляющей фрагмент текста на естественном языке, может запустить действие правой части продукционного правила, которое может назначить определенные значения одному или более атрибутам информационного объекта. В еще одном иллюстративном примере классификатор на основе машинного обучения может определять степень связанности заданного фрагмента текста на естественном языке (например, представленного набором морфологических, лексических, синтаксических, семантических и (или) иных атрибутов) с определенным классом информационных объектов. Параметры классификатора могут быть определены или изменены в результате дообучения классификатора с использованием ранее существовавших или динамически созданных обучающих выборок данных, на основе которых выполняется корреляция классов информационных объектов с морфологическими, лексическими, синтаксическими, семантическими и (или) иными атрибутами текста на естественном языке. Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейросети и т.д.[00032] In an illustrative example, extracting information may include applying a variety of production rules, for example, matching with a pattern defined on the left side of a production rule, with a semantic structure representing a piece of text in natural language, can trigger an action on the right side of a production rule that can assign specific values to one or more attributes of the information object. In another illustrative example, a classifier based on machine learning can determine the degree to which a given fragment of a text in a natural language is connected (for example, represented by a set of morphological, lexical, syntactic, semantic and (or) other attributes) with a certain class of information objects. Classifier parameters can be determined or changed as a result of further training of the classifier using pre-existing or dynamically created training data samples based on which the classes of information objects are correlated with morphological, lexical, syntactic, semantic and (or) other text attributes in natural language. Classification methods may include differential evolution methods, genetic algorithms, random forest methods, neural networks, etc.

[00033] Различные методы извлечения информации могут иметь различные характеристики производительности, такие как вычислительная точность, полнота и (или) вычислительная сложность. Соответственно, различные методы извлечения информации могут создавать различные результаты при применении к одному и тому же тексту на естественном языке. Определенные информационные объекты, извлеченные на основе двух или более методов извлечения информации, могут конфликтовать друг с другом, например, одно и то же слово на естественном языке может быть распознано как ссылка на географическое положение или имя человека.[00033] Different methods of extracting information may have different performance characteristics, such as computational accuracy, completeness, and / or computational complexity. Accordingly, different methods of extracting information can produce different results when applied to the same text in a natural language. Certain information objects extracted using two or more methods of extracting information may conflict with each other, for example, the same word in a natural language can be recognized as a reference to a geographical location or a person’s name.

[00034] Настоящее изобретение повышает эффективность и качество извлечения информации путем создания систем и способов, которые используют различные сочетания методов извлечения информации с последующим определением и разрешением конфликтов среди извлеченных информационных объектов, таким образом достигается результат, превышающий качество и эффективность традиционно используемых методов. В иллюстративном примере вычислительная система, реализующая этот способ, может применять две или более методов извлечения информации для одного и того же текста на естественном языке. Затем вычислительная система может выявить множества (например, пары, триплеты, квадруплеты и т.д.) потенциально конфликтующих объектов, извлеченных различными методами, например, путем выявления перекрывающихся текстовых аннотаций и (или) нарушений различных ограничений, связанных с атрибутами информационных объектов (например, атрибут ограничения по кардинальности). После определения множества конфликтующих объектов вычислительная система может предпринять попытку разрешить конфликт за счет применения функции «арбитража» конфликтующих объектов, которая может выполнять анализ морфологических, лексических, синтаксических, семантических и (или) иных атрибутов конфликтующих информационных объектов с целью получения результата, подтверждающего один или более потенциально конфликтующих объектов, изменяющего атрибуты одного или более потенциально конфликтующих объектов, удаляющего один или более потенциально конфликтующих объектов и (или) выполняющего слияние одного или более потенциально конфликтующих объектов.[00034] The present invention improves the efficiency and quality of information extraction by creating systems and methods that use various combinations of information extraction methods with subsequent determination and resolution of conflicts among the extracted information objects, thus achieving a result that exceeds the quality and efficiency of traditionally used methods. In an illustrative example, a computing system that implements this method can use two or more methods of extracting information for the same natural language text. Then, the computing system can detect the sets (for example, pairs, triplets, quadruplets, etc.) of potentially conflicting objects extracted by various methods, for example, by detecting overlapping text annotations and (or) violations of various restrictions associated with attributes of information objects (for example , attribute of cardinality restriction). After determining the set of conflicting objects, the computing system can attempt to resolve the conflict by applying the function of “arbitration” of conflicting objects, which can analyze morphological, lexical, syntactic, semantic and (or) other attributes of conflicting information objects in order to obtain a result confirming one or more potentially conflicting objects, changing the attributes of one or more potentially conflicting objects, deleting one or more potentially conflicting objects and / or merging one or more potentially conflicting objects.

[00035] В определенных вариантах реализации функция «арбитража» конфликтующих информационных объектов может применять одно или более настраиваемых правил оценки логических условий, определенных для морфологических, лексических, синтаксических, семантических и (или) иных атрибутов извлеченных информационных объектов. Как вариант, функция «арбитража» конфликтующих объектов может включать один или более классификаторов на основе машинного обучения. В иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может обеспечивать степень обоснованности одного или более возможных результатов «арбитража» (например, слияние возможных конфликтующих объектов в единый объект, подтверждение одного или более извлеченных объектов, изменение одного или более извлеченных объектов и (или) удаление одного или более извлеченных объектов). В другом иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может обеспечивать сходство двух или более информационных объектов, представляющих один и тот же объект реальной жизни. В еще одном иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может создавать степени уверенности, связанные с каждым информационным объектом из множества конфликтующих информационных объектов.[00035] In certain embodiments, the arbitration function of conflicting information objects may apply one or more customizable rules for evaluating logical conditions defined for morphological, lexical, syntactic, semantic and (or) other attributes of the extracted information objects. Alternatively, the “arbitration” function of conflicting objects may include one or more classifiers based on machine learning. In an illustrative example, the classifier used by the “arbitration” function of conflicting objects can provide the degree of validity of one or more possible results of the “arbitration” (for example, merging possible conflicting objects into a single object, confirming one or more extracted objects, changing one or more extracted objects and (or) deletion of one or more extracted objects). In another illustrative example, the classifier used by the “arbitration” function of conflicting objects can ensure the similarity of two or more information objects representing the same real-life object. In yet another illustrative example, a classifier used by the arbitrage function of conflicting objects can create degrees of confidence associated with each information object from a plurality of conflicting information objects.

[00036] Классификаторы, использующиеся функцией «арбитража» конфликтующих объектов, могут быть обучены на основе существовавших ранее или динамически созданных обучающих выборок данных, на основе которых результаты «арбитража» могут быть соотнесены с морфологическими, лексическими, синтаксическими, семантическими и (или) другими атрибутами извлеченных информационных объектов. Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейросети и т.д.[00036] Classifiers used by the “arbitration” function of conflicting objects can be trained on the basis of pre-existing or dynamically created training data samples, based on which the results of the “arbitration” can be correlated with morphological, lexical, syntactic, semantic and (or) other attributes of extracted information objects. Classification methods may include differential evolution methods, genetic algorithms, random forest methods, neural networks, etc.

[00037] В определенных вариантах реализации обучающие выборки данных для классификаторов на основе машинного обучения могут создаваться путем применения способов на основе правил для отбора текстов на естественном языке и (или) путем верификации пользователем результатов классификации, полученных за счет применения обучаемых классификаторов. В иллюстративном примере классификаторы могут итеративно проходить повторное обучение на основе верифицированных пользователем результатов классификации, за счет чего с каждой итерацией обучения постепенно повышается качество классификации. Контуры такого обучения на основе обратной связи могут быть применены к классификаторам, выполняющим начальное извлечение информационных объектов, а также к классификаторам, реализующим функции «арбитража» конфликтующих объектов, за счет чего постепенно повышается общее качество извлечения информации.[00037] In certain embodiments, training data sets for classifiers based on machine learning can be created by applying rules-based methods for selecting texts in natural language and / or by user verification of classification results obtained through the use of trained classifiers. In an illustrative example, classifiers can iteratively retrain on the basis of classification results verified by the user, due to which the quality of classification is gradually improved with each iteration of training. The contours of such training based on feedback can be applied to classifiers that perform the initial extraction of information objects, as well as classifiers that implement the functions of “arbitration” of conflicting objects, thereby gradually increasing the overall quality of information extraction.

[00038] В некоторых вариантах осуществления определение классификатора, используемого для извлечения информации, может содержать один или более параметров, значения которых могут регулироваться с помощью методов машинного обучения, и может также включать один или более гиперпараметров, значения которых могут определяться некоторыми внешними по отношению к методам машинного обучения операциями или процессами. В иллюстративном примере значения одного или более гиперпараметров классификатора извлечения информации могут итеративно регулироваться путем итеративного выполнения операций обучения классификатора извлечения информации, обучения классификатора «арбитража» конфликтов, выполнения функции «арбитража» конфликтов и изменения значений гиперпараметров, таким образом итеративно оптимизируя показатель качества, с помощью которого производится оценка итогового списка извлеченных информационных объектов, как более подробно описано ниже в этом документе.[00038] In some embodiments, the definition of the classifier used to extract the information may include one or more parameters, the values of which can be adjusted using machine learning methods, and may also include one or more hyperparameters, the values of which can be determined by some external to machine learning methods by operations or processes. In an illustrative example, the values of one or more hyperparameters of the information extraction classifier can be iteratively controlled by iteratively performing the operations of training the information extraction classifier, training the conflict arbitration classifier, performing the conflict arbitration function, and changing the hyperparameter values, thereby iteratively optimizing the quality indicator using which evaluates the final list of extracted information objects, as described in more detail on Also in this document.

[00039] Системы и способы, работающие в соответствии с одним или более вариантами реализации настоящего изобретения, можно использовать для выполнения различных операций обработки естественного языка, таких как машинный перевод, семантический поиск, классификация и кластеризация объектов и т.д. В некоторых реализациях извлеченная информация может быть визуально представлена с помощью графического пользовательского интерфейса, например, путем отображения идентификаторов классов информационных объектов в визуальном сопоставлении с соответствующими фрагментами текста естественного языка.[00039] Systems and methods operating in accordance with one or more embodiments of the present invention can be used to perform various natural language processing operations, such as machine translation, semantic search, classification and clustering of objects, etc. In some implementations, the extracted information can be visually represented using a graphical user interface, for example, by displaying the identifiers of classes of information objects in visual comparison with the corresponding fragments of the text of a natural language.

[00040] Различные аспекты упомянутых выше способов и систем подробно описаны ниже в этом документе с помощью примеров, а не способом ограничения.[00040] Various aspects of the above methods and systems are described in detail later in this document by way of examples, and not by way of limitation.

[00041] На Фиг. 1 приведена блок-схема одного иллюстративного примера способа извлечения информации с помощью нескольких методов извлечения в соответствии с одним или более вариантами реализации настоящего изобретения. Способ 100 и (или) каждая из его отдельных функций, стандартных программ, подпрограмм или операций могут выполняться одним или более процессорами вычислительной системы (например, вычислительная система 1000 на Фиг. 16), реализующей этот способ. В некоторых вариантах осуществления способ 100 может выполняться в одном потоке обработки. При альтернативном подходе способ 100 может осуществляться с использованием двух или более потоков обработки, при этом в каждом потоке реализована одна или более отдельных функций, процедур, подпрограмм или действий этого способа. В одном из иллюстративных примеров потоки обработки, в которых реализован способ 100, могут быть синхронизированы (например, с использованием семафоров, критических секций и (или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, реализующие способ 100, могут выполняться асинхронно по отношению друг к другу.[00041] In FIG. 1 is a flowchart of one illustrative example of a method for extracting information using several extraction methods in accordance with one or more embodiments of the present invention. The method 100 and / or each of its individual functions, standard programs, subprograms, or operations can be performed by one or more processors of a computing system (eg, computing system 1000 in FIG. 16) that implements this method. In some embodiments, method 100 may be performed in a single processing stream. In an alternative approach, method 100 may be implemented using two or more processing streams, with each stream implementing one or more separate functions, procedures, subroutines, or actions of this method. In one illustrative example, processing streams that implement method 100 can be synchronized (for example, using semaphores, critical sections, and / or other thread synchronization mechanisms). In an alternative approach, the processing threads implementing the method 100 may be performed asynchronously with respect to each other.

[00042] На шаге 110 вычислительная система, реализующая способ, может получать текст на естественном языке. В иллюстративном примере вычислительное устройство может получить текст на естественном языке в виде электронного документа, который может быть получен путем сканирования или за счет применения иного способа изображения с бумажного документа с последующим выполнением оптического распознавания символов (OCR) для получения текста документа. В другом иллюстративном примере вычислительная система может получить текст на естественном языке в виде одного или более форматированных файлов, например, файлов текстового редактора, сообщений электронной почты, файлов цифровых данных и т.д.[00042] In step 110, a computing system implementing the method may receive natural language text. In an illustrative example, a computing device can receive natural language text in the form of an electronic document, which can be obtained by scanning or by using another image method from a paper document, followed by optical character recognition (OCR) to obtain the text of the document. In another illustrative example, a computing system may receive natural language text in the form of one or more formatted files, for example, text editor files, email messages, digital data files, etc.

[00043] На шаге 120 вычислительная система может применить к тексту на естественном языке первый метод извлечения информации. В определенных вариантах реализации первый метод извлечения информации может использовать изменяемые наборы правил, автоматические методы классификации (также называемые «классификаторами на основе машинного обучения»), эвристические подходы и (или) сочетание этих способов. При применении первого метода извлечения информации к тексту на естественном языке может создаваться множество информационных объектов одного или более типов информационных объектов.[00043] In step 120, the computing system can apply the first information extraction method to the natural language text. In certain implementations, the first method of extracting information can use variable sets of rules, automatic classification methods (also called “machine learning classifiers”), heuristic approaches and / or a combination of these methods. When applying the first method of extracting information to a text in a natural language, many information objects of one or more types of information objects can be created.

[00044] В одном из иллюстрационных примеров первый метод извлечения информации может использовать изменяемое множество продукционных правил для интерпретации множества семантико-синтаксических структур, полученных в результате семантико-синтаксического анализа текста на естественном языке. Каждая семантическая структура может представлять предложение на соответствующем естественном языке. Каждая семантическая структура может быть представлена ациклическим графом, который включает множество узлов, соответствующих семантическим классам, и множество дуг, соответствующих семантическим отношениям, что описано более подробно ниже со ссылкой на Фиг. 15.[00044] In one illustrative example, the first method of extracting information can use a variable set of production rules to interpret the set of semantic-syntactic structures obtained as a result of semantic-syntactic analysis of text in natural language. Each semantic structure can represent a sentence in the corresponding natural language. Each semantic structure can be represented by an acyclic graph that includes many nodes corresponding to semantic classes and many arcs corresponding to semantic relations, which is described in more detail below with reference to FIG. fifteen.

[00045] Продукционные правила, применяемые ко множеству семантических структур, могут содержать правила интерпретации и правила идентификации. Правило интерпретации может содержать левую часть, представленную множеством логических выражений, определенных на одном или более шаблонах семантической структуры, и правую часть, представленную одним или более утверждениями относительно информационных объектов, представляющих сущности, на которые имеется ссылка в тексте на естественном языке. Шаблон семантической структуры может включать определенные элементы семантической структуры (например, связь с определенным лексическим / семантическим классом, связь с определенной поверхностной или глубинной позицией в указанном месте семантической структуры, наличие отношений предок-потомок между определенными узлами семантической структуры и ряд уровней семантической иерархии между родительскими и дочерними классами в определенной онтологии, наличие общего предка для определенных узлов семантической структуры, наличие определенных граммем или семантем и т.д.). Отношения между элементами семантических структур могут задаваться с помощью одного или более логических выражений (конъюнкция, дизъюнкция и отрицание) и (или) операций, характеризующих взаимное расположение узлов в синтактико-семантическом дереве. В качестве иллюстративного примера такая операция может проверять, принадлежит ли узел к поддереву другого узла.[00045] Production rules applied to a variety of semantic structures may include interpretation rules and identification rules. An interpretation rule may contain the left part represented by a set of logical expressions defined on one or more semantic structure templates and the right part represented by one or more statements regarding information objects representing entities referred to in a natural language text. The semantic structure template may include certain elements of the semantic structure (for example, a relationship with a specific lexical / semantic class, a relationship with a specific surface or depth position at a specified location in the semantic structure, the presence of ancestor-child relationships between certain nodes of the semantic structure, and a number of levels of the semantic hierarchy between parent and child classes in a specific ontology, the presence of a common ancestor for certain nodes of the semantic structure, the presence of PARTICULAR grammemes or semantics, etc.). Relations between elements of semantic structures can be specified using one or more logical expressions (conjunction, disjunction, and negation) and (or) operations characterizing the mutual arrangement of nodes in a syntactic-semantic tree. As an illustrative example, such an operation can check whether a node belongs to a subtree of another node.

[00046] Правая часть продукционного правила может назначать и (или) изменять значения одного или более атрибутов информационных объектов, отображающих морфологические, лексические, синтаксические, семантические и (или) иные атрибуты фрагмента текста на естественном языке. В одном из иллюстративных примеров правая сторона правила интерпретации может содержать утверждение, связывающее фрагмент текста на естественном языке с классом информационных объектов.[00046] The right part of the production rule may assign and (or) change the values of one or more attributes of information objects that display morphological, lexical, syntactic, semantic and (or) other attributes of a fragment of text in a natural language. In one illustrative example, the right side of the interpretation rule may contain a statement linking a piece of natural language text to a class of information objects.

[00047] Правило идентификации может использоваться для установления ассоциативной связи для пары информационных объектов, которые представляют одну и ту же сущность реального мира. Правило идентификации - это продукционное правило, левая часть которого содержит одно или более логических выражений, указывающих на узлы семантического дерева, соответствующие информационным объектам. Если указанная пара информационных объектов удовлетворяет условиям, заданным логическими выражениями, то происходит слияние информационных объектов в один информационный объект.[00047] An identification rule can be used to establish an associative relationship for a pair of information objects that represent the same entity in the real world. An identification rule is a production rule, the left part of which contains one or more logical expressions pointing to the nodes of the semantic tree corresponding to information objects. If the specified pair of information objects satisfies the conditions specified by logical expressions, then the information objects merge into one information object.

[00048] В иллюстративном примере метод извлечения информации может использовать один или более классификаторов машинного обучения. Каждый классификатор машинного обучения может определять степень связанности заданного фрагмента текста на естественном языке (например, представленного набором морфологических, лексических, синтаксических, семантических и (или) иных атрибутов) с определенным классом информационных объектов. Вычислительная система может итеративно обрабатывать множество фрагментов текста на естественном языке и определять для каждого текстового фрагмента степень его связи с одним или более классами информационных объектов. Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейросети и т.д.[00048] In an illustrative example, an information extraction method may use one or more machine learning classifiers. Each machine learning classifier can determine the degree of connectedness of a given fragment of text in a natural language (for example, represented by a set of morphological, lexical, syntactic, semantic and (or) other attributes) with a specific class of information objects. A computer system can iteratively process many fragments of text in a natural language and determine for each text fragment the degree of its connection with one or more classes of information objects. Classification methods may include differential evolution methods, genetic algorithms, random forest methods, neural networks, etc.

[00049] Классификаторы могут быть обучены с использованием ранее существовавших и (или) динамически созданных обучающих выборок данных, на основе которых выполняется корреляция классов информационных объектов с лексическими, синтаксическими, семантическими и (или) иными атрибутами текста на естественном языке. Обучающая выборка данных может включать один или более текстов на естественном языке в сопровождении метаданных, которые определяют некоторые информационные объекты, их классификацию, атрибуты и соответствующие текстовые аннотации. В иллюстративном примере метаданные могут быть представлены разметкой, связанной с текстом на естественном языке. В определенных вариантах реализации обучающая выборка данных может итеративно совершенствоваться за счет добавления новых текстов на естественном языке, сопровождаемых подтвержденными пользователем метаданными. Валидация метаданных может включать получение через графический интерфейс пользователя пользовательского ввода, подтверждающего или корректирующего извлеченные информационные объекты и их атрибуты.[00049] Classifiers can be trained using pre-existing and (or) dynamically created training data samples based on which the correlation of classes of information objects with lexical, syntactic, semantic and (or) other attributes of a text in a natural language is performed. A training data set may include one or more natural language texts accompanied by metadata that define some information objects, their classification, attributes, and corresponding text annotations. In an illustrative example, metadata may be represented by markup associated with natural language text. In certain implementations, the training data set can be iteratively improved by adding new natural language texts, accompanied by user-confirmed metadata. Validation of metadata may include receiving user input through a graphical user interface that confirms or corrects the extracted information objects and their attributes.

[00050] Извлеченные информационные объекты могут быть представлены в виде RDF-графа. RDF (Resource Definition Framework - среда определения ресурса) присваивает каждому информационному объекту уникальный идентификатор и сохраняет информацию о таком объекте в виде наборов из трех элементов (триплетов) SPO, где S означает «субъект» и содержит идентификатор объекта, Р означает «предикат» и определяет некоторое свойство этого объекта, а О означает «объект» и хранит в себе значение рассматриваемого свойства данного объекта. Это значение может быть либо примитивным типом данных (примеры: строка, число, булево (логическое) значение), либо идентификатором другого объекта. В одном из иллюстративных примеров триплет SPO может ассоциировать фрагмент из текста на естественном языке с категорией информационных объектов.[00050] The extracted information objects may be represented as an RDF graph. RDF (Resource Definition Framework) assigns a unique identifier to each information object and stores information about such an object in the form of sets of three SPO elements (triplets), where S means “subject” and contains the identifier of the object, P means “predicate” and defines some property of this object, and O means "object" and stores the value of the considered property of this object. This value can be either a primitive data type (examples: string, number, Boolean (logical) value), or the identifier of another object. In one illustrative example, an SPO triplet can associate a fragment from a text in natural language with a category of information objects.

[00051] В определенных вариантах реализации методы извлечения информации могут быть основаны на онтологиях и (или) других моделях документов для анализа лексических, синтаксических, семантических и (или) иных атрибутов текста на естественном языке. Таким образом, операциям по извлечению информации, указанным на шаге 120, может предшествовать одна или более операций предварительной обработки документа, выполняемых для определения структуры документа и определения соответствующей модели документа. В одном иллюстративном примере структура документа может включать иерархическую многоуровневую структуру, в которой разделы документа разделяются заголовками и подзаголовками. В другом иллюстративном примере структура документа может включать одну или более таблиц, содержащих несколько строк и столбцов, по меньшей мере некоторые из которых могут быть связаны с заголовками, которые в свою очередь могут быть организованы в многоуровневую иерархию. В другом иллюстративном примере структура документа может включать структуру страницы, содержащую верхний колонтитул страницы, тело страницы и (или) нижний колонтитул страницы. В другом иллюстративном примере структура документа может включать определенные текстовые поля, связанные с заранее определенными типами информации, такими как поле подписи, поле даты поле адреса, поле имени и т.д. Вычислительная система 100, в которой реализован этот способ, может интерпретировать структуру документа для получения определенной информации о структуре документа, которая может использоваться для расширения текстовой информации, содержащейся в этом документе. В некоторых реализациях изобретения при анализе структурированных документов вычислительная система может использовать различные вспомогательные онтологии, содержащие классы и концепты, отражающие специфическую структуру документа. Классы вспомогательной онтологии могут быть ассоциированы с определенными продукционными правилами и (или) функциями классификатора, которые могут быть применены к нескольким семантическим структурам, полученным при семантико-синтаксическом анализе соответствующего документа для внесения в результирующее множество семантических структур определенной информации, передаваемой структурой этого документа.[00051] In certain embodiments, information retrieval methods can be based on ontologies and (or) other document models for analyzing lexical, syntactic, semantic and (or) other attributes of a text in natural language. Thus, the information retrieval operations indicated in step 120 may be preceded by one or more document pre-processing operations performed to determine the structure of the document and determine the corresponding model of the document. In one illustrative example, a document structure may include a hierarchical multi-level structure in which sections of a document are separated by headers and subheadings. In another illustrative example, a document structure may include one or more tables containing several rows and columns, at least some of which may be associated with headings, which in turn may be organized into a multi-level hierarchy. In another illustrative example, a document structure may include a page structure comprising a page header, a page body, and / or a page footer. In another illustrative example, a document structure may include certain text fields associated with predetermined types of information, such as a signature field, a date field, an address field, a name field, etc. The computing system 100 that implements this method can interpret the structure of the document to obtain certain information about the structure of the document, which can be used to expand the text information contained in this document. In some implementations of the invention, when analyzing structured documents, a computing system may use various auxiliary ontologies containing classes and concepts that reflect the specific structure of the document. The auxiliary ontology classes can be associated with certain production rules and / or classifier functions, which can be applied to several semantic structures obtained by semantic-syntactic analysis of the corresponding document for inclusion in the resulting set of semantic structures of certain information transmitted by the structure of this document.

[00052] На шаге 130 вычислительная система может применить к тексту на естественном языке второй метод извлечения информации, который отличается от первого метода извлечения информации. В определенных вариантах реализации второй метод извлечения информации может использовать изменяемые наборы правил, автоматические методы классификации (также называемые «классификаторами машинного обучения»), эвристические подходы и (или) сочетание этих способов, что описано более подробно ниже со ссылкой на шаг 120. При применении второго метода извлечения информации может быть создано второе множество информационных объектов, которое может отличаться от первого множества информационных объектов, созданного при применении первого метода извлечения информации.[00052] In step 130, the computing system can apply a second method of extracting information to a natural language text that is different from the first method of extracting information. In certain implementations, the second method of extracting information can use variable sets of rules, automatic classification methods (also called “machine learning classifiers”), heuristic approaches and / or a combination of these methods, which is described in more detail below with reference to step 120. When applying a second set of information objects can be created that can be different from the first set of information objects created by applying the first method of extracting information.

[00053] На Фиг. 1 показано только два множества информационных объектов, извлекаемых с применением двух различных методов извлечения информации, однако различные варианты реализации способа 100 могут предусматривать применение двух или более различных методы извлечения информация для извлечения двух или более множеств информационных объектов.[00053] In FIG. 1 shows only two sets of information objects retrieved using two different methods of extracting information, however, various embodiments of method 100 may include two or more different methods of extracting information to extract two or more sets of information objects.

[00054] На шаге 140 вычислительная система может создавать промежуточный 250 перечень информационных объектов, который может включать по меньшей мере подмножество для каждого множества информационных объектов, извлеченных за счет применения различных методов извлечения информации на шагах 120-130. В иллюстративном примере вычислительная система может включать в промежуточный перечень информационные объекты, связанные с одним или более заранее определенными классами информационных объектов, с исключением информационных объектов, связанных с другими классами. В другом иллюстративном примере вычислительная система может исключать из промежуточного перечня информационные объекты одного или более заранее определенных классов информационных объектов. Как описано выше, промежуточный перечень может включать одно или более множеств потенциально конфликтующих информационных объектов, совместное существование которых нарушает одно или более заданных правил (например, перекрытие текстовых аннотаций или ограничения по кардинальности). Промежуточный перечень может быть представлен RDF-графом, созданным путем слияния RDF-графов, представляющих соответствующие множества извлеченных информационных объектов.[00054] At step 140, the computing system may create an intermediate 250 list of information objects, which may include at least a subset of each set of information objects extracted by applying various methods of extracting information in steps 120-130. In an illustrative example, a computing system may include in an interim list information objects associated with one or more predefined classes of information objects, with the exception of information objects associated with other classes. In another illustrative example, a computing system may exclude from the interim list information objects of one or more predetermined classes of information objects. As described above, an interim list may include one or more sets of potentially conflicting information objects, the joint existence of which violates one or more specified rules (for example, overlapping text annotations or cardinality restrictions). An intermediate list can be represented by an RDF graph created by merging RDF graphs representing the corresponding sets of extracted information objects.

[00055] На шаге 150 вычислительная система может определить один или более множеств конфликтующих информационных объектов, при этом каждое множество включает два или более информационных объекта, по меньшей мере два из которых были извлечены различными методами извлечения информации. В иллюстративном примере множество конфликтующих информационных объектов может включать два информационных объекта, при этом первый информационный объект относится к первому множеству информационных объектов, извлеченных по первому методу извлечения информации, а второй информационный объект относится ко второму множеству информационных объектов, извлеченных по второму методу извлечения информации.[00055] At step 150, the computing system can determine one or more sets of conflicting information objects, each set including two or more information objects, at least two of which were extracted by various methods of extracting information. In an illustrative example, a plurality of conflicting information objects may include two information objects, wherein the first information object relates to the first set of information objects extracted by the first information extraction method, and the second information object relates to the second set of information objects extracted by the second information extraction method.

[00056] В иллюстративном примере определение потенциально конфликтующих информационных объектов может включать определение извлеченных информационных объектов, имеющих как минимум частично пересекающиеся текстовые аннотации. Вычислительная система, реализующая этот способ, может итеративно обрабатывать промежуточный перечень извлеченных информационных объектов с целью выявления множеств информационных объектов (например, пары, триплеты, квадруплеты и т.д.) с пересекающимися текстовыми аннотациями. В определенных вариантах реализации вычислительная система может определять, что два или более извлеченных информационных объектов конфликтуют, если их соответствующие аннотации пересекаются по меньшей мере в пороговом количестве слов.[00056] In an illustrative example, identifying potentially conflicting information objects may include identifying extracted information objects having at least partially overlapping text annotations. A computer system that implements this method can iteratively process an intermediate list of extracted information objects in order to identify sets of information objects (for example, pairs, triplets, quadruplets, etc.) with intersecting text annotations. In certain embodiments, a computing system may determine that two or more extracted information objects conflict if their respective annotations intersect at least in a threshold number of words.

[00057] В другом иллюстративном примере определение потенциально конфликтующих информационных объектов может включать определение различных ограничений, связанных с атрибутами информационных объектов. В определенных вариантах реализации вычислительная система, реализующая этот способ, может выполнять оценку логических условий, определенных для атрибутов информационных объектов (например, сравнение атрибута одного информационного объекта с атрибутом другого информационного объекта). В иллюстративном примере вычислительная система может выявлять нарушение ограничения по кардинальности за счет определения информационного объекта, имеющего ряд атрибутов определенного типа (например, человек может иметь только одну дату рождения и одно место рождения). Кардинальность и другие ограничения могут быть указаны в модели документа или онтологии, связанной с обрабатываемым документом.[00057] In another illustrative example, the determination of potentially conflicting information objects may include the determination of various constraints associated with attributes of information objects. In certain embodiments, a computing system that implements this method can evaluate the logical conditions defined for attributes of information objects (for example, comparing an attribute of one information object with an attribute of another information object). In an illustrative example, a computing system can detect a violation of the cardinality limit by defining an information object that has a number of attributes of a certain type (for example, a person can have only one date of birth and one place of birth). Cardinality and other restrictions can be specified in the model of the document or ontology associated with the processed document.

[00058] На шаге 160 вычислительная система может применить функцию «арбитража» конфликтующих объектов для каждого выявленного множества конфликтующих информационных объектов для разрешения конфликтов в промежуточном перечне информационных объектов, за счет чего создается окончательный перечень информационных объектов, извлеченных из текстов на естественном языке. Для каждого множества конфликтующих информационных объектов функция «арбитража» конфликтующих объектов может разрешать конфликт путем анализа морфологических, лексических, синтаксических, семантических и (или) иных атрибутов конфликтующих информационных объектов с целью создания результата, подтверждающего один или более потенциально конфликтующих объектов, изменяющего один или более потенциально конфликтующих объектов, удаляющего один или более потенциально конфликтующих объектов и (или) выполняющего слияние одного или более потенциально конфликтующих объектов. На основе результатов работы функции «арбитража» конфликтующих объектов вычислительная система может изменять RDF-граф, представляющий промежуточный перечень извлеченных информационных объектов, на основе чего создается окончательный RDF-граф.[00058] At step 160, the computing system can apply the function of “arbitration” of conflicting objects for each identified set of conflicting information objects to resolve conflicts in the intermediate list of information objects, thereby creating a final list of information objects extracted from natural language texts. For each set of conflicting information objects, the “arbitration” function of conflicting objects can resolve the conflict by analyzing the morphological, lexical, syntactic, semantic and (or) other attributes of conflicting information objects in order to create a result confirming one or more potentially conflicting objects, changing one or more potentially conflicting objects, deleting one or more potentially conflicting objects and (or) merging one or more potentially conflicting objects. Based on the results of the function of "arbitration" of conflicting objects, the computing system can modify the RDF graph representing an intermediate list of extracted information objects, on the basis of which the final RDF graph is created.

[00059] На Фиг. 2 схематически показан пример «арбитража» конфликтующих объектов, который может быть выполнен в соответствии с одним или более вариантами реализации настоящего изобретения. Как показано за Фиг. 2, при применении к тексту на естественном языке 210 первого метода извлечения информации 220А создается первое множество информационных объектов 230А, а при применении к тексту на естественном языке 210 второго метода извлечения информации 220В создается второе множество информационных объектов 230В. Первое множество информационных объектов 230А может включать информационный объект 240А, который может быть потенциально конфликтующим с информационным объектом 240В, входящим во второе множество информационных объектов 230В. При применении функции «арбитража» конфликтующих объектов 250 к потенциально конфликтующим информационным объектам 260 может создаваться один из результатов «арбитража» конфликтующих объектов 260. Результат «арбитража» конфликтующих объектов 260А включает подтверждение информационных объектов 240А и 240В и изменение по меньшей мере некоторых из их атрибутов (например, путем изменения класса информационного объекта и соответствующего разрешения очевидного конфликта). Результат «арбитража» конфликтующих объектов 260В включает удаление информационного объекта 240В. По меньшей мере некоторые из атрибутов удаленного информационного объекта 240В могут быть скопированы в оставшийся информационный объект 240А. Результат «арбитража» конфликтующих объектов 260С включает слияние информационных объектов 240А и 240В в новый информационный объект 240С.[00059] FIG. 2 schematically shows an example of “arbitration” of conflicting entities that can be performed in accordance with one or more embodiments of the present invention. As shown in FIG. 2, when the first set of information extraction method 220A is applied to the natural language text 210, the first set of information objects 230A is created, and when the second method of information extraction 220V is applied to the text in natural language 210, the second set of information objects 230B is created. The first set of information objects 230A may include an information object 240A, which may be potentially conflicting with the information object 240B included in the second set of information objects 230B. When applying the function of “arbitration” of conflicting objects 250 to potentially conflicting information objects 260, one of the results of the “arbitration” of conflicting objects 260 can be created. The result of the “arbitration” of conflicting objects 260A includes confirmation of information objects 240A and 240B and changing at least some of their attributes (for example, by changing the class of the information object and corresponding resolution of the obvious conflict). The result of the “arbitration” of conflicting entities 260B includes the removal of the information entity 240B. At least some of the attributes of the remote information object 240B may be copied to the remaining information object 240A. The result of the “arbitration” of conflicting objects 260C includes the merger of information objects 240A and 240B into a new information object 240C.

[00060] В определенных вариантах реализации функция «арбитража» конфликтующих информационных объектов может применять одно или более настраиваемых продукционных правил оценки логических условий, определенных для морфологических, лексических, синтаксических, семантических и (или) иных атрибутов извлеченных информационных объектов. В иллюстративном примере реализации атрибуты извлеченных информационных объектов, оцениваемые продукционными правилами, могут включать степени уверенности, связанные с соответствующими информационными объектами. Степени уверенности могут создаваться методами извлечения информации, применяемыми на шагах 120-130.[00060] In certain embodiments, the arbitration function of conflicting information objects may apply one or more customizable production rules for evaluating logical conditions defined for morphological, lexical, syntactic, semantic and (or) other attributes of the extracted information objects. In an illustrative implementation example, the attributes of the extracted information objects evaluated by production rules may include confidence levels associated with the corresponding information objects. Confidence levels can be created by the information extraction methods used in steps 120-130.

[00061] Как вариант, функция «арбитража» конфликтующих объектов может включать один или более классификаторов машинного обучения. В иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может обеспечивать степень обоснованности одного или более возможных результатов «арбитража» (например, слияние возможных конфликтующих объектов в единый объект, подтверждение одного или более извлеченных объектов, изменение одного или более извлеченных объектов и (или) удаление одного или более извлеченных объектов). В другом иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может фиксировать сходство двух или более информационных объектов, представляющих один и тот же объект реальной жизни. Если вероятность превышает пороговое значение, функция «арбитража» конфликтующих объектов может выполнять слияние выявленных информационных объектов. В еще одном иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может создавать степени уверенности, связанные с каждым информационным объектом из множества конфликтующих информационных объектов. Функция «арбитража» конфликтующих объектов может удалять один или более информационных объектов с минимальной степенью уверенности и (или) степенью уверенности ниже заданного порога.[00061] Alternatively, the arbitration function of conflicting entities may include one or more machine learning classifiers. In an illustrative example, the classifier used by the “arbitration” function of conflicting objects can provide the degree of validity of one or more possible results of the “arbitration” (for example, merging possible conflicting objects into a single object, confirming one or more extracted objects, changing one or more extracted objects and (or) deletion of one or more extracted objects). In another illustrative example, the classifier used by the “arbitration” function of conflicting objects can record the similarity of two or more information objects representing the same real-life object. If the probability exceeds a threshold value, the function of “arbitration” of conflicting objects can merge the identified information objects. In yet another illustrative example, a classifier used by the arbitrage function of conflicting objects can create degrees of confidence associated with each information object from a plurality of conflicting information objects. The arbitration function of conflicting objects can delete one or more information objects with a minimum degree of certainty and (or) a degree of certainty below a given threshold.

[00062] Классификаторы, использующиеся функцией «арбитража» конфликтующих объектов, могут быть обучены на основе существовавших ранее или динамически созданных обучающих выборок данных, на основе которых результаты «арбитража» могут быть соотнесены с морфологическими, лексическими, синтаксическими, семантическими и (или) другими атрибутами извлеченных информационных объектов. В определенных вариантах реализации атрибуты извлеченных информационных объектов, оцениваемые классификаторами на основе машинного обучения, могут включать степени уверенности, связанные с соответствующими информационными объектами. Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейросети и т.д.[00062] Classifiers used by the function of "arbitration" of conflicting objects can be trained based on pre-existing or dynamically created training data samples, based on which the results of the "arbitration" can be correlated with morphological, lexical, syntactic, semantic and (or) other attributes of extracted information objects. In certain implementations, the attributes of the extracted information objects evaluated by classifiers based on machine learning may include confidence levels associated with the corresponding information objects. Classification methods may include differential evolution methods, genetic algorithms, random forest methods, neural networks, etc.

[00063] Классификатор может быть обучен с использованием ранее существовавших и (или) динамически созданных обучающих выборок данных, на основе которых выполняется корреляция возможных результатов «арбитража» с лексическими, синтаксическими, семантическими и (или) иными атрибутами текста на естественном языке. Обучающая выборка данных может включать один или более текстов на естественном языке в сопровождении метаданных, которые определяют множества конфликтующих информационных объектов, их классификацию, атрибуты и соответствующие результаты «арбитража» конфликтующих объектов. В иллюстративном примере метаданные могут быть представлены разметкой, связанной с текстом на естественном языке. В определенных вариантах реализации обучающая выборка данных может итеративно совершенствоваться за счет добавления новых текстов на естественном языке, сопровождаемых подтвержденными пользователем метаданными. Валидация метаданных может включать получение через графический интерфейс пользователя пользовательского ввода, подтверждающего или корректирующего извлеченные информационные объекты и их атрибуты. В некоторых реализациях верифицированные пользователем тексты и сопровождающие их метаданные, специфицирующие извлеченные информационные объекты, их атрибуты и текстовые аннотации, могут быть использованы для формирования и обновления обучающих выборок, применяемых для обучения классификаторов как подробно описано ниже.[00063] The classifier can be trained using pre-existing and (or) dynamically created training data samples, based on which the possible results of the “arbitration” are correlated with lexical, syntactic, semantic and (or) other attributes of the text in natural language. A training data set may include one or more natural language texts accompanied by metadata that defines the sets of conflicting information objects, their classification, attributes and the corresponding results of the “arbitration” of conflicting objects. In an illustrative example, metadata may be represented by markup associated with natural language text. In certain implementations, the training data set can be iteratively improved by adding new natural language texts, accompanied by user-confirmed metadata. Validation of metadata may include receiving user input through a graphical user interface that confirms or corrects the extracted information objects and their attributes. In some implementations, user-verified texts and their accompanying metadata specifying the extracted information objects, their attributes and text annotations can be used to generate and update training samples used to train classifiers as described in detail below.

[00064] Со ссылкой на Фиг. 1, на шаге 170 вычислительная система может использовать окончательный перечень информационных объектов для выполнения задач или операций обработки естественного языка, включая машинный перевод, семантическое индексирование, семантический поиск (в том числе семантический поиск на нескольких языках), классификацию документов, поиск и представление электронных документов (е-discovery) и т.д. В некоторых реализациях компьютерная система может отображать извлеченные информационные объекты с визуальными ссылками к фрагментам текста на естественном языке и учитывать действия пользователя, подтверждающие или изменяющие текстовые аннотации и/или результат классификации объекта.[00064] With reference to FIG. 1, in step 170, the computing system can use the final list of information objects to perform tasks or natural language processing operations, including machine translation, semantic indexing, semantic search (including semantic search in several languages), document classification, search and presentation of electronic documents (e-discovery) etc. In some implementations, the computer system may display the extracted information objects with visual links to fragments of text in natural language and take into account user actions that confirm or modify text annotations and / or the result of the classification of the object.

[00065] В некоторых вариантах осуществления определение классификатора, используемого для извлечения информации, может содержать один или более параметров, значения которых могут регулироваться с помощью методов машинного обучения, и может также включать один или более гиперпараметров, значения которых могут определяться некоторыми внешними по отношению к методам машинного обучения операциями или процессами. Другими словами, значения гиперпараметров классификатора определяются до применения методов машинного обучения для тонкой настройки параметров классификатора.[00065] In some embodiments, the definition of the classifier used to extract the information may include one or more parameters, the values of which can be adjusted using machine learning methods, and may also include one or more hyperparameters, the values of which can be determined by some external to machine learning methods by operations or processes. In other words, the values of the classifier hyperparameters are determined before the application of machine learning methods for fine-tuning the classifier parameters.

[00066] В одном из иллюстративных примеров гиперпараметр классификатора извлечения информации может быть представлен параметром регуляризации классификатора градиентного бустинга. В другом иллюстративном примере гиперпараметр классификатора извлечения информации может быть представлен параметром β F-меры, полученным путем оценки информационного объекта, выдаваемого классификатором, который определяется следующим образом:[00066] In one illustrative example, the hyperparameter of the information extraction classifier can be represented by the regularization parameter of the gradient boosting classifier. In another illustrative example, the hyperparameter of the information extraction classifier can be represented by the parameter β of the F-measure, obtained by evaluating the information object issued by the classifier, which is determined as follows:

[00067]

Figure 00000001
[00067]
Figure 00000001

где Точность = tp/(tp+fp) и Полнота = tp/(tp+fn),where Accuracy = t p / (t p + f p ) and Completeness = t p / (t p + f n ),

tp - это количество истинно положительных результатов (правильно классифицированных извлеченных информационных объектов), fp - количество ложно положительных результатов (информационный объект, который не принадлежит к определенному классу, был классифицирован как принадлежащий к этому классу), a fn - количество ложно отрицательных результатов (информационный объект, который принадлежит к определенному классу, не был классифицирован как принадлежащий к этому классу).t p is the number of truly positive results (correctly classified extracted information objects), f p is the number of false positive results (an information object that does not belong to a particular class was classified as belonging to this class), af n is the number of false negative results (an information object that belongs to a particular class has not been classified as belonging to this class).

[00068] В некоторых вариантах реализации значения одного или более гиперпараметров классификатора извлечения информации может итеративно регулироваться путем итеративного выполнения операций обучения классификатора извлечения информации, обучения классификатора «арбитража» конфликтов, выполнения функции «арбитража» конфликтов и модификации значений гиперпараметров на основе результата применения функции «арбитража» конфликтов, таким образом производится итеративная оптимизация показателя качества для оценки итогового списка извлеченных информационных объектов, как более подробно будет описано ниже в этом документе со ссылкой на Фиг. 3.[00068] In some embodiments, the values of one or more hyperparameters of the information extraction classifier can be iteratively controlled by iteratively performing the operations of training the information extraction classifier, training the conflict arbitration classifier, performing the conflict arbitration function, and modifying the values of the hyper parameters based on the result of applying the function " arbitration ”of conflicts, thus iterative optimization of the quality indicator is made to evaluate the final list of involved information objects, as will be described in more detail later in this document with reference to FIG. 3.

[00069] На Фиг. 3 приведена блок-схема одного примера способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке в соответствии с одним или более вариантами реализации настоящего изобретения. Способ 300 и (или) каждая из его отдельных функций, программ, подпрограмм или операций могут выполняться одним или более процессорами вычислительной системы (например, вычислительной системы 1000 на Фиг. 16), реализующими этот способ. В некоторых вариантах реализации способ 300 может выполняться в одном потоке обработки. При альтернативном подходе способ 300 может быть реализован двумя или более потоками обработки, при этом в каждом потоке реализована одна или несколько отдельных функций, процедур, подпрограмм или операций этого способа. В иллюстративном примере потоки обработки, в которых реализован способ 300, могут быть синхронизированы (например, с использованием семафоров, критических секций и (или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, реализующие способ 300, могут выполняться асинхронно по отношению друг к другу.[00069] In FIG. 3 is a flow chart of one example of a classifier training method used to extract information from natural language texts in accordance with one or more embodiments of the present invention. The method 300 and / or each of its individual functions, programs, subprograms, or operations can be performed by one or more processors of a computing system (eg, computing system 1000 in FIG. 16) that implement this method. In some embodiments, method 300 may be performed in a single processing stream. In an alternative approach, method 300 may be implemented by two or more processing threads, with one or more separate functions, procedures, routines, or operations of this method being implemented in each thread. In an illustrative example, processing streams that implement method 300 can be synchronized (for example, using semaphores, critical sections, and / or other thread synchronization mechanisms). In an alternative approach, processing streams implementing method 300 may be performed asynchronously with respect to each other.

[00070] На шаге 310 вычислительная система реализует способ, позволяющий обучать классификатор извлечения информации извлечению множества информационных объектов из текста на естественном языке. В некоторых вариантах реализации определение классификатора может включать один или более параметров, значения которых регулируются при операции обучения классификатора и могут дополнительно включать один или более гиперпараметров, значения которых могут определяться некоторой внешней по отношению к машинному обучению операцией или процессом. В одном из иллюстративных примеров гиперпараметр классификатора извлечения информации может быть представлен параметром регуляризации классификатора градиентного бустинга. В другом иллюстративном примере гиперпараметр классификатора извлечения информации может быть представлен параметром β F-меры, полученным путем оценки информационного объекта, выдаваемого классификатором.[00070] At step 310, the computing system implements a method for training a classifier for extracting information to extract multiple information objects from a text in a natural language. In some embodiments, the definition of a classifier may include one or more parameters, the values of which are adjusted during the training operation of the classifier, and may additionally include one or more hyperparameters, the values of which can be determined by an operation or process external to machine learning. In one illustrative example, the hyperparameter of the information extraction classifier can be represented by the regularization parameter of the gradient boosting classifier. In another illustrative example, the hyperparameter of the information extraction classifier can be represented by the parameter β of the F-measure, obtained by evaluating the information object issued by the classifier.

[00071] В одном из иллюстративных примеров аннотированный корпус текстов, используемый для обучения классификатора извлечения информации, может быть разделен на обучающую выборку данных и набор проверочных данных. Обучающая выборка данных затем может быть использована для определения значений параметров классификатора, а набор проверочных данных может использоваться для вычисления показателя качества извлечения информации (то есть, быть представлен параметризованной F-мерой). В одном из иллюстративных примеров процесс обучения может включать настройку одного или более параметров классификатора извлечения информации до тех пор, пока выбранный показатель качества, применяемый к извлеченным информационным объектам, не будет соответствовать установленному заранее пороговому значению.[00071] In one illustrative example, the annotated body of texts used to train a classifier for extracting information can be divided into a training data set and a set of test data. The training data sample can then be used to determine the values of the classifier parameters, and the test data set can be used to calculate the quality of information extraction (that is, be represented by a parameterized F-measure). In one illustrative example, the learning process may include setting up one or more parameters of the information extraction classifier until the selected quality indicator applied to the extracted information objects corresponds to a predetermined threshold value.

[00072] Разделение корпуса текстов может включать перекрестную проверку обучающей выборки данных и набора проверочных данных. Для сокращения непостоянства результата может выполняться несколько итераций перекрестной проверки с применением различных разделений, а результаты проверки модели могут быть агрегированы (например, усреднены) по итерациям. В иллюстративном примере к корпусу текстов на естественном языке может применяться способ k-кратной перекрестной проверки. Способ может включать случайное разделение исходного корпуса текстов на k наборов данных одинакового размера, один из которых затем используется в качестве набора проверочных данных, а оставшиеся k-1 дополнительных наборов затем используются как обучающие выборки данных. Затем процесс перекрестной проверки может быть повторен k раз таким образом, чтобы каждый из k наборов данных использовался один раз в качестве проверочных данных. После этого k результатов могут быть агрегированы для создания единого расчета.[00072] Separation of a text corpus may include cross-validation of a training data set and a set of verification data. To reduce the variability of the result, several cross-validation iterations can be performed using various divisions, and the model verification results can be aggregated (for example, averaged) over iterations. In an illustrative example, a k-fold cross-validation method may be applied to the body of natural language texts. The method may include randomly dividing the original text corpus into k data sets of the same size, one of which is then used as a set of verification data, and the remaining k-1 additional sets are then used as training data samples. The cross-validation process can then be repeated k times so that each of the k data sets is used once as validation data. After that, k results can be aggregated to create a single calculation.

[00073] На шаге 320 вычислительная система может использовать классификатор извлечения информации к набору проверочных данных, получая таким образом первое множество информационных объектов.[00073] In step 320, the computing system may use a classifier for extracting information to a set of verification data, thereby obtaining the first set of information objects.

[00074] На шаге 330 вычислительная система может применять к тому же набору проверочных данных второй метод извлечения информации, который отличается от упомянутого ранее классификатора извлечения информации, таким образом получая второе множество информационных объектов. В одном из иллюстративных примеров второй метод извлечения информации может использовать набор настраиваемых продукционных правил для интерпретации набора семантико-синтаксических структур, полученных путем семантико-синтаксического анализа текста на естественном языке, как более подробно описано ниже в этом документе. В другом иллюстративном примере второй метод извлечения информации может использовать один или более классификаторов машинного обучения, которые отличаются от указанного выше классификатора извлечения информации, который использовался для извлечения первого множества информационных объектов.[00074] In step 330, the computing system can apply a second information extraction method to the same set of test data that is different from the information extraction classifier mentioned above, thereby obtaining a second set of information objects. In one illustrative example, the second method of extracting information can use a set of customizable production rules to interpret a set of semantic-syntactic structures obtained by semantic-syntactic analysis of text in natural language, as described in more detail later in this document. In another illustrative example, the second information extraction method may use one or more machine learning classifiers that are different from the above information extraction classifier, which was used to extract the first set of information objects.

[00075] На шаге 340 вычислительная система может определить один или более множеств конфликтующих информационных объектов, при этом каждое множество включает два или более информационных объекта, по меньшей мере два из которых были извлечены различными методами извлечения информации. В иллюстративном примере множество конфликтующих информационных объектов может включать два информационных объекта, при этом первый информационный объект относится к первому множеству информационных объектов, извлеченных с помощью классификатора извлечения информации, а второй информационный объект относится ко второму множеству информационных объектов, извлеченных по другому методу извлечения информации, как более подробно было рассмотрено выше.[00075] At step 340, the computing system can determine one or more sets of conflicting information objects, each set including two or more information objects, at least two of which have been extracted by various methods of extracting information. In an illustrative example, a plurality of conflicting information objects may include two information objects, wherein the first information object relates to the first set of information objects extracted using the information extraction classifier, and the second information object relates to the second set of information objects extracted using another information extraction method, as discussed in more detail above.

[00076] На шаге 350 вычислительная система может применить функцию арбитража конфликтов к каждому обнаруженному множеству конфликтующих информационных объектов, чтобы разрешить конфликты, таким образом, создается окончательный список информационных объектов, извлеченных из текстов на естественном языке, как описано более подробно выше.[00076] In step 350, the computing system can apply a conflict arbitration function to each detected plurality of conflicting information objects to resolve conflicts, thereby creating a final list of information objects extracted from natural language texts, as described in more detail above.

[00077] В иллюстративном примере функция «арбитража» конфликтующих объектов, может быть реализована классификатором на основе машинного обучения, обученным производить степень "обоснованности" одного или более возможных результатов «арбитража» (например, слияние возможных конфликтующих объектов в единый объект, подтверждение одного или более извлеченных объектов, изменение одного или более извлеченных объектов и (или) удаление одного или более извлеченных объектов). В другом иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может обеспечивать сходство двух или более информационных объектов, представляющих один и тот же объект реальной жизни. Если вероятность превышает пороговое значение, функция «арбитража» конфликтующих объектов может выполнять слияние выявленных информационных объектов. В другом иллюстративном примере классификатор, использующийся функцией «арбитража» конфликтующих объектов, может создавать степени уверенности, связанные с каждым информационным объектом из множества конфликтующих информационных объектов. Функция «арбитража» конфликтующих объектов может удалять один или более информационных объектов с минимальной степенью уверенности и (или) степенью уверенности ниже заданного порога.[00077] In an illustrative example, the function of “arbitration” of conflicting objects can be implemented by a machine learning classifier trained to produce the degree of “validity” of one or more possible results of “arbitration” (for example, merging possible conflicting objects into a single object, confirming one or more extracted objects, changing one or more extracted objects and (or) deleting one or more extracted objects). In another illustrative example, the classifier used by the “arbitration” function of conflicting objects can ensure the similarity of two or more information objects representing the same real-life object. If the probability exceeds a threshold value, the function of “arbitration” of conflicting objects can merge the identified information objects. In another illustrative example, the classifier used by the “arbitration” function of conflicting objects can create confidence levels associated with each information object from the set of conflicting information objects. The arbitration function of conflicting objects can delete one or more information objects with a minimum degree of certainty and (or) a degree of certainty below a given threshold.

[00078] Альтернативно, функция арбитража конфликтов может быть реализована одним или несколькими настраиваемыми правилами, оценивающими логические условия, определенные на морфологических, лексических, синтаксических, семантических и/или других атрибутах извлеченных информационных объектов, как описано более подробно здесь.[00078] Alternatively, the conflict arbitration function may be implemented by one or more custom rules evaluating logical conditions defined on morphological, lexical, syntactic, semantic and / or other attributes of the extracted information objects, as described in more detail here.

[00079] На шаге 360 вычислительная система может оценивать заранее определенный показатель качества, применяемый к итоговому набору извлеченных информационных объектов. В одном из иллюстративных примеров показатель качества обеспечивается при помощи F-меры.[00079] In step 360, the computing system can evaluate a predetermined quality metric applied to the final set of extracted information objects. In one illustrative example, a quality score is provided using an F-measure.

[00080] В ответ на определение на шаге 370 того, что заранее определенные условия прекращения не выполнены, обработка продолжается на шаге 380 изменением одного или более гиперпараметров классификатора извлечения информации. В одном из иллюстративных примеров гиперпараметр может быть представлен параметром β F-меры, который используется для оценки качества извлечения информации. Таким образом, вычислительная система может модифицировать значение параметра β для повышения точности или полноты результатов, получаемых от классификатора извлечения информации. В некоторых вариантах осуществления вычислительная система может реализовывать поиск по сетке параметров, итеративно изменяя значения одного или более гиперпараметров на заранее определенные приращения так, чтобы параметры оставались внутри определенных диапазонов, таким образом оптимизируя показатель качества, применяемый для итогового набора извлеченных информационных объектов. После выполнения операций на шаге 380 способ может вернуться к шагу 310.[00080] In response to the determination in step 370 that the predetermined termination conditions are not met, processing continues at step 380 by changing one or more hyperparameters of the information extraction classifier. In one illustrative example, the hyperparameter can be represented by the β parameter of the F-measure, which is used to evaluate the quality of information extraction. Thus, the computing system can modify the value of the parameter β to increase the accuracy or completeness of the results obtained from the information extraction classifier. In some embodiments, the computing system may search a grid of parameters by iteratively changing the values of one or more hyperparameters to predetermined increments so that the parameters remain within certain ranges, thereby optimizing the quality score used for the final set of extracted information objects. After performing operations in step 380, the method may return to step 310.

[00081] В ответ на определение на шаге 370 факта выполнения условий прекращения способ может выйти из цикла и продолжить работу на шаге 390. В одном из иллюстративных примеров условия прекращения могут определяться по максимальному количеству выполненных итераций. В ответ на определение факта выполнения указанного числа операций вычислительная система может на шаге 390 выявить среди значений, указанных выше, заранее определенных показателей качества, оцененных на шаге 370, которые создавались на всех выполненных итерациях, оптимальное (то есть минимальное или максимальное) значение показателя качества и соответствующим образом выявить значения гиперпараметров классификатора извлечения информации, который использовался в итерации, которая показала оптимальный показатель качества.[00081] In response to the determination at step 370 of the fact that the termination conditions are met, the method may exit the loop and continue to operation at step 390. In one illustrative example, the termination conditions can be determined by the maximum number of iterations performed. In response to the determination of the fact that the specified number of operations has been performed, the computing system can, at step 390, identify among the values indicated above the predetermined quality indicators evaluated at step 370 that were created at all iterations performed, the optimal (i.e., minimum or maximum) value of the quality indicator and appropriately identify the values of the hyperparameters of the information extraction classifier, which was used in the iteration, which showed the optimal quality indicator.

[00082] В другом иллюстративном примере условия прекращения, проверенные на шаге 370, могут определять пороговое значение, соответствующее показателю качества, который оценивался на шаге 370. В ответ на определение факта соответствия показателя качества указанному пороговому значению вычислительная система может на шаге 390 выявить значения гиперпараметров классификатора извлечения информации, который был использован в последней выполненной итерации, которая дала значение показателя качества, соответствующее условиям прекращения выполнения. В ответ на определение значений гиперпараметров классификатора извлечения информации способ может прекратить работу. Обученный классификатор извлечения информации может быть затем использован в способе 100 извлечения информации.[00082] In another illustrative example, the termination conditions checked in step 370 can determine a threshold value corresponding to the quality indicator that was evaluated in step 370. In response to determining whether the quality indicator matches the specified threshold value, the computing system can detect hyperparameter values in step 390 information extraction classifier that was used in the last iteration that yielded a quality indicator value corresponding to the termination conditions tions. In response to determining the values of the hyperparameters of the information extraction classifier, the method may stop working. The trained information extraction classifier can then be used in the information extraction method 100.

[00083] Как отмечено выше, в некоторых реализациях функция арбитража конфликтов может выполняться посредством классификатора на основе машинного обучения. Определение такого классификатора может включать в себя один или несколько параметров, значения которых могут настраиваться с помощью методов машинного обучения и могут дополнительно включать в себя один или несколько гиперпараметров, значения которых могут быть определены некоторыми внешними по отношению к машинному обучению, операциями или процессом. Другими словами, значения гиперпараметров классификатора определяются до применения методов машинного обучения для точной настройки параметров классификатора.[00083] As noted above, in some implementations, a conflict arbitration function may be performed by a machine learning classifier. The definition of such a classifier may include one or more parameters, the values of which can be adjusted using machine learning methods and may additionally include one or more hyperparameters, the values of which can be determined by some external to the machine learning operations or process. In other words, the values of the classifier hyperparameters are determined before the application of machine learning methods to fine tune the parameters of the classifier.

[00084] В иллюстративном примере гиперпараметр классификатора арбитража конфликтов может быть представлен параметром регуляризации классификатора градиентного бустинга. В другом иллюстративном примере гиперпараметр классификатора арбитража конфликтов может быть представлен параметром β показателя F-меры путем оценки информационных объектов, полученных классификатором.[00084] In an illustrative example, the conflict arbitration classifier hyperparameter may be represented by a gradient boost classifier regularization parameter. In another illustrative example, the hyperparameter of the arbitration classifier can be represented by the parameter β of the F-measure indicator by evaluating the information objects obtained by the classifier.

[00085] В некоторых реализациях значения одного или нескольких гиперпараметров классификатора арбитража конфликтов могут итеративно корректироваться путем итеративного выполнения операций извлечения первого множества информационных объектов, извлечения второго множества информационных объектов, изменения значений гипер-параметров на основе оценки качества извлечения информации, и обучение классификатора арбитража конфликтов, таким образом итеративно оптимизируя метрику качества, оценивая окончательный список извлеченных информационных объектов. В некоторых реализациях компьютерная система может реализовать поиск лучших параметров по сетке (grid search) путем итеративного изменения значений одного или нескольких гиперпараметров с помощью заранее определенных приращений, в то время как параметры остаются в определенных диапазонах, таким образом оптимизируя метрику качества, применяемую к окончательному набору извлеченных информационных объектов, как более подробно описано ниже со ссылкой на Фиг. 4.[00085] In some implementations, the values of one or more hyperparameters of a conflict arbitration classifier can be iteratively adjusted by iteratively performing operations to extract the first set of information objects, extract the second set of information objects, change hyper parameter values based on the quality of information extraction, and train the conflict arbitrator classifier , thus iteratively optimizing the quality metric, evaluating the final list of extracted information tion objects. In some implementations, a computer system can implement a grid search by iteratively changing the values of one or more hyperparameters using predetermined increments, while the parameters remain in certain ranges, thereby optimizing the quality metric applied to the final set extracted information objects, as described in more detail below with reference to FIG. four.

[00086] На Фиг. 4 показана блок-схема другого примера способа обучения классификатора, используемого для извлечения информации из текстов на естественном языке, в соответствии с одним или несколькими аспектами настоящего раскрытия. Способ 400 и/или каждая из его отдельных функций, подпрограмм, подпрограмм или операций может выполняться одним или несколькими процессорами компьютерной системы (например, компьютерной системой 1000 на Фиг. 16), реализующей этот метод. В некоторых реализациях способ 400 может выполняться одним потоком обработки. Альтернативно, способ 400 может выполняться двумя или более потоками обработки, причем каждый поток реализует одну или несколько отдельных функций, подпрограмм, подпрограмм или операций этого метода. В иллюстративном примере способ реализации 400 потоков обработки может быть синхронизирован (например, с использованием семафоров, критических секций и/или других механизмов синхронизации потоков). Альтернативно, способ 400 реализации потоков обработки может выполняться асинхронно относительно друг друга.[00086] In FIG. 4 is a flowchart of another example of a classifier training method used to extract information from natural language texts in accordance with one or more aspects of the present disclosure. Method 400 and / or each of its individual functions, subprograms, subprograms, or operations may be performed by one or more processors of a computer system (eg, computer system 1000 in FIG. 16) that implements this method. In some implementations, method 400 may be performed by a single processing thread. Alternatively, method 400 may be performed by two or more processing threads, with each thread implementing one or more separate functions, routines, routines, or operations of this method. In an illustrative example, a method for implementing 400 processing threads may be synchronized (for example, using semaphores, critical sections, and / or other thread synchronization mechanisms). Alternatively, the method 400 for implementing processing threads may be performed asynchronously with respect to each other.

[00087] На этапе 410 компьютерная система, реализующая способ, может применять к тексту на естественном языке первый метод извлечения информации. В некоторых реализациях первый метод извлечения информации может использовать настраиваемые наборы правил, автоматические методы классификации (также известные как «классификаторы на основе машинного обучения»), эвристические подходы и/или их комбинации. Применение первого метода извлечения информации к тексту на естественном языке может создавать первое множество информационных объектов одного или нескольких типов информационных объектов.[00087] At step 410, a computer system implementing the method can apply the first information extraction method to natural language text. In some implementations, the first method of extracting information may use custom rule sets, automatic classification methods (also known as “machine learning classifiers”), heuristic approaches and / or combinations thereof. Applying the first method of extracting information to a text in a natural language can create the first set of information objects of one or more types of information objects.

[00088] На этапе 420 компьютерная система может применять к тексту на естественном языке второй метод извлечения информации, которая отличается от первого метода извлечения информации. В некоторых реализациях второй метод извлечения информации может использовать настраиваемые наборы правил, автоматические методы классификации (также известные как «классификаторы на основе машинного обучения»), эвристические подходы и/или их комбинации. Применение второго метода извлечения информации к тексту на естественном языке может создавать второе множество информационных объектов, которое может отличаться от первого множества информационных объектов, созданных с помощью первого метода извлечения информации.[00088] At step 420, the computer system may apply a second method of extracting information to a natural language text that is different from the first method of extracting information. In some implementations, the second method of extracting information may use custom rule sets, automatic classification methods (also known as “machine learning classifiers”), heuristic approaches and / or combinations thereof. Applying the second method of extracting information to a text in a natural language can create a second set of information objects that can differ from the first set of information objects created using the first method of extracting information.

[00089] На этапе 430 компьютерная система может изменять значения одного или нескольких гиперпараметров классификатора арбитража конфликтов. В иллюстративном примере гиперпараметр может быть представлен параметром регуляризации метода градиентного бустинга. В другом иллюстративном примере гиперпараметр может быть представлен параметром β метрики F-меры путем оценки информационных объектов, полученных классификатором. В некоторых реализациях компьютерная система может реализовать поиск лучших параметров по сетке (grid search) путем итеративного изменения значений одного или нескольких гиперпараметров с помощью заранее определенных приращений, в то время как параметры остаются в определенных диапазонах, таким образом оптимизируя метрику качества, применяемую к окончательному набору извлеченных информационных объектов.[00089] At step 430, the computer system can change the values of one or more hyperparameters of the arbitration conflict classifier. In an illustrative example, a hyperparameter can be represented by a regularization parameter of the gradient boosting method. In another illustrative example, the hyperparameter can be represented by the parameter β of the metric of the F-measure by evaluating the information objects obtained by the classifier. In some implementations, a computer system can implement a grid search by iteratively changing the values of one or more hyperparameters using predetermined increments, while the parameters remain in certain ranges, thereby optimizing the quality metric applied to the final set extracted information objects.

[00090] На этапе 440 компьютерная система может обучать классификатор арбитража конфликтов для выполнения функции арбитража конфликтов в отношении набора конфликтующих информационных объектов, чтобы составить окончательный список извлеченных информационных объектов. В иллюстративном примере набор конфликтующих информационных объектов может содержать два информационных объекта, так что первый информационный объект принадлежит первому множеству информационных объектов, который был извлечен классификатором извлечения информации, тогда как второй информационный объект принадлежит второму множеству информационных объектов, которые были извлечены с помощью второго метода извлечения информации, как описано более подробно выше.[00090] At step 440, a computer system can train a conflict arbitration classifier to perform a conflict arbitration function with respect to a set of conflicting information objects to compile a final list of extracted information objects. In an illustrative example, a set of conflicting information objects may contain two information objects, so that the first information object belongs to the first set of information objects that was extracted by the information extraction classifier, while the second information object belongs to the second set of information objects that were extracted using the second extraction method information as described in more detail above.

[00091] В иллюстративном примере классификатор, используемый функцией арбитража конфликтов, может выдать степень обоснованности одного или нескольких возможных результатов арбитража (например, объединение двух или более потенциально конфликтующих объектов в один объект, подтверждение одного или нескольких извлеченных объектов, изменение одного или нескольких извлеченных объектов и/или удаление одного или нескольких извлеченных объектов). В другом иллюстративном примере классификатор, используемый функцией арбитража конфликтов, может оценивать вероятность того, что два или более информационных объекта представляют один и тот же объект реальной жизни. Если вероятность превышает пороговое значение, функция арбитража конфликтов может объединять идентифицированные информационные объекты. В другом иллюстративном примере классификатор, используемый функцией арбитража конфликтов, может продуцировать степени достоверности, связанные с каждым информационным объектом из множества конфликтующих информационных объектов. Функция арбитража конфликтов может удалить один или несколько информационных объектов, имеющих наименьшие степени достоверности и/или степени достоверности, которые находятся ниже заранее определенного порога.[00091] In an illustrative example, the classifier used by the conflict arbitration function can provide the degree of validity of one or more possible arbitration results (for example, combining two or more potentially conflicting objects into one object, confirming one or more extracted objects, changing one or more extracted objects and / or deletion of one or more extracted objects). In another illustrative example, the classifier used by the conflict arbitration function may evaluate the likelihood that two or more information objects represent the same real-life object. If the probability exceeds a threshold value, the conflict arbitration function may combine the identified information objects. In another illustrative example, the classifier used by the conflict arbitration function can produce degrees of confidence associated with each information object from a plurality of conflicting information objects. The conflict arbitration function may remove one or more information objects having the smallest degrees of certainty and / or degrees of certainty that are below a predetermined threshold.

[00092] В некоторых реализациях определение классификатора арбитража конфликтов может включать один или несколько параметров, значения которых настраиваются с помощью процедуры обучения классификатора и могут дополнительно включать один или несколько гиперпараметров, значения которых могут быть определенных некоторым внешним, по отношению к процессу машинного обучения, процессом или операцией.[00092] In some implementations, the definition of a conflict arbitration classifier may include one or more parameters, the values of which are set using the classifier training procedure, and may additionally include one or more hyperparameters, the values of which can be determined by some external process of machine learning or operation.

[00093] Методы классификации могут включать методы дифференциальной эволюции, генетические алгоритмы, методы случайного леса, нейронные сети и т.д. В иллюстративном примере процесс обучения может включать настройку одного или нескольких параметров классификатора извлечения информации до тех пор, пока не будет достигнут предопределенный порог выбранной метрики качества.[00093] Classification methods may include differential evolution methods, genetic algorithms, random forest methods, neural networks, etc. In an illustrative example, the learning process may include setting up one or more parameters of the information extraction classifier until a predetermined threshold of the selected quality metric is reached.

[00094] Классификаторы, используемые в функции арбитража конфликтов, могут быть обучены с использованием ранее существовавших и/или динамически созданных обучающих наборов данных, которые устанавливают соотношение результатов арбитража с морфологическими, лексическими, синтаксическими, семантическими и/или другими атрибутами извлеченных информационных объектов,[00094] The classifiers used in the conflict arbitration function can be trained using pre-existing and / or dynamically created training datasets that correlate the results of the arbitration with morphological, lexical, syntactic, semantic and / or other attributes of the extracted information objects,

[00095] Обучающий набор данных может содержать один или несколько текстов на естественном языке, сопровождаемых метаданными, которые задают множество конфликтующих информационных объектов, их классификацию, атрибуты и соответствующие результаты арбитража. В иллюстративном примере метаданные могут быть представлены разметкой, связанной с текстом на естественном языке. В некоторых реализациях обучающий набор данных может быть итеративно расширен путем добавления новых текстов на естественном языке, сопровождаемых проверенными пользователем метаданными. Валидация метаданных может включать в себя получение через графический интерфейс пользователя (GUI), пользовательского ввода, подтверждающего или корректирующего извлеченные информационные объекты и их атрибуты.[00095] A training data set may contain one or more natural language texts, accompanied by metadata that defines a lot of conflicting information objects, their classification, attributes, and corresponding arbitration results. In an illustrative example, metadata may be represented by markup associated with natural language text. In some implementations, the training data set may be iteratively expanded by adding new natural language texts, accompanied by user-verified metadata. Validation of metadata may include receiving, through a graphical user interface (GUI), user input that confirms or corrects the extracted information objects and their attributes.

[00096] В иллюстративном примере аннотированный текстовый корпус, используемый для обучения классификатора арбитража конфликтов, может быть разделен на обучающий набор данных и проверочный набор данных. Затем обучающий набор данных может быть использован для определения значений параметров классификатора, тогда как проверочный набор данных может использоваться для вычисления метрики качества извлечения информации (например, представленной параметризованной F-мерой). В иллюстративном примере процесс обучения может включать в себя корректировку одного или нескольких параметров классификатора арбитража конфликтов до тех пор, пока выбранная метрика качества, применяемая к окончательному списку извлеченных информационных объектов, не будет соответствовать заранее установленному порогу.[00096] In an illustrative example, the annotated text corpus used to train a conflict arbitration classifier can be divided into a training data set and a verification data set. Then, the training data set can be used to determine the values of the classifier parameters, while the test data set can be used to calculate the metrics of the quality of information extraction (for example, represented by a parameterized F-measure). In an illustrative example, the learning process may include adjusting one or more parameters of a conflict arbitration classifier until the selected quality metric applied to the final list of extracted information objects matches a predetermined threshold.

[00097] На этапе 450 компьютерная система может применять функцию арбитража конфликта для каждого обнаруженного набора конфликтующих информационных объектов для разрешения конфликтов, создавая таким образом окончательный список информационных объектов, извлеченных из текстов на естественном языке, как описано более подробно выше.[00097] At 450, a computer system can apply a conflict arbitration function for each set of conflicting information objects detected to resolve conflicts, thus creating a final list of information objects extracted from natural language texts, as described in more detail above.

[00098] На этапе 460 компьютерная система может вычислять предопределенную метрику качества применительно к окончательному набору извлеченных информационных объектов. В иллюстративном примере метрика качества может быть представлена посредством F-меры.[00098] At step 460, the computer system can calculate a predefined quality metric for the final set of extracted information objects. In an illustrative example, a quality metric can be represented by an F-measure.

[00099] В ответ на установление на этапе 470 того, что предопределенное условие завершения не выполнено, способ может возвращаться к блоку 410; в противном случае способ может выйти из цикла и продолжить обработку в блоке 480. В иллюстративном примере условие завершения может указывать максимальное количество итераций, которые должны быть выполнены. В ответ на выполнение указанного количества итераций компьютерная система может на этапе 470 идентифицировать среди значений вышеописанной предопределенной метрики качества, вычисленных на этапе 460, которые были получены при всех выполненных итерациях, оптимальное (например, максимальное или минимальное) значение метрики качества и, соответственно, может идентифицировать те значения гиперпараметров классификатора арбитража конфликтов, использованные в процессе итерации, которые дали оптимальную метрику качества.[00099] In response to the determination in step 470 that the predetermined termination condition is not satisfied, the method may return to block 410; otherwise, the method may exit the loop and continue processing at block 480. In an illustrative example, the termination condition may indicate the maximum number of iterations to be performed. In response to the specified number of iterations, the computer system can, at 470, identify among the values of the above-described predetermined quality metrics calculated at 460 that were obtained at all iterations performed, the optimal (e.g., maximum or minimum) value of the quality metric and, accordingly, can identify those values of the conflict arbitration classifier hyperparameters used in the iteration process that gave the optimal quality metric.

[000100] В другом иллюстративном примере условие завершения, которое оценивается в блоке 470, может указывать пороговое значение, которое должно удовлетворяться метрикой качества, которая была вычислена на этапе 460. В ответ на определение того, что метрика качества соответствует указанному пороговому значению, компьютерная система может на этапе 490 идентифицировать значения гиперпараметров классификатора извлечения информации, которые использовались на последней выполненной итерации, что дало показатель качества, удовлетворяющий условию завершения. В ответ на выявление значений гиперпараметров классификатора арбитража конфликтов метод может завершиться. Затем обученный классификатор арбитража конфликтов может быть использован методом 100 для извлечения информации.[000100] In another illustrative example, a termination condition that is evaluated in block 470 may indicate a threshold value that must be satisfied by a quality metric that was calculated in step 460. In response to determining that the quality metric corresponds to the specified threshold value, a computer system can at step 490 identify the values of the hyperparameters of the information extraction classifier that were used at the last iteration that gave a quality indicator that satisfies the condition completion. In response to identifying the values of the hyperparameters of the conflict arbitration classifier, the method may end. Then, the trained conflict arbitration classifier can be used by method 100 to extract information.

[000101] Как указано выше, продукционные правила, классификаторы и (или) иные методы извлечения информации и «арбитража» конфликтующих объектов могут выполнять анализ различных морфологических, лексических, синтаксических, семантических и (или) иных атрибутов текста на естественном языке. Такие атрибуты могут создаваться путем выполнения семантико-синтаксического анализа текста на естественном языке, что схематически показано на Фиг. 5.[000101] As indicated above, production rules, classifiers and (or) other methods for extracting information and "arbitration" of conflicting objects can analyze various morphological, lexical, syntactic, semantic and (or) other attributes of the text in natural language. Such attributes can be created by performing semantic-syntactic analysis of natural language text, which is schematically shown in FIG. 5.

[000102] На Фиг. 5 приведена блок-схема одного иллюстративного примера реализации способа 200 для выполнения семантико-синтаксического анализа предложения на естественном языке 212 в соответствии с одним или несколькими аспектами настоящего изобретения. Способ 400 может быть применен к одной или более синтаксическим единицам {например, предложениям), включенным в определенный текстовый корпус, для формирования множества семантико-синтаксических деревьев, соответствующих синтаксическим единицам. В различных иллюстративных примерах подлежащие обработке способом 400 предложения на естественном языке могут извлекаться из одного или нескольких электронных документов, которые могут создаваться путем сканирования (или другим способом получения изображений бумажных документов) и оптического распознавания символов (OCR) для получения текстов, соответствующих этим документам. Предложения на естественном языке также могут извлекаться из других различных источников, включая сообщения, отправляемые по электронной почте, тексты из социальных сетей, файлы с цифровым содержимым, обработанные с использованием способов распознавания речи и т.д.[000102] In FIG. 5 is a flow chart of one illustrative example implementation of a method 200 for performing semantic-syntactic analysis of sentences in natural language 212 in accordance with one or more aspects of the present invention. Method 400 can be applied to one or more syntactic units (eg, sentences) included in a particular text corpus to form a plurality of semantic-syntactic trees corresponding to syntactic units. In various illustrative examples, natural language sentences to be processed by method 400 can be extracted from one or more electronic documents that can be generated by scanning (or other means of obtaining images of paper documents) and optical character recognition (OCR) to obtain texts corresponding to these documents. Natural language sentences can also be extracted from various other sources, including e-mail messages, texts from social networks, digital content files processed using speech recognition methods, etc.

[000103] В блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для установления морфологических значений слов, входящих в состав предложения. В настоящем документе "морфологическое значение" слова означает одну или несколько лемм (т.е. канонических или словарных форм), соответствующих слову, и соответствующий набор значений грамматических признаков, которые определяют грамматическое значение слова. В число таких грамматических признаков могут входить лексическая категория (часть речи) слова и один или более морфологических и грамматических признаков (например, падеж, род, число, спряжение и т.д.). Ввиду омонимии и (или) совпадающих грамматических форм, соответствующих разным лексико-морфологическим значениям определенного слова, для данного слова может быть установлено два или более морфологических значений. Более подробное описание иллюстративного примера проведения лексико-морфологического анализа предложения более детально приведено ниже в настоящем документе со ссылкой на Фиг. 6.[000103] In block 214, a computing device implementing the method may conduct a lexical and morphological analysis of sentence 212 to establish the morphological meanings of words included in the sentence. As used herein, the "morphological meaning" of a word means one or more lemmas (i.e., canonical or dictionary forms) corresponding to a word, and a corresponding set of grammatical attribute values that define the grammatical meaning of the word. Such grammatical features may include the lexical category (part of speech) of the word and one or more morphological and grammatical features (for example, case, gender, number, conjugation, etc.). Due to the homonymy and (or) matching grammatical forms corresponding to different lexical and morphological meanings of a particular word, two or more morphological meanings can be established for a given word. A more detailed description of an illustrative example of the lexical-morphological analysis of sentences is described in more detail below in this document with reference to FIG. 6.

[000104] В блоке 215 вычислительное устройство может проводить грубый синтаксический анализ предложения 212. Грубый синтаксический анализ может включать применение одной или нескольких синтаксических моделей, которые могут быть соотнесены с элементами предложения 212, с последующим установлением поверхностных (т.е. синтаксических) связей в рамках предложения 212 для получения графа обобщенных составляющих. В настоящем документе "составляющая" означает группу соседних слов исходного предложения, функционирующую как одна грамматическая сущность. Составляющая включает в себя ядро в виде одного или более слов и может также включать одну или несколько дочерних составляющих на более низких уровнях. Дочерняя составляющая является зависимой составляющей, которая может быть соотнесена с одной или несколькими родительскими составляющими.[000104] In block 215, the computing device may conduct coarse syntax analysis of sentence 212. Coarse syntax analysis may include the use of one or more syntactic models, which can be correlated with elements of sentence 212, with the subsequent establishment of surface (ie syntactic) relationships in the framework of Proposition 212 to obtain a graph of generalized components. As used herein, “constituent” means a group of neighboring words of an original sentence that functions as one grammatical entity. A component includes a core in the form of one or more words and may also include one or more child components at lower levels. A child component is a dependent component that can be correlated with one or more parent components.

[000105] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев предложения. Среди различных синтаксических деревьев на основе определенной функции оценки с учетом совместимости лексических значений слов исходного предложения, поверхностных отношений, глубинных отношений и т.д. может быть отобрано одно или несколько лучших синтаксических деревьев, соответствующих предложению 212.[000105] At block 216, the computing device can parse sentence 212 accurately to generate one or more sentence syntax trees. Among the various syntax trees, based on a specific evaluation function, taking into account the compatibility of the lexical meanings of the words of the original sentence, surface relations, deep relations, etc. one or more of the best syntax trees matching Proposition 212 can be selected.

[000106] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может включать множество узлов, соответствующих семантическим классам и также может включать множество дуг, соответствующих семантическим отношениям (более подробное описание см. ниже в настоящем документе).[000106] In block 217, the computing device can process the syntax trees to form a semantic structure 218 corresponding to Proposition 212. The semantic structure 218 may include many nodes corresponding to semantic classes and may also include many arcs corresponding to semantic relations (for a more detailed description see below. in this document).

[000107] Фиг. 6 схематически иллюстрирует пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения. Пример лексико-морфологической структуры 300 может включать множество пар "лексическое значение - грамматическое значение" для примера предложения. В качестве иллюстративного примера, "ll" может быть соотнесено с лексическим значением "shall" 512 и "will" 514. Грамматическим значением, соотнесенным с лексическим значением 512, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Composite II>. Грамматическим значением, соотнесенным с лексическим значением 314, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Irregular, Composite II>.[000107] FIG. 6 schematically illustrates an example of the lexical-morphological structure of a sentence in accordance with one or more aspects of the present invention. An example of lexical-morphological structure 300 may include many pairs of "lexical meaning - grammatical meaning" for an example sentence. As an illustrative example, "ll" can be correlated with the lexical meaning "shall" 512 and "will" 514. The grammatical meaning associated with the lexical meaning 512 is <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Composite II>. The grammatical meaning associated with the lexical meaning 314 is <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Irregular, Composite II>.

[000108] Фиг. 7 схематически иллюстрирует используемые языковые описания 210, в том числе морфологические описания 201, лексические описания 203, синтаксические описания 202 и семантические описания 204, а также отношения между ними. Среди них морфологические описания 201, лексические описания 203 и синтаксические описания 202 зависят от языка. Набор языковых описаний 610 представляет собой модель определенного естественного языка.[000108] FIG. 7 schematically illustrates language descriptions 210 used, including morphological descriptions 201, lexical descriptions 203, syntactic descriptions 202, and semantic descriptions 204, as well as relationships between them. Among them, morphological descriptions 201, lexical descriptions 203, and syntactic descriptions 202 are language dependent. The set of language descriptions 610 is a model of a particular natural language.

[000109] В качестве иллюстративного примера определенное лексическое значение в лексических описаниях 203 может быть соотнесено с одной или несколькими поверхностными моделями синтаксических описаний 202, соответствующих данному лексическому значению. Определенная поверхностная модель синтаксических описаний 202 может быть соотнесена с глубинной моделью семантических описаний 204.[000109] As an illustrative example, a specific lexical meaning in lexical descriptions 203 may be correlated with one or more surface models of syntactic descriptions 202 corresponding to a given lexical meaning. A specific surface model of syntactic descriptions 202 can be correlated with an in-depth model of semantic descriptions 204.

[000110] На Фиг. 8 схематически иллюстрируются несколько примеров морфологических описаний. В число компонентов морфологических описаний 201 могут входить: описания словоизменения 710, грамматическая система 720, описания словообразования 730 и другие. Грамматическая система 720 включает набор грамматических категорий, таких как часть речи, падеж, род, число, лицо, возвратность, время, вид и их значения (так называемые "граммемы"), в том числе, например, прилагательное, существительное или глагол; именительный, винительный или родительный падеж; женский, мужской или средний род и т.д. Соответствующие граммемы могут использоваться для составления описания словоизменения 710 и описания словообразования 730.[000110] In FIG. 8 schematically illustrates several examples of morphological descriptions. The components of morphological descriptions 201 may include: descriptions of inflection 710, grammar system 720, descriptions of derivation 730 and others. Grammar system 720 includes a set of grammatical categories, such as a part of speech, case, gender, number, person, recurrence, time, type and their meanings (so-called "grammes"), including, for example, an adjective, noun or verb; nominative, accusative or genitive; feminine, masculine or neuter, etc. Corresponding grammars can be used to compose a description of inflection 710 and a description of derivation 730.

[000111] Описание словоизменения 710 определяет формы данного слова в зависимости от его грамматических категорий (например, падеж, род, число, время и т.д.) и в широком смысле включает в себя или описывает различные возможные формы слова. Описание словообразования 730 определяет, какие новые слова могут быть образованы от данного слова (например, сложные слова).[000111] The description of the inflection 710 defines the forms of a given word depending on its grammatical categories (for example, case, gender, number, time, etc.) and in the broad sense includes or describes various possible forms of the word. Description of word formation 730 determines which new words can be formed from a given word (for example, compound words).

[000112] В соответствии с одним из аспектов настоящего изобретения при установлении синтаксических отношений между элементами исходного предложения могут использоваться модели составляющих. Составляющая представляет собой группу соседних слов в предложении, ведущих себя как единое целое. Ядром составляющей является слово, она также может содержать дочерние составляющие более низких уровней. Дочерняя составляющая является зависимой составляющей и может быть прикреплена к другим составляющим (родительским) для построения синтаксических описаний 202 исходного предложения.[000112] In accordance with one aspect of the present invention, component models can be used to establish syntactic relationships between elements of the original sentence. A component is a group of neighboring words in a sentence that behave as a whole. The core component is the word; it can also contain child components of lower levels. The child component is a dependent component and can be attached to other components (parent) to build syntactic descriptions 202 of the original sentence.

[000113] На Фиг. 9 приведены примеры синтаксических описаний. В число компонентов синтаксических описаний 202 могут входить, среди прочего, поверхностные модели 910, описания поверхностных позиций 920, описание референциального и структурного контроля 956, описание управления и согласования 940, описание недревесного синтаксиса 950 и правила анализа 960. Синтаксические описания 202 могут использоваться для построения возможных синтаксических структур исходного предложения на заданном естественном языке с учетом свободного линейного порядка слов, недревесных синтаксических явлений (например, согласование, эллипсис и т.д.), референциальных отношений и других факторов.[000113] In FIG. Figure 9 shows examples of syntactic descriptions. The components of syntax descriptions 202 may include, but are not limited to, surface models 910, descriptions of surface positions 920, descriptions of referential and structural controls 956, descriptions of control and alignment 940, descriptions of non-wood syntax 950, and analysis rules 960. Syntax descriptions 202 can be used to build possible syntactic structures of the original sentence in a given natural language, taking into account the free linear word order, non-wood syntactic phenomena (for example, matching , ellipsis, etc.), referential relations and other factors.

[000114] Поверхностные модели 910 могут быть представлены в виде совокупностей одной или нескольких синтаксических форм («синтформ» 912) для описания возможных синтаксических структур предложений, входящих в состав синтаксического описания 202. В целом, лексическое значение слова на естественном языке может быть связано с поверхностными (синтаксическими) моделями 910. Поверхностная модель может представлять собой составляющие, которые возможны, если лексическое значение выступает в роли "ядра". Поверхностная модель может включать набор поверхностных позиций дочерних элементов, описание линейного порядка и (или) диатезу. В настоящем документе "диатеза" означает определенное отношение между поверхностными и глубинными позициями и их семантическими ролями, выражаемыми посредством глубинных позиций. Например, диатеза может быть выражаться залогом глагола: если субъект является агентом действия, глагол в активном залоге, а когда субъект является направлением действия, это выражается пассивным залогом глагола.[000114] Surface models 910 can be represented as sets of one or more syntactic forms (“synths” 912) to describe possible syntactic sentence structures that are part of syntax description 202. In general, the lexical meaning of a word in a natural language can be associated with surface (syntactic) models 910. The surface model can represent the components that are possible if the lexical meaning acts as a "core". A surface model may include a set of surface positions of child elements, a description of the linear order, and / or diathesis. As used herein, “diathesis” means a definite relationship between surface and depth positions and their semantic roles expressed through depth positions. For example, diathesis can be expressed by the pledge of the verb: if the subject is the agent of the action, the verb is the active pledge, and when the subject is the direction of the action, this is expressed by the passive pledge of the verb.

[000115] В модели составляющих может использоваться множество поверхностных позиций 915 дочерних составляющих и описаний их линейного порядка 916 для описания грамматических значений 914 возможных заполнителей этих поверхностных позиций. Диатезы 917 представляют собой соответствия между поверхностными позициями 915 и глубинными позициями 514 (как показано на Фиг. 11). Коммуникативные описания 980 описывают коммуникативный порядок в предложении.[000115] In the component model, a plurality of surface positions 915 of the daughter components and descriptions of their linear order 916 can be used to describe grammatical values of 914 possible placeholders for these surface positions. Diathesis 917 represents the correspondence between the surface positions 915 and the deep positions 514 (as shown in Fig. 11). Communicative descriptions 980 describe the communicative order in a sentence.

[000116] Описание линейного порядка (916) может быть представлено в виде выражений линейного порядка, отражающих последовательность, в которой различные поверхностные позиции (915) могут встречаться в предложении. В число выражений линейного порядка могут входить наименования переменных, имена поверхностных позиций, круглые скобки, граммемы, оператор «оr» (или) и т.д. В качестве иллюстративного примера описание линейного порядка простого предложения "Boys play football" можно представить в виде "Subject Core Object_Direct" (Подлежащее - Ядро - Прямое дополнение), где Subject (Подлежащее), Core (Ядро) и Object_Direct (Прямое дополнение) представляют собой имена поверхностных позиций 915, соответствующих порядку слов.[000116] A description of the linear order (916) can be presented in the form of linear order expressions reflecting the sequence in which various surface positions (915) can occur in the sentence. The expressions of linear order may include the names of variables, the names of surface positions, parentheses, grammes, the operator "or" (or), etc. As an illustrative example, the linear ordering description for the Boys play football simple sentence can be represented as Subject Core Object_Direct, where Subject, Core, Object_Direct are names of surface positions 915 corresponding to the word order.

[000117] Коммуникативные описания 980 могут описывать порядок слов в синтформе 912 с точки зрения коммуникативных актов, представленных в виде коммуникативных выражений порядка, которые похожи на выражения линейного порядка. Описания управления и согласования 940 может включать правила и ограничения на грамматические значения присоединяемых составляющих, которые используются во время синтаксического анализа.[000117] Communicative descriptions 980 can describe the word order in synthform 912 from the point of view of communicative acts represented as communicative order expressions that are similar to linear order expressions. Control and negotiation descriptions 940 may include rules and grammar constraints on the attachments that are used during parsing.

[000118] Описания недревесного синтаксиса 950 могут создаваться для отражения различных языковых явлений, таких как эллипсис и согласование, они используются при трансформациях синтаксических структур, которые создаются на различных этапах анализа в различных вариантах реализации изобретения. Описания недревесного синтаксиса 950 могут, среди прочего, включать описание эллипсиса 952, описания согласования 954, а также описания референциального и структурного контроля 930.[000118] Descriptions of non-wood syntax 950 can be created to reflect various linguistic phenomena, such as ellipsis and matching, they are used in transformations of syntactic structures that are created at various stages of analysis in various embodiments of the invention. Descriptions of non-wood syntax 950 may include, but are not limited to, descriptions of ellipsis 952, descriptions of alignment 954, and descriptions of referential and structural controls 930.

[000119] Правила анализа 960 могут описывать свойства конкретного языка и использоваться в рамках семантического анализа. Правила анализа 960 могут включать правила вычисления семантем 962 и правила нормализации 964. Правила нормализации 964 могут использоваться для описания трансформаций семантических структур, которые могут отличаться в разных языках.[000119] Analysis Rules 960 may describe the properties of a particular language and be used as part of semantic analysis. The analysis rules 960 can include the rules for calculating semantems 962 and the normalization rules 964. The normalization rules 964 can be used to describe transformations of semantic structures that may differ in different languages.

[000120] На Фиг. 10 приведен пример семантических описаний. Компоненты семантических описаний 204 не зависят от языка и могут, среди прочего, включать семантическую иерархию 510, описания глубинных позиций 520, систему семантем 530 и прагматические описания 540.[000120] In FIG. 10 gives an example of semantic descriptions. The components of semantic descriptions 204 are language independent and may, among other things, include a semantic hierarchy 510, descriptions of deep positions 520, a semantem system 530, and pragmatic descriptions 540.

[000121] Ядро семантических описаний может быть представлено семантической иерархией 510, в которую могут входить семантические понятия (семантические сущности), также называемые семантическими классами. Последние могут быть упорядочены в иерархическую структуру, отражающую отношения "родитель-потомок". В целом, дочерний семантический класс может унаследовать одно или более свойств своего прямого родителя и других семантических классов-предков. В качестве иллюстративного примера семантический класс SUBSTANCE (Вещество) является дочерним семантическим классом класса ENTITY (Сущность) и родительским семантическим классом для классов GAS, (Газ), LIQUID (Жидкость), METAL (Металл), WOOD_MATERIAL (Древесина) и т.д.[000121] The core of semantic descriptions can be represented by a semantic hierarchy 510, which can include semantic concepts (semantic entities), also called semantic classes. The latter can be arranged in a hierarchical structure that reflects the parent-child relationship. In general, a child semantic class can inherit one or more properties of its direct parent and other semantic ancestor classes. As an illustrative example, the semantic class SUBSTANCE (Substance) is a child semantic class of the ENTITY class and the parent semantic class for the classes GAS, (Gas), LIQUID (Liquid), METAL (Metal), WOOD_MATERIAL (Wood), etc.

[000122] Каждый семантический класс в семантической иерархии 510 может сопровождаться глубинной моделью 512. Глубинная модель 512 семантического класса может включать множество глубинных позиций 514, которые могут отражать семантические роли дочерних составляющих в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей. Глубинная модель 512 также может включать возможные семантические классы, выступающие в роли заполнителей глубинных позиций. Глубинные позиции (514) могут выражать семантические отношения, в том числе, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "quantity" (количество) и т.д. Дочерний семантический класс может наследовать и уточнять глубинную модель своего непосредственного родительского семантического класса.[000122] Each semantic class in the semantic hierarchy 510 may be accompanied by a depth model 512. The depth model 512 of the semantic class may include many depth positions 514, which may reflect the semantic roles of child components in various sentences with objects of a given semantic class as the core of the parent component. The depth model 512 may also include possible semantic classes that act as placeholders for deep positions. Deep positions (514) can express semantic relationships, including, for example, "agent" (agent), "addressee" (destination), "instrument" (instrument), "quantity" (quantity), etc. A child semantic class can inherit and refine the deep model of its immediate parent semantic class.

[000123] Описания глубинных позиций 520 отражают семантические роли дочерних составляющих в глубинных моделях 512 и могут использоваться для описания общих свойств глубинных позиций 514. Описания глубинных позиций 520 также могут содержать грамматические и семантические ограничения в отношении заполнителей глубинных позиций 514. Свойства и ограничения, связанные с глубинными позициями 514 и их возможными заполнителями в различных языках, могут быть в значительной степени подобными и зачастую идентичными. Таким образом, глубинные позиции 514 не зависят от языка.[000123] The descriptions of the deep positions 520 reflect the semantic roles of the child components in the deep models 512 and can be used to describe the general properties of the deep positions 514. The descriptions of the deep positions 520 may also contain grammatical and semantic restrictions on the placeholders of the deep positions 514. Properties and restrictions associated with with depth positions 514 and their possible placeholders in various languages, can be largely similar and often identical. Thus, the deep positions 514 are language independent.

[000124] Система семантем 530 может представлять собой множество семантических категорий и семантем, которые представляют значения семантических категорий. В качестве иллюстративного примера семантическая категория "DegreeOfComparison" (Степень сравнения) может использоваться для описания степени сравнения прилагательных и включать следующие семантемы: "Positive" (Положительная), "ComparativeHigherDegree" (Сравнительная степень сравнения), "SuperlativeHighestDegree" (Превосходная степень сравнения) и другие. В качестве еще одного иллюстративного примера семантическая категория "RelationToReferencePoint" (Отношение к точке) может использоваться для описания порядка (пространственного или временного в широком смысле анализируемых слов), как, например, до или после точки или события, и включать семантемы "Previous" (Предыдущий) и "Subsequent" (Последующий). В качестве еще одного иллюстративного примера семантическая категория "EvaluationObjective" (Оценка) может использоваться для описания объективной оценки, как, например, "Bad" (Плохой), "Good" (Хороший) и т.д.[000124] The semantem system 530 may be a plurality of semantic categories and semantems that represent semantic category meanings. As an illustrative example, the semantic category "DegreeOfComparison" (Comparison Degree) can be used to describe the degree of comparison of adjectives and include the following semantems: "Positive", "ComparativeHigherDegree" (Comparative Comparison), "SuperlativeHighestDegree" (Superlative Comparison) and others. As another illustrative example, the semantic category "RelationToReferencePoint" (Relation to a point) can be used to describe the order (spatial or temporal in the broad sense of the analyzed words), such as before or after a point or event, and include semantems "Previous" ( Previous) and Subsequent. As another illustrative example, the semantic category "EvaluationObjective" can be used to describe an objective evaluation, such as, for example, "Bad", "Good", etc.

[000125] Система семантем 530 может включать независимые от языка семантические атрибуты, которые могут выражать не только семантические характеристики, но и стилистические, прагматические и коммуникативные характеристики. Некоторые семантемы могут использоваться для выражения атомарного значения, которое находит регулярное грамматическое и (или) лексическое выражение в естественном языке. По своему целевому назначению и использованию системы семантем могут разделяться на категории, например, грамматические семантемы 532, лексические семантемы 534 и классифицирующие грамматические (дифференцирующие) семантемы 536.[000125] The semantem system 530 may include language-independent semantic attributes that can express not only semantic characteristics, but also stylistic, pragmatic, and communicative characteristics. Some semanthemes can be used to express an atomic meaning, which finds a regular grammatical and (or) lexical expression in natural language. According to their intended purpose and use of the system, semantems can be divided into categories, for example, grammatical semantems 532, lexical semantems 534 and classifying grammatical (differentiating) semantems 536.

[000126] Грамматические семантемы 532 могут использоваться для описания грамматических свойств составляющих при преобразовании синтаксического дерева в семантическую структуру. Лексические семантемы 534 могут описывать конкретные свойства объектов (например, "being flat" (быть плоским) или "being liquid" (являться жидкостью)) и использоваться в описаниях глубинных позиций 520 как ограничение заполнителей глубинных позиций (например, для глаголов "face (with)" (облицовывать) и "flood" (заливать), соответственно). Классифицирующие грамматические (дифференцирующие) семантемы 536 могут выражать дифференциальные свойства объектов внутри одного семантического класса. В качестве иллюстративного примера в семантическом классе HAIRDRESSER (ПАРИКМАХЕР) семантема <<RelatedToMen>> (Относится к мужчинам) присваивается лексическому значению "barber" в отличие от других лексических значений, которые также относятся к этому классу, например, «hairdresser», «hairstylist» и т.д. Используя данные независимые от языка семантические свойства, которые могут быть выражены в виде элементов семантического описания, в том числе семантических классов, глубинных позиций и семантем, можно извлекать семантическую информацию в соответствии с одним или более аспектами настоящего изобретения.[000126] Grammatical semantems 532 can be used to describe the grammatical properties of constituents when transforming a syntax tree into a semantic structure. The lexical semantems 534 can describe specific properties of objects (for example, “being flat” or “being liquid”) and used in descriptions of deep positions 520 as a restriction of placeholders for deep positions (for example, for the verbs “face (with ) "(facing) and" flood "(fill), respectively). Classifying grammatical (differentiating) semantems 536 can express the differential properties of objects within a single semantic class. As an illustrative example, in the semantic class HAIRDRESSER (HAIRDRESSER), the semantema <<RelatedToMen>> (applies to men) is assigned the lexical meaning "barber" in contrast to other lexical values that also belong to this class, for example, "hairdresser", "hairstylist " etc. Using data language-independent semantic properties that can be expressed as elements of a semantic description, including semantic classes, deep positions, and semantems, semantic information can be extracted in accordance with one or more aspects of the present invention.

[000127] Прагматические описания 540 позволяют назначать определенную тему, стиль или жанр текстам и объектам семантической иерархии 510 (например, «Экономическая политика», «Внешняя политика», «Юриспруденция», «Законодательство», «Торговля», «Финансы» и т.д.). Прагматические свойства также могут выражаться семантемами. В качестве иллюстративного примера прагматический контекст может приниматься во внимание при семантическом анализе.[000127] The pragmatic descriptions 540 allow you to assign a specific theme, style or genre to the texts and objects of the semantic hierarchy 510 (for example, “Economic Policy”, “Foreign Policy”, “Jurisprudence”, “Legislation”, “Trade”, “Finance”, etc. .d.). Pragmatic properties can also be expressed by semantems. As an illustrative example, pragmatic context can be taken into account in semantic analysis.

[000128] На Фиг. 11 приведен пример лексических описаний. Лексические описания (203) представляют собой множество лексических значений 612 конкретного естественного языка. Для каждого лексического значения 612 имеется связь 602 с его независимым от языка семантическим родителем для того, чтобы указать положение какого-либо заданного лексического значения в семантической иерархии 510.[000128] In FIG. 11 is an example of lexical descriptions. Lexical descriptions (203) are the set of lexical meanings 612 of a particular natural language. For each lexical meaning 612, there is a relationship 602 with its language-independent semantic parent in order to indicate the position of any given lexical meaning in the semantic hierarchy 510.

[000129] Лексическое значение 612 в лексико-семантической иерархии 510 может быть соотнесено с поверхностной моделью 910, которая в свою очередь через одну или несколько диатез 917 может быть соотнесена с соответствующей глубинной моделью 512. Лексическое значение 612 может наследовать семантический класс своего родителя и уточнять свою глубинную модель 512.[000129] The lexical meaning 612 in the lexical-semantic hierarchy 510 can be correlated with the surface model 910, which in turn can be correlated through one or more diathesis 917 with the corresponding depth model 512. The lexical value 612 can inherit the semantic class of its parent and specify its deep model 512.

[000130] Поверхностная модель 910 лексического значения может включать одну или несколько синтаксических форм 912. Синтформа 912 поверхностной модели 910 может включать одну или несколько поверхностных позиций 915, в том числе соответствующие описания их линейного порядка 916, одно или несколько грамматических значений 914, выраженных в виде набора грамматических категорий (граммем), одно или несколько семантических ограничений, соотнесенных с заполнителями поверхностных позиций, и одну или несколько диатез 917. Семантические ограничения, соотнесенные с определенным заполнителем поверхностной позиции, могут быть представлены в виде одного или более семантических классов, объекты которых могут заполнить эту поверхностную позицию.[000130] The lexical surface model 910 may include one or more syntactic forms 912. The surface model 910 synth 912 may include one or more surface positions 915, including corresponding descriptions of their linear order 916, one or more grammatical values 914, expressed in in the form of a set of grammatical categories (grammes), one or more semantic restrictions associated with placeholder surface positions, and one or more diathesis 917. Semantic restrictions related Items with a specific placeholder for a surface position can be represented as one or more semantic classes whose objects can fill this surface position.

[000131] На Фиг. 12 схематически иллюстрируются примеры структур данных, которые могут быть использованы в рамках одного или более методов настоящего изобретения. Снова ссылаясь на Фиг. 5, в блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для построения лексико-морфологической структуры 722 согласно Фиг. 12. Лексико-морфологическая структура 722 может включать множество соответствий лексического и грамматического значений для каждой лексической единицы (например, слова) исходного предложения. Фиг. 6 схематически иллюстрирует пример лексико-морфологической структуры.[000131] In FIG. 12 schematically illustrates examples of data structures that can be used within the framework of one or more methods of the present invention. Referring again to FIG. 5, in block 214, a computing device that implements this method can conduct a lexical-morphological analysis of sentence 212 to construct a lexical-morphological structure 722 according to FIG. 12. The lexical-morphological structure 722 may include many correspondences of lexical and grammatical meanings for each lexical unit (for example, a word) of the original sentence. FIG. 6 schematically illustrates an example of a lexical-morphological structure.

[000132] Снова возвращаясь к Фиг. 6, в блоке 215 вычислительное устройство может проводить грубый синтаксический анализ исходного предложения 212 для построения графа обобщенных составляющих 732 согласно Фиг. 12. Грубый синтаксический анализ предполагает применение одной или нескольких возможных синтаксических моделей возможных лексических значений к каждому элементу множества элементов лексико-морфологической структуры 722, с тем чтобы установить множество потенциальных синтаксических отношений в составе исходного предложения 212, представленных графом обобщенных составляющих 732.[000132] Returning again to FIG. 6, at block 215, the computing device may conduct a rough parsing of the original sentence 212 to construct a graph of generalized components 732 according to FIG. 12. Rough parsing involves applying one or more possible syntactic models of possible lexical meanings to each element of the set of elements of the lexical-morphological structure 722, in order to establish the set of potential syntactic relations in the initial sentence 212, represented by the graph of generalized components 732.

[000133] Граф обобщенных составляющих 732 может быть представлен ациклическим графом, включающим множество узлов, соответствующих обобщенным составляющим исходного предложения 212 и включающим множество дуг, соответствующих поверхностным (синтаксическим) позициям, которые могут выражать различные типы отношений между обобщенными лексическими значениями. В рамках данного способа может применяться множество потенциально применимых синтаксических моделей для каждого элемента множества элементов лексико-морфологических структур исходного предложения 212 для формирования набора составляющих исходного предложения 212. Затем в рамках способа может рассматриваться множество возможных составляющих исходного предложения 212 для построения графа обобщенных составляющих 732 на основе набора составляющих. Граф обобщенных составляющих 732 на уровне поверхностной модели может отражать множество потенциальных связей между словами исходного предложения 212. Поскольку количество возможных синтаксических структур может быть относительно большим, граф обобщенных составляющих 732 может, в общем случае, включать избыточную информацию, в том числе относительно большое число лексических значений по определенным узлам и (или) поверхностных позиций по определенным дугам графа.[000133] The graph of generalized components 732 can be represented by an acyclic graph that includes many nodes corresponding to the generalized components of the original sentence 212 and includes many arcs corresponding to surface (syntactic) positions that can express different types of relations between generalized lexical values. In the framework of this method, many potentially applicable syntactic models can be applied for each element of the set of elements of lexical and morphological structures of the original sentence 212 to form a set of components of the initial sentence 212. Then, within the framework of the method, many possible components of the initial sentence 212 can be considered for constructing a graph of generalized components 732 based on a set of components. The graph of generalized components 732 at the level of the surface model can reflect many potential connections between the words of the original sentence 212. Since the number of possible syntactic structures can be relatively large, the graph of generalized components 732 can, in general, include redundant information, including a relatively large number of lexical values at certain nodes and (or) surface positions along certain arcs of the graph.

[000134] Граф обобщенных составляющих 732 может изначально строиться в виде дерева, начиная с концевых узлов (листьев) и двигаясь далее к корню, путем добавления дочерних составляющих, заполняющих поверхностные позиции 915 множества родительских составляющих, с тем чтобы были охвачены все лексические единицы исходного предложения 212.[000134] The graph of generalized components 732 can initially be constructed in the form of a tree, starting from the end nodes (leaves) and moving further to the root by adding child components that fill the surface positions 915 of the set of parent components so that all lexical units of the original sentence are covered 212.

[000135] В некоторых вариантах осуществления корень графа обобщенных составляющих 732 представляет собой предикат. В ходе описанного выше процесса дерево может стать графом, так как определенные составляющие более низкого уровня могут быть включены в одну или несколько составляющих верхнего уровня. Множество составляющих, которые представляют определенные элементы лексико-морфологической структуры, затем может быть обобщено для получения обобщенных составляющих. Составляющие могут быть обобщены на основе их лексических значений или грамматических значений 914, например, на основе частей речи и отношений между ними. Фиг. 13 схематически иллюстрирует пример графа обобщенных составляющих.[000135] In some embodiments, the root of the graph of generalized components 732 is a predicate. In the process described above, a tree can become a graph, as certain lower-level components can be included in one or more upper-level components. Many components that represent certain elements of the lexical-morphological structure can then be generalized to obtain generalized components. Components can be generalized based on their lexical meanings or grammatical meanings 914, for example, on the basis of parts of speech and relations between them. FIG. 13 schematically illustrates an example of a graph of generalized components.

[000136] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев 742 согласно Фиг. 12 на основе графа обобщенных составляющих 732. Для каждого синтаксического дерева вычислительное устройство может определить интегральную оценку на основе априорных и вычисляемых оценок. Дерево с наилучшей оценкой может быть выбрано для построения наилучшей синтаксической структуры 746 исходного предложения 212.[000136] At block 216, the computing device can parse sentence 212 to form one or more syntax trees 742 of FIG. 12 based on the graph of generalized components 732. For each syntax tree, the computing device can determine the integral estimate based on a priori and calculated estimates. The tree with the best rating can be selected to build the best syntactic structure 746 of the original sentence 212.

[000137] В ходе построения синтаксической структуры 746 на основе выбранного синтаксического дерева вычислительное устройство может установить одну или несколько недревесных связей (например, путем создания дополнительной связи среди, как минимум, двух узлов графа). Если этот процесс заканчивается неудачей, вычислительное устройство может выбрать синтаксическое дерево с условно оптимальной оценкой, наиболее близкой к оптимальной, и производится попытка установить одну или несколько недревесных связей в дереве. Наконец, в результате точного синтаксического анализа создается синтаксическая структура 746, которая представляет собой лучшую синтаксическую структуру, соответствующую исходному предложению 212. Фактически в результате отбора лучшей синтаксической структуры 746 определяются лучшие лексические значения 240 для элементов исходного предложения 212.[000137] During the construction of the syntax structure 746 based on the selected syntax tree, the computing device can establish one or more non-wood links (for example, by creating an additional link among at least two nodes of the graph). If this process fails, the computing device can select a syntax tree with a conditionally optimal estimate that is closest to the optimal one, and an attempt is made to establish one or more non-wood links in the tree. Finally, as a result of accurate parsing, a syntax structure 746 is created that represents the best syntax structure corresponding to the original sentence 212. In fact, by selecting the best syntax structure 746, the best lexical values 240 for the elements of the original sentence 212 are determined.

[000138] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может отражать передаваемую исходным предложением семантику в независимых от языка терминах. Семантическая структура 218 может быть представлена в виде ациклического графа (например, дерево, возможно, дополненное одной или более недревесной связью (дугой графа). Слова исходного предложения представлены узлами с соответствующими независимыми от языка семантическими классами семантической иерархии 510. Дуги графа представляют глубинные (семантические) отношения между элементами предложения. Переход к семантической структуре 218 может осуществляться с помощью правил анализа 960 и предполагает соотнесение одного или более атрибутов (отражающих лексические, синтаксические и (или) семантические свойства слов исходного предложения 212) с каждым семантическим классом.[000138] At block 217, the computing device can process the syntax trees to form a semantic structure 218 corresponding to sentence 212. The semantic structure 218 can reflect semantics transmitted by the original sentence in language-independent terms. The semantic structure 218 can be represented in the form of an acyclic graph (for example, a tree, possibly supplemented by one or more non-wood links (the arc of the graph). The words of the original sentence are represented by nodes with the corresponding language-independent semantic classes of the semantic hierarchy 510. The arcs of the graph represent deep (semantic ) the relationship between the elements of the sentence. The transition to the semantic structure 218 can be carried out using the rules of analysis 960 and involves the correlation of one or more attributes ( reflecting the lexical, syntactic and (or) semantic properties of the words of the original sentence 212) with each semantic class.

[000139] На Фиг. 14 приводится пример синтаксической структуры предложения, сгенерированной из графа обобщенных составляющих, показанного на Фиг. 13. Узел 901 соответствует лексическому элементу "life" (жизнь) 906. Применяя способ описанного в настоящем документе синтактико-семантического анализа, вычислительное устройство может установить, что лексический элемент "life" (жизнь) 906 представляет одну из форм лексического значения, соотнесенного с семантическим классом "LIVE" (ЖИТЬ) 904 и заполняет поверхностную позицию $Adjunct_Locative 905) в родительской составляющей, представленной управляющим узлом Verb:succeed:succeed:TO_SUCCEED (907).[000139] In FIG. 14 is an example of a syntactic structure of a sentence generated from a graph of generalized components shown in FIG. 13. Node 901 corresponds to the lexical element “life” 906. Using the method of syntactic-semantic analysis described in this document, the computing device can determine that the lexical element “life” 906 represents one form of lexical meaning correlated with with the semantic class "LIVE" 904 and fills the surface position $ Adjunct_Locative 905) in the parent component represented by the Verb: succeed: succeed: TO_SUCCEED control node (907).

[000140] На Фиг. 15 приводится семантическая структура, соответствующая синтаксической структуре на Фиг. 15. В отношении вышеупомянутого лексического элемента "life" (жизнь) (906) на Фиг. 13 семантическая структура включает лексический класс 1010 и семантический класс 1030, соответствующие представленным на Фиг. 15, однако вместо поверхностной позиции (905) семантическая структура включает глубинную позицию "Sphere" (сфера_деятельности) 1020.[000140] In FIG. 15 shows a semantic structure corresponding to the syntax structure in FIG. 15. With respect to the aforementioned lexical element “life” (906) in FIG. 13, the semantic structure includes the lexical class 1010 and the semantic class 1030, corresponding to those presented in FIG. 15, however, instead of the surface position (905), the semantic structure includes the depth position "Sphere" (scope_of_operation) 1020.

[000141] Как отмечено выше в настоящем документе, в качестве «онтологии» может выступать модель, которая представляет собой объекты, относящиеся к определенной области знаний (предметной области), и отношения между данными объектами. Таким образом, онтология отличается от семантической иерархии, несмотря на то что она может быть соотнесена с элементами семантической иерархии через определенные отношения (также называемые «якоря»). Онтология может включать определения некого множества классов, где каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более отнесенных к данному классу объектов. Согласно общепринятой терминологии класс онтологии может также называться «концепт», а принадлежащий классу объект может означать экземпляр данного концепта.[000141] As noted above in this document, a “ontology” can be a model, which is an object belonging to a certain field of knowledge (subject area), and the relationship between these objects. Thus, the ontology differs from the semantic hierarchy, despite the fact that it can be correlated with the elements of the semantic hierarchy through certain relationships (also called “anchors”). An ontology may include definitions of a certain set of classes, where each class corresponds to the concept of a subject area. Each class definition may include definitions of one or more objects assigned to that class. According to generally accepted terminology, an ontology class may also be called a “concept”, and an object belonging to the class may mean an instance of this concept.

[000142] В соответствии с одним или несколькими аспектами настоящего изобретения вычислительное устройство, в котором реализованы описанные в настоящем описании способы, может индексировать один или несколько параметров, полученных в результате семантико-синтаксического анализа. Таким образом, способы настоящего изобретения позволяют рассматривать не только множество слов в составе исходного текстового корпуса, но и множество лексических значений этих слов, сохраняя и индексируя всю синтаксическую и семантическую информацию, полученную в ходе синтаксического и семантического анализа каждого предложения исходного текстового корпуса. Такая информация может дополнительно включать данные, полученные в ходе промежуточных этапов анализа, а также результаты лексического выбора, в том числе результаты, полученные в ходе разрешения неоднозначностей, вызванных омонимией и (или) совпадающими грамматическими формами, соответствующими различным лексико-морфологическим значениям некоторых слов исходного языка.[000142] In accordance with one or more aspects of the present invention, a computing device that implements the methods described herein may index one or more parameters resulting from semantic-syntactic analysis. Thus, the methods of the present invention allow us to consider not only many words in the composition of the original text corpus, but also many lexical meanings of these words, storing and indexing all the syntactic and semantic information obtained in the course of parsing and semantic analysis of each sentence of the original text corpus. Such information may additionally include data obtained during the intermediate stages of the analysis, as well as results of lexical selection, including results obtained during the resolution of ambiguities caused by homonymy and (or) matching grammatical forms corresponding to different lexical and morphological meanings of some words of the original language.

[000143] Для каждой семантической структуры можно создать один или несколько индексов. Индекс можно представить в виде структуры данных в памяти, например, в виде таблицы, состоящей из нескольких записей. Каждая запись может представлять собой установление соответствия между определенным элементом семантической структуры (например, одно слово или несколько слов, синтаксическое отношение, морфологическое, синтаксическое или семантическое свойство или синтаксическая или семантическая структура) и одним или несколькими идентификаторами (или адресами) случаев употребления данного элемента семантической структуры в исходном тексте.[000143] For each semantic structure, one or more indexes can be created. An index can be represented as a data structure in memory, for example, in the form of a table consisting of several records. Each record can be a correspondence between a particular element of the semantic structure (for example, one word or several words, syntactic relation, morphological, syntactic or semantic property or syntactic or semantic structure) and one or more identifiers (or addresses) of the use of this element of semantic structures in the source text.

[000144] В некоторых вариантах осуществления индекс может включать одно или несколько значений морфологических, синтаксических, лексических и (или) семантических параметров. Эти значения могут создаваться в процессе двухэтапного семантического анализа (более подробное описание см. в настоящем документе). Индекс можно использовать для выполнения различных задач обработки естественного языка, в том числе для выполнения семантического поиска.[000144] In some embodiments, the implementation of the index may include one or more values of morphological, syntactic, lexical and (or) semantic parameters. These values can be created during a two-stage semantic analysis (for a more detailed description, see this document). The index can be used to perform various natural language processing tasks, including semantic search.

[000145] Вычислительное устройство, реализующее данный способ, может извлекать широкий спектр лексических, грамматических, синтаксических, прагматических и (или) семантических характеристик в ходе проведения синтактико-семантического анализа и создания семантических структур. В иллюстративном примере система может извлекать и сохранять определенную лексическую информацию, данные о принадлежности определенных лексических единиц семантическим классам, информацию о грамматических формах и линейном порядке, информацию об использовании определенных форм, аспектов, тональности (например, положительной или отрицательной), глубинных позиций, недревесных связей, семантем и т.д.[000145] A computing device that implements this method can extract a wide range of lexical, grammatical, syntactic, pragmatic and (or) semantic characteristics during syntactic-semantic analysis and the creation of semantic structures. In an illustrative example, the system can extract and store certain lexical information, data on the membership of certain lexical units in semantic classes, information on grammatical forms and linear order, information on the use of certain forms, aspects, tonality (for example, positive or negative), deep positions, non-wood connections, semantems, etc.

[000146] Вычислительное устройство, в котором реализованы описанные здесь способы, может производить анализ, используя один или несколько описанных в этом документе способов анализа текста, и индексировать любой один или несколько параметров описаний языка, включая лексические значения, семантические классы, граммемы, семантемы и т.д. Индексацию семантического класса можно использовать в различных задачах обработки естественного языка, включая семантический поиск, классификацию, кластеризацию, фильтрацию текста и т.д.. Индексация лексических значений (вместо индексации слов) позволяет искать не только слова и формы слов, но и лексические значения, т.е. слова, имеющие определенные лексические значения. Вычислительное устройство, реализующее способы настоящего изобретения, также может хранить и индексировать синтаксические и семантические структуры, созданные одним или несколькими описанными в настоящем документе способами анализа текста, для использования данных структур и (или) индексов при проведении семантического поиска, классификации, кластеризации и фильтрации документов.[000146] A computing device that implements the methods described herein can analyze using one or more of the text analysis methods described in this document and index any one or more parameters of language descriptions, including lexical values, semantic classes, grammes, semantems, and etc. Indexing a semantic class can be used in various natural language processing tasks, including semantic search, classification, clustering, text filtering, etc. Indexing lexical values (instead of indexing words) allows you to search not only words and word forms, but also lexical meanings, those. words with certain lexical meanings. A computing device that implements the methods of the present invention can also store and index syntactic and semantic structures created by one or more of the text analysis methods described herein to use these structures and (or) indices for semantic search, classification, clustering and filtering of documents .

[000147] На Фиг. 16 показан иллюстративный пример вычислительной системы 1000, которая может исполнять набор команд, которые вызывают выполнение вычислительной системой любого отдельно взятого или нескольких способов настоящего изобретения. Вычислительная система может быть соединена с другой вычислительной системой по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительная система может работать в качестве сервера или клиента в сетевой среде «клиент-сервер» либо в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительная система может быть представлена персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), карманным ПК (PDA), сотовым телефоном или любой вычислительной системой, способной выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этой вычислительной системой. Кроме того, несмотря на то, что показана только одна вычислительная система, термин «вычислительная система» также может включать любую совокупность вычислительных систем, которые отдельно или совместно выполняют набор (или более наборов) команд для выполнения одной или более способов, обсуждаемых в настоящем документе.[000147] In FIG. 16 shows an illustrative example of a computing system 1000 that can execute a set of instructions that cause the computing system to execute any one or more of the methods of the present invention. A computing system may be connected to another computing system via a local area network, a corporate network, an extranet, or the Internet. A computing system can operate as a server or client in a client-server network environment, or as a peer-to-peer computing device in a peer-to-peer (or distributed) network environment. A computing system can be represented by a personal computer (PC), a tablet PC, a television set-top box (STB), a pocket PC (PDA), a cell phone, or any computer system capable of executing a set of commands (sequentially or otherwise) that determine the operations that should be made by this computing system. In addition, although only one computing system is shown, the term “computing system” may also include any combination of computing systems that separately or collectively execute a set (or more sets) of instructions to execute one or more of the methods discussed herein .

[000148] Пример вычислительной системы 1000 включает процессор 502, основное запоминающее устройство 504 (например, постоянное запоминающее устройство (ПЗУ) или динамическое оперативное запоминающее устройство (DRAM)) и устройство хранения данных 518, которые взаимодействуют друг с другом по шине 530.[000148] An example of a computing system 1000 includes a processor 502, a main storage device 504 (eg, read only memory (ROM) or dynamic random access memory (DRAM)) and a data storage device 518 that communicate with each other via a bus 530.

[000149] Процессор 502 может быть представлен одной или более универсальными вычислительными системами, например, микропроцессором, центральным процессором и т.д. В частности, процессор 502 может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд или процессоры, реализующие комбинацию наборов команд. Процессор 502 также может представлять собой одну или более вычислительных систем специального назначения, например, заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор 502 реализован с возможностью выполнения команд 526 для осуществления рассмотренных в настоящем документе операций и функций.[000149] The processor 502 may be represented by one or more general-purpose computing systems, for example, a microprocessor, a central processor, etc. In particular, the processor 502 may be a full instruction set microprocessor (CISC), a reduced instruction set microprocessor (RISC), an extra long instruction microprocessor (VLIW), a processor implementing another instruction set, or processors implementing a combination of instruction sets. The processor 502 may also be one or more special-purpose computing systems, for example, a custom integrated circuit (ASIC), field programmable gate array (FPGA), digital signal processor (DSP), network processor, and the like. The processor 502 is configured to execute instructions 526 to perform the operations and functions discussed herein.

[000150] Вычислительная система 1000 может дополнительно включать устройство сетевого интерфейса 522, устройство визуального отображения 510, устройство ввода символов 512 (например, клавиатуру) и устройство ввода в виде сенсорного экрана 514.[000150] Computing system 1000 may further include a network interface device 522, a visual display device 510, a character input device 512 (eg, a keyboard), and a touch screen input device 514.

[000151] Устройство хранения данных 518 может содержать машиночитаемый носитель данных 524, в котором хранится один или более наборов команд 526 и в котором реализованы одна или более методов или функций, рассмотренных в настоящем документе. Команды 526 также могут находиться полностью или по меньшей мере частично в основном запоминающем устройстве 504 и/или в процессоре 502 во время выполнения их в вычислительной системе 1000, при этом оперативное запоминающее устройство 504 и процессор 502 также представляют собой машиночитаемый носитель данных. Команды 526 также могут передаваться или приниматься по сети 516 через устройство сетевого интерфейса 522.[000151] The data storage device 518 may include a computer-readable storage medium 524 that stores one or more sets of instructions 526 and that implements one or more of the methods or functions discussed herein. The instructions 526 may also reside completely or at least partially in the main memory 504 and / or in the processor 502 while they are being executed in the computer system 1000, and the random access memory 504 and the processor 502 also constitute a computer-readable storage medium. Commands 526 may also be transmitted or received over network 516 through a network interface device 522.

[000152] В некоторых вариантах реализации изобретения набор команд 526 может содержать команды способа 100, 300 и/или 400 для извлечения информации из текстов на естественном языке и обучения классификаторов в соответствии с одним или более вариантами реализации настоящего изобретения. Хотя машиночитаемый носитель данных 524 показан в примере на Фиг. 16 в виде одного носителя, термин «машиночитаемый носитель» следует понимать в широком смысле, подразумевающем один или более носителей (например, централизованную или распределенную базу данных и/или соответствующие кэши и серверы), в которых хранится один или более наборов команд. Термин «машиночитаемый носитель данных» также следует понимать как включающий любой носитель, который может хранить, кодировать или переносить набор команд для выполнения машиной и который обеспечивает выполнение машиной любой одной или более методов настоящего изобретения. Поэтому термин «машиночитаемый носитель данных» относится, помимо прочего, к твердотельным запоминающим устройствам, а также к оптическим и магнитным носителям.[000152] In some embodiments of the invention, the instruction set 526 may comprise instructions of a method 100, 300, and / or 400 for extracting information from natural language texts and training classifiers in accordance with one or more embodiments of the present invention. Although the computer readable storage medium 524 is shown in the example of FIG. 16 as a single medium, the term “machine-readable medium” should be understood in a broad sense, meaning one or more media (for example, a centralized or distributed database and / or corresponding caches and servers) that store one or more sets of instructions. The term "computer-readable storage medium" should also be understood as including any medium that can store, encode or transfer a set of instructions for execution by a machine and which enables the machine to execute any one or more of the methods of the present invention. Therefore, the term “computer-readable storage medium” refers, inter alia, to solid-state storage devices, as well as to optical and magnetic media.

[000153] Способы, компоненты и функции, описанные в этом документе, могут быть реализованы с помощью дискретных компонентов оборудования либо они могут быть встроены в функции других компонентов оборудования, например, ASICS (специализированная заказная интегральная схема), FPGA (программируемая логическая интегральная схема), DSP (цифровой сигнальный процессор) или аналогичных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратного обеспечения. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации аппаратного обеспечения и программных компонентов либо исключительно с помощью программного обеспечения.[000153] The methods, components, and functions described in this document can be implemented using discrete equipment components or they can be integrated into the functions of other equipment components, for example, ASICS (specialized custom integrated circuit), FPGA (programmable logic integrated circuit) , DSP (digital signal processor) or similar devices. In addition, methods, components and functions may be implemented using firmware modules or functional block diagrams of the hardware. The methods, components and functions may also be implemented using any combination of hardware and software components or solely using software.

[000154] В приведенном выше описании изложены многочисленные детали. Однако любому специалисту в этой области техники, ознакомившемуся с этим описанием, должно быть очевидно, что настоящее изобретение может быть осуществлено на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схем без детализации, чтобы не усложнять описание настоящего изобретения.[000154] In the above description, numerous details are set forth. However, it should be apparent to any person skilled in the art who has read this description that the present invention can be practiced without these specific details. In some cases, well-known structures and devices are shown in block diagrams without detail, so as not to complicate the description of the present invention.

[000155] Некоторые части описания предпочтительных вариантов реализации изобретения представлены в виде алгоритмов и символического представления операций с битами данных в запоминающем устройстве компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, что обеспечивает наиболее эффективную передачу сущности работы другим специалистам в данной области. В контексте настоящего описания, как это и принято, алгоритмом называется логически непротиворечивая последовательность операций, приводящих к желаемому результату. Операции подразумевают действия, требующие физических манипуляций с физическими величинами. Обычно, хотя и необязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и выполнять другие манипуляции. Иногда удобно, прежде всего для обычного использования, описывать эти сигналы в виде битов, значений, элементов, символов, терминов, цифр и т.д.[000155] Some parts of the description of preferred embodiments of the invention are presented in the form of algorithms and a symbolic representation of operations with data bits in a computer storage device. Such descriptions and representations of algorithms represent the means used by specialists in the field of data processing, which ensures the most efficient transfer of the essence of work to other specialists in this field. In the context of the present description, as is customary, an algorithm is a logically consistent sequence of operations leading to the desired result. Operations involve actions that require physical manipulation of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared and other manipulations performed. Sometimes it is convenient, first of all for ordinary use, to describe these signals in the form of bits, values, elements, symbols, terms, numbers, etc.

[000156] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами и что они являются лишь удобными обозначениями, применяемыми к этим величинам. Если явно не указано обратное, принимается, что в последующем описании термины «определение», «вычисление», «расчет», «получение», «установление», «определение», «изменение» и т.п. относятся к действиям и процессам вычислительной системы или аналогичной электронной вычислительной системы, которая использует и преобразует данные, представленные в виде физических (например, электронных) величин в реестрах и запоминающих устройствах вычислительной системы, в другие данные, также представленные в виде физических величин в запоминающих устройствах или реестрах вычислительной системы или иных устройствах хранения, передачи или отображения такой информации.[000156] However, it should be borne in mind that all these and similar terms should be associated with the corresponding physical quantities and that they are only convenient designations applicable to these quantities. Unless explicitly stated otherwise, it is assumed that in the following description the terms “determination”, “calculation”, “calculation”, “receipt”, “establishment”, “determination”, “change”, etc. relate to the actions and processes of a computing system or similar electronic computing system that uses and converts data represented as physical (e.g. electronic) quantities in registers and storage devices of a computing system into other data also represented as physical quantities in storage devices or computer system registries or other devices for storing, transmitting or displaying such information.

[000157] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей, либо оно может представлять собой универсальный компьютер, который избирательно приводится в действие или дополнительно настраивается с помощью программы, хранящейся в запоминающем устройстве компьютера. Такая компьютерная программа может храниться на машиночитаемом носителе данных, например, помимо прочего, на диске любого типа, включая дискеты, оптические диски, CD-ROM и магнитно-оптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), СППЗУ, ЭППЗУ, магнитные или оптические карты и носители любого типа, подходящие для хранения электронной информации.[000157] The present invention also relates to a device for performing the operations described herein. Such a device can be specially designed for the required purposes, or it can be a universal computer, which is selectively activated or additionally configured using a program stored in a computer storage device. Such a computer program may be stored on a computer-readable storage medium, for example, but not limited to, any type of disk, including floppy disks, optical disks, CD-ROMs and magneto-optical disks, read-only memory (ROM), random access memory (RAM), EPROM , EEPROM, magnetic or optical cards and any type of media suitable for storing electronic information.

[000158] Следует понимать, что приведенное выше описание призвано иллюстрировать, а не ограничивать сущность изобретения. Специалистам в данной области техники после прочтения и уяснения приведенного выше описания станут очевидны и различные другие варианты реализации изобретения. Исходя из этого область применения изобретения должна определяться с учетом прилагаемой формулы изобретения, а также всех областей применения эквивалентных способов, на которые в равной степени распространяется формула изобретения.[000158] It should be understood that the above description is intended to illustrate, and not limit the essence of the invention. Various other embodiments of the invention will become apparent to those skilled in the art after reading and understanding the above description. Based on this, the scope of the invention should be determined taking into account the attached claims, as well as all areas of application of equivalent methods, which are equally covered by the claims.

Claims (54)

1. Способ извлечения информации из текстов на естественном языке, включающий:1. A method of extracting information from natural language texts, including: извлечение вычислительной системой первого множества информационных объектов из текста на естественном языке;extracting the first set of information objects from a text in a natural language by a computer system; извлечение из текста на естественном языке второго множества информационных объектов;extracting from the text in the natural language of the second set of information objects; создание промежуточного перечня информационных объектов, включающего по меньшей мере подмножество первого множества информационных объектов и по меньшей мере подмножество второго множества информационных объектов;creating an intermediate list of information objects, including at least a subset of the first set of information objects and at least a subset of the second set of information objects; выявление в промежуточном перечне информационных объектов множества конфликтующих информационных объектов, в котором первый информационный объект из множества конфликтующих информационных объектов принадлежит первому множеству информационных объектов, а второй информационный объект из множества конфликтующих информационных объектов принадлежит второму множеству информационных объектов; иidentifying in the intermediate list of information objects a plurality of conflicting information objects, in which a first information object of a plurality of conflicting information objects belongs to a first plurality of information objects, and a second information object of a plurality of conflicting information objects belongs to a second plurality of information objects; and создание окончательного перечня информационных объектов, извлеченных из текста на естественном языке путем применения к множеству конфликтующих информационных объектов функции «арбитража» конфликтующих объектов, которая выполняет по меньшей мере одно из следующих действий: изменение первого информационного объекта, удаление первого информационного объекта или слияние двух и более информационных объектов из множества конфликтующих информационных объектов.creation of a final list of information objects extracted from natural language text by applying to the set of conflicting information objects the function of “arbitration” of conflicting objects, which performs at least one of the following actions: changing the first information object, deleting the first information object, or merging two or more information objects from a variety of conflicting information objects. 2. Способ по п. 1, отличающийся тем, что извлечение первого множества информационных объектов выполняется с применением первой методики извлечения информации, а извлечение второго множества информационных объектов выполняется с применением второй методики извлечения информации.2. The method according to p. 1, characterized in that the extraction of the first set of information objects is performed using the first information extraction method, and the extraction of the second set of information objects is performed using the second information extraction technique. 3. Способ по п. 1, дополнительно включающий:3. The method according to claim 1, further comprising: использование окончательного перечня информационных объектов для выполнения операций по обработке естественного языка.use of the final list of information objects to perform natural language processing operations. 4. Способ по п. 1, дополнительно включающий:4. The method according to p. 1, further comprising: представление окончательного перечня информационных объектов с помощью RDF-графа.Presentation of the final list of information objects using an RDF graph. 5. Способ по п. 1, отличающийся тем, что выявление множества конфликтующих информационных объектов дополнительно включает:5. The method according to p. 1, characterized in that the identification of multiple conflicting information objects further includes: определение того, что первая текстовая аннотация, связанная с первым информационным объектом, пересекается со второй текстовой аннотацией, связанной со вторым информационным объектом.determining that the first text annotation associated with the first information object intersects with the second text annotation associated with the second information object. 6. Способ по п. 1, отличающийся тем, что выявление множества конфликтующих информационных объектов дополнительно включает:6. The method according to p. 1, characterized in that the identification of multiple conflicting information objects further includes: оценку логического условия, включающего первый атрибут первого информационного объекта и второй атрибут второго информационного объекта.evaluation of the logical condition, including the first attribute of the first information object and the second attribute of the second information object. 7. Способ по п. 1, отличающийся тем, что выявление множества конфликтующих информационных объектов дополнительно включает:7. The method according to p. 1, characterized in that the identification of multiple conflicting information objects further includes: определение информационного объекта, имеющего ряд атрибутов определенного типа в количестве выше порогового количества атрибутов определенного типа.the definition of an information object having a number of attributes of a certain type in an amount above the threshold number of attributes of a certain type. 8. Способ по п. 1, отличающийся тем, что выполнение функции «арбитража» конфликтующих объектов дополнительно включает:8. The method according to p. 1, characterized in that the function of "arbitration" of conflicting objects further includes: применение множества продукционных правил к множеству атрибутов текста на естественном языке.applying multiple production rules to multiple natural language text attributes. 9. Способ по п. 1, отличающийся тем, что выполнение функции «арбитража» конфликтующих объектов дополнительно включает:9. The method according to p. 1, characterized in that the function of "arbitration" of conflicting objects further includes: применение ко множеству атрибутов текста на естественном языке классификатора машинного обучения, на основе которого определяется по меньшей мере одно из следующего: сходство первого информационного объекта и второго информационного объекта, представляющих один объект, степень уверенности первого информационного объекта или степень уверенности второго информационного объекта.applying to a set of attributes of a text in a natural language a machine learning classifier, based on which at least one of the following is determined: the similarity of the first information object and the second information object representing one object, the degree of confidence of the first information object, or the degree of confidence of the second information object. 10. Способ по п. 9, дополнительно включающий:10. The method according to p. 9, further comprising: принятие пользовательского ввода, подтверждающего окончательный перечень информационных объектов;acceptance of user input confirming the final list of information objects; добавление к обучающей выборке данных текста на естественном языке в сопровождении метаданных, включающих определения и текстовые аннотации одного или более информационных объектов окончательного перечня информационных объектов;adding to the training sample data in natural language text accompanied by metadata, including definitions and text annotations of one or more information objects, the final list of information objects; обучение, с использованием обучающей выборки данных, классификатора на основе машинного обучения, реализующего функцию «арбитража» конфликтующих объектов.training, using a training data set, a classifier based on machine learning that implements the function of "arbitration" of conflicting objects. 11. Способ по п. 9, отличающийся тем, что множество атрибутов текста на естественном языке включает одну или более степеней уверенности, связанных с соответствующими информационными объектами.11. The method according to p. 9, characterized in that the set of attributes of the text in the natural language includes one or more degrees of confidence associated with the corresponding information objects. 12. Способ по п. 1, отличающийся тем, что извлечение из текста на естественном языке первого множества информационных объектов дополнительно включает:12. The method according to p. 1, characterized in that the extraction from the text in the natural language of the first set of information objects further includes: применение к множеству атрибутов текста на естественном языке классификатора на основе машинного обучения, за счет чего создается степень связанности фрагмента текста на естественном языке с заданным классом информационных объектов.the application of a classifier based on machine learning to a set of attributes of a text in a natural language, thereby creating a degree of connectedness of a fragment of a text in a natural language with a given class of information objects. 13. Способ по п. 12, дополнительно включающий:13. The method according to p. 12, further comprising: принятие пользовательского ввода, подтверждающего множество информационных объектов для создания выборки обучающих данных;the adoption of user input, confirming many information objects to create a sample of training data; приложение к обучающей выборке данных текста на естественном языке в сопровождении метаданных, включающих определения и текстовые аннотации одного или более информационных объектов первого множества информационных объектов;application to the training sample of natural language text data accompanied by metadata, including definitions and text annotations of one or more information objects of the first set of information objects; обучение, с использованием обучающей выборки данных, классификатора на основе машинного обучения, используемого для извлечения информации.training, using a training data set, a classifier based on machine learning used to extract information. 14. Вычислительная система для извлечения информации из текстов на естественном языке, содержащая:14. A computing system for extracting information from texts in a natural language, containing: память;memory; процессор, связанный с указанной памятью, причем этот процессор выполнен с возможностью:a processor associated with the specified memory, and this processor is configured to: извлечения из текста на естественном языке первого множества информационных объектов;extracting from the natural language text the first set of information objects; извлечения из текста на естественном языке второго множества информационных объектов;extracting from the text in the natural language of the second set of information objects; создания промежуточного перечня информационных объектов, включающего по меньшей мере подмножество первого множества информационных объектов и по меньшей мере подмножество второго множества информационных объектов;creating an intermediate list of information objects, including at least a subset of the first set of information objects and at least a subset of the second set of information objects; выявления в промежуточном перечне информационных объектов множества конфликтующих информационных объектов, в котором первый информационный объект из множества конфликтующих информационных объектов принадлежит к первому множеству информационных объектов, а второй информационный объект из множества конфликтующих информационных объектов принадлежит ко второму множеству информационных объектов; иidentifying in the intermediate list of information objects a plurality of conflicting information objects, in which a first information object of a plurality of conflicting information objects belongs to a first set of information objects, and a second information object of a plurality of conflicting information objects belongs to a second set of information objects; and создания окончательного перечня информационных объектов, извлеченных из текста на естественном языке, за счет применения ко множеству конфликтующих информационных объектов функции «арбитража» конфликтующих информационных объектов, которая выполняет по меньшей мере одно из следующих действий: изменение первого информационного объекта или слияние двух или более информационных объектов из множества конфликтующих информационных объектов.creating a final list of information objects extracted from natural language text by applying to the set of conflicting information objects the function of “arbitration” of conflicting information objects, which performs at least one of the following actions: changing the first information object or merging two or more information objects from many conflicting information objects. 15. Вычислительная система по п. 14, отличающаяся тем, что извлечение первого множества информационных объектов выполняется с применением первой методики извлечения информации, а извлечение второго множества информационных объектов выполняется с применением второй методики извлечения информации.15. The computing system according to claim 14, characterized in that the extraction of the first set of information objects is performed using the first information extraction technique, and the extraction of the second set of information objects is performed using the second information extraction technique. 16. Вычислительная система по п. 14, дополнительно включающая:16. The computing system of claim 14, further comprising: использование окончательного перечня информационных объектов для выполнения операций по обработке естественного языка.use of the final list of information objects to perform natural language processing operations. 17. Вычислительная система по п. 14, отличающаяся тем, что выполнение функции «арбитража» конфликтующих объектов дополнительно включает:17. The computing system according to p. 14, characterized in that the function of "arbitration" of conflicting objects further includes: применение ко множеству атрибутов текста на естественном языке классификатора на основе машинного обучения, на основе которого определяется по меньшей мере одно из следующего: сходство первого информационного объекта и второго информационного объекта, представляющих один объект, степень уверенности первого информационного объекта или степень уверенности второго информационного объекта.applying to a set of attributes of a text in a natural language a classifier based on machine learning, on the basis of which at least one of the following is determined: the similarity of the first information object and the second information object representing one object, the degree of confidence of the first information object, or the degree of confidence of the second information object. 18. Постоянный машиночитаемый носитель данных для извлечения информации из текстов на естественном языке, включающий исполняемые команды для вычислительной системы, обеспечивающие возможность:18. A permanent computer-readable storage medium for extracting information from natural language texts, including executable instructions for a computer system, providing the ability to: извлечения из текста на естественном языке первого множества информационных объектов;extracting from the natural language text the first set of information objects; извлечения из текста на естественном языке второго множества информационных объектов;extracting from the text in the natural language of the second set of information objects; создания промежуточного перечня информационных объектов, включающего по меньшей мере подмножество первого множества информационных объектов и по меньшей мере подмножество второго множества информационных объектов;creating an intermediate list of information objects, including at least a subset of the first set of information objects and at least a subset of the second set of information objects; выявления в промежуточном перечне информационных объектов множества конфликтующих информационных объектов, в котором первый информационный объект из множества конфликтующих информационных объектов принадлежит к первому множеству информационных объектов, а второй информационный объект из множества конфликтующих информационных объектов принадлежит ко второму множеству информационных объектов; иidentifying in the intermediate list of information objects a plurality of conflicting information objects, in which a first information object of a plurality of conflicting information objects belongs to a first set of information objects, and a second information object of a plurality of conflicting information objects belongs to a second set of information objects; and создания окончательного перечня информационных объектов, извлеченных из текста на естественном языке, за счет применения ко множеству конфликтующих информационных объектов функции «арбитража» конфликтующих информационных объектов, которая выполняет по меньшей мере одно из следующих действий: изменение первого информационного объекта или слияние двух или более информационных объектов из множества конфликтующих информационных объектов.creating a final list of information objects extracted from natural language text by applying to the set of conflicting information objects the function of “arbitration” of conflicting information objects, which performs at least one of the following actions: changing the first information object or merging two or more information objects from many conflicting information objects. 19. Машиночитаемый постоянный носитель данных по п. 18, отличающийся тем, что извлечение первого множества информационных объектов выполняется с применением первой методики извлечения информации, а извлечение второго множества информационных объектов выполняется с применением второй методики извлечения информации.19. The machine-readable permanent storage medium according to claim 18, characterized in that the extraction of the first set of information objects is performed using the first information extraction method, and the extraction of the second set of information objects is performed using the second information extraction method. 20. Энергонезависимый машиночитаемый носитель данных по п. 18, дополнительно включающий:20. A non-volatile computer-readable storage medium according to claim 18, further comprising: использование окончательного перечня информационных объектов для выполнения операций по обработке естественного языка.use of the final list of information objects to perform natural language processing operations.
RU2018110386A 2018-03-23 2018-03-23 Classifier training used for extracting information from texts in natural language RU2681356C1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
RU2018110386A RU2681356C1 (en) 2018-03-23 2018-03-23 Classifier training used for extracting information from texts in natural language
US15/938,307 US10437931B1 (en) 2018-03-23 2018-03-28 Information extraction from natural language texts
US15/938,509 US20190294665A1 (en) 2018-03-23 2018-03-28 Training information extraction classifiers
US16/545,463 US10691891B2 (en) 2018-03-23 2019-08-20 Information extraction from natural language texts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018110386A RU2681356C1 (en) 2018-03-23 2018-03-23 Classifier training used for extracting information from texts in natural language

Publications (1)

Publication Number Publication Date
RU2681356C1 true RU2681356C1 (en) 2019-03-06

Family

ID=65632855

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018110386A RU2681356C1 (en) 2018-03-23 2018-03-23 Classifier training used for extracting information from texts in natural language

Country Status (1)

Country Link
RU (1) RU2681356C1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274391A (en) * 2020-01-15 2020-06-12 北京百度网讯科技有限公司 SPO extraction method and device, electronic equipment and storage medium
RU2745492C1 (en) * 2020-10-09 2021-03-25 Общество с ограниченной ответственностью «Газпромнефть Научно-Технический Центр» Method and system for the search for analogues of oil and gas fields
US11138383B2 (en) 2019-08-21 2021-10-05 International Business Machines Corporation Extracting meaning representation from text

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7027974B1 (en) * 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
US20150278197A1 (en) * 2014-03-31 2015-10-01 Abbyy Infopoisk Llc Constructing Comparable Corpora with Universal Similarity Measure
RU2628436C1 (en) * 2016-04-12 2017-08-16 Общество с ограниченной ответственностью "Аби Продакшн" Classification of texts on natural language based on semantic signs
RU2646386C1 (en) * 2016-12-07 2018-03-02 Общество с ограниченной ответственностью "Аби Продакшн" Extraction of information using alternative variants of semantic-syntactic analysis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7027974B1 (en) * 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
US20150278197A1 (en) * 2014-03-31 2015-10-01 Abbyy Infopoisk Llc Constructing Comparable Corpora with Universal Similarity Measure
RU2628436C1 (en) * 2016-04-12 2017-08-16 Общество с ограниченной ответственностью "Аби Продакшн" Classification of texts on natural language based on semantic signs
RU2646386C1 (en) * 2016-12-07 2018-03-02 Общество с ограниченной ответственностью "Аби Продакшн" Extraction of information using alternative variants of semantic-syntactic analysis

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138383B2 (en) 2019-08-21 2021-10-05 International Business Machines Corporation Extracting meaning representation from text
CN111274391A (en) * 2020-01-15 2020-06-12 北京百度网讯科技有限公司 SPO extraction method and device, electronic equipment and storage medium
CN111274391B (en) * 2020-01-15 2023-09-01 北京百度网讯科技有限公司 SPO extraction method and device, electronic equipment and storage medium
RU2745492C1 (en) * 2020-10-09 2021-03-25 Общество с ограниченной ответственностью «Газпромнефть Научно-Технический Центр» Method and system for the search for analogues of oil and gas fields

Similar Documents

Publication Publication Date Title
US10691891B2 (en) Information extraction from natural language texts
RU2628431C1 (en) Selection of text classifier parameter based on semantic characteristics
RU2628436C1 (en) Classification of texts on natural language based on semantic signs
RU2662688C1 (en) Extraction of information from sanitary blocks of documents using micromodels on basis of ontology
RU2619193C1 (en) Multi stage recognition of the represent essentials in texts on the natural language on the basis of morphological and semantic signs
RU2686000C1 (en) Retrieval of information objects using a combination of classifiers analyzing local and non-local signs
RU2679988C1 (en) Extracting information objects with the help of a classifier combination
RU2657173C2 (en) Sentiment analysis at the level of aspects using methods of machine learning
RU2637992C1 (en) Method of extracting facts from texts on natural language
RU2646386C1 (en) Extraction of information using alternative variants of semantic-syntactic analysis
RU2635257C1 (en) Sentiment analysis at level of aspects and creation of reports using machine learning methods
RU2626555C2 (en) Extraction of entities from texts in natural language
RU2732850C1 (en) Classification of documents by levels of confidentiality
RU2697647C1 (en) System and method for automatic creation of templates
RU2607976C1 (en) Extracting information from structured documents containing text in natural language
RU2636098C1 (en) Use of depth semantic analysis of texts on natural language for creation of training samples in methods of machine training
RU2640297C2 (en) Definition of confidence degrees related to attribute values of information objects
US20160147736A1 (en) Creating ontologies by analyzing natural language texts
RU2646380C1 (en) Using verified by user data for training models of confidence
RU2618374C1 (en) Identifying collocations in the texts in natural language
RU2665261C1 (en) Recovery of text annotations related to information objects
RU2640718C1 (en) Verification of information object attributes
RU2681356C1 (en) Classifier training used for extracting information from texts in natural language
RU2691855C1 (en) Training classifiers used to extract information from natural language texts
RU2606873C2 (en) Creation of ontologies based on natural language texts analysis

Legal Events

Date Code Title Description
QB4A Licence on use of patent

Free format text: LICENCE FORMERLY AGREED ON 20201211

Effective date: 20201211

QC41 Official registration of the termination of the licence agreement or other agreements on the disposal of an exclusive right

Free format text: LICENCE FORMERLY AGREED ON 20201211

Effective date: 20220311