RU2583150C1 - Voice communication in natural language between human and device - Google Patents

Voice communication in natural language between human and device Download PDF

Info

Publication number
RU2583150C1
RU2583150C1 RU2014148140/07A RU2014148140A RU2583150C1 RU 2583150 C1 RU2583150 C1 RU 2583150C1 RU 2014148140/07 A RU2014148140/07 A RU 2014148140/07A RU 2014148140 A RU2014148140 A RU 2014148140A RU 2583150 C1 RU2583150 C1 RU 2583150C1
Authority
RU
Russia
Prior art keywords
response
text string
module
voice
input
Prior art date
Application number
RU2014148140/07A
Other languages
Russian (ru)
Inventor
Ман Ха Ле
Александр Александрович Романенко
Михаил Сергеевич Кудинов
Степан Андреевич Музычка
Ирина Игоревна Пионтковская
Original Assignee
Самсунг Электроникс Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Priority to RU2014148140/07A priority Critical patent/RU2583150C1/en
Application granted granted Critical
Publication of RU2583150C1 publication Critical patent/RU2583150C1/en

Links

Images

Abstract

FIELD: information technology.
SUBSTANCE: invention relates to human-machine interaction, specifically voice communication in natural language between human and device. Voice input processing and formation of a response to natural language includes steps of receiving voice input and input voice signal; processed input voice signal to obtain detected input text line, standardised recognised input text line, detecting lexemes, named objects and expression of time in detected input text line. Method then includes morphological analysis with resolution ambiguities in terms of main forms of words and detection of morphological criteria and parsing dependencies for detected input text line by statistical parsing for formation of tree relationships. In order to support flexibility of word order, statistical parsing algorithms based on graphs with treatment nonprojective trees are used. Further, method includes performing statistical analysis of dependency tree for detection of key concepts and their dependencies to generate syntax tree, converting syntax tree into SQL-query, sending SQL-query to database and receiving data relating to SQL-query, converting received data into text response string in a natural language and synthesizing voice signal in accordance with response character string response.
EFFECT: technical result is to provide a handle user voice input to morphologically rich language without computationally expensive operations related to large number of applicable rules.
9 cl, 3 dwg

Description

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

Настоящее изобретение относится к области человеко-машинного взаимодействия и, в частности, к голосовой связи на естественном языке между человеком и устройством, в частности, но не ограничиваясь, при взаимодействии между пользователем-человеком и мобильным устройством или телевизионной (ТВ) панелью.The present invention relates to the field of human-machine interaction and, in particular, to voice communication in a natural language between a person and a device, in particular, but not limited to, when interacting between a human user and a mobile device or television (TV) panel.

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

В последнее время был достигнут значительный прогресс в разработке голосовых интерфейсов для мобильных устройств или ТВ-панелей. Современные системы теперь могут обеспечивать достаточно качественные службы распознавания и формирования речи. Это обеспечивает возможность развития сложных систем, отвечающих на вопросы, для мобильных устройств и ТВ-панелей таким образом, что связь осуществляется посредством устной речи. Например, поиск содержимого в службе видео по запросу (VOD) или запрос отображения программы телевещания у ТВ-панели, осуществляемые голосовым способом, могут быть более естественными, чем использование пульта дистанционного управления телевизором или клавиатуры.Recently, significant progress has been made in developing voice interfaces for mobile devices or TV panels. Modern systems can now provide sufficiently high-quality speech recognition and formation services. This provides the opportunity to develop complex systems that answer questions for mobile devices and TV panels in such a way that communication is carried out through oral speech. For example, searching for content on a Video On Demand (VOD) service or requesting to display a broadcast program on a TV panel by voice can be more natural than using a TV remote control or keyboard.

В настоящее время такие системы становятся все более распространенными. Тем не менее для используемых архитектур характерно игнорирование некоторых особых свойств морфологически богатых языков, таких как гибкий порядок слов и большое число возможных форм слова. В частности, модули понимания естественных языков часто основаны на бесконтекстных грамматиках (CFG) и их модификациях (например, рекурсивных сетях переходов). Известно, что такие синтаксические модели не подходят для языков с гибким порядком слов и богатой морфологией (Jurafsky, D. & Martin, J.H. (2000). Speech & Language Processing. Pearson Education). Распространенными примерами являются чешский, русский, турецкий и арабский языки. Результатом разработки CFG для этих языков может стать лавинообразное увеличение числа грамматических правил при том, что подсчет всех возможных вариантов является нецелесообразным из-за изменчивости порядка слов.Currently, such systems are becoming more common. Nevertheless, the architectures used are characterized by ignoring some special properties of morphologically rich languages, such as a flexible word order and a large number of possible word forms. In particular, modules for understanding natural languages are often based on contextless grammars (CFGs) and their modifications (for example, recursive transition networks). It is known that such syntactic models are not suitable for languages with a flexible word order and rich morphology (Jurafsky, D. & Martin, J.H. (2000). Speech & Language Processing. Pearson Education). Common examples are Czech, Russian, Turkish, and Arabic. The result of developing CFG for these languages can be an avalanche-like increase in the number of grammar rules, despite the fact that the calculation of all possible options is impractical due to the variability of the word order.

В качестве альтернативного подхода может быть предложена модель «набора слов», но она полностью игнорирует применимую грамматическую информацию (Manning, C. D. (1999). Foundations of statistical natural language processing. H. Schütze (Ed.). MIT press.)An “word set” model may be proposed as an alternative approach, but it completely ignores applicable grammatical information (Manning, C. D. (1999). Foundations of statistical natural language processing. H. Schütze (Ed.). MIT press.)

В US 20100114944 A1 раскрыты способ и система для обеспечения голосового интерфейса. Описанный компонент обработки естественного языка основан на CFG и таким образом его недостаток заключается в лавинообразном увеличении числа грамматических правил.US20100114944 A1 discloses a method and system for providing a voice interface. The described component of natural language processing is based on CFG and thus its disadvantage is an avalanche-like increase in the number of grammar rules.

В US 8301438 B2 описан способ обработки вопросов на естественном языке и устройство для его осуществления. Основной способ основан на извлечении именованных объектов и ключевых слов и не имеет развитого синтаксического модуля. Недостаток данного подхода состоит в игнорировании применимой синтаксической информации.US 8301438 B2 describes a method for processing natural language questions and a device for its implementation. The main method is based on the extraction of named objects and keywords and does not have a developed syntax module. The disadvantage of this approach is that it ignores applicable syntax information.

В WO 1997041521 A1 раскрыты способ и устройство для выполнения человеко-машинного диалога в виде двусторонней речи для осуществления управляемого машиной диалога для назначения визитов. Оно не имеет компонента, отвечающего на вопросы. Фактически роль системы в диалоге сводится к исполнению голосовых команд.WO 1997041521 A1 discloses a method and apparatus for performing human-machine dialogue in the form of two-way speech for implementing a machine-driven dialogue for appointing visits. It does not have a component that answers questions. In fact, the role of the system in the dialogue is reduced to the execution of voice commands.

В US 5754736 A описаны система и способ вывода голосовой информации в ответ на входные голосовые сигналы. В этом подходе используется вероятностная бесконтекстная грамматика (PCFG) и таким образом его недостаток состоит в лавинообразном увеличении числа грамматических правил.No. 5,754,736 A describes a system and method for outputting voice information in response to input voice signals. This approach uses probabilistic non-contextual grammar (PCFG) and thus its disadvantage is an avalanche-like increase in the number of grammar rules.

В EP 0895396 A2 описан компонент обработки естественного языка, основанный на CFG, недостатком которого также является лавинообразное увеличение числа грамматических правил.EP 0895396 A2 describes a component of natural language processing based on CFG, the disadvantage of which is also an avalanche-like increase in the number of grammar rules.

В WO 2006036328 A1 модуль обработки естественного языка основан на синтаксическом анализе зависимостей, но полученное дерево преобразуют в XML-кодированную структуру признаков и затем в семантические логические формы. Данный подход предполагает использование дополнительного уровня с правилами преобразования на основе шаблонов, отображающими представление дерева в итоговый запрос к базе данных или команду к аппаратным средствам в случае голосовой команды. Однако данный способ плохо подходит для случаев диалоговой речи, которая обладает большой изменчивостью в морфологически богатых языках.In WO2006036328 A1, the natural language processing module is based on parsing dependencies, but the resulting tree is converted into an XML-encoded attribute structure and then into semantic logical forms. This approach involves the use of an additional level with template-based conversion rules that display the tree representation in the final query to the database or the hardware command in the case of a voice command. However, this method is poorly suited for cases of dialog speech, which has great variability in morphologically rich languages.

Документ WO 2006036328 A1 может рассматриваться в качестве ближайшего аналога предлагаемого изобретения. Все приведенные источники настоящим включены в настоящий документ путем ссылки в полном объеме там, где это применимо.Document WO 2006036328 A1 may be considered as the closest analogue of the invention. All references cited herein are hereby incorporated by reference in their entirety, where applicable.

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

