Multi-case based reasoning by syntactic-semantic alignment and discourse analysis

CN114360711BActive Publication Date: 2026-10-09ORACLE INT CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110711819.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-19
Filing Date
2021-06-25
Publication Date
2026-10-09
Estimated Expiration
2041-06-25

Smart Images

  • Figure CN114360711B_ABST
    Figure CN114360711B_ABST
Patent Text Reader

Abstract

The present disclosure relates to multi-case based reasoning through syntactic-semantic alignment and discourse analysis. The systems, devices, and methods discussed herein provide improved autonomous agent applications configured to generate diagnoses of input symptoms from labels (e.g., diseases, conditions, and / or pathologies) associated with previously known cases. Extended discourse trees identifying various fragment granularities (e.g., documents, paragraphs, sentences, phrases, words, etc.) of corresponding previously known cases and rhetorical relationships between these discourse trees can be generated. New symptoms can be provided as input (e.g., via an autonomous agent). The input can be parsed to identify various fragments of the input and rhetorical relationships between the fragments. These fragments can be matched to fragments of previously known cases by matching nodes of the extended discourse trees. If the rhetorical relationships between the input fragments match the rhetorical relationships indicated in the extended discourse trees of the previously known cases, the input can be classified with the same label as the previously known cases.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This non-provisional application claims priority to U.S. Provisional Patent Application No. 63 / 090,620, filed October 12, 2020, entitled “Multi Case-Based Reasoning by Syntactic-Semantic Alignment and Discourse Analysis,” the disclosure of which is incorporated herein by reference in its entirety for all purposes. Technical Field

[0003] This disclosure generally relates to linguistics. More specifically, this disclosure relates to providing automatic answers to questions using multi-case-based reasoning through syntactic-semantic alignment and discourse analysis. 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 significant increase in processor speed and memory capacity, the computer applications of linguistics are booming. For example, computer-enabled language discourse analysis has facilitated numerous applications, such as automated agents that can answer user questions. The use of "chatbots" and agents to answer questions, promote discussions, manage conversations, and provide social outreach is becoming increasingly popular. To meet this demand, a wide range of technologies, including combinatorial semantics, have been developed. This technology can support automated agents even with simple, short queries and responses. Summary of the Invention

[0005] Various aspects of this disclosure relate to classifying input using multiple previously classified cases (including one or more documents). In at least one embodiment, a method is disclosed for providing text output (e.g., diagnostic classification tags) in response to text input (e.g., user-provided symptoms, medical records, etc.). The method may include obtaining a set of document fragments from a document corpus via one or more processors, each document fragment being associated with one or more classification tags identifying a topic of the document fragment. The method may also include obtaining multiple extended discourse trees via the one or more processors. In some embodiments, each of the extended discourse trees identifies a relationship between subsets of document fragments from the set of document fragments. In some embodiments, each extended discourse tree includes at least two discourse trees, each discourse tree including multiple nodes, each non-terminal node representing a rhetorical relationship between at least two fragments of a corresponding document. In some embodiments, the extended discourse trees indicate one or more rhetorical relationships between corresponding fragments of the at least two discourse trees, and each terminal node of a node in the discourse tree is associated with one of the fragments. The method may also include receiving text input for searching by the one or more processors. The method may also include generating a discourse tree from the text input via the one or more processors. In some embodiments, the discourse tree represents a rhetorical relationship between one or more portions of the text input. The method may further include matching one or more subtrees of the discourse tree from the text input with one or more subtrees of the plurality of extended discourse trees via the one or more processors. The method may further include identifying a classification tag corresponding to each segment in the matched text input at least in part. The method may further include classifying the text input as associated with the corresponding classification tag. The method may further include providing text output corresponding to the text input and including the classification tag.

[0006] In some embodiments, the method may further include parsing the text input to generate an abstract semantic representation of the text input, the abstract semantic representation including a directed acyclic graph containing multiple nodes and edges, the nodes representing utterance units of the text input, and the edges specifying semantic relationships between the nodes. The method may further include determining, by the one or more processors, that the relationships between segments of the document set are consistent with the semantic relationships indicated by the abstract semantic representation of the text input.

[0007] In some embodiments, the text input is categorized in response to determining that the relationships between fragments of the document set are consistent with the semantic relationships indicated by the abstract meaning representation of the input.

[0008] In some embodiments, the extended discourse tree is generated at least in part based on the following operations: generating a corresponding discourse tree for each document fragment in the document fragment set, identifying the associations between corresponding discourse tree pairs, and generating links between the corresponding discourse tree pairs that identify the associations between the corresponding discourse tree pairs.

[0009] In some embodiments, the plurality of extended discourse trees identify the relationships between subsets of document fragments from the set of document fragments based at least in part on at least one of the following: word level, phrase level, paragraph level, sentence level, or document level.

[0010] In some embodiments, the collection of document fragments each describes the symptoms of a corresponding medical condition.

[0011] In some embodiments, the text input is narrative or structured content from a user's medical documents.

[0012] In at least one embodiment, a computing device is disclosed. The computing device may include a computer-readable medium storing non-transitory computer-executable program instructions and a processing device communicatively coupled to the computer-readable medium to execute the non-transitory computer-executable program instructions. In some embodiments, executing the non-transitory computer-executable program instructions with the processing device causes the computing device to perform the methods disclosed above.

[0013] In at least one embodiment, a non-transitory computer-readable storage medium is disclosed that stores computer-executable program instructions for generating automatic answers to questions. In some embodiments, the program instructions are executed by one or more processors of a computing device, causing the computing device to perform the methods disclosed above. Attached Figure Description

[0014] Figure 1 An autonomous agent environment according to at least one embodiment is described.

[0015] Figure 2 It is a block diagram depicting a set of example components of a system utilizing multi-case-based reasoning according to at least one embodiment.

[0016] Figure 3 It is a block diagram depicting an example discourse tree generated from user input according to at least one embodiment.

[0017] Figure 4 This is a block diagram depicting an example method for classifying unknown cases using a medical document corpus, according to at least one embodiment.

[0018] Figure 5It is a block diagram depicting an example extended discourse tree (EDT) according to at least one embodiment.

[0019] Figure 6 A navigation diagram according to at least one embodiment is depicted, illustrating the relationships between text units of a document at different granular levels.

[0020] Figure 7 It is a block diagram depicting an example case-based reasoning process according to at least one embodiment.

[0021] Figure 8 It is a block diagram depicting an example classifier according to at least one embodiment.

[0022] Figure 9 A flowchart according to at least one embodiment is depicted, illustrating another example of a method 900 for classifying input using multiple previously classified documents.

[0023] Figure 10 A simplified diagram of a distributed system used to implement one of these aspects is depicted.

[0024] Figure 11 It is a simplified block diagram of components of a system environment based on one aspect, through which services provided by the components of the system environment can be provided as cloud services.

[0025] Figure 12 An exemplary computer system in which various aspects can be implemented is illustrated. Detailed Implementation

[0026] Various aspects of this disclosure relate to generating automated answers to medical questions using a diagnostic engine. A text description (e.g., a medical complaint or any suitable text / description from any appropriate domain) can be received and used as input to the diagnostic engine. The diagnostic engine can utilize discourse analysis to segment the complaint, such that each segment can be associated with a description of the illness or symptoms. In the case of multiple illnesses, discourse analysis can be used to verify the consistency between i) rhetorical relationships between segments and ii) extended discourse class associations between symptom descriptions, such as "one illness causes another illness" or "one illness accompanies another illness." Text matching can be performed based on an abstract graph alignment algorithm via joint syntactic and semantic representation alignment. The diagnostic engine can leverage discourse hierarchy relationships between cases.

[0027] Medical diagnosis is the process of determining the cause of a patient's illness or symptoms by investigating information from various sources, including physical examinations, patient interviews, laboratory tests, the patient's medical and family medical records, and existing medical knowledge regarding the causes of observed signs and symptoms. Obtaining the correct diagnosis is the most crucial step in treating a patient, as it helps doctors find the best treatment for their condition. However, this is a complex process requiring a significant amount of potentially time-consuming manual work. Due to this complexity, errors are prone to occur, and misdiagnosis is common. According to the World Health Organization, in 2015, one in twenty patients was misdiagnosed. This is disturbing, especially when people's lives are at stake.

[0028] A diagnostic engine is disclosed, configured to receive a textual description of a patient's medical complaint as input and attempt to find symptom descriptions and / or marked cases to identify diseases or conditions. In some embodiments, the textual description may be divided into multiple segments to diagnose multiple diseases by finding symptom descriptions and / or marked cases for each segment, such that:

[0029] 1) If multiple sources match the fragment, consensus can be forced to confirm a diagnosis of a single disease.

[0030] 2) When identifying multiple sources for multiple fragments, the associations between these sources may need to be consistent with the associations between the fragments into which the text description is divided.

[0031] In some embodiments, the input to the diagnostic engine can be medical records. Medical records, as a primary resource for healthcare management, can effectively summarize clinical experience and serve as a valuable source of knowledge accumulation. With the rapid development of information technology and its widespread application in hospitals, electronic medical records (EMRs) are emerging and becoming increasingly intelligent. Different intelligent methods, such as ontology, semantic analysis, natural language processing, and fuzzy logic, can be applied to medical record processing. In EMR systems, medical record interfaces, specific diagnostic visualizations of EMRs, and medical record verification are beneficial in many medical fields (e.g., cardiology). Related computer-aided systems are also applied in the dental field.

[0032] The diagnosis of a disease, symptom, or illness may rely on information containing factors that make it difficult to provide an accurate diagnosis. These factors include ambiguity, uncertainty, conflict, and resource and organizational constraints. Many symptoms are nonspecific and variable, and can vary from person to person. Many diagnostic tests are expensive, not performed regularly, and often do not provide binary answers (e.g., yes / no, true / false, etc.). Physicians may misapply heuristics during the diagnostic phase and / or may be more biased towards diseases or symptoms they have diagnosed in the past. Physicians may trust initial diagnostic impressions even if additional information may not support the initial hypothesis. Diagnostic engines aim to mitigate these tendencies.

[0033] Medical reasoning involves processes that can be systematically analyzed, as well as those that are implicit and therefore not easily explained. In medicine, experts not only use rules to diagnose problems, but also a mixture of textbook knowledge and experience. Experience consists of typical and exceptional cases, which physicians consider when reasoning.

[0034] Case-based reasoning (CBR) refers to a computer-based approach to reasoning that attempts to mimic the behavior of human experts and learn from past case experiences. CBR can be highly efficient in medical diagnosis, at least because reasoning based on cases aligns with the typical decision-making process of physicians. Furthermore, incorporating new cases means automatically updating partially variable knowledge. However, CBR is not always successful in medicine, as is the case in building intelligent systems in other fields. More accurate text-based similarity calculations are needed.

[0035] In some embodiments, the CBR techniques disclosed herein are combined with syntax and semantics for text matching. In some cases, to identify matching medical records, it may be necessary to establish matches between different parts of different records across various cases, rather than attempting to match a user's query with a single medical record. Therefore, in some embodiments, user input (e.g., input including textual medical complaints, (multiple) user medical records, text and / or descriptions, etc.) can be segmented to match the text of known, previously classified documents. For example, discourse analysis can be used to help identify logically connected segments of user input. Relationships can be established between these segments. For each segment, one or more matching cases can be identified from a corpus comprising text documents previously tagged with associated diagnostic markers (e.g., indicating associated diseases, symptoms, and / or conditions). A response can be provided to the user. The response may include information associated with the disease, symptom, and / or condition and / or information obtained from one or more matching cases.

