Enabling rhetorical analysis through the use of communicative discourse trees

Communicative discourse trees enhance the ability of chatbots to accurately match questions and answers by representing rhetorical relationships, improving the responsiveness of autonomous agents and search engines.

JP2026035700APending Publication Date: 2026-03-04ORACLE INT CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025203586
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2017-05-10
Filing Date
2025-11-26
Publication Date
2026-03-04

AI Technical Summary

Technical Problem

Existing systems fail to accurately represent the rhetorical match between questions and answers, lacking sufficient rhetorical analysis, which prevents effective matching of questions with appropriate answers, especially in chatbot systems.

Method used

The use of communicative discourse trees that represent rhetorical relationships between sentence fragments, incorporating verb signatures and thematic roles to generate a discourse tree, allowing for accurate matching of questions and answers.

Benefits of technology

Improves the performance of autonomous agents and search engines by enabling intelligent and responsive answers to user queries, overcoming the limitations of traditional statistical-based approaches.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026035700000001_ABST
    Figure 2026035700000001_ABST
Patent Text Reader

Abstract

A system, apparatus and method are proposed that can compute rhetorical relations between one or more sentences. The method accesses a sentence including a plurality of fragments, at least one of which includes a verb and a word. Each word includes a word role within the fragment. Each fragment is a basic discourse unit. The method also generates a discourse tree that represents a rhetorical relationship between the sentence fragments. The discourse tree includes nodes, including non-terminal nodes and terminal nodes. Each non-terminal node represents a rhetorical relationship between two of the sentence fragments. Each terminal node of the plurality of nodes in the discourse tree is associated with one of the sentence fragments. The method further creates a communicative discourse tree by matching each fragment having a verb to a verb signature.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Application No. 62 / 504,377, filed May 10, 2017, which is incorporated herein by reference in its entirety.

[0002] Technical Field The present disclosure relates generally to linguistics and, more particularly, to using communicative discourse trees to perform discourse analysis.

[0003] Statement of Rights to Inventions Made Under Federally Sponsored Research and Development Not applicable [Background technology]

[0004] background Linguistics is the scientific study of language. One aspect of linguistics is the application of computer science to natural human languages, such as English. With the dramatic increase in processor speeds and memory capacities, the application of computers to linguistics is on the rise. For example, the ability to analyze linguistic discourse by computer facilitates a number of applications, such as automated agents that can answer questions posed by users. "Chatbots" are often used to answer questions, facilitate discussions, manage dialogue, and provide social advancement. The use of systems and agents has become increasingly popular. A wide range of techniques, including complex semantics, have been developed to address this need. Such techniques can support automated agents for simple, short query and response cases.

[0005] However, such solutions cannot leverage the rich discourse-related information to answer questions, manage dialogs, make recommendations, or enable "chatbot" systems because existing solutions lack rhetorical analysis and are unable to match answers to questions. More specifically, statistical-based solutions fail to separate the tasks of determining the topic from a sentence and addressing the rhetorical match between the sentence and the answer. Statistical-based solutions either do not consider the rhetorical structure of the question and answer at all, or attempt to address topic and rhetorical match simultaneously and fail to adequately address rhetorical match. Without sufficient rhetorical analysis, questions, which may have any rhetorical structure, cannot be matched with appropriate answers, which may also have any rhetorical structure.

[0006] Therefore, a new solution is needed that can accurately represent the rhetorical match between questions and answers. Summary of the Invention

[0007] overview Generally, the systems, devices, and methods of the present invention relate to computing rhetorical relationships between one or more sentences. In one example, a computer-implemented method accesses sentences containing fragments. At least one fragment includes a verb and a word. Each word may play a role of a word within the fragment. Each fragment is a basic discourse unit. The method generates a discourse tree that represents the rhetorical relationships between the sentence fragments. The discourse tree includes nodes, including non-terminal nodes and terminal nodes. Each non-terminal node includes two sentence flags from the sentence fragment. The discourse tree represents rhetorical relationships between sentence fragments, with each terminal node of the discourse tree being associated with one of the sentence fragments. The method matches each fragment with a verb signature, thereby creating a communicative discourse tree.

[0008] The matching includes accessing a number of verb signatures, each of which includes a sequence of verbs and thematic roles for the fragment. For each verb signature of the plurality of verb signatures, the method determines the number of thematic roles of the respective signature that match the roles of words in the fragment. The method selects a particular verb signature from the plurality of verb signatures based on the particular verb signature containing the most matches. The method associates the particular verb signature with the fragment. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 illustrates an exemplary rhetorical classification environment according to one aspect. [Figure 2] FIG. 1 illustrates an example of a discourse tree according to one aspect. [Figure 3] FIG. 10 illustrates yet another example of a discourse tree according to an aspect. [Figure 4] FIG. 1 illustrates an exemplary schema according to one aspect. [Figure 5] FIG. 2 illustrates a node-link representation of a hierarchical binary tree according to one aspect. [Figure 6] FIG. 6 illustrates an exemplary indented text encoding for the representation in FIG. 5 according to one aspect. [Figure 7] FIG. 1 illustrates an example DT for a property tax request example, according to one aspect. [Figure 8] FIG. 8 illustrates exemplary responses to the questions presented in FIG. 7. [Figure 9] FIG. 1 illustrates a discourse tree for a formal response according to one aspect. [Figure 10] FIG. 1 illustrates a discourse tree for an unprocessed response according to one aspect. [Figure 11] FIG. 1 illustrates a communicative discourse tree for a first agent's request according to one aspect. [Figure 12]FIG. 10 illustrates a discourse tree for communication of a second agent's request, according to one aspect. [Figure 13] FIG. 10 illustrates a communicative discourse tree for a request by a third agent according to one aspect. [Figure 14] FIG. 10 is a diagram showing perspective interlacing according to one aspect. [Figure 15] FIG. 1 illustrates an exemplary process for building a communicative discourse tree according to one aspect. [Figure 16] FIG. 1 illustrates a discourse tree and a scenario graph according to one aspect. [Figure 17] FIG. 1 illustrates the formation of a request-response pair according to one aspect. [Figure 18] FIG. 1 illustrates a discourse tree for a maximum common sub-communication according to one aspect. [Figure 19] FIG. 1 illustrates a tree in kernel learning format for a communicative discourse tree according to one aspect. [Figure 20] FIG. 1 illustrates an exemplary process used to implement a rhetorical match classifier, according to one aspect. [Figure 21] FIG. 1 illustrates a chatbot that comments on posts, according to one aspect. [Figure 22] FIG. 1 illustrates a chatbot that comments on posts, according to one aspect. [Figure 23] FIG. 2 illustrates a discourse tree for an algorithmic text according to one aspect. [Figure 24] FIG. 1 illustrates an annotated sentence according to one aspect. [Figure 25] FIG. 1 illustrates an annotated sentence according to one aspect. [Figure 26] FIG. 1 illustrates discourse actions of a dialogue according to one aspect. [Figure 27] FIG. 1 illustrates discourse actions of a dialogue according to one aspect. [Figure 28]1 is a simplified diagram illustrating a distributed system for implementing one of the above aspects. [Figure 29] FIG. 1 is a simplified block diagram illustrating components of a system environment in which services provided by components of an aspect of the system may be provided as cloud services, according to one aspect. [Figure 30] FIG. 1 illustrates an exemplary computer system in which various aspects of the present invention may be implemented. DETAILED DESCRIPTION OF THE INVENTION

[0010] Detailed Description Some aspects disclosed herein provide technical advances in the field of computer-implemented linguistics. More specifically, some aspects described herein relate to representing rhetorical relations of one or more sentences in a communicative discourse tree.

[0011] A "communicative discourse tree" or "CDT" comprises a discourse tree that is supplemented with communicative actions, which are collaborative actions taken by individuals based on mutual discussion and debate.

[0012] Yet another aspect disclosed herein uses communicative discourse trees to provide improved automated agents or chatbots that can answer questions received from users. By using communicative discourse trees, some aspects overcome limitations of previous systems that often cannot separate the tasks of determining a topic from a sentence and addressing the rhetorical fit between the sentence and the answer.

[0013] In one example, a rhetorical classification application executing on a computing device receives a question from a user. The rhetorical classification application generates a communicative discourse tree for the question. The communicative discourse tree is a discourse tree or a tree that is a discourse tree including communicative acts. The rhetorical classification application accesses a database of possible answers to the question. Using a predictive model, the rhetorical matching application determines a level of complementarity between the question and each possible answer. In response to determining that the level of complementarity is above a threshold, the rhetorical matching classifier provides the answer to the user, for example, via a display device.

[0014] Some aspects of the technical advantages include improved autonomous agents, such as chatbots, and improved search engine performance over traditional statistical-based approaches. Traditional statistical keyword-based approaches either (i) do not address the topic of the question or (ii) do not address the rhetorical match between the question and the answer. As a result, existing autonomous agent solutions can only perform prescribed or limited responses to user questions. Such solutions cannot determine whether an answer is sufficiently responsive to the question.

[0015] For example, some aspects described in this specification use communicative discourse trees. Communicative discourse trees combine rhetorical information with communicative acts. By incorporating labels that identify communicative acts, they provide richer characteristics than the simple rhetorical relations and syntax of elementary discourse units (EDUs). A communicative discourse tree can be trained on the feature set. With such a feature set, additional techniques such as classification can be used to determine the level of rhetorical match between a question and an answer or a request-response pair, thereby improving automated agents. In this way, computing systems enable autonomous agents that can intelligently answer questions and other messages.

[0016] Specific Definitions "Rhetorical structure theory" is used in this specification. It is an area of ​​research and study that has provided a logical foundation that may allow for the analysis of discourse coherence, if any.

[0017] "Discourse tree" or "DT" as used herein refers to a structure that expresses rhetorical relations about sentences that are part of a sentence.

[0018] "Rhetorical relation," "rhetorical relation," "coherence relation," or "discourse relation," as used herein, describes how two segments of discourse are logically connected to each other. Examples of rhetorical relations include elaboration, contrast, and attribution.

[0019] A "sentence fragment" or "fragment," as used herein, is a part of a sentence that can be separated from the rest of the sentence. A fragment is a basic discourse unit. For example, in the sentence "Dutch accident investigators say that evidence points to pro-Russian rebels as being responsible for shooting down the plane," the two fragments are "Dutch accident investigators say that evidence points to pro-Russian rebels" and "as being responsible for shooting down the plane." Fragments A statement may, but does not necessarily, contain a verb.

[0020] "Signature" or "frame" as used herein refers to the properties of verbs in a fragment. Each signature may contain one or more thematic roles. For example, in the fragment "Dutch accident investigators say that evidence points to pro-Russian rebels," the verb is "say." In this particular use case, the signature can be "agent-verb-topic", where "investigators" are the agents and "evidence" is the topic. .

[0021] "Thematic role," as used herein, refers to a component of a signature that is used to describe the role of one or more words. Continuing with the example above, "agent" and "topic" are thematic roles.

[0022] "Nuclearity," as used herein, refers to which text segment, fragment, or span is closer to the center of the writer's purpose. A nucleus is a more central span, and a satellite is a less central one.

[0023] "Coherency," as used in this specification, refers to the relationship between two It refers to something that links together.

[0024] A "communicative verb," ​​as used herein, is a verb that indicates communication. For example, "deny" The verb "u" is a communicative verb.

[0025] "Communicative behavior," as used herein, describes an action performed by one or more agents and the subject of the agents.

[0026] Figure 1 illustrates an exemplary rhetorical classification environment according to one aspect. Figure 1 illustrates a rhetorical classification computing device 101, an input question 130, an output question 150, a data network 104, a server 160, and a mobile device 170. The rhetorical classification computing device 101 includes one or more of a rhetorical classification application 102, an answer database 105, a rhetorical match classifier 120, and training data 125. The rhetorical classification application 102 includes one or more of a question communication discourse tree 110 and an answer communication discourse tree 110.

[0027] Mobile device 170 may be any mobile device, such as a mobile phone, smartphone, tablet, laptop, smartwatch, etc. Mobile device 170 communicates with server 160 or rhetorical classification computing device 101 over data network 104. In this manner, mobile device 170 can provide questions 171, for example from a user, to server 160 or rhetorical classification computing device 101. In one example, rhetorical classification computing device 101 determines preferred answers 172 and provides answers 172 to mobile device 170 over data network 104.

[0028] The data network 104 may be any public network, private network, wired network, wireless network, wide area network, local area network, or the Internet.

[0029] In one example, the rhetorical classification application 102 answers questions received via chat. More specifically, the rhetorical classification application 102 receives an input question 130, which may be a single question or a series of questions, such as via chat. The rhetorical classification application 102 creates a question communication discourse tree 110 and selects one or more candidate answers. The answers may be obtained from an existing database, such as an answer database 105, or from a server 160 by communicating over a data network 104. The server 160 may be a public or private internet server, such as a public database of user questions and answers.

[0030] The rhetorical classification application 102 determines the most suitable answer from the candidate answers. Various methods can be used, as described further herein. In one aspect, the rhetorical classification application 102 may create a candidate answer communicative discourse tree for each candidate answer and compare the question communicative discourse tree 110 with each candidate discourse tree. The rhetorical classification application 102 identifies the best match between the question communicative discourse tree and the candidate answer communicative discourse tree. The rhetorical classification application 102 then accesses or queries a database for text from the best communicative discourse tree. The rhetorical classification application 102 then sends the text associated with the second communicative discourse tree to the mobile device.

[0031] In another aspect, the rhetorical classification application 102 creates an answer communication discourse tree 111 for each candidate answer. For each candidate answer, the rhetorical classification application 102 then creates a question-answer pair including a question 130 and the candidate answer.

[0032] The rhetorical classification application 102 provides question-answer pairs to a predictive model, such as a rhetorical match classifier 120. Using the trained rhetorical match classifier 120, the rhetorical classification application 102 determines whether the question-answer pair exceeds a threshold level of match (e.g., indicating whether the answer addresses the question). If not, the rhetorical classification application 102 continues to analyze additional pairs including the question and different answers until an appropriate answer is found. By using a communicative discourse tree, the rhetorical match and communicative behavior between the question and the response can be accurately modeled.

[0033] The rhetorical classification application 102 provides the answer as an output answer 150. For example, as shown in FIG. 1, an agent implemented by the rhetorical classification application 102 may respond to a chat history in which two users are discussing singing out loud by saying, "here is my own personal list of songs." Here's a list."

[0034] Rhetorical Structure Theory and Discourse Trees Linguistics is the scientific study of language. For example, linguistics can include the structure of a sentence (syntax), e.g., subject-verb-object, the meaning of a sentence (semantics), e.g., "dog bites man" vs. "man bites dog", and also what speakers do in conversation, i.e., discourse analysis or the analysis of language beyond the sentence.

[0035] The theoretical foundations of discourse (Rhetoric Structure Theory (RST)) are found in Mann, William and Thompson, Sandra, "Rhetorical structure theory: A Theory of Text-Interdisciplinary Journal for the Study of Discourse )8(3):243-281: 1988). RST enabled the analysis of discourse in a similar way to how the syntax and semantics of programming language theory enabled modern software compilers. More specifically, RST envisions building blocks at at least two levels: a first level, such as kernelity and rhetorical relations, and a second level, such as structure or schema. A discourse parser or other computer software can parse text into a discourse tree.

[0036] Rhetorical structure theory models the logical organization of a text (the structure used by the writer) by relying on the relationships between parts of the text. RST simulates text coherence by forming a hierarchical, connected structure of the text through a discourse tree. Rhetorical relationships are divided into equivalence classes and subclasses. These relationships maintain across two or more text spans, thereby achieving coherence. These text spans are called elementary discourse units (EDUs). Clauses within a sentence and sentences within a text are logically connected by the author. The meaning of a given sentence is related to the meaning of the previous and following sentences. This logical relationship between clauses is called the coherence structure of the text. RST is one of the most widespread theories of discourse, based on a tree-like discourse structure, the discourse tree (DT). The leaves of the DT correspond to EDUs (successive atomic text spans). Adjacent EDUs are connected by coherence relations (e.g., attributes, sequences) that form higher-level discourse units. These units are further subordinate to this relational link. EDUs linked by a relation are further differentiated based on their relative importance: the core is the core of the relation, and the satellites are the periphery. As mentioned above, both topic and rhetorical match are analyzed to determine the correct request-response pair. When a speaker uses a phrase or sentence, When answering any question, the speaker's response must address the topic of this question. If the question is formulated implicitly, through the seed text of the message, an appropriate response is expected that not only stays on topic but also matches the generalized cognitive state about this seed.

[0037] Rhetorical relations As mentioned above, several aspects described in this specification use communicative discourse trees. Rhetorical relations can be described in various ways. For example, Mann and Thompson describe 23 possible relations. C. Mann, William & There is "Rhetorical Structure Theory: A Theory of Text Organization" by Thompson, Sandra (1987) ("Mann and Thompson"). Several other relationships are also possible.

[0038] [Table 1]

[0039] Some empirical studies assume that the majority of texts are constructed using core-satellite relationships (see Mann and Thompson). However, other relationships do not involve a finite choice of cores. Examples of such relationships are given below.

[0040] [Table 2]

[0041] Figure 2 shows an example of a discourse tree according to one aspect. Figure 2 includes a discourse tree 200. The discourse tree includes text span 201, text span 202, text span 203, relation 210, and relation 228. The numbers in Figure 2 correspond to the three text spans. Figure 3 corresponds to the following text example with three text spans numbered 1, 2, and 3:

[0042] 1. Honolulu, Hawaii will be the site of the 2017 Conference on Hawaiian History.

[0043] 2. It is expected that 200 historians from the US and Asia will attend.

[0044] 3. The conference was about how Polynesians sailed to Hawaii. will be concerned with how the Polynesians sailed to Hawaii).

[0045] For example, relationship 210, or elaboration, describes the relationship between text span 201 and text span 202. Relationship 228 indicates the relationship (elaboration) between text span 203 and text span 204. As shown, text spans 202 and 203 further elaborate on text span 201. In the example above, assuming the purpose is to inform the reader of a conference, text span 1 is the core. Text spans 2 and 3 provide more details about the conference. In Figure 2, horizontal numbers (e.g., 1-3, 1, 2, 3) cover spans of text (possibly composed of further spans), and vertical lines indicate a core or multiple cores. The curved lines represent rhetorical relationships (elaborations), with arrows pointing from the satellites to the core. If only text spans functioned as satellites, rather than as cores, removing the satellites would still leave the text coherent. Removing the core from Figure 2 would make text spans 2 and 3 difficult to understand.

[0046] Figure 3 shows a further example of a discourse tree according to one aspect. Figure 3 includes constituents 301 and 302, text spans 305-307, relation 310, and relation 328. Relation 310 shows the (enabling) relationship between constituent 306 and constituent 305, and between constituent 307 and constituent 305. Figure 3 points to the following text spans: 1. The new Tech Report abstracts are now in the journal area of ​​the library near the abridged dictionary.

[0047] 2. Please sign your name by any means that you would be interested in seeing.

[0048] 3. The last day for sign-ups is May 31st. As can be seen, relationship 328 indicates the relationship, or enabling, between entity 307 and entity 306. Figure 3 illustrates that although multiple kernels can be nested, there is only one most kernel text span.

[0049] Discourse tree construction Discourse trees can be generated using a variety of methods. A simple example of a method for building a DT bottom up is as follows: (1) Divide the discourse text into multiple units using (a) and (b) below.

[0050] (a) The unit size may vary depending on the purpose of the analysis. (b) Typically the unit is a clause.

[0051] (2) Examine each unit and each adjacent unit. Is there a relationship between them? (3) If the relationship is maintained, mark the relationship.

[0052] (4) If a relationship does not hold, the unit may be at the boundary of a higher-level relationship. Focus on the relationships that hold between larger units (spans).

[0053] (5) Continue until all units in the text are understood. Mann and Thompson also describe a second level of building block structures called schema applications. In RST, rhetorical relations are not mapped directly onto the text; rather, they are fitted onto structures called schema applications, which are then further fitted to the text. Schema applications are derived from simpler structures called schemas (as shown in Figure 4). Each schema shows how a particular unit of text can be decomposed into smaller textual units. A rhetorical structure tree, or DT, is a hierarchical system of schema applications. Schema applications link several consecutive text spans to create complex text spans. Complex text spans can then be linked by higher-level schema applications. RST asserts that the structure of any coherent discourse can be described by a single rhetorical structure tree, the top-level schema of which creates a span that encompasses the entire discourse.