Как следует из вышеприведенного описания уровня техники, в уровне техники известны в общем два подхода к обработке естественных языков: подход на основе правил (или на основе грамматики) и статистический подход. Применительно к языкам с богатой морфологией способам на основе правил присуща проблема неуправляемого роста числа правил. Авторы настоящего изобретения предлагают избегать использования способов на основе правил в обработке и понимании естественных языков и заменить их статистическим подходом.As follows from the above description of the prior art, two approaches to the processing of natural languages are generally known in the prior art: a rule-based (or grammar-based) approach and a statistical approach. With respect to languages with a rich morphology, rule-based methods have the problem of uncontrolled growth in the number of rules. The authors of the present invention propose to avoid the use of rules-based methods in the processing and understanding of natural languages and replace them with a statistical approach.

Авторы настоящего изобретения предлагают использовать синтаксическую обработку зависимостей в качестве промежуточной процедуры. Среди способов статистической синтаксической обработки существует группа алгоритмов, которые основаны на конечных автоматах и сильно зависят от порядка слов в предложении. Эти способы едва ли способны обработать так называемое явление непроективности, когда некоторые ветви дерева синтаксического анализа пересекаются. Авторы настоящего изобретения предлагают эффективное решение данной проблемы путем использования алгоритмов статистического синтаксического анализа на основе графов, которые работают одинаково хорошо с проективными и непроективными деревьями.The authors of the present invention propose the use of syntactic processing of dependencies as an intermediate procedure. Among the methods of statistical syntactic processing, there is a group of algorithms that are based on finite state machines and are highly dependent on the order of words in a sentence. These methods are hardly capable of handling the so-called phenomenon of non-projectivity, when some branches of the parsing tree intersect. The authors of the present invention offer an effective solution to this problem by using graph-based statistical parsing algorithms that work equally well with projective and non-projective trees.

Кроме того, в способе согласно изобретению применяется статистический модуль для прямого отображения между синтаксическим деревом и структурой зависимостей понятий. Набор понятий должен соответствовать структуре базы данных таким образом, чтобы формирование запроса к базе данных с использованием структуры понятий стало тривиальной процедурой.In addition, the method according to the invention uses a statistical module for direct mapping between the syntax tree and the structure of the dependencies of concepts. The set of concepts must correspond to the structure of the database so that the formation of a query to the database using the structure of concepts becomes a trivial procedure.

Такой подход обладает следующими преимуществами:This approach has the following advantages:

- он сохраняет синтаксическую информацию в виде синтаксического дерева;- it saves the syntax information in the form of a syntax tree;

- он заменяет сложные грамматические правила, основанные на конкретном порядке слов, процедурой статистического синтаксического анализа, независимой от порядка слов;- it replaces complex grammar rules based on a specific word order with a statistical parsing procedure independent of word order;

- он обеспечивает гибкое статистическое отображение с синтаксического дерева в запрос к базе данных.- It provides flexible statistical mapping from the syntax tree to the database query.

Одна задача настоящего изобретения состоит в создании способа обработки голосового ввода и формирования ответа на естественном языке, который имеет следующие преимущества по отношению к уровню техники:One object of the present invention is to provide a method for processing voice input and generating a response in a natural language, which has the following advantages in relation to the prior art:

- сохранение синтаксической информации до конца процедуры обработки;- preservation of syntactic information until the end of the processing procedure;

- поддержка гибкого порядка слов без увеличения числа вариантов и соответствующих вычислительных затрат.- support for flexible word order without increasing the number of options and the corresponding computational costs.

Таким образом, способ и устройство согласно изобретению имеют преимущество по отношению к уровню техники в том, что они обеспечивают возможность эффективной обработки голосовых вводов пользователя в морфологически богатых языках без вычислительно затратных операций, которые обычно связаны с большим числом применимых правил. Кроме того, устройство и способ согласно настоящему изобретению обеспечивают устойчивость к несовершенному вводу из модуля преобразования речи в текст и к особенностям голосовых вводов пользователя-человека, включая, например, вводы с неполным упоминанием частичных имен собственных или необходимость корректировки распознанной текстовой строки на основании таких голосовых вводов (восстановление предлогов и т.п.).Thus, the method and apparatus according to the invention have an advantage over the prior art in that they enable efficient processing of user voice input in morphologically rich languages without computationally expensive operations that are usually associated with a large number of applicable rules. In addition, the device and method according to the present invention provides resistance to imperfect input from the speech-to-text conversion module and to features of human-user voice inputs, including, for example, inputs with incomplete mention of partial proper names or the need to adjust the recognized text string based on such voice inputs (restoration of prepositions, etc.).

В общем случае изобретение обеспечивает способ, основанный на синтаксическом анализе зависимостей для распознанного голосового ввода, за которым следует отображение дерева зависимостей, направленное на идентификацию ключевых понятий, которые должны использоваться при формировании запроса к базе данных. Модуль распознавания речи может быть размещен на сервере, принимающем сигнал, записанный посредством микрофона, и возвращающем наиболее вероятную гипотезу относительно фрагмента речи. Затем приводятся в действие модули предварительной обработки, которые включают в себя модули лексемизации, нормализации, извлечения выражений времени и именованных объектов. Входную текстовую строку обрабатывают посредством модуля морфологического анализа. Затем выполняется синтаксическая обработка зависимостей распознанного и предварительно обработанного фрагмента речи. Затем выполняется статистический вывод для извлечения ключевых понятий. Для этого вывода используется предварительно обученная модель понятий и их связь, обусловленная субдеревьями зависимостей. Затем извлеченные понятия используют для формирования запроса к базе данных, в частности на языке запросов SQL. В соответствии с ответом базы данных выбирают подходящий шаблон ответа и формируют текстовую строку ответа с использованием модуля флективности. Затем текстовую строку ответа вводят в модуль преобразования текста в речь и преобразуют в голосовой сигнал, «читающий» упомянутую правильно обработанную текстовую строку ответа в виде голосового ответа на пользовательский ввод.In general, the invention provides a method based on parsing dependencies for recognized voice input, followed by displaying a dependency tree aimed at identifying key concepts that should be used when generating a database query. The speech recognition module can be hosted on a server that receives a signal recorded by a microphone and returns the most likely hypothesis regarding a speech fragment. Then, preprocessing modules are activated, which include modules for lexemization, normalization, extraction of time expressions and named objects. The input text string is processed using the morphological analysis module. Then the syntactic processing of the dependencies of the recognized and pre-processed fragment of speech is performed. Then, statistical inference is performed to extract key concepts. For this conclusion, a pre-trained model of concepts and their relationship, due to sub-trees of dependencies, are used. Then, the extracted concepts are used to form a query to a database, in particular, in the SQL query language. In accordance with the database response, a suitable response template is selected and a response text string is generated using the inflectivity module. Then the response text string is introduced into the text-to-speech conversion module and converted into a voice signal “reading” said correctly processed response text string in the form of a voice response to user input.

Таким образом, примерная диалоговая система, реализованная в устройстве и/или способе согласно изобретению, понимает вопросы и голосовые команды, которые в естественной речи, как правило, являются разнообразными, в особенности во флективных языках. Примерная диалоговая система выполняет глубокий синтаксический анализ введенного словосочетания, обнаруживая не только основные структуры вопроса и команды, но также и важные грамматические свойства, такие как время, вид и наклонение.Thus, an exemplary dialogue system implemented in the device and / or method according to the invention understands questions and voice commands, which in natural speech are usually diverse, especially in inflected languages. An exemplary dialogue system performs a deep parsing of the entered phrase, revealing not only the basic structures of the question and command, but also important grammatical properties, such as time, type and mood.

В одном аспекте изобретение относится к способу обработки голосового ввода и формирования ответа на естественном языке, причем способ содержит этапы, на которых: принимают голосовой ввод и формируют входной голосовой сигнал; обрабатывают входной голосовой сигнал для получения распознанной входной текстовой строки; нормализуют распознанную входную текстовую строку, обнаруживают лексемы, именованные объекты и выражения времени в распознанной входной текстовой строке; выполняют морфологический анализ с разрешением неоднозначностей по основным формам слов и обнаружением морфологических признаков; выполняют синтаксический анализ зависимостей для распознанной входной текстовой строки посредством статистического синтаксического анализа для формирования дерева зависимостей, причем для поддержки гибкости порядка слов используются алгоритмы статистического синтаксического анализа на основе графов с обработкой непроективных деревьев; выполняют статистическую обработку дерева зависимостей для обнаружения ключевых понятий и их зависимостей для формирования синтаксического дерева; преобразуют синтаксическое дерево в SQL-запрос; отправляют SQL-запрос в базу данных и принимают данные, относящиеся к SQL-запросу; преобразуют принятые данные в текстовую строку ответа на естественном языке; и синтезируют голосовой сигнал ответа в соответствии с текстовой строкой ответа.In one aspect, the invention relates to a method for processing voice input and generating a response in a natural language, the method comprising the steps of: receiving voice input and generating an input voice signal; processing an input voice signal to obtain a recognized input text string; normalize the recognized input text string, detect tokens, named objects and time expressions in the recognized input text string; perform morphological analysis with the resolution of ambiguities in the main forms of words and the detection of morphological characters; performing parsing of dependencies for the recognized input text string by means of statistical parsing to form a dependency tree, moreover, statistical parsing algorithms based on graphs with processing of non-projective trees are used to support word order flexibility; perform statistical processing of the dependency tree to detect key concepts and their dependencies to form a syntax tree; Convert the syntax tree to an SQL query send an SQL query to the database and receive data related to the SQL query; convert the received data into a text string of the response in a natural language; and synthesizing a voice response signal in accordance with the response text string.