[0036] As discussed in this article, the diagnostic engine can be configured to perform offline and online operations as described below. As part of the offline procedure, the diagnostic engine (e.g., refer to...) Figure 4 A more detailed description of the diagnostic engine is available:

[0037] 1) Maintain a set of symptom descriptions, each associated with a specific diagnosis and / or a set of case data, with each case associated with a diagnosis (e.g., a label). These symptom descriptions and / or case data can be collectively referred to as a known case library.

[0038] 2) Use discourse analysis to construct a discourse tree for each part (e.g., paragraph, sentence, document) of each document in the known case library.

[0039] 3) Identify the relationships between parts of different documents based on identifying common entities (e.g., keywords) from each discourse tree.

[0040] 4) The extended discourse tree is constructed, at least in part, based on rhetorical links that identify the relationships between different paragraphs, sentences, and / or text fragments in different documents of different discourse trees.

[0041] As part of an online program, the diagnostic engine can:

[0042] 1) Receive input including the patient's chief complaint or health record.

[0043] 2) Generate a discourse tree from the patient’s chief complaint / health record text to divide the input into multiple segments.

[0044] 3) Matching multiple segments of the text with one or more segments of the known case library is based, at least in part, on performing syntactic induction between each segment of the input and segments of the known case library. This essentially identifies common words (or synonyms) between the input segments and segments of the known case library.

[0045] 4) Identify the rhetorical relationships between segments of the text.

[0046] 5) Use the relations identified in the extended discourse tree associated with each known case fragment to verify that the relations between the input fragments are consistent with the relations identified in the extended discourse tree of the known case fragments.

[0047] 6) If the relationships between fragments of the patient’s chief complaint / health record match the relationships between fragments of known cases, then the fragments of the patient’s chief complaint / health record are labeled with tags associated with the fragments of (multiple) known cases.

[0048] 7) If the relationship between (multiple) segments of the patient’s chief complaint / health record does not match the relationship between (multiple) segments of the known cases, the text is divided into different segments using a discourse tree, and steps 3 through 7 are tried multiple times as needed to find a match that indicates the relationship between the segments of the chief complaint / health record matches the relationship between the segments associated with the known cases.

[0049] Figure 1 An autonomous agent environment 100 according to at least one embodiment is described.

[0050] Figure 1 A computing device 102, a data network 104, and a user device 106 are depicted. The computing device 102 may also include a database 110 and training data 112. The user device 106 may include a user interface 114. The training data 112 may be used to train a classifier 120 to identify answers from corresponding queries (e.g., natural language queries, also referred to as "questions") provided at the user interface 114.

[0051] User equipment 106 can be any mobile device, such as a mobile phone, smartphone, tablet computer, laptop computer, smartwatch, etc. User equipment 106 communicates with computing device 102 via data network 104. Data network 104 can be any public or private network, wired or wireless network, wide area network, local area network, or Internet.

[0052] Classifier 120 may be pre-trained by computing device 102 and / or any suitable system to identify output data from input data. Classifier 120 may include one or more predictive models, classification models, neural networks, etc. In some embodiments, classifier 120 may be trained using any suitable supervised learning algorithm, in which a function (sometimes referred to as a "model") is trained, at least in part, based on a training dataset comprising input / output pairs (e.g., other input data previously paired with corresponding output decisions), to identify outputs (e.g., answers) from provided inputs (e.g., natural language queries). Classifier 120 may be utilized in any suitable context to provide any suitable decision based on input data. In some embodiments, autonomous agent application 108 may be configured to train classifier 120 based on training data 112 (e.g., multiple example question (input) and answer (output) pairs), or autonomous agent application 108 may obtain (already trained) classifier 120 from memory or another system. In some embodiments, the output (e.g., an answer) provided by classifier 120 may include a decision log that includes specific factors (e.g., specific user data) influencing the decision of which answer to provide. In some embodiments, the output may be stored in database 110, and / or the inputs utilized by classifier 120 and the corresponding outputs provided by classifier 120 may be stored as additional training data within training data 112.

[0053] In the example, database 110 may include a document corpus (e.g., documents corresponding to previously labeled medical cases, each labeled as associated with one or more diseases, symptoms, and / or conditions). Database 110 may also include a set of answers. Each answer may be indexed (e.g., associated with) one or more tags identifying one or more diseases, symptoms, and / or conditions related to the answer. Subsequent natural language queries may be received at user device 106 via user interface 114. Natural language queries may be transmitted to autonomous agent application 102. In some embodiments, natural language queries may include user input indicating one or more symptoms (e.g., questions, one or more medical records, etc.). A process for classifying user input using one or more historical cases may be performed. User input may be segmented into multiple fragments using discourse analysis. Each fragment may be matched with cases from a corpus. If multiple cases match fragments, consensus may be enforced to confirm a diagnosis of a single disease, symptom, and / or condition. When multiple cases are identified for multiple fragments of user input, the associations between these sources may need to be consistent with the associations between fragments of user input. User input can be associated with a category (or more than one category tag) corresponding to a tag associated with a matching case. In some embodiments, the answer can be selected at least in part based on the category(s) and provided in response to the user input.

[0054] Figure 2 This is a block diagram 200 depicting a set of example components of a system utilizing multi-case-based reasoning according to at least one embodiment.

[0055] As used in this article, a “text unit” refers to a unit of text. Examples include basic discourse units, phrases, fragments, sentences, paragraphs, pages, and documents.

[0056] As used in this article, an "entity" refers to a unique and independent thing. Entities can be used in text units. Examples of entities include people, companies, places, things, document names, or dates or times.

[0057] 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.

[0058] As used in this article, a “discourse tree” or “DT” refers to a structure that represents the rhetorical relationships between sentences, paragraphs, etc., that constitute a part of a sentence. A discourse tree can include any suitable number of nodes in a tree structure. Each non-terminal node represents a rhetorical relationship between at least two segments, and each terminal node in the discourse tree is associated with one of the segments.

[0059] As used herein, an "extended discourse tree" refers to a structure representing multiple discourse trees, each comprising multiple nodes. Each non-terminal node of a discourse tree represents a rhetorical relationship between at least two segments of a corresponding document. Each terminal node in a discourse tree is associated with one of the segments. An extended discourse tree indicates one or more rhetorical relationships between corresponding segments of at least two discourse trees. This paper uses extended discourse trees to match unknown cases with a structured set of pre-labeled cases. This structure is defined via extended discourse trees. Additional information can be found in U.S. Patent 10,853,574, entitled "Navigating Electronic Documents using Domain Discourse Trees," published December 1, 2020, the entire contents of which are incorporated herein by reference for all purposes.

[0060] As used in this article, "rhetorical relevance," "rhetorical relation," "relevance," or "discourse relevance" refers to how two segments of a discourse are logically connected. Examples of rhetorical relevance include exposition, contrast, and attribution.

[0061] The system may include any suitable number of known cases (e.g., documents associated with known cases, which have been indexed and tagged as being associated with specific diseases, symptoms, and / or conditions). In some embodiments, known cases can be segmented into segments (e.g., paragraphs, sentences, phrases, words, documents, etc.) by generating various discourse trees that identify rhetorical relationships between segments. By way of example, known cases can be segmented into paragraph segments 202, 204, and 206 (and / or sentence segments, and / or word / phrase segments, etc.) at least in part based on a discourse tree generated for the entire document (e.g., a document including known case segments 202 to 206). Various rhetorical relationships (e.g., exposition, enabling, conjunction, contrast, time, etc.) between these segments can be identified using the generated discourse trees. By way of example, rhetorical associations 208 and 210 can be identified via one or more of these discourse trees. Some example rhetorical associations are identified below:

[0062]

[0063]

[0064] Dialogue trees can be generated using different methods. A simple example of a bottom-up approach to building a dialogue tree is:

[0065] (1) Divide the discourse text into units in the following ways:

[0066] (a) The cell size can vary depending on the objective of the analysis.

[0067] (b) Units are usually clauses

[0068] (2) Examine each cell and its adjacent cells. Are there any connections between the cells?

[0069] (3) If so, mark the association.

[0070] (4) If not, the cell may be located at the boundary of a higher-level association. Examine the associations between larger cells (spans).

[0071] (5) Continue until all units in the text have been considered.

[0072] In some embodiments utilizing rhetorical structure theory (RST), rhetorical relevance is not directly mapped to the text; it is fitted onto structures called pattern applications, which in turn fit to the text. Pattern applications originate from simpler structures called patterns (such as...). Figure 4 (As shown). Each pattern indicates how a particular unit of text is broken down into other smaller units of text. A rhetorical structure tree, or discourse tree, is a hierarchical system of pattern applications. Pattern applications link multiple consecutive text ranges and create complex text ranges, which can then be linked by higher-level pattern applications. RST asserts that the structure of each coherent discourse can be described by a single rhetorical structure tree, with the top pattern of that structure creating a range that covers the entire discourse.

[0073] In some embodiments, unassigned case 212 may be received. In some embodiments, unassigned case 212 may include questions / statements (e.g., via...) Figure 1The data includes questions or statements provided by the user interface 114, documents (e.g., one or more medical records provided via the user interface 114), and so on. In some embodiments, a discourse tree can be generated, at least in part, based on data of unassigned cases (e.g., user-provided descriptions of their health, medical records associated with the user, etc.), to segment the unassigned cases 212 into fragments (e.g., unassigned case fragments 214 to 216). By generating this discourse tree, multiple associations (e.g., associations 220 and 222) can be identified. For each unassigned case fragment, a match can be determined (e.g., unassigned case fragment 214 can match known case fragment 202, unassigned case fragment 216 can match known case fragment 204, and unassigned case fragment 218 can match known case fragment 206). In some embodiments, a correspondence between associations of unknown case fragments and associations between known case fragments is established and approved. For example, associations 220 and 222 can be established and compared with associations 208 and 210. Because fragments 214 to 216 correspond to / match known case fragments 202 to 206, and associations 220 and 222 are identified as indicating the same type of association as 208 and 210, respectively, unassigned case 212 can be identified as being associated with the (multiple) same conditions associated with known case fragments 202 to 206.

[0074] The multi-CBR strategy can be described as follows:

[0075] 1) Divide the cases (seeds) to be identified into sub-cases for matching;

[0076] 2) Establish connections between sub-cases;

[0077] 3) For each sub-case, establish a match with known cases;

[0078] 4) Identify the relationships between known cases;

[0079] 5) Establish and approve the correspondence between the associations of unknown subcases and the associations of known cases;

[0080] 6) Identify unknown cases (assign categories).

[0081] As an example, consider a specific multi-CBR scenario involving text:

[0082] The connections between different parts of a text are the rhetorical connections in discourse analysis.

[0083] • The connections between cases can be case-level or ontology-based, and can be mapped to rhetorical connections.

[0084] In some embodiments, unassigned case 212 includes patient records with chief complaints encompassing multiple symptoms. Known case fragments may include descriptions of symptom diagnoses and sample disease descriptions. There are significant differences between conventional and multi-CBR searches in terms of search engineering. In conventional searches, results (documents) are obtained and ranked, and search constraints are unrelated to the relationships or links between the ranked search results. Conversely, under multi-CBR, search results are structured collections of documents with certain connections between them.

[0085] Consider the following description of the patient's problem:

[0086]

[0087] Figure 3 It describes, according to at least one embodiment, the input from a user (e.g., in combination with the above). Figure 2 A diagram of a sample discourse tree 300 generated from the provided patient questions.

[0088] Figure 3 A discourse tree 300 with indentation representing hierarchical levels is shown. To find the splits, higher-level rhetorical associations (here, exposition) are selected such that in each segment there is an explanation, enabling, cause, or another non-default rhetorical association. Using these rhetorical associations, text segments 302, 304, and 306 are identified. An example of using the implemented syntactic similarity assessment to identify the mapping between corresponding (synonymous) entities and phrases is now given.