[0054] FIG. 4 illustrates an exemplary schema according to one aspect. FIG. 4 shows that a joint schema is a list of items consisting of a core but no satellites. FIG. 4 illustrates schemas 401-406. Schema 401 illustrates a situational relationship between text span 410 and text span 428. Schema 402 illustrates a sequence relationship between text span 420 and text span 421, and a sequence relationship between text span 421 and text span 422. Schema 403 illustrates a contrastive relationship between text span 430 and text span 431. Schema 404 illustrates a joint relationship between text span 440 and text span 441. Schema 405 illustrates a motivational relationship between 450 and 451, and an enabling relationship between 452 and 451. Schema 406 illustrates a joint relationship between text span 460 and text span 462. An example of a joint scheme is illustrated in FIG. 4 for the following three text spans:

[0055] 1. Skies will be partly sunny in the New York metropolitan area today.

[0056] 2. It will be more humid, with temperatures in the middle 80's.

[0057] 3. Tonight will be mostly cloudy, with the low temperature between 65 and 70 degrees Fahrenheit.

[0058] Although Figures 2-4 show discourse trees in several graphs, other representations are possible.

[0059] Figure 5 shows a node-link representation of a hierarchical binary tree according to one aspect. As can be seen from Figure 5, the leaves of the DT correspond to consecutive but non-overlapping spans of text called elementary discourse units (EDUs). Adjacent EDUs are connected by relations (e.g., elaboration, attribute…) and form larger discourse units connected by relations. “Discourse analysis in RST involves two subtasks: discourse segmentation is the task of identifying EDUs, and discourse parsing is the task of linking discourse units into a labeled tree.” See Joty, Shafiq R, Giuseppe Carenini, Raymond T Ng, and Yashar Mehdad (2013), “Combining intra- and multi-sentential rhetorical parsing for document-level discourse analysis,” ACL (1), pages 486-496. I want to be.

[0060] Figure 5 shows text spans that are leaves or terminal nodes on a tree, numbered in the order in which they appear throughout the text shown in Figure 6. Figure 5 includes a tree 500. Tree 500 includes, for example, nodes 501-507. The nodes represent relationships. The nodes are either non-terminal nodes, such as node 501, or terminal nodes, such as nodes 502-507. As can be seen, nodes 503 and 504 are related by a joint relationship. Nodes 502, 505, 506, and 508 are nuclei. The dotted lines indicate that the branches or text spans are satellites. These relationships are the nodes in the gray boxes.

[0061] FIG. 6 shows an exemplary indented text encoding for the representation in FIG. 5, according to one aspect. FIG. 6 includes text 600 and text sequences 602-604. Text 600 is represented in a manner that is more amenable to computer programming. Text sequence 602 corresponds to node 502. Sequence 603 corresponds to node 503. Sequence 604 corresponds to node 504. In FIG. 6, "N" indicates a nucleus and "S" indicates a satellite.

[0062] Discourse Parser Example Automatic discourse segmentation can be performed in various ways. For example, given a sentence, a segmentation model identifies boundaries of composite basic discourse units by predicting whether a boundary should be inserted before each particular token in the sentence. For example, one framework considers each token in the sentence sequentially and independently. In this framework, the segmentation model scans the sentence token by token and uses binary classification, such as a support vector machine or logistic regression, to predict whether it is appropriate to insert a boundary before the token being examined. In another example, the task is a sequential labeling problem. Once the text is segmented into basic discourse units, a sentence-level discourse analysis can be performed to construct a discourse tree. Machine learning techniques can be used.

[0063] In one aspect of the present invention, two Rhetorical Structure Theory (RST) discourse parsers are used: CoreNLPProcessor, which relies on constituent syntax, and FastNLPProcessor, which uses dependency syntax. Refer to "Two Practical Rhetorical Structure Theory Parsers" (2015) stomach.

[0064] In addition, the two discourse parsers mentioned above, i.e., CoreNLPProcessor and FastNLPProcessor, use Natural Language Processing (NLP) for parsing. For example, Stanford CoreNLP presents basic shapes for multi-word parts of speech, whether they are names of companies, people, etc.; standardizes dates, times, and numerical quantities; marks sentence structure in terms of phrases and syntactic dependencies; and indicates which noun phrases refer to the same entity. In practice, RST remains a theory of discourse that may work in many cases, but may not work in other cases. There are many variables, including but not limited to what EDUs are in a coherent text, i.e., what discourse segmenter is used, what relation inventory is used, what relations are selected for the EDUs, the corpus of documents used for training and testing, and even what parser is used. Thus, for example, in the aforementioned paper "Two Practical Rhetorical Structure Theory Parsers" by Surdeanu et al., specialized parsers are used to determine which parser will give better performance. Testing must be performed on a specific corpus using the metrics determined. Thus, unlike computer language parsers, which produce predictable results, discourse parsers (and segmenters) can produce unpredictable results depending on the training and / or testing text corpus. Discourse trees are thus a mixture of predictable techniques (e.g., compilers) and unpredictable techniques (e.g., chemistry, where experimentation is required to determine which combinations will produce the desired results).

[0065] To objectively judge how good a discourse analysis is, for example, read Daniel Marcu's "The Theory and Practice of Discourse Parsing and Summarization" (MIT Press) (2000) and a series of other metrics such as Precision / Recall / F1. Metrics are used. Precision, or positive predictive value, is the fraction of relevant instances among the instances retrieved, while recall (also known as sensitivity) is the fraction of relevant instances retrieved over the total amount of relevant instances. Thus, both precision and recall are based on understandings and measures of relevance. Suppose a computer program for recognizing dogs in photos identifies eight dogs in a photo containing twelve dogs and some cats. Of the eight dogs identified, five are actually dogs (true positives) and the rest are cats (false positives). The program's precision is 5 / 8 and its recall is 5 / 12. If a search engine returns 30 pages, but only 20 of them are relevant, and it does not return an additional 40 relevant pages, its precision is 20 / 30 = 2 / 3 and its recall is 20 / 60 = 1 / 3. Thus, in this case, precision is "how useful the search results are," and recall is "how complete the results are." The F1 score (F-score or F-criterion) is a measure of the accuracy of a test. It takes into account both the precision and recall of a test to calculate the score. F1=2x(precision x recall) / (precision + recall)), which is the harmonic mean of precision and recall. The F1 score reaches its optimum at 1 (perfect precision and recall) and its worst at 0.

[0066] Autonomous Agents or Chatbots A conversation between person A and person B is a form of discourse. For example, applications such as Facebook Messenger, WhatsApp, Slack, and SMS There exists a world where conversation between A and B may typically be via messages, in addition to more traditional email and voice conversations. A chatbot (sometimes called an intelligent bot or virtual assistant) is an "intelligent" machine that, for example, replaces person B and mimics to varying degrees the conversation between the two people. One example goal is for person A to be unable to distinguish whether person B is a human or a machine (the Turing test, developed by Alan Turing in 1950). Artificial intelligence, including discourse analysis and machine learning, and natural language processing have made great strides toward the long-term goal of passing the Turing test. Of course, computers are also increasingly able to search and process vast repositories of data and perform complex analysis on the data, including predictive analytics, with the long-term goal being to combine computers with human-like chatbots.

[0067] For example, users can interact with an intelligent bot platform through conversational interactions. This interaction, called a conversational user interface (UI), is a dialogue between the end user and the chatbot, just like between two people. This can be achieved by an end user saying "Hello" to the chatbot. It can be as simple as saying "Hello," and the chatbot responds "Hi," and then the chatbot asks the user what their business is; or it can be a transactional interaction with a banking chatbot, such as transferring money from one account to another; or an informational exchange with an HR chatbot, such as checking vacation balance; or an FAQ question with a retail chatbot, such as how to process a return. Natural language processing (NLP) and machine learning (ML) algorithms combined with other approaches can be used to classify the end user's intent. A high-level intent is what the end user wants to accomplish (e.g., get an account balance and make a purchase). An intent is essentially a mapping of customer input to units of work for the backend to perform. So based on the phrases uttered by the user in the chatbot, these are mapped to specific distinct use cases or units of work for, for example, balance enquiry, money transfer and tracking expenses - all "use cases" that the chatbot should be able to support and solve, which units of work should be triggered from the free text entry that the end user types in natural language.

[0068] The underlying principle of making an AI chatbot respond like a human is that the human brain can formulate and understand requests, and furthermore, can provide superior responses to human requests far better than a machine can. Therefore, if human B is to be imitated, the chatbot's requests / responses must be significantly improved. So the first part of the problem is how the human brain formulates and understands requests. A model is used for imitating. RST and DT allow a formal and repeatable way to do this.

[0069] At a high level, there are typically two types of requests: (1) a request to perform some action, and (2) a request for information (e.g., a question). The first type has a response for which a unit of work is created. The second type has a response to the question (i.e., e.g., a good answer). For example, in some aspects the answer may take the form of AI constructing an answer from an extensive knowledge base or from matching the best existing answer by searching the internet or intranet or other publicly or privately available data sources.

[0070] Communicative discourse trees and rhetorical classifiers Aspects of the present disclosure build a communicative discourse tree and use the communicative discourse tree to analyze whether the rhetorical structure of a request or question matches the answer. More specifically, aspects described herein create representations of request-response pairs, learn these representations, and associate pairs with classes of valid or invalid pairs. In this manner, an autonomous agent receives a question from a user and, for example, generates a set of multiple The question can be processed by searching for an answer, the best answer from among multiple answers can be determined, and the answer can be provided to the user.

[0071] More specifically, to represent the linguistic features of text, the aspects described herein use rhetorical relations and speech acts (or communicative actions). Rhetorical relations are relationships between parts of sentences, typically obtained from a discourse tree. Speech acts are obtained as verbs from a verb resource such as VerbNet. By using both rhetorical relations and communicative actions, the aspects described herein can accurately recognize valid request-answer pairs. To do so, the aspects correlate the syntactic structure of a question with the syntactic structure of an answer. Using this structure, a better answer can be determined.

[0072] For example, if an autonomous agent receives an indication from a person that the person wishes to sell an item with a particular characteristic, the autonomous agent should provide search results that not only include the characteristic but also indicate an intent to purchase. In this manner, the autonomous agent has determined the user's intent. Similarly, if an autonomous agent receives a request from a person to share information about a particular item, the search results should include an intent to receive a recommendation. If a person asks the autonomous agent for opinions on a topic, the autonomous agent shares its opinion on the subject rather than soliciting another opinion.

[0073] Analyzing request and response pairs Figure 7 shows an example DT for the property tax request example, according to one aspect. Node labels are relationships, and arrowhead lines point to satellites. The kernel is a solid line. Figure 7 shows the following text:

[0074] Request: "My husbands' grandmother him his grandfather's truck. She signed the title over but due to my husband having unpaid fines on his license, he was not able to get the truck put in his name. I wanted to put in my name and paid the property and got insurance for the truck. By the time it came to sending off the title and getting the tag, I didn't have the money to do so. Now, due to circumstances, I am not going to be able to afford the truck. I went to the insurance place and was refused a refund. I am just wondering that since I am not going to have a tag on this truck, is it possible to get the property tax refunded? (My husband's grandmother gave him his grandfather's truck. She gave up ownership. However, my husband had outstanding fines on his license so he couldn't put the truck in his name. I wanted it in my name, so I paid the property taxes and got insurance on the truck. When it came time to get the title and get the identification tag, I didn't have the money to do so. Now, depending on the situation, I won't be able to afford to keep the truck. I went to my insurance agent and they refused to refund me. I'm wondering if I can get the property taxes refunded if I can't get the identification tag on this truck."

[0075] Response: "The property tax is assessed on property that you own. Just because you chose to not register it does not mean that you don't own it, so the tax is not refundable. Even if you have not titled the vehicle yet, you still own it within the boundaries of the tax district, so the tax is payable. Note that all states give you a limited amount of time to transfer title and pay the use tax. If you apply late, there will be penalties on top of the normal taxes and fees. You don't need to register it at the same time, but you absolutely need to titl Property taxes are levied on property you own. Just because you choose not to register it does not mean you don't own it. Therefore, the tax cannot be refunded. Even if you haven't yet title to the vehicle, you still own it within the taxing district boundaries and must pay the tax. Keep in mind that every state has a limited time to transfer title and pay use taxes. If you file late, you may be assessed penalties in addition to the regular taxes and fees. You don't have to register the vehicle at the same time, but you must make sure you title it within the time period stipulated by state law. As can be seen from Figure 7, by analyzing the above text, we obtain the following results: "My husband's grandmother gave him his grandfather's truck" is elaborated by the expression "She signed the title over but due to my husband", which is elaborated by "having unpaid fines on his license, he was not able to get the truck put in his name", which is elaborated by the expressions "I wanted to put in my name", "and paid the property tax", and "and got insurance for the truck".

[0076] "My husbands' grandmother gave him his grandfather's truck. She signed the title over but due to my husband having unpaid fines on his license, he was not able to get the truck put in his name. I wanted to put in my name and paid the "property tax and got insurance for the truck." means "it came to sending off the "By the time" is detailed by "title" as opposed to "to do so" This is elaborated by the phrase "I didn't have the money."

[0077] "My husbands' grandmother gave him his grandfather's truck. She signed the title over but due to my husband having unpaid fines on his license, he was not able to get the truck put in his name. I wanted to put in my name and paid the property tax and got insurance for the truck. By the time it came to sending off the title and getting the tag, I didn't have the money to do so」 is detailed by 「I went to the insurance place」 and 「and was refused a refund」, and contrasted with 「Now, due to circumstances,」 detailed by 「I am not going to be able to afford the truck」.

[0078] 「My husbands’ grandmother gave him his grandfather’s truck. She signed the title over but due to my husband having unpaid fines on his license, he was not able to get the truck put in his name. I wanted to put in my name and paid the property tax and got insurance for the truck. By the time it came to sending off the title and getting the tag, I didn't have the money to do so. Now, due to circumstances, I am not going to be able to afford the truck. I went to the insurance place and was refused a refund." This is detailed in "Refunded?"

[0079] "I am just wondering" means "since I am not going to have a tag on this truck." " is it possible to get the property tax refunded?" It belongs to the unit "that".

[0080] As can be seen, the main subject of the topic is "Property Tax on Automobiles." The question contains a contradiction: on the one hand, all property is taxable, while on the other hand, property rights are somewhat imperfect. A suitable response would address the topic of the question: Both must clarify the contradiction. To this end, the respondent further asserts the need to pay tax on everything owned, regardless of registration status. This example is an element of a positive training set from the Yahoo! Answers reputation domain. The main topic theme is "Property Tax on Cars." The question contains a contradiction: on the one hand, everything owned is taxable, while on the other hand, ownership is somewhat incomplete. A good answer / response must address the topic of the question and clarify the contradiction. The reader may realize that the question contains a rhetorical relation of contrast, and therefore the answer must match the question in a similar relation to be convincing. In other cases, the answer will appear incomplete even to those who are not experts in the field.

[0081] 8 shows an exemplary response to the question presented in FIG. 7 in accordance with certain aspects of the present invention. The central question is "The property tax is assessed on property" which is expanded by "that you own." ” also means “Just because you chose to not register it does not mean that you don't own it, so the tax is not refundable. Even if you have not titled the vehicle yet, you still own it within the boundaries of the tax district, so the tax is payable. Note that all states give you a limited amount of time to transfer title and pay the use tax.

[0082] The core of the tax is "The property tax is assessed on property that you own. Just because you chose to not register it does not mean that you don't own it, so the tax is not refundable. Even if you have not titled the vehicle yet, you still own it within the boundaries of the tax district, so the tax is payable. Note that all "States give you a limited amount of time to transfer title and pay the use tax." This is further clarified by the condition, "If you apply late, there will be penalties on top of the normal taxes and fees." This is further clarified by the contrast, "but you absolutely need to title it within the period of time stipulated in state law" and "You don't need to register it at the same time."

[0083] By comparing the DT of Figure 7 with the DT of Figure 8, it is possible to determine how well the response (Figure 8) matches the request (Figure 7). In some aspects of the invention, the above framework is used, at least in part, to determine the DT for request / response and rhetorical fit between the DTs.

[0084] In another example, the question "What does The Investigative Committee of the Russian Federation do?" has at least two answers, for example, the official answer or the actual answer.

[0085] Figure 9 shows the discourse tree for the official response according to one aspect. As shown in Figure 9, the official response or statement states, "The Investigative Committee of the Russian Federation is the main federal investigating authority which operates as Russia's Anti-corruption agency and has statutory responsibility for inspecting the police forces, combating police corruption and police misconduct, is responsible for conducting investigations into local authorities and federal governmental bodies."

[0086] Figure 10 shows the discourse tree for the raw answers according to one aspect. As shown in Figure 10, an alternative, possibly more honest, answer is: "The Investigative Committee of the Russian Federation is supposed to fight corruption. However, Top-ranking officers of the Investigative Committee of the Russian Federation are accused of creating a criminal community. Not only that, but their involvement in large bribes, money laundering, obstruction of justice, abuse of power, extortion, and racketeering has been reported. Due to the activities of these officers, dozens of high-profile cases, including those against criminal lords, have been ultimately ruined. (The Investigative Committee of the Russian Federation is supposed to fight corruption.) However, top-ranking officials of the Investigative Committee of the Russian Federation have been implicated in the establishment of criminal groups. Furthermore, these officials have been reported to be involved in large-scale bribery, money laundering, obstruction of justice, abuse of power, blackmail, and extortion. The activities of these officials have ultimately ruined dozens of high-profile cases, including those involving criminal kingpins." The choice of answer depends on the context. Rhetorical structures include "official", "politically correct" template-based answers and "actual", " "raw," "reports from the field," or "controversial" This allows us to distinguish between "controversial" and "controversial" responses (see Figures 9 and 10). (See references below.) Sometimes the question itself can give a hint as to which category of answer is expected. If the question is formulated as a factual or definitional question without a second meaning, an answer in the first category is appropriate. In other cases, if the question has the meaning "tell me what it actually is," the second category is appropriate. In general, after extracting the rhetorical structure from the question, it is easier to select an appropriate answer that will have a similar, matching, or complementary rhetorical structure.

[0087] The formal answer is based on elaborations and joints that are neutral in terms of the arguments the text may contain (see figure). At the same time, the raw answer contains a contrastive relation: this relation between phrases about what the agent is expected to do and phrases about what this agent was found to have done is extracted.

[0088] Classification of request-response pairs The rhetorical classification application 102 can determine whether a given answer or response, such as an answer obtained from the answer database 105 or a public database, is responsive to a given question or request. More specifically, the rhetorical classification application 102 analyzes whether a request-response pair is accurate or inaccurate by determining one or both of (i) relevance or (ii) rhetorical match between the request and the response. Rhetorical match can be analyzed without taking relevance into account, which can be treated orthogonally.

[0089] The rhetorical classification application 102 can determine the similarity between question-answer pairs using a variety of methods. For example, the rhetorical classification application 102 can determine a level of similarity between each question and each answer. Alternatively, the rhetorical classification application 102 can determine a measure of similarity between a first pair including a question and an answer and a second pair including a question and an answer.

[0090] For example, the rhetorical classification application 102 uses a rhetorical match classifier 120 that is trained to predict matching or non-matching answers. The rhetorical classification application 102 may select two pairs at a time, e.g.<q1,a1> and<q2,a2> , the rhetorical classification application 102 can process q1 into q2 and a1 is compared with a1 to generate a combined similarity score. Such comparisons make it possible to determine whether an unknown question / answer pair contains the correct answer by assessing its distance from another question / answer pair with a known label. In particular, an unlabeled pair<q2,a2> does not "guess" accuracy based on words or structures shared by q2 and a2, but rather, both q2 and a2 use these words or structures to<q2,a2> Since this approach aims to classify answers independently of the domain, it can only exploit the structural unity between the question and the answer, but cannot exploit the "meaning" of the answer.

