TECHNICAL FIELD

This disclosure is generally concerned with linguistics. More specifically, this disclosure relates to using communicative discourse trees to manage the dialogue of an interactive session between an autonomous agent and a user device.

STATEMENT AS TO RIGHTS TO INVENTIONS MADE UNDER FEDERALLY SPONSORED RESEARCH AND DEVELOPMENT

NOT APPLICABLE

BACKGROUND

Linguistics is the scientific study of language. One aspect of linguistics is the application of computer science to human natural languages such as English. Due to the greatly increased speed of processors and capacity of memory, computer applications of linguistics are on the rise. For example, computer-enabled analysis of language discourse facilitates numerous applications such as automated agents that can answer questions from users. To address this need, a broad range of technologies including compositional semantics has been developed. Such technologies can support automated agents in the case of simple, short queries and replies.

In order to provide realistic answers to user questions and more broadly, to create a cohesive roadmap for an interactive session, an autonomous agent should determine an answer that is not only topically relevant but is also appropriate in style. For example, an answer to the question “what did you do today?” can be topically relevant, e.g., discuss what the responder did that day, but can still fail to match the style of the question, e.g., by including extraneous information such as what the responder's children did that day.

But existing keyword-based solutions cannot address both topic and rhetorical agreement. Consequently, such solutions often determine answers that are disjointed in style from a user's expectations, resulting in the user finding the answer inappropriate even though the answer is on-topic.

Hence, new solutions are needed that can accurately determine both topical relevancy and rhetorical agreement.

BRIEF SUMMARY

Generally, systems, devices, and methods of the present invention are related to using communicative discourse trees to manage dialogue flow between an autonomous agent and a user device. Communicative discourse trees are generated for a question and for one or more candidate answers in order to determine a level of complementarity, or rhetorical agreement, between the question and each candidate answer. The best match candidate answer is provided to the user device.

In an example, a rhetoric agreement application receives a multi-part question from a user device. The application creates a question communicative discourse tree for the question and identifies sub-trees within the question communicative discourse tree. Each sub tree corresponds to a part of the multi-part question. For each question part, the application determines a set of candidate answers that are responsive to the particular question part. For each candidate answer, the application builds a communicative discourse tree and pairs the communicative discourse tree with the question communicative discourse tree. Each pair is provided to a machine learning model that determines a level of complementarity between the question part and the candidate answer. The application selects the candidate answer with a highest level of complementarity with the question part.

In an aspect, a method accesses a question sentence including fragments. At least one fragment includes a verb and words. Each fragment is an elementary discourse unit. The method generates a question communicative discourse tree that represents rhetorical relationships between the fragments. The question communicative discourse tree includes a root node. The method identifies a question sub-discourse tree from the question communicative discourse tree. The sub-discourse tree includes at least one of the fragments and represents a sub-question. The method accesses candidate answers. Each candidate answer includes fragments. The method generates for each candidate answer, a candidate answer communicative discourse tree that represents rhetorical relationships between the fragments of the respective candidate answer and includes a root node. The method computes, for each candidate answer, a level of complementarity between the question sub-discourse tree and the candidate answer discourse tree by applying a classification model to the question sub-discourse tree and to the candidate answer discourse tree. The method selects an answer from the candidate answers based on the computed level of complementarity. The method provides the selected answer to a user device.

In an aspect, identifying the question sub-discourse tree includes identifying a rhetorical relation that is not joint and not elaboration.

In an aspect, accessing candidate answers includes searching for keyword matches derived from the elementary discourse units of the question communicative discourse tree against a database of a discourse corpus, a database of a keyword corpus, or past utterances received.

In an aspect, the application selects an additional answer from the candidate answers based on an additional computed complementarity. The application provides the additional answer to the user device. The application receives, from the user device, an indication of a preferred answer of the selected answer and the additional answer. The application performs an additional search for keyword matches.

In an aspect, the application requests clarification from a user of the question sentence based on a keyword search. The application generates a new sub-discourse tree from the clarification. The application provides the new sub-discourse tree and an additional candidate answer discourse tree to the classification model.

In an aspect, the rhetorical relations include a contrast, a solution, a motivation, a background information, an evidence, an antithesis, an emphasis of an attitude or a belief, a purpose, a temporal circumstance, a spatial circumstance, or a situational circumstance.

In an aspect, the classification model is a nearest neighbor model or a tree-kernel learning model.

In an aspect, applying the classification model includes pairing the question sub-discourse tree and the candidate answer discourse tree.

In an aspect, selecting the answer from the plurality of candidate answers includes ranking the candidate answer discourse trees and selecting a candidate answer associated with a highest ranked complement pair discourse tree.

In an aspect, the ranking is determined by an answer popularity of past searches, a searching rank learned by a search engine on a basis of a number of searches for a same user or a same type of query.

In an aspect, generating a communicative discourse tree includes accessing a sentence including fragments. At least one fragment includes a verb and words, each word including a role of the words within the fragment. Each fragment is an elementary discourse unit. The discourse tree represents rhetorical relationships between the fragments. The discourse tree includes nodes, each nonterminal node representing a rhetorical relationship between two of the fragments, each terminal node of the nodes of the discourse tree is associated with one of the fragments. The generating further includes matching each fragment that has a verb to a verb signature.

In an aspect, the matching includes accessing verb signatures. Each verb signature includes the verb of the respective fragment and a sequence of thematic roles. The thematic roles describe the relationship between the verb and related words. The matching includes determining, for each verb signature of the verb signatures, thematic roles of the respective signature that match a role of a word in the respective fragment. The matching includes selecting a particular verb signature from the verb signatures based on the particular verb signature including a highest number of matches. The matching includes associating the particular verb signature with the fragment.

In an aspect, a method trains a classification model to predict a complementarity of a pair of two sentences. The method accesses a positive dataset and a negative dataset. Each dataset includes training pairs. Each training pair includes a question communicative discourse tree that represents a question and an answer communicative discourse tree that represents an answer. The positive dataset includes training pairs that are above a threshold expected level of complementarity. The negative dataset includes training pairs that are below a threshold expected level of complementarity. The method trains a classification model by iteratively: providing one of the training pairs to a classification model, receiving, from the classification model, a determined level of complementarity; calculating a loss function by calculating a difference between the determined level of complementarity and the expected level of complementarity; and adjusting internal parameters of the classification model to minimize the loss function.

In an aspect, the method forms a training dataset by generating complement pair discourse trees and assigning each complement pair discourse tree of complement pair discourse trees to a positive dataset or a negative dataset.

In an aspect, the set of training data includes a negative dataset that includes a question answer pair that includes a question and an answer that are relevant but is rhetorically incorrect when compared to the question.

The above methods can be implemented as tangible computer-readable media and/or operating within a computer processor and attached memory.