[0089] Known case fragment (related to diabetes): Symptoms of diabetes include increased thirst, frequent urination, extreme hunger, and unexplained weight loss. Ketones may be present in the urine, along with decreased mental alertness and itchy skin.

[0090] Excerpt 302: I feel tired and hungry because I am not getting enough energy from the food I eat. I urinate very frequently and feel thirsty. I have poor eyesight, which makes it difficult for me to see details.

[0091] Any suitable syntactic induction technique can be used to inductively summarize the fragments and express them in a simple first-order representation. For example, the known case fragments above can be inductively summarized as: urination (frequent), hunger (high), thirst (frequent). Extract and inductively summarize the rhetorical connections between fragments 302 and 306. For example, fragment 302 can also be inductively summarized as: urination (frequent), hunger (high), thirst (frequent). Therefore, fragment 302 can be matched with the known case fragments provided above through inductive and matching rhetorical connections.

[0092] In some embodiments, a chief complaint (e.g., an unassigned case) may include a mixed description of symptoms (e.g., symptoms of two conditions). However, when a patient describes her chief complaint in simple language, we expect more fluent text that can naturally withstand discourse processing. Patients may express compassionate chief complaints that reflect their views on the condition and express their expectations for treatment and recovery. Therefore, discourse markers can be used to enrich a patient's chief complaint. In some embodiments, juxtaposition associations can be used to infer that a patient is simultaneously expressing two (or more) sets of symptoms, allowing text to be segmented based on these two (or more) sets. Each of these juxtaposition sets of symptoms can be similarly mapped to known case fragments, and rhetorical associations between such fragments can be identified and verified.

[0093] Figure 4 This is a block diagram depicting an example method 400 for classifying unknown cases according to at least one embodiment, using a medical document corpus (e.g., previous cases where the diagnosis is known (referred to as "known cases") and / or descriptions of diseases / symptoms / illnesses).

[0094] At step 1, various documents were obtained (e.g., case data including medical records previously associated with one or more diseases / symptoms / illnesses, sets of symptom descriptions associated with each symptom description for a specific diagnosis, etc.). These symptom descriptions and / or case data can be collectively referred to as the "known case library".

[0095] In step 2, multiple extended discourse trees can be generated.

[0096] Figure 5 It is a block diagram depicting an example extended discourse tree (EDT) 500 according to at least one embodiment.

[0097] The aspects of this disclosure facilitate navigation of extended discourse trees constructed from a corpus of related content, such as multiple documents (e.g., multiple medical records, disease descriptions, etc.). An extended discourse tree (e.g., EDT 500) is a combination of discourse trees (DTs) of individual text units (e.g., paragraphs, sentences, phrases, etc.) from multiple documents. The use of extended discourse trees in these aspects allows not only keyword-based zooming but also navigation in, out, or back based on how documents are interconnected, enabling autonomous agents to provide content navigation such as guided searches.

[0098] The extended discourse tree 500 includes groups 510, 520, 530, 540, and 550. Each group includes a document and a discourse tree (DT) generated from the document. For example, group 510 includes discourse tree 511 and document 512, group 520 includes discourse tree 521 and document 522, and so on.

[0099] In addition to links within specific discourse trees (e.g., discourse trees 511, 521, 531, 541, and 551), extended discourse tree 500 also includes inter-discourse tree links 561 to 564 and associated inter-document links 571 to 574. Figure 4 The diagnostic engine 402 can construct discourse trees 511 to 515. Discourse tree 511 represents document 512, discourse tree 521 represents document 522, and so on. An extended discourse tree 500 can be constructed by constructing discourse trees for each paragraph, sentence, phrase, document, etc.

[0100] Inter-symbol link 561 connects symbol trees 511 and 521, inter-symbol link 562 connects symbol trees 521 and 531, inter-symbol link 563 connects symbol trees 511 and 541, and inter-symbol link 564 connects symbol trees 521 and 551. Based on inter-symbol links 561 to 564, diagnostic engine 402 creates inter-document links 571, 572, 573, and 574, which correspond to inter-symbol links 561, 562, 563, and 564, respectively. Inter-document links 571 to 574 can be used to navigate documents 512, 522, 532, 542, and 552.

[0101] Diagnostic engine 402 can identify one or more entities within the first discourse tree (511-515). Examples of entities include locations, things, people, or companies. Diagnostic engine 402 can then identify the same entities present in other discourse trees. Based on the identified entities, diagnostic engine 402 can determine the rhetorical relationships between each matching entity.

[0102] For example, if the entity "San Francisco" appears in document 512, such as "San Francisco is in California," and document 522 further explains "San Francisco has a moderate climate but can be quite windy," then diagnostic engine 402 will determine that the rhetorical relationship between the entities "San Francisco" is one of the expositions, and mark links 561 and 571 as expositions. Continuing with the example, diagnostic engine 402 determines links 562 to 564 and corresponding links 572 to 574 based on the determined rhetorical association. Diagnostic engine 402 can combine the discourse trees of the document's paragraphs to form an extended discourse tree 500.

[0103] By using links in the extended discourse tree 500, the diagnostic engine 402 can navigate between paragraphs within the same document or between documents (e.g., documents 512 and 522). For example, if a user is interested in more information about a particular topic, the diagnostic engine 402 can navigate from the core to the auxiliary within a paragraph via rhetorical connections, or navigate to documents that provide more specific information about the topic via rhetorical connection hyperlinks.

[0104] Conversely, if a user decides that the recommended topic is not what they need, they can return to a higher-level view of the document (e.g., from auxiliary to core, or from narrow to wide document). In turn, diagnostic engine 402 navigates through paragraphs or between documents in the reverse order (i.e., from auxiliary to core) to elucidate relationships. Similarly, diagnostic engine 402 promotes other navigation options such as relying on contrastive or conditional relationships to explore controversial topics.

[0105] In order to construct rhetorical links between text fragments in different paragraphs, sentences, phrases, words, or documents, the diagnostic engine 402 identifies relationships between entities by using fictitious text fragments or temporary paragraphs / sentences / phrases / words / documents from corresponding text fragments of the original paragraphs, and performs coreference analysis and discourse parsing on the paragraphs.

[0106] In some embodiments, a set of medical documents can be obtained as input, and an extended discourse tree (e.g., extended discourse tree 500) can be generated as output. The EDT can be encoded as a regular discourse tree with document recognition tags for each node. For illustrative purposes, the following example describes two documents, but any number of documents can be used.

[0107] First and second documents are accessible. Examples of documents include text, books, news articles, medical journals, descriptions of diseases / symptoms / illnesses, medical records, doctor's notes, and other electronic documents. The diagnostic engine 402 can identify the similarity of keywords between documents by scoring the content of each document. For example, the diagnostic engine 402 determines that the first content score of the first document and the second content score of the second document are within a threshold, and uses the first and second documents to create an extended discourse tree based on the similarity.

[0108] On one hand, the diagnostic engine 402 performs document analysis, which includes generating a document tree representing the sentence and phrase structure of the document. Rhetorical associations linked between documents can identify different navigation scenarios. By default, exposition can be used. If the user is interested in questions such as "why" or "how," the diagnostic engine 402 provides a link to another document associated through attribution. If the user expresses disagreement with the initially presented document or requests a document relative to the current document, the diagnostic engine 402 can provide a link to a document associated through contrast.

[0109] On the other hand, diagnostic engine 402 obtains the first and second documents by executing user queries. Examples of user queries include "diabetes" or "documents about Crohn's disease".

[0110] Diagnostic engine 402 can first create a first discourse tree for the first paragraph of the first document. Diagnostic engine 402 accesses paragraphs from the first document. Each sentence in a paragraph includes a segment or basic discourse unit. At least one segment includes a verb. Each word in a segment includes the word's role in the segment, such as function. Diagnostic engine 402 can generate a discourse tree representing the rhetorical relationships between segments. The discourse tree includes multiple nodes, each non-terminal node representing the rhetorical relationship between two segments, and each terminal node associated with one of the segments. Diagnostic engine 402 continues in this manner, thereby constructing a set of discourse trees for each paragraph in the first document. Although this process is described using paragraphs as text units, other text sizes (e.g., sentences, phrases, words, etc.) can also be used.

[0111] Diagnostic engine 402 creates a second discourse tree for the second paragraph of the second document. Diagnostic engine 402 performs steps on the second document that are substantially similar to those performed on the first document. When diagnostic engine 402 creates extended discourse trees for more than two documents, similar operations can be performed on each document to generate the corresponding discourse tree. Diagnostic engine 402 can iterate through all discourse tree pairs (i and j) in the discourse tree set corresponding to each document. A discourse tree pair can be represented as:

[0112] DT i and DT j ∈DT a .

[0113] Diagnostic engine 402 can identify entities and their corresponding first basic discourse units from the first discourse tree. Various methods can be used, such as keyword processing (searching for a keyword from a predefined keyword list within sentences of the first document), using trained machine learning models or searching internet resources. Diagnostic engine 402 identifies the discourse tree (DT).i and DT j All noun phrases and named entities in the list.

[0114] In some embodiments, diagnostic engine 402 extracts noun phrases from the discourse tree. Diagnostic engine 402 then classifies the noun phrases as (i) entities or (ii) non-entities using a trained machine learning model.

[0115] Diagnostic engine 402 identifies the second basic discourse unit that matches the first basic discourse unit in the second discourse tree. More specifically, diagnostic engine 402 calculates overlap and identifies DT. i With DT j public entity E between i,j Diagnostic engine 402 in E i,j Establish relationships between entities appearing in the code, such as equality, sub-entity, or part. The diagnostic engine then addresses the 402 error in E... i,j Each entity appearing in the text forms a rhetorical link between paragraphs, R(E). i,j ).

[0116] In response to determining the rhetorical relationship between the first and second basic discourse units, the diagnostic engine 402 links the first and second discourse trees via the rhetorical relationship, thereby creating an extended discourse tree. More specifically, the diagnostic engine 402 forms text fragments (e.g., EDU (E i ) and EDU(E j The merging of )) classifies the rhetorical associations of each rhetorical link, thereby constructing its DT and using the identified association tags of this rhetorical link.

[0117] On one hand, the diagnostic engine 402 combines the first and second basic discourse units into temporary paragraphs. The diagnostic engine 402 then determines the rhetorical relationship between the first and second basic discourse units within the temporary paragraphs by applying discourse parsing to the temporary paragraphs.

[0118] On the other hand, in response to an undetermined rhetorical relationship, diagnostic engine 402 creates a default rhetorical relationship for type description between the first basic discourse unit and the second basic discourse unit, and links the first discourse tree and the second discourse tree.

[0119] On one hand, diagnostic engine 402 performs automatic construction and classification of links between text ranges across documents. This can be achieved using a range of methods including lexical distance, lexical chains, information extraction, and language template matching. Lexical distance can utilize cosine similarity across sentence pairs, and lexical chains can more robustly leverage synonyms and hypernyms.

[0120] An expanded discourse tree can establish relationships between two or more documents at different levels of granularity. For example, relationships between basic discourse units can be determined, as described with respect to process 1200. Additionally, an expanded discourse tree can represent relationships between words, sentences, paragraphs, document sections, or entire documents. As depicted, each individual diagram is composed of smaller sub-diagrams from each individual document. Links representing logical connections between topics within a single document are shown.

[0121] Figure 6 A navigation diagram 600 according to at least one embodiment is depicted, illustrating the relationships between text units of a document at different granular levels.