[0091] In one aspect, the rhetorical classification application 102 uses training data 125 to train the rhetorical match classifier 120. In this manner, the rhetorical match classifier 120 is trained to determine the similarity between question and answer pairs, which is a classification problem. The training data 125 may include a positive training set and a negative training set. The training data 125 includes matching request-response pairs in the positive data set and optional or less relevant or appropriate request-response pairs in the negative data set. For the positive data set, various domains are selected with distinct acceptance criteria indicating whether an answer or response is appropriate for the question.

[0092] Each training data set includes a set of training pairs. Each training set includes a question-communicating discourse tree that represents a question and an answer-communicating discourse tree that represents an answer and represents the expected level of complementarity between the question and the answer. Using an iterative process, the rhetorical classification application 102 provides the training pairs to the rhetorical match classifier 120 and receives the level of complementarity from the model. The rhetorical classification application 102 calculates a loss function by determining the discrepancy between the determined level of complementarity and the expected level of complementarity for a particular training pair. Based on the loss function, the rhetorical classification application 102 adjusts the internal parameters of the classification model to minimize the loss function.

[0093] Acceptance standards may vary depending on the application. For example, acceptance standards may be low for community question and answering, automated question and answering, automated customer support systems, manual customer support systems, social network communications, and individual posts by consumers about their experiences with products, such as surveys and complaints. RR acceptance standards may be high for scientific and technical documents, specialized journals and magazines, FAQ-style health and legal documents, and specialized social networks such as "stackoverflow." There is a high possibility that

[0094] Communicative Discourse Tree (CDT) The rhetorical classification application 102 can create, analyze, and compare communicative discourse trees. Communicative discourse trees are designed to combine rhetorical information with speech act structure. CDTs contain arcs labeled with expressions about communicative actions. By combining communicative actions, CDTs enable the modeling of RST relations and communicative actions. CDTs are an epitome of parse chiasm. See Galitsky, B. Ilvovsky, D. Kuznetsov, SO, "Rhetoric Map of an Answer to Compound Queries Knowledge Trail Inc. ACL 2015, 681-686" (Galitsky (2015)). Parse chiasm combines the parse tree for a sentence with the discourse-level relationships between the words and parts of the sentence in one graph. By incorporating labels that identify speech acts, the learning of communicative discourse trees can be carried out over a much richer set of features than the syntax and proper rhetorical relations of elementary discourse units (EDUs).

[0095] In one example, a debate between three parties regarding the causes of the downing of a civilian airliner, Malaysian Airlines Flight 17, is analyzed. An RST representation of the back-and-forth debate is constructed. In this example, three competing agents—Dutch investigators, the Investigative Committee of the Russian Federation, and the self-proclaimed Donetsk People's Republic—exchange their opinions on the issue. This example illustrates a contentious conflict in which each party threatens to accuse the other. To appear more persuasive, each party not only makes its own claims but also formulates responses to reject the claims of the other party. To achieve this goal, each party attempts to match the style and discourse of the other party's claims.

[0096] FIG. 11 illustrates a communicative discourse tree for the first agent's claim according to one aspect. FIG. 11 illustrates a communicative discourse tree 100 representing the following text: "Dutch accident investigators say that evidence points to pro-Russian rebels as being responsible for shooting down a plane. The report indicates Dutch crash investigators say evidence points to pro-Russian rebels being responsible for the downing of MH17. The report shows where the missile was fired from and identifies who was in control of the territory and pins the downing of MH17 on the pro-Russian rebels. As can be seen from Figure 11, the non-terminal nodes of the CDT are rhetorical relations, and the terminal nodes are the basic discourse units (phrases, sentence fragments) that are the subjects of these relations. Some arcs of the CDT are labeled with expressions about communicative actions, including the agents who are the actors, and the subjects of these actions (what is being exchanged). For example, the core node for the elaboration relation (on the left) is labeled with say(Dutch, evidence), and the satellite is labeled with responsible(rebels, shooting down). These labels indicate that the subjects of the EDUs are evidence and shooting down. The intent is not to represent the fact that this CDT was shot down, but to match this CDT with others in order to find similarities between them. In this case, simply linking these communicative acts by rhetorical relations, rather than providing information about the communicative discourse, is too restrictive to represent the structure of what and how is being exchanged. The requirement for RR pairs to have the same or coordinated rhetorical relations is too weak, so in addition to matching nodes, it becomes necessary to match CDT labels on arcs.

