RU2657173C2 - Sentiment analysis at the level of aspects using methods of machine learning - Google Patents

Sentiment analysis at the level of aspects using methods of machine learning Download PDF

Info

Publication number
RU2657173C2
RU2657173C2 RU2016131180A RU2016131180A RU2657173C2 RU 2657173 C2 RU2657173 C2 RU 2657173C2 RU 2016131180 A RU2016131180 A RU 2016131180A RU 2016131180 A RU2016131180 A RU 2016131180A RU 2657173 C2 RU2657173 C2 RU 2657173C2
Authority
RU
Russia
Prior art keywords
semantic
syntactic
natural language
text
tonality
Prior art date
Application number
RU2016131180A
Other languages
Russian (ru)
Other versions
RU2016131180A (en
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 RU2016131180A priority Critical patent/RU2657173C2/en
Priority to US15/238,398 priority patent/US20180032508A1/en
Publication of RU2016131180A publication Critical patent/RU2016131180A/en
Application granted granted Critical
Publication of RU2657173C2 publication Critical patent/RU2657173C2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data

Abstract

FIELD: physics.
SUBSTANCE: they perform a syntactic-semantic analysis of a part of the text in the natural language for obtaining a set of syntactic-semantic structures. They perform an interpretation of syntactic-semantic structures using a set of production rules for detecting in the part of the text in the natural language an aspectual term representing the aspect associated with the target entity. The value of the classifier function is calculated, using the text characteristics obtained in the syntactic-semantic analysis, for determining the key note associated with the aspectual term. They create a report that contains a hierarchical list of aspectual terms that include the identified aspects and key tones of the identified aspects. The parameter of the classifier function is determined using a training data sample and a confirming data sample. The training data sample includes educational text in natural language containing a variety of aspectual terms.
EFFECT: improving the accuracy of sentiment analysis of texts in natural language.
14 cl, 21 dwg

Description

ОБЛАСТЬ ИЗОБРЕТЕНИЯFIELD OF THE INVENTION

[0001] Настоящее изобретение в целом относится к извлечению информации из текстов на естественных языках с использованием вычислительных систем, а точнее - к сентиментному анализу на уровне аспектов с использованием методов машинного обучения.[0001] The present invention generally relates to the extraction of information from texts in natural languages using computer systems, and more specifically to sentimental analysis at the aspect level using machine learning methods.

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

[0002] Сентиментный анализ является важной операцией при автоматической обработке текстов на естественных языках и имеет множество применений для решения реальных задач. Сентиментный анализ на уровне аспектов (АВSА) может использоваться для автоматической идентификации в текстах на естественном языке аспектов указанных целевых сущностей и сентиментов, выражаемых по отношению к каждому из аспектов.[0002] Sentiment analysis is an important operation in the automatic processing of texts in natural languages and has many uses for solving real problems. Sentiment analysis at the aspect level (ABCA) can be used to automatically identify aspects of the specified target entities and sentiments expressed in relation to each aspect in natural language texts.

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

[0003] В соответствии с одним или несколькими аспектами настоящего изобретения описанный в примере способ сентиментного анализа на уровне аспектов может содержать: выполнение с помощью вычислительной системы семантико-синтаксического анализа по крайней мере части текста на естественном языке для создания множества синтактико-семантических структур, представляющих часть текста на естественном языке; интерпретацию синтактико-семантических структур с помощью набора продукционных правил для обнаружения в части текста на естественном языке по крайней мере одного аспектного термина, представляющего аспект, связанный с целевой сущностью; и оценку, с помощью одной или более характеристик текста, полученных при синтактико-семантическом анализе, функции классификатора для определения тональности, связанной с аспектным термином.[0003] In accordance with one or more aspects of the present invention, the method of sentimental analysis at the aspect level described in the example may comprise: performing, by means of a computer system, semantic-syntactic analysis of at least a portion of the text in natural language to create a plurality of syntactic-semantic structures representing part of the text in natural language; interpretation of syntactic-semantic structures with the help of a set of production rules for detecting in a part of a text in a natural language at least one aspect term representing an aspect related to the target entity; and evaluating, using one or more characteristics of the text obtained by syntactic-semantic analysis, a classifier function to determine the tonality associated with an aspect term.

[0004] В соответствии с одним или несколькими аспектами настоящего изобретения описанная в примере система для сентиментного анализа на уровне аспектов может содержать: память и процессор, работающий с этой памятью, причем этот процессор выполнен с возможностью: выполнять с помощью вычислительной системы семантико-синтаксический анализ по крайней мере части текста на естественном языке для создания множества синтактико-семантических структур, представляющих часть текста на естественном языке; интерпретировать синтактико-семантические структуры с помощью набора продукционных правил для обнаружения в части текста на естественном языке по крайней мере одного аспектного термина, представляющего аспект, связанный с целевой сущностью; и оценивать с помощью одной или более характеристик текста, полученных при синтактико-семантическом анализе, функцию-классификатор для определения тональности, связанной с аспектным термином.[0004] In accordance with one or more aspects of the present invention, the system for sentimental analysis at the aspect level described in the example may include: a memory and a processor operating with this memory, the processor being configured to: perform semantic-syntactic analysis using a computer system at least parts of the text in natural language to create many syntactic-semantic structures that represent part of the text in natural language; interpret syntactic-semantic structures with the help of a set of production rules for detecting at least one aspect term representing a aspect related to the target entity in a part of the text in the natural language; and evaluate using one or more characteristics of the text obtained by syntactic-semantic analysis, a classifier function to determine the tonality associated with an aspect term.

[0005] В соответствии с одним или несколькими аспектами настоящего изобретения пример постоянного машиночитаемого носителя данных может включать исполняемые команды, которые при исполнении их вычислительной системой приводят к выполнению вычислительной системой операций, включающих в себя: выполнение с помощью вычислительной системы семантико-синтаксического анализа по крайней мере части текста на естественном языке для создания множества синтактико-семантических структур, представляющих часть текста на естественном языке; интерпретацию синтактико-семантических структур с помощью набора продукционных правил для обнаружения в части текста на естественном языке по крайней мере одного аспектного термина, представляющего аспект, связанный с целевой сущностью; и оценку с помощью одной или более характеристик текста, полученных при синтактико-семантическом анализе, функции классификатора для определения тональности, связанной с аспектным термином.[0005] In accordance with one or more aspects of the present invention, an example of a permanent computer-readable storage medium may include executable instructions that, when executed by a computing system, result in operations performed by the computing system including: performing at least semantic-syntactic analysis on the computing system at least part of the text in natural language to create many syntactic-semantic structures that represent part of the text in natural language; interpretation of syntactic-semantic structures with the help of a set of production rules for detecting in a part of a text in a natural language at least one aspect term representing an aspect related to the target entity; and evaluating, using one or more characteristics of the text obtained by syntactic-semantic analysis, a classifier function to determine the tonality associated with an aspect term.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ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 an aspect-level sentiment analysis method described in an example in accordance with one or more aspects of the present invention;

[0008] На Фиг. 2 приведен пример текста на естественном языке для использования в примере способа сентиментного анализа на уровне аспектов в соответствии с одним или несколькими аспектами настоящего изобретения;[0008] In FIG. 2 shows an example of a natural language text for use in an example of a sentimental analysis method at the aspect level in accordance with one or more aspects of the present invention;

[0009] На Фиг. 3 приведен пример семантической иерархии, используемой в описанном в примере способе сентиментного анализа на уровне аспектов в соответствии с одним или несколькими аспектами настоящего изобретения;[0009] In FIG. 3 illustrates an example of a semantic hierarchy used in the sentiment analysis method at the aspect level described in the example in accordance with one or more aspects of the present invention;

[00010] На Фиг. 4 схематично показан пример способа интерпретации синтактико-семантических структур с использованием набора продукционных правил в соответствии с одним или несколькими аспектами настоящего изобретения;[00010] In FIG. 4 schematically shows an example of a method for interpreting syntactic-semantic structures using a set of production rules in accordance with one or more aspects of the present invention;

[00011] На Фиг. 5 приведены примеры продукционных правил, используемых в примере способа сентиментного анализа на уровне аспектов для обнаружения аспектных терминов в соответствии с одним или несколькими аспектами настоящего изобретения;[00011] In FIG. 5 shows examples of production rules used in an example of a sentiment analysis method at the aspect level for detecting aspect terms in accordance with one or more aspects of the present invention;

[00012] На Фиг. 6 приведены примеры продукционных правил, используемых в примере способа сентиментного анализа на уровне аспектов для определения тональности аспектного термина в соответствии с одним или несколькими аспектами настоящего изобретения;[00012] In FIG. 6 shows examples of production rules used in an example of a sentimental analysis method at the aspect level to determine the tonality of an aspect term in accordance with one or more aspects of the present invention;

[00013] На Фиг. 7 показана блок-схема примера способа 700 интерактивного сентиментного анализа на уровне аспектов в тексте на естественном языке в соответствии с одним или более аспектами настоящего изобретения.[00013] In FIG. 7 is a flowchart of an example of a method 700 for interactive sentiment analysis at the aspect level in natural language text in accordance with one or more aspects of the present invention.

[00014] На Фиг. 8 приведен пример текста на естественном языке для использования в способе сентиментного анализа на уровне аспектов в соответствии с одним или несколькими аспектами настоящего изобретения;[00014] In FIG. 8 shows an example of a natural language text for use in a sentimental analysis method at the aspect level in accordance with one or more aspects of the present invention;

[00015] На Фиг. 9 приведены результаты примера разметки текста, приведенного на Фиг. 8 в соответствии с одним или более аспектами настоящего изобретения;[00015] In FIG. 9 shows the results of the text markup example shown in FIG. 8 in accordance with one or more aspects of the present invention;

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

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

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

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

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

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

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

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

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

[00025] На Фиг. 19 показан пример синтаксической структуры, соответствующей предложению, приведенному на Фиг. 18;[00025] In FIG. 19 shows an example of a syntax structure corresponding to the sentence of FIG. eighteen;

[00026] На Фиг. 20 показана семантическая структура, соответствующая синтаксической структуре на Фиг. 19;[00026] In FIG. 20 shows a semantic structure corresponding to the syntax structure in FIG. 19;

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

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

[00028] В настоящем документе описываются способы и системы сентиментного анализа на уровне аспектов. Описанные в настоящем документе системы и способы могут быть использованы в разнообразных приложениях обработки естественного языка, включая машинный перевод, семантическую индексацию, семантический поиск (включая многоязычный семантический поиск), классификацию документов, электронные исследования и др.[00028] This paper describes methods and systems of sentimental analysis at the level of aspects. The systems and methods described herein can be used in a variety of natural language processing applications, including machine translation, semantic indexing, semantic search (including multilingual semantic search), document classification, electronic research, etc.

[00029] В настоящем документе термин «вычислительная система» означает устройство обработки данных, оснащенное универсальным процессором, памятью и по меньшей мере одним коммуникационным интерфейсом. Примерами вычислительных систем, которые могут использовать описанные в этом документе способы, являются, в частности, настольные компьютеры, ноутбуки, планшетные компьютеры и смартфоны.[00029] As used herein, the term "computing system" means a data processing device equipped with a universal 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.

[00030] Слово «Сентимент» в настоящем документе означает вербальное выражение отношения или эмоций автора к некоторой сущности (например, к объекту реального мира или классу объектов реального мира). Определенный текст на естественном языке может выражать сентименты автора к различным аспектам одной или нескольких сущностей. Слово «Аспект» в настоящем документе означает определенное свойство сущности, описываемой в тексте на естественном языке. В различных иллюстративных примерах аспект может определять характеристику, компонент или функцию соответствующей сущности. Словосочетание «Аспектный термин» в настоящем документе означает одно или несколько слов на естественном языке, относящихся к аспекту определенной сущности. Сентимент может быть охарактеризован тональностью, связанной с соответствующим аспектным термином, например, положительной, нейтральной или отрицательной.[00030] The word "Sentiment" in this document means a verbal expression of the author’s attitude or emotions towards a certain entity (for example, an object of the real world or a class of objects of the real world). A certain text in a natural language can express the author's sentiments for various aspects of one or more entities. The word “Aspect” in this document means a specific property of the entity described in the text in a natural language. In various illustrative examples, an aspect may define a characteristic, component, or function of a corresponding entity. The phrase “Aspect term” in this document means one or more words in a natural language related to an aspect of a particular entity. Sentiment can be characterized by the tonality associated with the corresponding aspect term, for example, positive, neutral or negative.

[00031] В иллюстративном примере производитель потребительских товаров или поставщик услуг может интересоваться измерением сентиментов потребителей относительно определенного продукта путем анализа отзывов потребителей в сети, которые могут иметь вид неструктурированных или слабо структурированных текстов. В соответствии с одним или несколькими аспектами настоящего изобретения вычислительная система может анализировать текст на естественном языке, представляющий отзывы потребителей, чтобы выявить аспектные термины, связанные с одной или несколькими целевыми сущностями (например, товарами или услугами), и в дальнейшем найти сентименты, высказанные потребителями относительно каждого из этих аспектов.[00031] In an illustrative example, a consumer goods producer or service provider may be interested in measuring consumer sentiment for a particular product by analyzing customer feedback online, which may be in the form of unstructured or loosely structured texts. In accordance with one or more aspects of the present invention, a computing system may analyze natural language text representing consumer reviews to identify aspect terms related to one or more target entities (e.g., goods or services), and further find sentiment expressed by consumers regarding each of these aspects.

[00032] В некоторых вариантах реализации вычислительная система, реализующая способы, описанные в настоящем документе, может выполнять двухэтапный сентиментный анализ на уровне аспектов, в ходе которого на первом этапе производится определение аспектных терминов, а на втором этапе определяется их тональность.[00032] In some embodiments, a computing system that implements the methods described herein may perform two-stage sentimental analysis at the aspect level, during which the first stage defines the aspect terms and determines the tonality in the second stage.

[00033] На первом этапе процесса может анализироваться текст на естественном языке, который может содержать множество отзывов пользователей об одной или нескольких целевых сущностях (например, потребительских товарах или услугах). Этот анализ может включать набор продукционных правил для интерпретации множества синтактико-семантических структур, полученных в результате синтактико-семантического анализа текста на естественном языке. Продукционные правила могут производить множество объектов данных, представляющих выявленные аспекты целевых сущностей, что более подробно описано ниже в этом документе.[00033] In the first step of the process, natural language text can be analyzed, which can contain many user reviews of one or more target entities (eg, consumer goods or services). This analysis may include a set of production rules for interpreting many syntactic-semantic structures obtained as a result of syntactic-semantic analysis of text in a natural language. Production rules can produce many data objects representing the identified aspects of the target entities, which are described in more detail later in this document.

[00034] На втором этапе процесса определяется тональность, связанная с каждым выявленным аспектным термином. В некоторых реализациях изобретения второй этап может включать вычисление одной или нескольких функций-классификаторов, возвращающих тональность, связанную с данным аспектным термином. Функция-классификатор может реализовывать различные методы машинного обучения, такие как линейные классификаторы, классификаторы на основе дерева прямых потомков, классификаторы на основе случайного леса, классификаторы на основе условных случайных полей (СRF), классификаторы на основе латентного размещения Дирихле (LDА), классификаторы на основе метода опорных векторов (SVМ) и (или) классификаторы на основе нейронных сетей (например, World2Vес), как более подробно описано ниже в этом документе.[00034] In the second step of the process, the tonality associated with each identified aspect term is determined. In some implementations of the invention, the second step may include calculating one or more classifier functions that return the tonality associated with this aspect term. The classifier function can implement various machine learning methods, such as linear classifiers, classifiers based on the tree of direct descendants, classifiers based on a random forest, classifiers based on conditional random fields (CRF), classifiers based on latent Dirichlet placement (LDA), classifiers on based on the support vector method (SVM) and / or classifiers based on neural networks (for example, World2Ves), as described in more detail later in this document.

[00035] Дополнительно или в качестве альтернативного варианта тональность, связанная с заданным аспектным термином, может определяться путем применения набора продукционных правил, которые интерпретируют множество семантико-синтаксических структур, получаемых при синтактико-семантическом анализе текста на естественном языке, как более подробно описано ниже в этом документе.[00035] Additionally or alternatively, tonality associated with a given aspect term can be determined by applying a set of production rules that interpret the many semantic-syntactic structures obtained by syntactic-semantic analysis of natural language text, as described in more detail below in this document.

[00036] Различные аспекты упомянутых выше способов и систем подробно описаны ниже в этом документе с помощью примеров, а не способом ограничения.[00036] 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.

[00037] На Фиг. 1 показана блок-схема примера способа 100 интерактивного сентиментного анализа на уровне аспектов в тексте на естественном языке в соответствии с одним или более аспектами настоящего изобретения. Способ 100 и (или) каждая из его отдельных функций, процедур, подпрограмм или операций может быть реализована с помощью одного или более процессоров вычислительной системы (например, вычислительной системы 100 на Фиг. 1), в которой реализован этот способ. В некоторых вариантах реализации способ 100 может выполняться в одном потоке обработки. При альтернативном подходе способ 100 может быть реализован с использованием двух или более потоков обработки, при этом в каждом потоке реализована одна или более отдельных функций, процедур, подпрограмм или операций этого способа. В иллюстративном примере потоки обработки, в которых реализован способ 100, могут быть синхронизированы (например, с помощью семафоров, критических секций и (или) других механизмов синхронизации потоков). При альтернативном подходе потоки обработки, в которых реализован способ 100, могут выполняться асинхронно по отношению друг к другу. Таким образом, несмотря на то, что Фиг. 1 и соответствующее описание содержат список операций для способа 100 в определенном порядке, в различных вариантах осуществления способа по крайней мере некоторые из описанных операций могут выполняться параллельно и (или) в случайно выбранном порядке.[00037] In FIG. 1 is a flowchart of an example of an aspect-level interactive sentiment analysis method 100 in a natural language text in accordance with one or more aspects of the present invention. The method 100 and (or) each of its individual functions, procedures, subprograms or operations can be implemented using one or more processors of a computing system (for example, the computing system 100 in Fig. 1) in which this method is implemented. In some embodiments, method 100 may be executed in a single processing stream. In an alternative approach, method 100 may be implemented using 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 threads that implement method 100 can be synchronized (for example, using semaphores, critical sections, and / or other thread synchronization mechanisms). In an alternative approach, processing streams that implement method 100 can be performed asynchronously with respect to each other. Thus, although FIG. 1 and the corresponding description contain a list of operations for method 100 in a specific order, in various embodiments of the method at least some of the described operations can be performed in parallel and (or) in a random order.

[00038] В блоке 110 вычислительная система, реализующая способ 100, может выполнять синтактико-семантический анализ исходного текста 101 на естественном языке, который может быть представлен, например, одним или несколькими отзывами потребителей об одной или нескольких целевых сущностях (например, потребительских товарах или услугах). На Фиг. 2 приведен пример текста 211 на естественном языке, представляющий отзыв потребителя о смартфоне. В различных иллюстративных примерах отзыв потребителя не обязательно включает идентификатор целевой сущности (например, марку и модель определенного устройства), тем не менее, соответствующую связь можно вывести из метаданных, связанных с отзывом потребителя (например, отзыв может быть связан с категорией, имеющей заголовок, который определяет целевую сущность).[00038] In block 110, a computing system that implements method 100 can perform syntactic-semantic analysis of the source language 101 in natural language, which can be represented, for example, by one or more customer reviews of one or more target entities (eg, consumer goods or services). In FIG. 2 is an example of a natural language text 211 representing a consumer’s review of a smartphone. In various illustrative examples, a consumer review does not necessarily include the identifier of the target entity (for example, the brand and model of a particular device), however, the corresponding relationship can be deduced from the metadata associated with the consumer’s recall (for example, the recall may be associated with a category with a title, which defines the target entity).

[00039] В различных иллюстративных примерах текст на естественном языке может быть представлен неструктурированным (свободное изложение) или слабо структурированным текстом (например, текст, разделенный на несколько разделов, определяемых подзаголовками, такими как «Характеристики продукта», «Преимущества», «Недостатки» и т.д.).[00039] In various illustrative examples, text in natural language can be represented by unstructured (fluent) or poorly structured text (for example, text divided into several sections defined by subheadings, such as “Product Features”, “Benefits”, “Disadvantages” etc.).

[00040] Синтактико-семантический анализ может давать для каждого предложения в тексте на естественном языке по крайней мере одну не зависящую от языка синтактико-семантическую структуру 102, как описано более подробно ниже со ссылками на Фиг. 5-15. В некоторых вариантах реализации изобретения синтактико-семантический анализ может использовать пользовательский словарь, который может содержать список лексем, которые могут использоваться в анализируемом тексте на естественном языке для ссылки на целевые сущности (например, потребительские товары или услуги). В иллюстративном примере пользовательский словарь может содержать список марок автомобилей, включая возможные разговорные вариации, такие как «Шевроле» и «Шеви».[00040] Syntactic-semantic analysis can give at least one language-independent syntactic-semantic structure 102 for each sentence in a natural language text, as described in more detail below with reference to FIG. 5-15. In some embodiments of the invention, syntactic-semantic analysis may use a user dictionary, which may contain a list of tokens that can be used in the analyzed text in natural language to refer to target entities (for example, consumer goods or services). In an illustrative example, a user dictionary may contain a list of car brands, including possible conversational variations, such as a Chevrolet and Chevy.

[00041] В некоторых вариантах реализации изобретения пользовательский словарь может быть представлен семантической иерархией. Как схематично показано на Фиг. 3, пример семантической иерархии 310 может содержать определения множества семантических классов, таких, что каждый класс соответствует концепту предметной области. Каждое определение класса может включать определения одного или более объектов, отнесенных к данному классу, включая зависящие от конкретного языка лексические классы.[00041] In some embodiments of the invention, a user dictionary may be represented by a semantic hierarchy. As schematically shown in FIG. 3, an example of a semantic hierarchy 310 may include definitions of a plurality of semantic classes, such that each class corresponds to a domain concept. Each class definition may include definitions of one or more objects assigned to a given class, including language-specific lexical classes.

[00042] Для облегчения идентификации аспектных терминов в анализируемом тексте на естественном языке семантическая иерархия, которая используется при синтактико-семантическом анализе текста на естественном языке, может быть дополнена путем ассоциирования некоторых лексических классов 315 с пользовательскими прагматическими классами 317, указывающими на то, что лексемы, представленные экземплярами этих лексических классов, могут использоваться в качестве аспектных терминов, указывающих на определенный аспект. В некоторых вариантах реализации изобретения пользовательский прагматический класс может иметь несколько подклассов для дополнительного указания на тип аспекта, с которым связаны экземпляры соответствующего лексического класса. В различных иллюстративных примерах подклассы пользовательского прагматического класса могут указывать на то, что лексема, представленная экземпляром соответствующего лексического класса, представляет характеристику, компонент или функцию соответствующей сущности. В другом иллюстративном примере подкласс пользовательского прагматического класса может указывать на то, что лексема, представленная экземпляром соответствующего лексического класса, представляет характеристику, компонент или функцию соответствующей сущности имплицитно, при этом тональность может подразумеваться самим аспектным термином (например, «высокие обороты (RРМ)»). В противном случае, если тональность не определяется аспектным термином и может быть определена только путем анализа контекста аспектного термина, аспектный термин может называться «эксплицитным».[00042] To facilitate the identification of aspectual terms in the analyzed natural language text, the semantic hierarchy that is used in the syntactic-semantic analysis of natural language text can be supplemented by associating some lexical classes 315 with custom pragmatic classes 317, indicating that tokens represented by instances of these lexical classes may be used as aspect terms indicating a particular aspect. In some embodiments of the invention, a custom pragmatic class may have several subclasses to further indicate the type of aspect with which instances of the corresponding lexical class are associated. In various illustrative examples, subclasses of a custom pragmatic class may indicate that the token represented by an instance of the corresponding lexical class represents a characteristic, component, or function of the corresponding entity. In another illustrative example, a subclass of a user-defined pragmatic class may indicate that the token represented by an instance of the corresponding lexical class represents an attribute, component, or function of the corresponding entity implicitly, and tonality may be implied by the aspect term itself (for example, “high speed (RPM)” ) Otherwise, if tonality is not defined by an aspect term and can only be determined by analyzing the context of the aspect term, the aspect term may be called “explicit”.

[00043] В блоке 120 вычислительная система может интерпретировать множество синтактико-семантических структур, используя набор продукционных правил для определения отдельных аспектов целевых сущностей, как подробно описано ниже со ссылкой на Фиг. 4-5.[00043] At block 120, the computing system may interpret a plurality of syntactic-semantic structures using a set of production rules to determine particular aspects of the target entities, as described in detail below with reference to FIG. 4-5.

[00044] В блоке 130 вычислительная система может определять тональности выявленных аспектных терминов. В иллюстративном примере тональность может быть отрицательной (-1), нейтральной (0) или положительной (+1). В различных других иллюстративных примерах могут использоваться другие числовые шкалы и/или вербальные обозначения тональностей.[00044] At block 130, the computing system may determine the tonality of the identified aspect terms. In an illustrative example, the key may be negative (-1), neutral (0), or positive (+1). In various other illustrative examples, other numerical scales and / or verbal notation of keys may be used.

[00045] В некоторых вариантах реализации изобретения тональность может определяться путем использования набора продукционных правил для интерпретации множества синтактико-семантических структур, полученных в результате синтактико-семантического анализа текста на естественном языке. На Фиг. 6 приведены примеры продукционных правил, которые могут использоваться для определения тональности аспектного термина в соответствии с одним или несколькими аспектами настоящего описания. Дополнительно или в качестве альтернативного варианта тональность может определяться путем вычисления одной или нескольких функций-классификаторов, возвращающих тональность каждого выявленного аспектного термина, как более подробно описано ниже в настоящем документе.[00045] In some embodiments of the invention, tonality can be determined by using a set of production rules to interpret a variety of syntactic-semantic structures resulting from syntactic-semantic analysis of natural language text. In FIG. 6 provides examples of production rules that can be used to determine the tonality of an aspect term in accordance with one or more aspects of the present description. Additionally or alternatively, tonality can be determined by calculating one or more classifier functions that return the tonality of each identified aspect term, as described in more detail later in this document.

[00046] В блоке 140 вычислительная система может агрегировать извлеченную информацию в форме, подходящей для вывода в графическом интерфейсе пользователя (GUI) и (или) для печати. В иллюстративном примере отчет, созданный системой, может содержать идентификатор целевой сущности (например, электронное устройство) и один или несколько иерархических списков, идентифицирующих компоненты, характеристики и (или) функции целевой сущности. Каждый иерархический список может содержать множество аспектных терминов и соответствующие им тональности. В некоторых вариантах реализации изобретения каждый иерархический список может также содержать количество экземпляров (например, количество отзывов в сети), в которых выявленный аспект характеризуется выявленным аспектным термином и выявленной тональностью. В ответ на завершение описанных со ссылками на блок 140 операций способ может завершиться.[00046] At block 140, the computing system may aggregate the extracted information in a form suitable for display in a graphical user interface (GUI) and / or for printing. In an illustrative example, a report created by the system may contain the identifier of the target entity (for example, an electronic device) and one or more hierarchical lists identifying the components, characteristics and (or) functions of the target entity. Each hierarchical list can contain many aspect terms and the corresponding key. In some embodiments of the invention, each hierarchical list may also contain the number of instances (for example, the number of reviews on the network) in which the identified aspect is characterized by the identified aspect term and the identified tonality. In response to the completion of the operations described with reference to block 140, the method may be completed.

[00047] На Фиг. 4 схематично показан пример способа интерпретации семантических структур с использованием набора продукционных правил в соответствии с одним или несколькими аспектами настоящего изобретения. Способ 400 и (или) каждая из его отдельных функций, процедур, подпрограмм или операций может быть реализована с помощью одного или более процессоров вычислительной системы (например, вычислительной системы 400 на Фиг. 4), в которой реализован этот способ. В некоторых вариантах реализации способ 400 может выполняться в одном потоке обработки. При альтернативном подходе способ 400 может быть реализован с помощью двух или более потоков обработки, при этом каждый поток выполняет одну или более отдельных функций, стандартных программ, подпрограмм или операций данного способа. В иллюстративном примере потоки обработки, реализующие способ 400, могут быть синхронизированы (например, с помощью семафоров, критических секций и/или других механизмов синхронизации потоков). В качестве альтернативы, потоки обработки, реализующие способ 400, могут выполняться асинхронно по отношению друг к другу. Поэтому, хотя Фиг. 4 и соответствующее описание содержат операции способа 400 в определенном порядке, различные варианты реализации способа могут выполнять по крайней мере некоторые из перечисленных операций, параллельно и (или) в произвольно выбранном порядке.[00047] FIG. 4 schematically shows an example of a method for interpreting semantic structures using a set of production rules in accordance with one or more aspects of the present invention. The method 400 and / or each of its individual functions, procedures, subprograms, or operations can be implemented using one or more processors of a computing system (eg, computing system 400 in FIG. 4) that implements this method. In some embodiments, method 400 may be executed in a single processing stream. In an alternative approach, method 400 may be implemented using two or more processing threads, with each thread performing one or more separate functions, standard programs, routines, or operations of the method. In an illustrative example, processing streams implementing method 400 can be synchronized (for example, using semaphores, critical sections, and / or other thread synchronization mechanisms). Alternatively, the processing threads implementing the method 400 may be performed asynchronously with respect to each other. Therefore, although FIG. 4 and the corresponding description contain the operations of the method 400 in a specific order, various implementations of the method can perform at least some of the above operations, in parallel and (or) in an arbitrarily selected order.

[00048] В некоторых реализациях изобретения объекты данных, представляющие выявленные аспекты целевых сущностей, могут быть представлены графом RDF-графом (Resource Definition Framework). RDF присваивает уникальный идентификатор каждому информационному объекту и сохраняет информацию о таком объекте в виде триплетов SРО, где S обозначает «субъект» и содержит идентификатор объекта, Р обозначает «предикат» и определяет некоторое свойство этого объекта, а О обозначает «объект» и сохраняет значение этого свойства данного объекта. Это значение может быть как примитивным типом данных (строкой, числом, булевым значением), так и идентификатором другого объекта. В одном из иллюстративных примеров триплет SРО может ассоциировать токен из текста на естественном языке с аспектом целевой сущности.[00048] In some implementations of the invention, data objects representing the identified aspects of the target entities can be represented by a graph RDF graph (Resource Definition Framework). RDF assigns a unique identifier to each information object and stores information about such an object in the form of triplets of SRO, where S stands for “subject” and contains the identifier of an object, P stands for “predicate” and defines some property of this object, and O stands for “object” and stores the value this property of this object. This value can be either a primitive data type (string, number, Boolean value), or the identifier of another object. In one illustrative example, the triplet SRO can associate a token from a text in a natural language with an aspect of the target entity.

[00049] Продукционные правила, которые используются для интерпретации синтактико-семантических структур, могут включать правила интерпретации и правила идентификации. Правило интерпретации может содержать левую сторону, представленную набором логических выражений, определенных в одном или более шаблонах синтактико-семантических структур, и правую сторону, представленную одним или более утверждениями, относящимися к информационным объектам, представляющим сущности, ссылающиеся на текст на естественном языке.[00049] Production rules that are used to interpret syntactic-semantic structures may include interpretation rules and identification rules. An interpretation rule may contain the left side represented by a set of logical expressions defined in one or more templates of syntactic-semantic structures and the right side represented by one or more statements related to information objects representing entities that refer to text in a natural language.

[00050] Шаблон синтактико-семантической структуры может содержать определенные элементы синтактико-семантической структуры (например, проверка на наличие определенной граммемы или семантемы, принадлежности к определенным лексическим/семантическим классам, нахождение в определенной поверхностной или глубинной позиции и т.д.). Отношения между элементами синтактико-семантических структур могут задаваться с помощью одного или более логических выражений (конъюнкция, дизъюнкция и отрицание) и (или) операций, описывающих взаимное расположение узлов в синтактико-семантическом дереве. В качестве иллюстративного примера такая операция может проверять, принадлежит ли узел к поддереву другого узла.[00050] The syntactic-semantic structure template may contain certain elements of the syntactic-semantic structure (for example, checking for the presence of a specific gramme or semantema, belonging to certain lexical / semantic classes, being in a certain surface or deep position, etc.). Relations between elements of syntactic-semantic structures can be specified using one or more logical expressions (conjunction, disjunction, and negation) and (or) operations describing the relative positions of nodes in the syntactic-semantic tree. As an illustrative example, such an operation can check whether a node belongs to a subtree of another node.

[00051] Совпадение шаблона, определенного левой частью продукционного правила синтактико-семантической структуры, с синтактико-семантической структурой, представляющей по крайней мере часть предложения текста на естественном языке, может запускать правую сторону продукционного правила. Правая сторона продукционного правила может связывать один или более признаков (относящихся к лексическим, синтаксическим и (или) семантическим свойствам слов оригинального предложения) с информационными объектами, представленными вершинами. В одном из иллюстративных примеров правая сторона правила интерпретации может содержать утверждение, связывающее токен из текста на естественном языке с аспектом целевой сущности.[00051] The coincidence of the pattern defined by the left side of the production rule of the syntactic-semantic structure with the syntactic-semantic structure representing at least part of the sentence of the text in natural language can trigger the right side of the production rule. The right side of the production rule may associate one or more features (related to the lexical, syntactic and (or) semantic properties of the words of the original sentence) with information objects represented by vertices. In one illustrative example, the right side of the interpretation rule may contain a statement linking a token from a natural language text to an aspect of the target entity.

[00052] Правило идентификации может использоваться для определения связи для пары информационных объектов, которые представляют одну и ту же сущность из реального мира. Правило идентификации представляет собой продукционное правило, левая часть которого содержит одно или более логических выражений, относящихся к узлам семантического дерева, соответствующим информационным объектам. Если пара информационных объектов соответствует условию, определенному логическими выражениями, информационные объекты объединяют в один информационный объект.[00052] An identification rule can be used to determine the relationship for a pair of information objects that represent the same entity from the real world. An identification rule is a production rule, the left part of which contains one or more logical expressions related to the nodes of the semantic tree, corresponding to information objects. If a pair of information objects corresponds to a condition defined by logical expressions, information objects are combined into one information object.

[00053] На Фиг. 4 в блоке 410 вычислительная система, реализующая способ 400, может получать множество синтактико-семантических структур, представляющих анализируемые предложения из текста на естественном языке.[00053] In FIG. 4, at block 410, a computing system implementing method 400 may receive a variety of syntactic-semantic structures representing analyzed sentences from a text in a natural language.

[00054] В блоке 420 вычислительная система может выявлять множество синтактико-семантических подструктур, соответствующих шаблонам, определенным в левой стороне правил интерпретации, используемых для анализа текста на естественном языке.[00054] At block 420, a computing system can detect a variety of syntactic-semantic substructures corresponding to patterns defined on the left side of interpretation rules used to analyze natural language text.

[00055] В блоках 430-450 вычислительная система может выполнять итерации над выявленными совпадающими экземплярами, которые могут быть организованы в очередь и связаны с классом приоритета (например, на основе класса приоритета, ассоциированного с правилами интерпретации, которые запускают соответствующие совпадающие экземпляры). В блоке 430 вычислительная система может проверить предположение о том, что очередь совпадающих экземпляров пуста, если это так, способ может перейти к блоку 470, в противном случае в блоке 440, вычислительная система может возвратить из очереди совпадающий экземпляр с самым высоким рейтингом.[00055] In blocks 430-450, the computing system can iterate over identified matching instances that can be queued and associated with a priority class (for example, based on a priority class associated with interpretation rules that trigger the corresponding matching instances). At block 430, the computing system can check the assumption that the matching instance queue is empty, if so, the method can go to block 470, otherwise at block 440, the computing system can return the matching highest rated instance from the queue.

[00056] В блоке 450 вычислительная система может создать одно или несколько логических выражений, определенных в правой части правил интерпретации, которые переключат совпадающий экземпляр с наивысшим приоритетом, выявленный в блоке 340.[00056] At block 450, the computing system can create one or more logical expressions defined on the right side of the interpretation rules that will switch the matching instance with the highest priority identified at block 340.

[00057] В блоке 460 вычислительная система может добавить логическое выражение в мешок утверждений, ассоциированных с анализируемым текстом на естественном языке. Термин «Мешок утверждений» в настоящем документе означает набор не противоречащих друг другу логических выражений, характеризующих извлеченные информационные объекты и их свойства. Поэтому попытка добавления в мешок утверждений нового утверждения, противоречащего по крайней мере одному утверждению, уже находящемуся в «мешке утверждений», будет неудачной.[00057] At block 460, the computing system may add a logical expression to the bag of statements associated with the analyzed natural language text. The term “Bag of statements” in this document means a set of logical expressions that do not contradict each other, characterizing the extracted information objects and their properties. Therefore, an attempt to add a new statement to the bag of statements that contradicts at least one statement already in the “bag of statements” will fail.

[00058] После определения в блоке 470 неудачи попытки добавления в «мешок утверждений», связанных с анализируемым текстом на естественном языке, логического выражения, полученного в блоке 450, способ может вернуться к блоку 430; в противном случае способ может вернуться к блоку 420.[00058] After the determination in block 470 of the failure of the attempt to add to the "bag of statements" associated with the analyzed text in natural language, the logical expression obtained in block 450, the method may return to block 430; otherwise, the method may return to block 420.

[00059] В блоке 480,после обнаружения, что очередь совпадающих экземпляров пуста, способ может прекратить работу, объявив мешок утверждений заполненным. Мешок утверждений может определить RDF-граф, представляющий выявленные аспектные термины. В некоторых вариантах реализации вычислительная система может объединить некоторые выявленные аспекты, для обозначения которых в исходном тексте на естественном языке используются различные синонимические конструкции.[00059] At block 480, after it is detected that the queue of matching instances is empty, the method may stop working by declaring the claims bag full. The claims bag can define an RDF graph representing the identified aspect terms. In some embodiments, a computing system may combine some of the identified aspects, for the designation of which various synonymous constructions are used in the source text in a natural language.

[00060] На Фиг. 5 приведены примеры продукционных правил, которые могут использоваться для выявления аспектных терминов в соответствии с одним или несколькими аспектами настоящего изобретения. Правило 510 может использоваться для выявления имплицитного аспекта. Правило 520 может использоваться для выявления имплицитного аспекта. Правило 530 может использоваться для слияния эксплицитных аспектов. Правило 540 может использоваться для выявления имплицитного аспекта, отражающего указание потребителя на то, что использование продукта вызывает боль в спине. Правило 550 может использоваться для выявления имплицитного аспекта, отражающего указание потребителя на то, что необходимо заменить часть продукта.[00060] FIG. 5 provides examples of production rules that can be used to identify aspect terms in accordance with one or more aspects of the present invention. Rule 510 may be used to identify an implicit aspect. Rule 520 can be used to identify an implicit aspect. Rule 530 may be used to merge explicit aspects. Rule 540 can be used to identify an implicit aspect that reflects the consumer’s indication that using the product causes back pain. Rule 550 can be used to identify an implicit aspect that reflects the consumer’s indication that part of the product needs to be replaced.

[00061] На Фиг. 6 приведены некоторые примеры продукционных правил, которые могут использоваться для определения тональности аспектного термина в соответствии с одним или несколькими аспектами настоящего изобретения. Правило 610 может использоваться для выявления тональностей, связанных с некоторыми аспектами, относящимися к пассажирским автомобилям.[00061] In FIG. Figure 6 shows some examples of production rules that can be used to determine the tonality of an aspect term in accordance with one or more aspects of the present invention. Rule 610 can be used to identify key related to certain aspects related to passenger cars.

[00062] Как отмечено выше в настоящем документе, дополнительно или в качестве альтернативы использованию продукционных правил тональность аспектного термина может быть определена путем оценки одной или нескольких функций-классификаторов. Область определения функции-классификатора может быть представлена вектором значений грамматических, синтаксических и (или) семантических признаков, характеризующих аспектный термин. В качестве базовой составляющей синтактико-семантической структуры, представляющей аспектный термин, может быть выбрана максимальная составляющая синтактико-семантической структуры, ядро которой содержит аспектный термин. Контекст выявленной базовой составляющей может быть представлен родительскими, дочерними и одноуровневыми составляющими.[00062] As noted above in this document, additionally or as an alternative to using production rules, the tonality of an aspect term can be determined by evaluating one or more classifier functions. The scope of the classifier function can be represented by a vector of values of grammatical, syntactic, and (or) semantic features characterizing an aspect term. As the basic component of the syntactic-semantic structure representing the aspect term, the maximum component of the syntactic-semantic structure, the core of which contains the aspect term, can be selected. The context of the identified base component can be represented by parent, child, and sibling components.

[00063] В различных иллюстративных примерах признаки, представляющие область определения функции-классификатора, могут включать:[00063] In various illustrative examples, features representing a scope of a classifier function may include:

[00064] - семантический класс, связанный с выявленной базовой составляющей, представляющей аспектный термин (например, HUMAN, BE, EMOTINOS_AND_TH EMOTIONAL_ATTITUDE, INSIDE_PART);[00064] a semantic class associated with the identified base component representing an aspect term (eg, HUMAN, BE, EMOTINOS_AND_TH EMOTIONAL_ATTITUDE, INSIDE_PART);

[00065] - прагматический класс, связанный с выявленной базовой составляющей, представляющей аспектный термин (например, DigitalNumbers, Person, Positive, NormalPolarityDependence);[00065] - a pragmatic class associated with the identified basic component representing an aspect term (for example, DigitalNumbers, Person, Positive, NormalPolarityDependence);

[00066] - не зависящую от языка глубинную позицию, связанную с выявленной базовой составляющей, представляющей аспектный термин;[00066] a language-independent deep position associated with the identified base component representing an aspect term;

[00067] - зависимую от языка поверхностную позицию, связанную с выявленной базовой составляющей, представляющей аспектный термин;[00067] is a language dependent surface position associated with the identified base component representing an aspect term;

[00068] - синтаксическую парадигму, связанную с выявленной базовой составляющей, представляющей аспектный термин, например множество поверхностных структур, связанных с определенными лексическими значениями (например, частями речи);[00068] - a syntactic paradigm associated with the identified basic component representing an aspect term, for example, many surface structures associated with certain lexical meanings (for example, parts of speech);

[00069] - семантема, связанная с аспектным термином (например, PolarityPlus, NonPolarityMinus);[00069] is a semanthem associated with an aspect term (eg, PolarityPlus, NonPolarityMinus);

[00070] - шаблон капитализации, определяющий использование прописных букв в аспектном термине (например, АаАаА, АААА); и (или)[00070] - a capitalization template that defines the use of capital letters in an aspect term (for example, AaAaA, AAAA); and / or

[00071] - положение выявленной базовой составляющей в синтактико-семантическом дереве (например, является ли базовая составляющая корнем коллокации или ведет происхождение от определенной вершины семантического дерева).[00071] - the position of the identified basic component in the syntactic-semantic tree (for example, whether the basic component is the root of the collocation or originates from a specific vertex of the semantic tree).

[00072] В некоторых реализациях изобретения значения признаков до использования в функции-классификаторе могут быть бинаризованы. В иллюстративном примере процедура бинаризации включает представление N значений заданного признака в виде N бинарных признаков. В некоторых вариантах осуществления полученные бинарные признаки можно фильтровать (например, с помощью точного критерия Фишера или используя энтропию Шеннона), чтобы выбрать наименьшее число из наиболее статистически значимых признаков.[00072] In some implementations of the invention, feature values may be binarized before being used in the classifier function. In an illustrative example, the binarization procedure includes representing N values of a given attribute in the form of N binary signs. In some embodiments, the resulting binary features can be filtered (for example, using Fisher's exact test or using Shannon's entropy) to select the smallest number of the most statistically significant features.

[00073] Определенные параметры этих функций классификатора могут корректироваться с помощью методов машинного обучения, которые используют заранее определенные или динамически созданные наборы данных. Набор подтверждающих данных может содержать один или более текстов на естественном языке, в которых отмечены отдельные аспекты и соответствующие им тональности. В одном из иллюстративных примеров подобный набор подтверждающих данных может создаваться или обновляться с помощью GUI, предназначенного для получения данных от пользователя, который выделяет одно или более смежных слов и ассоциирует их с категорией и тональностью аспектных терминов.[00073] Certain parameters of these classifier functions can be adjusted using machine learning methods that use predefined or dynamically generated data sets. A set of supporting data may contain one or more texts in a natural language, in which certain aspects and corresponding tonality are noted. In one illustrative example, a similar set of supporting data can be created or updated using a GUI designed to receive data from a user who selects one or more adjacent words and associates them with the category and tonality of aspect terms.

[00074] В некоторых вариантах реализации функции-классификаторы могут быть реализованы с помощью классификаторов случайного леса. Классификатор случайного леса создает во время обучения множество деревьев решений и генерирует класс, который является модусом классов предсказания среднего для отдельных деревьев.[00074] In some implementations, classifier functions can be implemented using random forest classifiers. The random forest classifier creates many decision trees during training and generates a class that is a mode of average prediction classes for individual trees.

[00075] В альтернативном варианте реализации функции-классификаторы могут реализовывать различные методы машинного обучения, такие как линейные классификаторы, классификаторы на основе дерева прямых потомков, классификаторы на основе случайного леса, классификаторы на основе условных случайных полей (СRF), классификаторы на основе латентного размещения Дирихле (LDА), классификаторы на основе метода опорных векторов (SVМ) и (или) классификаторы на основе нейронных сетей (например, World2Vес). В одном из иллюстративных примеров классификатор SVМ может создавать одну или несколько разделительных гиперплоскостей в многомерном пространстве. Для определения значений параметров гиперплоскости используется обучающая выборка, так чтобы полученная гиперплоскость имела максимальное удаление от ближайшей точки данных обучения.[00075] In an alternative implementation, classifier functions can implement various machine learning methods, such as linear classifiers, classifiers based on the tree of direct descendants, classifiers based on a random forest, classifiers based on conditional random fields (CRF), classifiers based on latent allocation Dirichlet (LDА), classifiers based on the support vector method (SVM) and (or) classifiers based on neural networks (for example, World2Ves). In one illustrative example, the SVM classifier can create one or more separation hyperplanes in multidimensional space. To determine the values of the hyperplane parameters, a training sample is used so that the obtained hyperplane has a maximum distance from the nearest point of the training data.

[00076] В различных иллюстративных примерах для оценки качества функции-классификатора могут использоваться одна или несколько метрик качества. Эти метрики качества могут быть представлены точностью (положительное прогностическое значение), полнотой (чувствительностью) или F-мерой.[00076] In various illustrative examples, one or more quality metrics can be used to evaluate the quality of the classifier function. These quality metrics can be represented by accuracy (positive predictive value), completeness (sensitivity), or F-measure.

[00077] В некоторых вариантах реализации сентиментный анализ на уровне аспектов, выполняемый в соответствии с одним или несколькими аспектами настоящего изобретения, может быть реализован в виде интерактивного процесса, в ходе которого вводимая пользователем информация используется для предоставления пользовательского словаря различных терминов, связанных с целевыми сущностями (например, товарами и услугами) и для оценки результатов различных операций способа, как более подробно описано ниже со ссылками на Фиг. 7.[00077] In some embodiments, aspect-level sentiment analysis performed in accordance with one or more aspects of the present invention may be implemented as an interactive process in which user input is used to provide a user dictionary of various terms related to target entities (for example, goods and services) and for evaluating the results of various operations of the method, as described in more detail below with reference to FIG. 7.

[00078] На Фиг. 7 показана блок-схема примера способа 700 интерактивного сентиментного анализа на уровне аспектов в тексте на естественном языке в соответствии с одним или более аспектами настоящего изобретения. Способ 700 и (или) каждая из его отдельных функций, стандартных программ, подпрограмм или операций могут выполняться одним или несколькими процессорами вычислительной системы (например, вычислительная система 700 на Фиг. 7), реализующей этот способ. В некоторых реализациях способ 700 может быть реализован в одном потоке обработки. При альтернативном подходе способ 700 может быть реализован двумя или более потоками обработки, при этом в каждом потоке реализована одна или несколько отдельных функций, процедур, подпрограмм или операций этого способа. В иллюстративном примере потоки обработки, реализующие способ 700, могут быть синхронизированы (например, с помощью семафоров, критических секций и/или других механизмов синхронизации потоков). Кроме того, потоки обработки, реализующие способ 700, могут выполняться асинхронно друг относительно друга. Таким образом, несмотря на то что Фиг. 7 и соответствующее описание содержат список операций для способа 700 в определенном порядке, в различных вариантах осуществления способа по крайней мере некоторые из описанных операций могут выполняться параллельно и (или) в случайно выбранном порядке.[00078] In FIG. 7 is a flowchart of an example of a method 700 for interactive sentiment analysis at the aspect level in natural language text in accordance with one or more aspects of the present invention. Method 700 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 700 in FIG. 7) that implements this method. In some implementations, method 700 may be implemented in a single processing stream. In an alternative approach, method 700 may be implemented by two or more processing threads, with each thread implementing one or more separate functions, procedures, routines, or operations of this method. In an illustrative example, processing threads implementing method 700 may be synchronized (for example, using semaphores, critical sections, and / or other thread synchronization mechanisms). In addition, the processing threads that implement the method 700 can be performed asynchronously relative to each other. Thus, although FIG. 7 and the corresponding description contain a list of operations for method 700 in a specific order, in various embodiments of the method at least some of the described operations can be performed in parallel and (or) in a random order.