[0122] Figure 6 Discourse trees 601, 602, and 603 are depicted, each corresponding to a separate document. Figure 6 Various inter-document links are also described, such as word links 610 linking words in documents 602 and 603, paragraph / sentence links 611 linking paragraphs or sentences in documents 601 and 602, phrase links 612 linking phrases in documents 601 and 603, and cross-document links 613 linking documents 601 and 603. The diagnostic engine 402 can use links 610 to 613 to navigate between documents 601 and 603.

[0123] In some embodiments, the navigation graph 600 can be generated at least in part based on performing a clustering algorithm to group documents according to document similarity. Another option is to identify clusters as collections of documents returned by the search engine: the results will depend on the user query. For example, a search query such as “diabetes” can return a collection of documents indexed with the term “diabetes.” These search results can be considered as clusters.

[0124] The second step may include generating a discourse tree representing the sentence and phrase structure of the document. The third step is the automatic construction and classification of links between text ranges across the document. Here, at least one of the following methods can be used: lexical distance, lexical chaining, information extraction, language template matching, etc. Lexical distance can use cosine similarity across sentence pairs, and lexical chaining can more robustly utilize synonym and hypernym relations.

[0125] Graph-based operators define transformations on a multi-document navigation graph (MDNG) G (also referred to herein as the "navigation graph") that preserve some of its properties while reducing the number of nodes. An example of such an operator is the link-preserving graph covering operator. Its effect is to preserve only the nodes from the source MDNG associated with preferred cross-document links. In this example, the central circled area represents an overview subgraph G1 of G, which contains all five cross-document links and only these nodes and edges of G necessary to preserve the textual structure of G1.

[0126] Navigation graph 600 represents text simultaneously at different granularity levels (words, phrases, sentences, paragraphs, and documents). Navigation graph 600 includes smaller subgraphs for each individual document, which in turn include discourse trees. Two types of links are employed: the first type represents inheritance relationships between elements within a single document; the second type represents semantic relationships between text units. The examples illustrate sample links between documents, phrases, sentences, and paragraphs.

[0127] The processing flow for generating navigation map 600 may include:

[0128]

[0129] Back Figure 4 Example. In step 3, a graph alignment operation can be performed (e.g., classifying documents using tags from already classified documents). Language similarity can be calculated as the greatest common subtree of a syntactic parse tree (e.g., a discourse tree). The greatest common subtree can be identified via phrase-level alignment (at least initially). To thoroughly track phrase structure at different language levels (phrases, sentences, paragraphs), a full-size graph alignment approach can be applied to avoid missing potentially important linguistic features. These features may play a role in discovering the correspondence between how patients describe their symptoms and how doctors describe patients in symptom examination instructions.

[0130] Graph alignment algorithms can be used for multi-text alignment in the context of case-based reasoning (CBR). The alignment serves two purposes:

[0131] 1) Combine structural information about the text (such as the question) and

[0132] 2) Evaluate its semantic similarity to another text (such as the answer).

[0133] The problem of graph alignment in terms of syntax, semantics, or union can be formulated as follows. We denote the two graphs being aligned as G1 = (V1, E1) and G2 = (V2, E2), where V... i It is a set of nodes, and E i Is it Figure G? i The set of edges in G1. Assume |V1| ≤ |V2|. An injective mapping (not mapping two nodes to one) can be established to precisely align each node in G1 with a node in G2 that has a similar topological neighborhood (syntactic and / or semantic properties). Formally, the topological similarity of nodes is defined using the concept of 73-dimensional “graphlet degree signatures” and the “signature similarity” metric specified below. This approach produces global network alignment because our node mapping is relative to V1.G1 All nodes are defined in G1. Therefore, gaps (i.e., no matching nodes) are not allowed in G1, but gaps are allowed in the larger network G2.

[0134] A query graph can be defined that maps to a logical form in λ-calculus and is semantically closely related to the semantics of λ-dependency-based composition (DCS). For example, to express "citizens who live in Boston," rule-based λ-calculus gives λx. PlacesLive(x,e)∧Location(e,Boston), and λ-DCS gives PlacesLive.Location.Boston. Therefore, DCS attempts to remove the explicit use of variables; this makes it stylistically similar to dependency-based compositional semantics.

[0135] Matching the semantic parsing of Q with the semantic parsing of A is represented as query graph generation in the form of state transitions from seed alignment to full alignment. Each state is a candidate mapping between parsings in the query graph representation, such as Abstract Meaning Representation (AMR) AMR(Q) → AMR(A), and each action defines a way to increase the alignment. An Abstract Meaning Representation (AMR) is a rooted, labeled graph abstracted from syntactic properties. The same AMR graph can be assigned to sentences with the same basic meaning. For example, "He describes bananas as yellow" will be assigned the same AMR as "According to his description, bananas are yellow." The representational power of the alignment of the semantic parsing pairs is controlled by a set of permitted alignment actions applicable to each state. Specifically, these actions are divided into three main steps: locating the topic entity in the question; finding the main relationship between the answer and the topic entity; and expanding the query graph with additional constraints describing the attributes the answer needs to have or the relationship between the answer and other entities in the question.

[0136] When aligning an AMR(V,E) with a syntactic dependency parsing tree T(U,F) or another AMR graph, the cost of aligning each node v in the AMR with each node n in T can be calculated. The cost of aligning two nodes can be factored in the similarity of their primitive degree signatures, modified to reduce cost as the degree of the two nodes increases, since higher-degree nodes with similar signatures provide stricter constraints than their corresponding lower-degree counterparts. In this way, the densest parts of the AMR graph can be aligned first.

[0137] Primitives can be defined as small-connected, non-isomorphic induced subgraphs of large graphs such as AMR graphs. Now, primitive degree vectors (signatures) and signature similarity are introduced to support graph alignment procedures. For all primitives on 2 to 5 nodes, this metric summarizes the degree of a node as a primitive degree vector or primitive degree signature, which counts the number of edges a node touches on a given path.

[0138] Primitives are small-connected, non-isomorphic induced subgraphs of a large network. An induced subgraph must contain all edges present in the large network between its nodes, while a partial subgraph may contain only some of these edges. Furthermore, primitives do not require over-representation in the data compared to random networks. Primitives can serve as the basis for three highly sensitive measures for designing local structural similarity of networks: relative primitive frequency distance, primitive degree distribution protocol, and a network topological similarity measure that summarizes the degrees of nodes in the network into their primitive degree vectors or primitive degree signatures.

[0139] The resulting 73 coordinate vectors are the node signatures, which describe the topology of the node's neighborhood and capture its interconnectivity at a distance of 4. The node's primitive degree signature provides a highly constrained measure of the local topology near the node, and comparing the signatures of two nodes provides a highly constrained measure of the local topological similarity between the two nodes.

[0140] The signature (primitive) similarity is calculated as follows. For a node u in graph G, u i This represents the i-th coordinate of its signature vector, i.e., u i It represents the number of times node u is touched by track i in graph G. The distance D between the i-th track of nodes u and v is... i (u,v) is defined as:

[0141]

[0142] Among them, w i is the weight of orbit i, which illustrates the dependency between orbits. The total distance D(u,v) between nodes u and v is defined as:

[0143]

[0144] The distance D(u,v) is in [0,1), where a distance of 0 means that nodes u and v have the same signature. Finally, the signature similarity S(u,v) between nodes u and v is:

[0145] S(u, v) = 1 - D(u, v)

[0146] Clearly, higher signature similarity between two nodes corresponds to higher topological similarity between their extended neighborhoods with a maximum distance of four. The number four corresponds to the typical maximum number of arguments for verb nodes in an AMR graph.

[0147] Let deg(v) be the degree of node v in AMR, and let max deg(AMR) Let S(v,u) be the maximum degree of a node in AMR, and let S(v,u) be the primitive degree signature similarity between nodes v and u. Let α be a parameter in [0,1] that controls the contribution of node signature similarity to the cost function (i.e., 1-α is the parameter that controls the contribution of node degree to the cost function). Then the cost of aligning nodes v and u is calculated as follows:

[0148]

[0149] A cost of 0 corresponds to a pair of nodes v and u with the same topology, while a cost close to 2 corresponds to a pair of nodes with different topologies.

[0150] The graph alignment algorithm selects the pair of nodes v and u with the minimum cost from AMR and T (as the initial seed). The connection is randomly broken. Once the seed is found, spheres of all possible radii surrounding nodes v and u are constructed. A sphere of radius r surrounding node v is the set S of nodes at a distance r from v. AMR (v, r) = {x ∈ AMR: d(v, x) = r}, where the distance d(v, x) is the length of the shortest path from v to x. Then, search for pairs (v', u') that are not yet aligned but can be aligned with minimum cost: v' ∈ S AMR (v, r) and u'∈S T (u, r), two spheres with the same radius in the network greedily align themselves together.