[0097] The straight edges of this graph are syntactic relations, and the curved arcs are discourse relations such as anaphora, same entity, subentity, rhetorical relations, and communicative acts. This graph contains much richer information than simply combining parse trees for individual sentences. In addition to CDT, parse chiasm can be generalized at the level of words, relations, phrases, and sentences. Speech acts are logical predicates that represent the agents involved in each speech act and their subject. The arguments of logical predicates are formed according to their semantic roles, as proposed by frameworks such as VerbNet. See "A Large-scale Classification of English Verbs" by Karin Kipper, Anna Korhonen, Neville Ryant, and Martha Palmer (Language Resources and Evaluation Journal, 42(1), 21-40, Springer Netherland, 2008). and / or "VerbNet overview, extensions, mappings and apps" by Karin Kipper Schuler, Anna Korhonen, and Susan W. Brown (Tutorial, NAACL-HLT: 2009, Boulder, See Colorado.

[0098] Figure 12 shows a communicative discourse tree for the second agent's claim according to one aspect. Figure 12 shows a communicative discourse tree 1200 representing the following text: "The Investigative Committee of the Russian Federation believes that the plane was hit by a missile, which was not produced in Russia. The committee cites an investigation that established the type of the missile." Figure 13 shows a communicative discourse tree for a third agent's claim according to one aspect. Figure 13 shows a communicative discourse tree 1300 representing the following text: "Rebels, the self-proclaimed Donetsk People's Republic, deny that they controlled the territory from which the missile was allegedly fired. It became possible only after three months after the tragedy to say if rebels controlled one or another town." As can be seen from the communicative discourse trees 1100-1300, the responses are not arbitrary. They refer to the same entities as the original text. For example, communicative discourse trees 1200 and 1300 relate to communicative discourse tree 1100. The responses support inconsistencies with inferences and sentiments about these entities and about their behavior.

[0099] More specifically, the replies of participating agents should reflect the communicative discourse of the first seed message. As a simple observation, as the first agent uses attributes to convey its claims, other agents will follow that set and either provide their own attributes or attack the validity of the advocate's attributes, or both. Each CDT pair can be trained to capture a wide variety of features regarding how the communicative structure of the seed message needs to be preserved in subsequent messages.

[0100] To verify the match of requests and responses, discourse relations or speech acts (communicative actions) alone are often insufficient. As can be seen from the examples shown in Figures 11-13, the discourse structure and dialogue type of the dialogue between agents are useful. However, it is not necessary to analyze the domain of the dialogue (e.g., military conflict or politics) or the subject matter (i.e., entities) of these dialogues.

[0101] Representation of rhetorical relations and communicative actions Two approaches are often used to compute similarity between abstract structures: (1) represent these structures in a numerical space and represent similarity as a number (a statistical learning approach); or (2) use structural representations such as trees and graphs rather than numerical spaces to represent similarity as a maximal common substructure. Representing similarity as a maximal common substructure is called generalization.

[0102] Learning communicative actions aids in the representation and understanding of arguments. A computational verb lexicon helps support the capture of action entities and provides a rule-based format for expressing their meaning. Verbs are used to describe the events described. Together with the semantics of an event, they project syntactic structures that represent and encode relational information between the participants in that event. Verbs, especially communicative action verbs, are highly variable and can display a rich range of semantic behaviors. Accordingly, verb classification helps learning systems address this complexity by organizing verbs into groups that share core semantic properties.

[0103] VerbNet is one such lexicon that identifies the semantic roles and syntactic pattern characteristics of verbs within each class, and makes explicit the connections between the syntactic patterns and the underlying semantic relations that can be inferred for all members of the class. Karin Kipper, Anna Korhonen, Neville Ryant, and Martha Palmer See "Language Resources and Evaluation" (Vol. 42, No. 1 (March 2008) 21) by Each syntactic frame or verb signature for a class has a corresponding semantic expression that details the semantic relationships between event participants over the course of the event.

[0104] For example, the verb "amuse" is part of a cluster of similar verbs with similar structures of argument (semantic roles), such as amaze, anger, arouse some emotion, disturb, and irritate. The argument roles of these communicative actions are similar to those of Experiencer (commoner). The verbs are: amuse (a living entity), stimulus, and result. Each verb can have a semantic class that is distinguished by syntactic features of how the verb appears in a sentence or frame. For example, the frame for "amuse" is: As shown, the following main noun phrases (NP), nouns (N), communicative actions (V), verb phrases (VP), and adverbs (ADV) are used.

[0105] NP V NP. Example: "The teacher amused the children." Syntax: Stimulus V Experiencer. Clauses: amuse(Stimulus, E, Emotion, Experiencer), cause(Stimulus, E), emotional_state(Result(E), Emotion, Experiencer).

[0106] NP V ADV-Middle: Example: "Small children amuse quickly" (immediate enjoyment). Syntax: Experiencer V ADV. Clauses: amuse(Experiencer, Prop):-, property(Experiencer, Prop), adv(Prop).

[0107] NP V NP-PRO-ARB. Example: "The teacher amused." Syntax: Stimulus V. amuse(Stimulus, E, Emotion, Experiencer): cause(Stimulus, E), emotional_state(Result(E), Emotion, Experiencer).

[0108] NPcause V NP. Example: "The teacher's dolls amused the children." Syntax: Stimulus <+genitive>('s) V Experiencer. amuse(Stimulus, E, Emotion, Experiencer): cause(Stimulus, E), emotional_state(during(E), Emotion, Experiencer).

[0109] NP V NP ADJ. Example: "This performance bored me totally." (Completely annoying). Syntax: Stimulus V Experiencer Result. amuse(Stimulus, E, Emotion, Experiencer). cause(Stimulus,E), emotional_state(result(E), Emotion, Experiencer), Pred(result(E), Experiencer).

[0110] Communicative actions can be characterized into several clusters, e.g., verbs with predicate complements (appoint, characterize, dub, declare, conjecture, masquerade, etc.). ), orphan, captain, consider, classify; verbs of perception (see, sight, peer) )); mental state verbs (amuse, admire, marvel) ), appeal; verbs of desire (want, long); verbs of judgment (judgment); verbs of evaluation (assess, estimate); verbs of search (hunt, search, stalk, investigate, rummage, ferret); verbs of social interaction (correspond, marry, meet, battle); verbs of communication (transfer, inquire, interrogate, tell, manner (speaking, talk, speak, chat, say, complain, advise verbs of measurement (register, cost, fit, price, bill); Aspect verbs (begin, complete, continue, stop) There are three words: to complete, to establish, and to sustain.

[0111] Aspects described herein have advantages over statistical learning models. In contrast to statistical solutions, aspects that use classification systems can provide verbs or verb-like structures that are determined to yield desired features (such as rhetorical matches). For example, statistical machine learning models represent similarities as numbers, which can be difficult to interpret.

[0112] Representing a request-response pair Representing request-response pairs facilitates classification-based operations based on a pair. In one example, a request-response pair can be represented as a parse chiasm. A parse chiasm represents the parse trees for two or more sentences using discourse-level relationships between the words and parts of the sentences in a graph. See Galitsky (2015). Topical similarity between a question and an answer can be represented as a common subgraph of the parse chiasm. The more common graph nodes there are, the higher the similarity.

[0113] 14 illustrates parse interweaving according to one aspect. FIG. 14 illustrates parse interweaving 1400, which includes a parse tree for a request 1401 and a parse tree for a corresponding response 1402.

[0114] The question posed by parse tree 1401 is: "I just had a baby and it looks more like the husband I had my baby with. However, it does not look like me at all and I am scared that he was cheating on me with another lady and I had her kid. This child is the best thing that has ever happened to me and I I can't imagine giving my baby to the real mom. "I feel like this baby I have with my husband looks more like him, but he looks nothing like me and I'm scared he cheated on me with another woman and is raising her child. This child is the best thing that has ever happened to me and I can't imagine giving it up to its real mother." Response 1402 represents the following response: "Marital therapists advise on dealing with a child being born from an affair as follows. One option is for the husband to avoid contact but just have the basic legal and financial commitments. Another option is to have the wife fully involved and have the baby fully integrated into the family just like a child from a previous marriage." One option is to avoid contact with the husband and have him fulfill only basic legal and financial obligations. Another option is to fully involve the wife and fully integrate the baby into the family, just like a child from a previous marriage."

[0115] Figure 14 shows a greedy approach to representing linguistic information about a paragraph of text. The straight edges of this graph are syntactic relations, and the curved arcs are discourse relations such as anaphora, same-entity, subentity, rhetorical relations, and communicative acts. The solid arcs are for same-entity / subentity / anaphora relations, and the dotted arcs are for rhetorical relations and communicative acts. The oval labels on the straight edges indicate syntactic relations. Lemmas are written in boxes for the nodes, and the lemma forms are written to the right of the nodes.

[0116] The parse chiasm 1400 contains much richer information than simply combining the parse trees for individual sentences. Navigating through this graph along edges for syntactic relations and arcs for discourse relations allows a given parse chiasm to be converted into a semantically equivalent form for matching with other parse chiasms and performing text similarity assessment tasks. As many links as possible are represented to form a complete formal representation of the paragraph. Each discourse arc generates a pair of parse phrases that can be potential matches.

[0117] The topical similarity between the seed (request) and the response is represented as a common subgraph of the parsing intersection, visualized as a connected cloud. The greater the number of common graph nodes, the greater the similarity. For rhetorical matches, the common subgraph need not be large in a given text. However, the rhetorical relations and communicative actions of the seed and response must be interrelated and correspond.

[0118] Generalizations about communication behavior The similarity between two communicative actions A1 and A2 is defined as an abstract verb that possesses features that are common between A1 and A2. Defining the similarity of two verbs as abstract verb-like structures supports inductive learning tasks such as evaluating rhetorical agreement. In one example, the common verbs agree and disagree are The similarity between the two verbs can be generalized as follows: agree ^ disagree = verb(Interlocutor, Proposed_action, Speaker). In this case, the Interlocutor is the person who proposed the Proposed_action to the Speaker, and the Speaker The proposed_action conveys its response. Additionally, the proposed_action indicates whether the request or proposal is accepted. or the action that the Speaker would take if he or she refused, and the Speaker is the person to whom a particular action is proposed and who responds to the request or proposal made.

[0119] In yet another example, the similarity between the verbs agree and explain is as follows: agree ^ explain = verb(Interlocutor, *, Speaker). The subject of a communicative action is generalized in the context of the communicative action, but not in other "physical" actions. Thus, the aspect generalizes each occurrence of a communicative action with its corresponding subject.

[0120] Additionally, a sequence of communicative acts that represents a dialogue can be compared with other such sequences of similar dialogues. In this way, the dynamic discourse structure of the dialogue as well as the meaning of individual communicative acts (as opposed to its static structure reflected by rhetorical relations) are expressed. Generalization is a complex structural expression that occurs at each level. Lemma of communicative acts are generalized by lemmas, and their meanings are expressed by lemmas. Each semantic role is generalized by its own semantic role.

[0121] Communicative acts are used by text authors to indicate the structure of a dialogue or conflict. See Searle, JR (1969), "Speech Acts: An Essay in the Philosophy of Language" (Cambridge University Press). The subject is generalized in the context of these acts, not in other "physical" actions. Thus, individual occurrences of communicative acts are generalized in their subjects and in pairs of them as discourse "steps."

[0122] The generalization of communicative actions can also be considered in terms of matching verb frames such as VerbNet. Communicative links reflect discourse structures related by participation (or mention) rather than by a single agent in a text. Links form sequences that connect words about communicative actions (verbs or multiple words that implicitly indicate one's communicative intention).

[0123] A communicative act includes an actor, one or more agents acting on the actor, and a phrase that describes the characteristics of this act. A communicative act can be described as a function of form: verb (agent, subject, cause). In this case, the verb characterizes some type of interaction between the agents involved (e.g., explain, confirm, remind, disagree, deny, etc.). The subject refers to the information conveyed or the object stated. The cause refers to the motivation or explanation for the subject.

[0124] A scenario (a labeled directed graph) is a subgraph of the parsed intersection G = (V, A), where V = {action1, action2, ...action n} is a finite set of vertices corresponding to communication actions, and A is a finite set of labeled arcs (ordered pairs of vertices) classified as follows:

[0125] Each arc action i , action j ∈A sequence is a set of questions about the same subject (e.g., s j =s i or various subjects) refer to two actions v i , ag i , s i , c i and v j , ag j , s j , c jEach arc corresponds to an action i , action j ∈A cause is action i The cause of the action j action that shows conflict with the subject or cause of i and action j This corresponds to the attacking relationship with

[0126] The subgraph of a parse intersection associated with a scenario of interaction between agents has several notable characteristics, such as: (1) all vertices are time-ordered, and therefore every vertex (except the initial and terminal vertices) has one incoming arc and one outgoing arc; sequence For arcs, at most one incoming arc and one outgoing arc are allowed. (3)A cause In the case of arcs, there can be many incoming arcs as well as many outgoing arcs from a given vertex. The vertices involved may be associated with different agents or the same agent (i.e., if this agent contradicts itself). To compute the similarity between the parsing intersections and their communication behaviors, the induced subgraphs, the subgraphs with similar labels and the same configuration of arcs, and the strict correspondence of vertices are analyzed.

[0127] The following similarities exist by analyzing the arcs of communicative actions in the Peircean crossover: (1) one communicative action with a theme from T1 compared to another communicative action with a theme from T2 (arc of communicative actions is not used), and (2) one communicative action from T1 compared to another pair of communicative actions from T2. A pair of communicative actions with a theme (arc of communicative actions is used).

[0128] The generalization of two different communicative actions is based on their attributes, see Galitsky et al. (2013). As can be seen from the example illustrated in Figure 14, one communicative action from T1, namely cheating(husband, wife, another lady), can be compared with a second communicative action from T2, namely avoid(husband, contact(husband, another lady). The generalization results in a communicative_action(husband,*), which indicates that a given agent (= husband) has a CA in Q. A constraint is introduced on A of the form that when mentioned as a subject, he / she must also be the subject of (possibly another) CA in A. Two communicative actions can always be generalized, but this is not the case with their subjects: if the result of their generalization is empty, then the result of generalizing communicative actions with these subjects is also empty.

[0129] Generalization of the RST relation Some relationships between discourse trees can be generalized, such as arcs that represent the same type of relationship (denotation relations such as contrast, thematic relations such as conditional, and multi-nuclear relations such as list). Nuclei or situations indicated by nuclei are denoted by "N". Satellites or situations indicated by satellites are denoted by "S". "W" indicates writer. "R" indicates reader (listener). Situations include proposals, completed or ongoing actions, and communicative actions and states (beliefs, desires, approve, explain, reconcile, etc.). The generalization of the two RST relations by the above parameters is expressed as follows: rst1(N1,S1,W1,R1) ^ rst2(N2,S2,W2,R2)= (rst1 ^ rst2)(N1 ^ N2,S1 ^ S2,W1 ^ W2,R1 ^ R2). The texts in N1, S1, W1, and R1 are generalized as phrases. For example, rst1 ^ rst2 can be generalized as follows: (1) If relation_type(rst1) != relation_type(rst2), the generalization is empty. (2) Otherwise, the signature of the rhetorical relation is generalized as a sentence.

[0130] sentence(N1,S1,W1,R1) ^ sentence(N2,S2,W2,R2) See Iruskieta, Mikel, Iria da Cunha, and Maite Taboada, "A qualitative comparative method for rhetorical structures: identifying different discourse structures in multilingual corpora" (Lang Resources & Evaluation. June 2015, Volume 49, Issue 2).

[0131] For example, the meaning of rst-background ^ rst-enablement= (S increases the ability of R to comprehend an element in N) ^ (R comprehending S increases the ability of R to perform the action in N) = increase-VB the-DT ability-NN of-IN R-NN to-IN.

[0132] Also, the relationship between rst-background and rst-enablement varies, so the RST-related parts The part is empty. Then, expressions that are verbal definitions of each RST relation are generalized. For example, for each word, or for a placeholder for a word such as agent, this word (with its POS) is kept if it is the same in each input phrase, and excluded if it is different between these phrases. The resulting expressions can be interpreted as the common meaning between two different formally obtained definitions of the RST relation.

[0133] The two arcs between the question and answer shown in Figure 14 represent generalization instances based on the RST relation "RST-contrast." For example, "I just had a baby" is a generalization instance based on the RST relation "it does not In relation to "husband to avoid contact," which is an RST-contrast to "look like me" and further to "have the basic legal and financial commitments" As can be seen from the above, the answer does not necessarily have to resemble the verb phrase of the question, but the rhetorical structure of the question and answer is similar. Not all phrases in the answer necessarily match phrases in the question. For example, mismatched phrases have a particular rhetorical relationship with phrases in the answer that are related to phrases in the question.

[0134] Building a discourse tree for communication 15 illustrates an exemplary process for building a communicative discourse tree, according to one aspect. The rhetorical classification application 102 can implement the process 1500. As discussed above, a communicative discourse tree enables improved search engine results.

[0135] In block 1501, process 1500 includes accessing sentences containing fragments. At least one fragment includes a verb and multiple words. Each word includes multiple word roles within the fragment. Each fragment is a basic discourse unit. For example, the rhetorical classification application 102 accesses a sentence such as "Rebels, the self-proclaimed Donetsk People's Republic, deny that they controlled the territory from which the missile was allegedly fired," as described in connection with FIG. 13.

[0136] Continuing with the above example, the rhetorical classification application 102 determines that the sentence contains several fragments. For example, a first fragment is "Rebels, ..., deny." A second fragment is "that they controlled the territory." A third fragment is "from which the missile was allegedly fired." Each fragment contains a verb (e.g., "deny" for the first fragment and "controlled" for the second fragment). However, a fragment need not contain a verb.

[0137] At block 1502, process 1500 includes generating a discourse tree representing rhetorical relationships between the sentence fragments. The discourse tree includes nodes, each non-terminal node representing a rhetorical relationship between two of the sentence fragments, and each terminal node of the discourse tree is associated with one of the sentence fragments.

[0138] Continuing with the above example, the rhetorical classification application 102 generates a discourse tree such as that shown in Figure 13. For example, the third fragment, "from which the missile was allegedly fired," recounts "that they controlled the territory." Both the second and third fragments are concerned with attributing what happened (i.e., the attack could not have been insurgent because insurgents did not control the territory).

[0139] At block 1503, the process 1500 includes accessing a number of verb signatures. For example, the rhetorical classification application 102 accesses a list of verbs, such as from VerbNet. Each verb matches or is related to the verb of the fragment. For example, for the first fragment, the verb is "deny." Thus, the rhetorical classification application 102 accesses the verb "de" and the verb "deny." Access a list of verb signatures related to "ny."

[0140] As mentioned above, each verb signature includes the verb of the fragment and one or more thematic roles. For example, a signature may include one or more of a noun phrase (NP), a noun (N), a communicative act (V), a verb phrase (VP), or an adverb (ADV). Thematic roles describe the relationship between a verb and associated words. For example, "The teacher amused the children" has a different signature from "small children amuse quickly." For the first fragment, the verb "deny," the rhetorical classification application 102 accesses a list of frames or verb signatures for verbs that match "deny." The list is "NP V NP to be NP," "NP V that S," and "NP V NP."

[0141] Each verb signature includes a thematic role. The thematic role refers to the role of the verb in the sentence fragment. The rhetorical classification application 102 determines the thematic role in each verb signature. Exemplary thematic roles are "actor," "agent," "asset," "attribute," and "beneficiary." " (beneficiary), "cause", "location destination source", "destination", "source", "location", "experiencer", "extent", "instrument", "material and product", "material", "product", "patient", "predicate", "recipient", "stimulus", "theme", "time" or "topic".

[0142] At block 1504, the process 1500 includes determining, for each one of the verb signatures, the number of thematic roles of each signature that match the roles of the words in the fragment. For the first fragment, the rhetorical classification application 102 determines that the verb "deny" has only three roles: "agent," "verb," ​​and "theme."

[0143] At block 1505, process 1500 includes selecting a particular verb signature from the verb signatures based on the particular verb signature with the most matches. For example, referring again to Figure 13, in the first fragment, "the rebels deny that they controlled the territory," "deny" matches the verb signature deny "NP V NP," and "control" matches control(rebels, territory). Verb signatures are nested, resulting in the nested signature "deny(rebel, control(rebel, territory))."

[0144] Request-Response Representation Request-response pairs can be analyzed singly or as pairs. In one example, request-response pairs can be spliced ​​together. When splicing together, rhetorical agreement is expected to hold not only between consecutive members, but also between triplet members and 4-tuple members. Discourse trees can be constructed for texts that represent sequences of request-response pairs. For example, in the domain of customer complaints, the request and response are in the same text from the perspective of the complaining customer. A customer complaint text can be divided into request and response text portions, which can then form pairs of positive and negative data sets. In one example, all text about the advocate and all text about the opponent are combined. The first sentence of each of the following paragraphs would form the request portion (which would contain three sentences), and the second sentence of each paragraph would form the response portion (which in this example would contain three sentences).

[0145] Figure 16 shows a discourse tree and a scenario graph according to one aspect. Figure 16 shows a discourse tree 1601 and a scenario graph 1602. The discourse tree 1601 corresponds to the following three sentences:

[0146] (1) I explained that my check bounced (I wrote it after I made a deposit). A customer service representative accepted that it usually takes some time to process the deposit. deposit.).

[0147] (2) I reminded that I was unfairly charged an overdraft fee a month ago in a similar situation. They denied that it was unfair because the overdraft fee was disclosed in my account information. fee was disclosed in my account information.)

[0148] (3) I disagreed with their fee and wanted this fee deposited back to my account. They explained that nothing can be done at this point and that I need to look more closely at the account rules. and that I need to look into the account rules closer.).

[0149] As can be seen from the discourse tree in Figure 16, determining whether a text represents a dialogue or an explanation can be difficult. Therefore, by analyzing the arcs of communicative action in the Peircean intersection, implicit similarities between texts can be discovered. For example, in general terms, (1) One communicative action with a theme from the first tree against another communicative action with a theme from the second tree (arcs of communicative actions are not used).

[0150] (2) one pair of themed communicative actions from the first tree against another pair of communicative actions from the second tree (arcs of communicative actions are used);

[0151] For example, in the above example, the generalization of cheating(husband, wife, another lady) ^ avoid(husband, contact(husband, another lady)) gives us communicative_action(husband, *), which allows a given agent (=husband) to perform the CA When mentioned as a subject, a constraint is introduced on A of the form that he / she should also be the subject of (possibly another) CA in A.

[0152] To handle the meaning of words that represent the subject of CA, a word can be applied to a vector model such as the "word2vector" model. More specifically, to compute the generalization between themes of communicative behavior, the following rule can be used: if subject1 = subject2, then subject1^subject2 =<subject1, POS(subject1), 1> This is If , the subject remains and the score is 1. Otherwise, if the subjects have the same part-of-speech (POS), then subject1^subject2 = <*, POS(subject1), word2vecDistance(subject1^subject2)>, where '*' indicates that the lemma is a placeholder and the score is the word2vec distance between these words. If the POS are different, the generalization is an empty tuple and there may be no further generalization.

[0153] Classification settings for request-response pairs In traditional search, the baseline is that matches between request-response pairs are measured using a method such as TF*IDF, which stands for term frequency-inverse document frequency. It can be measured in terms of keyword statistics. To improve search relevance, this score can be augmented by item popularity, item location, or taxonomy-based scores (Galitsky (2015)). Search can also be formulated as a path reranking problem in a machine learning framework. The feature space contains request-response pairs as elements, and a separating hyperplane divides this feature space into correct and inaccurate pairs. Therefore, the search problem can be formulated in a local way, as the similarity between Req and Resp, or in a global learning way, as the similarity between request-response pairs.

[0154] Other methods for determining a match between a request and a response are possible. In a first example, the rhetorical classification application 102 extracts features for Req and Resp, compares these features as counts, and introduces a scoring function so that the score can indicate the class (low score for an inaccurate pair, high score for an accurate pair).

[0155] In a second example, the rhetorical classification application 102 compares the expressions for Req and Resp with each other and assigns a score to the comparison. The score, in turn, will indicate a class.

[0156] In a third example, the rhetorical classification application 102 generates a pair Req and Resp<Req,Resp> The rhetorical classification application 102 then constructs a representation for all such elements<Req,Resp> Learning is performed in the feature space of

[0157] 17 illustrates the formation of a request-response pair according to one aspect. FIG. 17 shows a request-response pair 1701, a request tree (or object) 1702, and a response tree 1703.<Req,Resp> To form the object of , the rhetorical classification application 102 combines the discourse tree for the request and the discourse tree for the response into a single tree with a root RR. The rhetorical classification application 102 then categorizes the object into accurate (high match) and inaccurate (low match) categories.

[0158] Nearest Neighbor Graph Based Classification Once a CDT is constructed, to identify arguments in a text, the rhetorical classification application 102 computes its similarity compared to the CDT for the positive class and verifies that it is low enough to reach the set of CDTs for the negative class. The similarity between the CDTs is defined by the largest common sub-CDT.

[0159] In one example,

[0160]

number

[0161] An ordered set G of CDTs (V,E) with vertex and edge labels from G is constructed. A labeled CDT Γ from G is a pair of the multi-pair form ((V,l),(E,b)), where V is a set of vertices and E is a set of edges. The edge of

[0162]

number

[0163] is a function that assigns labels to vertices, and b:E→Λ E is a function that assigns labels to edges. Isomorphic trees with identical labels are not distinguished.

[0164] The ordering is defined as follows: for two CDTs, from G, Γ1:=((V1,l1),(E1,b1)) and Γ2:=((V2,l2),((E2,b2))), and further, Γ1 dominates Γ2 or Γ2≦Γ1 if there exists a one-to-one mapping φ:V2 → V1 (or Γ2 is a sub-CDT of Γ1). Thus, this means that

[0165]

number

[0166] Taking into consideration the above, (2)

[0167]

number

[0168] The following applies: This definition allows for the computation of the similarity ("weakening") of labels between matched vertices when going from a "larger" CDT G1 to a "smaller" CDT G2.

[0169] Here, the similarity CDT Z of a pair of CDTs X and Y, denoted by X^Y=Z, is the set of all containment-maximum common sub-CDTs of X and Y, each of which satisfies the following additional conditions to match: Specifically, (1) two vertices from CDT X and CDT Y must exhibit the same RST relation, and (2) each common sub-CDT from Z contains at least one communication action with the same VerbNet signature as in X and Y.

[0170] This definition is easily extended to find generalizations for several graphs. The subsumption order for a pair of graph sets X and Y is naturally defined as XμY:=X*Y=X. It is determined.

[0171] Figure 18 shows the discourse tree for the maximal common sub-communication according to one aspect. Note that the tree is inverted and the arc labels are generalized. The communicative action site() is generalized with the communicative action say(). The former CA The Commission's first (agent) argument is generalized by the latter CA Dutch's first argument. The same action applies to the second argument for this pair of CAs: investigator ^ evidence.

[0172] Since CDT U belongs to the positive class, (1) U is a positive example R + (having a non-empty common sub-CDT) and (2) any negative example R - Even if U is

[0173]

number

[0174] If it is similar to U*R - μU*R + This becomes: This condition introduces a similarity criterion, stating that to be assigned to a class, the similarity between an unknown CDT U and the closest CDT from the positive class should be higher than the similarity between U and each negative example. Condition 2 also states that for a positive example R + exists, and therefore, - If there is no U*R + μR - This suggests that we have ∇ ...

[0175] Interlaced kernel learning for CDT Tree kernel learning for strings, parse trees, and parse intersections is a recently established research area. Parse tree kernels count the number of common subtrees between two instances as a measure of discourse similarity. Tree kernels are specified for DT by Joty, Shafiq, and A. Moschitti in "Discriminative Reranking of Discourse Parses Using Tree Kernels" (Proceedings of EMNLP; 2014). Furthermore, See also Wang, W., Su, J., & Tan, C. L. (2010), "Kernel Based Discourse Relation Recognition with Temporal Ordering Information," in Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics (using a special form of tree kernel for discourse relation recognition). The interlacing kernel is specified in terms of CDT by augmenting the DT kernel with information about communicative behavior.

[0176] The CDT can be represented by a vector V of integer counts of each subtree type (without taking into account its ancestors): V(T) = (# of type 1 subtrees, …, # of type I subtrees, …, # of type n subtrees). This results in a very high dimensionality, as the number of distinct subtrees is exponential in its size. Hence, the feature vector

[0177]

number

[0178] It is computationally infeasible to use it directly. To solve the computational problem, a tree kernel function is introduced to efficiently compute the dot product between the above high-dimensional vectors. Assuming there are two tree segments CDT1 and CDT2, the tree kernel function is defined as follows: K(CDT1,CDT2)=<V(CDT1),V(CDT2)> =ΣiV(CDT1 )[i],V(CDT2)[i]=Σn1Σn2 Σi Ii(n1) * Ii(n2) In this case, n1∈N1 and n2∈N2, where N1 and N2 are the sets of all nodes in CDT1 and CDT2, respectively.

[0179] Ii(n) is the indicator function. Ii(n) = {1 if a subtree of type i occurs at the root at node, 0 otherwise}. K(CDT1,CDT2) is an instance of the convolution kernel for tree structures (Collins and Duffy, 2002), which can be computed by the recursive definition.

[0180] Δ(n1,n2)=ΣI Ii(n1) * Ii(n2) Here, Δ(n1, ​​n2)=0 if n1 and n2 are assigned the same POS tag or their children are different subtrees.

[0181] Otherwise, if n1 and n2 are both POS tags (pre-terminal nodes), then Δ(n1, ​​n2)=1×λ. In other cases:

[0182]

number

[0183] In this case, ch(n,j) is the jth child of node n, nc(n1) is the number of children of n1, and λ (0<λ<1) is a decay factor that makes the kernel value less variable with subtree size. Additionally, the recursive rule (3) holds because, given two nodes with the same children, we can use these children to construct a common subtree as well as common subtrees of further descendants. The parsetree kernel counts the number of common subtrees as a syntactic similarity measure between two instances.

[0184] FIG. 19 illustrates a tree in kernel learning format for a communicative discourse tree according to one aspect.

[0185] Terms for communicative actions as labels are converted into a tree that is added to the respective nodes for RST relations. For texts for EDUs as labels for terminal nodes, only phrase structure is preserved. Terminal nodes are labeled with sequences of phrase types rather than parse tree fragments.

[0186] If there is a rhetorical relation arc from node X to terminal EDU node Y, labeled A(B,C(D)), then the subtree AB→(CD) is attached to X.

[0187] Implementation of a rhetorical match classifier The rhetorical match classifier 120 can determine the complementarity between two sentences, such as a question and an answer, by using a communicative discourse tree. Figure 20 illustrates an exemplary process used to implement the rhetorical match classifier, according to one aspect. Figure 20 illustrates a process 2000 that can be implemented by the rhetorical classification application 102. As described above, the rhetorical match classifier 120 is trained with training data 125.

[0188] The rhetorical match classifier 120 determines communicative discourse trees for both questions and answers. For example, the rhetorical match classifier 120 builds a question communicative discourse tree 110 from questions such as question 171 or question 130, and builds an answer communicative discourse tree 111 from candidate answers.

[0189] In block 2001, the process 2000 includes determining a discourse tree for question communication that includes a question root node for a question sentence. The question sentence can be a clear question, a request, or a comment. The rhetorical classification application 102 creates a discourse tree for question communication 110 from a question 130. Using the example described in connection with FIGS. 13 and 15, an exemplary question sentence is "are rebels responsible for the downing of the flight." The rhetorical classification application 102 can use the process 1500 described in connection with FIG. 15. The exemplary question has a root node of "elaborate."

[0190] At block 2002, the process 2000 includes determining a second communicative discourse tree for the answer sentence. In this case, the answer communicative discourse tree includes an answer root node. Continuing with the above example, the rhetorical classification application 102 creates a communicative discourse tree 111, as shown in FIG. 13, that also has a root node "elaborate." At block 2003, process 2000 includes associating the communicative discourse trees by identifying that the question root node and the answer root node are identical. The rhetorical classification application 102 determines that the question communicative discourse tree 110 and the answer communicative discourse tree 111 have the same root node. The resulting associated communicative discourse trees are shown in FIG. 17 and may be labeled as a "request-response pair."

[0191] At block 2004, the process 2000 includes computing a level of complementarity between the question communicating discourse tree and the answer communicating discourse tree by applying a predictive model to the merged discourse trees.

[0192] The rhetorical match classifier uses machine learning techniques. In one aspect, the rhetorical classification application 102 trains and uses the rhetorical match classifier 120. For example, the rhetorical classification application 102 defines positive and negative classes of request-response pairs. The positive class includes rhetorically accurate request-response pairs, and the negative class includes related but rhetorically disparate request-response pairs.

[0193] For each request-response pair, the rhetorical classification application 102 constructs a CDT by parsing each sentence and obtaining verb signatures for the sentence fragment.

[0194] The rhetorical classification application 102 provides the associated communicative discourse tree pairs to the rhetorical match classifier 120. The rhetorical match classifier 120 outputs a level of complementarity.

[0195] At block 2005, process 2000 includes identifying the question sentence and the answer sentence as complementary in response to determining that the level of complementarity is above a threshold. The rhetorical classification application 102 may use the threshold level of complementarity to determine whether the question-answer pair is sufficiently complementary. For example, if the classification score is greater than the threshold, the rhetorical classification application 102 may output the answer as answer 172 or answer 150. Alternatively, the rhetorical classification application 102 may discard the answer and access the answer database 105 or a public database for another candidate answer, repeating process 2000 as needed.

[0196] In one aspect, the rhetorical classification application 102 obtains co-references. In a further aspect, the rhetorical classification application 102 obtains entity and subentity or hyponym links. A hyponym is a word that has a more specific meaning than the general or superordinate term that can apply to a word. For example, "spoon" is a hyponym of "cutlery."

[0197] In another aspect, the rhetorical classification application 102 applies interlaced kernel learning to the representation. Interlaced kernel learning can be performed in place of classification-based learning, for example, in block 2004. The rhetorical classification application 102 constructs a parse interlaced pair for the parse tree of the request-response pair. The rhetorical classification application 102 parses the discourse to obtain a discourse tree pair for the request-response pair. The rhetorical classification application 102 aligns the basic discourse units of the discourse tree request-response and the parse tree request-response. The rhetorical classification application 102 merges the basic discourse units of the discourse tree request-response with the basic discourse units of the parse tree request-response.

[0198] In one aspect, the rhetorical classification application 102 improves text similarity assessment with a word2vector model.

[0199] In a further aspect, the rhetorical classification application 102 sends sentences corresponding to the question-communicating discourse tree 110 or sentences corresponding to the answer-communicating discourse tree to a device such as a mobile device 170. The output from the rhetorical classification application 102 can be used as input to a search query, database lookup, or other system. In this manner, the rhetorical classification application 102 can be integrated with a search engine system.

[0200] Figure 21 illustrates a chatbot commenting on a post, according to one aspect. Figure 21 illustrates a chat 2100, user messages 2101-2104, and an agent response 2105. The agent response 2105 can be implemented by the rhetorical classification application 102. As shown, the agent response 2105 identified an appropriate response to the thread of messages 2101-2104.

[0201] FIG. 22 illustrates a chatbot commenting on a post, according to one aspect. FIG. 22 illustrates a chat 2200, user messages 2201-2205, and an agent response 2206. FIG. 22 illustrates three messages from User 1, specifically 2201, 2203, and 2205, and two messages from User 2, specifically 2202 and 2204. The agent response 2206 can be implemented by the rhetorical classification application 102. As shown, the agent response 2206 identified an appropriate response to the thread of messages 2201-2204.

[0202] The features shown in Figures 21 and 22 may be implemented by the rhetorical classification computing device 101 or by an apparatus that provides a question 130 to the rhetorical classification computing device 101 and receives an answer 150 from the rhetorical classification computing device 101.

[0203] Additional Rules for RR Conformity and RR Irrationality Below is an example of a structural rule that introduces constraints to enforce RR matching: 1. Both Req and Resp have the same sentiment polarity (if the request is positive, the response should be positive as well, and vice versa).

[0204] 2. Both Req and Resp have logical arguments. When rationally reasoned, requests and responses will match perfectly. A rational agent will offer an answer that is both relevant and consistent with the rhetoric of the question. However, in the real world, not all responses are fully rational. The cognitive bias research body investigates people's tendency to think in particular ways that may systematically deviate from standards of rationality or preferred judgment.

[0205] Correspondence bias is the tendency of people to overemphasize personality-based explanations for observed behavior in others when responding to a question. See Baumeister, RF & Bushman, BJ, Social psychology and human nature (International Edition: 2010). At the same time, people responding to a question may overemphasize situational explanations for the same behavior. underemphasize the role and power of influences.

[0206] Confirmation bias is the tendency to seek out or interpret information in a way that confirms the preconceived notions of people answering questions. They may distrust information that does not support their point of view. Confirmation bias is related to the concept of cognitive dissonance, whereby individuals may reduce discrepancies by seeking out information that reconfirms their point of view.

[0207] Anchoring involves relying too heavily on or "anchoring" one characteristic or piece of information when making a decision.

[0208] The availability heuristic causes us to overestimate the likelihood of an event occurring in memory with a greater "availability," which can be affected by how recent the memory is or how abnormally or emotionally altered it may be.

[0209] Following the bandwagon effect, people answer questions believing that many other people will do (or believe) the same thing.

[0210] Belief bias is the effect whereby someone's assessment of the logical strength of an argument is biased by the credibility of the conclusion.

[0211] A bias blind spot is the tendency to view oneself with less bias toward oneself than toward other people, or to be able to identify others with higher cognitive biases than oneself.

[0212] evaluation The first domain of test data comes from question-answer pairs from Yahoo! Answers. Question and answer sets are paired across a wide range of topics. 20,000 questions containing more than two sentences were selected from the question sets of 4.4 million users. Because the answers to the majority of questions are adequately detailed, no filtering was applied to the answers. There are multiple answers per question, and the best answer is marked. Question-best answer pairs are considered as elements of the positive training set, and question-other answers are considered as elements of the negative training set. To derive the negative set, answers to different but somewhat related questions were arbitrarily selected, or queries were formed from the questions and answers were obtained from web search results.

[0213] Our second dataset involves social media. We extracted request-response pairs primarily from posts on Facebook®. We also used a smaller portion of employment-related conversations on LinkedIn®.com and vk.com. In the social domain, the standard of description is much lower. The stickiness of the text is very limited, and the logical structure is poor. The authors formed a training set from their own accounts over several years and from public Facebook accounts available via the API (at the time of writing, it is not possible to write to the Facebook API to retrieve messages). In addition, we used 860 email threads from the Enron dataset. Additionally, we collected data on manual responses to posts from agents that automatically generate posts on behalf of human user hosts (see Galitsky B., Dmitri Ilvovsky, Nina Lebedeva, and Daniel Usikov, "Improving Trust in Automation of Social Promotion: AAAI Spring Symposium on The Intersection of Robust Intelligence and Trust in Autonomous Systems; Stanford, CA 2014" ("Galitsky 2014"). We formed 4,000 pairs from various social network sources.

[0214] The third domain is customer complaints. In a typical complaint, dissatisfied customers describe their problems with products and services, as well as the process by which they attempted to communicate these problems to the company and the company's response. Complaints are often written with bias, exaggerating product failures and portraying the other party's behavior as unjustified and inappropriate. At the same time, complainants attempt to write their complaints in a coherent, logically consistent manner (Galitsky 2014). Complaints therefore function as a domain with a high rate of match between requests and responses. To assess the match between user complaints and company responses (according to how the users describe them), we collected 670 complaints from planetfeedback.com over a 10-year period.

[0215] The fourth domain is journalistic interviews. Interviews written by professional journalists are usually written in such a way that the level of match between questions and answers is very high. We also use datran.com, allvoices.com, huffingtonpost.com, and other websites. It collected 1,200 contributions by professional and citizen journalists from sources such as:

[0216] To facilitate data collection, we designed a crawler that searches a specific set of sites, downloads web pages, extracts candidate text, and verifies that the candidate text conforms to the format of a response to a question or request. Each pair of texts is then formed. This search is realized by the Bing Azure Search Engine API in the Web and News domains.

[0217] Recognizing valid and invalid answers The accuracy of response classification is shown in Table 1. Each row represents a specific method. Each class of method is shown in the gray area.

[0218] Table 1: Evaluation results

[0219] [Table 3]

[0220] It can be seen that the highest accuracy is achieved in the journalism and community response domains, and the lowest accuracy is achieved in customer complaints and social networks. We can conclude that the higher the accuracy of the method, the higher the level of agreement between Req and Resp, and accordingly, the higher the aptitude of the respondent.

[0221] The deterministic family of approaches (the middle two rows, local RR similarity-based classification) performs about 9%, lower than SVM TK. This indicates that the similarity between Req, Res, and p is substantially less important than the specific structure of the RR pair that indicates RR match. This means that we cannot assess the match between Req and Resp on an individual basis. If we require DT(Req) to be very similar to DT(Resp), we will obtain reasonable precision but very low recall. Progressing from DT to CDT only helps by 1%-2%, because communicative behavior no longer plays a primary role in structuring requests or shaping responses.

[0222] For the statistical family of approaches (bottom five rows, tree kernels), the richest source of discourse data (SVM TK for RR-DT) gives the best classification accuracy, nearly identical to RR similarity-based classification. SVM TK for RST and CA (full parse trees) included more linguistic data, but some part of it (most likely syntactic) was redundant, leading to poorer results on the limited training set. Using additional features under TK, such as sentiment and argument, does not help. In most cases, it is likely that these features are derived from RR-CDT features and do not contribute to classification accuracy by themselves.

[0223] By employing the TK family of CDT-based approaches, we obtain accuracies comparable to those achieved in classifying DTs as accurate and incorrect. In rhetorical parsing tasks, state-of-the-art systems have been in fierce competition over the past few years, yielding accuracies of over 80%.

[0224] The performance of direct analytical approaches in the deterministic family is somewhat weaker. This means that a larger number of more complex feature structures are required, and simply counting and taking into account the types of rhetorical relations is insufficient to determine how RRs match each other. If two RR pairs have the same types and counts of rhetorical relations and even communicative actions, they can still belong to the opposite RR match class in the majority of cases.

[0225] Although nearest-neighbor pair training on CDTs yields lower accuracy than SVM TK on CDTs, the former provides interesting examples of subtrees that are typical of arguments and shared in similar fact data. The number of CDT subtrees in the former group is naturally much larger. Unfortunately, the SVM TK approach does not help explain how exactly the RR matching problem is solved, but merely shows the final scoring and class labels. Logical arguments can also be expressed in responses without communicative actions, but this is rare (this observation is supported by our data).

[0226] Measuring RR agreement in the evaluation domain From the viewpoint of evaluating the recognition accuracy, we obtained the optimal method in the previous subsection. Now, by defining this method, we will measure the RR agreement in our evaluation domain. Furthermore, we will determine that the total general agreement provided by the optimal method is We will show how these features are correlated with individual matching criteria such as sentiment, logical argument, topic, and keyword relevance. When we use our optimal approach (SVM TK for RR-CDT) to label the training set, its size can grow dramatically, allowing us to explore interesting properties of RR matching in various domains. We will discover the contribution of several intuitive features to RR matching on larger datasets than previous evaluations.

[0227] In this subsection, we intend to prove that the RR pair validity epistemic framework can serve as a criterion for matching between any request and response. Furthermore, this epistemic framework can assess how strongly various features are correlated with RR pair validity.

[0228] From the evaluation of recognition accuracy, we have obtained an optimal method for recognizing whether an RR pair is valid. Now, with this recognition method established, we will measure RR agreement in our evaluation domain and further estimate how the total general agreement provided by the optimal method correlates with individual agreement criteria such as sentiment, logical argument, topic, and keyword relevance. When we use our optimal approach to label the training set (SVM TK for RR-CDT), its size can be dramatically increased, allowing us to explore interesting properties of RR agreement in various domains. We will discover the contribution of some intuitive features to RR agreement on a larger dataset than previous evaluations. We will measure this agreement, feature-by-feature, on only the positive training dataset from the above evaluation as recognition accuracy (%, Table 2). Note that recall and negative datasets are not required for agreement assessment.

[0229] Table 2: Criteria for agreement between requests and responses in the four domains (%)

[0230] [Table 4]

[0231] For example, we estimate the accuracy of observing that RR pairs determined by topic matching as computed by the bag-of-words approach are valid RR pairs in the domain of customer complaints according to SVM TK for RR-CDT classification to be 64.3%.

[0232] Matching by affect indicates the contribution of appropriate affective agreement in an RR pair. Affective rules include, among other things, that when the polarity of the RR is the same, the response should confirm what the request states. Conversely, when the polarity is reversed, the response should attack what the request asks for. Matching by logical argument requires appropriate communicative discourse in which the response does not match the claim in the request.

[0233] This data helps clarify the nature of the linguistic match between what the supporter is saying and how the other party is responding. Not all matching features need to be present for a valid dialogue discourse. However, if most of these features do not match, the given response should be considered invalid and inappropriate, and a different response should be selected. Table 2 shows us which features, and to what extent, should be used to support a dialogue in various domains. Therefore, the proposed technique can serve as an automated means of assessing writing quality and customer support quality.

[0234] Chatbot Applications Conversational Agent for Social Promotion (CASP) facilitates communication about him or her. CASP is an agent that serves as a simulated personality acting on behalf of its human host to manage and administer it. Galitsky B., Dmitri Ilvovsky, Nina Lebedeva, and Daniel Usikov, "Improving Trust in Automation of Social Promotion" (AAAI Spring Symposium on The Intersection of Robust Intelligence and Trust in Autonomous Systems; Stanford, CA 2014). CASP relieves its human host from routine, non-critical activities on social networks, such as sharing news and commenting on other people's messages, blogs, forums, images, and videos. Conversational agents for social promotion are developing, but they can also lose trust. The overall performance of CASP, which focuses on RR pair matching to filter replies mined from the web, will be evaluated.

[0235] On average, people have 200 to 300 friends or contacts on social networking systems such as Facebook and LinkedIn. Maintaining active relationships with this large number of friends requires several hours per week to read what these friends post and comment on. In reality, people maintain relationships with only 10 to 20 of their closest friends, family, and colleagues, and rarely communicate with the rest. These less-close friends feel abandoned by their social network relationships. However, maintaining active relationships with all members of a social network is beneficial for many aspects of life, from work-related to personal. Social network users are expected to let their friends know they are interested in them and care about them, and therefore respond to events in their lives and to messages they post. Therefore, social network users need to devote a significant amount of time to maintaining relationships on the social network, which they often do not have the time for. For close friends and family, users will still socialize using manual input. For the rest of their network, they will use the proposed CASP for social promotion. cormorant.

[0236] CASP tracks user chats, user posts on blogs and forums, and comments on shopping sites to suggest web documents and their snippets relevant to purchasing decisions. This involves quoting a section of text, generating a search engine query, running it against a search engine API such as Bing, and filtering out search results deemed irrelevant to the seed message. This last step is crucial for the robust functioning of CASP; poor relevance in a rhetorical space will lead to a loss of trust in that space. Therefore, accurate assessment of RR matches is crucial for the successful use of CASP.

[0237] CASP is presented as a simulated personality that acts on behalf of a host to facilitate and manage that person's communications (Figures 21-22). The agent is designed to relieve the host from routine, non-essential social networking activities, such as sharing news and commenting on other people's messages, blogs, forums, images, and videos. Unlike most application domains for simulated personalities, the social partners are not necessarily aware that they are exchanging news, opinions, and updates with an automated agent. We conducted experiments using CASP's rhetorical matching and inferences about the mental states of its peers within several Facebook accounts. We evaluate its performance and accuracy in inferring about the mental states related to the users with whom it communicates. For a conversational system, users need to feel that the system responds appropriately to their actions and that the replies it provides make sense. To achieve this in horizontal domains, linguistic information must be fully utilized to enable messages to be exchanged in a meaningful way.

[0238] CASP takes a seed (a post written by a person) as input and outputs a message that the seed generates by tailoring content found on the web to be relevant to the input post. This relevance is based on relevance in terms of content and relevance in terms of RR match or mental state match (e.g., it answers a question by asking a question, an answer to a recommended post asking for more questions, etc.).

[0239] 21 and 22 illustrate examples of a chatbot that comments on a post. We evaluate how much a human user loses trust in CASP and their host when both content and mental state are irrelevant. Instead of evaluating rhetorical relevance, which is an intermediate parameter in terms of system usefulness, we assess how much a user loses trust in CASP when they are harassed by rhetorically irrelevant and inappropriate posts.

[0240] Table 3: Evaluation results for trust loss scenarios

[0241] [Table 5]

[0242] In Table 3, we show the results of users' tolerance for CASP failures. After several failures, friends lose trust, complain, remove themselves from their friends list, share negative information about their loss of trust with others, and even encourage other friends to remove CASP-enabled friends from their friends list. The values ​​in the cells indicate the average number of posts whose rhetorical relevance was damaged when each trust-loss event occurred. These relevance-damaging posts were generated from one of the assessment runs. This occurred within a month, and we do not have values ​​for the relative frequency of occurrence of these posts. On average, there were responses to 100 posts per user (1-4 per seed post).

[0243] We can see that depending on different domains, there are different scenarios in which users lose trust in CASP. For domains such as travel and shopping, where information is less critical, the tolerance for losing relevance is relatively high.

[0244] Conversely, in domains that are interpreted more seriously, such as work-related and personal preferences, users are more sensitive to CASP not working, and their various forms of trust are more quickly eroded.

[0245] For all domains, acceptability slowly decreases as the posting becomes more complex. Users' perceptions are more negative for longer texts compared to shorter, single sentence or phrase postings by CASP, regardless of content or their expectations.

[0246] Domain of natural language descriptions of algorithms Being able to map natural language to a formal query or command language is important for developing more user-friendly interfaces to many computing systems, such as databases. However, relatively little research has addressed the problem of learning such semantic parsers from corpora of sentences paired with their formal language equivalents. Kate, Rohit, Y. W. Wong, and R. Mooney, "Learning to transform natural to formal languages," (AAAI, 2005), is one example. Furthermore, to our knowledge, no such research has been conducted at the discourse level. Learning to transform natural language (NL) into a fully formal language can make it easier to develop NL interfaces to hybrid computing and AI systems.

[0247] More than 40 years ago, Dutch computer scientist Dijkstra, who coined the concept of "structured programming," said, "I wonder whether machines that must be programmed in our native language (whether Dutch, English, American English, French, German, or Swahili) will become as staggeringly complex as the machines they will use." This visionary was clearly correct: the technicality and precision of programming languages ​​is what has made enormous advances in computing and computers possible. Dijkstra compared the invention of programming languages ​​to the invention of mathematical symbolism. He also wrote, "Instead of considering the obligation to use formal codes as a burden, we should consider the convenience of using formal codes as a privilege. These codes enable children to learn early what only geniuses could achieve." Yet, 40-plus years later, we remain stuck with the volume of code that typical industrial applications occupy—tens or hundreds of millions of lines of code that are daunting to support and develop. The phrase "the code is the best writing" has become something of a bad joke.

[0248] Natural language descriptions of programs are a domain in which textual rhetoric is specialized and correspondence between descriptions is essential. We will focus on common rhetorical and domain-specific representations that map algorithmic descriptions to software code.

[0249] Figure 23 shows a discourse tree for an algorithmic text according to one aspect. has the following text and its DT (Figure 23):

[0250] 1) Find an arbitrary pixel p1. 2) Find the convex area a_off to which this pixel p1 belongs such that all pixels are less than 128.

[0251] 3) Verify that the boundary of the selected area has all pixels greater than 128.