[00079] В блоке 710 вычислительная система, реализующая способ 700, может получать исходные данные, определяющие одну или несколько лексем, которые могут использоваться в анализируемом тексте на естественном языке по отношению к целевым сущностям (например, потребительским товарам или услугам). В одном из иллюстративных примеров пользовательский словарь может включать список терминов, которые могут использоваться по отношению к конкретной марке или модели определенного устройства (например, «iРhone 6», «iРhone шестого поколения», «iРhone последней модели» и т.д.). Дополнительно или в качестве альтернативного варианта вводимые пользователем данные могут определять одну или несколько лексем, которые могут использоваться в анализируемом тексте на естественном языке для ссылки на аспекты целевых сущностей. Вычислительная система может использовать пользовательский словарь для расширения семантической иерархии, используемой для синтактико-семантического анализа текста на естественном языке, как более подробно описано выше со ссылками на Фиг. 1.[00079] At block 710, a computing system that implements method 700 may obtain input data defining one or more tokens that can be used in the analyzed natural language text with respect to target entities (eg, consumer goods or services). In one illustrative example, a user dictionary may include a list of terms that can be used in relation to a particular brand or model of a particular device (for example, “iPhone 6”, “iPhone of the sixth generation”, “iPhone of the latest model”, etc.). Additionally or alternatively, user input may define one or more tokens that can be used in the analyzed natural language text to refer to aspects of the target entities. The computing system can use a user dictionary to expand the semantic hierarchy used for syntactic-semantic analysis of natural language text, as described in more detail above with reference to FIG. one.