В варианте выполнения статистическая модель, обусловленная субдеревьями зависимостей, используется в упомянутой статистической обработке дерева зависимостей для обнаружения ключевых понятий и их зависимостей. Упомянутое преобразование принятых данных в ответ на естественном языке может дополнительно содержать этап, на котором используют шаблоны для формирования ответа таким образом, что поля данных, получаемых из базы данных, замещаются в шаблоне в установленной грамматической форме. Упомянутое преобразование принятых данных в текстовую строку ответа на естественном языке может также дополнительно содержать этап, на котором используют алгоритмы склонения именных словосочетаний для постановки именного словосочетания в установленную форму.In an embodiment, the statistical model due to the dependency sub-trees is used in said statistical processing of the dependency tree to detect key concepts and their dependencies. Mentioned conversion of the received data into a response in a natural language may further comprise the stage of using templates to form an answer in such a way that the fields of the data received from the database are replaced in the template in the established grammatical form. Mentioned conversion of the received data into a text string of a response in a natural language may also additionally contain a stage in which algorithms for declining nominal phrases are used to formulate a nominal phrase in an established form.

В другом аспекте изобретение относится к устройству для обработки голосового ввода и формирования ответа на естественном языке, причем устройство содержит: принимающий модуль, выполненный с возможностью приема голосового ввода и формирования голосового сигнала; модуль преобразования речи в текст, выполненный с возможностью обработки голосового сигнала для выполнения распознавания речи в голосовом сигнале; модуль предварительной обработки входной текстовой строки, выполненный с возможностью нормализации распознанной входной текстовой строки для выполнения предварительной обработки распознанного запроса и извлечения лексем, именованных объектов и выражений времени; модуль морфологического анализа, выполненный с возможностью выполнения разрешения неоднозначностей по основным формам слов и обнаружения морфологических признаков во входной текстовой строке; модуль синтаксического анализа зависимостей, выполненный с возможностью формирования дерева зависимостей путем выполнения статистического морфологического и синтаксического анализа входной текстовой строки, причем для поддержки гибкости порядка слов используются алгоритмы статистического синтаксического анализа на основе графов с обработкой непроективных деревьев; модуль извлечения, выполненный с возможностью извлечения ключевых понятий из дерева зависимостей, причем упомянутый модуль извлечения использует шаблоны для обнаружения субдеревьев, соответствующих понятиям, и их зависимостей для формирования синтаксического дерева; модуль SQL-запросов, выполненный с возможностью формирования SQL-запроса в базу данных путем преобразования синтаксического дерева в SQL-запрос; клиент базы данных, выполненный с возможностью отправки SQL-запроса в базу данных и приема данных, относящихся к SQL-запросу; модуль формирования текстовой строки ответа, выполненный с возможностью замещения словосочетаний, полученных из данных, принятых в ответ на упомянутый SQL-запрос, в шаблонах для формирования текстовой строки ответа на естественном языке, причем словосочетания ставят в надлежащую грамматическую форму, и модуль преобразования текста в речь, выполненный с возможностью синтезирования голосового сигнала ответа в соответствии с текстовой строкой ответа.In another aspect, the invention relates to a device for processing voice input and generating a response in a natural language, the device comprising: a receiving module, configured to receive voice input and generate a voice signal; a speech-to-text conversion module configured to process a voice signal to perform speech recognition in a voice signal; an input text string preprocessing module adapted to normalize a recognized input text string to perform preprocessing of a recognized query and retrieving tokens, named objects and time expressions; a morphological analysis module, configured to perform ambiguity resolution on the main forms of words and detect morphological features in the input text string; a dependency parsing module, configured to create a dependency tree by performing statistical morphological and syntactic analysis of the input text string, and statistical support algorithms based on graphs with processing of non-projective trees are used to support word order flexibility; an extraction module configured to extract key concepts from the dependency tree, said extraction module using patterns to detect sub-trees corresponding to the concepts and their dependencies to form a syntax tree; a SQL query module, configured to generate a SQL query into a database by converting the syntax tree to an SQL query; a database client, configured to send an SQL query to the database and receive data related to the SQL query; a response text string generation module configured to replace phrases obtained from the data received in response to said SQL query in templates for generating a response text string in a natural language, the phrases being put in the proper grammatical form and the text-to-speech module made with the possibility of synthesizing a voice response signal in accordance with the response text string.

В варианте выполнения для извлечения ключевых понятий и грамматических признаков из дерева зависимостей используется статистическая модель. Вышеупомянутый модуль формирования текстовой строки ответа дополнительно содержит модуль склонения, который использует алгоритмы склонения именных словосочетаний для постановки именного словосочетания в установленную форму, причем упомянутый модуль склонения обнаруживает объекты склонения и ставит их в надлежащую форму на основании словаря склонений. При необходимости устройство может дополнительно использовать модуль службы преобразования текста в речь (TTS) для формирования голосового сигнала ответа в соответствии с текстовой строкой ответа. В варианте выполнения устройство дополнительно содержит по меньшей мере один громкоговоритель, выполненный с возможностью выдачи голосового сигнала ответа пользователю.In an embodiment, a statistical model is used to extract key concepts and grammatical features from a dependency tree. The aforementioned response text string generating module further comprises a declension module that uses declension algorithms to put the phrases in an established form, wherein said declension module detects declension objects and puts them into a proper form based on the declension dictionary. If necessary, the device can additionally use the text-to-speech (TTS) service module to generate a response voice signal in accordance with the response text string. In an embodiment, the device further comprises at least one loudspeaker configured to provide a voice response signal to the user.

Специалисту в данной области техники будет понятно, что помимо охарактеризованных выше аспектов настоящее изобретение может также принимать другие формы, в частности, в зависимости от фактического применения, оно может быть реализовано в компьютерной программе, компьютерном программном продукте, интегрированной или распределенной компьютерной системе, одном или более процессорах и т.п.One skilled in the art will understand that, in addition to the aspects described above, the present invention may also take other forms, in particular, depending on the actual application, it may be implemented in a computer program, computer program product, integrated or distributed computer system, one or more processors, etc.

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

Теперь аспекты изобретения будут описаны более подробно в качестве иллюстративного примера с обращением к чертежам, на которых:Now, aspects of the invention will be described in more detail as an illustrative example with reference to the drawings, in which:

Фиг.1 - блок-схема, изображающая основные части предлагаемой диалоговой системы, реализованной в способе и устройстве согласно изобретению.Figure 1 is a block diagram depicting the main parts of the proposed dialogue system implemented in the method and device according to the invention.

Фиг.2 иллюстрирует примерный результат синтаксической обработки зависимостей входной строки в дерево зависимости словосочетаний (синтаксическое).Figure 2 illustrates an exemplary result of syntactic processing of dependencies of an input string into a word dependency tree (syntactic).

Фиг.3 иллюстрирует пример отображения с дерева зависимости словосочетаний (синтаксического) в структуру зависимости понятий (дерево понятий).Figure 3 illustrates an example of the mapping from the tree of the dependency of phrases (syntactic) in the structure of the dependence of concepts (tree of concepts).

Следует отметить, что чертежи приведены лишь в качестве вспомогательного средства для понимания подробного описания изобретения и не предназначены для определения или ограничения объема заявленных изобретений каким-либо образом.It should be noted that the drawings are provided only as an aid to understanding the detailed description of the invention and are not intended to determine or limit the scope of the claimed invention in any way.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION

Как видно на Фиг.1, диалоговая система для голосовой связи на естественном языке, которая обеспечивает человекомашинное взаимодействие посредством голосового диалога и реализована в устройстве и способе согласно изобретению, может рассматриваться как состоящая в основном из следующих трех главных частей, функции которых определяют способ работы устройства согласно изобретению и соответствующие этапы способа согласно изобретению:As can be seen in FIG. 1, a natural language voice communication system that provides human-machine interaction through voice dialogue and is implemented in the device and method according to the invention can be considered as consisting mainly of the following three main parts, the functions of which determine the way the device works according to the invention and the corresponding steps of the method according to the invention:

1) Часть, преобразующая речь в текст: преобразует звуковой (голосовой) ввод в текст;1) The part that converts speech into text: converts audio (voice) input into text;

- модуль автоматического распознавания речи является основным компонентом этой части.- The automatic speech recognition module is the main component of this part.

2) Часть для обработки естественного языка: извлекает лингвистическую информацию из входного словосочетания;2) Part for processing natural language: extracts linguistic information from an input phrase;

- модуль предварительной обработки - этот модуль преобразует текст в стандартную форму, включая дексемизацию, нормализацию чисел, извлечение общепринятых сокращений, распознавание именованных объектов и т.п.- preprocessing module - this module converts text into a standard form, including dexemization, normalization of numbers, extraction of generally accepted abbreviations, recognition of named objects, etc.

Пример:Example:

ВводEnter

Ivan's 2-bedroom apartment of 25 sqmIvan's 2-bedroom apartment of 25 sqm

Предварительная обработкаPreliminary processing

<PN>Ivan</PN> ' s two bedroom apartment of twenty five square meters<PN> Ivan </PN> 's two bedroom apartment of twenty five square meters

Комментарий:Comment:

1. “Ivan's” лексемизировано как “Ivan ' s”. “2-bedroom” лексемизировано как “2 bedroom”.1. “Ivan's” is lekemized as “Ivan's”. “2-bedroom” is tokenized as “2 bedroom”.

2. “Ivan” отмечено как имя собственное: <PN>Ivan</PN>2. “Ivan” is marked as a proper name: <PN> Ivan </PN>

3. Число “25” нормализовано как “twenty five”. Число “2” нормализовано как “two”.3. The number “25” is normalized to “twenty five”. The number “2” is normalized to “two”.

4. Сокращение “sqm” расшифровано как “square meters” 4. The acronym “sqm” stands for “square meters”

- модуль морфологического анализа - этот модуль обнаруживает морфологические признаки для каждой лексемы, такие как падеж, число, род, и находит основную форму слова (исходную форму) для каждого слова.- morphological analysis module - this module detects morphological characteristics for each token, such as case, number, gender, and finds the main form of the word (original form) for each word.

Пример:Example:

ВводEnter

<PN>Ivan</PN> ' s two bedroom apartment of twenty five square meters<PN> Ivan </PN> 's two bedroom apartment of twenty five square meters

Квартира <PN>Ивана</PN> площадью двадцать пять квадратных метровApartment <PN> Ivan </PN> with an area of twenty-five square meters

ВыводOutput

Квартира Ивана площадью двадцать пять квадратных метровIvan's apartment with an area of twenty-five square meters

основная форма: квартира СУЩ - ед - ж - им - неодушbasic form: apartment SUSCH - u - w - im - inanimate

основная форма: иван СУЩ - ед - м - род - одушmain form: Ivan SUSCH - ed - m - gender - soul

основная форма: площадь СУЩ - ед - ж - твор - неодушbasic form: SUSCH area - ed - f - creator - inanimate

основная форма: двадцать ЧИС - имmain form: twenty CHIS - them

основная форма: пять ЧИС - имbasic form: five numbers - them

основная форма: квадратный ПРИЛ - мн - родbasic form: square PRI - mn - genus

основная форма: метр СУЩ - мн - м - род - неодушbasic form: SUSHCH meter - mn - m - gender - inanimate

- модуль синтаксического анализа зависимостей: этот модуль обнаруживает структуру зависимостей для словосочетания (см. Фиг.2).- module for parsing dependencies: this module detects the structure of dependencies for the phrase (see Figure 2).

3) Часть для понимания естественного языка: извлекает полезную информацию и преобразует ее в определенный машинный код;3) Part for understanding natural language: extracts useful information and converts it into a specific machine code;

- модуль анализа понятий - этот модуль извлекает понятия для базы данных, формируя отображение из структуры дерева зависимостей словосочетания в структуру зависимости понятий- concept analysis module - this module extracts concepts for the database, forming a mapping from the structure of the correlation dependency tree to the concept dependency structure

Пример:Example:

ПонятияThe concepts

КВАРТИРАFLAT

Владелец: Имя=«Иван»Owner: Name = "Ivan"

Площадь: Значение=25Area: Value = 25

Комнаты: число=2Rooms: number = 2

(см. Фиг.3)(see Figure 3)

4) Часть для формирования ответа: обнаруживает запрашиваемую информацию и формирует ответ;4) Part for the formation of the response: detects the requested information and generates a response;

- генератор запросов к базе данных - формирует запрос к базе данных с использованием извлеченной структуры понятий;- database query generator - generates a database query using the extracted concept structure;

- клиент базы данных - обрабатывает сформированный запрос и выдает ответ;- database client - processes the generated request and issues a response;

- модуль формирования естественного языка - формирует ответ в виде текстового словосочетания с использованием ответа из базы данных;- natural language formation module - generates a response in the form of a text phrase using the response from the database;

- модуль преобразования текста в речь - преобразует текстовый вывод в звук.- text-to-speech module - converts text output to sound.

Таким образом, после описания общего принципа работы и компонентов заявленного изобретения обратимся теперь к конкретному примерному варианту выполнения заявленного изобретения. Однако следует понимать, что этот вариант выполнения приведен лишь в качестве примера для иллюстрации изобретательского замысла и не должен рассматриваться как определяющий и/или ограничивающий объем заявленного изобретения каким-либо образом. После внимательного прочтения и понимания подробного описания, приведенного ниже с обращением к чертежам, которые также образуют часть описания настоящей заявки, специалисту в данной области техники могут стать очевидными другие модификации, варианты и эквивалентные замены.Thus, after describing the general principle of operation and components of the claimed invention, we now turn to a specific exemplary embodiment of the claimed invention. However, it should be understood that this embodiment is provided only as an example to illustrate the inventive concept and should not be construed as defining and / or limiting the scope of the claimed invention in any way. After a careful reading and understanding of the detailed description given below with reference to the drawings, which also form part of the description of this application, other modifications, variations and equivalent replacements may become apparent to a person skilled in the art.

Прежде всего, следует понимать, что определенные выше функциональные модули, которые обеспечивают работу предложенного изобретения, могут быть реализованы посредством различных сочетаний аппаратных и программных средств. В общем случае изобретение реализуется одним или более процессорами, выполненными с возможностью выполнения программных модулей. В свою очередь, упомянутые программные модули могут быть представлены любым надлежащим числом компьютерных программных модулей и могут использовать любое надлежащее число библиотек, оболочек, приложений, программных пакетов в зависимости от конкретной функции или этапа способа, реализуемых определенным модулем. Компьютерные программные модули могут быть реализованы в виде машинного кода или в виде текста программы на языке программирования, таком как C, C++, C#, Java, Python, Perl, Ruby и т.п. Более подробное описание средств и способов реализации функциональных модулей, относящихся к обработке естественных языков, можно найти, например, в источнике Jurafsky, D. & Martin, J.H. (2000). Speech & Language Processing. Pearson Education.First of all, it should be understood that the functional modules defined above, which ensure the operation of the proposed invention, can be implemented through various combinations of hardware and software. In general, the invention is implemented by one or more processors configured to execute program modules. In turn, said program modules may be represented by any appropriate number of computer program modules and may use any appropriate number of libraries, shells, applications, software packages depending on a particular function or method step implemented by a particular module. Computer program modules can be implemented in the form of machine code or in the form of program text in a programming language such as C, C ++, C #, Java, Python, Perl, Ruby, etc. A more detailed description of the means and methods of implementing functional modules related to the processing of natural languages can be found, for example, in the source Jurafsky, D. & Martin, J.H. (2000). Speech & Language Processing. Pearson Education.