[0252] 4) If the above verification is successful, stop with a positive result. Otherwise, add all pixels that are less than 128 to a_off.

[0253] 5) Check if the size of a_off is less than the threshold. Then go to 2. Otherwise stop with a negative result.

[0254] We now show how to translate specific sentences into a logical form and then into a software code representation. Several rhetorical relations help to combine the descriptions resulting from the translation of the individual sentences.

[0255] Verify that the boundary of the selected area has more than 128 pixels in all.

[0256] Figure 24 shows an annotated sentence according to one aspect. Please refer to Figure 24 for an annotated deconstruction of the pseudocode of 1-1 to 1-3.

[0257] By converting all constants into variables, we try to minimize the number of free variables and at the same time not over-constrain the representation. Connected arrows (linked by edges) indicate that the same constant value (pixel) maps to an equal variable (pixel) according to the rules of logic programming. To achieve this, we add predicates (unary) that require us to constrain the free variables.

[0258] 1-4) Add a predicate that suppresses the free variable. epistemic_action(verify) & border(Area) & border(Pixel) & above(Pixel, 128) & area(Area) Here we need to construct an explicit expression to quantify everything, but in this particular case it will not be used since we use a loop structure.

[0259] Figure 25 shows an annotated sentence according to one aspect. See Figure 25 for an annotated deconstruction of the pseudocode in 1-5 through 2-3.

[0260] In the end, we have the following: 2-3) The resulting code fragment

[0261]

number

[0262] Related Work While discourse analysis has a limited number of applications in question answering and text summarization and generalization, we have not found any applications for automatically constructed discourse trees. We list research related to the application of discourse analysis to two areas: dialogue management and dialogue games. These areas may be applied to the same problems as the present proposal is intended for. Both of these proposals have a range of logic-based approaches as well as analytical- and machine learning-based approaches.

[0263] Managing dialogue and answering questions When questions and answers are logically related, the matching of their rhetorical structures becomes less important.

[0264] De Boni argues that questions can be answered not by logical evidence of truth but by evidence of logical relevance. De Boni and Marco, "Using logical relevance for question answering," Journal of Applied Logic, Volume 5, Issue 1, March 2013, 2007, Pages 92-103. We define logical relevance as the degree to which an answer is relevant to a question. He defines logical relevance as the idea that something should not be considered absolutely true or false, but should be considered true more flexibly on a sliding scale of relevance. Furthermore, it allows for rigorous reasoning about the relevance of an answer even when the source of that answer is incomplete, inconsistent, or contains errors. The authors show how logical relevance can be realized in a relaxed form by using measured simplification to seek logical evidence that an answer is in fact the answer to a particular question.

[0265] Our model of CDT attempts to combine general rhetorical information and speech act information in a single structure. While speech acts provide a useful characterization of certain pragmatic forces, more recent work, particularly in building dialog systems, has significantly expanded this core concept to model many more kinds of conversational functions that can be performed by utterances. The resulting richer actions are called dialog acts. See Jurafsky, Daniel, and Martin, James H. (2000), "Speech and Language Processing: An Introduction to Natural "Language Processing, Computational Linguistics, and Speech Recognition" (Upper (Saddle River, NJ, Prentice Hall). In their multilevel approach to conversational behavior, Traum and Hinkelman identify four levels of dialog behavior necessary to ensure both the coherence and content of a conversation. Traum, David R. and James "Discourse obligations in dialogue processing" by F. Allen (1994) (In Proceedings of the 32nd annual meeting on Association for Computational Lin See Computational Linguistics (ACL '94). Association for Computational Linguistics, Stroudsburg, PA, USA, 1-8. The four levels of discourse moves are: redirection moves, reasoning moves, core speech moves, and argument moves.

[0266] Research into the logical and philosophical foundations of Q / A has been conducted for several decades, but has focused on small, restricted domains and systems and has proven to be limited for use in industrial environments. The idea of ​​"being an answer to" logical evidence, developed in linguistics and mathematical logic, has been presented as having limited applicability in real systems. The most recent applied research aimed at generating general-purpose ("open-domain") working systems is the standard provided by the Text Retrieval Conference (TREC) Q / A track. It is based on a relatively simple architecture that combines information extraction and retrieval, as demonstrated by the system provided in the general evaluation framework.

[0267] Sperber and Wilson (1986) argue that a particular answer is relevant to a question. Responses were judged as relevant according to the amount of effort required to "prove" this. Rules can be formulated in rhetorical terms as a criterion for relevance. The less presumptive the rhetorical relations required to prove that an answer matches the question, the more relevant the answer. The effort required can be measured in terms of the amount of prior knowledge, inferences from the text, or assumptions required. To provide a more manageable criterion, we propose simplifying the problem by focusing on how constraints or rhetorical relations can be excluded from the way the question is formulated. In other words, we evaluate how simplified the question can be in order to prove the answer. The resulting rule is formulated as follows: The relevance of an answer is judged by how many rhetorical constraints must be excluded from the question for the answer to be proven. The fewer rhetorical constraints that must be excluded, the more relevant the answer.