[00080] В блоке 720 вычислительная система может получать текст на естественном языке, который может представлять, например, один или несколько отзывов потребителей на целевые сущности (например, потребительские товары или услуги).[00080] In block 720, the computing system may receive natural language text, which may represent, for example, one or more consumer reviews of target entities (eg, consumer goods or services).

[00081] В блоке 730 вычислительное устройство может произвести синтактико-семантический анализ полученного текста на естественном языке. Синтактико-семантический анализ может давать для каждого предложения в тексте на естественном языке по крайней мере одну не зависящую от языка семантическую структуру, как описано более подробно ниже со ссылками на Фиг. 5-15.[00081] In block 730, the computing device can perform syntactic-semantic analysis of the received text in a natural language. Syntactic-semantic analysis can give at least one language-independent semantic structure for each sentence in a natural language text, as described in more detail below with reference to FIG. 5-15.

[00082] В блоке 740 вычислительная система может интерпретировать множество синтактико-семантических структур, используя набор продукционных правил для определения отдельных аспектов целевых сущностей, как подробно описано ниже со ссылкой на Фиг. 4-5.[00082] At block 740, the computing system can interpret a variety of syntactic-semantic structures using a set of production rules to determine individual aspects of the target entities, as described in detail below with reference to FIG. 4-5.