Способ обработки голосового ввода и формирования ответа на естественном языке, рассматриваемый в общем случае, содержит следующие этапы. Сначала принимают пользовательский голосовой ввод, например посредством микрофона. Из принятого пользовательского голосового ввода формируют входной голосовой сигнал. Входной голосовой сигнал обрабатывают для получения распознанной входной текстовой строки. Распознанную входную текстовую строку нормализуют для обнаружения лексем, именованных объектов и выражений времени. После этого выполняют морфологический анализ в отношении распознанной и нормализованной входной текстовой строки, который включает в себя, в частности, разрешение неоднозначностей по основным формам слов и обнаружение морфологических признаков. Затем выполняют синтаксическую обработку зависимостей для распознанной входной текстовой строки посредством статистического синтаксического анализа для формирования дерева зависимостей, причем используются алгоритмы статистического синтаксического анализа на основе графов с обработкой непроективных деревьев для поддержки гибкости порядка слов. Затем выполняют статистическую обработку дерева зависимостей для обнаружения ключевых понятий и их зависимостей таким образом, чтобы сформировать синтаксическое дерево. Синтаксическое дерево преобразуют в запрос к базе данных на соответствующем языке запросов к базе данных, обычно в форме SQL-запроса. SQL-запрос отправляют в базу данных, и принимают ответ на запрос посредством клиента базы данных, причем ответ содержит данные, которые соответствуют SQL-запросу. Текстовая строка ответа на естественном языке составляется модулем формирования текстовой строки ответа на основе данных, обеспечиваемых клиентом базы данных, в ответ на упомянутый SQL-запрос к базе данных. При этом может быть использован модуль флективности в случае морфологически богатых языков для формирования правильно грамматически сформулированной текстовой строки ответа. Модуль флективности использует алгоритмы склонения для именных словосочетаний для постановки именного словосочетания в установленную форму. Кроме того, модуль флективности при необходимости обнаруживает объекты склонения и ставит их в надлежащую форму на основании словаря склонений. Наконец, голосовой сигнал ответа синтезируется посредством модуля преобразования текста в речь в соответствии с текстовой строкой ответа, и выдается голосовой сигнал в качестве ответа на пользовательский голосовой ввод посредством любого подходящего средства, в частности посредством по меньшей мере одного громкоговорителя.A method for processing voice input and generating a response in a natural language, considered in the General case, contains the following steps. First, user voice input is received, for example, via a microphone. An input voice signal is generated from the received user voice input. An input voice signal is processed to obtain a recognized input text string. The recognized input text string is normalized to detect tokens, named objects, and time expressions. After that, a morphological analysis is performed with respect to the recognized and normalized input text string, which includes, in particular, the resolution of ambiguities in the main forms of words and the detection of morphological characters. Then, dependency parsing is performed for the recognized input text string by means of statistical parsing to form a dependency tree, using graph-based statistical parsing algorithms with processing of non-projective trees to support word order flexibility. Then, statistical processing of the dependency tree is performed to detect key concepts and their dependencies in such a way as to form a syntax tree. The syntax tree is converted into a database query in the appropriate database query language, usually in the form of an SQL query. The SQL query is sent to the database, and the response to the query is received via the database client, and the response contains data that corresponds to the SQL query. The text string of the response in natural language is compiled by the module for generating the text string of the answer based on the data provided by the database client, in response to the mentioned SQL query to the database. In this case, the inflectivity module in the case of morphologically rich languages can be used to form a correctly grammatically formulated text string of the answer. The inflectivity module uses declension algorithms for nominal phrases to formulate a nominal phrase in an established form. In addition, the inflectivity module, if necessary, detects the objects of declension and puts them in the proper form based on the dictionary of declensions. Finally, a response voice signal is synthesized by a text-to-speech module in accordance with a response text string, and a voice signal is output as a response to user voice input by any suitable means, in particular by means of at least one speaker.

Обращаясь теперь к Фиг.1, в устройстве согласно изобретению голосовой сигнал принимается посредством принимающего модуля, например записывается посредством микрофона 101, включенного в устройство (например, ТВ-панель или мобильный телефон), с которым взаимодействует пользователь. Затем сигнал передается в модуль 102 преобразования речи в текст, который может быть реализован либо в виде встроенного устройства (интегрированного с устройством) или в виде внешней (основанной на сервере) службы, подобной модулю 110 преобразования речи в текст, который будет описан ниже. При этом модуль преобразования речи в текст может использовать устройство автоматического распознавания речи (ASR) (также обозначенного как служба ASR на Фиг.1). Вывод модуля 102 преобразования речи в текст представляет собой распознанную последовательность слов в форме текста (также называемую в настоящем документе «входной текстовой строкой»).Turning now to FIG. 1, in a device according to the invention, a voice signal is received by a receiving module, for example, is recorded by a microphone 101 included in a device (eg, a TV panel or mobile phone) with which a user interacts. The signal is then transmitted to the speech-to-text conversion module 102, which can be implemented either as an integrated device (integrated with the device) or as an external (server-based) service, similar to the speech-to-text conversion module 110, which will be described later. Meanwhile, the speech-to-text conversion module may use an automatic speech recognition (ASR) device (also referred to as an ASR service in FIG. 1). The output of speech-to-text conversion module 102 is a recognized sequence of words in the form of text (also referred to herein as an “input text string”).

Затем распознанную текстовую строку передают в модуль 103 предварительной обработки входной текстовой строки, который предназначен для преобразования некоторых конкретных объектов в стандартизированную форму: например, для отделения знаков препинания от слов; для группирования символов, которые должны быть обработаны вместе; для стандартизации чисел; для извлечения именованных объектов (имен собственных, географических названий, наименований организаций и т.п.) и выражений времени. Задача этой работы модуля 103 предварительной обработки входной текстовой строки состоит в упрощении последующего морфологического и синтаксического анализа, который выполняется далее в модуле 104 морфологического анализа и модуле 105 синтаксического анализа зависимостей.Then, the recognized text string is transmitted to the input text string pre-processing module 103, which is designed to convert some specific objects into a standardized form: for example, to separate punctuation marks from words; for grouping characters to be processed together; to standardize numbers; to extract named objects (proper names, geographical names, names of organizations, etc.) and time expressions. The task of this work of the input text string preprocessing module 103 is to simplify the subsequent morphological and syntactic analysis, which is further performed in the morphological analysis module 104 and the dependency parsing module 105.

Морфологический анализ выполняется в модуле 104 морфологического анализа. Морфологический анализ может быть стохастическим. Например, он может быть основан на механизмах условных случайных полей или Марковской модели максимальной энтропии. Результаты работы модуля 104 используются для синтаксического анализа 105 зависимостей.Morphological analysis is performed in module 104 of morphological analysis. Morphological analysis can be stochastic. For example, it can be based on the mechanisms of conditional random fields or the Markov model of maximum entropy. The results of module 104 are used to parse 105 dependencies.

Синтаксическую обработку зависимостей выполняют с использованием обнаруженных морфологических признаков и основных форм (исходных форм слов). В варианте выполнения процедура синтаксического анализа может использовать статистический метод на основе графов, который одинаково хорошо работает как с проективной, так и с непроективной структурой дерева.The syntactic processing of dependencies is performed using the detected morphological features and basic forms (initial word forms). In an embodiment, the parsing procedure may use a graph-based statistical method that works equally well with both the projective and non-projective tree structure.

Полученное дерево синтаксического анализа затем передается в модуль 106 извлечения для извлечения ключевых понятий из дерева зависимостей, который также может быть в общем назван модулем 106 анализа понятий, как показано Фиг.1, и который предназначен для извлечения ключевых понятий и их зависимостей. Эта задача выполняется по существу путем выполнения отображения из структуры зависимости словосочетаний, обеспеченной посредством синтаксического анализа зависимостей, как упомянуто выше, в структуру зависимости понятий, сформированную таким образом для входной текстовой строки. Для этого отображения используется статистический метод: субдеревья отображаются в понятия в соответствии со статистической моделью. Кроме того, на данном этапе определяется вид фрагмента речи пользователя, например вопрос, команда и т.п. Каждое понятие сопоставляется с соответствующим вложенным предложением запроса к базе данных. Это выполняется в модуле 107 SQL-запросов (который также называется в настоящем документе генератором запросов). Известно, что запросы являются основным механизмом для получения информации из базы данных и состоят из вопросов, представляемых в базу данных в заданном формате. Многие различные системы управления базами данных используют стандартный формат запросов структурированного языка запросов (SQL). При этом следует понимать, что SQL в контексте настоящего изобретения является лишь примерным форматом запросов, который может быть использован в предпочтительном варианте выполнения заявленного изобретения. Специалисту в данной области техники может быть очевидно использование в настоящем способе и устройстве других подходящих форматов языков запросов к базе данных.The resulting parsing tree is then passed to the extraction module 106 for extracting key concepts from the dependency tree, which can also be generally called the concept analysis module 106, as shown in FIG. 1, and which is designed to extract key concepts and their dependencies. This task is essentially accomplished by mapping from the dependency structure of the phrases provided by the dependency parsing, as mentioned above, to the concept dependency structure thus formed for the input text string. The statistical method is used for this mapping: subtrees are mapped into concepts in accordance with the statistical model. In addition, at this stage, the type of fragment of the user's speech is determined, for example, a question, command, etc. Each concept is mapped to a corresponding nested database query sentence. This is done in the SQL query module 107 (also called the query generator in this document). It is known that queries are the main mechanism for obtaining information from the database and consist of questions submitted to the database in a given format. Many different database management systems use the standard query format of a structured query language (SQL). It should be understood that SQL in the context of the present invention is only an exemplary query format that can be used in a preferred embodiment of the claimed invention. One skilled in the art may recognize that other suitable database language formats are used in the present method and apparatus.