[0268] The corpus of research into how discovering rhetorical relationships can be useful in Q / A is very limited. Kontos introduced a system that allowed for the exploitation of rhetorical relationships between "base" texts proposing a model of a biomedical system and abstracts of papers presenting experimental findings that support this model. See Kontos, John, Ioanna Malagardi, and John Peros (2016), "Question Answering and Rhetoric Analysis of Biomedical Texts in the AROMA System" (unpublished manuscript).

[0269] An adjacent pair is defined as a pair of adjacent utterances produced by different speakers and ordered as a first part and a second part. A first part of a particular type requires a second part of a particular type. Some of these constraints may be removed to cover more cases of dependencies between utterances. See Popescu-Belis, Andrei, "Dialogue Acts: One or More Dimensions?" (Tech Report ISSCO Working paper no. 62. 2005).

[0270] Adjacency pairs are inherently relational, but can be decomposed into labels ("first part", "second part", "none"), possibly augmented with pointers to other members of the pair. Frequently encountered observed types of adjacency pairs include: request / offer / invite → accept / refuse; assessment → assess → agree / disagree; blame → denial / admission; question → answer; apology → downplay; thank → welcome; greeting → greeting. See Levinson, Stephen C (2000), "Presumptive Meanings; The Theory of Generalized Conversational Implicature" (Cambridge, MA: The MIT Press).

[0271] Rhetorical relations are relational concepts that relate utterances to non-utterances in isolation, similar to adjacency pairs. However, if an utterance is a satellite to the nucleus in only one relation, it becomes possible to assign relational labels to utterances. This strongly necessitates a deep analysis of dialogical structure. The number of rhetorical relations in RST ranges from the "dominates" and "gratification-prioritizes" classes used by Grosz and Sidner (1986) to over 100 types. Coherence relations are an alternative way of representing rhetorical structures in a text. See "Categories of coherence relations in discourse annotation" by Scholman, Merel, Jacqueline Evers-Vermeul, and Ted Sanders, Dialogue & Discourse; Vol 7, No 2 (2016)).

[0272] There are many classes of NLP applications that are expected to exploit the information structure of text. DT can be a very useful text summarization. Information about the characteristics of text segments must be considered to form an accurate and coherent summary based on the core-satellite relationship proposed by Sparck-Jones in 1995 and the structure of relationships between segments. Summarizing: analytic framework, key component, experimental method, in Summarizing Text for Intelligent Communication by Sparck-Jones, K. (Eds. B. Endres-Niggemeyer, J. Hobbs and K. Sparck Jones; Dagstuhl Seminar Report 79 (1995)). The most important section of the elaboration relations starting from the root node is Combining the segments together produces the most informative summary. DT has been used for multi-document summarization. Radev, Dragomir R., Hongyan Jing, and Malgorzata Budzikowska (2000), "Centroid-based summarization of multiple documents: sentence extraction, utility-based evaluation, and See "User studies" (In Proceedings of the 2000 NAACL-ANLP Workshop on Automatic summarization - Volume 4).

[0273] In natural language generation problems where coherence is a major challenge, the information structure of the text can be relied upon to organize extracted fragments of text in a coherent way. Methods for measuring textual coherence can be used in the automatic evaluation of essays. Because DT can capture textual coherence, the flexible discourse structure of an essay can be used to assess the style and quality of the essay. Burstein described a semi-automatic method for essay evaluation that assessed textual coherence. See Burstein, Jill C., Lisa Braden-Harder, Martin S. Chodoro, Bruce A. Kaplan, Karen Kukich, Chi Lu, Donald A. Rock, and Susanne Wolff (2002).

[0274] The neural network language model proposed in engio in 2003 It attempts to predict the next word by using a concatenation of several previous word vectors to form the input of a neural network. See "A neural probabilistic language model" by Bengio, Yoshua, Rejean Ducharme, Pascal Vincent, and Christian Janvin (2003), J. Mach. Learn. Res. 3 (March 2003), 1137-1155. The result is as follows: Specifically, after the model is trained, word vectors are mapped into a vector space such that semantically similar words in the distributed representations of sentences and documents have similar vector representations. This kind of model can potentially operate on discourse relations, but it is difficult to provide as rich linguistic information as we provide for tree kernel training. There are corpora of studies that extend word2vec models beyond the word level to achieve phrase- or sentence-level representations. For example, a naive approach uses a weighted average of all words in a document (a weighted average of word vectors), which destroys word ordering in the same way that a bag-of-words approach does. A more sophisticated approach uses matrix-vector operations to find word vectors in the order given by the sentence parse tree. See R. Socher, CD Manning, and AY Ng (2010), "Learning continuous phrase representations and syntactic parsing with recursive neural networks," in Proceedings of the NIPS-2010 Deep Learning and Unsupervised Feature Learning Workshop. Matching was shown to work only on sentences, since it relies on syntactic analysis.

[0275] Many early approaches to policy learning for dialog systems used small state spaces and action sets and focused only on limited policy learning experiments (e.g., confirmation type or initiative type). The Communicator dataset (Walker et al., 2001) is the largest available corpus of human-machine dialogues, further annotated with dialogue context. While this corpus has been used extensively to train and test dialogue managers, it is limited to the information required for dialogues in the air travel domain, with respect to a limited number of attributes, such as the destination city. At the same time, in this work, we relied on a wide corpus of request-response pairs of various natures.

[0276] Reichman (1985) provides a formal description and an Augmented Transition Network (ATN) model of conversational moves in relation to traditional methods for recognizing speech acts of utterances. The author uses an analysis of linguistic markers similar to those currently used for rhetorical parsing, such as preverb "please," modal verbs, prosody, references, and cue phrases (e.g., "Yes, but..." (subargument concession and counterargument); "Yes, and..." (argument agreement and further support); "No" and "Yes" (non-agreement / agreement). (match); "Because ..." (support), as well as other intra-utterance markers. See Reichman, R. (1985), "Getting computers to talk like you and me: discourse context, focus and semantics (an ATN model)" (Cambridge, Mass., London: MIT Press.).

[0277] Given a DT for texts as candidate answers to compound queries, a rule system for the occurrence of valid and invalid query keywords in this DT has been proposed. See Galisky (2015). In addition, the keywords must occur in the set of basic discourse units of the answer so that the set of basic discourse units can be fully ordered and connected by nucleus-satellite relationships. If the keywords of the query occur only in the satellite discourse units of the answer, the answer may be invalid.

[0278] Dialogue games In any conversation, a question is typically followed by an answer, or some clear statement of an inability or refusal to answer. We have the following model of the intentional space of a conversation: when a question is asked by agent B, agent A recognizes agent B's goal to find the answer and adopts the goal of communicating the answer to B in order to cooperate. A then plans to generate the answer by achieving the goal. This provides an elegant explanation in simple cases, but requires strong assumptions for cooperation: agent A must adopt agent B's goal as her own. As a result, this does not explain why A speaks up when she does not know the answer or when she is not ready to accept B's goal.

[0279] Litman and Allen introduce intentional analysis at the discourse level in addition to the domain level. , assumed a set of conventional multi-agent behaviors at the discourse level. See Litman, DL and Allen, JF (1987), "A plan recognition model for subdialogues in conversation," Cognitive Science, 11:163-2. Others have attempted to explain this kind of behavior using social intentional structures such as intentions of solidarity. See Cohen, PR and Levesque, HJ (1990), "Intention is choice with commitment," Artificial Intelligence, 42:213-261. See also Grosz, Barbara J. and Sidner, Candace L. (1986), "Attentions, Intentions and the Structure of Discourse," Computational Linguistics, 12(3), 175-204. While these accounts have helped to explain some discourse phenomena more fully, they still require strong coordination to explain dialogic coherence, but do not provide a simple explanation for why agents behave in ways that do not support high-level mutual goals.

[0280] Imagine a stranger approaching someone and asking, "Do you have spare coins?" Since they have never met before, the answer is likely to be out of solidarity or It is unlikely that there is a shared plan. From a purely strategic perspective, the agent is unlikely to be interested in whether the stranger's goals are met. Yet, typically, the agent will respond in such situations. Therefore, an explanation of Q / A must go beyond recognizing the speaker's intentions. Something more than adopting the interlocutor's goals is involved in formulating a response to a question, just as the question does more than provide evidence of the speaker's goals.

[0281] Mann proposed a library of discourse-level actions, sometimes called dialog games, that encode common communicative interactions. Mann, William, and Sandra Thompson (1988), "Rhetorical structure theory: Towards a functional theory" See "Text-Interdisciplinary Journal for the Study of Discourse, 8(3):243-281." To be cooperative, agents must always Each agent must be participating in one of these games. Therefore, when a question is asked, only a certain number of activities (i.e., those introduced by the question) are cooperative responses. Games provide a good explanation of consistency, but they still require agents to recognize each other's intentions in order to execute a dialogue game. As a result, this work can be viewed as a special case of the intentionality view. Because of this separation, agents do not need to assume cooperation for the task they are performing, but they do need to recognize intentions and cooperation at the conversational level. It remains unexplained what goals motivate conversational cooperation.

[0282] Coulthard and Brazil argue that multiple responses are a double-edged sword for both responses and new initiations. He suggested that the following roles can be played: Initiation^ (Re-Initiation)^ Response^ (Follow-up). See "Exchange structure" by Coulthard RM and Brazil D. (1979) (Discourse analysis monographs no. 5.: Birmingham: The University of Birmingham, English Language Research). An exchange can consist of two to four utterances. Furthermore, a follow-up can itself be followed up. An opening move often marks the beginning of an exchange, but this does not restrict the type of next move. Finally, a closing move can occur that does not require a follow-up. When these observations are added to the equation, we end up with the following: (Open) ^ Initiation ^ (Re-Initiation) ^ Response ^ (Feedback) ^(Follow-up) ^ (Close) This can deal with anything you get from exchanging 2 to 7 or more here.

[0283] Figure 26 shows the discourse actions of a dialogue according to one phase. Tsui (1994) has three parts. Her system for making choices about initiation, response, and follow-up is shown in Figure 26, corresponding to the top, middle, and bottom sections.

[0284] FIG. 27 shows discourse actions of a dialogue according to one aspect. The problem of classifying valid versus invalid RR pairs is also applicable to the task of complete dialog generation, going beyond question answering and automated dialog support. Popescu has proposed a logic-based natural language generator for human-computer dialogue. Popescu, Vladimir, Jean Caelen, Corneliu "Logic-Based Rhetorical Structuring for Natural Language Generation in Human-Computer Dialogue" by Burileanu (Lecture Notes in Computer Science Volume 4629) , pp 309-317, 2007). Practical and contextual aspects are and provide application-dependent information and be taken into account during interactions with the task controller, structured in a fully formalized task ontology.To achieve the goals of computational feasibility and generality, a discourse ontology has been constructed and several axioms have been proposed that introduce constraints on rhetorical relations.

[0285] For example, the axioms specifying the semantics of topic (α) are given as follows:

[0286]

number

[0287] In this case, K(α) is a clause that logically expresses the semantics of utterance α. The notion of a topic of an utterance is here specified in terms of a set of objects in a domain ontology and referenced in a prescribed way within the utterance. Thus, topic relations between utterances are computed using the task / domain ontology addressed by the task controller.

[0288] As instances of such rules, the following can be taken into account:

[0289]

number

[0290] In this case, t+ is "future and 'new'." Rhetorical Relations and Debates Often, the primary means of linking questions and answers is logical argument. There is a clear connection between the RST relations and argument relations that we have attempted to study in this study. There are four types of relations: directed relations, support, attack, elaboration, and undirected sequence relations. Support and attack relations are argumentative relations, and they are often used to draw conclusions from related work. Peldszus, A. and Stede, M. (2013) From Argument See "Diagrams to Argumentation Mining in Texts" (A Survey. Int. J of Cognitive Informatics and Natural Intelligence 7(1), 1-31). The latter two correspond to discourse relations used in RST: the discussion-sequence relation corresponds to "Sequence" in RST, and the discussion-elaboration relation roughly corresponds to "Background" and "Details."

[0291] The argument elaboration relationship is important because in scientific and technical publications, some background information (e.g., definitions of terms) is often important for understanding the overall argument. A support relationship between an argument construct Resp and another argument construct Req indicates that Resp supports (infers, proves) Req. Similarly, an attack relationship between Resp and Req is annotated when Resp attacks (restricts, refutes) Req. An elaboration relationship is used when Resp is an elaboration of Req and provides more information or defines what is stated in Req without argumentative reasoning. Finally, we link two argument constructs (in Req or Resp) with a sequence relationship when the constructs belong to each other and only make sense when combined, i.e., when the constructs form a multi-sentence argument construct.

[0292] We found that SVM TK could distinguish between a wide range of text styles (Galitsky, 2015), including those without discussion and those containing various forms of discussion. Each text style and genre has its own rhetorical structure that is exploited and automatically learned. Because the correlation between text style and text vocabulary is somewhat low, traditional classification approaches that consider only keyword statistics can lack accuracy in complex cases. We also performed text classification into somewhat abstract classes, such as those belonging to linguistic objects and metalanguages ​​in the literature domain, as well as style-based document classification into proprietary design documents. See Galitsky, B., Ilvovsky, D., and Kuznetsov, S.O., "Rhetoric Map of an Answer to Compound Queries," Knowledge Trail Inc. ACL 2015, 681-686. The evaluation of text integrity in the domain of customer complaints (which contain disjointed lines of argument that indicate the complainant's bad mood) shows a stronger contribution of rhetorical structure information compared to sentiment profile information. While the discourse structure obtained by the RST parser is sufficient to perform a text integrity assessment, sentiment profile-based approaches show much weaker results and are not a robust complement to rhetorical structure.

[0293] While extensive research corpora have been devoted exclusively to RST parsers, investigations into how to utilize RST parsing results for real-world NLP problems have been limited to content generation, summarization, and retrieval (Jansen et al., 2014). The DTs obtained by these parsers cannot be directly used in rule-based text filtering or structuring. Therefore, learning is required to exploit the implicit properties of the DTs. To the best of our knowledge, this work is the first to employ discourse trees and their extensions for general open-domain question answering, chatbots, dialog management, and text structure.

[0294] A dialogue chatbot system needs to be able to understand and match users' communication intentions, reason with these intentions, construct each user's own communication intentions, and populate these intentions with the actual language that should be conveyed to the user. Discourse trees by themselves do not provide a representation of these communication intentions. In this work, we consider the traditional discourse tree constructed We introduced communicative discourse trees, which, on the one hand, can now be generated on a large scale, and, on the other hand, can constitute descriptive utterance-level models of dialogs. Processing dialogs through machine learning of communicative discourse trees allows us to model a wide range of collaboration modes and interaction types (planning, execution, and interleaved planning and execution).

[0295] Statistical computational learning approaches offer several key potential advantages over manual, rule-based, hand-coding approaches to dialog system development.

[0296] ·Data-driven development cycle; · The optimal course of action in some cases; · More accurate models for response selection; · generalizability to unseen conditions; Reduced industrial development and deployment costs.

[0297] Comparing the inductive learning results with kernel-based statistical learning shows that relying on the same information allows us to perform more concise feature engineering than either approach.

[0298] The extensive corpus of literature on RST parsers does not address the question of how the resulting DTs can be employed in practical NLP systems. RST parsers are usually evaluated on their match with human-annotated test sets rather than their expressiveness of features of interest. In this work, we focus on the interpretation of DTs and explore how to represent them in a form that indicates match or non-match rather than a neutral enumeration of facts.

[0299] To provide a match criterion for how a given message in a dialog is followed by the next message, we used the CDT, which here contains labels for communicative actions in the form of surrogate VerbNet frames. We investigated discourse features that indicate precise versus imprecise request-response and question-answer pairs. We used two learning frameworks to recognize precise pairs: deterministic nearest-neighbor learning of the CDT as a graph and tree kernel learning of the CDT. In this case, the feature space of all CDT subtrees is subjected to SVM learning.

[0300] The positive training set was constructed from accurate pairs obtained from Yahoo Answers, social networks, corporate conversations (including Enron emails), customer complaints, and journalistic interviews. The corresponding negative training set was created by adding responses to a variety of arbitrary requests and questions containing relevant keywords to ensure high relevance similarity between requests and responses. Evaluations show that the system can recognize valid pairs in 68%–79% of cases in the weak request-response matching domain and 80%–82% of cases in the strong matching domain. These accuracies are essential for supporting automated conversations. These accuracies are comparable to benchmark tasks such as classifying discourse trees themselves as valid or invalid, as well as to similar fact question-and-answer systems.

[0301] We believe this work is the first to utilize automatically constructed discourse trees for question answering support. Previous work has focused on specific customer discourse models and models that are difficult to systematically collect, explainably learn, reverse engineer, and compare with each other. We conclude that learning rhetorical structures in the form of CDT is a primary data source for supporting complex question answering, chatbots, and dialog management.

[0302] 28 is a simplified diagram showing a distributed system 2800 for implementing one of the above aspects. In the illustrated aspect, the distributed system 2800 includes one or more client computing devices 2802, 2804, 2806, and 2808 configured to execute and operate client applications, such as a web browser, a proprietary client (e.g., Oracle Forms), etc., via one or more networks 2810. A server 2812 may be communicatively coupled to the remote client computing devices 2802, 2804, 2806, and 2808 via the network 2810.

[0303] In various aspects, the server 2812 may be adapted to run one or more services or software applications provided by one or more of the system's components. The services or software applications may include non-virtual and virtual environments. The virtual environments may be two-dimensional or three-dimensional (3D) environments. These services may include those used for virtual events, trade shows, simulators, classrooms, purchasing transactions, and business activities, whether as presentations, page-based logical environments, etc. In some aspects, these services may be provided as web-based services or cloud services, or under a Software as a Service (SaaS) model, and may be accessed via client computing devices. The client applications may be provided to users of the client computing devices 2802, 2804, 2806, and / or 2808. Users operating the client computing devices 2802, 2804, 2806, and / or 2808 may then utilize one or more client applications to interact with the server 2812 and utilize the services provided by these components.

[0304] In the illustrated configuration, software components 2818, 2820, and 2822 of system 2800 are shown implemented on server 2812. In other aspects, one or more of the components of system 2800 and / or the services provided by these components may be implemented by one or more of client computing devices 2802, 2804, 2806, and / or 2808. A user operating a client computing device may then utilize one or more client applications to use the services provided by these components. These components may be implemented in hardware, firmware, software, or a combination thereof. It should be understood that a variety of different system configurations are possible that may differ from distributed system 2800. Thus, the illustrated aspect is an example of a distributed system for implementing the aspect system and is not intended to be limiting.

[0305] Client computing devices 2802, 2804, 2806, and / or 2808 may be handheld mobile devices (e.g., iPhone®, mobile phone, iPad®, computing tablet, personal digital assistant (PDA)) or wearable devices (e.g., Google Glass® head-mounted display) that run software such as Microsoft Windows® Mobile® and / or various mobile operating systems such as iOS, Windows Phone, Android, BlackBerry 10, Palm OS, and provide access to the Internet, email, short message service (SMS), BlackBerry®, and other mobile devices. ®, or other communication protocols that may be used. The client computing devices may be general-purpose personal computers, including, by way of example, personal and / or laptop computers running various versions of the Microsoft Windows®, Apple Macintosh®, and / or Linux® operating systems. The client computing devices may be workstation computers running any of a variety of commercially available UNIX® or UNIX-like operating systems, including, but not limited to, various GNU / Linux operating systems such as Google Chrome OS. Alternatively, or additionally, the client computing devices 2802, 2804, 2806, and 2808 may be thin-client computers, Internet-enabled gaming systems (e.g., Microsoft Xbox game consoles with or without Kinect® gesture input devices), and / or other electronic devices, such as personal messaging devices, capable of communicating over the network 2810.

[0306] Although the exemplary distributed system 2800 is shown as having four client computing devices, any number of client computing devices may be supported. Other devices, such as devices with sensors, may interact with the server 2812.

[0307] Network 2810 in distributed system 2800 may be any type of network familiar to those skilled in the art capable of supporting data communications using any of a variety of commercially available protocols, including, but not limited to, TCP / IP (Transmission Control Protocol / Internet Protocol), SNA (Systems Network Architecture), IPX (Internet Packet Exchange), AppleTalk, etc. By way of example only, network 2810 may be a local area network (LAN), such as one based on Ethernet, token ring, etc. Network 2810 may also be a wide area network and the Internet. Network 2810 may include virtual networks, such as virtual private networks (VPNs). VPN), intranets, extranets, public switched telephone networks (PSTN), infrared networks, wireless networks (e.g., US Telecommunications Networks), Institute of Electrical and Electronics (IEEE) 802.28 The network may include, but is not limited to, networks operating under any of the following protocols: Bluetooth and / or other wireless protocols; and / or any combination thereof; and / or other networks.