[00083] В блоке 750 вычислительная система может получать вводимые пользователем данные, изменяющие набор выявленных аспектов. В одном из иллюстративных примеров вводимые пользователем данные могут удалять отдельные аспектные термины, которые не интересуют пользователя, и (или) отдельные некорректно выявленные аспектные термины. В одном из иллюстративных примеров вводимые пользователем данные могут добавлять отдельные аспектные термины, которые не были выявлены, однако интересуют пользователя. В другом иллюстративном примере вводимые пользователем данные могут объединить некоторые выявленные аспекты, для обозначения которых в исходном тексте на естественном языке используются различные синонимические конструкции. В другом иллюстративном примере вводимые пользователем данные могут изменить иерархические отношения между выявленными аспектами (например, термин «время работы от аккумулятора» может быть связан с аккумулятором, а не с самим смартфоном). В другом иллюстративном примере вводимые пользователем данные могут изменить лексемы, которые могут использоваться в анализируемом тексте на естественном языке для ссылки на целевые сущности и (или) их аспекты (например, пользователь может определить «тормоза» как связанные с «тормозными колодками» и «тормозными цилиндрами»). В некоторых вариантах реализации в ответ на получение данных от пользователя способ может вернуться к блоку 730, как схематично показано пунктирной линией.[00083] At block 750, the computing system may receive user input that modifies a set of identified aspects. In one illustrative example, user input may delete individual aspect terms that are not of interest to the user, and / or individual incorrectly identified aspect terms. In one illustrative example, user input may add individual aspectual terms that have not been identified but are of interest to the user. In another illustrative example, user-entered data may combine some of the identified aspects, for the purpose of which various synonymous constructions are used in the source text in a natural language. In another illustrative example, user input can change the hierarchical relationship between the identified aspects (for example, the term “battery life” may be associated with the battery, and not with the smartphone itself). In another illustrative example, user input can change the tokens that can be used in the analyzed natural language text to refer to target entities and / or their aspects (for example, the user can define “brakes” as associated with “brake shoes” and “brake cylinders ”). In some embodiments, in response to receiving data from the user, the method may return to block 730, as shown schematically by a dashed line.

[00084] В блоке 760 вычислительная система может определять тональности выявленных аспектных терминов. В одном из иллюстрационных примеров тональность может определяться путем применения набора продукционных правил для интерпретации множества синтактико-семантических структур, полученных в результате синтактико-семантического анализа текста на естественном языке. Дополнительно или в качестве альтернативного варианта тональность может определяться путем вычисления одной или нескольких функций-классификаторов, возвращающих тональность каждого выявленного аспектного термина, как более подробно описано ниже в настоящем документе.[00084] At block 760, the computing system may determine the tonality of the identified aspect terms. In one illustrative example, tonality can be determined by applying a set of production rules to interpret many syntactic-semantic structures obtained as a result of syntactic-semantic analysis of text in a natural language. Additionally or alternatively, tonality can be determined by calculating one or more classifier functions that return the tonality of each identified aspect term, as described in more detail later in this document.

