[go: up one dir, main page]

RU2392660C2 - Method of searching for information in text array - Google Patents

Method of searching for information in text array Download PDF

Info

Publication number
RU2392660C2
RU2392660C2 RU2008114801/09A RU2008114801A RU2392660C2 RU 2392660 C2 RU2392660 C2 RU 2392660C2 RU 2008114801/09 A RU2008114801/09 A RU 2008114801/09A RU 2008114801 A RU2008114801 A RU 2008114801A RU 2392660 C2 RU2392660 C2 RU 2392660C2
Authority
RU
Russia
Prior art keywords
objects
sentences
array
text
query
Prior art date
Application number
RU2008114801/09A
Other languages
Russian (ru)
Other versions
RU2008114801A (en
Inventor
Илья Сергеевич Циликов (RU)
Илья Сергеевич Циликов
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 RU2008114801/09A priority Critical patent/RU2392660C2/en
Publication of RU2008114801A publication Critical patent/RU2008114801A/en
Application granted granted Critical
Publication of RU2392660C2 publication Critical patent/RU2392660C2/en

Links

Landscapes

  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

FIELD: physics, computer engineering.
SUBSTANCE: invention relates to processing natural language text and can be used to automate search of required documents in their large collection. Upon request, its content is processed on sentences. Sentences of the text array and the search request are compared pairwise and relevancy of each document of the text array to the request is calculated from the results based on sentences included in the document. The text array is indexed on separate sentences. Precise meaning of words in sentences is identified first and semantic links between them are established. The precise word meanings are then replace them by breaking down to elementary meanings which are stored for each meaning in thesaurus, after which a matrix is made for each sentence, which contains the link between all pairs of objects included in the sentence. An inverted index is then made, where for each object included in the text array, the documents, sentences and the number of times it is met is indicated.
EFFECT: invention enables comparison of phrases according to sense.
2 cl

Description

Изобретение относится к области информационных технологий, а именно к обработке естественно-языковых текстов, и может быть использовано для автоматизации поиска необходимых документов в большой их коллекции.The invention relates to the field of information technology, namely to the processing of natural language texts, and can be used to automate the search for necessary documents in a large collection of them.

В настоящее время для поиска в больших коллекциях документов используют либо ключевые слова, учитывая форму слов лишь по отдельности и расстояния между словами, либо используют результаты синтаксического и первичного семантического анализа и учитывают семантическую роль слова, но при этом не учитывают многозначность слов и возможность выражения того же смысла другими словами.Currently, for searching large collections of documents, they use either keywords, taking into account the form of words only separately and the distance between words, or use the results of parsing and primary semantic analysis and take into account the semantic role of the word, but do not take into account the polysemy of words and the possibility of expressing it same meaning in other words.

Известен способ синтеза самообучающейся системы извлечения знаний из текстовых документов для поисковых систем путем обеспечения механизма самообучения в виде стохастически индексированной системы искусственного интеллекта. Проводят морфологический и синтаксический анализ, а также стохастическое индексирование текстовых документов по заданной схеме для формирования баз знаний семантического анализа. Преобразуют запрос пользователя в стохастически индексированном виде во множество новых запросов, эквивалентных исходному запросу, и осуществляют выбор стохастически индексированных фрагментов текстовых документов во всеми словосочетаниями преобразованного запроса, из которых формируют стохастически индексированную систематическую структуру, формируют краткий ответ системы на основе этой структуры и проверяют релевантность краткого ответа системы запросу путем их сравнения (RU 2273879, МПК 7 G06F 17/30, опубл. 10.04.2006).There is a method of synthesis of a self-learning system for extracting knowledge from text documents for search engines by providing a self-learning mechanism in the form of a stochastically indexed artificial intelligence system. Morphological and syntactic analysis is carried out, as well as stochastic indexing of text documents according to a given scheme for the formation of semantic analysis knowledge bases. The user’s request is converted in a stochastically indexed form to many new queries that are equivalent to the original query, and stochastically indexed fragments of text documents are selected in all phrases of the converted query, from which they form a stochastically indexed systematic structure, form a short response of the system based on this structure and check the relevance of the short the response of the system to the request by comparing them (RU 2273879, IPC 7 G06F 17/30, publ. 10.04.2006).

Недостатком известного решения является использование слов естественного языка как неделимых элементов, в то время как слова многозначны и одна и та же фраза может быть выражена разными словами, что приводит к невозможности учета эквивалентности по смыслу между разными выражениями.A disadvantage of the known solution is the use of natural language words as indivisible elements, while words are ambiguous and the same phrase can be expressed in different words, which makes it impossible to take into account equivalence in meaning between different expressions.

Технический результат заключается в обеспечении возможности детального семантического анализа естественно-языкового текста, включающего обработку значений, входящих в текст слов за счет возможности описания значений слов в виде составных элементов, над которыми возможно выполнять действия и преобразования, что позволяет проводить сравнение фраз по смыслу.The technical result consists in providing the possibility of a detailed semantic analysis of a natural language text, including the processing of meanings included in the text of words due to the possibility of describing the meanings of words as constituent elements on which it is possible to perform actions and conversions, which allows comparison of phrases within the meaning.

Указанный технический результат достигается тем, что способ поиска информации в массиве текстов заключается в том, что предварительно выполняют индексирование массива текстов по входящим в него предложениям. При поступлении запроса его содержимое обрабатывают по предложениям, происходит попарное сопоставление предложений массива текстов и поискового запроса, по результатам которого вычисляют релевантность каждого документа массива текстов запросу на основе входящих в документы предложений, затем в порядке снижения релевантности документы массива текстов представляют пользователю как результат поиска. Индексирование массива текста происходит по отдельным предложениям. В предложениях вначале распознают точные значения слов и устанавливают семантические связи между ними, затем точные значения слов заменяют их разложением на элементарные значения, которые хранятся для каждого значения в тезаурусе, после чего для каждого предложения строят матрицу, содержащую связи между всеми парами объектов, входящих в предложение, затем составляют инвертированный индекс, где для каждого объекта, входящего в массив текста, указано в каких документах и в каких предложениях сколько раз он встречается. Обработка поискового запроса при его поступлении предусматривает определение точных значений всех слов, входящих в предложения запроса, затем точные значения слов заменяют их разложением на элементарные значения, которые хранятся для каждого значения в тезаурусе, после чего для каждого предложения запроса строят матрицу, содержащую связи между всеми парами объектов, входящих в предложение, затем выполняют поиск по тезаурусу объектов, имеющих корреляцию с объектами, входящими в запрос, после чего все объекты, входящие в запрос, и коррелирующие объекты находят в инвертированном индексе и на основе его данных из массива текстов отбирают предложения, для которых затем выполняют попарные сопоставления с предложениями запроса. При попарном сопоставлении предложений массива текстов и предложений запроса предварительно строят матрицу, отражающую соответствия между входящими в текст объектами и объектами, входящими в запрос, и коррелирующими с объектами запроса. Затем для объектов, связанных в полученной матрице, сопоставляют значения соответствующих этим объектам ячеек матриц, построенных для предложений массива текстов и для предложений запроса, на основе чего вычисляют релевантность предложений запроса предложениям массива текстов. Затем путем вычисления среднего арифметического определяют релевантность каждого предложения массива текста всему запросу. Для каждого документа массива текста на основе релевантностей, входящих в него предложений, вычисляют релевантность всего документа запросу с помощью статистических показателей.The indicated technical result is achieved by the fact that the method of searching for information in an array of texts consists in preliminarily indexing the array of texts according to the sentences included in it. Upon receipt of a request, its contents are processed by offers, a pair of text array sentences and a search query is matched, the results of which calculate the relevance of each text array document to the query based on the sentences included in the documents, then, in order of decreasing relevance, the text array documents are presented to the user as a search result. Indexing an array of text occurs on individual sentences. In sentences, they first recognize the exact meanings of words and establish semantic relationships between them, then the exact meanings of the words are replaced by decomposing them into elementary meanings, which are stored for each value in the thesaurus, after which, for each sentence, a matrix is constructed containing links between all pairs of objects included in sentence, then make up an inverted index, where for each object included in the text array, it is indicated in which documents and in which sentences how many times it occurs. Processing a search query upon its receipt involves determining the exact meanings of all the words included in the query’s sentences, then the exact word meanings are replaced by decomposing them into elementary values, which are stored for each value in the thesaurus, after which a matrix containing links between all by pairs of objects included in the proposal, then they search on the thesaurus of objects having a correlation with the objects included in the request, after which all objects included in the request and correl ruyuschie object is in the inverted index and on the basis of its data from an array of texts selected proposals, which then perform the pairwise comparison with the request for proposals. When pairwise matching sentences of an array of texts and query sentences, a matrix is preliminarily constructed that reflects the correspondence between the objects included in the text and the objects included in the request and correlated with the request objects. Then, for the objects connected in the obtained matrix, the values of the matrix cells corresponding to these objects are constructed for the sentences of the text array and for the sentences of the query, on the basis of which the relevance of the query sentences to the sentences of the text array is calculated. Then, by calculating the arithmetic mean, the relevance of each sentence of the array of text to the entire query is determined. For each document an array of text, based on the relevancy of its sentences, the relevance of the entire document to the query is calculated using statistical indicators.

Ниже приведены определения терминов, используемых в описании.The following are definitions of terms used in the description.

Документ - единица массива текстов, одну или несколько из которых требуется найти пользователю.A document is a unit of an array of texts, one or more of which the user needs to find.

Денотат (интенсионал) - точное однозначное значение слова в контексте.Denotat (intensional) - the exact unambiguous meaning of a word in context.

Объект - предмет или явление окружающего мира, имеющее соответствие в языке как самостоятельное конкретное значение, т.е. разновидность денотата.An object is an object or phenomenon of the surrounding world that has a correspondence in the language as an independent concrete meaning, i.e. variety of denotate.

Предикат - денотат, отличающийся возможностью быть дополненным другими денотатами для получения значения, не имеющий в отличие от объекта сам по себе конкретного значения.A predicate is a denotate, characterized by the ability to be supplemented by other denotates to obtain a value, which, unlike an object, does not have a specific value in itself.

Аргументы (актанты) - денотаты, дополняющие предикаты для получения конкретных значений.Arguments (actants) are denotations that supplement predicates to obtain specific values.

Клауза - простое предложение в составе сложного.Clause is a simple sentence as part of a complex.

Референциальные связи - связи, указывающие, что разные выражения подразумевают под собой один и тот же предмет или явление.Referential relationships are relationships that indicate that different expressions mean the same thing or phenomenon.

Семантические связи - связи между денотатами, с помощью которых они образуют единый смысл.Semantic connections are connections between denotations, with the help of which they form a single meaning.

Синтаксические связи - связи между словами в предложении, задаваемые грамматикой языка.Syntactic relations - relations between words in a sentence, defined by the grammar of the language.

Семантический класс - группа денотатов, имеющих одинаковые возможности по установлению семантических связей.The semantic class is a group of denotations that have the same ability to establish semantic relationships.

Индексирование - предварительная обработка массива текстов, позволяющая затем более быстро осуществлять поиск.Indexing - preprocessing an array of texts, which then allows for faster searches.

Релевантность - величина в диапазоне от 0 до 1, характеризующая степень соответствия фрагмента текста запросу.Relevance - a value in the range from 0 to 1, characterizing the degree of correspondence of a fragment of text to a request.

Инвертированный индекс - структура данных, в которой перечислены некоторые элементы коллекции документов, а для каждого из них перечислены все места, где они встречаются.An inverted index is a data structure that lists some elements of a collection of documents, and for each of them lists all the places where they occur.

Структура - составной тип данных, включающий в себя набор элементов определенного типа с определенными названиями.Structure - a composite data type, which includes a set of elements of a certain type with specific names.

Курсивом с заглавной буквы написаны названия типов данных, структур, их элементов и их возможных значений.Capitalized in italics are the names of data types, structures, their elements and their possible values.

Способ представления значений слов основывается на следующем. Для анализа должны быть представлены не просто отдельные слова, а конкретные интенсионалы (денотаты) лексем с учетом анафорических выражений, причем каждая лексема должна быть определена одновременно, как конкретный экстенсионал, либо как атрибутивное или автономное использование. В случае диффузного значения, либо употребления лексемы сразу в нескольких значениях требуется проводить анализ отдельно для каждого интенсионала.The way of representing the meanings of words is based on the following. For analysis, not just separate words, but specific intensions (denotations) of lexemes should be presented taking into account anaphoric expressions, and each lexeme should be defined at the same time, as a specific extensional, or as an attributive or autonomous use. In the case of a diffuse value, or the use of a token in several values at once, it is necessary to conduct an analysis separately for each intensional.

Составляющие значения делятся на объекты и предикаты. Объекты и предикаты делятся на элементарные (базовые) и составные. Базовых предикатов существует ограниченное количество, объектов и составных предикатов - неограниченное. Предикаты имеют аргументы (актанты), объекты их не имеют. Составные предикаты могут включать в свой состав объекты. Объекты делятся на семантические классы, причем один объект может принадлежать нескольким семантическим классам, имеющим иерархии, притом существует несколько разных иерархий, начиная с разных семантических классов. Объекты имеют иерархии аналогично семантическим классам. Аргументами предиката могут быть другие объекты и предикаты, причем для конкретного аргумента должен быть задан тип - объект или предикат, и если объект, то указан его семантический класс, при этом допускаются объекты всех нижестоящих в иерархии семантических классов. Предикаты могут быть вложенными как аргументы других предикатов неограниченное количество раз. Аргументы составного предиката делятся на основные и дополнительные. Число основных аргументов равно числу неуказанных аргументов всех вложенных предикатов. Дополнительные аргументы составляют объекты в составе предиката, которые могут быть заменены на нижестоящие в иерархии. Составной предикат со всеми указанными основными аргументами может рассматриваться как объект, а может как предикат с использованием только дополнительных аргументов. В качестве аргументов-объектов могут выступать также универсальный и пустой объект, а также в качестве аргументов-объектов вложенного предиката могут выступать ссылки на аргументы рассматриваемого предиката. Некоторые базовые предикаты имеют числовые аргументы. Составляющие значения могут объединяться не только предикатами, но и конъюнкциями и дизъюнкциями, такое объединение записывается в конъюнктивной нормальной форме, притом конъюнктивные члены делятся на дифференциальные и характеристические. При выполнении конъюнкции или записи одиночного предиката должно быть указано, является ли он дифференциальным или характеристическим конъюнктивным членом. Дизъюнкция возможна либо между двумя дифференциальными, либо между двумя характеристическими членами. Любой объект или предикат может иметь отрицание, притом отрицание бывает либо логическим (полным), либо лингвистическим. Лингвистическое отрицание отрицает только дифференциальные составляющие (для составных предикатов дизъюнктивные члены в конъюнктивной нормальной форме). При преобразовании объектов предикатами с указанием всех аргументов и при переходе по иерархии объектов возможно взаимное преобразование дифференциальных и характеристических составляющих. Объекты имеют признаки, присоединяемые предикатами. Признаки также делятся на дифференциальные и характеристические. Набор признаков определяет принадлежность объекта к семантическому классу.Component values are divided into objects and predicates. Objects and predicates are divided into elementary (basic) and composite. There are a limited number of basic predicates; objects and compound predicates are unlimited. Predicates have arguments (actants), objects do not. Compound predicates can include objects. Objects are divided into semantic classes, moreover, one object can belong to several semantic classes having hierarchies, moreover, there are several different hierarchies, starting from different semantic classes. Objects have hierarchies similar to semantic classes. Other objects and predicates can be arguments of a predicate, moreover, for a particular argument a type must be specified - an object or a predicate, and if an object, then its semantic class is specified, while objects of all children in the hierarchy of semantic classes are allowed. Predicates can be nested as arguments to other predicates an unlimited number of times. The arguments of a compound predicate are divided into primary and secondary. The number of main arguments is equal to the number of unspecified arguments of all nested predicates. Additional arguments are objects in the predicate that can be replaced by children in the hierarchy. A compound predicate with all the specified main arguments can be considered as an object, or as a predicate using only additional arguments. The universal and empty objects can also serve as object arguments, and references to the arguments of the considered predicate can also serve as object arguments of a nested predicate. Some basic predicates have numerical arguments. Component values can be combined not only by predicates, but also by conjunctions and disjunctions, such a union is written in conjunctive normal form, moreover, conjunctive terms are divided into differential and characteristic ones. When performing a conjunction or writing a single predicate, it must be indicated whether it is a differential or characteristic conjunctive member. Disjunction is possible either between two differential or between two characteristic terms. Any object or predicate can have a negation, moreover, the negation can be either logical (complete) or linguistic. Linguistic negation negates only differential components (for compound predicates, disjunctive terms in conjunctive normal form). When transforming objects with predicates indicating all arguments, and when navigating through the hierarchy of objects, mutual conversion of differential and characteristic components is possible. Objects have attributes joined by predicates. Signs are also divided into differential and characteristic. A set of features determines the belonging of an object to a semantic class.

При этом под объектами подразумевается все, что означает предмет или явление вне зависимости от того, что семантическая роль может соответствовать субъекту. В их число, таким образом, попадают существительные, обозначающие предмет или явление, местоимения, заменяющие существительные, в ряде случаев числительные, если они указывают просто число, а не количество предметов. Главным отличием лексемы объекта является наличие конкретного значения самого по себе. Конкретным является такое значение, какое можно представить или изобразить в какой-либо форме (не обязательно в визуальной, возможны аудиальный, эмоциональный и т.п. смыслы), не прибегая к метафоре или метонимии. Те же денотаты, что требуют дополнения другими денотатами для получения конкретного значения, относятся к предикатам. В их число попадают существительные, не имеющие определенного значения и служащие для детализации значений других существительных (например, слово часть), глаголы, прилагательные и причастия, наречия, порядковые числительные и числительные, обозначающие количество предметов. Особые части речи, как деепричастия, в эту классификацию не входят, для их интерпретации требуется грамматическая перестройка фразы с использованием других частей речи, что для таких частей речи всегда возможно.At the same time, objects mean everything that an object or phenomenon means, regardless of the fact that the semantic role can correspond to the subject. Thus, they include nouns denoting an object or phenomenon, pronouns that replace nouns, in some cases numerals, if they indicate simply the number, not the number of objects. The main difference between the object's token is the presence of a specific meaning in itself. Specific is a meaning that can be imagined or depicted in any form (not necessarily in visual, there may be emotional, emotional, etc. meanings) without resorting to metaphor or metonymy. The same denotations that require the addition of other denotations to obtain a specific value relate to predicates. These include nouns that do not have a specific meaning and serve to refine the meaning of other nouns (for example, the word part), verbs, adjectives and participles, adverbs, ordinal numbers and numerals that indicate the number of objects. Special parts of speech, like participles, are not included in this classification, for their interpretation a grammatical restructuring of the phrase using other parts of speech is required, which is always possible for such parts of speech.

Характерной чертой базового предиката является абсолютно абстрактное значение, применимое к любой теме, т.е., например, в то время как образование относительного и качественного прилагательного от существительного являются разными базовыми предикатами, конкретный тип относительного прилагательного (время, материал и т.п.) уже не может задаваться самим базовым предикатом, такие характеристики могут быть только аргументами (объектами). Иерархии объектов при этом отражают тот факт, что нижестоящий по иерархии объект является разновидностью объекта, стоящего выше по иерархии, при этом он наследует признаки последнего, но с возможным переходом дифференциальных признаков в характеристические, а также может иметь свои собственные признаки.A characteristic feature of a basic predicate is an absolutely abstract meaning, applicable to any topic, i.e., for example, while the formation of a relative and qualitative adjective from a noun is different basic predicates, a specific type of relative adjective (time, material, etc. ) can no longer be specified by the basic predicate itself, such characteristics can only be arguments (objects). In this case, the hierarchies of objects reflect the fact that an object downstream in the hierarchy is a type of object that is higher in the hierarchy, while it inherits the attributes of the latter, but with the possible transition of differential attributes into characteristic ones, and may also have its own characteristics.

Базовые предикаты с числовыми аргументами применяются при описании недискретных объектов, как сами числа или цвета.Basic predicates with numeric arguments are used when describing non-discrete objects, like numbers or colors themselves.

Если распознаны денотаты, а также семантические и референциальные связи, то возможно построение связей в клаузах. Для этого лексемы-объекты становятся аргументами лексем-предикатов, при соблюдении семантических классов, т.е. так, чтоб объекты имели соответствующие предикатам признаки. Связи считаются простроенными, если указаны все аргументы всех предикатов. Применение предикатов к объектам в клаузе создает ситуационные объекты, притом они могут использовать нечеткие дизъюнкцию, конъюнкцию и отрицания, преобразования выполняются по правилам нечеткой логики.If denotations are recognized, as well as semantic and referential connections, then it is possible to build links in clauses. To do this, object tokens become arguments of predicate tokens, subject to semantic classes, i.e. so that the objects have signs corresponding to predicates. Relationships are considered constructed if all arguments of all predicates are specified. Applying predicates to objects in a clause creates situational objects, moreover, they can use fuzzy disjunction, conjunction and negations, transformations are performed according to the rules of fuzzy logic.

В качестве примера осуществления предлагаемого способа необходимо рассмотреть систему поиска, позволяющую находить эквивалентные по смыслу выражения. Для этого требуется использовать семантический анализатор, дающий на выходе точные значения (денотаты) всех слов в предложении и структуру семантических связей между ними. При этом в пределах клауз семантические связи должны быть описаны с помощью базовых предикатов, принятых в системе. Сама задача поиска при этом разделяется на две части: предварительная обработка (индексирование) текста и сам процесс поиска при поступлении запросов. Индексирование требуется один раз для заданного массива текстов, после чего может обрабатываться неограниченное количество поисковых запросов. Индексирование состоит из следующего:As an example of the implementation of the proposed method, it is necessary to consider a search system that allows you to find equivalent in meaning expressions. This requires the use of a semantic analyzer that gives the exact meaning (denotation) of all words in a sentence and the structure of semantic relations between them. Moreover, within clauses, semantic relations should be described using basic predicates adopted in the system. The search task itself is divided into two parts: preliminary processing (indexing) of the text and the search process itself when requests are received. Indexing is required once for a given array of texts, after which an unlimited number of search queries can be processed. Indexing consists of the following:

1. Семантический анализ всего текста. Результатом являются установленные по словарю денотаты лексем и семантические связи между ними.1. Semantic analysis of the entire text. The result is lexeme denotation dictionary definitions and semantic relationships between them.

2. Подстановка вместо денотатов их разложения на элементарные значения по тезаурусу. Если лексема не найдена в словаре семантическим анализатором, либо значению лексемы в контексте не подходит ни один семантический класс, то лексема считается неделимым объектом с возможными дополнениями базовыми предикатами для обеспечения синтаксической роли, и далее приравнивается ко всем одинаковым по начальной форме лексемам с неизвестным семантическим классом. Итогом является единый базовый предикат с вложенными объектами и другими базовыми предикатами для каждой клаузы.2. Substitution instead of denotations of their decomposition into elementary values according to the thesaurus. If the lexeme is not found in the dictionary by the semantic analyzer, or no semantic class is suitable for the lexeme in the context, then the lexeme is considered an indivisible object with possible additions of basic predicates to ensure a syntactic role, and then it is equivalent to all tokens identical in initial form with an unknown semantic class . The result is a single basic predicate with nested objects and other basic predicates for each clause.

3. Выделение списка объектов для каждого предложения и построение матрицы, где и набор строк, и набор столбцов составляют объекты, присутствующие в предложении. Итогом является указанная матрица для каждого предложения, причем в ячейках содержатся массивы структур следующего вида3. Selecting a list of objects for each sentence and constructing a matrix, where both the set of rows and the set of columns are the objects present in the proposal. The result is the indicated matrix for each sentence, and the cells contain arrays of structures of the following form

Связь объектов {Object Link {

Подуровни предикатов [массив] предикаты первого объекта;Predicate sublevels [array] predicates of the first object;

Подуровни предикатов [массив] предикаты второго объекта;Predicate sublevels [array] predicates of the second object;

Подуровни предикатов [массив] общие предикаты;Predicate sublevels [array] general predicates;

Тип объединения объектов;Type of association of objects;

Отрицание <отрицание первого объекта>, <отрицание второго объекта>;Negation <negation of the first object>, <negation of the second object>;

номера аргументов текущего предиката;argument numbers of the current predicate;

имя предиката;predicate name;

}}

где Подуровни предикатов - также структура следующего вида: Подуровни предикатов {where Predicate sublevels is also a structure of the following form: Predicate sublevels {

имя предиката;predicate name;

номер аргумента;argument number

отрицание на предикате;negation on the predicate;

}}

Предикаты первого объекта, Предикаты второго объекта и Общие предикаты составляют массивы структур Подуровней предикатов. Первые два представляют собой вложенные предикаты, аргументами которых являются первый и второй объект соответственно, для некоторого (текущего) предиката, вложенными подаргументами которого являются оба объекта. Общие предикаты - перечень всех вложенных предикатов по отношению к главному предикату клаузы, по отношению к которому объединяющий два объекта (текущий) предикат является следующим по уровню вложения. Таким образом, в первых трех элементах структуры хранится информация о наименованиях и номерах аргументов предикатов, определяющих путь по вложенным предикатам до обоих объектов. Тип объединения объектов принимает одно из четырех значений:The predicates of the first object, the Predicates of the second object, and General predicates make up the arrays of the structures of the Predicate sublevels. The first two are nested predicates, the arguments of which are the first and second objects, respectively, for some (current) predicate, the nested sub-arguments of which are both objects. General predicates - a list of all nested predicates with respect to the main clause predicate, with respect to which the (current) predicate combining two objects is the next in terms of nesting level. Thus, in the first three elements of the structure information is stored on the names and numbers of the arguments of the predicates that determine the path by the nested predicates to both objects. The type of union of objects takes one of four values:

- совместные аргументы текущего предиката;- joint arguments of the current predicate;

- конъюнкция;- conjunction;

- дизъюнкция;- disjunction;

- сам объект.- the object itself.

Тип Совместные аргументы текущего предиката означает, что оба объекта объединяются по уровням вложения на некотором базовом (текущем) предикате, разными аргументами которого они являются. Это означает, что либо объекты являются сами аргументами одного базового предиката, либо в качестве одного или обоих таких аргументов выступает некоторый базовый предикат, в одном из дальнейших уровней вложения которого оказывается соответствующий объект. Информацию о предикатах на уровнях вложения содержат описанные выше массивы структуры Подуровни предикатов. Значение Сам объект означает, что речь идет о рассмотрении диагональной ячейки, роль которой состоит просто в установлении наличия объекта, а не связей его с другими объектами, для которой Предикаты первого объекта, Предикаты второго объекта не имеют смысла, но сохраняют свой смысл Общие предикаты. Значения Дизъюнкция и Конъюнкция означают соответственно объединение объектов дизъюнкцией и конъюнкцией.The Joint arguments type of the current predicate means that both objects are combined according to the levels of attachment on some basic (current) predicate, of which they are different arguments. This means that either the objects themselves are the arguments of one basic predicate, or one or both of these arguments is some basic predicate, in one of the further levels of embedding of which the corresponding object appears. Information about predicates at nesting levels is contained in the arrays of predicate sublevels described above. The value The object itself means that we are talking about considering a diagonal cell, the role of which is simply to establish the presence of the object, and not its connections with other objects, for which the predicates of the first object, the predicates of the second object do not make sense, but General predicates retain their meaning. The values Disjunction and Conjunction mean, respectively, the union of objects by disjunction and conjunction.

Отрицание первого объекта и Отрицание второго объекта содержат информацию, имеет ли каждый из объектов на себе отрицание. Как уже говорилось, отрицание бывает двух типов, из чего следует, что Отрицание может иметь три значения: Отрицание отсутствует, Лингвистическое отрицание, Логическое отрицание. Элемент Номера аргументов текущего предиката содержит два целых числа и используется только в случае, если Тип объединения объектов имеет значение Совместные аргументы текущего предиката. Эти два числа указывают, по каким аргументам текущего предиката содержатся оба объекта соответственно. Имя предиката обозначает тип текущего предиката.The negation of the first object and the Negation of the second object contain information on whether each of the objects has negation on it. As already mentioned, negation is of two types, from which it follows that Negation can have three meanings: Negation is absent, Linguistic negation, Logical negation. The Argument Numbers element of the current predicate contains two integers and is used only if the Combination Type of the objects is set to Joint arguments of the current predicate. These two numbers indicate which arguments of the current predicate contain both objects, respectively. The predicate name indicates the type of the current predicate.

Смысл массива структур в том, что каждая структура отражает только одну связь между объектами, в то время как в предложении одни и те же пары объектов могут быть связаны несколько раз. Каждый элемент массива соответствует одной связи соответственно, если объекты связаны один раз, то используется один элемент.The meaning of the array of structures is that each structure reflects only one connection between objects, while in a sentence the same pairs of objects can be connected several times. Each element of the array corresponds to one connection, respectively, if the objects are connected once, then one element is used.

Таким образом, в матрице описаны связи между всеми парами объектов, входящих в предложение.Thus, the matrix describes the relationships between all pairs of objects included in the proposal.

4. Построение инвертированного индекса по содержащимся в тексте объектам, где для каждого объекта указано, во-первых, встречается ли он и сколько раз в документе, а во-вторых, встречается ли он и сколько раз в каком предложении. В итоге сохраняются описанные в п.3 матрицы для каждого предложения и инвертированный индекс.4. The construction of the inverted index on the objects contained in the text, where for each object it is indicated, firstly, whether it appears and how many times in the document, and secondly, whether it appears and how many times in which sentence. As a result, the matrices described in Section 3 for each sentence and the inverted index are saved.

После проведения индексирования возможен поиск. Он состоит из следующего:After indexing, a search is possible. It consists of the following:

1. Семантический анализ запроса. Результатом являются установленные по словарю денотаты лексем запроса и семантические связи между ними. Аналогично п.1 для индексирования.1. Semantic analysis of the request. The result is a denotation dictionary of query tokens established in the dictionary and semantic relations between them. Similar to item 1 for indexing.

2. Подстановка вместо денотатов запроса их разложения на элементарные значения по тезаурусу. Итогом является единый базовый предикат с вложенными объектами и другими базовыми предикатами для каждой клаузы запроса. Аналогично п.2 для индексирования.2. Substitution instead of denotations of the request for their decomposition into elementary values according to the thesaurus. The result is a single basic predicate with nested objects and other basic predicates for each query clause. Similar to item 2 for indexing.

3. Построение матрицы для каждого предложения запроса, описанной в п.3 для индексирования.3. Construction of a matrix for each sentence of the request described in clause 3 for indexing.

4. Поиск по тезаурусу объектов, имеющих связи с объектами запроса, т.е. способные к взаимному преобразованию с использованием предикатов и других объектов. Для этого используется специальный список, содержащий не пути преобразования между объектами, а численно выраженное в диапазоне от 0 до 1 значение корреляции между объектами. Имеющими связь признаются объекты, имеющие уровень корреляции выше заданного порогового значения, определяемого выбранным режимом соотношения скорости и точности поиска. Т.е. чем выше скорость, тем больше пороговое значение и тем меньше связанных объектов выбирается. При наибольшей точности и наименьшей скорости можно использовать все объекты, для которых значение корреляции больше нуля. Результатом является список объектов самого предложения и связанных с ними объектов.4. Search by the thesaurus of objects that have connections with query objects, i.e. capable of mutual transformation using predicates and other objects. For this, a special list is used that contains not the conversion paths between objects, but the correlation value between the objects numerically expressed in the range from 0 to 1. Associated objects are those having a correlation level above a predetermined threshold value determined by the selected mode of correlation of speed and search accuracy. Those. the higher the speed, the higher the threshold value and the less related objects are selected. With the greatest accuracy and the lowest speed, you can use all objects for which the correlation value is greater than zero. The result is a list of objects in the proposal itself and related objects.

5. Все объекты предложения и связанные с ними объекты ищутся в инвертированном индексе и, таким образом, отбираются нужные документы и предложения. В режиме высокой точности и низкой скорости отбираются все документы, где хотя б один объект из запроса или связанный объект встречается хотя б один раз. В режимах более высокой скорости выбираются только документы и предложения, где встречается достаточное количество объектов достаточное количество раз, что определяется по любой заданной заранее формуле (например, среднее арифметическое или любым другим образом усредненная величина значений частоты объектов в документе или предложении, отнесенных к частоте тех же объектов во всем массиве текстов, либо указанное значение, взвешенно суммированное с долей объектов запроса, входящих в документ или предложение, либо использование отдельных пороговых значений для этих двух критериев). Результатом являются выбранные документы и предложения в них.5. All objects of the proposal and related objects are searched in the inverted index and, thus, the necessary documents and proposals are selected. In the high accuracy and low speed mode, all documents are selected where at least one object from the request or a related object occurs at least once. In higher speed modes, only documents and sentences are selected where a sufficient number of objects are found enough times, which is determined by any predetermined formula (for example, the arithmetic average or in any other way averaged value of the frequency of objects in a document or sentence related to the frequency of those the same objects in the entire array of texts, or the specified value, weightedly summed up with the proportion of request objects included in the document or proposal, or use separately threshold values for these two criteria). The result is the selected documents and proposals in them.

6. Для всех объектов всех отобранных предложений текста устанавливается их соответствие с объектами запроса. Это соответствие может быть двух типов: либо объекты совпадают, либо путем использования базовых предикатов и других объектов один объект можно преобразовать в другой. Для получения преобразуемых объектов должны совпасть связанные с объектами запроса объекты и встречающиеся в предложении объекты. Результатом является матрица соответствий между объектами. В ячейках содержатся структуры:6. For all objects of all selected text sentences, their correspondence with the request objects is established. This correspondence can be of two types: either objects coincide, or by using basic predicates and other objects, one object can be transformed into another. To receive the objects to be converted, the objects associated with the request objects and the objects encountered in the proposal must match. The result is a correspondence matrix between objects. The cells contain the following structures:

Соответствие объектов {Matching Objects {

Наличие связи;The presence of communication;

Совпадение;Coincidence;

Подуровни предикатов [массив] преобразующие предикаты;Predicate sublevels [array] transforming predicates;

}}

Первый элемент булевского типа указывает на наличие связи между объектами, если его значение равно истине, то второй элемент также булевского типа указывает на факт совпадения, и если его значение не равно истине, то в третьем элементе, описанным в п.3 образом, содержится информация о преобразовании между объектами. При этом, если объекты связаны иерархией, связь строится в виде одного элемента массива Преобразующие предикаты, в котором отражено, что они связаны иерархией. Смысл элемента Совпадение состоит в том, что при истинном значении он позволяет установить соответствие номеров столбцов и строк матриц предложений запроса и предложений текста, поскольку номера строк и столбцов для одних и тех же объектов в обоих матрицах вполне могут различаться.The first element of the Boolean type indicates the existence of a connection between objects, if its value is true, then the second element of the Boolean type indicates the fact of coincidence, and if its value is not true, then the third element, described in Section 3, contains information about conversion between objects. In this case, if the objects are connected by a hierarchy, the relationship is built in the form of one element of the array Transforming predicates, which reflects that they are connected by a hierarchy. The meaning of the Match element is that, with a true value, it allows you to establish the correspondence of the column and row numbers of the query sentence matrices and text sentences, since the row and column numbers for the same objects in both matrices may well differ.

7. Для всего декартова произведения выбранных предложений массива текстов и предложений запроса попарно считается отображение описанных в п.3 матриц. Для этого используются описанные в п.6 отображения между объектами. Для заданной пары предложений для каждой структуры в каждой ячейке в матрице объектов из предложения запроса и для каждой пары связанных с ними объектов ищется соответствующая пара объектов в предложении массива текстов. Между парами одних и тех же объектов рассчитывается релевантность отображения структур, описанных в п.3. При этом используются все элементы структуры Связь объектов. Если массив соответствующей ячейки и в предложении запроса, и в предложении текста имеет более одного элемента, то вычисляются релевантности для всего декартова произведения тех и других структур. Во-первых, сравнивается значение Имя предиката. Если оно совпадает, то релевантность этого элемента считается равной 1, т.е. полной. Если не совпадает, то используется таблица корреляции между базовыми предикатами, и из этой таблицы берется некоторое значение от 0 до 1, отражающее корреляцию соответствующих предикатов. Затем сравниваются Номера аргументов текущего предиката. Их релевантность берется равной единице в случае совпадения и меньшей при несовпадении, точно также по таблице, отражающей корреляции между аргументами предикатов. Затем сравниваются Отрицание первого объекта и Отрицание второго объекта. Точно также полная релевантность соответствует совпадению - частичная таблице корреляций между отрицаниями. Аналогично используется Тип объединения объектов, т.е. либо полная релевантность при совпадении, либо корреляция.7. For the entire Cartesian product of the selected sentences of the array of texts and query sentences, the display of the matrices described in Section 3 is considered in pairs. For this, the mappings between objects described in Section 6 are used. For a given pair of sentences for each structure in each cell in the object matrix from the query sentence and for each pair of objects associated with them, the corresponding pair of objects is searched in the text array sentence. Between pairs of the same objects, the relevance of the mapping of the structures described in clause 3 is calculated. In this case, all the elements of the Object Link structure are used. If the array of the corresponding cell in both the query sentence and the text sentence has more than one element, then the relevances for the entire Cartesian product of those and other structures are calculated. First, the predicate name value is compared. If it matches, then the relevance of this element is considered equal to 1, i.e. complete. If it does not match, then the correlation table between the basic predicates is used, and a certain value from 0 to 1 is taken from this table, which reflects the correlation of the corresponding predicates. Then, the argument numbers of the current predicate are compared. Their relevance is taken equal to unity in case of coincidence and less in case of mismatch, just as in the table reflecting the correlations between the arguments of the predicates. Then the Negation of the first object and the Negation of the second object are compared. Likewise, full relevance corresponds to coincidence - a partial correlation table between negatives. Similarly, the type of combining objects either full relevance when matching, or correlation.

При анализе отображения всех трех массивов Подуровни предикатов в первую очередь определяется кодовое расстояние между ними. Т.е. для каждого из них определяется наименьшее количество замен, модификаций, исключений и добавлений предикатов, необходимое для преобразования одного в другое. Под модификацией подразумевается изменение номера идущего далее аргумента или отрицания. Для вычисления кодового расстояния в режиме высокой точности и низкой скорости следует применять алгоритмы, обеспечивающие полную достоверность, а в режимах, начиная с определенной скорости, возможно применение алгоритмов, дающих достоверное кодовое расстояние лишь с некоторой вероятностью (т.н. рандомизированные алгоритмы). Полное соответствие означает релевантность элемента, равную 1, замены предиката снижают релевантность в соответствии с корреляцией между соответствующими предикатами, модификации в соответствии с корреляциями между аргументами, исключение и добавление - на некоторую, заданную для конкретного предиката величину. При этом особую ситуацию представляют собой модификации отрицания. Если отрицание встречается многократно, то релевантность может повышаться, т.е., во-первых, учитываются отрицания непосредственно на объектах, а во-вторых, на каждом из вложенных предикатов. Если в ячейке матрицы для предложения текста и для предложения запроса отрицания встречаются одинаково четное или одинаково нечетное количество раз, то релевантность будет выше, чем если в одном случае четное, а в другом - нечетное. Но при этом учитывается, сколько и каких предикатов разделяют отрицания, т.е. чем дальше по сопоставленным по кодовому расстоянию встречаются соответствующие для текста и запроса отрицания, тем ниже релевантность, даже если отрицаний одинаковое количество. Это снижение релевантности определяется по таблице значений, заданных для каждого предиката. Если в тексте, либо в запросе встречается больше отрицаний, то если несопоставленных отрицаний четное количество, то аналогично при подсчете релевантностей учитывается количество разделяющих предикатов в соответствии с заданными для них значениями, а если нечетное количество, то приписывается заданная низкая релевантность, устанавливаемая при наличии непарного несопоставленного отрицания. При этом, если используется не объект, входящий в запрос, а связанный с ним объект, то для предикатов соответствующего объекта к имеющемуся массиву Предикаты первого объекта или Предикаты первого объекта добавляются Преобразующие предикаты, и релевантность рассчитывается с учетом их наличия в цепочке, но при этом в образованной слиянием массивов цепочке возможно исключение следующих подряд предикатов, выполняющих противоположные преобразования (например, субстантивизация глагола и далее вербализация существительного). Итоговая релевантность для соответствующих элементов может определяться как произведение всех величин, меньших 1, с домножением на релевантность соответствия отрицаний, либо по любой другой формуле. Полученные релевантности для всех элементов структуры по некоторой заданной заранее формуле (например, частично взвешенное суммирование и частично перемножение) пересчитываются в единую релевантность отображения соответствующих ячеек двух матриц. При этом в указанной формуле, например, Предикаты первого объекта с Общими предикатами и Предикаты второго объекта с Общими предикатами по полученной для них релевантности могут перемножаться, а затем эти две величины суммироваться с весами, пропорциональными величине, обратной частоте каждого из объектов в массиве текстов. Аналогично, например, релевантности отрицаний для двух объектов могут взвешенно суммироваться тем же способом, а затем быть общим множителем для релевантности всей пары структур.When analyzing the mapping of all three arrays of the Predicate sublevels, the code distance between them is determined first. Those. for each of them the smallest number of replacements, modifications, exceptions and additions of predicates is required, which is necessary for converting one into another. By modification is meant a change in the number of the argument or negation that follows. To calculate the code distance in high accuracy and low speed mode, algorithms should be used that provide complete reliability, and in modes starting from a certain speed, it is possible to use algorithms that give a reliable code distance with only a certain probability (the so-called randomized algorithms). Full correspondence means the relevance of an element is 1, predicate substitutions reduce relevance in accordance with the correlation between the corresponding predicates, modifications in accordance with the correlations between the arguments, exclusion and addition - by some value specified for a particular predicate. Moreover, a special situation is represented by modifications of denial. If negation occurs many times, then relevance can increase, i.e., firstly, negatives are taken into account directly on objects, and secondly, on each of the embedded predicates. If in a matrix cell for a sentence of a text and for a sentence of a query of negation there are the same even or equally odd number of times, then the relevance will be higher than if in one case it is even and in another - odd. But this takes into account how many and what predicates denials share, i.e. the farther across the code distance matched by the code distance the negatives corresponding to the text and request are, the lower the relevance, even if the number of negatives is the same. This reduction in relevance is determined by the table of values specified for each predicate. If there are more negatives in the text or in the query, then if there are an even number of negated negatives, then the number of separating predicates in accordance with the values set for them is taken into account when calculating the relevances, and if the odds are odd, the assigned low relevance is assigned, which is established in the presence of unpaired unmatched negation. In this case, if not the object included in the query is used, but the object associated with it, then for the predicates of the corresponding object, the Transforming predicates are added to the existing array of Predicates of the first object or Predicates of the first object, and the relevance is calculated taking into account their presence in the chain, but in a chain formed by merging arrays, it is possible to exclude the following consecutive predicates that perform opposite transformations (for example, substantivization of a verb and then verbalization of a noun). The final relevance for the corresponding elements can be defined as the product of all quantities less than 1, multiplied by the relevance of the correspondence of negatives, or by any other formula. The obtained relevance for all structural elements according to some predetermined formula (for example, partially weighted summation and partially multiplication) are recalculated into a single relevance of the mapping of the corresponding cells of the two matrices. Moreover, in the indicated formula, for example, the Predicates of the first object with General predicates and the Predicates of the second object with General predicates can be multiplied according to the relevance obtained for them, and then these two quantities can be summed with weights proportional to the inverse frequency of each of the objects in the text array. Similarly, for example, the relevance of negatives for two objects can be weighted summarized in the same way, and then be a common factor for the relevance of the whole pair of structures.

8. Для заданной пары предложений все вычисленные для отдельных структур ячеек релевантности сводятся к общей. При этом основой служат входящие в запрос объекты. Т.е. для каждой связи каждой пары объектов запроса вычисляется их релевантность для соответствующего предложения текста. Если связь пары объектов запроса встречается в предложении текста, то берется значение релевантности по ним. Если для объектов запроса в тексте встречаются связанные с ними объекты, то также используется рассчитанная для них вероятность с учетом поправок на необходимые для преобразования предикаты, как описано в п.7. Если возможны оба варианта, притом несколько раз, то устанавливается некоторая итоговая, вычисленная по некоторой заданной формуле (например, максимум релевантности или единица минус произведение разностей единицы и релевантностей) релевантность для пары объектов запроса, которую описанным в п.7 способом можно найти в предложении текста. Если пара объектов запроса не присутствует в тексте ни в каком виде, то релевантность для этой ячейки считается равной нулю. Если и в запросе, и в предложении текста структура встречается несколько раз, т.е. массив структур для ячейки содержит более одного элемента, то для сопоставления используются те структуры в предложении текста, что обеспечивают для каждой структуры из предложения запроса наибольшую релевантность, т.е. сопоставление происходит по принципу наибольшей релевантности. Если массив ячейки в запросе длиннее, то для оставшихся структур, которым по принципу наибольшей релевантности не было сопоставлено ни одной структуры в предложении текста, релевантность считается равной нулю. После чего считается общая релевантность матрицы предложения запроса, для чего релевантности, полученные описанным образом для структур ячеек матрицы предложения запроса, взвешенно суммируются. Вес каждой такой ячейки определяется значением элемента Общие предикаты, т.е. положением пары объектов по отношению к главному предикату клаузы. Вес определяется по типам и номерам аргументов вложенных предикатов, исходя из заранее заданных значений, притом вес тем больше, чем меньше элементов в массиве Общие предикаты, т.е. чем ближе ячейка к главному предикату клаузы. При этом, естественно, если структура в ячейке встречается несколько раз, то вес для этих структур будет одинаковым. Возможны дополнительные факторы, влияющие на вес ячейки, например, вес диагональных ячеек, указывающих только на наличие объектов, может корректироваться на определенную величину. Результатом оказываются значения релевантностей для каждой пары предложений запроса и выбранных предложений массива текстов.8. For a given pair of sentences, all the relevance factors calculated for individual cell structures are reduced to a common one. The basis for this is the objects included in the request. Those. for each relationship of each pair of query objects, their relevance to the corresponding text sentence is calculated. If the relationship of a pair of query objects occurs in a text sentence, then the relevance value for them is taken. If related objects are found for query objects in the text, then the probability calculated for them is also used, taking into account corrections for the predicates necessary for the transformation, as described in clause 7. If both options are possible, moreover, several times, then some final one is established, calculated according to some given formula (for example, maximum relevance or unit minus the product of differences of unity and relevance) relevance for a pair of query objects, which can be found in the sentence using the method described in clause 7 text. If a pair of query objects is not present in the text in any form, then the relevance for this cell is considered equal to zero. If both in the query and in the sentence of the text the structure occurs several times, i.e. Since the array of structures for a cell contains more than one element, those structures in the text sentence are used for comparison, which ensure the highest relevance for each structure from the query sentence, i.e. the comparison is based on the principle of greatest relevance. If the cell array in the query is longer, then for the remaining structures, which, by the principle of the highest relevance, did not match any structures in the text sentence, the relevance is considered equal to zero. After that, the general relevance of the query proposal matrix is considered, for which the relevances obtained in the described manner for the cell structures of the query proposal matrix are weighted summarized. The weight of each such cell is determined by the value of the General predicates element, i.e. position of a pair of objects with respect to the main clause predicate. The weight is determined by the types and numbers of arguments of nested predicates, based on predefined values, moreover, the more weight, the less elements in the General predicates array, i.e. the closer the cell is to the main clause predicate. In this case, of course, if the structure in the cell occurs several times, then the weight for these structures will be the same. There may be additional factors affecting the weight of the cell, for example, the weight of the diagonal cells, indicating only the presence of objects, can be adjusted by a certain amount. The result is the relevance values for each pair of query sentences and selected sentences in the text array.

9. Для каждого выбранного предложения массива текстов вычисляется среднее арифметическое по всем предложениям запроса, что считается релевантностью каждого выбранного предложения массива текстов запросу.9. For each selected sentence of the array of texts, the arithmetic average of all sentences of the query is calculated, which is considered the relevance of each selected sentence of the array of texts to the query.

10. Для каждого из выбранных документов берутся релевантности каждого его предложения запросу. Если предложение документа не вошло в выбранные в п.5, то его релевантность запросу считается равной нулю. Исходя из этих значений для каждого документа вычисляются следующие показатели:10. For each of the selected documents, the relevance of each of its proposals to the request is taken. If the proposal of the document is not included in those selected in clause 5, then its relevance to the request is considered equal to zero. Based on these values for each document, the following indicators are calculated:

- среднее арифметическое релевантности предложений;- the arithmetic mean of the relevance of the proposals;

- наибольшее значение релевантности среди всех предложений;- the highest relevance value among all proposals;

- значение диапазона релевантности, в который попадает наибольшее число предложений;- the value of the relevance range into which the greatest number of sentences falls;

- значение порога релевантности, выше которого имеется заданное количество предложений.- the value of the relevance threshold above which there is a given number of sentences.

Все эти показатели взвешенно суммируются, из чего вычисляется релевантность документа запросу. Вес каждого из показателей задается настройками пользователя. Также пользователь настраивает размер диапазона для третьего показателя и число предложений по отношению к числу предложений документа для четвертого показателя. Размер диапазона при этом задается либо фиксировано, либо автоматически корректируемым в зависимости от дисперсии релевантностей предложений, а в качестве значения этого параметра в любом случае берется среднее значение диапазона. В итоге рассчитывается релевантность каждого документа запросу, и в порядке снижения релевантности они выдаются в результатах поиска. В дополнение в результатах поиска могут выводиться несколько самых релевантных предложений для каждого документа.All these indicators are weighted summarized, from which the relevance of the document to the query is calculated. The weight of each of the indicators is set by the user settings. The user also sets the size of the range for the third indicator and the number of offers in relation to the number of document offers for the fourth indicator. In this case, the size of the range is either fixed or automatically adjusted depending on the variance of the relevance of the proposals, and in any case, the average value of the range is taken as the value of this parameter. As a result, the relevance of each document to the query is calculated, and in order of decreasing relevance, they are issued in the search results. In addition, some of the most relevant sentences for each document may appear in the search results.

Относительно описанного в п.1 для поиска и для индексирования семантического анализа далее будет приведен один из возможных методов распознавания денотатов. Описанный далее метод будет исходить из уже выполненного синтаксического анализа, результаты которого представлены в виде лексем и синтаксических связей, причем для каждой лексемы определены также граммемы.Relative to that described in paragraph 1 for searching and indexing semantic analysis, one of the possible methods for recognizing denotations will be given below. The method described below will proceed from the parsing that has already been performed, the results of which are presented in the form of tokens and syntactic links, and grammes are also defined for each token.

Согласно предлагаемому способу распознавания денотатов для каждой лексемы задается набор множеств семантических классов. Семантические классы задаются таким образом, что сочетание лексемы и семантического класса однозначно задают денотат. При этом одному денотату могут быть приписаны несколько семантических классов, если последние имеют общие денотаты.According to the proposed denotation recognition method, a set of sets of semantic classes is defined for each token. Semantic classes are defined in such a way that the combination of a lexeme and a semantic class uniquely defines a denotation. At the same time, several semantic classes can be assigned to one denotation, if the latter have common denotations.

В иерархиях семантических классов стоящий выше в иерархии включает в себя все денотаты всех стоящих ниже его в иерархии семантических классов. Иерархий может быть неограниченное количество, один и тот же семантический класс может принадлежать нескольким иерархиям, каждая иерархия имеет один верхний семантический класс, включающий денотаты всех входящих в иерархию семантических классов. Если несколько семантических классов одного множества для одной лексемы находятся в одной иерархии один как разновидность другого, то при дальнейшем рассмотрении множества семантических классов определенного денотата используется только нижний в иерархии семантический класс, несколько семантических классов указывается только если они находятся в параллельных иерархиях.In the hierarchies of semantic classes, the one higher in the hierarchy includes all denotations of all those below it in the hierarchy of semantic classes. There can be an unlimited number of hierarchies, the same semantic class can belong to several hierarchies, each hierarchy has one upper semantic class, including denotations of all semantic classes included in the hierarchy. If several semantic classes of one set for one lexeme are in one hierarchy as a variety of another, then in further consideration of the set of semantic classes of a certain denotation, only the lower semantic class in the hierarchy is used, several semantic classes are indicated only if they are in parallel hierarchies.

Семантический анализ согласно предлагаемому алгоритму использует метод оперирования контекстно-свободными грамматиками и основывается на множестве правил вида

Figure 00000001
, где c1 - семантический класс, входящий в определенное множество набора для первой лексемы, с2 - семантический класс, входящий в определенное множество набора для второй лексемы, syn - тип синтаксической связи, pr - служебное слово в сочетании с граммемами управляемой лексемы, sem - тип семантической связи, с - семантический класс полученной объединенной группы. Согласно предлагаемому алгоритму, как и для синтаксического анализа, возможны нисходящий и восходящий анализ, поиск в ширину и в глубину. При нисходящим анализе для некоторого <с,sem> подбирается лексема с семантическим классом c1, имеющая синтаксическую связь syn и управление pr с некоторым непосредственным составляющим, в результате чего отделяется семантический класс с2, который раскладывается дальше аналогично семантическому классу с. При восходящем анализе выбираются лексемы с семантическими классами c1 и с2, с синтаксической связью syn и управлением pr, в результате чего образуется семантический класс с, который аналогично c1 и с2 объединяется со следующими лексемами. Алгоритмами, применяемыми при синтаксическом анализе, чередуя нисходящий и восходящий анализ, поиск в ширину и в глубину, необходимо достичь объединения семантическими связями sem всех лексем предложения, изначально связанных синтаксическими связями.According to the proposed algorithm, semantic analysis uses the method of operating with context-free grammars and is based on a set of rules of the form
Figure 00000001
, where c1 is the semantic class that is included in the set of the set for the first token, c2 is the semantic class that is included in the set of the set for the second token, syn is the type of syntax, pr is the service word in combination with the grammar of the managed token, sem is the type semantic connection, with - the semantic class of the resulting combined group. According to the proposed algorithm, as for parsing, downward and upward analysis, wide and deep search are possible. In a top-down analysis, for some <c, sem>, a lexeme is selected with the semantic class c1, which has syntactic connection syn and control pr with some immediate components, as a result of which the semantic class c2 is separated, which decomposes further similarly to the semantic class c. In the upward analysis, tokens are selected with the semantic classes c1 and c2, with syn syntax and control pr, resulting in the formation of a semantic class c, which, like c1 and c2, is combined with the following tokens. Algorithms used in parsing, alternating downward and upward analysis, search in width and in depth, it is necessary to achieve the union of semantic links sem all tokens of the sentence, originally connected by syntactic links.

При этом, если встречаются неизвестные слова, то им приписывается неизвестный семантический класс u, при этом возможно

Figure 00000002
и
Figure 00000003
. Если правила не позволяют построить семантические связи в предложении, то делаются попытки приписать и известным словам, крайним случаем может быть, что всем словам приписан неизвестный семантический класс u.Moreover, if unknown words are found, then an unknown semantic class u is assigned to them, while it is possible
Figure 00000002
and
Figure 00000003
. If the rules do not allow building semantic relations in a sentence, then attempts are made to ascribe well-known words, as an extreme case, it may be that an unknown semantic class u is assigned to all words.

По сравнению с известными решениями предлагаемый способ позволяет находить предложения, эквивалентные по смыслу предложениям запроса, даже если то же самое выражено другими словами. Это дает преимущества по сравнению с использованными известными алгоритмами поиска, которые находят только предложения с теми же словами, что и в запросе, либо с очень узкоописанными их синонимами.Compared with known solutions, the proposed method allows you to find sentences that are equivalent in meaning to the sentences of the request, even if the same is expressed in other words. This gives advantages in comparison with the used known search algorithms, which find only sentences with the same words as in the query, or with very narrowly described synonyms of them.

Claims (2)

1. Способ поиска информации в массиве текстов, заключающийся в том, что предварительно выполняют индексирование массива текстов по входящим в него предложениям с распознаванием точных значений слов, входящих в предложения запроса, путем замены их разложением на элементарные значения, которые хранятся для каждого значения в тезаурусе, после чего для каждого предложения запроса строят матрицу, содержащую связи между всеми парами объектов, входящих в предложение, затем выполняют поиск по тезаурусу объектов, имеющих корреляцию с объектам, входящими в запрос, после чего все объекты, входящие в запрос, и коррелирующие объекты находят в инвертированном индексе и на основе его данных из массива текстов отбирают предложения, для которых затем выполняют попарные сопоставления с предложениями запроса, для чего предварительно строят матрицу, отражающую соответствия между входящими в текст объектами и объектами, входящими в запрос, и коррелирующими объектами запроса, затем для объектов, связанных в полученной матрице, сопоставляют значения соответствующих этим объектам ячеек матриц, построенных для предложений массива текстов и для предложений запроса, на основе чего вычисляют релевантность предложений запроса предложениям массива текстов с помощью статистических показателей, затем в порядке снижения релевантности документы массива текстов представляют пользователю как результат поиска.1. A method of searching for information in an array of texts, which consists in preliminarily indexing an array of texts by the sentences included in it with recognition of the exact meaning of the words included in the query sentences by replacing them by decomposing them into elementary values that are stored for each value in the thesaurus then, for each sentence of the query, a matrix is constructed containing links between all pairs of objects included in the sentence, then a search is performed on the thesaurus of objects correlating with objects in going into the query, after which all the objects included in the query and correlating objects are found in the inverted index and, based on its data, the sentences are selected from the array of texts, for which they then perform pairwise comparisons with the sentences of the query, for which a matrix is constructed that reflects the correspondence between the objects included in the text and the objects included in the request, and the correlating objects of the request, then for the objects connected in the resulting matrix, the values of the matrices corresponding to these objects are matched IC constructed for an array of texts and proposals to the request for proposals, which is calculated on the basis of the relevance of the request for proposals of the proposed text of the array using statistical indicators, followed in decreasing order of relevance of texts array documents presented to the user as a search result. 2. Способ по п.1, отличающийся тем, что индексирование массива текста происходит по отдельным предложениям, при этом в предложениях вначале распознают точные значения слов и устанавливают семантические связи между ними, затем точные значения слов заменяют их разложением на элементарные значения, которые хранятся для каждого значения в тезаурусе, после чего для каждого предложения строят матрицу, содержащую связи между всеми парами объектов, входящих в предложение, затем составляют инвертированный индекс, где для каждого объекта, входящего в массив текста, указано в каких документах и в каких предложениях сколько раз он встречается. 2. The method according to claim 1, characterized in that the array of text is indexed according to individual sentences, while the sentences first recognize the exact meaning of the words and establish semantic relationships between them, then the exact meaning of the words replaces them by decomposing them into elementary values that are stored for of each value in the thesaurus, after which a matrix is constructed for each sentence containing relationships between all pairs of objects included in the sentence, then an inverted index is made, where for each object, the input on the array of text, stated in public documents and public offerings number of times it occurs.
RU2008114801/09A 2008-04-15 2008-04-15 Method of searching for information in text array RU2392660C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2008114801/09A RU2392660C2 (en) 2008-04-15 2008-04-15 Method of searching for information in text array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2008114801/09A RU2392660C2 (en) 2008-04-15 2008-04-15 Method of searching for information in text array

Publications (2)

Publication Number Publication Date
RU2008114801A RU2008114801A (en) 2009-10-20
RU2392660C2 true RU2392660C2 (en) 2010-06-20

Family

ID=41262669

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008114801/09A RU2392660C2 (en) 2008-04-15 2008-04-15 Method of searching for information in text array

Country Status (1)

Country Link
RU (1) RU2392660C2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014104943A1 (en) * 2012-12-27 2014-07-03 Abbyy Development Llc Finding an appropriate meaning of an entry in a text
WO2015199581A3 (en) * 2014-06-27 2016-02-25 Игорь Петрович РОГАЧЕВ Method for converting an initial data array and forming a map of connections
RU2626555C2 (en) * 2015-12-02 2017-07-28 Общество с ограниченной ответственностью "Аби Продакшн" Extraction of entities from texts in natural language
US9772995B2 (en) 2012-12-27 2017-09-26 Abbyy Development Llc Finding an appropriate meaning of an entry in a text
RU2635213C1 (en) * 2016-09-26 2017-11-09 Самсунг Электроникс Ко., Лтд. Text summarizing method and device and machine-readable media used for its implementation
RU2691836C1 (en) * 2018-06-07 2019-06-18 Игорь Петрович Рогачев Method of transforming a structured data array comprising main linguistic-logic entities
RU2692043C2 (en) * 2017-12-18 2019-06-19 Федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерство обороны Российской Федерации Method for automatic classification of formalized text documents and authorized users of electronic document management system
RU2718435C2 (en) * 2013-07-08 2020-04-02 Общество С Ограниченной Ответственностью "Яндекс" Computer-executable method and system for searching in inverted index having plurality of wordpositions lists

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2579873C2 (en) * 2013-12-19 2016-04-10 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Resolution of semantic ambiguity using semantic classifier

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006221A (en) * 1995-08-16 1999-12-21 Syracuse University Multilingual document retrieval system and method using semantic vector matching
US6263335B1 (en) * 1996-02-09 2001-07-17 Textwise Llc Information extraction system and method using concept-relation-concept (CRC) triples
RU2236699C1 (en) * 2003-02-25 2004-09-20 Открытое акционерное общество "Телепортал. Ру" Method for searching and selecting information with increased relevance
WO2005062202A2 (en) * 2003-12-23 2005-07-07 Thomas Eskebaek Knowledge management system with ontology based methods for knowledge extraction and knowledge search
RU2273879C2 (en) * 2002-05-28 2006-04-10 Владимир Владимирович Насыпный Method for synthesis of self-teaching system for extracting knowledge from text documents for search engines

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006221A (en) * 1995-08-16 1999-12-21 Syracuse University Multilingual document retrieval system and method using semantic vector matching
US6263335B1 (en) * 1996-02-09 2001-07-17 Textwise Llc Information extraction system and method using concept-relation-concept (CRC) triples
RU2273879C2 (en) * 2002-05-28 2006-04-10 Владимир Владимирович Насыпный Method for synthesis of self-teaching system for extracting knowledge from text documents for search engines
RU2236699C1 (en) * 2003-02-25 2004-09-20 Открытое акционерное общество "Телепортал. Ру" Method for searching and selecting information with increased relevance
WO2005062202A2 (en) * 2003-12-23 2005-07-07 Thomas Eskebaek Knowledge management system with ontology based methods for knowledge extraction and knowledge search

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014104943A1 (en) * 2012-12-27 2014-07-03 Abbyy Development Llc Finding an appropriate meaning of an entry in a text
US9772995B2 (en) 2012-12-27 2017-09-26 Abbyy Development Llc Finding an appropriate meaning of an entry in a text
RU2718435C2 (en) * 2013-07-08 2020-04-02 Общество С Ограниченной Ответственностью "Яндекс" Computer-executable method and system for searching in inverted index having plurality of wordpositions lists
WO2015199581A3 (en) * 2014-06-27 2016-02-25 Игорь Петрович РОГАЧЕВ Method for converting an initial data array and forming a map of connections
RU2626555C2 (en) * 2015-12-02 2017-07-28 Общество с ограниченной ответственностью "Аби Продакшн" Extraction of entities from texts in natural language
RU2635213C1 (en) * 2016-09-26 2017-11-09 Самсунг Электроникс Ко., Лтд. Text summarizing method and device and machine-readable media used for its implementation
RU2692043C2 (en) * 2017-12-18 2019-06-19 Федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерство обороны Российской Федерации Method for automatic classification of formalized text documents and authorized users of electronic document management system
RU2691836C1 (en) * 2018-06-07 2019-06-18 Игорь Петрович Рогачев Method of transforming a structured data array comprising main linguistic-logic entities

Also Published As

Publication number Publication date
RU2008114801A (en) 2009-10-20

Similar Documents

Publication Publication Date Title
RU2392660C2 (en) Method of searching for information in text array
Euzenat et al. Ontology matching
Hahn et al. Creating knowledge repositories from biomedical reports: the MEDSYNDIKATE text mining system
US7398201B2 (en) Method and system for enhanced data searching
EP0597630B1 (en) Method for resolution of natural-language queries against full-text databases
Lytvyn et al. Development of a method for determining the keywords in the slavic language texts based on the technology of web mining
US7283951B2 (en) Method and system for enhanced data searching
US7562074B2 (en) Search engine determining results based on probabilistic scoring of relevance
McDonald et al. Discriminative learning and spanning tree algorithms for dependency parsing
US6584470B2 (en) Multi-layered semiotic mechanism for answering natural language questions using document retrieval combined with information extraction
EP2350871A1 (en) Method of computerized semantic indexing of natural language text, method of computerized semantic indexing of collection of natural language texts, and machine-readable media
Li et al. Identifying important concepts from medical documents
Vivaldi et al. Using Wikipedia to Validate the Terminology found in a Corpus of Basic Textbooks.
Liddy et al. TIPSTER Panel-DR-LINK's Linguistic-Conceptual Approach to Document Detection.
Golitsina et al. On one approach to the extraction of entity and relationships names in the task of building a semantic search image
Dorji et al. Extraction, selection and ranking of Field Association (FA) Terms from domain-specific corpora for building a comprehensive FA terms dictionary
Lu et al. Attributed rhetorical structure grammar for domain text summarization
EA002016B1 (en) A method of searching for fragments with similar text and/or semantic contents in electronic documents stored on a data storage devices
Yeh et al. Automated Alignment and Extraction of a Bilingual Ontology for Cross-Language Domain-Specific Applications
Myaeng et al. Information retrieval with semantic representation of texts
Crouch et al. Scalability of redundancy detection in focused document collections
Liddy et al. DR-LINK system: phase I summary
Galitsky Learning discourse-level structures for question answering
Feijó Summarizing legal rulings
JP4864095B2 (en) Knowledge correlation search engine

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20100416