Вместе вложенные предложения формируют действительный запрос, который передается в клиент 108 базы данных, осуществляющий связь с базой 112 данных, причем упомянутый клиент 108 базы данных передает SQL-запрос в базу данных и принимает данные, соответствующие SQL-запросу, из базы данных. База данных может быть реализована в виде стандартной базы данных SQL. В данном случае вложенные предложения запроса соответствуют вложенным предложениям SQL-запроса.Together, the nested sentences form a valid query, which is transmitted to the database client 108, which communicates with the database 112, wherein said database client 108 transfers the SQL query to the database and receives data corresponding to the SQL query from the database. The database can be implemented as a standard SQL database. In this case, the nested query statements correspond to the nested statements of the SQL query.

Эту информацию передают в модуль 109 формирования текстовой строки ответа (также называемого генератором текста ответа, см. Фиг.1), который замещает словосочетания, получаемые из данных, принятых в ответ на упомянутый SQL-запрос, в шаблоны для формирования текстовой строки ответа на естественном языке, причем словосочетания ставятся в правильную грамматическую форму. Модуль 109 формирования текстовой строки ответа также в общем называется в настоящем документе модулем формирования естественного языка. Модуль 109 формирования текстовой строки ответа может быть основан на шаблонах: его основная функция состоит в замещении соответствующих полей шаблона ответа информацией, получаемой из базы данных посредством клиента 108 базы данных. Шаблон ответа может содержать шаблоны для ответов с интервалами, которые должны быть заполнены информацией, полученной из базы данных, или определенными частями входной текстовой строки. Для морфологически богатых языков этот модуль должен также быть выполнен с возможностью выполнения склонения определенного словосочетания, заполняющего интервал, в определенную форму. В предпочтительном варианте выполнения модуль флективности, который использует алгоритмы склонения именных словосочетаний для постановки именного словосочетания в установленную форму, причем упомянутый модуль флективности обнаруживает объекты склонения и ставит их в правильную форму на основании словаря склонений, дополняет упомянутый модуль формирования естественного языка для обеспечения лингвистически правильной текстовой строки ответа с учетом конкретных грамматических форм соответствующих слов, включенных в упомянутую текстовую строку ответа.This information is passed to the response text string generation module 109 (also called the response text generator, see FIG. 1), which replaces the phrases obtained from the data received in response to the said SQL query into patterns for generating the response text string in natural language, and phrases are put in the correct grammatical form. The response text string generation module 109 is also generally referred to herein as the natural language generation module. The response text string generation module 109 may be based on templates: its main function is to replace the corresponding fields of the response template with information received from the database through the database client 108. The response template may contain response templates at intervals that must be filled with information received from the database, or with specific parts of the input text string. For morphologically rich languages, this module should also be configured to perform the declension of a particular phrase filling an interval into a certain form. In a preferred embodiment, the inflectivity module, which uses declension algorithms for nominal phrases to formulate the phrases in an established form, said inflectivity module detects declension objects and puts them into the correct form based on the declension dictionary, complements the mentioned natural language formation module to ensure linguistically correct text answer strings taking into account the specific grammatical forms of the corresponding words included in the mentioned ones Stow response string.

Пример:Example:

Запрос: Найти дешевую пятикомнатную квартиру с хорошим ремонтом. -- “Find cheap 5-bedroom apartment with good finishes”Request: Find a cheap five-room apartment with a good repair. - “Find cheap 5-bedroom apartment with good finishes”

Ответ 1: К сожалению, в нашей базе нет пятикомнатных квартир с хорошим ремонтом. - “Unfortunately, in our database there is no cheap 5-bedroom apartments with good finishes”Answer 1: Unfortunately, in our database there are no five-room apartments with a good repair. - “Unfortunately, in our database there is no cheap 5-bedroom apartments with good finishes”

Шаблон: К сожалению, в нашей базе нет <интервал> -- Unfortunately in our database there is no <интервал>Template: Unfortunately in our database there is no <interval> - Unfortunately in our database there is no <interval>

Целевая форма для интервала: множественное число, родительный падежInterval target form: plural, genitive

Ответ 2: Я могу предложить вам дешевую пятикомнатную квартиру с хорошим ремонтом. - I can suggest you cheap 5-bedroom apartments with good finishesAnswer 2: I can offer you a cheap five-room apartment with a good repair. - I can suggest you cheap 5-bedroom apartments with good finishes

Шаблон: Я могу предложить вам <интервал> -- I can suggest you <интервал>Template: I can suggest you <interval> - I can suggest you <interval>

Целевая форма для интервала: единственное число, винительный падежInterval target form: singular, accusative

Как указано выше, этот модуль флективности должен включать в себя словарь склонений для выполнения склонения одиночных слов. Однако для склонения именных словосочетаний этого не достаточно, поскольку в каждом именном словосочетании некоторые слова склоняются, а некоторые - нет. Все склоняемые слова имеют ту же форму, что и главное слово в словосочетании (главное слово в словосочетании); другие слова могут иметь различные формы.As indicated above, this inflectivity module must include a declension dictionary for declension of single words. However, for the declension of nominal phrases, this is not enough, since in each nominal phrase some words are inclined, and some are not. All inclined words have the same form as the main word in the phrase (the main word in the phrase); other words can take various forms.

Для обнаружения схем склонения определенного словосочетания может быть использована статистическая модель, основанная на условных случайных полях на линейной цепи.A statistical model based on conditional random fields on a linear chain can be used to detect declension patterns of a particular collocation.

Пример:Example:

дешевая пятикомнатная квартира с хорошим ремонтом→cheap five-room apartment with a good repair →

дешевых[i] пятикомнатных[i] квартир[h] с[f] хорошим[f] ремонтом[f]cheap [i] five-room [i] apartments [h] with [f] good [f] repair [f]

Комментарий: здесь [h] обозначает главное слово в словосочетании; [i] - слова, которые должны склоняться с главным словом; [f] - слова, которые имеют неизменную форму в словосочетании. Эти метки формируют схемы склонений в словосочетании.Comment: here [h] denotes the main word in the phrase; [i] - words that should be inclined with the main word; [f] - words that have an unchanged form in the phrase. These marks form the declension patterns in the phrase.

Вывод модуля 109 формирования текстовой строки ответа, который при необходимости использует вышеупомянутый модуль флективности, затем передается в модуль 110 преобразования текста в речь, который, хотя это и не является необходимым, может дополнительно использовать внешний модуль 111 службы преобразования текста в речь. Модуль 110 преобразования текста в речь предназначен для «прочтения» итоговой текстовой строки ответа, выданной модулем 109 формирования текстовой строки ответа, посредством синтезатора речи, и проигрывания голосового ответа на естественном языке пользователю посредством по меньшей мере одного громкоговорителя 115 устройства обработки голосового ввода и формирования ответа на естественном языке согласно изобретению. Упомянутый по меньшей мере один громкоговоритель 115 устройства согласно изобретению выполнен с возможностью выдачи пользователю голосового сигнала ответа.The output of the response text string generation module 109, which optionally uses the aforementioned inflectivity module, is then transmitted to the text to speech conversion module 110, which, although not necessary, can additionally use the external text to speech service module 111. The text-to-speech conversion module 110 is designed to “read” the final response text string issued by the response text string generation module 109 by means of a speech synthesizer and play the natural language voice response to the user through at least one loudspeaker 115 of the voice input processing and response generating device in natural language according to the invention. Mentioned at least one loudspeaker 115 of the device according to the invention is configured to provide the user with a voice response signal.

Устройство согласно изобретению может использоваться в качестве встроенной подсистемы человеко-машинного интерфейса в ТВ-панели, мобильном телефоне, платежных или информационных терминалах или в любых других устройствах, которые поддерживают голосовые команды или голосовой диалог с пользователем.The device according to the invention can be used as an integrated subsystem of a human-machine interface in a TV panel, mobile phone, payment or information terminals, or in any other device that supports voice commands or voice dialogue with the user.