[00085] В блоке 770 вычислительная система может получать вводимые пользователем данные, изменяющие выявленные тональности аспектных терминов. В одном из иллюстрационных примеров пользовательский ввод может изменять иерархические отношения между выявленными аспектами и их тональностями (например, пользовательский ввод может связывать термин «слишком дорогой» с ценой целевого устройства, а не с самим целевым устройством). В другом иллюстрационном примере пользовательский ввод может изменять неправильно выявленную тональность (например, слово «непредсказуемый» может отражать положительный сентимент для кинокартины и в то же время отрицательный сентимент для автомобиля). В другом иллюстрационном примере пользовательский ввод может определять дополнительный аспектный термин и (или) соответствующие ему тональности (например, пользовательский ввод может связывать термин «плавный ход» с характеристикой «удобство вождения»). В некоторых вариантах реализации в ответ на получение данных от пользователя способ может вернуться к блоку 730, как схематично показано пунктирной линией.[00085] At block 770, the computing system may receive user input that modifies the identified tonality of aspect terms. In one illustrative example, user input can change the hierarchical relationship between the identified aspects and their keys (for example, user input can associate the term “too expensive” with the price of the target device, and not with the target device itself). In another illustrative example, user input may change a tonality that is incorrectly detected (for example, the word "unpredictable" may reflect a positive sentiment for a movie and at the same time a negative sentiment for a car). In another illustrative example, user input may define an additional aspect term and / or corresponding tonality (for example, user input may associate the term “smooth running” with the characteristic “driving comfort”). In some embodiments, in response to receiving data from the user, the method may return to block 730, as shown schematically by a dashed line.

[00086] В блоке 780 вычислительная система может агрегировать извлеченную информацию в форме, подходящей для вывода в графическом интерфейсе пользователя (GUI) и (или) для печати. В иллюстративном примере отчет, созданный системой, может содержать идентификатор целевой сущности (например, электронное устройство) и один или несколько иерархических списков, идентифицирующих компоненты, характеристики и (или) функции целевой сущности. Каждый иерархический список может содержать множество аспектных терминов и соответствующие им тональности. В некоторых вариантах реализации изобретения каждый иерархический список может также содержать количество экземпляров (например, количество отзывов в сети), в которых выявленный аспект характеризуется выявленным аспектным термином и выявленной тональностью.[00086] At block 780, the computing system may aggregate the extracted information in a form suitable for output in a graphical user interface (GUI) and / or for printing. In an illustrative example, a report created by the system may contain the identifier of the target entity (for example, an electronic device) and one or more hierarchical lists identifying the components, characteristics and (or) functions of the target entity. Each hierarchical list can contain many aspect terms and the corresponding key. In some embodiments of the invention, each hierarchical list may also contain the number of instances (for example, the number of reviews on the network) in which the identified aspect is characterized by the identified aspect term and the identified tonality.

[00087] В ответ на получение в блоке 790 пользовательского ввода с одобрением созданного отчета способ может прекратить работу в блоке 795. В противном случае вычислительная система может принимать пользовательский ввод, изменяющий пользовательский словарь, и способ может вернуться к блоку 720.[00087] In response to receiving user input at block 790 with approval of the generated report, the method may stop working at block 795. Otherwise, the computing system may receive user input modifying the user dictionary, and the method may return to block 720.

[00088] В некоторых вариантах реализации один и тот же пользовательский словарь может использоваться для анализа текста на естественном языке, связанного с различными целевыми сущностями, которые имеют одни и те же характеристики (например, потребительские продукты или услуги, относящиеся к одной функциональной категории, такие как смартфоны, автомобили, банковские услуги и т.д.). В одном из иллюстративных примеров система может использовать один и тот же пользовательский словарь для оценки и сравнения двух различных марок/моделей определенного потребительского продукта (например, смартфона).[00088] In some embodiments, the same user dictionary can be used to analyze natural language text associated with different target entities that have the same characteristics (for example, consumer products or services belonging to the same functional category, such like smartphones, cars, banking, etc.). In one illustrative example, the system can use the same user dictionary to evaluate and compare two different brands / models of a particular consumer product (for example, a smartphone).

[00089] На Фиг. 8 приведен пример текста на естественном языке для использования в способе сентиментного анализа на уровне аспектов в соответствии с одним или несколькими аспектами настоящего изобретения. Текст на естественном языке представляет отзыв потребителя о недавно приобретенном автомобиле.[00089] In FIG. 8 is an example natural language text for use in a sentiment analysis method at the aspect level in accordance with one or more aspects of the present invention. The natural language text represents the consumer’s review of the recently purchased vehicle.

[00090] На Фиг. 9 приведены результаты примера разметки текста, приведенного на Фиг. 8 в соответствии с одним или более аспектами настоящего изобретения. Пример разметки представляет аспекты (например, общие, управляемость, удобство, цена и т.д.), соответствующие аспектные термины и их положение в тексте, выявленные тональности (например, негативную, нейтральную, положительную) и выявленные типы аспектов (например, эксплицитный, фактический, имплицитный).[00090] FIG. 9 shows the results of the text markup example shown in FIG. 8 in accordance with one or more aspects of the present invention. An example of markup presents aspects (e.g., general, manageability, convenience, price, etc.), relevant aspect terms and their position in the text, identified tonality (e.g., negative, neutral, positive) and identified types of aspects (e.g. explicit, actual, implicit).

[00091] На Фиг. 10 приведена блок-схема одного иллюстративного примера реализации способа 200 для выполнения семантико-синтаксического анализа предложения на естественном языке 212 в соответствии с одним или несколькими аспектами настоящего изобретения. Способ 200 может быть применен к одной или более синтаксическим единицам (например, предложениям), включенным в определенный текстовый корпус, для формирования множества семантико-синтаксических деревьев, соответствующих синтаксическим единицам. В различных иллюстративных примерах подлежащие обработке способом 200 предложения на естественном языке могут извлекаться из одного или нескольких электронных документов, которые могут создаваться путем сканирования (или другим способом получения изображений бумажных документов) и оптического распознавания символов (ОСR) для получения текстов, соответствующих этим документам. Предложения на естественном языке также могут извлекаться из других различных источников, включая сообщения, отправляемые по электронной почте, тексты из социальных сетей, файлы с цифровым содержимым, обработанные с использованием способов распознавания речи и т.д.[00091] In FIG. 10 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 200 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 200 can be extracted from one or more electronic documents that can be generated by scanning (or by 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.

[00092] В блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для установления морфологических значений слов, входящих в состав предложения. В настоящем документе "морфологическое значение" слова означает одну или несколько лемм (т.е. канонических или словарных форм), соответствующих слову, и соответствующий набор значений грамматических признаков, которые определяют грамматическое значение слова. В число таких грамматических признаков могут входить лексическая категория (часть речи) слова и один или более морфологических и грамматических признаков (например, падеж, род, число, спряжение и т.д.). Ввиду омонимии и (или) совпадающих грамматических форм, соответствующих разным лексико-морфологическим значениям определенного слова, для данного слова может быть установлено два или более морфологических значений. Более подробное описание иллюстративного примера проведения лексико-морфологического анализа предложения приведено ниже в настоящем документе со ссылкой на Фиг. 11.[00092] In block 214, a computing device that implements this method can conduct a lexical-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 conducting a lexical-morphological analysis of a sentence is given later in this document with reference to FIG. eleven.

[00093] В блоке 215 вычислительное устройство может проводить грубый синтаксический анализ предложения 212. Грубый синтаксический анализ может включать применение одной или нескольких синтаксических моделей, которые могут быть соотнесены с элементами предложения 212, с последующим установлением поверхностных (т.е. синтаксических) связей в рамках предложения 212 для получения графа обобщенных составляющих. В настоящем документе "составляющая" означает группу соседних слов исходного предложения, функционирующую как одна грамматическая сущность. Составляющая включает в себя ядро в виде одного или более слов и может также включать одну или несколько дочерних составляющих на более низких уровнях. Дочерняя составляющая является зависимой составляющей, которая может быть соотнесена с одной или несколькими родительскими составляющими.[00093] In block 215, the computing device can perform rough syntax analysis of sentence 212. Rough syntactical analysis may include the use of one or more syntactic models that 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.

[00094] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев предложения. Среди различных синтаксических деревьев на основе определенной функции оценки с учетом совместимости лексических значений слов исходного предложения, поверхностных отношений, глубинных отношений и т.д. может быть отобрано одно или несколько лучших синтаксических деревьев, соответствующих предложению 212.[00094] At block 216, the computing device can parse sentence 212 accurately to form 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.

[00095] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может включать множество узлов, соответствующих семантическим классам и также может включать множество дуг, соответствующих семантическим отношениям (более подробное описание см. ниже в настоящем документе).[00095] At 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).

[00096] Фиг. 11 схематически иллюстрирует пример лексико-морфологической структуры предложения в соответствии с одним или более аспектами настоящего изобретения. Пример лексико-морфологической структуры 300 может включать множество пар "лексическое значение - грамматическое значение" для примера предложения. В качестве иллюстративного примера, "И" может быть соотнесено с лексическим значением "shall" 312 и "will" 314. Грамматическим значением, соотнесенным с лексическим значением 312, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Composite II>. Грамматическим значением, соотнесенным с лексическим значением 314, является <Verb, GTVerbModal, ZeroType, Present, Nonnegative, Irregular, Composite II>.[00096] FIG. 11 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 the lexical-morphological structure 300 may include many pairs of "lexical meaning - grammatical meaning" for an example sentence. As an illustrative example, “And” can be correlated with the lexical meaning “shall” 312 and “will” 314. The grammatical meaning correlated with the lexical meaning 312 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>.

[00097] Фиг. 12 схематически иллюстрирует используемые языковые описания 210, в том числе морфологические описания 201, лексические описания 203, синтаксические описания 202 и семантические описания 204, а также отношения между ними. Среди них морфологические описания 201, лексические описания 203 и синтаксические описания 202 зависят от языка. Набор языковых описаний 210 представляет собой модель определенного естественного языка.[00097] FIG. 12 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 210 is a model of a particular natural language.

[00098] В качестве иллюстративного примера определенное лексическое значение в лексических описаниях 203 может быть соотнесено с одной или несколькими поверхностными моделями синтаксических описаний 202, соответствующих данному лексическому значению. Определенная поверхностная модель синтаксических описаний 202 может быть соотнесена с глубинной моделью семантических описаний 204.[00098] 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 may be correlated with an in-depth model of semantic descriptions 204.

[00099] На Фиг. 13 схематически иллюстрируются несколько примеров морфологических описаний. В число компонентов морфологических описаний 201 могут входить: описания словоизменения 310, грамматическая система 320, описания словообразования 330 и другие. Грамматическая система 320 включает набор грамматических категорий, таких как часть речи, падеж, род, число, лицо, возвратность, время, вид и их значения (так называемые "граммемы"), в том числе, например, прилагательное, существительное или глагол; именительный, винительный или родительный падеж; женский, мужской или средний род и т.д. Соответствующие граммемы могут использоваться для составления описания словоизменения 310 и описания словообразования 330.[00099] FIG. 13 schematically illustrates several examples of morphological descriptions. The components of morphological descriptions 201 may include: definitions of inflection 310, grammar system 320, description of derivation 330 and others. Grammar system 320 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 the inflection 310 and a description of the derivation 330.

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

[000101] В соответствии с одним из аспектов настоящего изобретения при установлении синтаксических отношений между элементами исходного предложения могут использоваться модели составляющих. Составляющая представляет собой группу соседних слов в предложении, ведущих себя как единое целое. Ядром составляющей является слово, она также может содержать дочерние составляющие более низких уровней. Дочерняя составляющая является зависимой составляющей и может быть прикреплена к другим составляющим (родительским) для построения синтаксических описаний 202 исходного предложения.[000101] In accordance with one aspect of the present invention, component models may 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.

[000102] На Фиг. 14 приведены примеры синтаксических описаний. В число компонентов синтаксических описаний 202 могут входить, среди прочего, поверхностные модели 410, описания поверхностных позиций 420, описание референциального и структурного контроля 456, описание управления и согласования 440, описание недревесного синтаксиса 450 и правила анализа 460. Синтаксические описания 202 могут использоваться для построения возможных синтаксических структур исходного предложения на заданном естественном языке с учетом свободного линейного порядка слов, недревесных синтаксических явлений (например, согласование, эллипсис и т.д.), референциальных отношений и других факторов.[000102] In FIG. 14 are examples of syntactic descriptions. The components of syntax descriptions 202 may include, but are not limited to, surface models 410, descriptions of surface positions 420, description of reference and structural control 456, description of control and alignment 440, description of non-wood syntax 450, and analysis rules 460. Syntactic 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.

[000103] Поверхностные модели 410 могут быть представлены в виде совокупностей одной или нескольких синтаксических форм («синтформ» 412) для описания возможных синтаксических структур предложений, входящих в состав синтаксического описания 202. В целом, лексическое значение слова на естественном языке может быть связано с поверхностными (синтаксическими) моделями 410. Поверхностная модель может представлять собой составляющие, которые возможны, если лексическое значение выступает в роли "ядра". Поверхностная модель может включать набор поверхностных позиций дочерних элементов, описание линейного порядка и (или) диатезу. В настоящем документе "диатеза" означает определенное отношение между поверхностными и глубинными позициями и их семантическими ролями, выражаемыми посредством глубинных позиций. Например, диатеза может быть выражаться залогом глагола: если субъект является агентом действия, глагол в активном залоге, а когда субъект является направлением действия, это выражается пассивным залогом глагола.[000103] Surface models 410 can be represented as sets of one or more syntactic forms (“synths” 412) 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 410. 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.

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

[000105] Описание линейного порядка (416) может быть представлено в виде выражений линейного порядка, отражающих последовательность, в которой различные поверхностные позиции (415) могут встречаться в предложении. В число выражений линейного порядка могут входить наименования переменных, имена поверхностных позиций, круглые скобки, граммемы, оператор «оr» (или) и т.д. В качестве иллюстративного примера описание линейного порядка простого предложения "Boys play football" можно представить в виде "Subject Core Object_Direct" (Подлежащее - Ядро - Прямое дополнение), где Subject (Подлежащее), Core (Ядро) и Object_Direct (Прямое дополнение) представляют собой имена поверхностных позиций 415, соответствующих порядку слов.[000105] A description of the linear order (416) can be represented as linear order expressions reflecting the sequence in which various surface positions (415) 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 of the Boys play football simple sentence can be represented as Subject Core Object_Direct, where Subject, Core, Object_Direct are the direct complement names of surface positions 415 corresponding to the word order.

