Dependence on discourse tree to build ontology
By constructing discourse trees and generalized phrases, the problem of insufficient ontology formation in existing technologies is solved, enabling more accurate entity class information updates and improving the response and dialogue management capabilities of the computing system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ORACLE INT CORP
- Filing Date
- 2022-01-05
- Publication Date
- 2026-07-31
AI Technical Summary
Existing computer applications are unable to effectively utilize rich discourse-related information to form ontology, resulting in poor performance in answering questions, performing dialogue management, or providing recommendation systems.
By using discourse technology to generate or extend the ontology, a discourse tree is constructed and text associated with the central entity is identified to form generalized phrases, and the ontology is updated to provide more accurate entity class information.
It improves the accuracy and effectiveness of computing systems in answering questions and performing dialogue management, and promotes improvements in search systems, recommendation systems and autonomous agents.
Smart Images

Figure CN117015772B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority to U.S. Patent Application No. 17 / 466,409, filed September 3, 2021, and U.S. Provisional Application No. 63 / 134,757, filed January 7, 2021, the contents of which are incorporated herein by reference in their entirety for all purposes. Technical Field
[0003] This disclosure generally relates to linguistics. More specifically, this disclosure relates to the use of discourse techniques to form ontology. Background Technology
[0004] Linguistics is the scientific study of language. One aspect of linguistics is the application of computer science to human natural languages, such as English. Due to the greatly increased speed of processors and the capacity of memory, the computer applications of linguistics are increasing. For example, computer-enabled analysis of language discourse has facilitated many applications that can answer questions from users, such as automated agents. However, such applications cannot utilize the rich discourse-related information to form ontology, resulting in poor performance in answering questions, performing dialogue management, or providing recommendation systems. Summary of the Invention
[0005] Generally, the systems, apparatus, and methods of this invention relate to using discourse techniques to generate or extend ontology. In the example, a computer-implemented method determines the text associated with a central entity in a discourse tree. This method generalizes the text.
[0006] In one aspect, an extended ontology approach includes generating a discourse tree from text comprising segments, representing rhetorical relationships between the segments. The discourse tree includes nodes, each non-terminal node representing a rhetorical relationship between two segments, and each terminal node in the discourse tree is associated with one of the segments. The approach also includes identifying, from the discourse tree, a central entity corresponding to a topic node of the central entity in the identified text that is associated with a rhetorical relationship that is not elaboration or joint. The approach further includes determining a subset of basic discourse units associated with the central entity from the discourse tree. Determining the subset of basic discourse units includes identifying core basic discourse units associated with elaboration relationships. The approach also includes forming generalized phrases by identifying one or more common elements shared by two or more basic discourse units in the subset of basic discourse units within the text associated with the subset of basic discourse units. The approach further includes forming tuples from the generalized phrases by applying one or more syntactic or semantic templates to one or more common elements. Each tuple is an ordered set of words in their normal form. The method also includes identifying each tuple in the tuple as having a type including noun phrases, verb phrases, adjective phrases, or prepositional phrases. The method further includes updating the ontology with entities from the identified tuples in response to successfully converting the basic discourse units associated with the identified tuples into logical representations including predicates and arguments. The conversion is based on the type of the identified tuples.
[0007] In one aspect, the method also includes, in response to receiving a query from a user device, locating an entity in the ontology and providing the entity to the user device.
[0008] In one aspect, the method also includes identifying entity classes. Identifying entity classes involves encoding tuples into vector representations, providing vector representations to a machine learning model, and receiving entity classes from the machine learning model.
[0009] On the one hand, providing entities to user equipment includes providing entity classes to user equipment.
[0010] In one aspect, identifying the central entity includes locating the root node in the discourse tree. Identifying the central entity also includes determining a subset of terminal nodes from the discourse tree that are associated with non-terminal nodes detailing rhetorical relationships and represent core basic discourse units. Identifying the central entity further includes calculating the corresponding path length from the root node for each node in the subset of terminal nodes. Finally, identifying the topic node from the subset of terminal nodes that has a path length that is the minimum path length among the path lengths.
[0011] On one hand, converting each basic discourse unit associated with one or more tuples into a corresponding logical representation includes identifying whether the tuple is a noun phrase or a prepositional phrase, extracting one or more of the head noun or the last noun as a logical predicate, and extracting one or more other words as arguments of that logical predicate.
[0012] On one hand, converting each basic discourse unit associated with one or more tuples into a corresponding logical representation includes identifying the type of the tuple as a verb phrase and extracting the verb of the tuple as a predicate and extracting one or more other words as arguments.
[0013] On the one hand, each tuple includes a predicate, a subject, and an object.
[0014] In one aspect, the method also includes identifying entity classes that correspond to one or more tuples of a generalized phrase. Entity classes represent the categories of entities. Updates also include updating the ontology using the entity classes.
[0015] In one aspect, a system includes a non-transitory computer-readable medium storing computer-executable program instructions and a processing device communicatively coupled to the non-transitory computer-readable medium for executing the computer-executable program instructions. Executing the computer-executable program instructions configures the processing device to perform operations. These operations include generating a discourse tree representing rhetorical relationships between fragments from text comprising segments. The discourse tree includes nodes, each non-terminal node representing a rhetorical relationship between two fragments, and each terminal node in the discourse tree is associated with one of the fragments. These operations include identifying a central entity from the discourse tree that (i) is associated with a rhetorical relationship of type detail or type union, and (ii) corresponds to a topic node of the central entity of the identified text. These operations include constructing a communicative discourse tree from the discourse tree by matching each fragment having a verb in the discourse tree with a predetermined verb signature. These operations include identifying a central entity from the communicative discourse tree that is associated with a rhetorical relationship of type detail and corresponds to a topic node of the central entity of the identified text. These operations include determining a subset of basic discourse units associated with the central entity from the communicative discourse tree. Determining a subset of basic discourse units involves identifying core basic discourse units associated with the type description. These operations also include forming generalized phrases by identifying one or more common elements shared by two or more basic discourse units in the subset of basic discourse units within the text associated with the subset. These operations further include forming tuples from one or more common elements by applying one or more syntactic or semantic templates to the corresponding phrases. Each tuple is an ordered set of words in their normal form. These operations also include identifying each tuple in the tuples as having a type including noun phrases, verb phrases, adjective phrases, or prepositional phrases. These operations also include updating the ontology with entities from the identified tuples in response to successfully converting the basic discourse units associated with the identified tuples into logical representations including predicates and arguments. The conversion is based on the type of the identified tuples.
[0016] The above methods can be implemented as tangible computer-readable media and / or operate within a computer processor and attached memory. Attached Figure Description
[0017] Figure 1 An exemplary ontology environment based on one aspect is described.
[0018] Figure 2 An example of a discourse tree based on one aspect is depicted.
[0019] Figure 3 Further examples of discourse trees based on one side are depicted.
[0020] Figure 4It describes an illustrative schema based on one aspect.
[0021] Figure 5 It depicts the node link representation of a hierarchical binary tree based on one aspect.
[0022] Figure 6 Depicting according to one side Figure 5 The example indented text encoding is shown in the figure.
[0023] Figure 7 An exemplary discourse tree is depicted based on an example request regarding property tax from one side.
[0024] Figure 8 Describing the Figure 7 An example response to the question is shown in the image.
[0025] Figure 9 The diagram illustrates the discourse tree used for the first response, based on one aspect.
[0026] Figure 10 The diagram illustrates the discourse tree used for the second response, based on one aspect.
[0027] Figure 11 The diagram illustrates the communication discourse tree based on a claim made by one party to the first agent.
[0028] Figure 12 The diagram illustrates the communication discourse tree based on a statement made by one party for the second agent.
[0029] Figure 13 The diagram illustrates the communication discourse tree based on a statement made by one party for a third agent.
[0030] Figure 14 The diagram illustrates a parse thicket based on one aspect.
[0031] Figure 15 The illustration shows an exemplary process for constructing a communication discourse tree according to one aspect.
[0032] Figure 16 An example of extracting logical clauses from text according to one aspect of this disclosure is described.
[0033] Figure 17 An example of an entity relationship diagram according to one aspect of this disclosure is provided.
[0034] Figure 18 An entity diagram and discourse tree are depicted according to one aspect of this disclosure.
[0035] Figure 19An example of an event annotation according to one aspect of this disclosure is depicted.
[0036] Figure 20 An example visualization of the annotations according to one aspect of this disclosure is provided.
[0037] Figure 21 An abstract representation diagram and event classification method according to one aspect of this disclosure are depicted.
[0038] Figure 22 An aggregation of phrases for obtaining a hierarchical structure is described according to one aspect of this disclosure.
[0039] Figure 23 A solid mesh matrix is depicted according to one aspect of this disclosure.
[0040] include Figure 24A and Figure 24B Figure 24 depicts a syntax tree according to one aspect of this disclosure.
[0041] Figure 25 A diagram illustrating the interrelationships of entities according to one aspect of this disclosure is provided.
[0042] Figure 26 An additional entity interrelationship diagram is depicted according to one aspect of this disclosure.
[0043] Figure 27 A discourse tree is depicted according to one aspect of this disclosure.
[0044] Figure 28 This is a flowchart of an exemplary process for extending an ontology according to one aspect of this disclosure.
[0045] Figure 29 A simplified diagram of a distributed system used to implement one of these aspects is depicted.
[0046] Figure 30 It is a simplified block diagram of the components of a system environment, through which services provided by the components of the system can be provided as cloud services.
[0047] Figure 31 An exemplary computer system in which various aspects of the present invention can be implemented is illustrated. Detailed Implementation
[0048] The aspects disclosed in this paper provide technical improvements to the field of computer-implemented linguistics. More specifically, certain aspects use discourse and other technologies to generate improved ontologies. Ontologies include entities and the relationships between pairs of related entities or attributes. Ontologies can be constructed for any knowledge domain, such as law, technology, medicine, etc. Furthermore, ontologies can be used in electronic systems such as decision support systems (DSS) or search tools.
[0049] As an example, in the medical field, ontology can map diseases to drug names and treatments. The use of ontology in medicine primarily focuses on representing medical terminology. For instance, healthcare professionals use ontology to represent knowledge about disease symptoms and treatments. Pharmaceutical companies use ontology to represent information about drugs, dosages, and allergies.
[0050] Ontologies form the foundation of numerous Data Structures (DSS) used to support medical activities; therefore, the quality of the underlying ontology impacts the results of DSSs that rely on these ontologies. Consequently, automatically constructed medical ontologies (including schema knowledge and individual descriptions) are validated by domain experts. For this reason, the construction and tuning of medical ontologies has traditionally relied on close collaboration between domain experts (e.g., healthcare professionals) and knowledge engineers. Existing automated ontology construction techniques exist, but are limited to creating partial solutions.
[0051] Therefore, some technological advantages include improved ontology achieved through the use of discourse techniques that more accurately represent the source text. Compared to previous techniques, the use of discourse techniques facilitates the selection of more relevant ontology entries from the source text. Examples of applications that benefit from improved ontology include search systems, recommendation systems, DSS (Discretionary Subsystems), autonomous agents, and diagnostic systems.
[0052] Furthermore, some aspects utilize communicative discourse trees (CDTs). A CDT is a discourse tree that includes communicative actions. By incorporating labels that identify these actions, learning a communicative discourse tree can occur on a richer set of features than just the rhetorical relations and syntax of basic discourse units (EDUs). Utilizing such a feature set, additional techniques can be used to develop and / or argue ontologies, thereby enabling improved automated agents. In doing so, computational systems are able to achieve autonomous agents capable of intelligently answering questions.
[0053] Some definitions
[0054] As used in this article, "rhetorical structure theory" is a field of research and study that provides a theoretical foundation for analyzing the coherence of discourse.
[0055] As used in this article, “discourse tree” or “DT” refers to the structure that represents the rhetorical relationships of sentences as part of a sentence.
[0056] As used in this article, "rhetorical relation," "rhetorical interrelation," "coherence relation," or "discourse relation" refers to how two segments of a discourse are logically connected to each other. Examples of rhetorical relations include elaboration, contrast, and attribution.
[0057] As used in this article, a “sentence fragment” or “fragment” is a part of a sentence that can be separated from the rest of the sentence. A fragment is a basic unit of discourse. For example, for the sentence “Company B says that evidence points to organization C as being responsible for causing the loss,” the two fragments are “Company B says that evidence points to organization C” and “as being responsible for causing the loss.” A fragment may, but does not necessarily, include a verb.
[0058] As used in this article, a “signature” or “frame” refers to the nature of a verb in a fragment. Each signature may include one or more thematic roles. For example, for the fragment “Company B says that evidence points to organization C,” the verb is “say,” and the signature for this particular use of the verb “say” could be an “agent verb topic,” where “Company B” is the agent and “evidence” is the topic.
[0059] As used in this article, a "thematic role" is a component of a signature used to describe a role of one or more words. Continuing with the previous example, "agent" and "subject" are thematic roles.
[0060] As used in this article, "nuclearity" refers to which text segment, paragraph, or section is more central to the author's purpose. The core is the more central section, while the satellite is the less central section.
[0061] As used in this article, "coherence" refers to linking two rhetorical relationships together.
[0062] As used in this article, a "communicative verb" is a verb that indicates communication. For example, the verb "deny" is a communicative verb.
[0063] As used in this article, a “communicative action” describes an action performed by one or more agents and the agent’s principal.
[0064] As used in this article, a "statement" is an assertion of the truth of something. For example, a statement could be "I am not responsible for paying rent this month" or "the rent is late."
[0065] As used in this article, an "argument" is a reason or set of reasons presented to support a statement. An example argument for the statement above is "the necessary repairs were not completed".
[0066] As used herein, "argument validity" or "validity" refers to whether the arguments supporting a statement are internally consistent. Internal consistency means that an argument is consistent with itself, for example, it does not contain two contradictory statements. External consistency means that an argument is consistent with known facts and rules.
[0067] As used herein, a "logical system" or "logical procedure" is a collection of instructions, rules, facts, and other information that can represent an argument for a particular statement. Resolving the logical system leads to determining whether an argument is valid.
[0068] Figure 1 An exemplary ontology environment based on one aspect is described. Figure 1 A computing device 101, input text 120, and a body 140 are depicted. Examples of computing devices include those respectively in... Figure 29 and Figure 30 The client computing devices 2902, 2904, 2906, and 2908, and client computing devices 3004, 3006, and 3008 are depicted. In the depicted example, computing device 101 accesses input text 120 and uses utterances and other techniques to form and / or update ontology 140. An example of the processing used to create entries for the ontology is about... Figure 28 The discussion process is 2800. An ontology includes data or information about a specific subject area (such as law, engineering, or medicine). An ontology typically consists of multiple entries, each of which may include logical statements and cross-references to other entries or external sources.
[0069] Computing device 101 includes one or more of an application 122, a discourse parser 104, a machine learning model 124, and training data 125. Application 122 can be configured to perform operations described herein, such as parsing text, applying semantic or syntactic templates to text, etc. Discourse parser 104 can create discourse trees and / or communication discourse trees. An example of a process used to create a discourse tree is related to... Figure 16 The process 1600 is discussed below. The machine learning model 124 can be a classifier, a predictive model, or other type of model. Examples of suitable models include tree kernel models and nearest neighbor models. The machine learning model 124 can be trained using supervised or unsupervised techniques. The machine learning model 124 can be trained using training data 125. The training data can include positive and negative datasets with associated training labels.
[0070] Rhetorical Structure Theory and Discourse Tree
[0071] Linguistics is the scientific study of language. For example, linguistics can include sentence structure (syntax), such as subject-verb-object; sentence meaning (semantics), such as dog bites cat versus cat bites dog; and what the speaker is doing in a conversation, that is, discourse analysis or language analysis outside of sentences.
[0072] The theoretical foundation of discourse—Rhetorical Structure Theory (RST)—can be attributed to Mann, William, and Thompson, Sandra, “Rhetorical Structure Theory: A Theory of Text Organization,” *Text-Interdisciplinary Journal for the Study of Discourse*, 8(3):243–281, 1988. Similar to how syntax and semantics in programming language theory help enable modern software compilers, RST helps enable discourse analysis. More specifically, RST assumes structural blocks at at least two levels: a first level of core and rhetorical relations, and a second level of structure or pattern. Discourse parsers or other computer software can parse text into discourse trees.
[0073] Rhetorical structure theory models the logical organization of text, which is the structure adopted by the author and depends on the relationships between the parts of the text. RST models textual coherence by forming a hierarchical connection structure of text via a discourse tree. Rhetorical relations are categorized into coordinate and subordinate classes; these relations are maintained across two or more text segments, thus achieving coherence. These text segments are called basic discourse units (EDUs). Clauses within sentences and sentences within the text are logically connected by the author. The meaning of a given sentence is related to the meaning of preceding and subsequent sentences. This logical relationship between clauses is called the coherent structure of the text. RST is one of the most popular discourse theories, based on a tree-like discourse structure—the discourse tree (DT). The leaves of the DT correspond to EDUs, i.e., consecutive atomic text segments. Adjacent EDUs are connected by coherent relations (e.g., attribution, sequence), forming higher-level discourse units. These units are then also constrained by this relational link. EDUs linked by relations are then distinguished based on their relative importance: the core is the core part of the relation, while the satellites are the peripheral parts. As discussed, both topicality and rhetorical coherence are analyzed to determine accurate request-response pairs. When a speaker answers a question (such as a phrase or sentence), the speaker's response should address the topic of that question. In cases where a question is implicitly posed via the seed text of a message, an appropriate response is expected that not only maintains the topic but also matches the generalized cognitive state of that seed.
[0074] Rhetorical Relationship
[0075] As discussed, the aspects described in this paper use a communicative discourse tree. Rhetorical relations can be described in different ways. For example, Mann and Thompson described 23 possible relations. (C. Mann, William & Thompson, Sandra. (1987) (“Mann and Thompson”). Rhetorical Structure Theory: A Theory of Text Organization.) Other numbers of relations are possible.
[0076]
[0077]
[0078]
[0079] Some empirical studies assume that most texts are structured using core-satellite relationships. See Mann and Thompson. However, other relationships do not carry an explicit choice of core. Examples of such relationships are shown below.
[0080]
[0081] Figure 2 An example of a discourse tree based on one aspect is depicted. Figure 2 It includes a discourse tree 200. The discourse tree includes text segments 201, 202, 203, relation 210, and relation 228. Figure 2 The numbers in the text correspond to three text segments. Figure 3 The following example text corresponds to the three text segments numbered 1, 2, and 3:
[0082] 1. Honolulu, Hawaii will be the site of the 2017 Conference on Hawaiian History.
[0083] 2. It is expected that 200 historians from the US and Asia will attend.
[0084] 3. The conference will focus on how the Polynesians sailed to Hawaii.
[0085] For example, relation 210 (or detailed relation) describes the relationship between text segment 201 and text segment 202. Relation 228 depicts the relationship (detailed relation) between text segments 203 and 204. As depicted, text segments 202 and 203 further detail text segment 201. In the example above, given the goal of informing readers about the meeting, text segment 1 is central. Text segments 2 and 3 provide further details about the meeting. Figure 2 In this text, horizontal numbers (e.g., 1-3, 1, 2, 3) cover segments of text (which may consist of further segments); vertical lines indicate one or more cores; and curves represent rhetorical relationships (detailed) with arrows pointing from satellites to cores. If a text segment only acts as a satellite and not a core, removing that satellite will still leave coherent text. If someone from... Figure 2 If the core is removed, text sections 2 and 3 will become difficult to understand.
[0086] Figure 3 Further examples of discourse trees based on one side are depicted. Figure 3This includes components 301 and 302, text segments 305-307, and relations 310 and 328. Relation 310 describes the mutual relationship—enabling—between components 306 and 305, and between 307 and 305. Figure 3 The following text sections are involved:
[0087] 1. The new Tech Report abstracts are now in the journal section of the library near the abridged dictionary.
[0088] 2. Please sign your name by any means that you would be interested in seeing.
[0089] 3. The last day for signing up is May 31st.
[0090] As can be seen, relation 328 describes the mutual relationship between entities 307 and 306 (this mutual relationship is enabling). Figure 3 The diagram illustrates that although core elements can be nested, there is only one core text segment.
[0091] Constructing a discourse tree
[0092] Different methods can be used to generate discourse trees. A simple example of a bottom-up approach to constructing a discourse tree is:
[0093] (1) Divide the discourse text into units in the following ways:
[0094] (a) The cell size can vary depending on the objective of the analysis.
[0095] (b) Typically, the unit is a clause.
[0096] (2) Examine each unit and its neighbors. Are there any relationships between them?
[0097] (3) If so, mark the relationship.
[0098] (4) If not, the unit may be located at the boundary of a higher-level relationship. Examine the relationships maintained between larger units (segments).
[0099] (5) Continue until all units in the text have been identified.
[0100] Mann and Thompson also describe a second level of constructing block structures called pattern applications. In RST, rhetorical relations are not directly mapped to the text; they are adapted to structures called pattern applications, and these structures are then adapted to the text. Pattern applications are derived from simpler structures called patterns (such as...). Figure 4 (As shown). Each pattern indicates how to break down a specific unit of text into other smaller units of text. A rhetorical structure tree, or DT, is a hierarchical system of pattern application. Pattern applications link multiple consecutive text segments and create complex text segments that can then be linked by higher-level pattern applications. RST asserts that the structure of each coherent utterance can be described by a single rhetorical structure tree, whose top pattern creates segments that cover the entire utterance.
[0101] Figure 4 It describes an illustrative model based on one aspect. Figure 4 The joint model shows a list of projects consisting of a core without satellites. Figure 4 Patterns 401-406 are described. Pattern 401 describes the environmental relationship between text segments 410 and 428. Pattern 402 describes the sequential relationship between text segments 420 and 421, and the sequential relationship between text segments 421 and 422. Pattern 403 describes the contrastive relationship between text segments 430 and 431. Pattern 404 describes the joint relationship between text segments 440 and 441. Pattern 405 describes the motivational relationship between 450 and 451, and the enabling relationship between 452 and 451. Pattern 406 describes the joint relationship between text segments 460 and 462. Figure 4 The image shows an example of a union pattern for the following three text segments:
[0102] 1. Skies will be partly sunny in the New York metropolitan area today.
[0103] 2. It will be more humid, with temperatures in the middle 80s.
[0104] 3. Tonight will be mostly cloudy, with low temperatures between 65 and 70 degrees Celsius.
[0105] Although Figures 2-4 Some graphical representations of discourse trees have been depicted, but other representations are possible.
[0106] Figure 5 This depicts the node link representation of a hierarchical binary tree based on one aspect. For example, from... Figure 5 As can be seen in the text, the leaves of the DT correspond to consecutive, non-overlapping text segments called basic discourse units (EDUs). Adjacent EDUs are connected by relations (e.g., elaboration, attribution, etc.) to form larger discourse units, which are also connected by relations. "Discourse analysis in RST involves two sub-tasks: 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 and Giuseppe Carenini, Raymond TNg, and Yashar Mehdad. 2013. Combining intra-and multi-sentential rhetorical parsing for document-level discourse analysis. In ACL(1), pp. 486-496.
[0107] Figure 5 The text segments are depicted as leaves or terminal nodes on a tree, each arranged according to its position in the tree. Figure 6 The order in which they appear in the full text is numbered as shown. Figure 5 This includes tree 500. Tree 500 includes, for example, nodes 501-507. Nodes indicate relationships. Nodes can be non-terminal (such as node 501) or terminal (such as nodes 502-507). As can be seen, nodes 503 and 504 are related through a union relationship. Nodes 502, 505, 506, and 508 are cores. Dashed lines indicate branches or text segments that are satellites. Relationships are represented by nodes within gray boxes.
[0108] Figure 6 Depicting according to one side Figure 5 The example indented text encoding is shown in the figure. Figure 6This includes text 600 and text sequences 602-604. Text 600 is presented in a manner more suitable for computer programming. Text sequence 602 corresponds to node 502, sequence 603 corresponds to node 503, and sequence 604 corresponds to node 504. Figure 6 In the diagram, "N" indicates the core and "S" indicates the satellite.
[0109] Examples of discourse parsers
[0110] Automatic discourse segmentation can be performed using various methods. For example, given a sentence, a segmentation model identifies the boundaries of compound basic discourse units by predicting whether a boundary should be inserted before each specific token in the sentence. 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 a binary classifier (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 sequence tokenization problem. Once the text is segmented into basic discourse units, sentence-level discourse parsing can be performed to construct a discourse tree. Machine learning techniques can be used.
[0111] In one aspect of this invention, two Rhetorical Structure Theory (RST) discourse parsers are used: CoreNLPProcessor, which depends on constituent syntax, and FastNLPProcessor, which uses dependency syntax. See Surdeanu, Mihai & Hicks, Thomas & Antonio Valenzuela-Escarcega, Marco. Two Practical Rhetorical Structure Theory Parsers. (2015).
[0112] Furthermore, the two discourse parsers mentioned above (i.e., CoreNLPProcessor and FastNLPProcessor) use Natural Language Processing (NLP) for syntactic parsing. For example, Stanford CoreNLP provides the basic forms of words, their parts of speech, whether they are company names, person names, etc., normalizes dates, times, and numerical values, marks sentence structure based on phrases and syntactic dependencies, and indicates which noun phrases refer to the same entity. In reality, RST remains a theory that may work in many cases of discourse but not in others. Many variable factors exist, including but not limited to, which EDUs are present in the coherent text (i.e., which discourse segmenters are used, which lists of relations are used, and which relations are selected for the EDUs), the corpus of documents used for training and testing, and even which parsers are used. Therefore, for example, in the paper "Two Practical Rhetorical Structure Theory Parsers" by Surdeanu et al. cited above, tests must be run on a specific corpus using specialized metrics to determine which parser delivers better performance. Therefore, unlike computer language parsers that give predictable results, discourse parsers (and segmenters) may give unpredictable results depending on the training and / or testing text corpora. Thus, discourse trees are a hybrid of predictable techniques (e.g., compilers) and unpredictable techniques (e.g., like chemistry, requiring experimentation to determine which combinations will give you the expected results).
[0113] To objectively determine how good discourse analysis is, a range of metrics are used, such as the precision / recall / F1 ratio from Daniel Marcu, “The Theory and Practice of Discourse Parsing and Summarization,” MIT Press, (2000). Precision, or positive predictive value, is the proportion of relevant instances among retrieved instances, while recall (also known as sensitivity) is the proportion of relevant instances retrieved out of a total number of relevant instances. Therefore, both precision and recall are based on the understanding and measurement of relevance. Suppose a computer program used to identify dogs in a photograph identifies 8 dogs in a picture containing 12 dogs and some cats. Of the eight dogs identified, five are actually dogs (true positives), and the rest are cats (false positives). The program has a precision of 5 / 8 and a recall of 5 / 12. When a search engine returns 30 pages, of which only 20 are relevant, and fails to return 40 additional relevant pages, its precision is 20 / 30 = 2 / 3, while its recall is 20 / 60 = 1 / 3. Therefore, in this case, precision is "how useful the search results are," and recall is "how complete the results are." The F1 score (also known as the F-score or F-metric) is a measure of the accuracy of a test. It considers both precision and recall to calculate the score: F1 = 2 × ((precision × recall) / (precision + recall)) and is the harmonic mean of precision and recall. The F1 score reaches its best value (perfect precision and recall) at 1 and its worst value at 0.
[0114] Autonomous agents or chatbots
[0115] Conversations between human A and human B take the form of discourse. For example, there exist discourses such as... Messenger In applications like SMS, conversations between A and B can often be conducted via messaging, in addition to more traditional email and voice conversations. Chatbots (also known as intelligent robots or virtual assistants) are, for example, "intelligent" machines that replace human B and mimic conversations between two humans to varying degrees. The ultimate goal, in this context, is for human A to be unable to distinguish whether B is human or machine (the Turing Test, developed by Alan Turing in 1950). Speech analysis, artificial intelligence including machine learning, and natural language processing have made significant progress toward the long-term goal of passing the Turing Test. Of course, as computers become increasingly capable of searching and processing vast databases and performing complex analyses on data, including predictive analytics, the long-term goal is to make chatbots human-like and complementary to computers.
[0116] For example, users can interact with intelligent chatbot platforms through conversational interactions. This interaction, also known as a conversational user interface (UI), is a dialogue between the end-user and the chatbot, much like a conversation between two humans. It might be as simple as an end-user saying "Hello" to the chatbot and the chatbot responding with "Hi" and asking how it can help, or it could be a transactional interaction in a banking chatbot (such as transferring funds from one account to another), an informational interaction in an HR chatbot (such as checking holiday balance), or asking FAQs in a retail chatbot (such as how to process returns). End-user intents can be categorized using Natural Language Processing (NLP) and Machine Learning (ML) algorithms combined with other methods. High-level intents are those that the end-user wants to achieve (e.g., get an account balance, make a purchase). Intent is essentially a mapping of customer input to the unit of work that the backend should perform. Therefore, based on the phrases spoken by users in the chatbot, these phrases are mapped to specific and discrete use cases or units of work. For example, checking the balance, transferring funds, and tracking expenses are all "use cases" that the chatbot should support and be able to study from the free text entries typed by the end user in natural language to determine which unit of work should be triggered.
[0117] The fundamental principle behind enabling AI chatbots to respond like humans is that the human brain can formulate and understand requests, and then provide far better responses than machines. Therefore, if we mimic human B, the chatbot's request / response behavior should be significantly improved. Thus, the initial part of the question is: how does the human brain formulate and understand requests? To mimic this, we use models. RST and DT allow this to be done in a formalized and repeatable way.
[0118] At a high level, there are generally two types of requests: (1) requests to perform an action; and (2) requests for information, such as questions. The first type has a response that creates a unit of work. The second type has a response that is, for example, a good answer to the question. For example, in some respects, the answer may take the form of the AI constructing the answer from its extensive knowledge base(s), or from the best existing answers matched from searching the Internet or intranet or other public / private data sources.
[0119] Communicative discourse trees and rhetorical classifiers
[0120] This disclosure constructs a communication discourse tree and uses it to analyze whether the rhetorical structure of a request or question is consistent with the answer. More specifically, the aspects described herein create representations of request-response pairs, learn these representations, and associate these pairs with classes of valid or invalid pairs. In this way, an autonomous agent can receive a question from a user, process the question (e.g., by searching multiple answers), determine the best answer from these answers, and provide that answer to the user.
[0121] More specifically, to represent the linguistic features of a text, the aspects described in this paper use rhetorical relations and speech acts (or communicative actions). Rhetorical relations are the relationships between the parts of a sentence, typically obtained from a discourse tree. Speech acts are obtained as verbs from verb resources such as VerbNet. By using both rhetorical relations and communicative actions, the aspects described in this paper can correctly identify valid request-response pairs. To do this, the aspects correlate the syntactic structure of the question with the syntactic structure of the answer. By using this structure, a better answer can be determined.
[0122] For example, when an autonomous agent receives an instruction from a person that the person wishes to sell an item with certain characteristics, the autonomous agent should provide search results that not only include those characteristics but also indicate the intent to purchase. In this way, the autonomous agent has determined the user's intent. Similarly, when an autonomous agent receives a request from a person to share knowledge about a specific item, the search results should include the intent to receive recommendations. When a person asks the autonomous agent for opinions on a subject, the autonomous agent shares its own opinions on that subject, rather than soliciting another opinion.
[0123] Analyze request and response pairs
[0124] Figure 7 An exemplary discourse tree is depicted based on a sample request regarding property tax from one side. Node labels represent relationships, and lines with arrows point to satellites. The core is represented by solid lines. Figure 7 The following text is described.
[0125] Request: "My husbands'grandmother gave him his grandfather's truck. Shesigned the title over but due to my husband having unpaid fines on hislicense, he was not able to get the truck put in his name. I wanted to put inmy 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.I am justwondering that since I am not going to have a tag on this truck,is itpossible to get the property tax "Refunded?" ("My husband's grandmother gave him his grandfather's truck. She signed the transfer deed, but because my husband has unpaid fines on his license, he can't put the truck in his name. I wanted to put it in my name, paid the property tax, and bought insurance for the truck. By the time it was time to send out the deed and get the tag, I didn't have the money to do so. Now, due to circumstances, I won't be able to afford the truck. I went to the insurance company and was refused a refund. I'm just wondering if it's possible to get a property tax refund since I don't intend to have the tag on the truck?")
[0126] 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'town 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 transfertitle 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 title it within the period of time stipulated in "Property tax is levied on the property you own. Just because you choose not to register it doesn't mean you no longer own it, so the tax is non-refundable. Even if you haven't received the deed to the vehicle, you still own it within the tax district, so the tax is payable. Note that all states give you a limited time to transfer the deed and pay the usage tax. If you apply late, there will be penalties on top of the normal tax. You don't need to register it at the same time, but you absolutely must get the deed done within the timeframe specified in state law."
[0127] As in Figure 7As can be seen, analyzing the text above yields the following results. "My husbands' grandmother gave him his grandfather's truck" is detailed by "She signed the title over but due to my husband," which is further detailed by "having unpaid fines on his license, he was notable to get the truck put in his name," which is further detailed by "I wanted to put in my name," "and paid the property tax," and "and got insurance for the truck."
[0128] My husband's grandmother gave him his grandfather's truck. She signed the title transfer, but because my husband had unpaid fines on his license, he couldn't put the truck in his name. I wanted to put it in my name, pay the property tax, and get insurance for the truck. (Details follow.)
[0129] "I didn't have the money," which is elaborated by "to do so," the latter being related to...
[0130] The phrase "By the time" creates a contrast, with "By the time" further supported by the phrase "it came to send off the title."
[0131] The section on "and getting the tag" will be explained in detail.
[0132] “My husband’s grandmother gave him his grandfather’s truck. She signed the title over, but because my husband had unpaid fines on his license, he wasn’t able to put the truck in his name. I wanted to put it in my name, pay the property tax, and get insurance for the truck. By the time it came time to send off the title and get the tag, I didn’t have the money to do so.” This contrasts with the following:
[0133] "Now, due to circumstances," is elaborated upon by "I am not going to be able to afford the truck," which is further elaborated by the following:
[0134] I went to the insurance place.
[0135] "and was refused a refund."
[0136] “My husband’s grandmother gave him his grandfather’s truck. She signed the title transfer, but because my husband had unpaid fines on his license, he couldn’t put the truck in his name. I wanted to put it in my name, paid the property tax, and got insurance for the truck. By the time it came time to send off the title and get the tag, I didn’t have the money to do so. Now, due to circumstances, I’m not going to be able to afford the truck. I went to the insurance company and was refused a refund.” (Details follow.)
[0137] I'm just wondering if it's possible to get a property tax refund since I'm not going to have a tag on this truck?
[0138] The phrase "I am just wondering" is attributed to:
[0139] "that" and "is it possible to get the property tax refunded?" are the same unit, the latter with the condition "since I am not going to have a tagon this truck".
[0140] As you can see, the main topic of this thread is "Property tax on a car." The question presents a contradiction: on the one hand, all property is taxable, while on the other hand, ownership is somewhat incomplete. A good response must address both the main topic and clarify the inconsistency. To do this, the respondent makes a stronger statement about the necessity of paying taxes on anything owned, regardless of registration status. This example comes from a member of our positive training set in the Yahoo! Answers assessment domain. The main topic of this thread is "Property tax on a car." The question presents a contradiction: on the one hand, all property is taxable, while on the other hand, ownership is somewhat incomplete. A good answer / response must address both the main topic and clarify the inconsistency. The reader can observe that because the question involves a rhetorical relationship of contrast, the answer must match it to a similar relationship to be convincing. Otherwise, the answer will appear incomplete even to those who are not domain experts.
[0141] Figure 8 Depicting certain aspects of the invention Figure 7The following is an example response to the question raised in the text. The central core is detailed by "that you own," which is "the property tax is assessed on property." "The property tax is assessed on property that you own" is also detailed by "Just because you chose not to 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."
[0142] The core point is that "the property tax is assessed on the property that you own. Just because you chose not to 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 elaborated by the condition "If you apply late," which states "there will be penalties on top of the normal taxes and fees," and then by stating "but you absolutely need to title it within the period of time stipulated in the state." This section details the comparison between "You absolutely must register your vehicle within the time frame specified by state law" and "You don't need to register it at the same time."
[0143] Compare Figure 7 DT and Figure 8 The DT enables the determination of the response ( Figure 8 ) and request ( Figure 7 How well the match is. In some aspects of the invention, the above framework is used at least in part to determine the DTs used for requests / responses and the rhetoric agreement between the DTs.
[0144] In another example, the question “What does Company A do?” has at least two answers, such as a first answer or a second answer.
[0145] Figure 9 The diagram illustrates the discourse tree used for the first response, based on one aspect. For example... Figure 9 As described in the document, the first response or mission statement states: "The Company A is the main regional commercial organization which operates as Area A's product manufacturer and has business responsibility for providing first-rate goods, manufacturing high-quality products, and is responsible for producing goods required by Area A."
[0146] Figure 10 The diagram illustrates the discourse tree used for the second response, based on one aspect. For example... Figure 10As described in the text, another answer states: "Company A is supposed to manufacture high-quality products. However, departments of Company A are deemed to cut corners. Not only that, but their involvement in hype, exaggerating the function of goods, false advertising, and environmental damage has been reported. Due to the activities of these departments, dozens of huge losses, including those to consumers, have been resulted in."
[0147] The choice of answer depends on the context. Rhetorical structures allow for the distinction between the first and second answers; see [link / reference needed]. Figure 9 and Figure 10 Sometimes, the question itself can provide hints about which category of answer is expected. If the question is stated as a factual or definitional question without any secondary meaning, a first-category answer is appropriate. Otherwise, if the question implies "tell me what it is in fact," a second-category answer is appropriate. Generally, after extracting the rhetorical structure from the question, it is easier to choose an appropriate answer that will have a similar, matching, or complementary rhetorical structure.
[0148] The first response is based on detail and cohesion, which is neutral in terms of the potential controversy contained in the text (see [link]). Figure 9 Meanwhile, the second answer includes a contrastive relationship. This relationship is extracted between phrases that express what the agent is expected to do and what the agent has already done.
[0149] Classification of request-response pairs
[0150] Application 122 can determine whether a given answer or response (such as an answer obtained from answer database 105 or a public database) responds to a given question or request. More specifically, application 122 analyzes whether a request-response pair is correct or incorrect by determining one or both of (i) relevance or (ii) rhetorical consistency between the request and response. Rhetorical consistency can be analyzed without considering relevance and can be orthogonally processed.
[0151] Application 122 can use different methods to determine the similarity between question-answer pairs. For example, Application 122 can determine the similarity level between a single question and a single answer. Alternatively, Application 122 can determine a similarity measure between a first pair including questions and answers and a second pair including questions and answers.
[0152] For example, application 122 uses a machine learning model 124 trained to predict matching or non-matching answers. Application 122 can process two pairs at a time, for example...<q1,a1> and<q2,a2> Application 122 compares q1 with q2 and a1 with a1, thus generating a combined similarity score. This type of comparison allows determining whether an unknown question / answer pair contains the correct answer by evaluating its distance from another question / answer pair with a known label. In particular, unlabeled pairs can be processed.<q2,a2> This allows for the identification of correctness not based on "guessing" the words or structures shared by q2 and a2, but rather on comparing both q2 and a2 with the already labeled pairs based on such words or structures.<q2,a2> Their corresponding components q1 and a2 are compared. Because this method aims at classifying answers in a domain-independent manner, it can only leverage the structural cohesion between questions and answers, rather than the "meaning" of the answers.
[0153] In one aspect, application 122 uses training data 125 to train machine learning model 124. In this way, machine learning model 124 is trained to determine the similarity between pairs of questions and answers. This is a classification problem. Training data 125 may include positive and negative training sets. Training data 125 includes matching request-response pairs from the positive dataset and arbitrary or less relevant or appropriate request-response pairs from the negative dataset. For the positive dataset, various domains with different acceptance criteria are selected, indicating whether an answer or response is appropriate for the question.
[0154] Each training dataset includes a set of training pairs. Each training set includes a question discourse tree representing the question and a response discourse tree representing the response, as well as the expected complementarity level between the question and the response. Using iterative processing, application 122 feeds training pairs to machine learning model 124 and receives complementarity levels from the model. Application 122 computes a loss function by determining the difference between the determined complementarity level and the expected complementarity level for a particular training pair. Based on the loss function, application 122 adjusts the intrinsic parameters of the classification model to minimize the loss function.
[0155] Acceptance criteria can vary depending on the application. For example, acceptance criteria may be low for community question answering, automated question answering, automated and manual customer support systems, social network communications, and individuals (such as consumers) writing about their experiences with the product (such as reviews and complaints). RR acceptance criteria may be high in scientific texts, professional news, health and legal documents in FAQ form, and professional social networks (such as Stack Overflow).
[0156] Communication Discourse Tree (CDT)
[0157] Application 122 allows for the creation, analysis, and comparison of communicative discourse trees (CDTs). CDTs are designed to combine rhetorical information with speech act structures. CDTs include arcs labeled with expressions used for communicative actions. By combining communicative actions, CDTs enable modeling of RST relations and communicative actions. CDTs are a simplification of parse jungles. A parse jungle is a combination of parse trees of sentences, showing discourse-level relationships between words and parts of a sentence in a graph. By incorporating labels that identify speech acts, learning communicative discourse trees can occur on a richer set of features than just basic discourse units (EDUs) with their rhetorical relations and syntax.
[0158] The example analyzes a dispute among three parties regarding the cause of a substantial business loss. RST representations of the exchanged arguments are constructed. In the example, three conflicting agents (Company B, Company A, and self-proclaimed Company C) exchange their opinions on the matter. The example illustrates the contentious conflict, where each party tries to blame the other to the best of its ability. To sound more convincing, each party not only presents its own claims but also responds by rejecting the other's claims. To achieve this, each party attempts to match the style and discourse of the other's statements.
[0159] Figure 11 The diagram illustrates the communication discourse tree based on a statement made by one party for the first agent. Figure 11A communication discourse tree 100 is depicted, representing the following text: "Company B says that evidence points to organization C as being responsible for causing the loss. The report indicates where the bad products were manufactured and identifies who was in control of the factory and pins the causing of the loss on organization C."
[0160] As from Figure 11 As can be seen, 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 arc markers in the CDT have expressions for the communicative actions, including the agent and the subject of these actions (what is being communicated). For example, the core node (on the left) for detailing the relation is marked "say" (Company B, evidence), and the satellite is marked "responsible" (organization C, causing). These markers are not intended to express that the subject of the EDU is evidence and causing, but rather to match this CDT with other CDTs for the purpose of finding similarities between them. In this case, linking these communicative actions solely by rhetorical relations without providing information about the communicative discourse would be too limiting for a structure representing what is being communicated and how it is being communicated. For RR pairs, the requirement of having the same or equivalent rhetorical relations is too weak, thus requiring consistency in the CDT markers on the top arcs of the matching nodes.
[0161] The straight edges of this graph represent syntactic relations, while the curved arcs represent discourse relations, such as anaphora, identical entities, sub-entities, rhetorical relations, and communicative actions. This graph contains far more information than simply a combination of parse trees of individual sentences. In addition to CDT, the parse jungle can be generalized at the levels of words, relations, phrases, and sentences. A speech action is a logical predicate that expresses the corresponding speech act and the agent involved by the subject. Arguments of logical predicates are formed according to corresponding semantic roles, as proposed by frameworks such as VerbNet. See Karin Kipper, Anna Korhonen, Neville Ryant, Martha Palmer, A Large-scale Classification of English Verbs, Language Resources and Evaluation Journal, 42(1), pp.21-40, Springer Netherland, 2008. and / or Karin Kipper Schuler, Anna Korhonen, Susan W. Brown, VerbNet overview, extensions, mappings and apps,Tutorial,NAACL-HLT2009,Boulder,Colorado.
[0162] Figure 12 The diagram illustrates the communication discourse tree based on a statement made by one party for the second agent. Figure 12 A communication discourse tree 1200 is depicted, which represents the following text: "The Company A believes that the loss was caused by bad products, which were not produced in Area A. The Company Acites an investigation that established the type of the bad products."
[0163] Figure 13 The diagram illustrates the communication discourse tree based on a statement made by one party for a third agent. Figure 13A communication discourse tree 1300 is depicted, which represents the following text: "Organization C, the self-proclaimed Company C, denies that it controlled the factory in which the bad products were allegedly manufactured. It became possible only after three months after the event to say if organization C controlled one or another factory."
[0164] As can be seen from discourse trees 1100-1300, the responses are not arbitrary. The responses refer to the same entities as the original text. For example, discourse trees 1200 and 1300 are related to discourse tree 1100. The responses support inconsistencies with estimates and opinions about these entities and actions concerning them.
[0165] More specifically, the responses of the agents involved need to reflect the communication discourse of the first seed message. As a simple observation, because the first agent uses attribution to communicate its claims, other agents must follow this set and either provide their own attributions, attack the validity of the supporter's attributions, or both. To capture a variety of features needed for understanding how the communication structure of the seed message is preserved in successive messages, pairs of corresponding CDTs can be learned.
[0166] To verify the consistency of request-response, mere discourse relationships or verbal acts (communicative actions) are often insufficient. For example, from... Figures 11-13 As can be seen from the examples depicted, the discourse structure and types of interactions between agents are useful. However, the domain of the interactions (e.g., business conflict or commercial manufacturing) or the subjects of these interactions (i.e., entities) do not need to be analyzed.
[0167] Indicating rhetorical relationships and communicative actions
[0168] To compute similarities between abstract structures, two approaches are frequently used: (1) representing these structures in a numerical space and expressing the similarities as numbers, which is a statistical learning approach; or (2) using structural representations, such as trees and graphs, without using a numerical space and expressing the similarities as the greatest common substructure. Expressing similarities as the greatest common substructure is called generalization.
[0169] Learning to communicate actions helps in expressing and understanding arguments. Computational verb dictionaries help support the acquisition of action entities and provide rule-based forms to express their meaning. Verbs express the semantics of the described event and information about the relationships between the participants in that event, projecting syntactic structures that encode that information. Verbs, especially communicative action verbs, can be highly variable and can exhibit a rich range of semantic behaviors. In response, verb classification helps learning systems cope with this complexity by organizing verbs into groups that share core semantic properties.
[0170] VerbNet is a dictionary that identifies the semantic roles and syntactic pattern properties of verbs in each class and explicitly defines the connections between underlying semantic relations and syntactic patterns that can be inferred for all members of the class. See Karin Kipper, Anna Korhonen, Neville Ryant, and Martha Palmer, Language Resources and Evaluation, Vol. 42, No. 1 (March 2008), at 21. Each syntactic frame or verb signature of a class has a corresponding semantic representation that details the semantic relations between event participants across the event process.
[0171] For example, the verb *amuse* is part of a cluster of similar verbs with similar argument (semantic role) structures, such as *amaze*, *anger*, *arouse*, *disturb*, and *irritate*. The argument roles for these communicative actions are: *Experiencer* (usually a living entity), *Stimulus*, and *Result*. Each verb can have a class of meanings distinguished by syntactic features of how the verb appears in a sentence or frame. For example, the frame for *amuse* is as follows, using the following key noun phrases (NP), nouns (N), communicative actions (V), verb phrases (VP), and adverbs (ADV):
[0172] NP V NP. Example: "The teacher amused the children". Syntax: Stimulus V Experiencer. Clause: amuse(Stimulus, E, Emotion, Experiencer), cause(Stimulus, E), emotional_state(result(E), Emotion, Experiencer).
[0173] NP V ADV-Middle. Example: "Small children amuse quickly". Syntax: Experiencer V ADV. Clause: amuse(Experiencer, Prop):-, property(Experiencer, Prop), adv(Prop).
[0174] 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).
[0175] NP.cause 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).
[0176] NP V NP ADJ. Example "This performance bored me totally". Syntax Stimulus V Experiencer Result. amuse(Stimulus, E, Emotion, Experiencer). cause(Stimulus, E), emotional_state(result(E), Emotion, Experiencer), Pred(result(E), Experiencer).
[0177] Communicative actions can be represented by clusters, such as: verbs with predicate complements (appoint, characterize, dub, declare, conjecture, masquerade, orphan, captain, consider, classify); perceptual verbs (see, sight, peer); mental state verbs (amuse, admire, marvel, appeal); desire verbs (want, long); judgment verbs; assessment verbs (assess, estimate); search verbs (hunt, search, stalk, investigate, rumor, ferret); social interaction verbs (correspond, marry, meet, battle); and communication verbs (transfer (message), inquire, interrogate, tell, manage (speaking), talk, chat, say, complain, advise, confess, lecture, overstate, promise). Avoid verbs, measure verbs (register, cost, fit, price, bill), and aspect verbs (begin, complete, continue, stop, establish, sustain).
[0178] The aspects described in this paper offer advantages over statistical learning models. Compared to statistical solutions, aspects using classification systems can provide verbal or verb-like structures that are identified as leading to target features (such as rhetorical consistency). For example, statistical machine learning models express similarity as numbers, which can make interpretation difficult.
[0179] Indicates a request-response pair
[0180] This represents request-response pairs to facilitate classification-based operations. In the example, request-response pairs can be represented as a parse jungle. A parse jungle is a parse tree representation of two or more sentences, which has discourse-level relationships between words and parts of the sentences in a graph. See Galitsky 2015. The topic similarity between questions and answers can be represented as a common subgraph of the parse jungle. The more nodes in the common graph, the higher the similarity.
[0181] Figure 14 The illustration shows a jungle based on one aspect of the analysis. Figure 14A parse jungle 1400 is depicted, which includes a parse tree 1401 (for requests) and a parse tree 1402 (for corresponding responses).
[0182] Parse tree 1401 represents the problem: "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 amscared that he was cheating on me with another lady and I had her child. This child is the best thing that has ever happened to me, and I cannot imagine giving my baby to the real mom."
[0183] Response 1402 states that "Marital therapists advise on dealing with a child 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."
[0184] Figure 14This diagram represents a greedy method for representing linguistic information about paragraphs of text. The straight edges of the graph represent syntactic relations, and the curved arcs represent discourse relations, such as anaphora, identical entity, sub-entity, rhetorical relations, and communicative actions. Solid arcs are used for identical entity / sub-entity / anaphora relations, and dashed arcs are used for rhetorical relations and communicative actions. Elliptical markers within the straight edges represent syntactic relations. Lemmas are written in the boxes around the nodes, and the lemma form is written to the right of the node.
[0185] The parse jungle 1400 contains far more information than just a combination of parse trees for individual sentences. Navigating the graph along edges of syntactic relations and arcs of discourse relations allows a given parse jungle to be transformed into a semantically equivalent form for matching with other parse jungles, thus performing a text similarity assessment task. To form a complete formal representation of a paragraph, as many links as possible are expressed. Each discourse arc generates pairs of jungle phrases that are potentially matching.
[0186] The topic similarity between seeds (requests) and responses is represented as a common subgraph of the parsed jungle. They are visualized as connected clouds. The more nodes in the common graph, the higher the similarity. For rhetorical consistency, the common subgraph does not need to be as large as it is in the given text. However, the rhetorical relationships and communicative actions between seeds and responses are interrelated and require correspondence.
[0187] Generalization of communicative actions
[0188] The similarity between two communicative actions A1 and A2 is defined as an abstract verb that shares common features with A1 and A2. Defining the similarity between two verbs as an abstract verb-like structure supports inductive learning tasks such as rhetorical consistency assessment. In the example, the similarity between the following two common verbs (agree and disagree) can be generalized as follows: agree^disagree = verb(Interloccutor, Proposed_action, Speaker), where Interlocution is the person who proposes Proposed_action to Speaker, and Speaker communicates their response to them. Proposed_action is the action that Speaker will perform if they want to accept or reject a request or proposal, and Speaker is the person who has made a specific action to them and responded to the request or proposal.
[0189] In a further example, the similarity between the verbs agree and explain is represented as follows: agree^explain = verb(Interlocutor,*,Speaker). The subject of the communicative action is generalized within the context of the communicative action and not by other "physical" actions. Therefore, each aspect generalizes each occurrence of the communicative action along with its corresponding subject.
[0190] Furthermore, sequences of communicative actions representing a dialogue can be compared with other such sequences in similar dialogues. In this way, the meaning of individual communicative actions and the dynamic discourse structure of the dialogue (as opposed to its static structure reflected through rhetorical relations) are represented. Generalization is a composite structural representation that occurs at each level. The lexicon of a communicative action generalizes along with the lexicon, and its semantic role generalizes along with the corresponding semantic role.
[0191] Textual authors use communicative actions to indicate the structure of dialogue or conflict. See Searle, JR, 1969, *Speechacts: An Essay in the Philosophy of Language*, London: Cambridge University Press. Subjects are generalized in the context of these actions and not in other “physical” actions. Thus, the individual occurrences of communicative actions, along with their subjects and their counterparts, are generalized into discourse “steps.”
[0192] The generalization of communicative actions can also be considered from the perspective of matching verb frames (such as VerbNet). Communicative links reflect discourse structures associated with the participation (or mention) of more than one agent in the text. These links form sequences that connect words used for communicative actions (verbs or multiple words that implicitly indicate a person's communicative intention).
[0193] A communication action includes the actor, one or more agents being acted upon, and a phrase describing the characteristics of the action. A communication action can be described as a function of the form: verb(agent, subject, cause) where the verb represents some type of interaction between the agents involved (e.g., explaining, confirming, reminding, disagreeing, denying, etc.), the subject refers to the information being transmitted or the object being described, and the cause refers to the motivation or explanation directed at the subject.
[0194] The scene (labeled directed graph) is a subgraph of the parse jungle G = (V, A), where V = {action1, action2, ..., action...} nLet A be a finite set of vertices corresponding to communication actions, and let A be a finite set of labeled arcs (ordered pairs of vertices), classified as follows:
[0195] Each arc action i action j ∈A sequence Corresponding to the same subject (e.g., s) j =s i (or two actions of different subjects) i ,ag i ,s i ,c i and v j ,ag j ,s j ,c j Time priority. Each arc action i action j ∈A cause Corresponding to action i and action j The attack relationships between them, which indicate the action i Reasons and actions j The subject or cause of the conflict.
[0196] The subgraphs of the parsed jungle associated with the interaction scenarios between agents have some distinctive features. For example, (1) all vertices are time-ordered such that for all vertices (except the initial and terminal vertices), there exists an incoming arc and an outgoing arc; (2) for A sequence An arc, which allows at most one incoming arc and only one outgoing arc, and (3) for A cause An arc can have many outgoing arcs and many incoming arcs from a given vertex. The vertices involved can be associated with different agents or the same agent (i.e., when they contradict themselves). To compute the similarity between the parse jungle and its communication actions, inductive subgraphs, subgraphs with identical configurations and similar arc labels, and strict correspondences between vertices were analyzed.
[0197] By analyzing the arcs of the communication actions in the jungle, the following similarities exist: (1) a communication action whose subject is from T1 is compared to another communication action whose subject is from T2 (without using communication action arcs), and (2) a pair of communication actions whose subject is from T1 is compared to another pair of communication actions from T2 (using communication action arcs).
[0198] Generalizing two distinct communication actions is based on their properties. See (Galitsky et al. 2013). For example, in the section on... Figure 14As can be seen in the examples discussed, a communication action `cheating(husband, wife, another lady)` from T1 can be compared with a second communication action `avoid(husband, contact(husband, another lady))` from T2. Generalization results in `communicative_action(husband,*)`, which introduces a constraint on A in the form: if a given agent (=husband) is mentioned in Q as a subject of CA, then he / she should also be a subject of (possibly another) CA in A. It is always possible to generalize two communication actions, but not for their subjects: if the generalization result is empty, then the generalization result of a communication action with those subjects is also empty.
[0199] Generalization of RST relations
[0200] Some relationships between discourse trees can be generalized, such as arcs representing the same type of relationship (presentational relationships, such as contrast; thematic relationships, such as condition; and multi-core relationships, such as enumeration). The core or presented by the core is indicated by "N". The satellite or presented by the satellite is indicated by "S". "W" indicates the author. "R" indicates the reader (listener). Situations are proposals, completed actions, or actions in progress, as well as communicative actions and states (including beliefs, desires, approvals, explanations, reconciliations, etc.). The generalization of two RST relationships with the above parameters is expressed as: rst1(N1,S1,W1,R1)^rst2(N2,S2,W2,R2)=(rst1^rst2)(N1^N2,S1^S2,W1^W2,R1^R2).
[0201] The texts in N1, S1, W1, R1 are generalized as phrases. For example, rst1^rst2 can be generalized as follows: (1) If relation_type(rst1)!=relation_type(rst2), then it is generalized to empty. (2) Otherwise, the signature of the rhetorical relation is generalized to a sentence: sentence(N1,S1,W1,R1)^sentence(N2,S2,W2,R2). See Iruskieta, Mikel, Iria da Cunha and Maite Taboada. A qualitative comparison method for rhetorical structures: identifying different discourse structures in multilingual corpora. Lang Resources & Evaluation. June 2015, Vol. 49, No. 2.
[0202] For example, the meaning of rst-background^rst-enablement = (S increases R's ability to understand elements in N)^(R's understanding of S increases R's ability to perform actions in N) = increase-VB the-DT ability-NN of-IN R-NNto-IN.
[0203] Because the relations rst-background^rst-enablement are different, the RST relation part is empty. Then, generalization is performed as an expression of the linguistic definition of the corresponding RST relation. For example, for each word or placeholder word such as a proxy, if the word is the same in every input phrase, it is retained (along with its POS); if the word is different across these phrases, it is removed. The resulting expression can be interpreted as the common meaning between the formally obtained definitions of the two different RST relations.
[0204] Figure 14The two arcs depicting the question and answer illustrate a generalized example based on the RST relationship "RST-contrast". For example, "I just had a baby" is an RST-contrast with "it does not look like me", and related to "husband to avoid contact", which is an RST-contrast with "have the basic legal and financial commitments". As can be seen, the answer does not necessarily have to be similar to the verb phrase in the question, but the rhetorical structure of the question and answer is similar. Not all phrases in the answer must match the phrases in the question. For example, non-matching phrases have some rhetorical relationship with phrases in the answer that are related to the phrases in the question.
[0205] Constructing a discourse tree
[0206] Figure 15 The illustration depicts an exemplary process for constructing a communication discourse tree, according to one aspect. Application 122 can implement process 1500. As discussed, the communication discourse tree enables improved search engine results.
[0207] At box 1501, processing 1500 involves accessing sentences comprising fragments. At least one fragment includes verbs and words, and each word includes the role of the words within the fragment, and each fragment is a basic unit of discourse. For example, application 122 accesses phrases such as "about..." Figure 13 The description includes sentences like "Organization C, the self-proclaimed Company C, denies that it controlled the factory in which the bad products were allegedly manufactured."
[0208] Continuing with the example, apply 122 to determine that the sentence comprises several segments. For example, the first segment is "organizationC..denies". The second segment is "that it controlled the factory". The third segment is "in which the bad products were allegedly manufactured". Each segment contains a verb, such as "denies" in the first segment and "controlled" in the second segment. However, segments do not necessarily have to contain verbs.
[0209] At box 1502, processing 1500 involves generating a discourse tree representing the rhetorical relationships between sentence segments. The discourse tree includes nodes, each non-terminal node representing the rhetorical relationship between two sentence segments, and each terminal node in the discourse tree is associated with one of the sentence segments.
[0210] Continuing with this example, apply 122 to generate something like... Figure 13 The discourse tree shown is illustrated. For example, the third segment, "in which the bad products were allegedly manufactured," elaborates on "that it controlled the factory." The second and third segments together relate to the attribution of what happened, namely, that the cause cannot be Organization C, since it did not control the factory.
[0211] At box 1503, processing 1500 involves accessing multiple verb signatures. For example, application 122 accesses a list of verbs (e.g., from VerbNet). Each verb matches or is associated with a verb in the segment. For example, for the first segment, the verb is "deny". Accordingly, application 122 accesses a list of verb signatures associated with the verb "deny".
[0212] As discussed, each verb signature includes the verb in the segment 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 action (V), a verb phrase (VP), or an adverb (ADV). Thematic roles describe the relationship between the verb and related words. For example, “the teacher amused the children” has a different signature than “small children amuse quickly”. For the first segment, the verb “deny”, application 122 accesses a list of verb signatures or frames that match “deny”. This list is “NP V NPto be NP”, “NP V that S”, and “NP V NP”.
[0213] Each verb signature includes thematic roles. A thematic role is the role of the verb in a sentence segment. Application 122 identifies the thematic roles in each verb signature. Example thematic roles include actor, agent, asset, attribute, beneficiary, cause, location, destination, source, destination, source, location, experiencer, degree, instrument, material and product, material, product, patient, predicate, receiver, stimulus, theme, time, or subject.
[0214] At box 1504, processing 1500 involves determining the number of thematic roles of the corresponding signature that matches the role of the word in the fragment for each verb signature in the verb signature. For the first fragment, application 122 determines that the verb “deny” has only three roles: “agent”, “verb”, and “theme”.
[0215] At box 1505, processing 1500 involves selecting a particular verb signature from the verb signatures based on the maximum number of matches for that particular verb signature. For example, refer again... Figure 13 The code matches the verb signature "deny" in the first segment "the organization Cdenies...that it controlled the factory" with "deny" "NP V NP", and matches "control" with "control(organization,factory)". The verb signatures are nested, resulting in a nested signature "deny(organization C,control(organization C,factory))".
[0216] Indicates request-response
[0217] Request-response pairs can be analyzed individually or in pairs. In the example, request-response pairs can be chained together. Within the chain, rhetorical consistency is expected not only between consecutive members but also between triples and quadruples. Discourse trees can be constructed for texts expressing sequences of request-response pairs. For example, in the domain of customer complaints, from the complainant's perspective, requests and responses appear in the same text. Customer complaint text can be split into request and response text parts, then paired positive and negative datasets can be formed. In the example, all text from supporters and all text from opponents are combined. The first sentence of each paragraph below will form the request part (which will consist of three sentences), and the second sentence of each paragraph will form the response part (which will also consist of three sentences in this example).
[0218] Ontology constructed from text
[0219] Some aspects relate to ontology construction using discourse trees and / or communicative discourse trees (CDTs). Furthermore, such techniques can improve the extraction of relevant text and / or entities within the text used for ontology entries. Improved ontology leads to improved performance in downstream applications, such as search systems.
[0220] Medical records can be one of the most valuable sources of information and data about a patient's medical treatment. These records contain important items such as eligibility criteria, summaries of diagnoses, and prescriptions, often recorded in unstructured, free text. Extracting medical or clinical information from health records is a critical task, especially with the adoption of electronic health records. These records are typically stored as text documents and contain valuable unstructured information that is essential for making better treatment decisions for patients. Three main elements can be extracted from these clinical records: entities, attributes, and associated relationships.
[0221] Automatic identification of medical entities in unstructured text is a key component of biomedical information retrieval systems. Applications include analyzing unstructured text in electronic health records and discovering knowledge from biomedical literature. Many medical terms are structured into ontology, relationships between entities are added, and often several synonyms for each term are included.
[0222] The quality and consistency of the ontology automatically extracted from text determine the accuracy of the decision support system (DSS). A bottleneck in constructing concise, robust, and complete ontologies stems from the lack of mechanisms for extracting ontology entries from reliable, authoritative parts of documents. To construct an ontology, reliable text fragments expressing the central points of the text are used. Furthermore, entries are avoided from supplementary comments, clarifications, examples, instances, and other less important parts of the text. The disclosed technique uses discourse analysis (proven useful for tasks such as summarizing) to select discourse units that generate ontology entries.
[0223] Typically, the retrieved information is a collection of entities bound by relationships. Information presented in this format is useful for many applications (mining biomedical text, ontology learning, and question answering). An ontology structures knowledge as a set of terms with edges between them, labeled as relational information to evoke meaningful information. Ontologies act as the backbone of semantic web concepts designed to provide meaningful information on the web. Ontologies can benefit from information extraction in terms of ontology development or population (also known as ontology learning and population).
[0224] Discourse techniques can be used to develop or improve ontologies. Discourses typically consist of a series of sentences, but discourses can also be found even within a single sentence, such as a sequence of possible outcomes (events) like actions, result states, and events. The patterns formed by the sentences of a discourse provide additional information beyond the sum of the individual parts of the discourse. For example, each sentence in the following example is a simple assertion: “Don't worry about the watersource exhausting today. It is already tomorrow in some parts of the Earth.” The second sentence is connected to the first sentence with the rhetorical relationship of “not worrying” as a “reason.”
[0225] Discourse analysis utilizes linguistic features, which allows speakers to specify what they are saying:
[0226] 1) They talk about something they have already talked about in the same discourse before;
[0227] 2) Indicates the relationship maintained between states, events, beliefs, etc., presented in the discourse; or
[0228] 3) Change to a new topic or restore a topic from an earlier point in the discourse.
[0229] Linguistic features that allow speakers to specify the relationships between states, events, beliefs, etc., presented in a discourse include subordinating conjunctions (such as "until" or "unless") and discourse adverbs (such as "as a result"), as in: "Birds have wings. As a result, they can fly unless they are too heavy and wings cannot support their weight." Linguistic features in discourse also give speakers the opportunity to specify shifts to new topics or revert to earlier ones, including content that can be called cue phrases or boundary features.
[0230] A discourse can be associated with a sequence of sentences, which is:
[0231] 1) It conveys more to each other than its individual sentences through the relationships between them; or
[0232] 2) Utilize the special features of language that make discourse easier to understand.
[0233] Discourse can be structured by its topics, each of which comprises a set of entities and a limited range of things about what they say. Topic structures are common in explanatory texts found in textbooks, encyclopedias, and reference materials. A topic can be characterized by the problem it solves. Each topic involves a set of entities that can (but do not necessarily) change with the topic. Here, the entities include a glider; then the glider, its pilot, and passengers; then the glider and its propulsion system; then the glider and its launching mechanism. This aspect of the structure has been modeled as a chain of entities.
[0234] Entity chains consist of sequences of expressions referring to the same entity. For example, in text about flu, there are several entity chains: flu→virus→vitamins→their→drinking more liquids→high temperature. The positions where an entity chain terminates and another set begins can be used as indicators that the discourse has moved from one topic-oriented segment to another. This is useful for tuple extraction logic in the process of forming ontologies from text.
[0235] Some discourse units are more valuable to ontology entries than others. For example, consider the following sentence: I went to see a pulmonologist,becauseIsuspected tuberculosis As my mom asked me to do. (I went to see...) A pulmonologist, because I suspect it's tuberculosis. (Just like my mom made me do).
[0236] Figure 16 An example of extracting logical clauses from text according to one aspect of this disclosure is described. Figure 16 The discourse tree 1610 and the abstract meaning representation (AMR) tree 1620 are depicted, which are linked by relations 1630 and 1640.
[0237] Discourse tree 1610 represents the text “I went to see a pulmonologist because I suspected tuberculosis as my mom asked me to do”. Discourse tree 1620 includes basic discourse unit 1612 (“I went to see a pulmonologist”), basic discourse unit 1614 (“because I suspected tuberculosis”), and basic discourse unit 1616 (“as my mom asked me to do”).
[0238] The first part of the sentence, "I went to see a pulmonologist because I suspected tuberculosis," is useful, while the second part, "as my mom asked me to do," is not. Therefore, the first part of the sentence will be used when forming the ontology. Core basic discourse units can indicate the more useful parts of the text.
[0239] AMR tree 1620 comprises two parts: part 1620 and part 1622. Part 1620 corresponds to basic discourse units 1612 and 1614, and part 1622 corresponds to basic discourse unit 1616. Part 1624 corresponds to basic discourse unit 1616.
[0240] Logical clauses can be reliable hints for extracting and formalizing assertions from text. Section 1620 was extracted as a candidate ontology entry. To some extent, explicit logical connections exist between phrases, and these connections should be captured in the ontology. Conversely, irrelevant context or facts (such as section 1622) should not be included. The following logical clause was extracted: suspect (tuberculosis) -> see (pulmonologists).
[0241] Figure 17 An example of an entity-relationship diagram according to one aspect of this disclosure is provided. An entity-relationship diagram illustrates the relationships between entities in text, ontology, or stored in a database. Entities in this context are objects, components of data. Figure 17 Entity relationship diagrams 1710, 1720, 1730, and 1740 are depicted. Figure 17 This corresponds to the following example text: "Oxygen saturation refers to the amount of oxygen that's in your bloodstream. The body requires a specific amount of oxygen in your blood to function properly. The normal range of oxygen saturation for adults is 94 to 99 percent. However, if your oxygen saturation level is below 90 percent, you will likely require supplemental oxygen, which is prescribed by your primary care doctor or pulmonologist."
[0242] As can be seen, Entity Relationship Diagram 1710 corresponds to the text "Oxygen saturation refers to the amount of oxygen that's in your bloodstream." Entity Relationship Diagram 1720 corresponds to the text "The body requires a specific amount of oxygen in your blood to function properly." Entity Relationship Diagram 1730 corresponds to the text "The normal range of oxygen saturation for adults is 94 to 99 percent." Entity Relationship Diagram 1740 corresponds to the text "However, if your oxygen saturation level is below 90 percent, you will likely require supplemental oxygen, which is prescribed by your primary care doctor or pulmonologist."
[0243] Entity-relationship graphs can provide a set of candidate tuples to extract from text. A tuple is an ordered set of words in their normal form (phrases minus linguistic information). Therefore, a tuple is shorter than the sentence from which it is formed. For example, referring back to Entity-Relationship Graph 1710, the entities “oxygen saturation” and “amount of oxygen” are related in the entity-relationship.
[0244] Below is an example of a discourse tree. A discourse tree can provide a logical view of which text fragments are authoritative, reliable sources of relation to be recorded in the ontology (shown in underlined sections below) and which fragments are not (shown in brackets [].
[0245] Detailed Explanation
[0246] Detailed Explanation
[0247] Detailed Explanation
[0248] Text: [Oxygen saturation refers to the amount of oxygen,]
[0249] Text: [that is in your bloodstream.]
[0250] Enable
[0251] text: The body requires a specific amount of oxygen in your blood
[0252] Text: to function properly.
[0253] Comparison (from right to left)
[0254] text: The normal range of oxygen saturation for adults is 94to99 percent.
[0255] Same unit
[0256] Text: However,
[0257] Conditions (from right to left)
[0258] text: if your oxygen saturation level is below90percent, Enable
[0259] Text: you will likely require supplemental oxygen,
[0260] text: which is prescribed by your primary care doctor or pulmonologist .
[0261] Any defining phrases appearing in the detailed descriptions within the discourse tree are relatively unimportant and contain little information. For example, the basic discourse units "Oxygen saturation refers to the amount of oxygen" and "that is in your bloodstream" can produce:
[0262] oxygen(saturation)=oxygen(amount)
[0263] However, this gives an unreliable synonymous relationship between saturation and amount. The term “amount” is not the central entity. In this particular case, “saturation” is a specific term associated with the very broad term “amount.” Therefore, this term should not form an ontology entry because “amount” is too common and can be associated with any value. Discourse analysis tells us that this link should not be converted into an ontology entry. For example, definitions of entities or attributes that are assumed or interpreted outside the text should not be extracted from a given text. If the text is about the extension of a tax return filing, the ontology should take the association between “tax” and “extension of time” rather than the association between “tax” and “return” that can be assumed and, in some cases, may have been previously extracted from introductory documents on accounting.
[0264] In contrast, more important phrases used to form ontology entries appear in EDUs for nontrivial relations other than exposition and union:
[0265] Conditions → Ontology Rules
[0266] level(oxygen(),saturation)→require(patient,oxygen(supplemental)) enable
[0267] enable(doctor(primary_care),oxygen(supplemental))
[0268] enable(pulmonologist(),oxygen(supplemental))
[0269] Comparison: Extracting from the core (typical, normal, and typical parts)
[0270] level(oxygen(),saturation)=94..99
[0271] Figure 18 An entity diagram and discourse tree are depicted according to one aspect of this disclosure. Figure 18 Entity relationship diagram 1810 and discourse tree 1820 are depicted.
[0272] Entity Relationship Diagram 1810 illustrates the entity relationship between the phrases "...about how you are taking the medication" and "The application must be downloaded onto your smartphone before you start the medication." More specifically, "you" is related to "are taking" through the relational subject, and "are taking" is in turn related to "medication" through the relational object.
[0273] The discourse tree 1820 represents the following text: “The tablets that contain a small sensor come with a patch that detects a signal from the tablet and a smartphone application to display information about how you are taking the medication. The application must be downloaded onto your smartphone before you start the medication. Apply your patch to the left side of the body above the lower edge of the rib cage only when prompted by the smartphone app instructions.”
[0274] The texts marked with dashed lines (e.g., texts 1822, 1824, 1826, and 1828) illustrate the central phrases, in which the extracted relational information is substantial and expresses the central theme of the text. In contrast, the other texts in discourse tree 120 include phrases that should not generate entity tuples, as these other texts are only informative when attached to the central phrase.
[0275] In the discourse tree, the central phrase "tablet-contain-sensor" corresponds to the core EDU of the top-level rhetorical relation "enabling". This phrase refers to the tablet, which is the central topic of this text, and its predicate and object / attribute "contain a small sensor". Another important phrase associated with the main entity node "The tablets" is "to display information about how you are taking the medication".
[0276] Satellite EDUs contain phrases that cannot be correctly interpreted in standalone mode. "Come with a patch that detects a signal" must be interpreted within the context of the patch. Otherwise, the hypothetical ontology entry `detect(patch,signal)` is too general and may not hold true on its own. Consistent ontology should not generalize from this expression. Core EDUs are interpretable on their own and can form ontology entries, while satellite EDUs should not.
[0277] Finally, the following ontology entries can be extracted:
[0278] contain(tablet, sensor(small))
[0279] display(information(take(people,medications))
[0280] Events can be annotated. For example, expressions that describe biomedical events and are defined as changes in the state or properties of physical entities can be annotated.
[0281] Figure 19 Examples of event annotations according to one aspect of this disclosure are depicted. Figure 19 Entity Graph 1900 depicts events annotated with terms such as "cause" or "topic." An event is an interaction between entities. In the general domain, events are formalized via event calculus as a sequence of states with preconditions and outcome conditions. Examples of events include chemical reactions, interactions between proteins, interactions between proteins and DNA, or any other kind of interaction between entities.
[0282] Event annotations are textual binding associations of any number of entities with specific roles (e.g., title, reason). Annotation tags can overlap with rhetorical relationships.
[0283] Entity 1900 is an annotated version of the sentence “The binding of I kappa B / MAD-3 to NF-kappa B p65 is sufficient to retarget NF-kappa B p65 from the nucleus to the cytoplasm”.
[0284] Figure 20 An example visualization of the annotations according to one aspect of this disclosure is provided. Figure 20 This includes visualizations of 2010, 2020, 2030, and 2040, which are illustrated together. Figure 19 The annotation for the following sentence described in the text reads: "The binding of I kappa B / MAD-3 to NF-kappa B p65 is sufficient to retarget NF-kappa B p65 from the nucleus to the cytoplasm."
[0285] Visualizations 2020, 2030, and 2040 show event annotations that have been added to the sentences. The original sentences are shown within each of these boxes to indicate the text segments belonging to the corresponding annotations. Biological entities that were previously annotated during term annotation are shown. For example, “I kappa B / MAD-3” and “NF-kappa B p65” are protein molecules. “nucleus” and “cytoplasm” are cellular components. These terms are expressed as n-tuples of attribute-value pairs, as follows:
[0286] (Id:T36, Class:Protein_molecule, Name:I kappa B / MAD-3)
[0287] (Id:T37, Class:Protein_molecule, Name:NF-kappa B p65)
[0288] (Id:T38, Class:Protein_molecule, Name:NF-kappa B p65)
[0289] ·(Id:T39, Class:Cell_component, Name:nucleus)
[0290] ·(Id:T40, Class:Cell_component, Name:cytoplasm)
[0291] The first event, E5, represents the binding of two entities, T36 (I kappa B / MAD-3) and T37 (NF-kappa B p65). This indicates a binding event. The title in the event is the attribute or slot to be filled by one or more entities whose properties are affected by the event. The second event, E6, represents the localization of protein T38. The text indicating "retarget" and "to the cytoplasm" are marked as key expressions covering the event type and the location associated with the event, respectively. The final event, E7, is the causal relationship between E5 and E6. That is, the binding event of the two proteins (E5) "causes" the localization event of one of the two proteins (E6). This causal relationship is represented as an event of type Positive_regulation.
[0292] Regulation has a broader definition than regulatory events in a strictly biological sense; examples include catalysis, inhibition, upregulation / downregulation, etc. General causal relationships between events can be encoded. The expression "is sufficient to" has been shown to be a syntactic cue for causality.
[0293] Figure 21 An abstract representation diagram and event classification method according to one aspect of this disclosure are depicted. Figure 21 The abstract meaning representation diagram 2110 of Visualization 2000 and the event classification method 2120 are depicted.
[0294] Event classification 2120 illustrates the ontological entities within rectangles, with event entities shown in circles. Arrows indicate links between events and topics. There is a link between events and causes between "regulation" and "binding." There is a link between events and locations between "location" and "cytoplasm."
[0295] Phrase aggregation takes a list of phrases and merges synonyms and related phrases to form meaningful ontology entries. The aggregator outputs a hierarchical structure of phrase entities obtained through generalization of phrase instances. Phrase aggregation can include various functionalities such as phrase filters and phrase groupers. Phrase filters can include opinion filters, phrase type filters (NP, VP), phrase length filters (2-6 words), noun entity filters (no proper nouns), occurrence POS filters (no CD, no PRP, etc.), frequency analysis filters, prohibited phrases (manually set) filters, and phrase normalization filters. Phrase groupers include a central noun phrase extractor, a phrase generalizer, a phrase merger, and a phrase aggregator and classifier. Phrase aggregation results in generalized phrases.
[0296] The following phrase filtering rules can be used:
[0297] 1) Extract only nouns, verbs, and prepositional phrases;
[0298] 2) Exclude phrases that express opinions, as they may appear in a context of stubbornness;
[0299] 3) Named entities are excluded because they cannot be generalized across properties. However, specific types of such proper nouns related to health-specific relationships (such as affect / cure / drug-for / followed-by, etc.) are included.
[0300] 4) Exclude numbers and prepositions;
[0301] 5) There are restrictions on phrase length;
[0302] 6) Remove phrases that are too frequent or too rare;
[0303] 7) Avoid phrases that begin with an article (if they are short); or
[0304] 8) Clean up / normalize strings that are not words;
[0305] Once phrases are extracted, they are clustered and aggregated to obtain reliable, repeating instances. Phrases that appear only once are unreliable and are considered "noise." For example, a hierarchical structure is formed from a list of phrases:
[0306] • Insulin-dependent diabetes mellitus
[0307] Adult-onset dependent diabetes mellitus (ADM)
[0308] Diabetes with almost complete insulin deficiency
[0309] ·diabetes with almost complete insulin deficiency and strong
[0310] Hereditary component (diabetes with a near-total lack of insulin and a strong genetic component)
[0311] Head noun extraction can occur as follows: if two phrases share the same head noun, they can be grouped into a category. If two phrases within a category share other common nouns or adjectives besides the head noun, then these common nouns form a subcategory. In this respect, the inductive cognitive process is followed to find commonalities between data samples and retain head nouns, such as differences.
[0312] Figure 22 An aggregation of phrases for obtaining a hierarchical structure is depicted according to one aspect of this disclosure. The phrase aggregation 2200 illustrates the following classes, subclasses, and sub-subclasses:
[0313] diabetes
[0314] mellitus
[0315] insulin-dependent
[0316] Entity grids are used to aid in the extraction of interrelationships. Coherent text binds sentences together to express meaning as a whole: the interpretation of a sentence often depends on the meaning of adjacent sentences. Coherence models can distinguish between coherent and incoherent text; this ability has wide-ranging applications in text generation, summarization, and coherence scoring. Coherence models can determine which phrases and sentences are good sources of ontology entries and which are not. Coherence is measured in various discourse models, such as Rhetorical Structure Theory (RST). In RST, coherence can be measured as the average confidence score of identified rhetorical relations. In other discourse theories, coherence can be measured as the propagation of entities. A low coherence score occurs if an entity appears abruptly and then disappears from the text.
[0317] Entity meshes represent text by capturing a mesh of how the grammatical roles of different entities change as the sentence progresses. This mesh is then transformed into feature vectors containing the probabilities of local entity transitions, allowing machine learning models to learn the importance of each entity's presence.
[0318] Figure 23 A solid mesh matrix is depicted according to one aspect of this disclosure. Figure 23 The entity mesh matrix 2310 and the generated annotations in sentence 2320 are depicted. As can be seen, for each sentence s0-s3, the entity mesh matrix includes the entities in the columns. The goal is to extract the most complete tuples of objects connected by relations. The matrix involves four sentences: s0, s1, s2, and s3, as follows:
[0319] s0: Eaton Corp. said it sold its Pacific Sierra Research unit to a company formed by employees of that unit.
[0320] s1: Terms were not disclosed.
[0321] S2: Pacific Sierra, based in Los Angeles, has 200 employees and supplies professional services and advanced products to the industry.
[0322] s3: Eaton is an automotive parts, controls and aerospace electronics concern.
[0323] For each sentence, if the given entity is the subject, it is selected with "S"; if the entity is the object, it is selected with "O"; if it is another type of entity, it is selected with "X"; and if it does not exist, it is selected with "-". Therefore, for sentence s0, "company" is marked because "company" appears in the sentence.
[0324] The note for sentence 2320 includes marking various references to “Eaton” and “Pacific Sierra Research” as organizations, entity types.
[0325] The following tuples were extracted:
[0326] s0:sell(eaton,unit,company).
[0327] s3:employ(pacific_sierra,200).
[0328] include Figure 24A and Figure 24B Figure 24 depicts a syntax tree according to one aspect of this disclosure. Figure 24 includes syntax trees 2410, 2420, 2430, and 2440. The syntax tree corresponds to... Figure 23 The sentences s0, s1, s2, and s3 mentioned in the text.
[0329] Syntax tree 2410 represents the text "Eaton Corp. said it sold its Pacific Sierra Research unit to a company formed by employees of that unit." Syntax tree 2420 represents the text "Terms were not disclosed." Syntax tree 2430 represents the text "Pacific Sierra, based in Los Angeles, has 200 employees and supplies professional services and advanced products to industry." Syntax tree 2440 represents the text "Eaton is an automotive parts, controls, and aerospace electronics concern."
[0330] Figure 25 A diagram illustrating the interrelationships of entities according to one aspect of this disclosure is provided. Figure 25 Depicting Figure 23 Figure 2500 shows the entity relationships between sentences s0, s1, s2 and s3 mentioned in Figure 24.
[0331] Figure 26An additional entity interrelationship diagram is depicted according to one aspect of this disclosure. Figure 26 Entity interrelationship graph 2600 is described, which depicts the entities within sentence s3. Compared to entity interrelationship graph 2500, entity interrelationship graph 2600 is further annotated with details such as organization type.
[0332] Figure 27 A discourse tree according to one aspect of the invention is depicted. Discourse tree 2700 corresponds to the above regarding... Figures 23-25 The text of the discussion.
[0333] Figure 28 This is a flowchart of an exemplary process 2800 for extending an ontology according to one aspect of this disclosure. Process 2800 may be implemented by application 122.
[0334] At box 2801, process 2800 involves generating a discourse tree from the text including fragments, representing the rhetorical relationships between the fragments. The discourse tree includes nodes, each non-terminal node representing the rhetorical relationship between two fragments, and each terminal node in the discourse tree is associated with one of the fragments. At box 2801, process 2800 involves operations substantially similar to those in boxes 1501 and 1502 of process 1500.
[0335] In some cases, a communication discourse tree (CDT) is generated at box 2801. In this case, processing 2800 involves operations substantially similar to those in boxes 1501-1505 of processing 1500. In some cases, the CDT can provide better information about the operations performed in processing 2800 than a discourse tree alone can. For example, communication actions in the CDT generated at box 2801 can form the topics of the corresponding basic discourse units. For example, the subject "she" in the sentence "she told me the sky is blue" can be identified as important through the corresponding communication action. From there, even topics that are traditionally considered less informative satellite basic discourse units can indicate that the satellite is actually quite informative. In this respect, communication actions can override the traditional view of extracting text only from the core EDU.
[0336] Returning to process 2800, at box 2802, process 2800 involves identifying a central entity from the discourse tree, which (i) is associated with a rhetorical relation of type detail and (ii) corresponds to a topic node of the central entity in the identified text. To identify a topic node from the discourse tree (or communication discourse tree), application 122 calculates the corresponding path length from the root node for each node in the tree's terminal nodes. For example... Figure 27As described in the document, the root node is the first “detailed” node.
[0337] Continuing this example, application 122 identifies topic nodes from terminal nodes by recognizing nodes with path lengths that are the minimum path lengths among the path lengths. Then, application 122 determines the topic of the discourse tree from the topic nodes by extracting noun phrases from the core basic discourse units associated with the topic nodes. These noun phrases are the central entities.
[0338] Return to reference Figure 27 An example of a central entity is "Eaton Corp.". The central entity can be found in the basic discourse unit "Eaton Corp. said". In another example, for the text "sky is blue", the central entity is identified as "sky".
[0339] At box 2803, process 2800 involves determining a subset of basic discourse units associated with the central entity from the discourse tree. The discourse tree may have one or more basic discourse units associated with the central entity.
[0340] Determining the association between basic discourse units and central entities can involve textual analysis of basic discourse units that are associated with a type core and with non-trivial rhetorical relations. Examples of non-trivial relations are those that are not type elaborations or unions. For example, Application 122 identifies basic discourse units from the discourse tree that (i) have a type core and (ii) are not default relations, such as those associated with or connected to rhetorical relations that are not type “elaborations” or “unions”.
[0341] Return to reference Figure 27 The core basic discourse units of the type include "It sold its Pacific Sierra...", "Pacific Sierra...", and "Eaton is an automotive parts...".
[0342] At box 2804, processing 2800 involves identifying one or more common elements in the text associated with a subset of basic discourse units. Identifying common elements may involve generalization.
[0343] For two words with the same part of speech (POS), their generalization is the same word with that POS. If two words have different entries but the same POS, the POS is retained in the results. If the entries are the same but the POS is different, the entries are retained in the results. Entries represent words without associated part-of-speech information.
[0344] To illustrate this concept, consider two examples of natural language expressions. The meaning of the expressions is represented by logical formulas. Unification and anti-unification of these formulas are constructed. Some words (entities) are mapped to predicates, some to their arguments, and some other words do not appear explicitly in the logical formal representation but instead indicate the aforementioned instantiation of the predicates with arguments.
[0345] Consider the following two sentences: "camera with digital zoom" and "camera with zoom for beginners". To convey meaning, the following logical predicates are used: camera(name_of_feature, type_of_users), and
[0346] zoom(type_of_zoom).
[0347] Note that this is a simplified example, and therefore may have fewer arguments compared to a more typical example. Continuing with the example, the expression above can be represented as: camera(zoom(digital), AnyUser), and
[0348] camera(zoom(AnyZoom),beginner)
[0349] Based on the notation, variables (non-instantiated values, not specified in the NL expression) are capitalized. Given the above pair of formulas, unify to compute their broadest specialization camera(zoom(digital), beginer), and antiunify to compute their most specific generalization camera(zoom(AnyZoom), AnyUser).
[0350] At the syntactic level, these expressions are generalized from two noun phrases ('^') such as: {NN-camera,PRP-with,[digital],NN-zoom[for beginners]}. Expressions within square brackets are discarded because they appear in one expression but not in the other. Thus, we obtain {NN-camera,PRP-with,NN-zoom]}, which is a syntactic simulation of semantic generalization.
[0351] The purpose of abstract generalization is to find commonalities among parts of text at various semantic levels. Generalization occurs at one or more levels. Examples of levels are paragraph level, sentence level, phrase level, and word level.
[0352] At each level (except the word level), for each word, the result of generalizing two expressions is a set of expressions. In such a set, for each pair of expressions, the expression that is less general than the other is discarded. The generalization of two sets of expressions is a set of sets of results of pairwise generalization of these expressions.
[0353] For a pair of words, there is only a single generalization: if the words are identical words with the same form, the result is a node of that word with that form. To compute the generalization of two distinct words in the context of the word2vec model (Mikolov et al., 2015), the following rule applies: If subject1 = subject2, then subject1^subject2 = ...<subject1,POS(subject1),1> Otherwise, if they have the same part of speech, then subject1^subject2 = <*,POS(subject1),word2vecDistance(subject1^subject2)>. If they have different parts of speech, the generalization is an empty tuple. It cannot be further generalized.
[0354] For a pair of phrases, generalization involves the largest ordered set of generalization nodes for the words in the phrase, such that the word order is preserved. In the following example,
[0355] "To buy a digital camera today, on Monday."
[0356] "Digital camera was a good buy today, the first Monday of the month."
[0357] Generalization is {<JJ-digital,NN-camera> ,<NN-today,ADV,Monday> The generalization of noun phrases is followed by the generalization of adverbial phrases. The verb "buy" is excluded from both generalizations because it appears in a different order in the phrases mentioned above. "Buy-digital-camera" is not a generalized phrase because "buy" appears in a different order than the other generalization nodes.
[0358] In another example,
[0359] "Movie from Spain"
[0360] And "movie from Italy"
[0361] The generalization is then "movie from [COUNTRY]".
[0362] Everything that is common is retained; everything that is different is removed.
[0363] The fundamental reason for removing common elements is that they help locate elements across multiple sources, thus increasing reliability. Therefore, only common elements are maintained.
[0364] At box 2805, processing 2800 involves forming tuples from generalized phrases by applying one or more syntactic or semantic templates to the corresponding phrases. Examples of templates include:
[0365] <drug_entity1> is a generic substitute for<drug entity2>
[0366] <entity1>concentration is affected by dissolution of<entity 2>
[0367] <entity1>is a<class_of_entity>
[0368] (<drug_entity1> yes<drug entity2> general alternatives
[0369] <entity1>Concentration affected<entity 2> Dissolution effect
[0370] <entity1>yes<class_of_entity> )
[0371] As mentioned above, tuples are phrases in their normal form with linguistic information removed. Normal forms include verbs in their infinitive form and nouns in their nominative singular form. For example, consider the texts "all skies are blue," "sky is blue," and "sky has a blue color." These phrases are represented by the noun-adjective tuple "sky blue." Note that there is a one-to-one correspondence between each tuple and the phrase.
[0372] At box 2806, processing 2800 involves identifying a tuple in a tuple as having a type including noun phrase, verb phrase, adjective phrase, or prepositional phrase.
[0373] A noun phrase (NP) is a syntactic element (e.g., a clause) that functions as a noun (such as the subject of a verb or the object of a verb or preposition). An example of a noun phrase in a sentence is "I found the owner of the dog," where "the owner of the dog" is a noun phrase. A phrasal verb is a part of a sentence that contains both a verb and a direct or indirect object (subordinate to the verb). For example, "He appears on screen as an actor." An adjective phrase is a group of words beginning with an adjective that describes a noun or pronoun. An example of an adjective phrase is "She is rather fond of skiing." A prepositional phrase is a modifying phrase that includes a preposition and its object. For example, "Before going home, go to the store."
[0374] Application 122 can identify whether text contains noun phrases, verb phrases, adjective phrases, or prepositional phrases. For example, a syntactic tree can be formed from the text. From the syntactic tree identifying parts of speech, Application 122 can determine the type of phrase. If the tree contains a verb, the phrase is a verb phrase. If the phrase begins with an adjective, it is an adjective phrase. If the phrase begins with a preposition, it is a prepositional phrase. Otherwise, the phrase is a noun phrase.
[0375] In some cases, machine learning techniques can be used to determine whether a given phrase is a noun phrase, verb phrase, adjective phrase, or prepositional phrase. For example, a phrase is fed to a trained machine learning model 124, whose output is a phrase type classification.
[0376] At box 2807, processing 2800 involves updating the ontology with entities from the identified tuples in response to successfully converting the basic discourse units associated with the identified tuples into logical representations including predicates and arguments based on the type of the identified tuples.
[0377] As used in this paper, logical predicates represent properties or relations. For example, consider the phrase "sky blue," where the word "sky" is the predicate because "sky" is the head noun. A predicate can be represented as:
[0378] Predicate name [argument 0...n]
[0379] The transformation is based on the type of the identified tuple. For example, if the tuple is a noun phrase or a prepositional phrase, then 122 is applied to extract one or more of the head noun or the last noun as the logical predicate, and one or more other words as arguments. If the tuple is a verb phrase, then 122 is applied to extract the verb of the tuple as the predicate, and one or more other words as arguments.
[0380] Adjectives or prepositional phrases provide simpler facts as ontology entries:
[0381] 'lower concentration of acids'->concentration(acid,lower)
[0382] 'in low indirect light'->light(low,indirect)
[0383] If the tuple indicates an adjective phrase or a prepositional phrase, a search for an internal verb phrase within the adjective or prepositional phrase is performed. If an embedded verb phrase exists within the prepositional or adjective phrase, a tuple is formed from the internal verb phrase. If no internal verb phrase exists, no ontology entry is performed.
[0384] If a phrase cannot be converted into a logical representation, then that phrase cannot be used. In this case, process 2800 repeatedly to find other candidates for the ontology entry.
[0385] Downstream applications include search systems, recommendation systems, decision support systems (DSS), and diagnostic systems. For example, application 122 can receive queries from a user device. Examples of queries include questions about treatment. In response to receiving a query, application 122 can locate an entity in the ontology and provide that entity to the user device.
[0386] On one hand, entities can have classes. Examples of classes include entity classes such as "laboratory test," "drug," and "protein." Class identification can involve using a "word2vec" method, such as machine learning model 124. Machine learning model 124 can be trained to identify entity classes. For example, application 122 encodes tuples into vector representations and provides these vector representations to machine learning model 124. In turn, the machine learning model provides the determined entity classes to application 122. Ontologies can be used to update and / or provide entity classes to user devices.
[0387] On the one hand, additional grouping can be performed. For example, tuples of the same kind are grouped to produce reliable, informative ontology entries and minimize inconsistencies. Noun phrases are grouped with noun phrases, verb phrases with verb phrases, and prepositional phrases with prepositional phrases. Subsequent aggregation components perform tuple generalization to avoid overly specific, noisy entries that cannot be reliably applied with sufficient confidence.
[0388] Dictionary managers that include synonym recognition help generalize tuples that have the same meaning but are expressed by different words. Reasoning is used to cover words that are not synonyms but are implied to each other in the context of other words, and multiwords.
[0389] Evaluate
[0390] Complex, domain-specific medical Q / A datasets (such as MCTest, Bioprocess Modeling, BioASQ, and InsuranceQA datasets) are available, but their size (500-10K) is limited due to the complexity of the tasks or the need for expert annotations that cannot be crowdsourced or collected from the web. Seven datasets of varying complexity, including questions, texts, and their associations, are combined to track contributions at each ontology construction step. The Q / A datasets are characterized in Table 3.
[0391]
[0392]
[0393]
[0394] When arbitrarily extracting ontology entries from noisy data, some entries will contradict each other. The frequency of contradictions indirectly indicates the error rate of tuple extraction and overall ontology formation. Examples of contradictory entries are...<bird,penguin,fly> vs<bird,penguin,not fly> and<frog,crawl,water> vs<frog,swim,water> (The third argument should be different.)
[0395] We extract ontology entries from the responses. Then, in the resulting ontology, given each entry, we attempt to find other entries that contradict that given entry. If at least one such entry is found, we consider that given entry inconsistent. The percentage of inconsistent entries in the entire ontology is counted and displayed as a percentage of all ontology entries. As a baseline, we evaluate the ontology whose entries are extracted from all text portions and remain as is without any refinement. We then apply various enhancement steps and track whether they affect ontology consistency.
[0396]
[0397]
[0398] How to evaluate the impact of each ontology improvement on the resulting ontology consistency (Table 4). Inconsistency values are normalized relative to the total number of ontology entries because each refinement step reduces the number of entries and removes those determined to be unreliable. Each step has its own mechanism to reduce entries that are expected to be noisy, unreliable, and misleading.
[0399] It can be observed that adding rules for extracting ontology entries makes the resulting ontology cleaner, more robust, and more consistent. Employing all means to reduce inconsistency achieved a conflict rate of less than 1% for inconsistent ontology entries in most domains. The domains with the most difficulty in achieving inconsistency are MedQuAD and emrQA. The worst performance occurred in electronic medical records (bottom rows).
[0400] The accuracy of the search is evaluated when the ontology supports searches across multiple health-related datasets. The complexity of the supported ontologies varies (Table 4). The search relevance is measured as F1 when a single best answer is obtained for each evaluation dataset.
[0401]
[0402] It can be observed that with each enhancement in the ontology construction, the search relevance (F1) improves slightly. Such improvements, in the 2% range, may be difficult to distinguish from random bias. However, the overall improvement due to the ontology is significant: exceeding 10%. Our ablation experiments demonstrate that each step in discourse processing, aggregation, matching, and validation is important and should not be skipped.
[0403] While ontology-assisted search cannot be represented as a machine learning task, we have drawn important lessons from our industrial evaluation of learning transfer frameworks in our previous research (Galitsky 2019). Constructing ontology via web mining and applying them to specific verticals can be viewed as inductive transfer / multi-task learning with feature representation and relational knowledge transfer methods. We evaluated ontologies constructed from a wide variety of sources, including blogs (Galitsky and Kovalerchuk 2006), forums, chat, opinion data (Galitsky and McKenna 2017), and customer support data sufficient to handle user queries in verticals such as shopping and entertainment at eBay.com, as well as in the financial sector for searching products and recommendations. The ontology learning in this work is performed within a vertical where ambiguity of terminology is limited, thus the fully automated setup yields sufficient search accuracy for the results.
[0404] Advanced systems for supporting clinical decision-making are particularly attractive in the emergency department. Because the situation is critical, it may be the one requiring the fastest and most accurate solution possible. The use of TM (Technical Analyzer) has played a significant role in the development of intelligent systems supporting emergency service decision-making, and its application is already an early reality. A specific system for emergency services (Portela et al. 2014) was proposed that guides healthcare professionals in establishing clinical priorities in the right decision-making process. This complex process is performed thanks to TM technologies that extract relevant data from electronic medical records, laboratory tests, or treatment plans (Gupta and Lehal 2009).
[0405] Our assessment shows that relying on discourse analysis does indeed improve the quality of the ontology in the following ways:
[0406] 1) The number of inconsistencies is lower;
[0407] 2) The search results are more relevant.
[0408] The reliability of the resulting ontology used for search and decision-making increases once ontology entries are extracted from the important and information-rich parts of the text instead of from all the text.
[0409] Exemplary computing system
[0410] Figure 29 A simplified diagram of a distributed system 2900 for implementing one of these aspects is depicted. In the aspect shown, the distributed system 2900 includes one or more client computing devices 2902, 2904, 2906, and 2908, configured to execute and operate client applications, such as web browsers, proprietary clients (e.g., Oracle Forms), etc., via one or more networks 2910. A server 2912 may be communicatively coupled to the client computing devices 2902, 2904, 2906, and 2908 via network 2910.
[0411] In various aspects, server 2912 may be adapted to run one or more services or software applications provided by one or more components of the system. Services or software applications may include non-virtual and virtual environments. Virtual environments may include environments for virtual events, trade shows, simulators, classrooms, shopping venues, and businesses, whether in two-dimensional or three-dimensional (3D) representation, page-based logical environments, or otherwise. In some aspects, these services may be provided as web-based services or cloud services, or under a Software as a Service (SaaS) model, to users of client computing devices 2902, 2904, 2906, and / or 2908. Users operating client computing devices 2902, 2904, 2906, and / or 2908 may then use one or more client applications to interact with server 2912 to utilize the services provided by these components.
[0412] In the configuration depicted in the figure, software components 2918, 2920, and 2922 of the distributed system 2900 are shown as implemented on server 2912. In other aspects, one or more components of the distributed system 2900 and / or the services provided by these components may also be implemented by one or more of client computing devices 2902, 2904, 2906, and / or 2908. Users operating the client computing devices can then utilize one or more client applications to access the services provided by these components. These components can be implemented in hardware, firmware, software, or a combination thereof. It should be appreciated that various different system configurations are possible and may differ from the distributed system 2900. Therefore, the aspects shown in the figure are an example of a distributed system for implementing an aspect system and are not intended to be limiting.
[0413] Client computing devices 2902, 2904, 2906, and / or 2908 can be portable handheld devices (e.g., Cellular phone Computing tablets, personal digital assistants (PDAs), or wearable devices (e.g., Google) Head-mounted displays (or similar devices) that run on Microsoft Windows And / or software such as various mobile operating systems (such as iOS, Windows Phone, Android, BlackBerry 10, Palm OS, etc.), and with internet access, email, and short message service (SMS) enabled. Or other communication protocols. The client computing device can be a general-purpose personal computer, for example, including those running various versions of Microsoft... Apple Personal computers and / or laptops running Linux operating systems. Client computing devices can be any commercially available operating system. Workstation computers running UNIX-like operating systems (including, but not limited to, various GNU / Linux operating systems, such as Google Chrome OS). Alternatively or additionally, client computing devices 2902, 2904, 2906, and 2908 may be any other electronic device capable of communicating via one or more networks 2910, such as thin client computers, internet-enabled gaming systems (e.g., with or without...). The gesture input device is the Microsoft Xbox game console and / or a personal messaging device.
[0414] Although the exemplary distributed system 2900 is shown as having four client computing devices, any number of client computing devices can be supported. Other devices (such as devices with sensors) can interact with the server 2912.
[0415] The network(s) 2910 in the distributed system 2900 can 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 but not limited to TCP / IP (Transmission Control Protocol / Internet Protocol), SNA (System Network Architecture), IPX (Internet Packet Switching), AppleTalk, etc. By way of example only, the network(s) 2910 can be a local area network (LAN), such as a LAN based on Ethernet, Token Ring, etc. The network(s) 2910 can be a wide area network (WAN) and the Internet. It can include virtual networks, including but not limited to Virtual Private Networks (VPNs), intranets, extranets, Public Switched Telephone Networks (PSTN), infrared networks, wireless networks (e.g., according to the IEEE 802.29 protocol suite), (and / or any network operating under any of any other wireless protocols); and / or any combination of these and / or other networks.
[0416] Server 2912 can consist of one or more general-purpose computers, dedicated server computers (including, by way of example, PC (personal computer) servers), Server 2912 may consist of a server, a mid-range server, a mainframe computer, a rack-mounted server, etc., a server farm, a server cluster, or any other suitable arrangement and / or combination. Server 2912 may include one or more virtual machines running a virtual operating system or other computing architecture involving virtualization. One or more flexible pools of logical storage devices may be virtualized to maintain the server's virtual storage devices. Server 2912 may use software-defined networking to control the virtual network. In various aspects, server 2912 may be adapted to run one or more services or software applications described in the foregoing disclosure. For example, server 2912 may correspond to a server used to perform the processes described above according to aspects of this disclosure.
[0417] Server 2912 can run any of the operating systems discussed above, as well as any commercially available server operating system. Server 2912 can also run various additional server applications and / or middleware applications, including HTTP (Hypertext Transfer Protocol) servers, FTP (File Transfer Protocol) servers, CGI (Common Gateway Interface) servers, etc. Servers, database servers, etc. Exemplary database servers include, but are not limited to, those commercially available from Oracle, Microsoft, Sybase, IBM, etc.
[0418] In some implementations, server 2912 may include one or more applications to analyze and integrate data feeds and / or event updates received from users of client computing devices 2902, 2904, 2906, and 2908. As an example, data feeds and / or event updates may include, but are not limited to, those provided in the original text. feed, The server 2912 may update or receive real-time updates and continuous data streams from one or more third-party information sources, which may include real-time events related to sensor data applications, financial quotation machines, network performance measurement tools (e.g., network monitoring and traffic management applications), clickstream analysis tools, vehicle traffic monitoring, and the like. The server 2912 may also include one or more applications to display the data feeds and / or real-time events via one or more display devices of client computing devices 2902, 2904, 2906, and 2908.
[0419] The distributed system 2900 may also include one or more databases 2914 and 2916. Databases 2914 and 2916 may reside in various locations. By way of example, one or more of databases 2914 and 2916 may reside on non-transitory storage media local to server 2912 (and / or residing within server 2912). Alternatively, databases 2914 and 2916 may be located remotely from server 2912 and communicate with server 2912 via a network-based connection or a dedicated connection. In one set of aspects, databases 2914 and 2916 may reside in a storage area network (SAN). Similarly, any necessary files for performing functions attributable to server 2912 may be stored locally on server 2912 and / or remotely, as appropriate. In one set of aspects, databases 2914 and 2916 may include relational databases suitable for storing, updating, and retrieving data in response to commands in SQL format, such as databases provided by Oracle.
[0420] Figure 30 This is a simplified block diagram of one or more components of a system environment 3000 according to one aspect of this disclosure, through which services provided by one or more components of the system environment 3000 can be provided as cloud services. In the illustrated aspect, the system environment 3000 includes one or more client computing devices 3004, 3006, and 3008 that can be used by a user to interact with a cloud infrastructure system 3002 providing cloud services. The client computing devices can be configured to operate client applications, such as web browsers, proprietary client applications (e.g., Oracle Forms), or some other application, which can be used by the user of the client computing devices to interact with the cloud infrastructure system 3002 to use the services provided by the cloud infrastructure system 3002.
[0421] It should be recognized that the cloud infrastructure system 3002 depicted in the figures may have other components besides those depicted. Furthermore, the aspects shown in the figures are merely one example of a cloud infrastructure system that can be incorporated into aspects of the present invention. In some other aspects, the cloud infrastructure system 3002 may have more or fewer components than those shown in the figures, may combine two or more components, or may have different component configurations or arrangements.
[0422] Client computing devices 3004, 3006, and 3008 can be devices similar to those described above for 2902, 2904, 2906, and 2908.
[0423] Although the exemplary system environment 3000 is shown as having three client computing devices, any number of client computing devices can be supported. Other devices (such as devices with sensors) can interact with the cloud infrastructure system 3002.
[0424] One or more networks 3010 can facilitate communication and exchange of data between client computing devices 3004, 3006, and 3008 and cloud infrastructure system 3002. Each network can be any type of network familiar to those skilled in the art, which can use any variety of commercially available protocols (including those described above for one or more networks 2910) to support data communication.
[0425] The cloud infrastructure system 3002 may include one or more computers and / or servers, which may include those computers and / or servers described above for server 2912.
[0426] In some respects, services provided by a cloud infrastructure system can include a variety of services available on demand to users of the cloud infrastructure system, such as online data storage and backup solutions, web-based email services, managed office suites and document collaboration services, database processing, and managed technical support services. Services provided by a cloud infrastructure system can dynamically scale to meet the needs of its users. The specific instantiation of services provided by a cloud infrastructure system is referred to herein as a "service instance." Generally, any service available to users from a cloud service provider's system via a communication network (such as the Internet) is referred to as a "cloud service." Typically, in a public cloud environment, the servers and systems that constitute the cloud service provider's system differ from the customer's own on-premises servers and systems. For example, a cloud service provider's system may host applications, and users can subscribe to and use these applications on demand via a communication network such as the Internet.
[0427] In some examples, services within a computer network cloud infrastructure may include protected computer network access to storage devices, hosted databases, hosted web servers, software applications, or other services provided to users by a cloud provider or otherwise known in the art. For example, services may include password-protected access to remote storage devices in the cloud via the Internet. As another example, services may include web-based hosted relational databases and scripting language middleware engines for private use by networked developers. As yet another example, services may include access to email software applications hosted on a cloud provider's website.
[0428] In some respects, cloud infrastructure system 3002 may include a suite of application, middleware, and database service providers delivered to customers in a self-service, subscription-based, elastically scalable, reliable, highly available, and secure manner. An example of such a cloud infrastructure system is the Oracle public cloud provided by this assignee.
[0429] Large volumes of data (sometimes referred to as big data) can be hosted and / or manipulated by infrastructure systems at many levels and at different scales. Such data can include datasets so large and complex that they may be difficult to process using typical database management tools or traditional data processing applications. For example, it may be difficult to store, retrieve, and process trillions of bytes of data using a personal computer or its rack-based counterpart. Even using the latest relational database management systems and desktop statistics and visualization packages may struggle to work with this size of data. They may require massively parallel processing software with architectures running thousands of server computers, exceeding the capabilities of commonly used software tools, to capture, organize, manage, and process the data within a tolerable elapsed timeframe.
[0430] Analysts and researchers can store and manipulate very large datasets to visualize massive amounts of data, detect trends, and / or otherwise interact with the data. Dozens, hundreds, or thousands of processors linked in parallel can act on such data to present it or simulate external forces acting on it or what it represents. These datasets can involve structured data (such as structured data organized in databases or otherwise according to structured models) and / or unstructured data (e.g., emails, images, data blobs (binary large objects), web pages, complex event processing). By leveraging the ability to relatively quickly concentrate more (or less) computational resources on a target, cloud infrastructure systems can be better utilized to perform tasks on large datasets, based on the needs of businesses, government agencies, research organizations, private individuals, groups of like-minded individuals or organizations, or other entities.
[0431] In various aspects, the cloud infrastructure system 3002 can be adapted to automatically provision, manage, and track customer subscriptions to services provided by the cloud infrastructure system 3002. The cloud infrastructure system 3002 can provide cloud services via different deployment models. For example, services can be provided based on a public cloud model, where the cloud infrastructure system 3002 is owned by an organization selling cloud services (e.g., owned by Oracle), and the services are available to the general public or businesses in different industries. As another example, services can be provided based on a private cloud model, where the cloud infrastructure system 3002 operates only for a single organization and can provide services to one or more entities within that organization. Cloud services can also be provided based on a community cloud model, where the cloud infrastructure system 3002 and the services provided by it are shared by several organizations in the relevant community. Cloud services can also be provided based on a hybrid cloud model, which is a combination of two or more different models.
[0432] In some aspects, the services provided by the cloud infrastructure system 3002 may include one or more services offered under the Software as a Service (SaaS) category, the Platform as a Service (PaaS) category, the Infrastructure as a Service (IaaS) category, or other service categories that include hybrid services. Customers may subscribe to one or more services provided by the cloud infrastructure system 3002 via a subscription order. The cloud infrastructure system 3002 then performs processing to deliver the services in the customer's subscription order.
[0433] In some aspects, the services provided by the cloud infrastructure system 3002 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 can be configured to provide cloud services falling under the SaaS category. For example, a SaaS platform may provide the ability to build and deliver on-demand application suites on an integrated development and deployment platform. The SaaS platform can manage and control the underlying software and infrastructure used to provide SaaS services. By utilizing services provided by the SaaS platform, customers can leverage applications running on the cloud infrastructure system. Customers can obtain application services without purchasing separate licenses and support. A variety of different SaaS services can be provided. Examples include, but are not limited to, services providing solutions for sales performance management, enterprise integration, and business agility for large organizations.
[0434] In some respects, platform services can be provided by cloud infrastructure systems via a PaaS platform. The PaaS platform can be configured to provide cloud services falling under the PaaS category. Examples of platform services may include, but are not limited to, services that enable organizations (such as Oracle) to integrate existing applications on a shared, public architecture and to build new applications using shared services provided by the platform. The PaaS platform can manage and control the underlying software and infrastructure used to provide PaaS services. Customers can access PaaS services provided by the cloud infrastructure system without having to purchase separate licenses and support. Examples of platform services include, but are not limited to, Oracle Java Cloud Service (JCS), Oracle Database Cloud Service (DBCS), etc.
[0435] By leveraging services provided by PaaS platforms, customers can employ programming languages and tools supported by cloud infrastructure systems and also control the deployed services. In some aspects, platform services provided by cloud infrastructure systems can include database cloud services, middleware cloud services (e.g., Oracle Fusion Middleware Service), and Java cloud services. On one hand, database cloud services can support a shared services deployment model, enabling organizations to aggregate database resources and offer Database as a Service to customers in the form of a database cloud. Within cloud infrastructure systems, middleware cloud services provide customers with a platform for developing and deploying various business applications, and Java cloud services provide customers with a platform for deploying Java applications.
[0436] Various infrastructure services can be provided by IaaS platforms within cloud infrastructure systems. Infrastructure services facilitate the management and control of underlying computing resources (such as storage, networking, and other basic computing resources) so that customers can utilize services provided by SaaS and PaaS platforms.
[0437] In some aspects, the cloud infrastructure system 3002 may also include infrastructure resources 3030 for providing resources to customers of the cloud infrastructure system for delivering various services. In one aspect, infrastructure resources 3030 may include a combination of pre-integrated and optimized hardware (such as servers, storage devices, and networking resources) to perform services provided by PaaS platforms and SaaS platforms.
[0438] In some aspects, resources in the cloud infrastructure system 3002 can be shared by multiple users and dynamically reallocated as needed. Furthermore, resources can be allocated to users in different time zones. For example, the cloud infrastructure system 3002 can enable a first group of users in a first time zone to utilize the resources of the cloud infrastructure system for a specified number of hours, and then allow the same resources to be reallocated to another group of users located in a different time zone, thereby maximizing resource utilization.
[0439] In some aspects, multiple internal shared services 3032 can be provided, shared by different components or modules of the cloud infrastructure system 3002 and the services provided by the cloud infrastructure system 3002. 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, cloud-enabled services, email services, notification services, file transfer services, etc.
[0440] In some respects, cloud infrastructure system 3002 can provide comprehensive management of cloud services (e.g., SaaS, PaaS, and IaaS services) within the cloud infrastructure system. In one aspect, cloud management functions may include the ability to provision, manage, and track customer subscriptions received by cloud infrastructure system 3002.
[0441] On one hand, as depicted in the figure, cloud management functionality can be provided by one or more modules, such as order management module 3020, order orchestration module 3022, order supply module 3024, order management and monitoring module 3026, and identity management module 3028. 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 any other suitable arrangement and / or combination.
[0442] In exemplary operation 3034, a customer using a client device (such as client computing devices 3004, 3006, or 3008) can interact with the cloud infrastructure system 3002 by requesting one or more services provided by the cloud infrastructure system 3002 and placing subscription orders for one or more services provided by the cloud infrastructure system 3002. In some aspects, the customer can access cloud user interfaces (UIs) (cloud UI 3012, cloud UI 3014, and / or cloud UI 3016) and place subscription orders via these UIs. Order information received by the cloud infrastructure system 3002 in response to a customer's order may include information identifying the customer and the one or more services provided by the cloud infrastructure system 3002 that the customer wishes to subscribe to.
[0443] After a customer has placed an order, the order information is received via cloud UI 3030, 3014 and / or 3016.
[0444] At operation 3036, orders are stored in order database 3018. Order database 3018 can be one of several databases operated by cloud infrastructure system 3002 and in conjunction with other system components.
[0445] At operation 3038, the order information is forwarded to the order management module 3020. In some cases, the order management module 3020 can be configured to perform order-related billing and accounting functions, such as verifying the order and reserving the order after verification.
[0446] At operation 3040, order information is transmitted to order orchestration module 3022. Order orchestration module 3022 can use the order information to orchestrate services and resource provision for customer orders. In some cases, order orchestration module 3022 can use the services of order provisioning module 3024 to orchestrate resource provision to support subscribed services.
[0447] In some respects, the order orchestration module 3022 enables the management of business processes associated with each order and applies business logic to determine whether an order should be made available for provisioning. At operation 3042, upon receiving a new subscription order, the order orchestration module 3022 sends a request to the order provisioning module 3024 to allocate resources and configure those resources required to fulfill the subscription order. The order provisioning module 3024 enables the allocation of resources for the services ordered by the customer. The order provisioning module 3024 provides an abstraction layer between the cloud services provided by the cloud infrastructure system 3002 and the physical implementation layer for providing the resources used to provide the requested services. Therefore, the order orchestration module 3022 can be isolated from implementation details such as whether services and resources are actually provided on demand or pre-provided and allocated / assigned only upon request.
[0448] At operation 3042, once services and resources are supplied, notification of the supplied services 3044 can be sent to customers on client computing devices 3004, 3006 and / or 3008 via the order supply module 3024 of the cloud infrastructure system 3002.
[0449] At operation 3046, the order management and monitoring module 3026 can manage and track customer subscription orders. In some cases, the order management and monitoring module 3026 can be configured to collect service usage statistics from subscription orders, such as storage usage, data transfer volume, number of users, and system uptime and downtime.
[0450] In some aspects, the cloud infrastructure system 3002 may include an identity management module 3028. The identity management module 3028 may be configured to provide identity services, such as access management and authorization services within the cloud infrastructure system 3002. In some aspects, the identity management module 3028 may control information about customers who wish to utilize the services provided by the cloud infrastructure system 3002. Such information may include information authenticating the identities of such customers and information describing what actions these customers are authorized to perform relative to various system resources (e.g., files, directories, applications, communication ports, storage segments, etc.). The identity management module 3028 may also include the management of descriptive information about each customer and descriptive information about how and by whom that descriptive information can be accessed and modified.
[0451] Figure 31 An exemplary computer system 3100 in which various aspects of the present invention can be implemented is illustrated. Any of the above-described computer systems can be implemented using computer system 3100. As shown, computer system 3100 includes a processing unit 3104 that communicates with a plurality of peripheral subsystems via a bus subsystem 3102. These peripheral subsystems may include a processing acceleration unit 3106, an I / O subsystem 3108, a storage subsystem 3118, and a communication subsystem 3124. Storage subsystem 3118 includes a tangible computer-readable storage medium 3122 and system memory 3110.
[0452] Bus subsystem 3102 provides a mechanism for allowing various components and subsystems of computer system 3100 to communicate with each other as intended. While bus subsystem 3102 is schematically shown as a single bus, alternative aspects of the bus subsystem may utilize multiple buses. Bus subsystem 3102 can be any of several types of bus structures using any of the various bus architectures, including memory buses or memory controllers, peripheral buses, and local buses. For example, such architectures may include Industry Standard Architecture (ISA) buses, Micro Channel Architecture (MCA) buses, Enhanced ISA (EISA) buses, Video Electronics Standards Association (VESA) local buses, and Peripheral Component Interconnect (PCI) buses, which may be implemented as Mezzanine buses manufactured according to the IEEE P3186.1 standard.
[0453] A processing unit 3104, which may be implemented as one or more integrated circuits (e.g., a conventional microprocessor or microcontroller), controls the operation of the computer system 3100. One or more processors may be included in the processing unit 3104. These processors may include single-core or multi-core processors. In some aspects, the processing unit 3104 may be implemented as one or more independent processing units 3132 and / or 3134, wherein each processing unit includes a single-core or multi-core processor. In other aspects, the processing unit 3104 may also be implemented as a quad-core processing unit formed by integrating two dual-core processors into a single chip.
[0454] In various respects, processing unit 3104 can execute various programs in response to program code and can maintain multiple concurrently executing programs or processes. At any given time, some or all of the program code to be executed can reside in processing unit 3104 and / or storage subsystem 3118. With appropriate programming, processing unit 3104 can provide the various functions described above. Computer system 3100 may additionally include processing acceleration unit 3106, which may include digital signal processor (DSP), dedicated processor, etc.
[0455] The I / O subsystem 3108 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 integrated into the display, scroll wheels, click wheels, dials, buttons, switches, keypads, audio input devices with voice command recognition systems, microphones, and other types of input devices. For example, user interface input devices may include motion sensing and / or gesture recognition devices, such as those from Microsoft... Motion sensors enable users to control input devices (such as Microsoft) via natural user interfaces using gestures and verbal commands. The user interface input device may also include eye gesture recognition devices, such as detecting eye movements from the user (e.g., "blinking" when taking a photo and / or making menu selections) and translating the eye gestures to the input device (e.g., Google). Google input in ) Blink detector. Additionally, the user interface input device may include enabling the user to interact with a voice recognition system (e.g., ...) via voice commands. Voice recognition sensing devices for interaction with navigators.
[0456] User interface input devices may also include, but are not limited to, 3D mice, joysticks or pointing sticks, game controllers and graphics tablets, as well as audio / visual devices such as speakers, digital cameras, digital camcorders, portable media players, webcams, image scanners, fingerprint scanners, barcode readers, 3D scanners, 3D printers, laser rangefinders, and eye-tracking devices. Furthermore, user interface input devices may include, for example, medical imaging input devices such as computed tomography (CT), magnetic resonance imaging (MRI), positron emission tomography (PET), and medical ultrasound imaging equipment. For instance, user interface input devices may also include audio input devices such as MIDI keyboards and digital musical instruments.
[0457] User interface output devices may include display subsystems, indicator lights, or non-visual displays such as audio output devices. Display subsystems may be cathode ray tube (CRT), flat panel devices (such as those using liquid crystal displays (LCDs) or plasma displays), projection devices, touchscreens, etc. Generally, the term "output device" is used to encompass all possible types of devices and mechanisms for outputting information from computer system 3100 to a user or other 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, car navigation systems, plotters, voice output devices, and modems.
[0458] Computer system 3100 may include a storage subsystem 3118, which includes software elements and is shown to be currently located within system memory 3110. System memory 3110 may store program instructions that can be loaded and executed on processing unit 3104, as well as data generated during the execution of these programs.
[0459] Depending on the configuration and type of computer system 3100, system memory 3110 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 can be immediately accessed by processing unit 3104 and / or are currently being operated and executed by processing unit 3104. In some implementations, system memory 3110 may include various different types of memory, such as static random access memory (SRAM) or dynamic random access memory (DRAM). In some implementations, a basic input / output system (BIOS) containing basic routines that facilitate the transfer of information between components within computer system 3100 (such as during startup) may typically be stored in ROM. By way of example and not limitation, system memory 3110 also illustrates application programs 3112, program data 3114, and an operating system 3116, which may include client applications, web browsers, middleware applications, relational database management systems (RDBMS), etc. By way of example, operating system 3116 may include various versions of Microsoft... Apple and / or Linux operating system, and various commercially available... Or a UNIX-like operating system (including but not limited to various GNU / Linux operating systems, Google...) OS, etc.) and / or such as iOS, Phone OS 10OS and Mobile operating systems such as OS.
[0460] The storage subsystem 3118 may also provide a tangible computer-readable storage medium for storing basic programming and data structures that provide certain functions. Software (programs, code modules, instructions) that provides the aforementioned functions when executed by a processor may be stored in the storage subsystem 3118. These software modules or instructions may be executed by the processing unit 3104. The storage subsystem 3118 may also provide a storage library for storing data used according to the present invention.
[0461] Storage subsystem 3118 may also include a computer-readable storage medium reader 3120 that can be further connected to computer-readable storage medium 3122. Together with and optionally in combination with system memory 3110, computer-readable storage medium 3122 can comprehensively represent a remote, local, fixed, and / or removable storage device plus storage medium for temporarily and / or more permanently containing, storing, transmitting, and retrieving computer-readable information.
[0462] The computer-readable storage medium 3122 containing code or a portion thereof may also include any suitable medium known or used in the art, including storage and communication media, such as, but not limited to, volatile and non-volatile, removable and non-removable media implemented in any method or technology for the storage and / or transmission of information. This may include tangible, non-transitory computer-readable storage media, such as RAM, ROM, electronically erasable programmable ROM (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical storage devices, magnetic tape cassettes, magnetic tape, disk storage devices or other magnetic storage devices, or other tangible computer-readable media. When specified, this may also include non-tangible, transient computer-readable media, such as data signals, data transmissions, or any other medium that can be used to transmit desired information and is accessible by computer system 3100.
[0463] By way of example, computer-readable storage medium 3122 may include a hard disk drive that reads from or writes to a non-removable non-volatile magnetic medium, a disk drive that reads from or writes to a removable non-volatile disk, and a removable non-volatile optical disc drive (such as CD-ROM, DVD, and Blu-ray disc). An optical disc drive that reads from or writes to a disk or other optical medium. Computer-readable storage medium 3122 may include, but is not limited to, […]. Disk drives, flash memory cards, Universal Serial Bus (USB) flash drives, Secure Digital (SD) cards, DVDs, digital video tapes, etc. Computer-readable storage media 3122 may also include solid-state drives (SSDs) based on non-volatile memory (such as flash-based SSDs, enterprise-class flash drives, solid-state ROMs, etc.), SSDs based on volatile memory (such as solid-state RAM, dynamic RAM, static RAM, DRAM-based SSDs, magnetoresistive RAM (MRAM) SSDs), and hybrid SSDs using a combination of DRAM-based and flash-based SSDs. Disk drives and their associated computer-readable media can provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data for computer system 3100.
[0464] The communication subsystem 3124 provides an interface to other computer systems and networks. The communication subsystem 3124 acts as an interface for receiving data from other systems and sending data from computer system 3100 to other systems. For example, the communication subsystem 3124 can enable computer system 3100 to connect to one or more devices via the Internet. In some aspects, the communication subsystem 3124 may include radio frequency (RF) transceiver components, global positioning system (GPS) receiver components, and / or other components for accessing wireless voice and / or data networks (e.g., using cellular telephone technologies, advanced data network technologies such as 3G, 4G, or EDGE (Enhanced Data Rate Global Evolution), WiFi (IEEE 802.30 family of standards), or other mobile communication technologies, or any combination thereof). In some aspects, in addition to or as an alternative to the wireless interface, the communication subsystem 3124 may provide a wired network connection (e.g., Ethernet).
[0465] In some respects, the communication subsystem 3124 may also represent input communication in the form of structured and / or unstructured data feeds 3126, event streams 3128, event updates 3130, etc., which can be received by one or more users who can use the computer system 3100.
[0466] By way of example, the communication subsystem 3124 can be configured to receive unstructured data feeds 3126 in real time from users of social media networks and / or other communication services, such as feed, Updates, web feeds such as Rich Site Summary (RSS) feeds, and / or real-time updates from one or more third-party information sources.
[0467] Furthermore, the communication subsystem 3124 can also be configured to receive data in the form of a continuous data stream, which may include an event stream 3128 and / or event updates 3130 that are essentially continuous or unbounded real-time events without a definite end. Examples of applications that generate continuous data include sensor data applications, financial quote machines, network performance measurement tools (e.g., network monitoring and traffic management applications), clickstream analysis tools, vehicle traffic monitoring, and so on.
[0468] The communication subsystem 3124 can also be configured to output structured and / or unstructured data feeds 3126, event streams 3128, event updates 3130, etc. to one or more databases, which can communicate with one or more streaming data source computers coupled to the computer system 3100.
[0469] Computer system 3100 can be of a variety of types, including handheld portable devices (e.g., Cellular phone Computing tablets, PDAs), and wearable devices (e.g., Google). Head-mounted displays, PCs, workstations, mainframes, kiosks, server racks, or any other data processing systems.
[0470] Due to the ever-evolving nature of computers and networks, the description of the computer system 3100 depicted in the figure is intended only as a specific example. Many other configurations with more or fewer components than the system depicted in the figure are possible. For example, custom hardware may be used and / or specific elements may be implemented using hardware, firmware, software (including applets), or a combination thereof. Furthermore, connections to other computing devices, such as network input / output devices, may be employed. Based on the disclosure and teachings provided herein, those skilled in the art will recognize other ways and / or methods for implementing various aspects.
[0471] In the foregoing description, aspects of the invention have been described with reference to specific aspects of the invention, but those skilled in the art will recognize that the invention is not limited thereto. Various features and aspects of the invention described above can be used alone or in combination. Furthermore, aspects can be utilized in any number of environments and applications other than those described herein without departing from the broader spirit and scope of this specification. Therefore, this specification and the accompanying drawings should be considered illustrative rather than restrictive.
Claims
1. A method for extending an ontology, the method comprising: Generate a discourse tree from text including fragments, representing the rhetorical relationships between fragments, wherein the discourse tree includes multiple nodes, each non-terminal node representing the rhetorical relationship between two fragments in the fragment, and each terminal node in the discourse tree is associated with one fragment in the fragment; Identify a central entity from the discourse tree, the central entity being (i) associated with a rhetorical relation of type detail and (ii) corresponding to the topic node of the corresponding central entity in the identified text; Determine a subset of basic discourse units associated with the central entity from the discourse tree, wherein determining the subset of basic discourse units includes identifying core basic discourse units associated with relations that are not type descriptions or type unions; Generalized phrases are formed by identifying one or more common elements of two or more basic discourse units in the subset of basic discourse units in the text associated with the basic discourse units. Tuples are formed from generalized phrases by applying one or more syntactic or semantic templates to the corresponding phrases, where each tuple in the tuples is an ordered set of words in normal form; Each tuple in the tuples is identified as having a type including: (i) a noun phrase type, (ii) a verb phrase type, (iii) an adjective phrase type, or (iv) a prepositional phrase type; and In response to successfully converting the basic discourse units associated with the identified tuples into logical representations including predicates and arguments, the ontology is updated with entities from the identified tuples, wherein the conversion is based on the type of the identified tuples.
2. The method of claim 1, further comprising, in response to receiving a query from the user equipment, locating the entity in the ontology and providing the entity to the user equipment.
3. The method according to claim 2 further includes identifying entity classes by: Encode the identified tuples into vector representations; Provide the vector representation to the machine learning model; and Receiving the entity class from the machine learning model, wherein providing the entity to the user device includes providing the entity class to the user device.
4. The method according to any one of claims 1 to 3, wherein identifying the central entity comprises: Locate the root node in the discourse tree; A subset of terminal nodes is determined from the discourse tree, wherein the terminal node (i) is associated with a corresponding non-terminal node representing a rhetorical relationship of type detail, and (ii) represents the corresponding core basic discourse unit; For each node in the subset of terminal nodes, calculate the corresponding path length from the root node; as well as Identify specific topic nodes from a subset of terminal nodes that have a path length that is the minimum path length among the path lengths.
5. The method according to any one of claims 1 to 3, wherein converting the basic discourse unit associated with the identified tuple into a corresponding logical representation comprises: The type of the identified tuple is determined to be either a noun phrase or a prepositional phrase. Extract one or more of the head noun or the last noun as logical predicates; as well as Extract one or more other words as arguments of a logical predicate.
6. The method according to any one of claims 1 to 3, wherein converting the basic discourse unit associated with the identified tuple into a corresponding logical representation comprises: The type of the identified tuple is identified as a verb phrase. as well as Extract the verbs of the identified tuples as logical predicates and extract one or more other words as arguments of the logical predicates.
7. The method according to any one of claims 1 to 3, wherein each tuple in the tuple comprises one or more of the following: predicate, subject, and object.
8. The method according to any one of claims 1 to 3, further comprising: Identify the entity class of one or more tuples in the tuples corresponding to the generalized phrase, where the entity class represents the category of the entity, and the update includes updating the ontology with the entity class.
9. A system comprising: Non-transitory computer-readable media that stores instructions for a computer-executable program; as well as A processing device communicatively coupled to the non-transitory computer-readable medium for executing computer-executable program instructions, wherein executing the computer-executable program instructions causes the processing device to perform operations including: Generate a discourse tree from text including fragments, representing the rhetorical relationships between fragments, wherein the discourse tree includes multiple nodes, each non-terminal node representing the rhetorical relationship between two fragments in the fragment, and each terminal node in the discourse tree is associated with one fragment in the fragment; Identify a central entity from the discourse tree, the central entity being (i) associated with a rhetorical relation of type detail and (ii) corresponding to the topic node of the corresponding central entity in the identified text; A communication discourse tree is constructed from the discourse tree by matching each segment containing a verb in the discourse tree with a predetermined verb signature; Identify the central entity from the communication discourse tree that is associated with the rhetorical relationship of the type description and corresponds to the topic node of the central entity of the identified text; Determine a subset of basic discourse units associated with the central entity from the communication discourse tree, wherein determining the subset of basic discourse units includes identifying core basic discourse units associated with relations that are not type descriptions or type unions; Generalized phrases are formed by identifying one or more common elements of two or more basic discourse units in the subset of basic discourse units in the text associated with the basic discourse units. Tuples are formed from generalized phrases by applying one or more syntactic or semantic templates to the corresponding phrases, where each tuple is an ordered set of words in their normal form; The tuples in the tuples are identified as having the following types: (i) noun phrases, (ii) verb phrases, (iii) adjective phrases, or (iv) prepositional phrases; In response to successfully converting the basic discourse units associated with the identified tuples into logical representations including predicates and arguments, the ontology is updated with entities from the identified tuples, wherein the conversion is based on the type of the identified tuples.
10. The system of claim 9, wherein executing the computer-executable program instructions further causes the processing device to perform operations including: locating the entity in the ontology and providing the entity to the user equipment in response to receiving a query from the user equipment.
11. The system of claim 10, wherein executing the computer-executable program instructions further causes the processing device to perform operations including identifying entity classes in such a way as: Encode the identified tuples into vector representations; Provide the vector representation to the machine learning model; and Receive the entity class from the machine learning model. Providing the entity to the user equipment includes providing the entity class to the user equipment.
12. The system according to any one of claims 9 to 11, wherein the identification center entity comprises: Locate the root node in the discourse tree; A subset of terminal nodes is determined from the discourse tree, wherein the terminal node (i) is associated with a corresponding non-terminal node representing a rhetorical relationship of type detail, and (ii) represents the corresponding core basic discourse unit; For each node in the subset of terminal nodes, calculate the corresponding path length from the root node; as well as Identify specific topic nodes from a subset of terminal nodes that have a path length that is the minimum path length among the path lengths.
13. The system according to any one of claims 9 to 11, wherein converting the basic discourse units associated with the identified tuples into corresponding logical representations comprises: The type of the identified tuple is determined to be either a noun phrase or a prepositional phrase. Extract one or more of the head noun or the last noun as logical predicates; as well as Extract one or more other words as arguments of a logical predicate.
14. The system according to any one of claims 9 to 11, wherein converting the basic discourse unit associated with the identified tuple into a corresponding logical representation comprises: The type of the identified tuple is identified as a verb phrase. as well as Extract the verbs of the identified tuples as logical predicates and extract one or more other words as arguments of the logical predicates.
15. A non-transitory computer-readable medium storing computer-executable instructions, which, when executed by a processing device, cause the processing device to perform operations including: Generate a discourse tree from text including fragments, representing the rhetorical relationships between fragments, wherein the discourse tree includes multiple nodes, each non-terminal node representing the rhetorical relationship between two fragments in the fragment, and each terminal node in the discourse tree is associated with one fragment in the fragment; Identify a central entity from the discourse tree, the central entity being (i) associated with a rhetorical relation of type detail and (ii) corresponding to the topic node of the corresponding central entity in the identified text; Determine a subset of basic discourse units associated with the central entity from the discourse tree, wherein determining the subset of basic discourse units includes identifying core basic discourse units associated with relations that are not type descriptions or type unions; Generalized phrases are formed by identifying one or more common elements of two or more basic discourse units in the subset of basic discourse units in the text associated with the basic discourse units. Tuples are formed from generalized phrases by applying one or more syntactic or semantic templates to the corresponding phrases, where each tuple is an ordered set of words in their normal form; Each tuple in the tuple is identified as having one of the following types: (i) noun phrase, (ii) verb phrase, (iii) adjective phrase, or (iv) prepositional phrase; as well as In response to successfully converting the basic discourse units associated with the identified tuples into logical representations including predicates and arguments, the ontology is updated with entities from the identified tuples, wherein the conversion is based on the type of the identified tuples.
16. The non-transitory computer-readable medium of claim 15, wherein executing the computer-executable instructions further causes the processing device to perform an operation including identifying an entity class by: locating the entity in an ontology and providing the entity to the user equipment in response to receiving a query from the user equipment.
17. The non-transitory computer-readable medium of claim 16, wherein executing the computer-executable instructions further causes the processing device to identify the entity class in such a way as: Encode the identified tuples into vector representations; Provide the vector representation to the machine learning model; and Receive the entity class from the machine learning model. Providing the entity to the user equipment includes providing the entity class to the user equipment.
18. The non-transitory computer-readable medium according to any one of claims 15 to 17, wherein the identification center entity comprises: Locate the root node in the discourse tree; A subset of terminal nodes is determined from the discourse tree, wherein the terminal node (i) is associated with a corresponding non-terminal node representing a rhetorical relationship of type detail, and (ii) represents the corresponding core basic discourse unit; For each node in the subset of terminal nodes, calculate the corresponding path length from the root node; as well as Identify specific topic nodes from a subset of terminal nodes that have a path length that is the minimum path length among the path lengths.
19. The non-transitory computer-readable medium according to any one of claims 15 to 17, wherein converting the basic discourse unit associated with the identified tuple into a corresponding logical representation comprises: The type of the identified tuple is determined to be either a noun phrase or a prepositional phrase. Extract one or more of the head noun or the last noun as logical predicates; as well as Extract one or more other words as arguments.
20. The non-transitory computer-readable medium according to any one of claims 15 to 17, wherein executing the computer-executable instructions further causes the processing device to perform operations including: Identify the entity class of one or more tuples in the tuples corresponding to the generalized phrase, where the entity class represents the category of the entity, and the update includes updating the ontology with the entity class.