[0308] Servers 2812 may be comprised of one or more general-purpose computers, dedicated server computers (including, by way of example, PC (personal computer) servers, UNIX servers, mid-range servers, mainframe computers, rack-mounted servers, etc.), server farms, server clusters, or other suitable configurations and / or combinations. Servers 2812 may include one or more virtual machines running a virtual operating system, or other computing architectures involving virtualization. One or more flexible pools of logical storage may be virtualized to maintain virtual storage devices for the servers. Virtual networks may be controlled by servers 2812 using software-defined networking. In various aspects, servers 2812 may be adapted to run one or more services or software applications described in the above disclosure. For example, servers 2812 may be configured to run one or more services or software applications described in the present disclosure. The present invention may correspond to a server for executing the above-described processes according to the third aspect.

[0309] Server 2812 may run an operating system, including any of those listed above, as well as any commercially available server operating system. Server 2812 may also run any of a variety of additional server and / or middle-tier applications, including a hypertext transport protocol (HTTP) server, a file transfer protocol (FTP) server, a common gateway interface (CGI) server, a JAVA server, a database server, etc. Exemplary database servers are available from Oracle, Microsoft, Sybase, It is commercially available from companies such as Sybase and IBM (International Business Machines). This includes, but is not limited to:

[0310] In some implementations, server 2812 may include one or more applications for analyzing and consolidating data feeds and / or event updates received from users of client computing devices 2802, 2804, 2806, and 2808. By way of example, the data feeds and / or event updates may include, but are not limited to, Twitter® feeds, Facebook® updates, or real-time updates received from one or more third-party sources and continuous data streams. Instead, the data feeds may include real-time events related to sensor data applications, financial tickers, network performance measurement tools (e.g., network monitoring and traffic management applications), clickstream analysis tools, automobile traffic monitoring, etc. Server 2812 may also include one or more applications for displaying data feeds and / or real-time events via one or more display devices of client computing devices 2802, 2804, 2806, and 2808.

[0311] Distributed system 2800 may also include one or more databases 2814 and 2816. Databases 2814 and 2816 may reside in a variety of locations. By way of example, one or more of databases 2814 and 2816 may reside on non-transitory storage media local to (and / or resident in) server 2812. Alternatively, databases 2814 and 2816 may be remote from server 2812 and communicate with server 2812 via a network-based or dedicated connection. In one set of aspects, databases 2814 and 2816 may reside on a storage-area network (SAN). Similarly, any necessary files for performing functions attributed to server 2812 may be stored locally on server 2812 and / or remotely, as appropriate. In one set of aspects, databases 2814 and 2816 may include relational databases, such as those provided by Oracle Corporation, adapted to store, update, and retrieve data in response to SQL-formatted commands.

[0312] 29 is a simplified block diagram of one or more components of a system environment 2900 capable of providing services provided by one or more components of an aspect of the system as cloud services, according to one aspect of the disclosure. In the illustrated aspect, the system environment 2900 includes one or more client computing devices 2904, 2906, and 2908 that can be used by users to interact with a cloud infrastructure system 2902 that provides cloud services. The client computing devices are used by users of the client computing devices to interact with the cloud infrastructure system 2902 to use services provided by the cloud infrastructure system 2902. The device may be configured to run a client application, such as a web browser, a proprietary client application (e.g., Oracle Forms), or other application.

[0313] It should be understood that the cloud infrastructure system 2902 depicted in the figure may have other components than those shown. Moreover, the illustrated aspect is only one example of a cloud infrastructure system that may incorporate aspects of the present invention. In some other aspects, cloud infrastructure system 2902 may have more or fewer components than those depicted in the figure, may combine two or more components, or may have a different configuration or arrangement of components.

[0314] Client computing devices 2904, 2906, and 2908 may be similar devices to those described above for 2802, 2804, 2806, and 2808.

[0315] Although the exemplary system environment 2900 is shown with three client computing devices, any number of client computing devices may be supported. Other devices, such as devices with sensors, etc., may interact with the cloud infrastructure system 2902.

[0316] Network 2910 may facilitate communication and exchange of data between clients 2904, 2906, and 2908 and cloud infrastructure system 2902. Each network may be any type of network familiar to those skilled in the art capable of supporting data communication using any of a variety of commercially available protocols, including those described above for network 2810.

[0317] Cloud infrastructure system 2902 may comprise one or more computers and / or servers, which may include those described above for server 2812.

[0318] In certain aspects, the services provided by a cloud infrastructure system may include numerous services available on demand to users of the cloud infrastructure system, such as online data storage and backup solutions, web-based email services, hosted office suites and document collaboration services, database processing, and managed technical support services. The services provided by the cloud infrastructure system are dynamically scalable to meet the needs of its users. A specific instantiation of a service provided by the cloud infrastructure system is referred to herein as a "service instance." In general, any service available to users from a cloud service provider's system over a communications network such as the Internet is referred to as a "cloud service." Typically, in a public cloud environment, the servers and systems comprising the cloud service provider's system are distinct from the customer's own on-premises servers and systems. For example, a cloud service provider's system may host an application, and users may order and use the application on demand over a communications network such as the Internet.

[0319] In some examples, services in a computer network cloud infrastructure may include storage, hosted databases, hosted web servers, protected computer network access to software applications, or other services provided to users by a cloud vendor or otherwise known in the art. The services may include other services. For example, the services may include password-protected access to remote storage on the cloud over the Internet. As another example, the services may include a web-services-based hosted relational database and scripting language middleware engine for private use by networked developers. As another example, the services may include access to an email software application hosted on a cloud vendor's website.

[0320] In certain aspects, cloud infrastructure system 2902 may include a suite of application, middleware, and database service offerings delivered to customers in a self-service, subscription-based, elastically scalable, reliable, highly available, and secure manner. One example of such a cloud infrastructure system is the Oracle Public Cloud offered by the present assignee.

[0321] Large amounts of data, sometimes referred to as big data, can be hosted and / or manipulated by infrastructure systems at multiple levels and at different scales. Such data can include data sets so large and complex that they can be difficult to process using typical database management tools or traditional data processing applications. For example, terabytes of data may be difficult to store, retrieve, and process using personal computers or their rack-based counterparts. Data of this size can be difficult to work with using modern relational database management systems and desktop statistics and visualization packages. They may require massively parallel processing software running thousands of server computers, beyond the architecture of commonly used software tools, to capture, curate, manage, and process the data within acceptable elapsed times.

[0322] Analysts and researchers can store and process extremely large data sets to visualize, detect trends, and / or interact with large amounts of data. Dozens, hundreds, or even thousands of processors linked in parallel can act on such data, thereby displaying it or simulating forces on it or what it represents. These data sets may involve structured data, such as data organized in databases or according to structured models, and / or unstructured data (e.g., emails, images, data blobs (binary large objects), web pages, complex event processing, etc.). By enhancing the ability of a system to relatively quickly converge more (or fewer) computing resources on a target, cloud infrastructure systems can be better utilized to perform tasks on large data sets based on requests from businesses, government agencies, research organizations, private individuals, like-minded groups of individuals or organizations, or other entities.

[0323] In various aspects, cloud infrastructure system 2902 may be adapted to automatically provision, manage, and track customer subscriptions to services provided by cloud infrastructure system 2902. Cloud infrastructure system 2902 may provide cloud services through a variety of deployment models. For example, services may be provided under a public cloud model in which cloud infrastructure system 2902 is owned by an organization that sells cloud services (e.g., owned by Oracle Corporation) and the services are available to the general public or various industry enterprises. As another example, cloud infrastructure system 2902 may be supported under a private cloud model in which the cloud infrastructure system 2902 is operated solely for a single organization and may provide services to one or more entities within that organization. Cloud services may also be provided under a community cloud model, in which cloud infrastructure system 2902 and the services provided by cloud infrastructure system 2902 are shared by several organizations within an associated community, or under a hybrid cloud model, which is a combination of two or more different models.

[0324] In some aspects, the services provided by the cloud infrastructure system 2902 are software as a service (Software as a Service). SaaS Category, Platform as a Service Other categories of services, including PaaS (PaaS), Infrastructure as a Service (IaaS), or hybrid services A subscription order may include one or more services offered under a category. A customer may order one or more services offered by cloud infrastructure system 2902 through a subscription order. Cloud infrastructure system 2902 then performs processing to provide the services in the customer's subscription order.

[0325] In some aspects, services provided by the cloud infrastructure system 2902 may include, but are not limited to, application services, platform services, and infrastructure services. In some examples, application services may be provided by the cloud infrastructure system via a SaaS platform. The SaaS platform may be configured to provide cloud services that fall into the SaaS category. For example, the SaaS platform may provide functionality for building and delivering a suite of on-demand applications on an integrated development and deployment platform. The SaaS platform may manage and control the underlying software and infrastructure for providing the SaaS services. By utilizing the services provided by the SaaS platform, customers can utilize applications that run on the cloud infrastructure system. Customers can obtain application services without the need for customers to purchase separate licenses and support. A variety of different SaaS services may be offered. Examples include, but are not limited to, services that provide solutions for sales performance management, enterprise integration, and business flexibility for large organizations.

[0326] In some aspects, platform services may be provided by a cloud infrastructure system via a PaaS platform. The PaaS platform may be configured to provide cloud services that fall into the PaaS category. Examples of platform services include, but are not limited to, services that enable organizations (e.g., Oracle) to integrate existing applications on a shared, common architecture and the ability to build new applications that leverage shared services provided by the platform. The PaaS platform may manage and control the underlying software and infrastructure to provide the PaaS services. Customers can obtain PaaS services provided by the cloud infrastructure system without the need for the customers to purchase separate licenses and support. Examples of platform services include, but are not limited to, Oracle Java Cloud Service (JCS) and Oracle Database Cloud Service (DBCS).

[0327] By using the services provided by the PaaS platform, customers can utilize programming languages ​​and tools supported by the cloud infrastructure system and can also control the deployed services. In some aspects, platform services provided by the cloud infrastructure system may include database cloud services, middleware cloud services (e.g., Oracle Fusion middleware services), and Java cloud services. In one aspect, database cloud services may support a shared service deployment model that enables organizations to pool database resources and provide database-as-a-service to customers in the form of a database cloud. Middleware cloud services may provide customers with a platform for developing and deploying various business applications in the cloud infrastructure system, and Java cloud services may provide customers with a platform for deploying Java applications in the cloud infrastructure system.

[0328] A variety of different infrastructure services may be provided by the IaaS platform in a cloud infrastructure system. The infrastructure services facilitate the management and control of basic computing resources such as storage, network, and other underlying computing resources for customers who use the services provided by the SaaS and PaaS platforms.

[0329] Additionally, in certain aspects, cloud infrastructure system 2902 may include infrastructure resources 2930 for providing resources used to provide various services to customers of the cloud infrastructure system. In one aspect, infrastructure resources 2930 may include a pre-integrated, optimized combination of hardware, such as servers, storage, and networking resources, for running the services provided by the PaaS and SaaS platforms.

[0330] In some aspects, resources in cloud infrastructure system 2902 may be shared by multiple users and dynamically reallocated on a demand basis. Resources may also be allocated to users in different time periods. For example, cloud infrastructure system 2930 may maximize resource utilization by allowing a first set of users in a first time period to utilize resources of the cloud infrastructure system for a specified time period and allowing reallocation of the same resources to another set of users located in a different time period.

[0331] In certain aspects, several internal shared services 2932 may be provided that are shared by various components or modules of, and services provided by, cloud infrastructure system 2902. These internal shared services may include, but are not limited to, security and identity services, integration services, enterprise repository services, enterprise manager services, virus scanning and whitelisting services, high availability, backup and recovery services, services to enable cloud support, email services, notification services, file transfer services, etc.

[0332] In certain aspects, cloud infrastructure system 2902 may provide comprehensive management of cloud services (e.g., SaaS services, PaaS services, and IaaS services) in the cloud infrastructure system. In one aspect, the cloud management functionality includes functionality for provisioning, managing, tracking, etc., customer subscriptions received by cloud infrastructure system 2902. It may include the ability.

[0333] In one aspect, as shown in the figure, cloud management functionality may be provided by one or more modules, such as an order management module 2920, an order orchestration module 2922, an order provisioning module 2924, an order management and monitoring module 2926, and an identity management module 2928. These modules may include or be provided using one or more computers and / or servers, which may be general-purpose computers, dedicated server computers, server farms, server clusters, or other suitable configurations and / or combinations.

[0334] In example operation 2934, a customer using a client device, such as client device 2904, 2906, or 2908, may interact with cloud infrastructure system 2902 by requesting one or more services offered by cloud infrastructure system 2902 and placing an order for a subscription to one or more services provided by cloud infrastructure system 2902. In particular aspects, the customer may access a cloud user interface (UI), i.e., cloud UI 2929, cloud UI 2914, and / or cloud UI 2916, and place a subscription order via these UIs. Order information received by cloud infrastructure system 2902 in response to the customer placing an order may include information identifying the customer and the one or more services offered by cloud infrastructure system 2902 to which the customer intends to subscribe.

[0335] After an order is placed by a customer, the order information is received via the cloud UI 2929, 2914 and / or 2916.

[0336] In operation 2936, the order is stored in order database 2918. Order database 2918 may be one of several databases operated by cloud infrastructure system 2918 and in cooperation with other system elements.

[0337] In operation 2938, the order information is forwarded to the order management module 2920. In some examples, the order management module 2920 may be configured to perform billing and accounting functions related to the order, such as confirming the order and booking the order upon confirmation.

[0338] At operation 2940, information regarding the order is communicated to the order orchestration module 2922. The order orchestration module 2922 may utilize the order information to orchestrate the provisioning of services and resources for the order placed by the customer. In some examples, the order orchestration module 2922 may orchestrate the provisioning of resources to support the subscribed service using the services of the order provisioning module 2924.

[0339] In certain aspects, the order orchestration module 2922 enables management of the business processes associated with each order and applies business logic to determine whether the order should proceed to provisioning. In operation 2942, upon receiving an order for a new subscription, the order orchestration module 2922 allocates resources to fulfill the subscription order. The order orchestration module 2922 sends a request to the order provisioning module 2924 to configure those resources needed to provide the services ordered by the customer. The order provisioning module 2924 enables the allocation of resources for the services ordered by the customer. The order provisioning module 2924 provides a level of abstraction between the cloud services provided by the cloud infrastructure system 2900 and the physical implementation layer used to provision the resources to provide the requested services. Thus, the order orchestration module 2922 can be decoupled from implementation details such as whether services and resources are actually provisioned on the fly or pre-provisioned and only allocated / assigned when requested.

[0340] In operation 2944 , once the services and resources are provisioned, a notification of the provided services may be sent to the customer on the client devices 2904 , 2906 and / or 2908 by the order provisioning module 2924 of the cloud infrastructure system 2902 .

[0341] In operation 2946, the customer's subscription order may be managed and tracked by the order management and monitoring module 2926. In some examples, the order management and monitoring module 2926 may be configured to collect usage statistics for the services in the subscription order, such as the amount of storage used, the amount of data transferred, the number of users, and the amount of system up time and system down time.

[0342] In certain aspects, cloud infrastructure system 2900 may include identity management module 2928. Identity management module 2928 may be configured to provide identity services, such as access management and authorization services, in cloud infrastructure system 2900. In some aspects, identity management module 2928 may control information about customers who wish to use services provided by cloud infrastructure system 2902. Such information may include information authenticating the identities of such customers and information describing which actions those customers are authorized to perform on various system resources (e.g., files, directories, applications, communication ports, memory segments, etc.). Identity management module 2928 may also include management of descriptive information about each customer and how and by whom this descriptive information may be accessed and modified.

[0343] 30 illustrates an exemplary computer system 3000 in which various aspects of the present invention can be implemented. System 3000 can be used to implement any of the computer systems described above. As shown, computer system 3000 includes a processing unit 3004 that communicates with several peripheral subsystems via a bus subsystem 3002. These peripheral subsystems can include a processing acceleration unit 3006, an I / O subsystem 3008, a storage subsystem 3018, and a communications subsystem 3024. Storage subsystem 3018 includes a tangible computer-readable storage medium 3022 and a system memory 3010.

[0344] Bus subsystem 3002 provides a mechanism for allowing the various components and subsystems of computer system 3000 to communicate with each other as intended. While bus subsystem 3002 is shown schematically as a single bus, alternative implementations of the bus subsystem may utilize multiple buses. Bus subsystem 3002 may include a memory bus or memory controller, a peripheral bus, and any of a variety of bus architectures. The bus may be any of several types of bus structures, including a local bus using any of the following: For example, such architectures may include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus, which may be implemented as a mezzanine bus manufactured to the IEEE P3086.1 standard.

[0345] Processing unit 3004, which may be implemented as one or more integrated circuits (e.g., conventional microprocessors or microcontrollers), controls the operation of computer system 3000. Processing unit 3004 may include one or more processors. These processors may include single-core or multi-core processors. In certain aspects, processing unit 3004 may be implemented as one or more independent processing units 3032 and / or 3034, each with a single-core or multi-core processor included therein. In other aspects, processing unit 3004 may be implemented as a quad-core processing unit formed by incorporating two dual-core processors on a single chip.

[0346] In various aspects, the processing unit 3004 may execute various programs in response to program code and may maintain multiple programs or processes running simultaneously. At any given time, some or all of the program code to be executed may reside in the processor 3004 and / or the memory subsystem 3018. Through suitable programming, the processor 3004 may provide the various functions described above. The computer system 3000 may also additionally include a processing acceleration unit 3006, which may include a digital signal processor (DSP), special purpose processor, etc.

[0347] The I / O subsystem 3008 may include user interface input devices and user interface output devices. User interface input devices may include keyboards, pointing devices such as mice or trackballs, touchpads or touchscreens, which may incorporate displays, scroll wheels, click wheels, dials, buttons, switches, keypads, audio input devices, as well as voice command recognition systems, microphones, and other types of input devices. User interface input devices may include motion detection and / or gesture recognizers, such as a Microsoft Kinect® motion sensor, which allows a user to control and interact with an input device, such as a Microsoft Xbox® 360 game controller, through a natural user interface using gestures and spoken commands. User interface input devices may also include eye gesture recognizers, such as a Google Glass® blink detector, which detects eye movements from a user (e.g., "blinking" while taking pictures and / or making menu selections) and translates the eye gestures as input to the input device. The user interface input devices may also include a voice recognition sensing device that allows a user to interact with a voice recognition system (e.g., the Siri® navigator) via voice commands.

[0348] User interface input devices also include three-dimensional (3D) mice, joysticks or pointing sticks, gamepads and graphic tablets, and audio / visual devices such as speakers, digital cameras, digital camcorders, portable media players, webcams, image scanners, fingerprint scanners, barcode readers, and the like. The user interface input devices may include, but are not limited to, 3D scanners, 3D printers, laser range finders, and gaze detection devices. The user interface input devices may also include medical imaging input devices, such as computed tomography, magnetic resonance imaging, positional emission tomography, and medical ultrasound equipment. The user interface input devices may also include audio input devices, such as MIDI keyboards and digital musical instruments.

[0349] User interface output devices may include display subsystems, indicator lights, or non-visual displays such as audio output devices. The display subsystem may be a flat panel display, such as one using a cathode ray tube (CRT), liquid crystal display (LCD), or plasma display, a projection device, a touch screen, or the like. In general, use of the term "output device" is intended to include all possible types of devices and mechanisms for outputting information from computer system 3000 to a user or another computer. For example, user interface output devices may include, but are not limited to, various display devices that visually convey text, graphics, and audio / video information, such as monitors, printers, speakers, headphones, automobile navigation systems, plotters, voice output devices, and modems.