[000106] Коммуникативные описания 480 могут описывать порядок слов в синтформе 412 с точки зрения коммуникативных актов, представленных в виде коммуникативных выражений порядка, которые похожи на выражения линейного порядка. Описания управления и согласования 440 может включать правила и ограничения на грамматические значения присоединяемых составляющих, которые используются во время синтаксического анализа.[000106] Communicative descriptions 480 can describe the word order in syntax 412 from the point of view of communicative acts, presented in the form of communicative order expressions that are similar to linear order expressions. Control and reconciliation descriptions 440 may include rules and grammatical constraints on the joining components that are used during parsing.

[000107] Описания недревесного синтаксиса 450 могут создаваться для отражения различных языковых явлений, таких как эллипсис и согласование, они используются при трансформациях синтаксических структур, которые создаются на различных этапах анализа в различных вариантах реализации изобретения. Описания недревесного синтаксиса 450 могут, среди прочего, включать описание эллипсиса 452, описания согласования 454, а также описания референциального и структурного контроля 430.[000107] Descriptions of non-wood syntax 450 may 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 450 may include, but are not limited to, descriptions of ellipsis 452, descriptions of matching 454, and descriptions of referential and structural controls 430.

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

[000109] На Фиг. 15 приведен пример семантических описаний. Компоненты семантических описаний 204 не зависят от языка и могут, среди прочего, включать семантическую иерархию 510, описания глубинных позиций 520, систему семантем 530 и прагматические описания 540.[000109] In FIG. 15 provides 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 system of semantems 530, and pragmatic descriptions 540.

[000110] Ядро семантических описаний может быть представлено семантической иерархией 510, в которую могут входить семантические понятия (семантические сущности), также называемые семантическими классами. Последние могут быть упорядочены в иерархическую структуру, отражающую отношения "родитель-потомок". В целом, дочерний семантический класс может унаследовать одно или более свойств своего прямого родителя и других семантических классов-предков. В качестве иллюстративного примера семантический класс SUBSTANCE (Вещество) является дочерним семантическим классом класса ENTITY (Сущность) и родительским семантическим классом для классов GAS, (Газ), LIQUID (Жидкость), METAL (Металл), WOOD_MATERIAL (Древесина) и т.д.[000110] 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.

[000111] Каждый семантический класс в семантической иерархии 510 может сопровождаться глубинной моделью 512. Глубинная модель 512 семантического класса может включать множество глубинных позиций 514, которые могут отражать семантические роли дочерних составляющих в различных предложениях с объектами данного семантического класса в качестве ядра родительской составляющей. Глубинная модель 512 также может включать возможные семантические классы, выступающие в роли заполнителей глубинных позиций. Глубинные позиции (514) могут выражать семантические отношения, в том числе, например, "agent" (агенс), "addressee" (адресат), "instrument" (инструмент), "quantity" (количество) и т.д. Дочерний семантический класс может наследовать и уточнять глубинную модель своего непосредственного родительского семантического класса.[000111] 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.

[000112] Описания глубинных позиций 520 отражают семантические роли дочерних составляющих в глубинных моделях 512 и могут использоваться для описания общих свойств глубинных позиций 514. Описания глубинных позиций 520 также могут содержать грамматические и семантические ограничения в отношении заполнителей глубинных позиций 514. Свойства и ограничения, связанные с глубинными позициями 514 и их возможными заполнителями в различных языках, могут быть в значительной степени подобными и зачастую идентичными. Таким образом, глубинные позиции 514 не зависят от языка.[000112] 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.

[000113] Система семантем 530 может представлять собой множество семантических категорий и семантем, которые представляют значения семантических категорий. В качестве иллюстративного примера семантическая категория "DegreeOfComparison" (Степень сравнения) может использоваться для описания степени сравнения прилагательных и включать следующие семантемы: "Positive" (Положительная), "ComparativeHigherDegree" (Сравнительная степень сравнения), "SuperlativeHighestDegree" (Превосходная степень сравнения) и другие. В качестве еще одного иллюстративного примера семантическая категория "RelationToReferencePoint" (Отношение к точке) может использоваться для описания порядка (пространственного или временного в широком смысле анализируемых слов), как, например, до или после точки или события, и включать семантемы "Previous" (Предыдущий) и "Subsequent" (Последующий). В качестве еще одного иллюстративного примера семантическая категория "EvaluationObjective" (Оценка) может использоваться для описания объективной оценки, как, например, "Bad" (Плохой), "Good" (Хороший) и т.д.[000113] 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 assessment, such as, for example, "Bad", "Good", etc.

[000114] Система семантем 530 может включать независимые от языка семантические признакы, которые могут выражать не только семантические характеристики, но и стилистические, прагматические и коммуникативные характеристики. Некоторые семантемы могут использоваться для выражения атомарного значения, которое находит регулярное грамматическое и (или) лексическое выражение в естественном языке. По своему целевому назначению и использованию системы семантем могут разделяться на категории, например, грамматические семантемы 532, лексические семантемы 534 и классифицирующие грамматические (дифференцирующие) семантемы 536.[000114] 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.

[000115] Грамматические семантемы 532 могут использоваться для описания грамматических свойств составляющих при преобразовании синтаксического дерева в семантическую структуру. Лексические семантемы 534 могут описывать конкретные свойства объектов (например, "being flat" (быть плоским) или "being liquid" (являться жидкостью)) и использоваться в описаниях глубинных позиций 520 как ограничение заполнителей глубинных позиций (например, для глаголов "face (with)" (облицовывать) и "flood" (заливать), соответственно). Классифицирующие грамматические (дифференцирующие) семантемы 536 могут выражать дифференциальные свойства объектов внутри одного семантического класса. В качестве иллюстративного примера в семантическом классе HAIRDRESSER (ПАРИКМАХЕР) семантема <<RelatedToMen>> (Относится к мужчинам) присваивается лексическому значению "barber" в отличие от других лексических значений, которые также относятся к этому классу, например, «hairdresser», «hairstylist» и т.д. Используя данные независимые от языка семантические свойства, которые могут быть выражены в виде элементов семантического описания, в том числе семантических классов, глубинных позиций и семантем, можно извлекать семантическую информацию в соответствии с одним или более аспектами настоящего изобретения.[000115] 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.

[000116] Прагматические описания 540 позволяют назначать определенную тему, стиль или жанр текстам и объектам семантической иерархии 510 (например, «Экономическая политика», «Внешняя политика», «Юриспруденция», «Законодательство», «Торговля», «Финансы» и т.д.). Прагматические свойства также могут выражаться семантемами. В качестве иллюстративного примера прагматический контекст может приниматься во внимание при семантическом анализе.[000116] The pragmatic descriptions of 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”, “Law”, “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.

[000117] На Фиг. 16 приведен пример лексических описаний. Лексические описания (203) представляют собой множество лексических значений 612 конкретного естественного языка. Для каждого лексического значения 612 имеется связь 602 с его независимым от языка семантическим родителем для того, чтобы указать положение какого-либо заданного лексического значения в семантической иерархии 510.[000117] In FIG. 16 gives 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.

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

[000119] Поверхностная модель 410 лексического значения может включать одну или несколько синтаксических форм 412. Синтформа 412 поверхностной модели 410 может включать одну или несколько поверхностных позиций 415, в том числе соответствующие описания их линейного порядка 416, одно или несколько грамматических значений 414, выраженных в виде набора грамматических категорий (граммем), одно или несколько семантических ограничений, соотнесенных с заполнителями поверхностных позиций, и одну или несколько диатез 417. Семантические ограничения, соотнесенные с определенным заполнителем поверхностной позиции, могут быть представлены в виде одного или более семантических классов, объекты которых могут заполнить эту поверхностную позицию.[000119] The lexical surface model 410 may include one or more syntactic forms 412. The surface model 410 synth 412 may include one or more surface positions 415, including corresponding descriptions of their linear order 416, one or more grammatical values 414, 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 417. 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.

[000120] На Фиг. 17 схематически иллюстрируются примеры структур данных, которые могут быть использованы в рамках одного или более методов настоящего изобретения. Снова ссылаясь на Фиг. 10, в блоке 214 вычислительное устройство, реализующее данный способ, может проводить лексико-морфологический анализ предложения 212 для построения лексико-морфологической структуры 722 согласно Фиг. 17. Лексико-морфологическая структура 722 может включать множество соответствий лексического и грамматического значений для каждой лексической единицы (например, слова) исходного предложения. Фиг. 11 схематически иллюстрирует пример лексико-морфологической структуры.[000120] In FIG. 17 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. 10, 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. 17. 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. 11 schematically illustrates an example of a lexical-morphological structure.

[000121] Снова возвращаясь к Фиг. 10, в блоке 215 вычислительное устройство может проводить грубый синтаксический анализ исходного предложения 212 для построения графа обобщенных составляющих 732 согласно Фиг. 17. Грубый синтаксический анализ предполагает применение одной или нескольких возможных синтаксических моделей возможных лексических значений к каждому элементу множества элементов лексико-морфологической структуры 722, с тем чтобы установить множество потенциальных синтаксических отношений в составе исходного предложения 212, представленных графом обобщенных составляющих 732.[000121] Returning again to FIG. 10, in 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. 17. 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.

[000122] Граф обобщенных составляющих 732 может быть представлен ациклическим графом, включающим множество узлов, соответствующих обобщенным составляющим исходного предложения 212 и включающим множество дуг, соответствующих поверхностным (синтаксическим) позициям, которые могут выражать различные типы отношений между обобщенными лексическими значениями. В рамках данного способа может применяться множество потенциально применимых синтаксических моделей для каждого элемента множества элементов лексико-морфологических структур исходного предложения 212 для формирования набора составляющих исходного предложения 212. Затем в рамках способа может рассматриваться множество возможных составляющих исходного предложения 212 для построения графа обобщенных составляющих 732 на основе набора составляющих. Граф обобщенных составляющих 732 на уровне поверхностной модели может отражать множество потенциальных связей между словами исходного предложения 212. Поскольку количество возможных синтаксических структур может быть относительно большим, граф обобщенных составляющих 732 может, в общем случае, включать избыточную информацию, в том числе относительно большое число лексических значений по определенным узлам и (или) поверхностных позиций по определенным дугам графа.[000122] 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 on 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.

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

[000124] В некоторых вариантах осуществления корень графа обобщенных составляющих 732 представляет собой предикат. В ходе описанного выше процесса дерево может стать графом, так как определенные составляющие более низкого уровня могут быть включены в одну или несколько составляющих верхнего уровня. Множество составляющих, которые представляют определенные элементы лексико-морфологической структуры, затем может быть обобщено для получения обобщенных составляющих. Составляющие могут быть обобщены на основе их лексических значений или грамматических значений 414, например, на основе частей речи и отношений между ними. На Фиг. 18 схематически иллюстрируется пример графа обобщенных составляющих.[000124] 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 414, for example, on the basis of parts of speech and the relationship between them. In FIG. 18 schematically illustrates an example of a graph of generalized components.

[000125] В блоке 216 вычислительное устройство может проводить точный синтаксический анализ предложения 212 для формирования одного или более синтаксических деревьев 742 согласно Фиг. 17 на основе графа обобщенных составляющих 732. Для каждого синтаксического дерева вычислительное устройство может определить интегральную оценку на основе априорных и вычисляемых оценок. Дерево с наилучшей оценкой может быть выбрано для построения наилучшей синтаксической структуры 746 исходного предложения 212.[000125] At block 216, the computing device can parse sentence 212 to form one or more syntax trees 742 of FIG. 17 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.

[000126] В ходе построения синтаксической структуры 746 на основе выбранного синтаксического дерева вычислительное устройство может установить одну или несколько недревесных связей (например, путем создания дополнительной связи среди, по крайней мере, двух узлов графа). Если этот процесс заканчивается неудачей, вычислительное устройство может выбрать синтаксическое дерево с условно оптимальной оценкой, наиболее близкой к оптимальной, и производится попытка установить одну или несколько недревесных связей в дереве. Наконец, в результате точного синтаксического анализа создается синтаксическая структура 746, которая представляет собой лучшую синтаксическую структуру, соответствующую исходному предложению 212. Фактически в результате отбора лучшей синтаксической структуры 746 определяются лучшие лексические значения 240 для элементов исходного предложения 212.[000126] 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.

[000127] В блоке 217 вычислительное устройство может обрабатывать синтаксические деревья для формирования семантической структуры 218, соответствующей предложению 212. Семантическая структура 218 может отражать передаваемую исходным предложением семантику в независимых от языка терминах. Семантическая структура 218 может быть представлена в виде ациклического графа (например, дерево, возможно, дополненное одной или более недревесной связью (дугой графа). Слова исходного предложения представлены узлами с соответствующими независимыми от языка семантическими классами семантической иерархии 510. Дуги графа представляют глубинные (семантические) отношения между элементами предложения. Переход к семантической структуре 218 может осуществляться с помощью правил анализа 460 и предполагает соотнесение одного или более признаков (отражающих лексические, синтаксические и (или) семантические свойства слов исходного предложения 212) с каждым семантическим классом.[000127] 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 the 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 460 and involves the correlation of one or more features ( reflecting the lexical, syntactic and (or) semantic properties of the words of the original sentence 212) with each semantic class.

[000128] На Фиг. 19 приводится пример синтаксической структуры предложения, сгенерированной из графа обобщенных составляющих, показанного на Фиг. 18. Узел 901 соответствует лексическому элементу "life" (жизнь) 906. Применяя способ описанного в настоящем документе синтактико-семантического анализа, вычислительное устройство может установить, что лексический элемент "life" (жизнь) 906 представляет одну из форм лексического значения, соотнесенного с семантическим классом "LIFE" (ЖИТЬ) 904 и заполняет поверхностную позицию $Adjunct_Locative 905) в родительской составляющей, представленной управляющим узлом Verb:succeed:succeed:TO_SUCCEED (907).[000128] In FIG. 19 is an example of a syntactic structure of a sentence generated from a graph of generalized components shown in FIG. 18. 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 "LIFE" 904 and fills the surface position $ Adjunct_Locative 905) in the parent component represented by the Verb: succeed: succeed: TO_SUCCEED control node (907).

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