При том, что изобретение было описано выше с точки зрения устройства для обработки голосового ввода и формирования ответа на естественном языке и посредством его соответствующих элементов и их функциональных взаимодействий, специалисту в данной области техники будет очевидно, что заявленное изобретение может также принимать другие формы. Определенные модули устройства и/или этапы способа согласно изобретению могут быть реализованы посредством различных сочетаний компонентов аппаратного обеспечения, программного обеспечения, микропрограммного обеспечения или выполнены в виде компьютерной программы, компьютерного программного кода или команд, компьютерных программных элементов или тому подобного. Упомянутая компьютерная программа или компьютерные программные элементы могут быть использованы для инструктирования соответствующих компонентов заявленного устройства выполнять соответствующие этапы способа согласно изобретению. Упомянутая компьютерная программа или компьютерные программные элементы могут быть реализованы на машиночитаемом носителе, который может быть постоянным машиночитаемым носителем, таким как оптический или магнитный носитель данных, или упомянутая компьютерная программа или компьютерные программные элементы могут быть переданы в устройство согласно изобретению посредством внешнего носителя, например сервера, посредством временного носителя через компьютерную сеть, локальную сеть (LAN), беспроводную локальную сеть (WLAN) или тому подобное. Кроме того, сетевые соединения в проводных и/или беспроводных сетях, беспроводные сетевые соединения и т.п. могут быть использованы для передачи данных между различными модулями устройства согласно изобретению и/или внешними серверами, в частности между клиентом базы данных и базой данных. Кроме того, определенные модули устройства согласно изобретению могут быть размещены вместе, в то время как некоторые другие модули могут быть размещены удаленно по отношению к устройству согласно изобретению. Все модули, которые составляют устройство согласно изобретению и выполняют этапы способа согласно изобретению, реализуются посредством одного или более блоков обработки, в частности одного или более центральных процессоров (CPU), которые могут быть реализованы в виде одного интегрированного устройства или распределены по сети. Упомянутые блоки обработки выполняют соответствующие функции под управлением программных модулей, таких как компьютерные программы, компьютерные программные элементы и т.п., реализованные на языке или языках программирования, таких как C, C++, C#, Java, Python, Perl, Ruby и т.п., и могут включать в себя подходящие и/или необходимые библиотеки, оболочки, приложения базы данных, программные пакеты и т.п. для выполнения своих конкретных задач. Различные архитектуры, охватывающие конкретные программные/аппаратные модули, выполненные с возможностью выполнения соответствующих функций способа и устройства согласно изобретению, могут быть очевидны специалисту в данной области техники, при этом вышеописанные варианты выполнения устройства и способа согласно изобретению являются лишь конкретными практическими примерами, которые не предназначены для определения или ограничения объема изобретения.While the invention has been described above in terms of a device for processing voice input and generating a response in a natural language and through its corresponding elements and their functional interactions, it will be obvious to a person skilled in the art that the claimed invention may also take other forms. Certain device modules and / or steps of the method according to the invention can be implemented through various combinations of hardware components, software, firmware, or in the form of a computer program, computer program code or instructions, computer program elements, or the like. Said computer program or computer program elements may be used to instruct the respective components of the claimed device to perform the corresponding steps of the method according to the invention. Said computer program or computer program elements may be implemented on a computer-readable medium, which may be a permanent computer-readable medium, such as an optical or magnetic data medium, or said computer program or computer program elements may be transmitted to an apparatus according to the invention via an external medium, for example, a server through temporary media through a computer network, local area network (LAN), wireless local area network (WLAN), or the like e. In addition, network connections in wired and / or wireless networks, wireless network connections, and the like. can be used to transfer data between various modules of the device according to the invention and / or external servers, in particular between a database client and a database. In addition, certain modules of the device according to the invention can be placed together, while some other modules can be placed remotely with respect to the device according to the invention. All modules that make up the device according to the invention and perform the steps of the method according to the invention are implemented by one or more processing units, in particular one or more central processing units (CPUs), which can be implemented as a single integrated device or distributed over a network. The said processing units perform the corresponding functions under the control of program modules, such as computer programs, computer program elements, etc., implemented in a programming language or languages, such as C, C ++, C #, Java, Python, Perl, Ruby, etc. p., and may include suitable and / or necessary libraries, shells, database applications, software packages, etc. to perform their specific tasks. Various architectures encompassing specific software / hardware modules configured to perform the respective functions of the method and device according to the invention may be obvious to a person skilled in the art, while the above-described embodiments of the device and method according to the invention are only specific practical examples that are not intended to determine or limit the scope of the invention.

Все такие возможные варианты выполнения очевидны специалисту в данной области техники и предполагаются включенными в объем настоящего изобретения.All such possible embodiments are apparent to those skilled in the art and are intended to be included within the scope of the present invention.

Также следует понимать, что конфигурация модулей устройства и этапов способа, перечисленных в настоящем документе, является лишь примерной; на практике по меньшей мере один из модулей, упомянутых в настоящем документе, могут быть интегрированы в один или более других функциональных модулей, охарактеризованных в настоящем изобретении. Все такие конфигурации очевидны специалисту в данной области техники. Определенные модули или этапы способа, описанные в настоящем документе, могут быть реализованы посредством компьютера общего назначения или специализированного блока обработки данных, посредством процессора или множества процессоров, интегрированной схемы, программируемой вентильной матрицы (FPGA), конечного автомата и т.п.It should also be understood that the configuration of the device modules and method steps listed in this document is only exemplary; in practice, at least one of the modules mentioned herein can be integrated into one or more other functional modules described in the present invention. All such configurations are obvious to a person skilled in the art. Certain modules or method steps described herein may be implemented by a general purpose computer or a specialized data processing unit, by a processor or multiple processors, an integrated circuit, a programmable gate array (FPGA), a state machine, or the like.

При том, что выше приведено подробное описание вариантов выполнения с обращением к чертежам, следует понимать, что вышеупомянутые варианты выполнения приведены лишь с целью иллюстрации и не должны использоваться для определения или ограничения масштаба настоящего изобретения каким-либо образом. Объем настоящего изобретения должен определяться только приложенной формулой изобретения и ее эквивалентами.While the above is a detailed description of embodiments with reference to the drawings, it should be understood that the above embodiments are for illustrative purposes only and should not be used to determine or limit the scope of the present invention in any way. The scope of the present invention should be determined only by the attached claims and their equivalents.

Claims (9)