[0350] Computer system 3000 may include a storage subsystem 3018 that comprises software elements presently shown as located in system memory 3010. System memory 3010 may store program instructions that are loadable and executable on processing unit 3004, as well as data generated during the execution of these programs.

[0351] Depending on the configuration and type of computer system 3000, system memory 3010 may be volatile (such as random access memory (RAM)) and / or non-volatile (such as read-only memory (ROM), flash memory, etc.). RAM typically contains data and / or program modules that are immediately accessible to and / or presently being operated on and executed by processing unit 3004. In some implementations, system memory 3010 may be static random access memory (SRAM) or 3000, typically stored in ROM. By way of example and not limitation, system memory 3010 may store client applications, web browsers, middle-tier applications, relational database management systems (RDBMS), etc. Also shown are possible application programs 3012, program data 3014, and operating system 3016. By way of example, operating system 3016 may include various versions of the Microsoft Windows, Apple Macintosh, and / or Linux operating systems, various commercially available UNIX or UNIX-like operating systems (including, but not limited to, various GNU / Linux operating systems, Google Chrome OS, etc.), and / or mobile operating systems such as iOS, Windows Phone, Android OS, BlackBerry 10 OS, and Palm OS operating systems.

[0352] The storage subsystem 3018 also contains basic programming that provides several aspects of its functionality. The storage subsystem 3018 may provide a tangible computer-readable storage medium for storing programming and data structures. Software (programs, code modules, instructions) that, when executed by a processor, provide the above-described functionality may be stored in the storage subsystem 3018. These software modules or instructions may be executed by the processing unit 3004. The storage subsystem 3018 may also provide a repository for storing data used in accordance with the present invention.

[0353] The storage subsystem 3000 may also include a computer-readable storage medium reader 3020 further connectable to a computer-readable storage medium 3022. Together and optionally in combination with the system memory 3010, the computer-readable storage medium 3022 may comprehensively represent remote, local, fixed, and / or removable storage devices, as well as storage media for temporarily and / or permanently containing, storing, transmitting, and retrieving computer-readable information.

[0354] The computer-readable storage medium 3022 containing the code or portions of code may include any suitable medium known or used in the art, including, but not limited to, storage and communication media, such as volatile and nonvolatile, removable and non-removable media, implemented in any method or technology for storing and / or transmitting information. This may include tangible, transitory computer-readable storage media, such as RAM, ROM, electronically erasable programmable ROM (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disk (DVD), or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage, or other magnetic storage, or other tangible computer-readable media. It may also include intangible, transitory computer-readable media, such as a data signal, data transmission, or any other medium usable to transmit the desired information and accessible by the computing system 3000.

[0355] By way of example, computer-readable storage medium 3022 may include a hard disk drive that reads from or writes to non-removable, non-volatile magnetic media, a magnetic disk drive that reads from or writes to removable, non-volatile magnetic disks, and an optical disk drive that reads from or writes to removable, non-volatile optical disks, such as CD-ROMs, DVDs, and Blu-ray disks or other optical media. Computer-readable storage medium 3022 may include, but is not limited to, Zip drives, flash memory cards, universal serial bus (USB) flash drives, secure digital (SD) cards, DVD disks, digital video tapes, and the like. Computer-readable storage medium 3022 may also include flash memory-based SSDs, enterprise flash drives, solid-state drives (SSDs) based on non-volatile memory such as solid-state ROMs, solid-state These may include SSDs based on volatile memory such as RAM, dynamic RAM, static RAM, DRAM-based SSDs, magnetoresistive RAM (MRAM) SSDs, and hybrid SSDs that use a combination of DRAM and flash memory-based SSDs. The disk drives and their associated computer-readable media may provide computer-readable instructions, data structures, program modules, and other data to the computer system 3000.

[0356] The communications subsystem 3024 provides an interface to other computer systems and networks. The communications subsystem 3024 provides an interface for receiving data from other systems and transmitting data from the computer system 3000 to other systems. For example, communications subsystem 3024 may enable computer system 3000 to connect to one or more devices via the Internet. In some aspects, communications subsystem 3024 may include a radio frequency (RF) transceiver component for accessing wireless voice and / or data networks (e.g., using cellular technology, advanced data network technologies such as 3G, 4G, or EDGE (enhanced data rates for global evolution)), Wi-Fi, or other wireless technologies. i (IEEE 802.28 family of standards or other mobile communication technologies or any combination thereof), global positioning system (GPS) receiver control In some aspects, the communications subsystem 3024 may provide a wired network connection (e.g., Ethernet) in addition to or instead of a wireless interface.

[0357] Also, in some aspects, the communications subsystem 3024 may receive incoming communications in the form of structured and / or unstructured data feeds 3026, event streams 3028, event updates 3030, etc., on behalf of one or more users who may be using the computer system 3000.

[0358] As an example, the communications subsystem 3024 may provide Twitter feeds, Facebook updates, Rich Site Summary (RSS) feeds, and other similar services. The data feed 3026 may be configured to receive data feeds, such as web feeds, in real time from users of social media networks and / or other communication services, and / or to receive real-time updates from one or more third-party sources.

[0359] Additionally, the communications subsystem 3024 may be configured to receive data in the form of a continuous data stream. The data may include an event stream 3028 of real-time events and / or event updates 3030 that may be continuous or may be essentially unbounded with no clear ends. Examples of applications that generate continuous data may include, for example, sensor data applications, financial tickers, network performance measurement tools (e.g., network monitoring and traffic management applications), clickstream analysis tools, automobile traffic monitoring, etc.

[0360] The communications subsystem 3024 may also be configured to output structured and / or unstructured data feeds 3026, event streams 3028, event updates 3030, etc. to one or more databases that may communicate with one or more streaming data source computers coupled to the computer system 3000.

[0361] The computer system 3000 may be one of a variety of types, including a handheld mobile device (e.g., an iPhone® mobile phone, an iPad® computing tablet, a PDA), a wearable device (e.g., a Google Glass® head-mounted display), a PC, a workstation, a mainframe, a kiosk, a server rack, or other data processing system.

[0362] Due to the ever-changing nature of computers and networks, the description of computer system 3000 shown in the figure is intended only as a specific example. Many other configurations are possible having more or fewer components than the system shown in FIG. 30. For example, customized hardware may be used and / or particular elements may be implemented in hardware, firmware, software (including applets), or a combination. Additionally, connections to other computing devices, such as network input / output devices, may be utilized. Based on the disclosure and teachings provided herein, a person of ordinary skill in the art will appreciate other ways and / or methods to implement various aspects.

[0363] In the foregoing specification, aspects of the invention have been described with reference to specific aspects thereof, but those skilled in the art will recognize that the invention is not limited thereto. Various features and aspects of the above-described invention may be used individually or together. Moreover, aspects may be utilized in a number of environments and applications beyond those described herein without departing from the broader spirit and scope of the specification. Accordingly, the specification and drawings are to be regarded as illustrative rather than restrictive.

Claims

1. 1. A computer-implemented method for computing rhetorical relations between one or more sentences, comprising: accessing a sentence including a plurality of fragments, at least one fragment including a verb and a plurality of words, each word including a role of the plurality of words within the fragment, each fragment being a basic discourse unit, the method further comprising: generating a discourse tree representing a rhetorical relationship between the plurality of fragments, the discourse tree including a plurality of nodes, each non-terminal node representing a rhetorical relationship between two of the plurality of fragments, and each terminal node of the plurality of nodes of the discourse tree being associated with one of the plurality of fragments, the method further comprising: creating a communicative discourse tree by matching each fragment having a verb to a verb signature, said matching comprising: accessing a plurality of verb signatures, each verb signature including the verb of the fragment and a sequence of thematic roles, thematic roles describing a relationship between the verb and a plurality of associated words, said matching further comprising: for each verb signature of the plurality of verb signatures, determining a plurality of thematic roles for each of the signatures that match roles of words in the fragment; selecting a particular verb signature from the plurality of verb signatures based on the particular verb signature containing the most matches; and associating the particular verb signature with the fragment.

2. The communication discourse tree is a first communication discourse tree, and the method further comprises: identifying a best match between the first and second communication discourse trees from a plurality of communication discourse trees; accessing text associated with the second communicative discourse tree; and transmitting text associated with the second communicative discourse tree to a mobile device.

3. receiving a request including a question from a server device and a user device; accessing a plurality of candidate answers; determining a plurality of candidate answer communication discourse trees by creating a communication discourse tree for each candidate answer among the plurality of candidate answers; determining a score for each of the candidate answers based on a comparison of the communicative discourse tree with each corresponding candidate answer communicative discourse tree; and providing to the server device an answer corresponding to the communicative discourse tree with the highest score.

4. The associating step further comprises: identifying each of the plurality of thematic roles in the particular verb signature; and for each of the plurality of thematic roles in the particular verb signature, matching corresponding words in the fragment to the thematic role. How to do it.

5. The method further includes identifying a first fragment and a second fragment from the plurality of fragments, the first fragment having a first signature and the second fragment having a second signature, the first signature including a thematic role, the method further comprising: determining that the second fragment corresponds to the thematic role of the first fragment; and associating a non-terminal node with an updated first signature that includes the first signature and the second signature.

6. The method of claim 1 , wherein the verb is a communicative verb.

7. The method of claim 1 , wherein each verb signature of the plurality of verb signatures includes one of: (i) an adverb, (ii) a noun phrase, or (iii) a noun.

8. 1. A computer-readable storage medium storing non-transitory computer-executable program instructions that, when executed by a processing device, cause the processing device to perform the following operations: The method includes an operation of accessing a sentence including a plurality of fragments, at least one fragment including a verb and a plurality of words, each word including a role of the plurality of words within the fragment, each fragment being a basic discourse unit, the operation further comprising: generating a discourse tree representing a rhetorical relationship between the plurality of fragments, the discourse tree including a plurality of nodes, each non-terminal node representing a rhetorical relationship between two of the plurality of fragments, and each terminal node of the plurality of nodes of the discourse tree being associated with one of the plurality of fragments, the following operations further comprising: creating a communicative discourse tree by matching each fragment having a verb to a verb signature, said matching comprising: and an act of accessing a plurality of verb signatures, each verb signature including the verb of the fragment and a sequence of thematic roles, thematic roles describing a relationship between the verb and a plurality of associated words, the act of matching further comprising: for each verb signature of the plurality of verb signatures, determining a plurality of thematic roles of each signature that match roles of words in the fragment; selecting a particular verb signature from the plurality of verb signatures based on the particular verb signature containing the most matches; and associating the particular verb signature with the fragment.

9. The communication discourse tree is a first communication discourse tree, and the following operations further include: identifying a best match between said first and second communication discourse trees from a plurality of communication discourse trees; accessing text associated with the second communicative discourse tree; and transmitting text associated with the second communicative discourse tree to a mobile device.

10. The following operations further include: receiving a request including a question from the server device and the user device; accessing multiple candidate answers; determining a plurality of candidate answer communication discourse trees by creating a communication discourse tree for each candidate answer from the plurality of candidate answers; determining a score for each of the candidate answers based on a comparison of the communicative discourse tree with each corresponding candidate answer communicative discourse tree; and providing to the server device an answer corresponding to the communicative discourse tree having the highest score.

11. The associating action further comprises: an act of identifying each of the plurality of thematic roles in the particular verb signature; and for each of the plurality of thematic roles in the particular verb signature, matching corresponding words in the fragment to the thematic role.

12. The following operations further include: and an operation of identifying a first fragment and a second fragment from the plurality of fragments, the first fragment having a first signature and the second fragment having a second signature, the first signature including a thematic role, the following operations further comprising: determining that the second fragment corresponds to the thematic role of the first fragment; and associating a non-terminal node with an updated first signature that includes the first signature and the second signature.

13. The computer-readable storage medium of claim 8 , wherein the verb is a communicative verb.

14. The method of claim 1 , wherein each verb signature of the plurality of verb signatures includes one of: (i) an adverb, (ii) a noun phrase, or (iii) a noun.

15. 1. A system comprising: a computer-readable medium storing non-transitory computer-executable program instructions for applying image effects within an image processing application; a processing device communicatively coupled to the computer-readable medium for executing the non-transitory computer-executable program instructions, wherein executing the non-transitory computer-executable program instructions configures the processing device to perform the following operations: The method includes an operation of accessing a sentence including a plurality of fragments, at least one fragment including a verb and a plurality of words, each word including a role of the plurality of words within the fragment, each fragment being a basic discourse unit, the operation further comprising: generating a discourse tree representing a rhetorical relationship between the plurality of fragments, the discourse tree including a plurality of nodes, each non-terminal node representing a rhetorical relationship between two of the plurality of fragments, and each terminal node of the plurality of nodes of the discourse tree being associated with one of the plurality of fragments; The following operations further include: creating a communicative discourse tree by matching each fragment having a verb to a verb signature, said matching comprising: and an act of accessing a plurality of verb signatures, each verb signature including the verb of the fragment and a sequence of thematic roles, thematic roles describing a relationship between the verb and a plurality of associated words, the act of matching further comprising: for each verb signature of the plurality of verb signatures, determining a plurality of thematic roles of each signature that match roles of words in the fragment; selecting a particular verb signature from the plurality of verb signatures based on the particular verb signature containing the most matches; and associating the particular verb signature with the fragment.

16. The communication discourse tree is a first communication discourse tree, and the following operations further include: identifying a best match between said first and second communication discourse trees from a plurality of communication discourse trees; accessing text associated with the second communicative discourse tree; and transmitting text associated with the second communicative discourse tree to a mobile device.

17. The following operations further include: receiving a request including a question from the server device and the user device; accessing multiple candidate answers; determining a plurality of candidate answer communication discourse trees by creating a communication discourse tree for each candidate answer from the plurality of candidate answers; determining a score for each of the candidate answers based on a comparison of the communicative discourse tree with each corresponding candidate answer communicative discourse tree; and providing to the server device an answer corresponding to the communicative discourse tree having the highest score.

18. The associating action further comprises: an act of identifying each of the plurality of thematic roles in the particular verb signature; and for each of the plurality of thematic roles in the particular verb signature, matching corresponding words in the fragment to the thematic role.

19. The following operations further include: and an operation of identifying a first fragment and a second fragment from the plurality of fragments, the first fragment having a first signature and the second fragment having a second signature, the first signature including a thematic role, the following operations further comprising: determining that the second fragment corresponds to the thematic role of the first fragment; and associating a non-terminal node with an updated first signature that includes the first signature and the second signature.

20. The system of claim 15 , wherein the verb is a communicative verb.

21. 1. A computer-implemented method for determining complementarity of a pair of sentences by analyzing a communicative discourse tree, comprising: determining, for the question sentence, a question communicating discourse tree including a question root node, the communicating discourse tree being a discourse tree including communicative actions; determining a discourse tree for answer communication for the answer sentence, the discourse tree for answer communication including an answer root node, the method further comprising: merging the communicative discourse trees by identifying the question root node and the answer root node as being identical; calculating a level of complementarity between the question communication discourse tree and the answer communication discourse tree by applying a predictive model to the merged communication discourse tree; and identifying the question sentence and the answer sentence as complementary in response to determining that the level of complementarity is above a threshold.

22. 22. The method of claim 21, further comprising the step of relating the question communication discourse tree and the answer communication discourse tree by creating additional communication discourse trees.

23. 22. The method of claim 21, wherein the predictive model is trained with a crossover learning machine learning algorithm to determine the level of complementarity of subtrees of two communicative discourse trees.

24. aligning basic discourse units of the merged communicative discourse tree with corresponding parse trees; merging the basic discourse units of the merged communicative discourse tree with the corresponding parse trees.

25. 22. The method of claim 21, wherein the predictive model is a neural network machine learning algorithm trained to determine the level of complementarity between two communicative discourse trees that are identified as concordant or incongruent.

26. The merged discourse tree is a first communicative discourse tree, and the method further comprises: identifying a best match between the first and second communication discourse trees from a plurality of communication discourse trees; accessing text associated with the second communicative discourse tree; and transmitting text associated with the second communicative discourse tree to a mobile device.

27. 22. The method of claim 21, further comprising transmitting (i) the question sentence or (ii) the answer sentence to a mobile device as a search result.

28. A computer-implemented method for training a classification model to predict the complementarity of a pair of sentences by analyzing a communicative discourse tree. A method of accessing a set of training data including a set of training pairs, each training pair including a question-communicating discourse tree representing a question and an answer-communicating discourse tree representing an answer and an expected level of complementarity, the method further comprising: providing one of the training pairs to a classification model; receiving a determined level of complementarity from the classification model; calculating a loss function by calculating the difference between the determined level of complementarity and each of the expected levels of complementarity; adjusting internal parameters of the classification model to minimize the loss function; A method comprising training a classification model by iteratively running the method.

29. 30. The method of claim 28, wherein the set of training data includes question-answer pairs that include a question and an answer that is related but rhetorically inaccurate when compared to the question.

30. creating a merged discourse tree from a question communication discourse tree representing a question and an answer communication discourse tree representing an answer; 29. The method of claim 28, further comprising: computing a level of complementarity between the question communicating discourse tree and the answer communicating discourse tree by applying a predictive model to the merged discourse tree.

31. 1. A system comprising: a computer-readable medium storing non-transitory computer-executable program instructions for applying image effects within an image processing application; a processing device communicatively coupled to the computer-readable medium for executing the non-transitory computer-executable program instructions, wherein executing the non-transitory computer-executable program instructions configures the processing device to perform the following operations: The method includes an operation of determining, for a question sentence, a question communication discourse tree including a question root node, the communication discourse tree being a discourse tree including communicative actions, and the following operations further include: determining an answer communication discourse tree for the answer sentence, the answer communication discourse tree including an answer root node, and the following operations further include: merging the communication discourse trees by identifying the question root node and the answer root node as being identical; calculating a level of complementarity between the question communication discourse tree and the answer communication discourse tree by applying a predictive model to the merged discourse tree; and identifying the question sentence and the answer sentence as complementary in response to determining that the level of complementarity is above a threshold.

32. 32. The system of claim 31, further comprising the act of relating the question communication discourse tree and the answer communication discourse tree by creating additional communication discourse trees.

33. The predictive model estimates the level of complementarity of subtrees of two communicative discourse trees.

32. The system of claim 31, trained with a crossover learning machine learning algorithm to determine the signal.

34. The following operations further include: aligning basic discourse units of the merged communicative discourse tree with corresponding parse trees; and merging the basic discourse units of the merged communicative discourse tree with the corresponding parse trees.

35. 32. The system of claim 31, wherein the predictive model is a neural network machine learning algorithm trained to determine the level of complementarity between two communicative discourse trees that are identified as matching or incompatible.

36. 32. The system of claim 31, further comprising an operation of transmitting one or both of (i) the question sentence or (ii) the answer sentence to a mobile device as a search result.

37. The following operations further include: and an operation of accessing a set of training data including a set of training pairs, each training pair including a question-communicating discourse tree representing a question and an answer-communicating discourse tree representing an answer and an expected level of complementarity, the following operations further comprising: providing one of the training pairs to a classification model; receiving a determined level of complementarity from the classification model; calculating a loss function by calculating the difference between the determined level of complementarity and each of the expected levels of complementarity; and adjusting internal parameters of the classification model to minimize the loss function.

32. The system of claim 31, further comprising the act of training the classification model by iteratively running the system.

38. 32. The system of claim 31, wherein the set of training data includes question-answer pairs including a question and an answer that is relevant but rhetorically inaccurate when compared to the question.

39. The following operations further include: creating a merged discourse tree from the question communication discourse tree representing the question and the answer communication discourse tree representing the answer; 32. The system of claim 31, further comprising the operation of calculating a level of complementarity between the question communicating discourse tree and the answer communicating discourse tree by applying a predictive model to the merged discourse tree.

40. The merged discourse tree is a first communicating discourse tree, and the following operations further include: identifying a best match between said first and second communication discourse trees from a plurality of communication discourse trees; accessing text associated with the second communicative discourse tree; and transmitting text associated with the second communicative discourse tree to a mobile device.