[000130] В соответствии с одним или несколькими аспектами настоящего изобретения вычислительное устройство, в котором реализованы описанные в настоящем описании способы, может индексировать один или несколько параметров, полученных в результате семантико-синтаксического анализа. Таким образом, способы настоящего изобретения позволяют рассматривать не только множество слов в составе исходного текстового корпуса, но и множество лексических значений этих слов, сохраняя и индексируя всю синтаксическую и семантическую информацию, полученную в ходе синтаксического и семантического анализа каждого предложения исходного текстового корпуса. Такая информация может дополнительно включать данные, полученные в ходе промежуточных этапов анализа, а также результаты лексического выбора, в том числе результаты, полученные в ходе разрешения неоднозначностей, вызванных омонимией и (или) совпадающими грамматическими формами, соответствующими различным лексико-морфологическим значениям некоторых слов исходного языка.[000130] 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.

[000131] Для каждой семантической структуры можно создать один или несколько индексов. Индекс можно представить в виде структуры данных в памяти, например, в виде таблицы, состоящей из нескольких записей. Каждая запись может представлять собой установление соответствия между определенным элементом семантической структуры (например, одно слово или несколько слов, синтаксическое отношение, морфологическое, синтаксическое или семантическое свойство или синтаксическая или семантическая структура) и одним или несколькими идентификаторами (или адресами) случаев употребления данного элемента семантической структуры в исходном тексте.[000131] 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.

[000132] В некоторых вариантах осуществления индекс может включать одно или несколько значений морфологических, синтаксических, лексических и (или) семантических параметров. Эти значения могут создаваться в процессе двухэтапного семантического анализа (более подробное описание см. в настоящем документе). Индекс можно использовать для выполнения различных задач обработки естественного языка, в том числе для выполнения семантического поиска.[000132] 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.

[000133] Вычислительное устройство, реализующее данный способ, может извлекать широкий спектр лексических, грамматических, синтаксических, прагматических и (или) семантических характеристик в ходе проведения синтактико-семантического анализа и создания семантических структур. В иллюстративном примере система может извлекать и сохранять определенную лексическую информацию, данные о принадлежности определенных лексических единиц семантическим классам, информацию о грамматических формах и линейном порядке, информацию об использовании определенных форм, аспектов, тональности (например, положительной или отрицательной), глубинных позиций, недревесных связей, семантем и т.д.[000133] 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.

[000134] Вычислительное устройство, в котором реализованы описанные здесь способы, может производить анализ, используя один или несколько описанных в этом документе способов анализа текста, и индексировать любой один или несколько параметров описаний языка, включая лексические значения, семантические классы, граммемы, семантемы и т.д. Индексацию семантического класса можно использовать в различных задачах обработки естественного языка, включая семантический поиск, классификацию, кластеризацию, фильтрацию текста и т.д. Индексация лексических значений (вместо индексации слов) позволяет искать не только слова и формы слов, но и лексические значения, т.е. слова, имеющие определенные лексические значения. Вычислительное устройство, реализующее способы настоящего изобретения, также может хранить и индексировать синтаксические и семантические структуры, созданные одним или несколькими описанными в настоящем документе способами анализа текста, для использования данных структур и (или) индексов при проведении семантического поиска, классификации, кластеризации и фильтрации документов.[000134] 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 meanings (instead of indexing words) allows you to search not only words and word forms, but also lexical meanings, i.e. 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 .

[000135] На Фиг. 21 показан иллюстративный приме вычислительного устройства (1000), которое может исполнять набор команд, которые вызывают выполнение вычислительным устройством любого отдельно взятого или нескольких способов настоящего изобретения. Вычислительное устройство может подключаться к другому вычислительному устройству по локальной сети, корпоративной сети, сети экстранет или сети Интернет. Вычислительное устройство может работать в качестве сервера или клиентского вычислительного устройства в сетевой среде "клиент/сервер" либо в качестве однорангового вычислительного устройства в одноранговой (или распределенной) сетевой среде. Вычислительное устройство может быть представлено персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (SТВ), карманным ПК (РDА), сотовым телефоном или любым вычислительным устройством, способным выполнять набор команд (последовательно или иным образом), определяющих операции, которые должны быть выполнены этим вычислительным устройством. Кроме того, в то время как показано только одно вычислительное устройство, следует принять, что термин «вычислительное устройство» также может включать любую совокупность вычислительных устройств, которые отдельно или совместно выполняют набор (или несколько наборов) команд для выполнения одной или нескольких методик, описанных в настоящем документе.[000135] In FIG. 21 shows an illustrative example of a computing device (1000) that can execute a set of instructions that cause the computing device to execute any one or more of the methods of the present invention. A computing device may connect to another computing device via a local area network, a corporate network, an extranet, or the Internet. A computing device can operate as a server or client computing device in a client / server network environment, or as a peer computing device in a peer-to-peer (or distributed) network environment. A computing device 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 computing device capable of executing a set of commands (sequentially or otherwise) that define the operations that should be performed by this computing device. In addition, while only one computing device is shown, it should be accepted that the term “computing device” may also include any combination of computing devices that separately or jointly execute a set (or several sets) of instructions to perform one or more of the techniques described in this document.

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

[000137] Процессор (502) может быть представлен одним или более универсальными вычислительными устройствами, например, микропроцессором, центральным процессором и т.д. В частности, процессор (502) может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд, или процессоры, реализующие комбинацию наборов команд. Процессор (502) также может представлять собой одно или несколько вычислительных устройств специального назначения, например, заказную интегральную микросхему (ASIC), программируемую пользователем вентильную матрицу (FPGA), процессор цифровых сигналов (DSP), сетевой процессор и т.п. Процессор (502) настроен на выполнение команд (526) для осуществления рассмотренных в настоящем документе операций и функций.[000137] The processor (502) may be represented by one or more universal computing devices, for example, a microprocessor, a central processor, etc. In particular, the processor (502) may be a full instruction set microprocessor (CISC), an reduced instruction set microprocessor (RISC), an extra long instruction microprocessor (VLIW), a processor implementing another instruction set, or processors implementing a combination command sets. The processor (502) may also be one or more special-purpose computing devices, 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.

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

[000139] Устройство хранения данных (518) может содержать машиночитаемый носитель данных (524), в котором хранится один или более наборов команд (526), и в котором реализован один или более из методов или функций настоящего изобретения. Команды (526) также могут находиться полностью или по меньшей мере частично в основной памяти (504) и/или в процессоре (502) во время выполнения их в вычислительном устройстве (1000), при этом оперативная память (504) и процессор (502) также составляют машиночитаемый носитель данных. Команды (526) дополнительно могут передаваться или приниматься по сети (516) через устройство сетевого интерфейса (522).[000139] The data storage device (518) may comprise 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 of the present invention. The instructions (526) can also be located completely or at least partially in the main memory (504) and / or in the processor (502) while they are being executed in the computing device (1000), with the main memory (504) and the processor (502) also constitute a computer-readable storage medium. Commands (526) can additionally be transmitted or received over the network (516) through a network interface device (522).