[0151] When all spheres around the initial seed (v,u) are aligned, the other nodes in both AMR and T are still not aligned. (For the graph pair (AMR...) p T p Repeat the same algorithm, where p = 1..3, and attempt to identify new seeds again if necessary. (Figure AMR) p Defined as a new graph AMR p =(V, E) p The new graph has the same set of nodes as the AMR, and has (v, x) ∈ E if and only if the distance between nodes v and x in the AMR is less than or equal to p. p In other words, d AMR (v, x) ≤ p. AMR 1 =AMR. Use AMR p(p>) aligns a path of length p in one graph with a single edge in another graph, similar to allowing "insertion" or "deletion" in sequence alignment. The alignment procedure can stop when every node from AMR is fully aligned with a node in T.

[0152] The described graph alignment algorithm is used to evaluate the fit of various network models to real-world networks and to discover new, well-fitting geometric random graph models for protein-protein interaction networks. The random geometric graph is an undirected graph constructed by randomly placing N nodes in a metric space (according to a specified probability distribution) and connecting two nodes by links if and only if the distance between two nodes is within a given range (e.g., less than a neighborhood radius r).

[0153] This feature of AMR parsing as abstraction is related to the alignment (not graph alignment) between words and their semantic representations. This feature is closely related to how concepts are extracted from AMR and how a mapping is constructed between the surface form of a word and its semantics. Graph-based aligners specifically designed for word-to-concept scenarios can be used to demonstrate that better alignment results can improve AMR parsing results. Constructing the alignment between words and AMR concepts can be done as a preprocessing step. Therefore, accurate concept recognition critically depends on word-to-concept alignment in AMR. Since there is no manual alignment in AMR annotations, rule-based or unsupervised aligners can be applied to the training data to extract the mapping between words and concepts. This mapping can then be used as reference data to train a concept recognition model. A set of heuristic rules is used to greedily align word ranges with image segments. While it can incorporate information from additional language sources (such as WordNet), it is not applicable to other domains. Unsupervised aligners borrow from machine translation techniques and treat sentence-to-AMR alignment as a word alignment problem between the source sentence and its linearized AMR graph. Sentence-to-AMR alignment methods based on Hidden Markov Models (HMMs) can be used in conjunction with graph distance distortion models to leverage structural information in AMRs.

[0154] The expanded discourse tree generated in step 2 can be stored in case library 404 for later use. Steps 1 through 3 can be performed as part of a preprocessing operation. The diagnostic engine 402 can be configured to access entity ontology 406, which is a predefined ontology that includes formal specifications of various entities in the medical field and the relationships between them. Entity ontology 406 can be used to identify synonyms and / or phrases corresponding to subsequent requests (e.g., diagnostic requests).

[0155] Expanding the discourse tree (e.g., by combining) Figure 5 and Figure 6The extended discourse tree (created through the described process) can be used to identify potential diagnoses for subsequent diagnostic requests. The extended discourse tree enables various applications such as autonomous agents, improved search and navigation, and question-and-answer coordination.

[0156] By way of example, a diagnostic request may be received at step 4. In some embodiments, the diagnostic request may include a chief complaint (e.g., a user-provided description including at least one symptom). In some embodiments, instead of or in addition to a chief complaint, the diagnostic request may include one or more medical documents (e.g., one or more medical records).

[0157] At step 5, the chief complaint and / or medical documents can be analyzed to identify one or more entities. The diagnostic engine 402 can be configured to identify these entities using entity ontology 406 in order to identify one or more synonyms.

[0158] In step 6, syntactic analysis can be performed on the chief complaint and / or (multiple) medical documents. This can be illustrated by combining the above methods. Figure 5 The descriptive approach generates discourse trees. Discourse trees can represent the sentence and phrase structures of the chief complaint and / or (multiple) medical documents.

[0159] In step 7, semantic analysis can be performed on the chief complaint and / or (multiple) medical documents. Combining knowledge from both term frequency-inverse document frequency (TF*IDF) and word embeddings can be beneficial. Relying solely on words with the highest IDF component among all words improves the overall similarity evaluation quality. Low IDF words have no explicit semantics in fields such as health, and because these words are present in many sentences, there is more coincidental overlap between unrelated sentences. Therefore, removing these words from the text representation successfully separates the average similarity between pairs and non-pairs.

[0160] The learning procedure is now described. For each pair of c in the training set, we assign text(c) to texts based on their document frequencies. 1 ) and (c 2 The words in the document are sorted, with the least frequent word in the document placed first—achieving (c 1’ ) and (c 2’ Next, we will analyze each word w j 1’ and w j 2’ The word embedding vector multiplied by the importance coefficient i j These importance coefficients are the global weights to be learned. Finally, we take the average of these weighted embeddings to obtain (c 1 A fixed-length vector o 1 and (c 1 ) of o1 :

[0161]

[0162] First, the words in the sentence are sorted according to their IDF components; next, their 400-dimensional word embedding vectors are multiplied by importance coefficients, and finally, the average is taken. To obtain the importance coefficients, the loss function can be defined as a function of any pair c that minimizes the distance between paired vectors and maximizes the distance between non-paired vectors, where d(·) is the chosen distance function. The squared Euclidean distance function is used.

[0163]

[0164] Then, optimize the following objective based on the importance coefficient. Use stochastic gradient descent with 100 batches.

[0165]

[0166] The importance coefficient steadily decreases; therefore, words with low document frequency are much heavier than words with high document frequency. Finally, the coefficient gets very close to zero.

[0167] At step 8, for the current split, the rhetorical associations between text fragments can be analyzed to identify whether the rhetorical associations of the current split match the rhetorical associations identified in any fragment in the case library 404.

[0168] At step 9, consistent / inconsistent relationships can be identified. If a set of relationships is established between labeled cases, they are evaluated based on the consistency of associations with the currently split fragments. If this consistency is approved (e.g., association match), identification terminates, new cases can be labeled with the tags(s) associated with the approved matching cases, and the approved matching cases form the output. Otherwise, a new split of the fragments is generated again at step 8, and step 9 can be repeated.

[0169] Figure 7 It is a block diagram depicting an example case-based reasoning process 700 according to at least one embodiment.

[0170] In step 1, the chief complaint, medical history, and symptom parameters can be provided to the human-machine interface as input. The input provided in step 1 can correspond to a new case history.

[0171] In step 2, any suitable operation can be performed to extract various attributes from the input. By way of example, the input can be parsed into one or more discourse trees that can identify one or more basic discourse units.

[0172] In step 3, the extracted attributes can be used as search query terms to search the knowledge base (e.g., case library). Figure 4 (Examples of 404 errors in the case library).

[0173] In step 4, multiple similar cases can be identified and returned based on the search query provided in step 3. By way of example, the nearest neighbor algorithm can be used to identify similar cases based at least in part on the attributes obtained in step 3.

[0174] In step 5, similar cases can be sorted (potentially) and / or scored, at least in part, based on how similar each case is to the search query. In some embodiments, multiple most similar cases can be selected, at least in part, based on a predefined set of rules.

[0175] In step 6, multiple similar cases can be identified and returned based on the search query provided in step 3.

[0176] At step 7, if the number of most similar cases meets a predefined threshold (e.g., at least one similar case), and the most similar case can be used to resolve the current case, the most similar case is reused to provide an output indicating a solution to the current case (e.g., instructions for treating the disease / condition / symptom the user is now diagnosed with). If there are not enough similar cases and / or similar cases cannot be used to resolve the current case, the process can proceed to step 8.

[0177] In step 8, similar cases can be adapted according to one or more predefined adaptation rules.

[0178] In step 9, multiple fit cases can be analyzed to identify whether they can be used to solve the current case. If so, an output indicating the solution for the current case can be provided in step 10. Otherwise, the process can proceed to step 11.

[0179] In step 11, the most similar case can be further revised using other cases in the knowledge base until a set of requirements are met.

[0180] In step 12, the revised case can be labeled with one or more corresponding diseases, symptoms, and / or conditions.

[0181] In step 13, the revised case can be stored back in the case library for later use.

[0182] Figure 8 It is a block diagram depicting an example classifier 800 according to at least one embodiment.

[0183] Classifier 800 can be an example of a neural network with any suitable number of layers (e.g., layers 802 to 808).

[0184] In some embodiments, a set of observed symptoms from a new case may be provided as input. In some embodiments, this set may be provided via user interface 820. User interface 802 may be... Figure 1 Example of user interface 114.

[0185] Input can be passed to a case-based inferencer 822. In some embodiments, the case-based inferencer 822 can be configured to perform operations associated with a nearest neighbor algorithm based on the input symptoms and a corpus of previously labeled cases from a case-based library 824. In some embodiments, the case-based inferencer 822 can be further configured to compare the new symptoms with all sets of previously confirmed positive and negative cases stored in the case-based library to measure similarity matches using an Euclidean distance model in a digital feature space or text similarity. The case-based inferencer 822 can identify the labeled case most similar to the symptoms provided as input. If the labeled cases include a metric that matches the input symptoms on a threshold similarity, the most similar case (e.g., a previously identified classification corresponding to similar cases) can be used to provide a diagnosis of the input symptoms.

[0186] If the most similar case does not exceed a certain metric for similarity matching, the case-based inferencer 822 can be configured to activate a neural network model (e.g., classifier 800). The neural network can be pre-trained based on labeled data (e.g., cases in a case-based library 824 and their corresponding labels (e.g., one or more labels indicating diseases, symptoms, and / or conditions associated with a particular case)) to identify the categories of symptoms (e.g., diseases, symptoms, and / or conditions) provided as input. In some embodiments, the input provided to classifier 800 may include input symptoms provided to user interface 820 and symptoms associated with candidate cases in the case-based library 824.

[0187] The classifier 800 may include an input layer 802, one or more hidden layers (e.g., layers 804 to 806), and an output layer (e.g., layer 808). In some embodiments, the output layer may output the similarity between the user-provided input symptoms and the symptoms of candidate cases. In some embodiments, if the similarity score provided at 810 indicates that the candidate cases are dissimilar (at least not exceeding a certain predefined similarity threshold), the case-based inferencer 822 may continue to activate the classifier 800 with the input symptoms initially provided to the user interface 820 and another candidate case from the case-based library 824. This process may be performed any suitable number of times.

[0188] If the similarity score identified at 810 is higher than a predefined threshold similarity determined at 812, a classification can be identified for the input symptom (e.g., a classification label associated with a candidate case that has been identified as exceeding the similarity threshold). The classification labels(s) of the candidate cases can be reused and associated with the input symptom. The process can then continue to activate fuzzy logic model 816. Fuzzy logic model 816 can be configured to calculate severity with respect to the classification labels(s). By way of example, fuzzy logic model 816 can be configured to identify the severity associated with the classification labels(s) using various parameters identified by layers 804 to 806. In some embodiments, severity can be calculated based on the following:

[0189]

[0190] By way of examples, Y can be mapped to outputs from an output set such as {mild, moderate, severe}. Diagnoses (e.g., classification) and severity can be provided as outputs and used to update the case-based library 824. In some embodiments, the neural network can be retrained and / or updated with this new case at any appropriate time.

[0191] Figure 9 A flowchart illustrating at least one embodiment is provided, demonstrating another example of a method 900 for classifying input using documents from multiple previously classified categories. In some embodiments, method 900 may be... Figure 4 The diagnostic engine 402 is executed, and this diagnostic engine can be used as... Figure 1 It operates as part of the autonomous agent application 108.

[0192] Method 900 may begin with 901, wherein a collection of document fragments from a document corpus can be obtained. In some embodiments, each document fragment may be associated with one or more classification tags that identify the topic of the document fragment. By way of example, each document fragment may be associated with a disease, symptom, and / or condition corresponding to the symptom described in the document fragment.

[0193] At position 902, multiple extended discourse trees can be obtained. In some embodiments, each of the extended discourse trees identifies relationships between subsets of document fragments from the document fragment set. Each extended discourse tree includes at least two discourse trees, and each discourse tree includes multiple nodes, wherein each non-terminal node represents a rhetorical relationship between at least two fragments of the corresponding document. In some embodiments, the extended discourse tree indicates one or more rhetorical relationships between corresponding fragments of the at least two discourse trees, and each terminal node of the node in the discourse tree may be associated with one of the fragments. (The above is combined...) Figure 5 and Figure 6The generation of this discourse tree is described.

[0194] At point 903, text input can be received for searching (e.g., via autonomous agent application 108). Text input can be passed to... Figure 4 The diagnostic engine 402 is used for processing.

[0195] At 904, a discourse tree can be generated from the text input (e.g., via diagnostic engine 402). In some embodiments, the discourse tree represents the rhetorical relationships between one or more parts of the text input.

[0196] At 905, one or more subtrees of the discourse tree from the text input can (e.g., via diagnostic engine 402) be matched with one or more subtrees of multiple extended discourse trees.

[0197] At 906, each segment of the text input can be identified with a corresponding classification tag based at least in part on matching (e.g., via diagnostic engine 402).

[0198] At 907, text input can be (e.g., via diagnostic engine 402) categorized as associated with a corresponding category label.

[0199] At 908, text output corresponding to the text input can be provided (e.g., via an autonomous agent). In some embodiments, the text output includes classification tags (e.g., diagnostics).

[0200] In some embodiments, method 900 may further include (e.g., via diagnostic engine 402) parsing text input to generate an abstract semantic representation of the text input, the abstract semantic representation including a directed acyclic graph containing multiple nodes and edges, nodes representing utterance units of the text input, and edges specifying semantic relationships between nodes. The method may further include (e.g., via diagnostic engine 402) using an extended utterance tree associated with the set of document fragments and the abstract semantic representation of the input to determine that the relationships between fragments of the document set are consistent with the semantic relationships indicated by the abstract semantic representation of the text input.

[0201] In some embodiments, text input is classified in response to determining that the relationships between fragments of a document set are consistent with the semantic relationships indicated by the abstract meaning representation of the input (e.g., via diagnostic engine 402).

[0202] In some embodiments, the extended discourse tree is generated at least in part based on the following operations (e.g., via diagnostic engine 402): generating a corresponding discourse tree for each document fragment in the document fragment set, identifying the associations between corresponding discourse tree pairs, and generating links between the corresponding discourse tree pairs that identify the associations between the corresponding discourse tree pairs.

[0203] In some embodiments, multiple extended discourse trees identify relationships between subsets of document fragments from a set of document fragments based at least in part on at least one of the following: word level, phrase level, paragraph level, sentence level, or document level.

[0204] In some embodiments, the collection of document fragments each describes the symptoms of a corresponding medical condition.

[0205] In some embodiments, the text input is narrative or structured content from the user's medical documents.

[0206] In some embodiments, the diagnostic engine 402 may implement the above combination. Figure 7 and Figure 8 The described operation.

[0207] Figure 10 A simplified diagram of a distributed system 1000 for implementing one of these aspects is depicted. In the illustrated aspect, the distributed system 1000 includes one or more client computing devices 1002, 1004, 1006, and 1008, which are configured to execute and operate client applications, such as web browsers, proprietary clients (e.g., Oracle Forms), etc., via one or more networks 1010. A server 1012 may be communicatively coupled to remote client computing devices 1002, 1004, 1006, and 1008 via networks(s).

[0208] In various aspects, server 1012 can be adapted to run one or more services or software applications provided by one or more components of the system. Services or software applications can include both non-virtual and virtual environments. Virtual environments can include environments for virtual events, trade shows, simulators, classrooms, online transactions, and businesses, whether they are two-dimensional or three-dimensional (3D) representations, page-based logical environments, or other environments. In some aspects, these services can be provided as web-based services or cloud services or under a Software as a Service (SaaS) model to users of client computing devices 1002, 1004, 1006, and / or 1008. Users operating client computing devices 1002, 1004, 1006, and / or 1008 can then use one or more client applications to interact with server 1012 to utilize the services provided by these components.

[0209] In the configuration depicted in the figure, software components 1018, 1020, and 1022 of system 1000 are shown as being implemented on server 1012. In other aspects, one or more of the components of system 1000 and / or the services provided by these components may also be implemented by one or more of client computing devices 1002, 1004, 1006, and / or 1008. Users operating the client computing devices can then utilize one or more client applications to use the services provided by these components. These components may be implemented using hardware, firmware, software, or a combination thereof. It should be understood that various different system configurations, different from distributed system 1000, are possible. Therefore, the aspects shown in the figure are an example of a distributed system for implementing aspects of the system and are not intended to be limiting.

[0210] Client computing devices 1002, 1004, 1006, and / or 1008 can be portable handheld devices (e.g., Cellular phone Computing tablets, personal digital assistants (PDAs), or wearable devices (e.g., Google) Head-mounted displays (such as Microsoft Windows) Running software and / or various mobile operating systems, such as iOS, Windows Phone, Android, BlackBerry 10, Palm OS, etc., and providing internet, email, and SMS services. Alternatively, it may support other communication protocols. The client computing device can be a general-purpose personal computer, including, for example, those running various versions of Microsoft... Apple Personal computers and / or laptops running Linux operating systems. Client computing devices can be running various commercially available operating systems. Workstation computers operating any of the 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 1002, 1004, 1006, and 1008 can be any other electronic device capable of communicating via networks(multiple)1010, such as thin client computers, internet-enabled gaming systems (e.g., with or without...). A gesture input device (Microsoft Xbox game console) and / or a personal messaging device.

[0211] Although the exemplary distributed system 1000 is shown as having four client computing devices, any number of client computing devices can be supported. Other devices (such as devices with sensors, etc.) can interact with the server 1012.

[0212] The distributed system 1000 may contain (multiple) networks 1010, which may be any type of network familiar to those skilled in the art that supports 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, (multiple) networks 1010 may be local area networks (LANs), such as LANs based on Ethernet, Token Ring, etc. (Multiple) networks 1010 may be wide area networks (WANs) and the Internet. They may include virtual networks, including but not limited to Virtual Private Networks (VPNs), intranets, extranets, Public Switched Telephone Networks (PSTN), infrared networks, and wireless networks (e.g., according to the IEEE 802.6 protocol suite). (and / or any other wireless protocol operating on a network); and / or any combination of these and / or other networks.

[0213] Server 1012 may consist of: one or more general-purpose computers, dedicated server computers (including PC (personal computer) servers by way of example), Server 1012 may be a server, mid-range server, mainframe computer, rack server, server cluster, or any other suitable arrangement and / or combination thereof. Server 1012 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. The virtual network may be controlled by server 1012 using software-defined networking. In various aspects, server 1012 may be adapted to run one or more services or software applications described in the foregoing disclosure. For example, according to aspects of this disclosure, server 1012 may correspond to a server used to perform the above-described processes.

[0214] Server 1012 can run any of the operating systems discussed above, as well as any commercially available server operating system. Server 1012 can also run any of a variety of 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 acquired from Oracle Corporation, Microsoft Corporation, Sybase Corporation, IBM Corporation, etc.

[0215] In some implementations, server 1012 may include one or more applications to analyze and merge data feeds and / or event updates received from users of client computing devices 1002, 1004, 1006, and 1008. 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 1012 may receive real-time updates from one or more third-party information sources and continuous data streams. These real-time updates may include real-time events related to sensor data applications, financial reporting machines, network performance measurement tools (e.g., network monitoring and traffic management applications), clickstream analysis tools, vehicle traffic monitoring, and the like. The server 1012 may also include one or more applications to display data feeds and / or real-time events via one or more display devices of client computing devices 1002, 1004, 1006, and 1008.

[0216] The distributed system 1000 may also include one or more databases 1014 and 1016. Databases 1014 and 1016 may reside in various locations. By way of example, one or more of databases 1014 and 1016 may reside on non-transitory storage media local to (and / or residing in) server 1012. Alternatively, databases 1014 and 1016 may be located remotely from server 1012 and communicate with server 1012 via a network-based or dedicated connection. In one set of aspects, databases 1014 and 1016 may reside in a storage area network (SAN). Similarly, any necessary files for performing functions belonging to server 1012 may be stored locally on server 1012 and / or remotely, depending on the circumstances. In one set of aspects, databases 1014 and 1016 may include relational databases, such as those provided by Oracle Corporation, adapted to store, update, and retrieve data in response to SQL-formatted commands.

[0217] Figure 11This is a simplified block diagram of one or more components of a system environment 1100 (e.g., a cloud infrastructure system) according to one aspect of this disclosure, through which services provided by one or more components of the system environment can be offered as cloud services. In the illustrated aspect, system environment 1100 includes one or more client computing devices 1104, 1106, and 1108 that can be used by a user to interact with a cloud infrastructure system 1102 providing cloud services. The client computing devices can be configured to operate client applications, such as web browsers, proprietary client applications (e.g., Oracle Spreadsheets), or other applications, which can be used by a user of the client computing device to interact with the cloud infrastructure system 1102 to use the services provided by the cloud infrastructure system 1102.

[0218] It should be understood that the cloud infrastructure system 1102 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 1102 may have more or fewer components than shown in the figures, may combine two or more components, or may have different component configurations or arrangements.

[0219] Client computing devices 1104, 1106, and 1108 can be similar to those described above. Figure 10 The devices described in 1002, 1004, 1006 and 1008.

[0220] Although the exemplary system environment 1100 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 1102.

[0221] Multiple networks 1110 can facilitate data communication and exchange between client computing devices 1104, 1106, and 1108 and cloud infrastructure system 1102. Each network can be any type of network familiar to those skilled in the art that can support data communication using any of a variety of commercially available protocols, including those described above for the multiple networks 1110.

[0222] Cloud infrastructure system 1102 may include one or more computers and / or servers, which may include the above-mentioned features for... Figure 10 The computers and / or servers described in server 1012.

[0223] In some respects, the services provided by a cloud infrastructure system can include a wide range of services offered on demand to its users, such as online data storage and backup solutions, web-based email services, hosted office suites and document collaboration services, database processing, and management technical support services. The services provided by a cloud infrastructure system can be dynamically scaled to meet the needs of its users. Specific instances of the services provided by a cloud infrastructure system are referred to herein as “service instances.” Generally, any service provided to a user 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, the cloud service provider’s system can host applications, and users can subscribe to and use these applications on demand via a communication network such as the Internet.

[0224] 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 by the cloud provider to users, or other services 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 a web-based hosted relational database and scripting language middleware engine for use by web developers. As yet another example, services may include access to email software applications hosted on a cloud provider's website.

[0225] In some respects, cloud infrastructure system 1102 may include a suite of application, middleware, and database services 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.

[0226] Massive amounts of data (sometimes referred to as big data) can be hosted and / or manipulated at multiple levels and scales by infrastructure systems. This data can include extremely large and complex datasets that are difficult to process using typical database management tools or traditional data processing applications. For example, trillions of bytes of data may be difficult to store, retrieve, and process using a personal computer or its rack-based peer-to-peer devices. Handling such large amounts of data is challenging using most current relational database management systems and desktop statistics and visualization packages. It may require massively parallel processing software running thousands of server computers, exceeding the typical software tool architecture, to capture, organize, manage, and process the data within a tolerable elapsed timeframe.

[0227] 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 the data or simulate external forces on the data or what they present. These datasets can involve structured data, such as structured data organized in databases or otherwise organized according to structured models, and / or unstructured data (e.g., emails, images, blocks of data (large binary objects), web pages, complex event processing). By leveraging the ability to relatively quickly concentrate more (or less) computing resources on a target, cloud infrastructure systems can be better suited for performing tasks on large datasets based on the needs of enterprises, government agencies, research organizations, private individuals, like-minded groups of individuals or organizations, or other entities.

[0228] In various aspects, cloud infrastructure system 1102 can be adapted to automatically provision, manage, and track customer subscriptions to services provided by cloud infrastructure system 1102. Cloud infrastructure system 1102 can provide cloud services through different deployment models. For example, services can be provided under a public cloud model, in which cloud infrastructure system 1102 is owned by an organization selling cloud services (e.g., Oracle Corporation), and the services are available to general public enterprises or businesses in different industries. As another example, services can be provided under a private cloud model, in which cloud infrastructure system 1102 operates for a single organization and can provide services to one or more entities within that organization. Cloud services can also be provided under a community cloud model, in which cloud infrastructure system 1102 and the services it provides are shared by several organizations in a relevant community. Cloud services can also be provided under a hybrid cloud model, which is a combination of two or more different models.

[0229] In some respects, the services provided by cloud infrastructure system 1102 may include one or more services offered under the Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS) categories, or other categories of services that include hybrid services. Customers may subscribe to one or more services provided by cloud infrastructure system 1102 through a subscription order. Cloud infrastructure system 1102 then performs processing to deliver the services in the customer's subscription order.

[0230] In some respects, the services provided by cloud infrastructure system 1102 may include, but are not limited to, application services, platform services, and infrastructure services. In some examples, cloud infrastructure systems may provide application services through a SaaS platform. A SaaS platform can be configured to provide cloud services categorized as SaaS. For example, a SaaS platform may provide the ability to build and deliver a suite of on-demand applications 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 the services provided by the SaaS platform, customers can leverage applications running on the cloud infrastructure system. Customers can access 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 sales performance management, enterprise integration, and business agility solutions for large organizations.

[0231] In some respects, cloud infrastructure systems can provide platform services through PaaS platforms. PaaS platforms can be configured to provide cloud services categorized as PaaS. Examples of platform services may include, but are not limited to, services that enable organizations (such as Oracle) to consolidate existing applications on a shared, common architecture, and the ability to construct new applications that leverage the shared services provided by the platform. PaaS platforms can manage and control the underlying software and infrastructure used to provide PaaS services. Customers can access PaaS services provided by cloud infrastructure systems without purchasing separate licenses and support. Examples of platform services include, but are not limited to, Oracle Java Cloud Service (JCS) and Oracle Database Cloud Service (DBCS).

[0232] By leveraging the services provided by PaaS platforms, customers can adopt the programming languages ​​and tools supported by the cloud infrastructure system and control the deployed services. In some aspects, the platform services provided by the cloud infrastructure system can include database cloud services, middleware cloud services (e.g., Oracle Fusion Middleware Service), and Java cloud services. On the one hand, database cloud services can support a shared services deployment model, which enables organizations to aggregate database resources and provide database-as-a-service to customers in the form of a database cloud. Within the cloud infrastructure system, middleware cloud services can provide customers with a platform for developing and deploying various business applications, and Java cloud services can provide customers with a platform for deploying Java applications.

[0233] IaaS platforms within cloud infrastructure systems can provide a variety of infrastructure services. Infrastructure services facilitate the management and control of underlying computing resources (such as storage devices, networks, and other basic computing resources) for customers utilizing services provided by SaaS and PaaS platforms.

[0234] In some respects, the cloud infrastructure system 1102 may also include infrastructure resources 1130 for providing resources for offering various services to customers of the cloud infrastructure system. On one hand, infrastructure resources 1130 may include pre-integrated and optimized hardware combinations, such as servers, storage devices, and network resources, for executing services provided by PaaS and SaaS platforms.

[0235] In some respects, resources in cloud infrastructure system 1102 can be shared by multiple users and dynamically reallocated as needed. Additionally, resources can be allocated to users in different time zones. For example, cloud infrastructure system 1102 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 enable the same resources to be reallocated to another group of users located in a different time zone, thereby maximizing resource utilization.

[0236] In some respects, multiple internal shared services 1132 may be provided, shared by different components or modules of the cloud infrastructure system 1102 and by services provided by the cloud infrastructure system 1102. These internal shared services may include, but are not limited to, security and identity services, integration services, enterprise repository services, enterprise manager services, virus scanning and whitelisting services, high availability, backup and recovery services, services for enabling cloud support, email services, notification services, file transfer services, etc.

[0237] In some respects, cloud infrastructure system 1102 can provide comprehensive management of cloud services (e.g., SaaS, PaaS, and IaaS services) within the cloud infrastructure system. On one hand, cloud management functions may include the ability to provision, manage, and track customer subscriptions received by cloud infrastructure system 1102.

[0238] On the one hand, as depicted in the figure, cloud management functionality can be provided by one or more modules, such as order management module 1120, order orchestration module 1122, order supply module 1124, order management and monitoring module 1126, and identity management module 1128. These modules may include or use one or more computers and / or servers to provide this functionality, which may be general-purpose computers, dedicated server computers, server groups, server clusters, or any other suitable arrangement and / or combination.

[0239] In exemplary operation 1134, a customer using a client device such as client computing devices 1104, 1106, or 1108 can interact with the cloud infrastructure system 1102 by requesting one or more services provided by the cloud infrastructure system 1102 and placing an order to subscribe to one or more services provided by the cloud infrastructure system 1102. In some aspects, the customer can access the cloud user interface (UI) 1112, cloud UI 1114, and / or cloud UI 1116 and place subscription orders through these UIs. Order information received by the cloud infrastructure system 1102 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 1102 that the customer intends to subscribe to.

[0240] After a customer places an order, the order information is received through cloud UI 1112, 1114 and / or 1116.

[0241] At operation 1136, the order is stored in order database 1118. Order database 1118 may be one of several databases operated by cloud infrastructure system 1102 and in conjunction with other system elements.

[0242] At operation 1138, the order information is forwarded to the order management module 1120. In some cases, the order management module 1120 can be configured to perform order-related accounting and bookkeeping functions, such as verifying orders and reserving orders after verification.

[0243] At operation 1140, order information is transmitted to order orchestration module 1122. Order orchestration module 1122 can use the order information to orchestrate services and resource provision for customer orders. In some cases, order orchestration module 1122 can use the services of order provisioning module 1124 to orchestrate resource provision to support subscribed services.

[0244] In some respects, the order orchestration module 1122 enables the management of business processes associated with each order and applies business logic to determine whether an order should continue to be provisioned. At operation 1142, upon receiving an order for a new subscription, the order orchestration module 1122 sends a request to the order provisioning module 1124 to allocate resources and configure those resources required to fulfill the subscription order. The order provisioning module 1124 enables the allocation of resources for services ordered by customers. The order provisioning module 1124 provides an abstraction level between the cloud services provided by system environment 1100 and the physical implementation layer used to provision the resources for providing the requested services. Therefore, the order orchestration module 1122 can be decoupled from implementation details such as whether services and resources are actually provisioned in real time or pre-provisioned and allocated / specified only upon request.

[0245] At operation 1144, once services and resources are provisioned, the order provisioning module 1124 of the cloud infrastructure system 1102 can send notifications of the services provided to customers on client computing devices 1104, 1106 and / or 1108.

[0246] At operation 1146, customer subscription orders can be managed and tracked by order management and monitoring module 1126. In some cases, order management and monitoring module 1126 can be configured to collect service usage statistics in subscription orders, such as storage usage, data transfer volume, number of users, and system uptime and downtime.

[0247] In some aspects, system environment 1100 may include an identity management module 1128. Identity management module 1128 may be configured to provide identity services, such as access management and authorization services in system environment 1100. In some aspects, identity management module 1128 may control information about customers who wish to utilize the services provided by cloud infrastructure system 1102. Such information may include information authenticating the identity of such customers and information describing which actions are authorized to be performed by those customers relative to various system resources (e.g., files, directories, applications, communication ports, storage segments, etc.). Identity management module 1128 may also include the management of descriptive information about each customer and how and by whom this descriptive information can be accessed and modified.

[0248] Figure 12 An exemplary computer system 1200 is illustrated, in which various aspects can be implemented. System 1200 can be used to implement any of the computer systems described above. As shown, computer system 1200 includes a processing unit 1204 that communicates with a plurality of peripheral subsystems via a bus subsystem 1202. These peripheral subsystems may include a processing acceleration unit 1206, an I / O subsystem 1208, a storage subsystem 1218, and a communication subsystem 1224. Storage subsystem 1218 includes a tangible computer-readable storage medium 1222 and system memory 1210.

[0249] Bus subsystem 1202 provides mechanisms for enabling the various components and subsystems of computer system 1200 to communicate with each other as intended. While bus subsystem 1202 is schematically shown as a single bus, alternative aspects of the bus subsystem may utilize multiple buses. Bus subsystem 1202 can be any of several types of bus architectures, including memory buses or memory controllers, peripheral buses, and local buses using any of a variety of bus architectures. 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 P886.1 standard).

[0250] A processing unit 1204, which may be implemented as one or more integrated circuits (e.g., a conventional microprocessor or microcontroller), controls the operation of the computer system 1200. The processing unit 1204 may include one or more processors. These processors may include single-core or multi-core processors. In some aspects, the processing unit 1204 may be implemented as one or more independent processing units 1232 and / or 1234, each including a single-core or multi-core processor. In other aspects, the processing unit 1204 may also be implemented as a quad-core processing unit formed by integrating two dual-core processors into a single chip.

[0251] In various aspects, processing unit 1204 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 1204 and / or storage subsystem 1218. With appropriate programming, processing unit 1204 can provide the various functions described above. Computer system 1200 may additionally include processing acceleration unit 1206, which may include digital signal processor (DSP), dedicated processor, etc.

[0252] I / O subsystem 1208 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, dial pads, buttons, switches, keypads, audio input devices with voice command recognition systems, microphones, and other types of input devices. User interface input devices may include, for example, motion sensing and / or gesture recognition devices, such as Microsoft... Motion sensors enable users to control devices like Microsoft products using natural user interfaces that employ gestures and verbal commands. User interface input devices, such as the 360 ​​Game Controller, allow interaction with the user. These input devices 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 into the input device (e.g., Google). Google input Blink detector. Additionally, the user interface input device may include features that enable the user to interact with a voice recognition system (e.g., voice commands) via voice commands. Voice recognition sensing devices for navigators.

[0253] 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. Additionally, 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 examination equipment. User interface input devices may also include, for example, audio input devices such as MIDI keyboards and digital musical instruments.

[0254] 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 intended to include all possible types of devices and mechanisms for outputting information from computer system 1200 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, headsets, car navigation systems, plotters, voice output devices, and modems.

[0255] Computer system 1200 may include a storage subsystem 1218, which includes software elements shown as currently located within system memory 1210. System memory 1210 may store program instructions that can be loaded and executed on processing unit 1204, as well as data generated during the execution of these programs.

[0256] Depending on the configuration and type of the computer system 1200, the system memory 1210 may be volatile (such as random access memory (RAM)) and / or non-volatile (such as read-only memory (ROM), flash memory, etc.). RAM typically contains data and / or program modules that are readily accessible and / or currently being operated and executed by the processing unit 1204. In some embodiments, the system memory 1210 may include various different types of memory, such as static random access memory (SRAM) or dynamic random access memory (DRAM). In some embodiments, a basic input / output system (BIOS) containing basic routines, such as those that facilitate the transfer of information between elements within the computer system 1200 during startup, may typically be stored in ROM. By way of example and not limitation, the system memory 1210 also illustrates an application program 1212 (which may include a client application, a web browser, a middleware application, a relational database management system (RDBMS), etc.), program data 1214, and an operating system 1216. By way of example, the operating system 1216 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, Telephone, OS 10OS and Mobile operating systems such as OS.

[0257] The storage subsystem 1218 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 these functions when executed by a processor may be stored in the storage subsystem 1218. These software modules or instructions may be executed by the processing unit 1204. The storage subsystem 1218 may also provide a repository for storing the data used, according to the present invention.

[0258] The storage subsystem 1218 may also include a computer-readable storage medium reader 1220 that can be further connected to the computer-readable storage medium 1222. The computer-readable storage medium 1222, which is used in conjunction with and optionally combined with the system memory 1210, can comprehensively represent remote, local, fixed and / or removable storage devices and storage media for temporarily and / or more permanently containing, storing, transmitting and retrieving computer-readable information.

[0259] The computer-readable storage medium 1222, which contains code or portions thereof, may also include any suitable medium known or used in the art, including storage media 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 storing and / or transmitting information. The medium may include tangible, non-transitory computer-readable storage media, such as RAM, ROM, electrically erasable programmable ROM (EEPROM), flash memory or other memory technologies, CD-ROM, digital universal 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. Where appropriate, the medium 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 the computing system 1200.

[0260] By way of example, computer-readable storage medium 1222 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, etc.). An optical disc drive that reads from or writes to an optical disc or other optical medium. Computer-readable storage medium 1222 may include, but is not limited to, [other types of optical media]. Disk drives, flash memory cards, Universal Serial Bus (USB) flash memory drives, Secure Digital (SD) cards, DVD discs, digital videotapes, etc. Computer-readable storage media 1222 may also include SSDs based on flash memory, such as flash memory-based solid-state drives (SSDs), enterprise-class flash memory drives, SSDs based on non-volatile memory such as solid-state ROM, 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 and flash memory-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 1200.

[0261] The communication subsystem 1224 provides an interface to other computer systems and networks. The communication subsystem 1224 serves as an interface for receiving data from other systems and transmitting data from computer system 1200 to other systems. For example, the communication subsystem 1224 enables computer system 1200 to connect to one or more devices via the Internet. In some aspects, the communication subsystem 1224 may include radio frequency (RF) transceiver components (e.g., using cellular telephone technology, advanced data network technologies such as 3G, 4G, or EDGE (Global Evolution Enhanced Data Rate), WiFi (IEEE 802.28 Home Standard, or other mobile communication technologies, or any combination thereof), GPS receiver components, and / or other components for accessing wireless voice and / or data networks. In some aspects, in addition to or as an alternative to the wireless interface, the communication subsystem 1224 may provide wired network connectivity (e.g., Ethernet).

[0262] In some respects, the communication subsystem 1224 may also represent one or more users who can use the computer system 1200 to receive input communications in the form of structured and / or unstructured data feeds 1226, event streams 1228, event updates 1230, etc.

[0263] By way of example, the communication subsystem 1224 can be configured to receive unstructured data feeds 1226 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.

[0264] Additionally, the communication subsystem 1224 can also be configured to receive data in the form of a continuous data stream, which may include an event stream 1228 and / or event updates 1230 of real-time events (which may be inherently continuous or unbounded and may not have an explicit end). Examples of applications that generate continuous data may include, for example, sensor data applications, financial reporting machines, network performance measurement tools (e.g., network monitoring and traffic management applications), clickstream analysis tools, vehicle traffic monitoring, etc.

[0265] The communication subsystem 1224 can also be configured to output structured and / or unstructured data feeds 1226, event streams 1228, event updates 1230, etc., to one or more databases that can communicate with one or more streaming data source computers coupled to the computer system 1200.

[0266] Computer system 1200 can be of a variety of types, including handheld portable devices (e.g., Cellular phone Computing tablets, PDAs), wearable devices (e.g., Google...) Head-mounted displays, PCs, workstations, mainframes, self-service terminals, server racks, or any other data processing systems.

[0267] Due to the constantly evolving nature of computers and networks, the description of the computer system 1200 depicted in the figures is intended only as a concrete example. Many other configurations with more or fewer components than the system depicted in the figures are possible. For example, custom hardware may be used and / or specific elements may be implemented in 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 understand other ways and / or methods of implementing these aspects.

[0268] In the foregoing description, various aspects of the invention have been described with reference to specific aspects of the invention; however, those skilled in the art will recognize that the invention is not limited thereto. Various properties and aspects of the invention described above can be used individually 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 the specification. Therefore, the specification and drawings should be considered illustrative rather than restrictive.

Claims

1. A computer-implemented method for generating automated diagnoses using multi-case-based reasoning, the method comprising: A collection of document fragments from a document corpus is obtained through one or more processors, each document fragment being associated with one or more classification tags that identify the document fragment; Multiple extended discourse trees are obtained through the one or more processors, each of the extended discourse trees identifying a rhetorical relationship between a subset of document fragments from the document fragment set. Each extended discourse tree includes at least two discourse trees, each discourse tree includes multiple nodes, each non-terminal node represents a rhetorical relationship between at least two sub-fragments of the corresponding document fragment, and each terminal node of the node of the discourse tree is associated with one of the sub-fragments. The diagnostic request, including text input indicating one or more symptoms, is received by the one or more processors. A discourse tree is generated from the text input by the one or more processors, the discourse tree representing a first rhetorical relationship between one or more symptoms of the text input; The processor identifies one or more subtrees of the plurality of extended discourse trees corresponding to one or more document fragments, based on the discourse tree generated from the text input. The one or more processors determine that the second rhetorical relationship between the one or more subtrees of the plurality of extended discourse trees matches the first rhetorical relationship between the one or more symptoms indicated in the text input; Based at least in part on determining the match, one or more diagnostic tags are identified for each of the one or more symptoms of the text input from corresponding diagnostic tags individually associated with the one or more document fragments; The text input is classified as being associated with at least one diagnostic marker using a neural network, wherein classifying the text input includes providing the one or more symptoms as input to the neural network, and receiving an output from the neural network indicating the at least one diagnostic marker; as well as Provide output corresponding to the text input and including the automatic diagnosis, the automatic diagnosis including one or more diagnostic tags identified by matching each of the one or more symptoms with the one or more document fragments, and the at least one diagnostic tag identified by the output from the neural network.

2. The computer-implemented method as described in claim 1, further comprising: The text input is parsed to generate an abstract semantic representation of the text input. The abstract semantic representation includes a directed acyclic graph containing multiple corresponding nodes and edges. The nodes represent the discourse units of the text input, and the edges specify the semantic relationships between the nodes. as well as The one or more processors determine the relationship between one or more document fragments in the document fragment set, using the extended discourse trees in the plurality of extended discourse trees and the abstract meaning representation of the input, to be consistent with the semantic relationship indicated by the abstract meaning representation of the text input.

3. The computer-implemented method as described in claim 2, wherein, Identifying each of the one or more symptoms with the one or more diagnostic tags is based at least in part on determining that the relationship between one or more document fragments of the fragment set is consistent with the semantic relationship indicated by the abstract meaning representation of the input.

4. The computer-implemented method as described in claim 1, wherein, The extended discourse tree is generated at least in part based on the following operations: generating a corresponding discourse tree for each document fragment in the document fragment set, identifying the corresponding rhetorical relationships between the corresponding discourse tree pairs, and generating links between the corresponding discourse tree pairs that identify the corresponding rhetorical relationships between the corresponding discourse tree pairs.

5. The computer-implemented method as described in claim 1, wherein, The plurality of extended discourse trees identify the corresponding rhetorical relationships between subsets of document fragments from the set of document fragments based at least in part on at least one of the following: word level, phrase level, paragraph level, sentence level, or document level.

6. The computer-implemented method as described in claim 1, wherein, The text input is narrative or structured content from the user's medical documents.

7. A computing device, comprising: One or more processors; as well as One or more memories store computer-readable instructions for generating automated diagnostics using multi-case-based reasoning, which, when executed by the one or more processors, cause the computing device to perform operations including: Obtain a collection of document fragments from a document corpus, each document fragment being associated with one or more classification tags that identify the diagnosis of the document fragment; Multiple extended discourse trees are obtained, each of which identifies a rhetorical relationship between subsets of document fragments from the document fragment set. Each extended discourse tree includes at least two discourse trees, each discourse tree includes multiple nodes, each non-terminal node represents a rhetorical relationship between at least two sub-fragments of the corresponding document fragment, and each terminal node of the node of the discourse tree is associated with one of the sub-fragments. Receive a diagnostic request that includes text input indicating one or more symptoms; A discourse tree is generated from the text input, the discourse tree representing a first rhetorical relationship between one or more symptoms of the text input; Based on the discourse tree generated from the text input, identify one or more subtrees of the plurality of extended discourse trees corresponding to one or more document fragments; Determine whether a second rhetorical relationship between one or more subtrees of the plurality of extended discourse trees matches a first rhetorical relationship between one or more symptoms indicated in the text input; The text input is classified as being associated with at least one diagnostic marker using a neural network, wherein classifying the text input includes providing the one or more symptoms as input to the neural network, and receiving an output from the neural network indicating the at least one diagnostic marker; as well as Provide output corresponding to the text input and including the automatic diagnosis, the automatic diagnosis including one or more diagnostic tags identified by matching each of the one or more symptoms with the one or more document fragments, and the at least one diagnostic tag identified by the output from the neural network.

8. The computing device of claim 7, wherein, The operation also includes: The text input is parsed to generate an abstract semantic representation of the text input. This abstract semantic representation includes a directed acyclic graph containing multiple corresponding nodes and edges. Each node represents a utterance unit of the text input, and each edge specifies the semantic relationship between the nodes. The extended discourse trees in the plurality of extended discourse trees and the abstract semantic representation of the input are used to determine the relationship between one or more document fragments in the document fragment set, which is consistent with the semantic relationship indicated by the abstract semantic representation of the text input.

9. The computing device of claim 8, wherein, Identifying each of the one or more symptoms with the one or more diagnostic tags is based at least in part on determining that the relationship between one or more document fragments of the fragment set is consistent with the semantic relationship indicated by the abstract meaning representation of the input.

10. The computing device of claim 7, wherein, The extended discourse tree is generated at least in part based on the following operations: generating a corresponding discourse tree for each document fragment in the document fragment set, identifying the corresponding rhetorical relationships between the corresponding discourse tree pairs, and generating links between the corresponding discourse tree pairs that identify the corresponding rhetorical relationships between the corresponding discourse tree pairs.

11. The computing device of claim 7, wherein, The plurality of extended discourse trees identify the corresponding rhetorical relationships between subsets of document fragments from the set of document fragments based at least in part on at least one of the following: word level, phrase level, paragraph level, sentence level, or document level.

12. The computing device of claim 7, wherein, The text input is narrative or structured content from the user's medical documents.

13. A non-transitory computer-readable storage medium comprising computer-readable instructions for generating automated diagnostics using multi-case-based reasoning, the computer-readable instructions, when executed by one or more processors of a computing device, causing the computing device to perform operations including: Obtain a collection of document fragments from a document corpus, each document fragment being associated with one or more classification tags that identify the diagnosis of the document fragment; Multiple extended discourse trees are obtained, each of which identifies a rhetorical relationship between subsets of document fragments from the document fragment set. Each extended discourse tree includes at least two discourse trees, each discourse tree includes multiple nodes, each non-terminal node represents a rhetorical relationship between at least two sub-fragments of the corresponding document fragment, and each terminal node of the node of the discourse tree is associated with one of the sub-fragments. Receive a diagnostic request that includes text input indicating one or more symptoms; A discourse tree is generated from the text input, the discourse tree representing a first rhetorical relationship between one or more symptoms of the text input; Based on the discourse tree generated from the text input, identify one or more subtrees of the plurality of extended discourse trees corresponding to one or more document fragments; Determine whether a second rhetorical relationship between one or more subtrees of the plurality of extended discourse trees matches a first rhetorical relationship between one or more symptoms indicated in the text input; The text input is classified as being associated with at least one diagnostic marker using a neural network, wherein classifying the text input includes providing the one or more symptoms as input to the neural network, and receiving an output from the neural network indicating the at least one diagnostic marker; as well as Provide output corresponding to the text input and including the automatic diagnosis, the automatic diagnosis including one or more diagnostic tags identified by matching each of the one or more symptoms with the one or more document fragments, and the at least one diagnostic tag identified by the output from the neural network.

14. The non-transitory computer-readable storage medium of claim 13, wherein, The operation also includes: The text input is parsed to generate an abstract semantic representation of the text input. This abstract semantic representation includes a directed acyclic graph containing multiple corresponding nodes and edges. Each node represents a utterance unit of the text input, and each edge specifies the semantic relationship between the nodes. The extended discourse trees in the plurality of extended discourse trees and the abstract semantic representation of the input are used to determine the relationship between one or more document fragments in the document fragment set, which is consistent with the semantic relationship indicated by the abstract semantic representation of the text input.

15. The non-transitory computer-readable storage medium of claim 14, wherein, Identifying each of the one or more symptoms with the one or more diagnostic tags is based at least in part on determining that the relationship between one or more document fragments of the fragment set is consistent with the semantic relationship indicated by the abstract meaning representation of the input.

16. The non-transitory computer-readable storage medium of claim 13, wherein, The extended discourse tree is generated at least in part based on the following operations: generating a corresponding discourse tree for each document fragment in the document fragment set, identifying the corresponding rhetorical relationships between the corresponding discourse tree pairs, and generating links between the corresponding discourse tree pairs that identify the corresponding rhetorical relationships between the corresponding discourse tree pairs.

17. The non-transitory computer-readable storage medium of claim 13, wherein, The plurality of extended discourse trees identify the corresponding rhetorical relationships between subsets of document fragments from the set of document fragments based at least in part on at least one of the following: word level, phrase level, paragraph level, sentence level, or document level.

18. The non-transitory computer-readable storage medium of claim 13, wherein, The text input is narrative or structured content from the user's medical documents.

Citation Information

Patent Citations

  • Navigating electronic documents using domain discourse trees

    US10853574B2