1. Способ обработки голосового ввода и формирования ответа на естественном языке, причем способ содержит этапы, на которых:
принимают голосовой ввод и формируют входной голосовой сигнал;
обрабатывают входной голосовой сигнал для получения распознанной входной текстовой строки;
нормализуют распознанную входную текстовую строку, обнаруживают лексемы, именованные объекты и выражения времени в распознанной входной текстовой строке;
выполняют морфологический анализ с разрешением неоднозначностей по основным формам слов и обнаружением морфологических признаков;
выполняют синтаксический анализ зависимостей для распознанной входной текстовой строки посредством статистического синтаксического анализа для формирования дерева зависимостей, причем для поддержки гибкости порядка слов используются алгоритмы статистического синтаксического анализа на основе графов с обработкой непроективных деревьев;
выполняют статистическую обработку дерева зависимостей для обнаружения ключевых понятий и их зависимостей для формирования синтаксического дерева;
преобразуют синтаксическое дерево в SQL-запрос;
отправляют SQL-запрос в базу данных и принимают данные, относящиеся к SQL-запросу;
преобразуют принятые данные в текстовую строку ответа на естественном языке; и
синтезируют голосовой сигнал ответа в соответствии с текстовой строкой ответа.
1. A method for processing voice input and generating a response in a natural language, the method comprising the steps of:
receive voice input and form an input voice signal;
processing an input voice signal to obtain a recognized input text string;
normalize the recognized input text string, detect tokens, named objects and time expressions in the recognized input text string;
perform morphological analysis with the resolution of ambiguities in the main forms of words and the detection of morphological characters;
performing parsing of dependencies for the recognized input text string by means of statistical parsing to form a dependency tree, moreover, statistical parsing algorithms based on graphs with processing of non-projective trees are used to support word order flexibility;
perform statistical processing of the dependency tree to detect key concepts and their dependencies to form a syntax tree;
Convert the syntax tree to an SQL query
send an SQL query to the database and receive data related to the SQL query;
convert the received data into a text string of the response in a natural language; and
synthesize a voice response signal in accordance with the response text string.
2. Способ по п. 1, в котором статистическая модель, обусловленная субдеревьями зависимостей, используется в упомянутой статистической обработке дерева зависимостей для обнаружения ключевых понятий и их зависимостей.2. The method according to claim 1, in which the statistical model due to the dependency sub-trees is used in said statistical processing of the dependency tree to detect key concepts and their dependencies. 3. Способ по п. 1, в котором упомянутое преобразование принятых данных в ответ на естественном языке дополнительно содержит этап, на котором используют шаблоны для формирования ответа таким образом, что поля данных, получаемых из базы данных, замещаются в шаблоне в установленной грамматической форме.3. The method according to claim 1, wherein said conversion of the received data into a natural language response further comprises the step of using patterns to form an answer such that the fields of data received from the database are replaced in the pattern in the established grammatical form. 4. Способ по п. 1, в котором упомянутое преобразование принятых данных в текстовую строку ответа на естественном языке дополнительно содержит этап, на котором используют алгоритмы склонения именных словосочетаний для постановки именного словосочетания в установленную форму.4. The method according to claim 1, wherein said conversion of the received data into a text string of a response in a natural language further comprises the step of using declension algorithms for phrases to formulate the phrases in an established form. 5. Устройство для обработки голосового ввода и формирования ответа на естественном языке, причем устройство содержит:
принимающий модуль, выполненный с возможностью приема голосового ввода и формирования голосового сигнала;
модуль преобразования речи в текст, выполненный с возможностью обработки голосового сигнала для выполнения распознавания речи в голосовом сигнале;
модуль предварительной обработки входной текстовой строки, выполненный с возможностью нормализации распознанной входной текстовой строки для выполнения предварительной обработки распознанного запроса и извлечения лексем, именованных объектов и выражений времени;
модуль морфологического анализа, выполненный с возможностью выполнения разрешения неоднозначностей по основным формам слов и обнаружения морфологических признаков во входной текстовой строке;
модуль синтаксического анализа зависимостей, выполненный с возможностью формирования дерева зависимостей путем выполнения статистического морфологического и синтаксического анализа входной текстовой строки, причем для поддержки гибкости порядка слов используются алгоритмы статистического синтаксического анализа на основе графов с обработкой непроективных деревьев;
модуль извлечения, выполненный с возможностью извлечения ключевых понятий из дерева зависимостей, причем упомянутый модуль извлечения использует шаблоны для обнаружения субдеревьев, соответствующих понятиям, и их зависимостей для формирования синтаксического дерева;
модуль SQL-запросов, выполненный с возможностью
формирования SQL-запроса в базу данных путем преобразования синтаксического дерева в SQL-запрос;
клиент базы данных, выполненный с возможностью отправки SQL-запроса в базу данных и приема данных, относящихся к SQL-запросу;
модуль формирования текстовой строки ответа, выполненный с возможностью замещения словосочетаний, полученных из данных, принятых в ответ на упомянутый SQL-запрос, в шаблонах для формирования текстовой строки ответа на естественном языке, причем словосочетания ставят в надлежащую грамматическую форму, и
модуль преобразования текста в речь, выполненный с возможностью синтезирования голосового сигнала ответа в соответствии с текстовой строкой ответа.
5. A device for processing voice input and forming a response in a natural language, the device comprising:
a receiving module configured to receive voice input and generate a voice signal;
a speech-to-text conversion module configured to process a voice signal to perform speech recognition in a voice signal;
an input text string preprocessing module adapted to normalize a recognized input text string to perform preprocessing of a recognized query and retrieving tokens, named objects and time expressions;
a morphological analysis module, configured to perform ambiguity resolution on the main forms of words and detect morphological features in the input text string;
a dependency parsing module, configured to create a dependency tree by performing statistical morphological and syntactic analysis of the input text string, and statistical support algorithms based on graphs with processing of non-projective trees are used to support word order flexibility;
an extraction module configured to extract key concepts from the dependency tree, said extraction module using patterns to detect sub-trees corresponding to the concepts and their dependencies to form a syntax tree;
SQL query module configured to
generating an SQL query into a database by converting the syntax tree to an SQL query;
a database client, configured to send an SQL query to the database and receive data related to the SQL query;
a response text string generation module configured to replace phrases obtained from the data received in response to said SQL query in templates for generating a response text string in a natural language, the phrases being put in the proper grammatical form, and
a text-to-speech module configured to synthesize a voice response signal in accordance with a response text string.
6. Устройство по п. 5, в котором для извлечения ключевых понятий и грамматических признаков из дерева зависимостей используется статистическая модель.6. The device according to claim 5, in which a statistical model is used to extract key concepts and grammatical signs from the dependency tree. 7. Устройство по п. 5, в котором упомянутый модуль формирования текстовой строки ответа дополнительно содержит модуль склонения, который использует алгоритмы склонения именных словосочетаний для постановки именного словосочетания в установленную форму, причем упомянутый модуль склонения обнаруживает объекты склонения и ставит их в надлежащую форму на основании словаря склонений.7. The device according to claim 5, wherein said module for generating a response text string further comprises a declension module that uses declension algorithms for noun phrases to formulate a phrases in an established form, said declension module detects declension objects and puts them in a proper form based on dictionary of declensions. 8. Устройство по п. 5, в котором устройство дополнительно использует модуль службы преобразования текста в речь (TTS) для формирования голосового сигнала ответа в соответствии с текстовой строкой ответа.8. The device according to claim 5, in which the device further uses a text-to-speech (TTS) service module to generate a response voice signal in accordance with the response text string. 9. Устройство по п. 5, причем устройство дополнительно содержит по меньшей мере один громкоговоритель, выполненный с возможностью выдачи голосового сигнала ответа пользователю. 9. The device according to claim 5, wherein the device further comprises at least one loudspeaker configured to provide a voice response signal to the user.
RU2014148140/07A 2014-11-28 2014-11-28 Voice communication in natural language between human and device RU2583150C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014148140/07A RU2583150C1 (en) 2014-11-28 2014-11-28 Voice communication in natural language between human and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014148140/07A RU2583150C1 (en) 2014-11-28 2014-11-28 Voice communication in natural language between human and device

Publications (1)

Publication Number Publication Date
RU2583150C1 true RU2583150C1 (en) 2016-05-10

Family

ID=55959814

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014148140/07A RU2583150C1 (en) 2014-11-28 2014-11-28 Voice communication in natural language between human and device

Country Status (1)

Country Link
RU (1) RU2583150C1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2682005C1 (en) * 2016-10-18 2019-03-14 ФОРД ГЛОУБАЛ ТЕКНОЛОДЖИЗ, ЭлЭлСи Identification of contacts with the use of speech recognition
RU2711153C2 (en) * 2018-05-23 2020-01-15 Общество С Ограниченной Ответственностью "Яндекс" Methods and electronic devices for determination of intent associated with uttered utterance of user
RU2731334C1 (en) * 2019-03-25 2020-09-01 Общество С Ограниченной Ответственностью «Яндекс» Method and system for generating text representation of user's speech fragment
CN112733869A (en) * 2019-10-28 2021-04-30 中移信息技术有限公司 Method, device and equipment for training text recognition model and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2439716C2 (en) * 2006-07-12 2012-01-10 Майкрософт Корпорейшн Detection of telephone answering machine by voice recognition

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2439716C2 (en) * 2006-07-12 2012-01-10 Майкрософт Корпорейшн Detection of telephone answering machine by voice recognition

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2682005C1 (en) * 2016-10-18 2019-03-14 ФОРД ГЛОУБАЛ ТЕКНОЛОДЖИЗ, ЭлЭлСи Identification of contacts with the use of speech recognition
RU2711153C2 (en) * 2018-05-23 2020-01-15 Общество С Ограниченной Ответственностью "Яндекс" Methods and electronic devices for determination of intent associated with uttered utterance of user
US10818284B2 (en) 2018-05-23 2020-10-27 Yandex Europe Ag Methods of and electronic devices for determining an intent associated with a spoken user utterance
RU2731334C1 (en) * 2019-03-25 2020-09-01 Общество С Ограниченной Ответственностью «Яндекс» Method and system for generating text representation of user's speech fragment
US11043215B2 (en) 2019-03-25 2021-06-22 Yandex Europe Ag Method and system for generating textual representation of user spoken utterance
CN112733869A (en) * 2019-10-28 2021-04-30 中移信息技术有限公司 Method, device and equipment for training text recognition model and storage medium

Similar Documents

Publication Publication Date Title
CN108984529B (en) Real-time court trial voice recognition automatic error correction method, storage medium and computing device
US11393476B2 (en) Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
JP7066349B2 (en) Translation method, translation equipment and computer program
US9292489B1 (en) Sub-lexical language models with word level pronunciation lexicons
US10672391B2 (en) Improving automatic speech recognition of multilingual named entities
JP6675463B2 (en) Bidirectional stochastic rewriting and selection of natural language
US5930746A (en) Parsing and translating natural language sentences automatically
US9805718B2 (en) Clarifying natural language input using targeted questions
KR101726667B1 (en) Grammar compiling methods, semantic parsing methods, devices, computer storage media, and apparatuses
KR102577584B1 (en) Method and apparatus for performing machine translation
Reshamwala et al. Review on natural language processing
KR20210158344A (en) Machine learning system for digital assistants
US11295092B2 (en) Automatic post-editing model for neural machine translation
US10579835B1 (en) Semantic pre-processing of natural language input in a virtual personal assistant
Bangalore et al. A finite-state approach to machine translation
JP2000353161A (en) Method and device for controlling style in generation of natural language
US20140149119A1 (en) Speech transcription including written text
RU2583150C1 (en) Voice communication in natural language between human and device
KR101627428B1 (en) Method for establishing syntactic analysis model using deep learning and apparatus for perforing the method
CN114429133A (en) Relying on speech analysis to answer complex questions through neuro-machine reading understanding
US11907665B2 (en) Method and system for processing user inputs using natural language processing
US10223349B2 (en) Inducing and applying a subject-targeted context free grammar
KR20170090127A (en) Apparatus for comprehending speech
CN116628186A (en) Text abstract generation method and system
KR101709693B1 (en) Method for Web toon Language Automatic Translating Using Crowd Sourcing