[000140] В некоторых вариантах осуществления команды (526) могут включать в себя команды способа (100) классификации текстов на естественном языке уf на основе семантических признаков и/или способа вычисления параметров модели классификации. В то время как машиночитаемый носитель данных (524), показанный на примере на Фиг. 21, является единым носителем, термин «машиночитаемый носитель» должен включать один носитель или несколько носителей (например, централизованную или распределенную базу данных, и/или соответствующие кэши и серверы), в которых хранится один или более наборов команд. Термин "машиночитаемый носитель данных" также следует рассматривать как термин, включающий любой носитель, который способен хранить, кодировать или переносить набор команд для выполнения машиной, который заставляет эту машину выполнять любую одну или несколько из методик, описанных в настоящем раскрытии изобретения. Таким образом, термин «машиночитаемый носитель данных», помимо прочего, также относится к твердотельной памяти и оптическим и магнитным носителям.[000140] In some embodiments, instructions (526) may include instructions of a method (100) for classifying natural language texts уf based on semantic features and / or a method for calculating classification model parameters. While the computer-readable storage medium (524) shown in the example of FIG. 21 is a single medium, the term “machine-readable medium” should include one medium or several mediums (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 construed as a term that includes any medium that is capable of storing, encoding or transferring a set of instructions for execution by a machine that causes this machine to execute any one or more of the techniques described in this disclosure. Thus, the term “computer-readable storage medium”, among other things, also refers to solid-state memory and optical and magnetic media.

[000141] Описанные в документе способы, компоненты и функции могут быть реализованы дискретными аппаратными компонентами, либо они могут быть интегрированы в функции других аппаратных компонентов, таких как ASICS, FPGA, DSP или подобных устройств. Кроме того, способы, компоненты и функции могут быть реализованы с помощью модулей встроенного программного обеспечения или функциональных схем аппаратных устройств. Способы, компоненты и функции также могут быть реализованы с помощью любой комбинации вычислительных средств и программных компонентов, либо исключительно с помощью программного обеспечения.[000141] The methods, components, and functions described herein may be implemented by discrete hardware components, or they may be integrated into functions of other hardware components, such as ASICS, FPGA, DSP, or similar devices. In addition, methods, components, and functions may be implemented using firmware modules or functional diagrams of hardware devices. The methods, components and functions can also be implemented using any combination of computing tools and software components, or exclusively using software.

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

[000143] Некоторые части описания предпочтительных вариантов реализации представлены в виде алгоритмов и символического представления операций с битами данных в памяти компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, чтобы наиболее эффективно передавать сущность своей работы другим специалистам в данной области. В настоящем документе и в целом алгоритмом называется самосогласованная последовательность операций, приводящих к требуемому результату. Операции требуют физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и подвергать другим манипуляциям. Оказалось, что прежде всего для обычного использования удобно описывать эти сигналы в виде битов, значений, элементов, символов, членов, цифр и т.д.[000143] Some parts of the description of preferred embodiments are presented in the form of algorithms and a symbolic representation of operations with data bits in computer memory. Such descriptions and representations of algorithms represent the means used by specialists in the field of data processing in order to most effectively transfer the essence of their work to other specialists in this field. In this document and in general, an algorithm is a self-consistent sequence of operations leading to the desired result. Operations require physical manipulations with physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared and subjected to other manipulations. It turned out that, first of all, for normal use, it is convenient to describe these signals in the form of bits, values, elements, symbols, members, numbers, etc.

[000144] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами, и что они представляют собой просто удобные метки, применяемые к этим величинам. Если иное специально и недвусмысленно не указано в нижеследующем обсуждении, следует принимать, что везде по тексту такие термины как "определение", "вычисление", "расчет", "вычисление", "получение", "установление", "изменение" и т.п., относятся к действиям и процессам вычислительного устройства или аналогичного электронного вычислительного устройства, которое работает с данными и преобразует данные, представленные в виде физических (например, электронных) величин в регистрах и памяти вычислительного устройства, в другие данные, аналогичным образом представленные в виде физических величин в памяти или регистрах вычислительного устройства, либо других подобных устройствах хранения, передачи или отображения информации.[000144] However, it should be borne in mind that all of these and similar terms should be associated with the corresponding physical quantities, and that they are simply convenient labels that apply to these quantities. Unless otherwise specifically and explicitly indicated in the following discussion, it should be assumed that throughout the text such terms as “definition”, “calculation”, “calculation”, “calculation”, “receipt”, “establishment”, “change”, etc. .p., relate to the actions and processes of a computing device or similar electronic computing device that works with data and converts data represented in the form of physical (e.g. electronic) quantities in the registers and memory of the computing device into other data similar to immediately presented in the form of physical quantities in the memory or registers of a computing device, or other similar devices for storing, transmitting or displaying information.

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

[000146] Следует понимать, что вышеприведенное описание носит иллюстративный, а не ограничительный характер. Различные другие варианты осуществления станут очевидны специалистам в данной области техники после прочтения и понимания приведенного выше описания. Поэтому объем раскрытия должен определяться со ссылкой на прилагаемую формулу изобретения наряду с полным объемом эквивалентов, на которые такие требования предоставляют право.[000146] It should be understood that the above description is illustrative and not restrictive. Various other embodiments will become apparent to those skilled in the art after reading and understanding the above description. Therefore, the scope of disclosure should be determined with reference to the appended claims along with the full scope of equivalents to which such claims are entitled.

Claims (31)

1. Способ сентиментного анализа текстов на естественном языке, включающий:1. The method of sentimental analysis of texts in natural language, including: выполнение с помощью вычислительной системы синтактико-семантического анализа по меньшей мере части текста на естественном языке для получения множества синтактико-семантических характеристик, представляющих часть текста на естественном языке;the execution using a computer system of syntactic-semantic analysis of at least part of the text in natural language to obtain many syntactic-semantic characteristics representing part of the text in the natural language; идентификация в части текста на естественном языке по меньшей мере одного аспектного термина, представляющего аспект, связанный с целевой сущностью, и по меньшей мере одной синтактико-семантической характеристики, ассоциированной с указанным по меньшей мере одним аспектным термином;identification in part of the text in the natural language of at least one aspect term representing an aspect associated with the target entity, and at least one syntactic-semantic characteristic associated with the specified at least one aspect term; вычисление с помощью одной или более характеристик текста, полученных при синтактико-семантическом анализе, значения функции классификатора для определения тональности, связанной с аспектным термином;calculating, using one or more characteristics of the text obtained by syntactic-semantic analysis, the values of the classifier function to determine the tonality associated with the aspect term; создание отчета, содержащего один или несколько иерархических списков аспектных терминов, включающих выявленные аспекты и тональности выявленных аспектов; иcreating a report containing one or more hierarchical lists of aspect terms, including identified aspects and tonality of identified aspects; and определение, с использованием обучающей выборки данных и подтверждающей выборки данных, по меньшей мере одного параметра функции классификатора, в котором обучающая выборка данных включает обучающий текст на естественном языке, содержащий множество аспектных терминов.determining, using a training data sample and a validating data sample, at least one parameter of a classifier function, in which the training data sample includes a learning text in a natural language containing many aspect terms. 2. Способ по п. 1, отличающийся тем, что текст на естественном языке представляет собой множество отзывов потребителей о целевой сущности.2. The method according to p. 1, characterized in that the text in a natural language is a set of consumer reviews of the target entity. 3. Способ по п. 1, отличающийся тем, что целевая сущность представлена, по меньшей мере, потребительским продуктом или услугой.3. The method according to p. 1, characterized in that the target entity is represented by at least a consumer product or service. 4. Способ по п. 1, отличающийся тем, что аспект представлен, по меньшей мере, характеристикой, или функцией, или компонентом целевой сущности.4. The method according to p. 1, characterized in that the aspect is represented by at least a characteristic, or function, or component of the target entity. 5. Способ по п. 1, отличающийся тем, что аспектный термин содержит одно или несколько слов.5. The method according to p. 1, characterized in that the aspect term contains one or more words. 6. Способ по п. 1, отличающийся тем, что тональность, связанная с аспектом, принимает одно из следующих значений: негативная тональность, нейтральная тональность или положительная тональность.6. The method according to p. 1, characterized in that the tonality associated with the aspect takes one of the following meanings: negative tonality, neutral tonality or positive tonality. 7. Способ по п. 1, отличающийся тем, что функция классификатора представлена одним из следующих вариантов: линейный классификатор, классификатор на основе дерева прямых потомков, классификатор на основе случайного леса, классификатор на основе условных случайных полей (CRF), классификатор на основе латентного размещения Дирихле (LDA), классификаторы на основе метода опорных векторов (SVM) или классификатор на основе нейронных сетей.7. The method according to claim 1, characterized in that the classifier function is represented by one of the following options: a linear classifier, a classifier based on a tree of direct descendants, a classifier based on a random forest, a classifier based on conditional random fields (CRF), a classifier based on latent Dirichlet placement (LDA), classifiers based on the support vector method (SVM) or classifier based on neural networks. 8. Способ по п. 1, отличающийся тем, что область определения функции-классификатора содержит один из следующих вариантов: значение грамматического признака, характеризующего аспектный термин, значение синтаксического признака, характеризующего аспектный термин или значение семантического признака, характеризующего аспектный термин, где значение получается путем синтактико-семантического анализа.8. The method according to p. 1, characterized in that the scope of the classifier function contains one of the following options: the value of the grammatical characteristic characterizing the aspect term, the value of the syntactical characteristic characterizing the aspect term or the value of the semantic characteristic characterizing the aspect term, where the value is obtained by syntactic-semantic analysis. 9. Система сентиментного анализа текстов на естественном языке, содержащая: память; и9. The system of sentimental analysis of texts in natural language, containing: memory; and процессор, связанный с данной памятью, выполненный с возможностью:a processor associated with this memory, configured to: выполнять синтактико-семантический анализ по меньшей мере части текста на естественном языке для получения множества синтактико-семантических структур, представляющих часть текста на естественном языке;perform syntactic-semantic analysis of at least part of the text in the natural language to obtain many syntactic-semantic structures representing a part of the text in the natural language; идентифицировать в части текста на естественном языке по меньшей мере один аспектный термин, относящийся к аспекту, связанному с целевой сущностью, и по меньшей мере одну синтактико-семантическую характеристику, ассоциированную с указанным по меньшей одним аспектным термином;identify at least one aspect term related to the aspect related to the target entity and at least one syntactic-semantic characteristic associated with said at least one aspect term in a part of the text in the natural language; вычислять с помощью одной или более характеристик текста, полученных при синтактико-семантическом анализе, по меньшей мере одно значение функции классификатора для определения тональности, связанной с аспектным термином;calculate, using one or more characteristics of the text obtained by syntactic-semantic analysis, at least one value of the classifier function to determine the tonality associated with the aspect term; создавать отчет, содержащий один или несколько иерархических списков аспектных терминов, включающих выявленные аспекты и тональности выявленных аспектов; иcreate a report containing one or more hierarchical lists of aspect terms, including identified aspects and tonality of identified aspects; and определять, с использованием обучающей выборки данных и подтверждающей выборки данных, по меньшей мере один параметр функции классификатора, где обучающая выборка данных включает обучающий текст на естественном языке, содержащий множество аспектных терминов.determine, using a training data sample and a validating data sample, at least one parameter of the classifier function, where the training data sample includes a learning text in a natural language containing many aspect terms. 10. Система по п. 9, отличающаяся тем, что аспект относится, по меньшей мере, к характеристике, или функции, или компоненту целевой сущности.10. The system of claim 9, wherein the aspect relates at least to a characteristic, or function, or component of a target entity. 11. Система по п. 9, отличающаяся тем, что тональность, связанная с аспектным термином, может быть представлена одним из следующих значений: негативная тональность, нейтральная тональность или положительная тональность.11. The system of claim 9, wherein the tonality associated with the aspect term can be represented by one of the following meanings: negative tonality, neutral tonality, or positive tonality. 12. Система по п. 9, отличающаяся тем, что функция-классификатор представлена классификатором на основе метода опорных векторов (SVM).12. The system according to claim 9, characterized in that the classifier function is represented by a classifier based on the support vector method (SVM). 13. Система по п. 9, отличающаяся тем, что процессор дополнительно имеет возможность:13. The system according to p. 9, characterized in that the processor additionally has the ability to: определять с использованием обучающей выборки данных по меньшей мере один параметр функции классификатора, причем обучающая выборка данных включает обучающий текст на естественном языке, содержащий множество значений аспекта.determine, using a training data set, at least one parameter of a classifier function, the training data set including a learning text in natural language containing a plurality of aspect values. 14. Постоянный машиночитаемый носитель данных, содержащий исполняемые команды, которые при выполнении вычислительной системой сентиментного анализа текстов на естественном языке побуждают вычислительную систему:14. A permanent computer-readable storage medium containing executable instructions that, when the computer system performs sentimental analysis of texts in natural language, induces the computer system: выполнять синтактико-семантический анализ по меньшей мере части текста на естественном языке для получения множества синтактико-семантических структур, представляющих часть текста на естественном языке;perform syntactic-semantic analysis of at least part of the text in the natural language to obtain many syntactic-semantic structures representing a part of the text in the natural language; идентифицировать в части текста на естественном языке по меньшей мере один аспектный термин, относящийся к аспекту, связанному с целевой сущностью, и по меньшей мере одну синтактико-семантическую характеристику, ассоциированную с указанным по меньшей мере одним аспектным термином;identify at least one aspect term related to the aspect related to the target entity and at least one syntactic-semantic characteristic associated with the at least one aspect term in a part of the text in the natural language; вычислять с помощью одной или более характеристик текста, полученных при синтактико-семантическом анализе, значение функции классификатора для определения тональности, связанной с аспектным термином;calculate, using one or more characteristics of the text obtained by syntactic-semantic analysis, the value of the classifier function to determine the tonality associated with the aspect term; создавать отчет, содержащий один или несколько иерархических списков аспектных терминов, включающих выявленные аспекты и тональности выявленных аспектов; иcreate a report containing one or more hierarchical lists of aspect terms, including identified aspects and tonality of identified aspects; and определять, с использованием обучающей выборки данных и подтверждающей выборки данных, по меньшей мере один параметр функции классификатора, где обучающая выборка данных включает обучающий текст на естественном языке, содержащий множество аспектных терминов.determine, using a training data sample and a validating data sample, at least one parameter of the classifier function, where the training data sample includes a learning text in a natural language containing many aspect terms.
RU2016131180A 2016-07-28 2016-07-28 Sentiment analysis at the level of aspects using methods of machine learning RU2657173C2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2016131180A RU2657173C2 (en) 2016-07-28 2016-07-28 Sentiment analysis at the level of aspects using methods of machine learning
US15/238,398 US20180032508A1 (en) 2016-07-28 2016-08-16 Aspect-based sentiment analysis using machine learning methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2016131180A RU2657173C2 (en) 2016-07-28 2016-07-28 Sentiment analysis at the level of aspects using methods of machine learning

Publications (2)

Publication Number Publication Date
RU2016131180A RU2016131180A (en) 2018-02-01
RU2657173C2 true RU2657173C2 (en) 2018-06-08

Family

ID=61011605

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016131180A RU2657173C2 (en) 2016-07-28 2016-07-28 Sentiment analysis at the level of aspects using methods of machine learning

Country Status (2)

Country Link
US (1) US20180032508A1 (en)
RU (1) RU2657173C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2769427C1 (en) * 2021-04-05 2022-03-31 Анатолий Владимирович Буров Method for automated analysis of text and selection of relevant recommendations to improve readability thereof

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330023B (en) * 2017-06-21 2021-02-12 北京百度网讯科技有限公司 Text content recommendation method and device based on attention points
CN108513175B (en) * 2018-03-29 2020-05-22 网宿科技股份有限公司 Bullet screen information processing method and system
CN108804512B (en) * 2018-04-20 2020-11-24 平安科技(深圳)有限公司 Text classification model generation device and method and computer readable storage medium
CN109614460B (en) * 2018-12-17 2023-03-10 北京北大软件工程股份有限公司 Method and device for processing legal data, storage medium and electronic equipment
CN109918508A (en) * 2019-03-08 2019-06-21 成都场量科技有限公司 User's portrait generation method based on web crawlers acquisition technique
CN110059192A (en) * 2019-05-15 2019-07-26 北京信息科技大学 Character level file classification method based on five codes
CN110210024B (en) 2019-05-28 2024-04-02 腾讯科技(深圳)有限公司 Information processing method, device and storage medium
CN110377915B (en) * 2019-07-25 2022-11-29 腾讯科技(深圳)有限公司 Text emotion analysis method and device, storage medium and equipment
CN110738057B (en) * 2019-09-05 2023-10-24 中山大学 Text style migration method based on grammar constraint and language model
CN111160037B (en) * 2019-12-02 2021-10-26 广州大学 Fine-grained emotion analysis method supporting cross-language migration
CN111046185B (en) * 2019-12-16 2023-02-24 重庆邮电大学 Method, device and terminal for extracting knowledge graph relation of text information
CN111191463A (en) * 2019-12-30 2020-05-22 杭州远传新业科技有限公司 Emotion analysis method and device, electronic equipment and storage medium
US11194971B1 (en) 2020-03-05 2021-12-07 Alexander Dobranic Vision-based text sentiment analysis and recommendation system
CN112800184B (en) * 2021-01-13 2021-08-06 华东师范大学 Short text comment emotion analysis method based on Target-Aspect-Opinion joint extraction
CN112989797B (en) * 2021-03-10 2023-11-14 北京百度网讯科技有限公司 Model training and text expansion methods, devices, equipment and storage medium
US11886825B2 (en) * 2021-03-31 2024-01-30 Adobe, Inc. Aspect-based sentiment analysis
CN113076490B (en) * 2021-04-25 2023-03-24 昆明理工大学 Case-related microblog object-level emotion classification method based on mixed node graph
US11853706B2 (en) * 2021-05-17 2023-12-26 Salesforce.Com, Inc. Generative language model for few-shot aspect-based sentiment analysis
US11675823B2 (en) * 2021-10-13 2023-06-13 Dell Products L.P. Sentiment analysis for aspect terms extracted from documents having unstructured text data
US20230230403A1 (en) * 2021-12-06 2023-07-20 Hanzifinder Llc Systems and methods for representing and searching characters
ES2933625A1 (en) * 2022-10-29 2023-02-10 Kallisto Ai Sl METHOD AND SYSTEM USING GENERAL ARTIFICIAL INTELLIGENCE TECHNIQUES FOR USER SEGMENTATION (Machine-translation by Google Translate, not legally binding)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090193328A1 (en) * 2008-01-25 2009-07-30 George Reis Aspect-Based Sentiment Summarization
US20100280985A1 (en) * 2008-01-14 2010-11-04 Aptima, Inc. Method and system to predict the likelihood of topics
US20110137851A1 (en) * 2009-10-15 2011-06-09 Crescendo Bioscience Biomarkers and methods for measuring and monitoring inflammatory disease activity
US20130018824A1 (en) * 2011-07-11 2013-01-17 Accenture Global Services Limited Sentiment classifiers based on feature extraction
US20150057992A1 (en) * 2006-10-10 2015-02-26 Abbyy Infopoisk Llc Exhaustive automatic processing of textual information
RU2571373C2 (en) * 2014-03-31 2015-12-20 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Method of analysing text data tonality

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7885952B2 (en) * 2006-12-20 2011-02-08 Microsoft Corporation Cloaking detection utilizing popularity and market value
US10275454B2 (en) * 2014-10-13 2019-04-30 International Business Machines Corporation Identifying salient terms for passage justification in a question answering system
US9690772B2 (en) * 2014-12-15 2017-06-27 Xerox Corporation Category and term polarity mutual annotation for aspect-based sentiment analysis
US20160260108A1 (en) * 2015-03-05 2016-09-08 David Brian Bracewell Occasion-based consumer analytics
US9633007B1 (en) * 2016-03-24 2017-04-25 Xerox Corporation Loose term-centric representation for term classification in aspect-based sentiment analysis

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150057992A1 (en) * 2006-10-10 2015-02-26 Abbyy Infopoisk Llc Exhaustive automatic processing of textual information
US20100280985A1 (en) * 2008-01-14 2010-11-04 Aptima, Inc. Method and system to predict the likelihood of topics
US20090193328A1 (en) * 2008-01-25 2009-07-30 George Reis Aspect-Based Sentiment Summarization
US20110137851A1 (en) * 2009-10-15 2011-06-09 Crescendo Bioscience Biomarkers and methods for measuring and monitoring inflammatory disease activity
US20130018824A1 (en) * 2011-07-11 2013-01-17 Accenture Global Services Limited Sentiment classifiers based on feature extraction
RU2571373C2 (en) * 2014-03-31 2015-12-20 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Method of analysing text data tonality

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2769427C1 (en) * 2021-04-05 2022-03-31 Анатолий Владимирович Буров Method for automated analysis of text and selection of relevant recommendations to improve readability thereof

Also Published As

Publication number Publication date
US20180032508A1 (en) 2018-02-01
RU2016131180A (en) 2018-02-01

Similar Documents

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

Legal Events

Date Code Title Description
HE9A Changing address for correspondence with an applicant
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