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. The use of autonomous agents, or “chatbots,” to answer questions, facilitate discussion, manage dialogues, and provide social promotion is increasingly popular.

Autonomous agents can service queries received from user devices by generating answers based on information found with a particular resource such as a database or by querying a search engine. But sometimes, a single resource or search engine result does not fully address a complex user query or a convergent question. Convergent questions are questions that require an answer with a high degree of accuracy.

Accordingly, existing systems are unable to form a complete and accurate answer to a question when the answer is provided in multiple resources. Hence, new solutions are needed.

BRIEF SUMMARY

Aspects described herein use imaginary discourse trees to improve question-answering recall for complex, multi-sentence, convergent questions. More specifically, an improved autonomous agent accesses an initial answer for a question received from a user device. The initial answer addresses the question in part, but not completely. The agent represents the question and the initial answer as discourse trees and identifies the entities in the question that are not addressed in the answer. The agent accesses additional resources such as a corpus of text and determines an answer that rhetorically connects the missing entity and another entity in the answer. The agent selects this additional resource, thereby forming an imaginary discourse tree, that when combined with the discourse tree of the answer, can be used to generate an improved answer over existing solutions.

In an aspect, a method includes constructing, using a computing device and from a question, a question discourse tree including a question entity. The question discourse tree represents rhetorical relationships between elementary discourse units of the question. The method further includes accessing, using the computing device and from a corpus of text, an initial answer. The method further includes constructing, using the computing device, from the initial answer, an answer discourse tree including an answer entity. The answer discourse tree represents rhetorical relationships between elementary discourse units of the initial answer. The method further includes determining, using the computing device, that a score indicating a relevance of the answer entity to the question entity is below a threshold. The method further includes generating an imaginary discourse tree. Generating the imaginary discourse tree includes creating, from the corpus of text, an additional discourse tree. Generating the imaginary discourse tree includes determining that the additional discourse tree includes a rhetorical relation that connects the question entity with the answer entity. Generating the imaginary discourse tree includes extracting a sub-tree of the additional discourse tree including the question entity, the answer entity, and the rhetorical relation, thereby generating an imaginary discourse tree. Generating the imaginary discourse tree includes outputting an answer represented by a combination of the answer discourse tree and the imaginary discourse tree.

In an example, accessing the initial answer includes determining an answer relevance score for a portion of text and, responsive to determining that the answer relevance score is greater than a threshold, selecting the portion of text as the initial answer.

In an example, the imaginary discourse tree includes a node representing the rhetorical relation. The method further includes integrating the imaginary discourse tree into the answer discourse tree by connecting the node to the answer entity.

In an example, creating the additional discourse tree includes calculating, for each of additional discourse trees, a score that indicates a number of question entities that include a mapping to one or more answer entities in the respective additional discourse tree. Creating the additional discourse tree includes selecting, from the additional discourse trees, an additional discourse tree with a highest score.

In an example, creating the additional discourse tree includes calculating, for each of additional discourse trees, a score by applying a trained classification model to one or more of (a) the question discourse tree and (b) the respective additional answer discourse tree; and selecting, from the additional discourse trees, an additional discourse tree with a highest score.

In an example, the question includes keywords, and accessing the initial answer includes obtaining answers based on a search query including the keywords by performing a search of electronic documents. Accessing the initial answer includes determining, for each of the answers, an answer score indicating a level of match between the question and the respective answer. Accessing the initial answer includes selecting, from the answers, an answer having a highest score as the initial answer.

In an example, calculating the score includes applying a trained classification model to one or more of (a) the question discourse tree and (b) the answer discourse tree; and receiving the score from the classification model.

In an example, constructing a 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. Constructing a discourse tree further includes generating a discourse tree that 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.

In an example, the method further includes determining, from the question discourse tree, a question communicative discourse tree including a question root node. A communicative discourse tree is a discourse tree that includes communicative actions. The generating further includes determining, from the an imaginary discourse tree, an answer communicative discourse tree. The answer communicative discourse tree includes an answer root node. The generating includes merging the communicative discourse trees by identifying that the question root node and the answer root node are identical. The generating includes computing a level of complementarity between the question communicative discourse tree and the answer communicative discourse tree by applying a predictive model to the merged communicative discourse tree. The generating includes responsive to determining that the level of complementarity is above a threshold, outputting a final answer corresponding to the imaginary discourse tree.

In an example, a discourse tree represents rhetorical relationships between fragments of text. The discourse tree includes nodes. Each nonterminal node representing a rhetorical relationship between two of the fragments and each terminal node of the nodes of the discourse tree is associated with one of the fragments. Constructing a communicative discourse tree includes matching each fragment that has a verb to a verb signature. The matching includes accessing verb signatures. The verb signature includes the verb of the fragment and a sequence of thematic roles. The thematic roles describe the relationship between the verb and related words. The matching further 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 fragment. The matching further includes selecting a particular verb signature from the verb signatures based on the particular verb signature, including a highest number of matches. The matching further includes associating the particular verb signature with the fragment.

In an example, a method includes constructing, for a question, a question discourse tree including question entities. The method further includes constructing, from an initial answer, an answer discourse tree including answer entities. The method further includes establishing, between a first question entity of the question entities and an answer entity of the answer entities, a mapping that establishes a relevance of the answer entity to the first question entity. The method further includes responsive to determining that a second question entity of the question entities is not addressed by any of the answer entities, generating an imaginary discourse tree by combining an additional discourse tree corresponding to an additional answer with the answer discourse tree. The method further includes determining, from the question discourse tree, a question communicative discourse tree. The method further includes determining, from the an imaginary discourse tree, an answer communicative discourse tree. The method further includes computing a level of complementarity between the question communicative discourse tree and the answer communicative discourse tree by applying a predictive model, the question communicative discourse tree, and the answer communicative discourse tree. The method further includes responsive to determining that the level of complementarity is above a threshold, outputting a final answer corresponding to the imaginary discourse tree.

The above methods can be implanted as systems including one or processing devices and/or non-transitory computer-readable medium on which program instructions can be stored that can cause one or more processors to perform the operations described with respect to the methods above.

