Semantic search method and system for blood disease medical record big data
By constructing a semantic association network for hematological disease medical records and parsing user search intent, the problem of insufficient semantic understanding in traditional hematological disease medical record search methods is solved, achieving efficient and accurate information acquisition and search result optimization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-26
- Publication Date
- 2026-03-10
AI Technical Summary
Traditional methods for searching hematological medical records cannot accurately understand the deep semantics of users' search intent, nor can they fully explore the semantic relationships between units of medical record text. This results in inaccurate and incomplete search results, making it difficult to meet the needs of medical personnel for efficient and accurate information acquisition in the process of diagnosing and treating complex hematological diseases.
A semantic association network for hematological disease medical records is constructed. The semantic association relationships between medical record text units are used as edges. The complete term set of nodes and the association strength information of the edges are labeled. The user's search intent is parsed to generate a search semantic vector. Dynamic semantic matching is performed based on the semantic association network to generate hierarchical search results and optimize the search system to adapt to user behavior feedback.
It enables a deeper understanding of hematological disease medical records, generates well-structured and logically clear search results, improves information retrieval efficiency and search accuracy, adapts to user needs, and enhances the practicality of the search system.
Smart Images

Figure CN121636680A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of medical information processing, in particular to a semantic search method and system for blood disease medical record big data. BACKGROUND
[0002] In the medical field, there are various types of blood diseases and complex conditions. Effective search and analysis of related medical record information is of great significance for the diagnosis, treatment and research of diseases. The traditional blood disease medical record search method is mainly based on keyword matching. The limitations of the above-mentioned method are obvious. On the one hand, keyword matching cannot accurately understand the deep semantics of the user's search intent. For example, the user inputs "anemia and dizziness", and the traditional method may only simply match the medical records containing the keywords "anemia" and "dizziness", but cannot deeply understand the association between the symptoms and the user's potential diagnosis or treatment needs. On the other hand, the existing method does not fully consider the semantic association between medical record text units. There are complex co-occurrence relationships and logical associations between symptom, diagnosis, treatment and examination index terms in blood disease medical records. Traditional search cannot mine and utilize these potential information, resulting in search results that are not accurate and comprehensive enough to meet the needs of medical personnel for efficient and accurate information acquisition in the diagnosis and treatment of complex blood diseases. SUMMARY
[0003] In view of the above-mentioned problems, in combination with the first aspect of the present application, the embodiments of the present application provide a semantic search method for blood disease medical record big data, which comprises: constructing a blood disease medical record semantic association network, the blood disease medical record semantic association network taking medical record text units in blood disease medical record big data as nodes and taking semantic association relationships between medical record text units as edges, the semantic association relationships being determined based on co-occurrence relationships and logical association relationships of symptom terms, diagnosis terms, treatment terms and examination index terms in the medical record text units, each node being labeled with a complete term set of the corresponding medical record text unit, and each edge being labeled with association strength information; analyzing a user search intent to generate a search semantic vector containing term dimensions, association relationship identifiers and semantic weights, the user search intent containing blood disease-related symptom descriptions, diagnosis needs, treatment scheme queries and examination index reference contents; calling node term sets and edge association strength information in the blood disease medical record semantic association network, mapping core terms of the search semantic vector with the node term sets, calculating the matching degree of the nodes and the search semantic vector, screening to form a matching medical record text unit set according to the matching degree, and obtaining a dynamic semantic matching result; The hierarchical search result is generated according to the dynamic semantic matching result, the matched medical record text unit set is divided into a symptom matching layer, a diagnosis matching layer, a treatment matching layer and an examination index matching layer according to a matching dimension, the medical record text units in each layer are sorted according to a matching degree, a semantic association explanation based on term co-occurrence and unit association is generated for each layer, and an association relationship between layers based on co-occurrence terms is marked; The blood disease medical record semantic association network is optimized based on user access behavior feedback to the hierarchical search result, user click, stay and secondary search triggering conditions for each layer of medical record text unit are recorded, and the association priority of the corresponding node, the association strength and weight of the edges between nodes are adjusted according to the access behavior.
[0004] In still another aspect, the embodiment of the present application also provides a semantic search system for blood disease medical record big data, which comprises a processor and a machine readable storage medium, the machine readable storage medium is connected with the processor, the machine readable storage medium is used for storing programs, instructions or codes, and the processor is used for executing the programs, instructions or codes in the machine readable storage medium to realize the above-mentioned method.
[0005] Based on the above aspects, by constructing the blood disease medical record semantic association network, taking the medical record text unit as a node and the semantic association relationship as an edge, and marking the information of the node and the edge in detail, the complex relationship between the terms in the blood disease medical record is comprehensively and accurately described, then the search semantic vector is generated by analyzing the user search intention, the user's needs in different search scenarios can be deeply understood, whether it is symptom description, diagnosis demand, treatment scheme query or examination index reference, it can be accurately converted into processable semantic information. Therefore, in the search process, the information of the semantic association network is called to perform dynamic semantic matching, not only the mapping of the core term is considered, but also the semantic weight and the association strength are combined, so that the search result is more in line with the actual needs of the user. The generated hierarchical search result is clearly divided according to the matching dimension, the medical record text units in each layer are sorted according to the matching degree and the semantic association explanation is generated, the association relationship between layers is marked, the user is provided with a search result display with clear hierarchy and clear logic, and the efficiency of information acquisition is greatly improved. Finally, the semantic association network is optimized based on the user access behavior feedback to the hierarchical search result, so that the search system can continuously learn and adapt to the actual use habits of the user, and the accuracy and practicability of the search are further improved. BRIEF DESCRIPTION OF DRAWINGS
[0006] Figure 1 is the execution flow diagram of the semantic search method for blood disease medical record big data provided by the embodiment of the present application.
[0007] Figure 2 is the schematic diagram of exemplary hardware and software components of the semantic search system for blood disease medical record big data provided by the embodiment of the present application. DETAILED DESCRIPTION
[0008] The application will be described in detail below with reference to the accompanying drawings, Figure 1 is a flowchart of a semantic search method for blood disease medical record big data provided by an embodiment of the application. The semantic search method for blood disease medical record big data will be described in detail below.
[0009] Step S110: constructing a blood disease medical record semantic association network, the blood disease medical record semantic association network taking a medical record text unit in blood disease medical record big data as a node and a semantic association relationship between medical record text units as an edge, the semantic association relationship being determined based on a co-occurrence relationship and a logical association relationship of a symptom term, a diagnosis term, a treatment term and an examination index term in the medical record text unit, each node being labeled with a complete term set of the corresponding medical record text unit, and each edge being labeled with association strength information.
[0010] Before performing semantic search on blood disease medical record big data, a blood disease medical record semantic association network needs to be constructed. The core components of the blood disease medical record semantic association network are nodes and edges, wherein the nodes represent medical record text units in blood disease medical record big data, and the edges represent semantic association relationships between medical record text units. The determination of the semantic association relationship is not arbitrary, but is based on the co-occurrence relationship and the logical association relationship between the symptom term, the diagnosis term, the treatment term and the examination index term contained in the medical record text unit. Each node clearly labels the complete term set of the corresponding medical record text unit, and these term sets are the basis for subsequent semantic matching and association analysis. At the same time, the association strength information is also labeled on each edge, which can reflect the closeness of the semantic association between two connected nodes (i.e. medical record text units).
[0011] Step S111: extracting a single medical record text unit from blood disease medical record big data, each medical record text unit corresponding to a complete blood disease medical record and containing patient basic information, symptom description, diagnosis conclusion, treatment plan and examination index data.
[0012] In this embodiment, single medical record text units can be extracted from the blood disease medical record big data. The blood disease medical record big data covers a large number of medical record information of different patients, which are stored together in a disorderly manner. In order to accurately analyze and establish a correlation subsequently, the above-mentioned big data needs to be decomposed into independent individual units, i.e. single medical record text units. Each medical record text unit corresponds to a complete blood disease medical record, which needs to include the patient's multi-aspect information, wherein the patient's basic information is a basic description of the patient's identity; the symptom description records the abnormal performance of the patient's body; the diagnosis conclusion is the disease judgment made by the doctor according to the examination and symptoms; the treatment plan is the specific treatment measures formulated for the diagnosis conclusion; and the examination index data is the specific results obtained by the examination.
[0013] Step S112: performing term extraction on the single medical record text unit to separate the symptom term, the diagnosis term, the treatment term and the examination index term. The symptom term is a vocabulary for describing the abnormal performance of the patient's body, the diagnosis term is a vocabulary for clearly defining the disease type and stage, the treatment term is a vocabulary containing the drug regimen and treatment means, and the examination index term is a vocabulary containing the examination items and corresponding results.
[0014] After obtaining the single medical record text unit, it needs to perform term extraction operation. Term extraction is to extract the vocabulary with specific meaning and category division from the natural language description of the medical record text unit. Specifically, it is necessary to separate the four types of key terms, i.e. symptom term, diagnosis term, treatment term and examination index term. The symptom term is specially used to describe the abnormal performance of the patient's body, which can directly reflect the patient's physical condition. The role of the diagnosis term is to clearly define the type of disease suffered by the patient and the disease stage, which is the definition of the nature of the disease. The treatment term contains the drug regimen and specific treatment means for the disease, which embodies the treatment strategy and method. The examination index term covers various examination items and the corresponding examination results of these items, which is an important basis for diagnosis and treatment. Through the above classification and extraction, the key information in the medical record text unit is presented in the form of terms, which makes the originally complex medical record text structured and orderly.
[0015] Step S113: counting the co-occurrence frequency of different types of terms in the same medical record text unit. The co-occurrence frequency is the number of times that two or more terms appear at the same time in the same paragraph or adjacent paragraphs. The semantic association between the terms is determined based on the co-occurrence frequency.
[0016] After the extraction of the terms, the co-occurrence frequency of different types of terms in the same medical record text unit needs to be counted. The definition of co-occurrence frequency is the number of times that two or more terms appear simultaneously in the same paragraph or adjacent paragraphs. The reason for choosing the same paragraph or adjacent paragraphs as the judgment range of co-occurrence is that in medical record texts, the terms in these positions often have a relatively direct and close semantic relationship. By counting the co-occurrence frequency, the closeness of the semantic association between different types of terms can be effectively determined. Generally speaking, the higher the co-occurrence frequency of two terms in the same medical record text unit, the closer their semantic association. For example, if in the symptom description paragraph of a medical record, the symptom term "anemia" and the symptom term "pale complexion" often appear simultaneously, then their co-occurrence frequency will be high, and the closeness of their semantic association will also be high accordingly.
[0017] Step S114: Selecting two different medical record text units as the first medical record text unit and the second medical record text unit, and determining the semantic association relationship between the first medical record text unit and the second medical record text unit.
[0018] After the extraction of the terms and the counting of the co-occurrence frequency of the single medical record text unit, the semantic association relationship between different medical record text units needs to be further analyzed. The specific operation is to select two different medical record text units, which are marked as the first medical record text unit and the second medical record text unit respectively. Then, through a series of term comparison and logical analysis processes, it is determined whether there is a semantic association relationship between the two medical record text units. This process needs to consider the intersection of various types of terms in the two medical record text units and their logical relationship. By analyzing the above between a large number of medical record text units, the edge structure of the entire blood disease medical record semantic association network, i.e. the semantic association relationship between medical record text units, can be gradually constructed.
[0019] Step S1141: Selecting two medical record text units without determined association from the node library of the blood disease medical record semantic association network, and marking them as the first medical record text unit and the second medical record text unit respectively.
[0020] In determining the semantic association relationship between two medical record text units, first, selection is made from the node library of the blood disease medical record semantic association network. The node library stores all the single medical record text units that have been extracted, and the association relationship between these units has not been determined in the initial state. Two medical record text units that have not yet been determined to have an association are selected from the node library, one of which is designated as the first medical record text unit and the other as the second medical record text unit. The above selection ensures that the object of each analysis is a completely new pair of medical record text units that have not been associated and determined, so as to comprehensively construct the semantic association relationship network between all medical record text units.
[0021] Step S1142: Call the term set of the first medical record text unit, extract the diagnosis terms therein to form a first diagnosis term set; call the term set of the second medical record text unit, extract the diagnosis terms therein to form a second diagnosis term set.
[0022] After the first medical record text unit and the second medical record text unit are selected, the term sets thereof need to be processed. First, the term set of the first medical record text unit is called, and diagnosis terms are extracted therefrom to form a first diagnosis term set. Similarly, the term set of the second medical record text unit is called, and diagnosis terms are extracted therefrom to form a second diagnosis term set. Diagnosis terms have a core position in medical record texts, and directly and explicitly indicate the type and stage of the disease suffered by the patient, so diagnosis terms are the primary basis for determining the semantic association relationship between medical record text units.
[0023] Step S1143: Compare the first diagnosis term set with the second diagnosis term set, and check whether each term in the first diagnosis term set exists in the second diagnosis term set.
[0024] After the first diagnosis term set and the second diagnosis term set are formed, the two sets need to be compared. The specific method is to check each term in the first diagnosis term set to see whether it also exists in the second diagnosis term set. This checking process is an accurate term matching process, and does not allow fuzzy matching or approximate matching. Through the above comparison, it can be determined whether there is common disease type or stage information between the two medical record text units. If there is a common diagnosis term, it indicates that the two medical record text units have a direct association basis in terms of disease diagnosis; if there is not, further judgment needs to be made on whether there is a semantic association by using other types of terms.
[0025] Step S1144: If there is at least one term that belongs to both the first diagnosis term set and the second diagnosis term set, enter the symptom term intersection checking process; if there is no same term, do not determine that the first medical record text unit and the second medical record text unit have a semantic association relationship.
[0026] After comparing the first diagnosis term set and the second diagnosis term set, two cases can occur. If there is at least one same term in the two sets, i.e., there is a term belonging to both the first diagnosis term set and the second diagnosis term set, the symptom term intersection checking process is entered. This is because the common diagnosis term only indicates that there can be a semantic association, and it is necessary to further confirm the closeness and rationality of the association in combination with the symptom term. On the contrary, if there is no same term in the two diagnosis term sets, it is temporarily determined that there is no semantic association between the first medical record text unit and the second medical record text unit at the current stage. This is because the diagnosis term is the core identification of the disease, and without the common diagnosis term, the two medical record text units can have a large difference in the nature of the disease, and the possibility of semantic association is low.
[0027] Step S1145: In the symptom term intersection checking process, the term set of the first medical record text unit is called to extract the symptom terms to form a first symptom term set, and the term set of the second medical record text unit is called to extract the symptom terms to form a second symptom term set.
[0028] When entering the symptom term intersection checking process, the symptom terms of the first medical record text unit and the second medical record text unit need to be extracted and analyzed. First, the term set of the first medical record text unit is called to extract all the symptom terms therefrom, which are combined to form a first symptom term set. Similarly, the term set of the second medical record text unit is called to extract the symptom terms therefrom to form a second symptom term set. The symptom term reflects the specific physical abnormalities exhibited by the patient, and for the same disease, the patient often exhibits some similar symptoms. Therefore, by checking the intersection of the symptom term sets, the degree of semantic association between the two medical record text units with the common diagnosis term can be further verified.
[0029] Step S1146: Calculate the intersection of the first symptom term set and the second symptom term set.
[0030] After forming the first symptom term set and the second symptom term set, the intersection of the two sets needs to be calculated. The intersection of the sets refers to the set of elements that exist in both sets. In the intersection of the symptom term sets, the symptom terms common to the first medical record text unit and the second medical record text unit are included. The process of calculating the intersection is to find the common points of the two medical record text units in terms of symptoms. The above common symptom terms can provide more specific support for the semantic association between the two medical record text units, indicating that they are similar in terms of symptoms in addition to being consistent in diagnosis.
[0031] Step S1147: If the intersection contains at least one symptom term, it is determined that the first medical record text unit and the second medical record text unit have a semantic association relationship, and the association basis is the intersection of the same diagnosis term and the symptom term.
[0032] If the intersection of the first symptom term set and the second symptom term set contains at least one symptom term, it can be determined that the first medical record text unit and the second medical record text unit have a semantic association relationship. At this time, the association basis between the two medical record text units is that they have the same diagnosis term and the intersection of the symptom terms. The same diagnosis term indicates that the disease types or stages they involve are the same, and the intersection of the symptom terms indicates that the patient has shown similar abnormal physical symptoms in the course of the disease. The commonality of the two aspects makes the semantic association between the two medical record text units have high reliability and closeness. Through the above determination method, the medical record text unit pair with strong semantic association can be accurately identified.
[0033] Step S1148: If the intersection does not contain any symptom term, enter the treatment term intersection checking process, call the term set of the first medical record text unit to extract treatment terms to form a first treatment term set, and call the term set of the second medical record text unit to extract treatment terms to form a second treatment term set.
[0034] When the intersection of the first symptom term set and the second symptom term set does not contain any symptom term, it does not mean that the first medical record text unit and the second medical record text unit necessarily do not have a semantic association relationship, at which time the treatment term intersection checking process needs to be entered. Treatment terms are also important components of medical records, which reflect the treatment measures taken for a specific disease. Call the term set of the first medical record text unit to extract treatment terms to form a first treatment term set, and call the term set of the second medical record text unit to extract treatment terms to form a second treatment term set. By checking the intersection of the treatment term set, it can be determined whether the two medical record text units have a semantic association from the perspective of treatment measures.
[0035] Step S1149: Calculate the intersection of the first treatment term set and the second treatment term set, if the intersection contains at least one treatment term, it is determined that the first medical record text unit and the second medical record text unit have a semantic association relationship, and the association basis is the intersection of the same diagnosis term and the treatment term.
[0036] In the treatment term intersection checking procedure, the intersection of the first treatment term set and the second treatment term set is calculated. If the intersection contains at least one treatment term, it can be determined that the first medical record text unit and the second medical record text unit have a semantic association relationship. At this time, the association basis is the intersection of the same diagnosis term and the treatment term. Although the two medical record text units have nothing in common in terms of symptoms, the same or similar treatment measures are taken for the same disease, which also reflects the semantic association between them from one side. The similarity of the treatment measures may be due to the same pathological mechanism of the disease or the recommendation of the treatment guidelines, so the above association also has a certain rationality and reference value.
[0037] Step S11410: If the treatment term set intersection does not contain any treatment term, proceed to the examination index term intersection checking procedure, call the term set extraction of the first medical record text unit to form the first examination index term set, and call the term set extraction of the second medical record text unit to form the second examination index term set.
[0038] If the intersection of the treatment term set also does not contain any treatment term, it is necessary to further proceed to the examination index term intersection checking procedure. The examination index term is the objective data obtained by various examination means, which is of great significance for the diagnosis of the disease and the evaluation of the treatment effect. Call the term set of the first medical record text unit to extract the examination index term therein to form the first examination index term set; call the term set of the second medical record text unit to extract the examination index term to form the second examination index term set. By checking the intersection of the two examination index term sets, it can be judged from the perspective of objective examination data whether there is a semantic association between the two medical record text units.
[0039] Step S11411: Calculate the intersection of the first examination index term set and the second examination index term set, and if the intersection contains at least one examination index term, determine that the first medical record text unit and the second medical record text unit have a semantic association relationship, and the association basis is the intersection of the same diagnosis term and the examination index term.
[0040] In the examination index term intersection checking procedure, the intersection of the first examination index term set and the second examination index term set is calculated. If the intersection contains at least one examination index term, it is determined that the first medical record text unit and the second medical record text unit have a semantic association relationship, and the association basis is the intersection of the same diagnosis term and the examination index term. Even if the two medical record text units have nothing in common in terms of symptoms and treatment measures, the same examination index appears in the examination process for the same disease, which indicates that they have certain commonality in the objective manifestations of the disease, so the semantic association between them can be determined.
[0041] Step S11412: If the intersection of the check indicator term set also does not contain any term, it is temporarily determined that the first medical record text unit and the second medical record text unit do not have a semantic association relationship.
[0042] If the above series of checking processes are passed, that is, the intersection of the symptom term set, the treatment term set and the check indicator term set does not contain any term, it is temporarily determined that the first medical record text unit and the second medical record text unit do not have a semantic association relationship. This is because although the two medical record text units have the same diagnosis term, they have nothing in common in terms of symptoms, treatments and check indicators. In the above case, the semantic association relationship between them is very weak, and it is not enough to connect them in the semantic association network. Temporary determination does not mean permanent exclusion of the possibility of association. With the addition of more medical record text units or the optimization of the analysis method, the association relationship between them may be re-evaluated.
[0043] Step S11413: Perform the above process on all pairs of undetermined associated medical record text units, and record the pairs of medical record text units with semantic association relationship and the basis of association.
[0044] For all pairs of undetermined associated medical record text units in the blood disease medical record semantic association network node library, the above process from step S1141 to step S11412 needs to be processed one by one. This is a comprehensive and systematic process to ensure that no pairs of medical record text units with possible semantic association relationship are missed. During the processing, for the pairs of medical record text units determined to have a semantic association relationship, their identification and the basis of association need to be recorded in detail, such as based on the intersection of the same diagnosis term and the symptom term, or based on the intersection of the same diagnosis term and the treatment term, etc. The above recorded information has important reference value for subsequent construction of the edges of the semantic association network and labeling of the association strength information. By performing the above process on all pairs of medical record text units, the complete edge structure of the blood disease medical record semantic association network can be gradually constructed.
[0045] Step S115: Take each medical record text unit as an independent node, and label the complete term set composed of the extracted symptom term, diagnosis term, treatment term and check indicator term in the node.
[0046] After extracting terms from individual medical record text units and determining the semantic relationships between them, the nodes in the network need to be labeled. Each medical record text unit is treated as an independent node in the semantic association network. Each node is clearly labeled with a complete set of terms extracted from that unit, including symptom terms, diagnostic terms, treatment terms, and examination indicator terms. This term set is a condensed version of the core information of the medical record text unit represented by that node, containing all key terms related to semantic association analysis. By labeling nodes with complete term sets, the core information of nodes can be quickly and accurately obtained during subsequent semantic search and matching, improving search efficiency and matching accuracy.
[0047] Step S116: Using the semantic relationship between medical record text units as edges, determine the relationship strength of the edges based on the co-occurrence frequency and logical relationship, and mark the relationship strength information on the edges.
[0048] After determining the semantic relationships between medical record text units, these relationships will serve as edges in the semantic association network of hematological disease medical records. The strength of the edge association is not fixed but determined based on the co-occurrence frequency of terms and logical relationships. Higher co-occurrence frequency indicates a closer association between terms, resulting in a stronger edge association. More direct and important logical relationships also increase the edge association strength. For example, an association based on the intersection of the same diagnostic and symptom terms will typically have a stronger association than one based solely on the intersection of the same diagnostic and examination indicator terms. After determining the association strength of each edge, this information is clearly marked on the corresponding edge. This association strength information is crucial for subsequent dynamic semantic matching and search result ranking, helping users quickly find the medical record text units most relevant to their search intent.
[0049] Step S117: Integrate all nodes and edges according to semantic association to form a semantic association network of blood disease medical records.
[0050] After completing the node labeling and edge identification and labeling, all nodes and edges need to be integrated according to their semantic relationships. The integration process involves connecting the individual nodes through edges representing semantic relationships to form an organic, unified network structure. During integration, it is crucial to ensure that each node is correctly connected to other nodes with semantic relationships, and that the association strength information for each edge is accurately labeled in its corresponding position. Through these integration operations, a complete semantic association network for hematological disease medical records is ultimately formed. This semantic association network can intuitively demonstrate the semantic relationships between various textual units of hematological disease medical records within a large dataset.
[0051] Step S120: Parse the user's search intent to generate a search semantic vector containing term dimensions, relational identifiers, and semantic weights. The user's search intent includes descriptions of symptoms related to blood diseases, diagnostic needs, treatment plan queries, and reference content for examination indicators.
[0052] After constructing the semantic association network of hematological disease medical records, the next key step in semantic search is to parse the user's search intent and generate the corresponding search semantic vector. The user's search intent is the fundamental purpose of their search, encompassing various needs related to hematological diseases, such as symptom descriptions, diagnostic needs, treatment plan inquiries, and references to examination indicators. Parsing the user's search intent involves transforming the user's input natural language search text into structured information that a computer can understand and process—the search semantic vector. This search semantic vector needs to include key information such as terminology dimensions, relational identifiers, and semantic weights. The terminology dimension corresponds to the core terms in the search text, the relational identifier records the semantic association types between these core terms, and the semantic weight reflects the importance of each core term in the user's search intent. By generating the aforementioned search semantic vector, the user's search needs can be accurately captured.
[0053] Step S121: Receive the search text input by the user. The search text is the query content initiated by the user for blood disease medical record big data, which consists of text description and terminology keywords.
[0054] In this embodiment, when a user performs a semantic search related to blood diseases, they input a text through the search interface; this text is the search text. The search text directly reflects the user's search intent and consists of textual descriptions and terminology keywords entered by the user based on their needs. The textual description may include a detailed description of symptoms, questions about diagnosis, etc.; the terminology keywords are professional terms related to blood diseases entered by the user, such as specific disease names, symptom names, and examination item names. Receiving the user's input search text is the starting point of the entire semantic search process. Only by accurately receiving and acquiring the search text can subsequent intent parsing and vector generation operations be performed.
[0055] Step S122: Perform word segmentation on the search text, split the search text into individual word units, remove stop words with no actual semantic meaning, and retain words related to blood diseases.
[0056] After receiving the search text input by the user, it is necessary to perform word segmentation on it. Word segmentation is to split the continuous search text into individual lexical units according to certain rules. The above lexical units are the basic units for subsequent term recognition and intention analysis. After word segmentation, it is also necessary to perform the operation of removing stop words. Stop words refer to those words that frequently appear in the text but usually do not have actual semantics or contribute little to the expression of the search intention, such as "de", "shi", "zai", etc. Removing these stop words can reduce the amount of data for subsequent processing and improve processing efficiency. At the same time, the remaining words need to be related to blood diseases, and these words are the ones that may contain the core information of the user's search intention. Through word segmentation and stop word removal, valuable lexical units can be initially screened out to prepare for subsequent core term recognition.
[0057] Step S123: Identify the core terms from the remaining words and classify them into core symptom terms, core diagnosis terms, core treatment terms, and core examination index terms according to the term type. The core symptom terms correspond to the words describing abnormal physical manifestations, the core diagnosis terms correspond to the disease type words, the core treatment terms correspond to the treatment method words, and the core examination index terms correspond to the examination item words.
[0058] After word segmentation and stop word removal, identify the core terms from the remaining words related to blood diseases. Core terms refer to those keyword vocabularies that can directly reflect the user's search intention and are the core elements constituting the search semantic vector. Identifying core terms requires matching and judgment by combining professional knowledge and term libraries in the field of blood diseases. After identifying the core terms, classify them into different categories according to the term type, specifically including core symptom terms, core diagnosis terms, core treatment terms, and core examination index terms. Among them, the core symptom terms correspond to the words describing abnormal physical manifestations; the core diagnosis terms correspond to the words clarifying the disease type; the core treatment terms correspond to the words of various treatment methods; the core examination index terms correspond to the words of various examination items. Through the above classification, the semantics of the core terms become clearer.
[0059] Step S124: Analyze the association relationship between the core terms and determine the semantic weights of the core terms.
[0060] After identifying and classifying core terms, it is necessary to analyze the relationships between them and determine the semantic weight of each core term. Core terms do not exist in isolation; they have various semantic relationships, such as causal, parallel, and inclusive relationships. Analyzing these relationships allows for a deeper understanding of the internal logical structure of user search intent. Furthermore, different core terms have varying degrees of importance in user search intent; some terms may be the focus of the user's search, while others are supplementary information. Semantic weight is an indicator used to measure the importance of core terms in search intent. By analyzing the relationships between core terms and determining semantic weights, the generated search semantic vector can more accurately reflect the user's search needs.
[0061] Step S1241: Assign a unique identifier to each core term identified in the search text, and count the number of times each core term appears in the search text. The number of occurrences is the number of times the core term appears in its entirety.
[0062] When analyzing the relationships between core terms and determining semantic weights, each core term identified in the search text is first assigned a unique identifier. This unique identifier can be a specific code or number used to distinguish different core terms and avoid confusion in subsequent processing. Then, the frequency of each core term in the search text is counted. This frequency refers to the number of times the core term appears completely in the search text, excluding partial or variant appearances. The frequency of a core term's appearance reflects, to some extent, its importance in the user's search intent; generally, the more frequent the appearance, the higher its importance. This process involves assigning unique identifiers and counting occurrences.
[0063] Step S1242: Assign a corresponding weight to each core term based on the frequency of occurrence; different frequencies of occurrence correspond to different weights.
[0064] After counting the occurrences of each core term, a corresponding weight is assigned to each term based on its frequency. There is a correlation between occurrence frequency and weight; generally, the more frequent the occurrence, the higher the weight, and vice versa. This correlation can be determined using pre-defined rules. For example, the frequency of occurrence can be used as a fundamental component of the weight, directly allocating weights according to the proportion of occurrences. By assigning weights based on frequency of occurrence, the differences in the importance of core terms within the search text can be initially reflected.
[0065] Step S1243: Determine the position of each core term in the search text, and divide the position into the beginning, middle and end segments according to the total character length of the search text.
[0066] Besides frequency of occurrence, the position of core terms within the search text also affects their semantic weight. Typically, when expressing their search intent, users place important core terms earlier or later in the search text, while those in the middle may be less important. Therefore, it's necessary to determine the specific position of each core term within the search text. A common approach is to divide the search text into three parts based on its total character length: the beginning, middle, and end. For example, the first third of the search text can be defined as the beginning, the middle third as the middle, and the last third as the end. This division clearly defines the location of each core term.
[0067] Step S1244: Assign a corresponding coefficient to each core term for different positions. The corresponding coefficients are different for different positions.
[0068] After determining the location regions of the core terms in the search text, different coefficients are assigned to different regions. The first, middle, and last sections each correspond to different coefficient values. Generally, the coefficients for the first and last sections are higher than those for the middle section, reflecting the relatively higher importance of the core terms in these positions. For example, a higher coefficient can be set for the first section, a lower coefficient for the middle section, and a medium coefficient for the last section. Assigning a corresponding coefficient to each core term based on its location region serves as another important factor in determining its semantic weight.
[0069] Step S1245: Combine the frequency weight and position coefficient of the core terms to determine the initial semantic weight of each core term according to the set logic.
[0070] After determining the frequency weight and position coefficient of the core terms, these two factors need to be combined to determine the initial semantic weight of each core term according to a predefined logic. This logic could involve multiplying the frequency weight by the position coefficient, or adding them together and then normalizing the result. For example, the frequency weight can be multiplied by the position coefficient, and the result can be used as the initial semantic weight of the core term. By combining these methods, the influence of frequency and position on the importance of core terms can be comprehensively considered, resulting in a more reasonable initial semantic weight.
[0071] Step S1246: Search the preset term thesaurus, check whether there are synonyms or near-synonyms for each core term. If there are synonyms or near-synonyms for the core term, count the number of times the synonyms or near-synonyms appear in the search text, combine the number of appearances into the total number of appearances of the core term, redetermine the appearance weight and the initial semantic weight, and adjust the initial semantic weight to obtain the final semantic weight.
[0072] To more comprehensively capture user search intent, it's necessary to consider synonyms or near-synonyms of core terms. A pre-defined thesaurus is retrieved, storing synonyms and near-synonyms for common terms in the field of hematology. Each core term is checked to see if a corresponding synonym or near-synonym exists in the thesaurus. If a core term has synonyms or near-synonyms, and these synonyms or near-synonyms also appear in the search text, their occurrence counts are counted and added to the total occurrence count of the core term. Then, the occurrence count weight is re-determined based on the combined total occurrence count, and the initial semantic weight is recalculated by combining it with a position coefficient. Finally, the initial semantic weight is adjusted appropriately based on the synonyms or near-synonyms to obtain the final semantic weight of the core term. By merging the occurrence counts of synonyms or near-synonyms, biases in assessing the importance of core terms due to different user expression habits can be avoided, improving the accuracy of semantic weights.
[0073] Step S1247: If there are no synonyms or near-synonyms for the core term, the initial semantic weight is used as the final semantic weight.
[0074] If, after examination, the core term has no synonyms or near-synonyms in the pre-defined thesaurus, then determining the semantic weight of the core term is relatively simple. The previously calculated initial semantic weight is directly used as the final semantic weight of the core term. This is because, in the above case, no other related words can affect the assessment of the importance of the core term, and the initial semantic weight is sufficient to reflect its importance in the user's search intent.
[0075] Step S1248: Check whether each core term belongs to multiple term types simultaneously; if the core term belongs to multiple term types, analyze the search text context, determine the main use of the core term in the user's search intent, determine the main term type based on the main use, redetermine the occurrence frequency weight and position coefficient according to the rules corresponding to the main term type, calculate the semantic weight based on the main type, and add a secondary type identifier to the association information of the core term to record the other types to which the core term belongs.
[0076] In the field of hematology, some terms may have multiple meanings and may belong to multiple term types simultaneously. For example, "chemotherapy" can be a treatment method (a treatment term) and may also be used in some cases to describe a state during treatment (though this is relatively rare). Therefore, it is necessary to check whether each core term belongs to multiple term types simultaneously. If a core term belongs to multiple term types, the context of the search text needs to be analyzed to determine the main use of the core term in the user's search intent. Based on the main use, the main term type of the core term is determined. Then, the frequency weight and position coefficient are re-determined according to the rules corresponding to the main term type, and the semantic weight based on the main type is calculated based on these re-determined parameters. At the same time, a secondary type identifier is added to the association information of the core term to record the other term types to which the core term belongs. This process ensures that the dimensional division of the core term in the semantic vector is more accurate while preserving its multiple type information.
[0077] Step S1249: If the core term belongs to only a single term type, retain the final semantic weight calculated based on that single term type.
[0078] If, after examination, the core term is found to belong to only a single term type, then complex type determination and weight adjustment are unnecessary. The final semantic weight calculated based on that single term type can be directly retained. This is because, in the above case, the type of the core term is clear, and its semantic weight accurately reflects its importance within that type, requiring no additional adjustment or processing.
[0079] Step S12410: Record the final semantic weight, term type, and synonym or near-synonym merging status of each core term in the semantic weight table.
[0080] After determining the final semantic weights of all core terms, the relevant information for each core term needs to be recorded in a semantic weight table. The semantic weight table is a structured data table that contains information such as the final semantic weight of each core term, its term type, and the merging of synonyms or near-synonyms. Recording this information provides a clear data source for generating search semantic vectors and also facilitates the querying and referencing of core term information during subsequent processing. The establishment of the semantic weight table makes the management of core term information more standardized and orderly.
[0081] Step S125: Based on core terms, the relationships between core terms, and the semantic weights of core terms, generate a search semantic vector. Each dimension of the search semantic vector corresponds to a core term, the dimension value is the semantic weight, and the vector also contains relationship identifiers to record the relationship types between terms.
[0082] After identifying core terms, analyzing relationships, and determining semantic weights, a search semantic vector can be generated. The search semantic vector is a multi-dimensional vector, where each dimension corresponds to a core term. The value of each dimension is the semantic weight of that core term, reflecting its importance in the user's search intent. In addition to core terms and semantic weights, the search semantic vector also contains relationship identifiers. These identifiers record the types of relationships between core terms, such as causal relationships and parallel relationships. Relationship identifiers help the computer understand the inherent logical connections between core terms, thus enabling more accurate semantic matching. By generating the search semantic vector, the user's natural language search intent is transformed into a mathematical vector form that the computer can process.
[0083] Step S130: Call the node term set and edge association strength information in the semantic association network of blood disease medical records, map the core terms of the search semantic vector to the node term set, calculate the matching degree between the node and the search semantic vector, filter according to the matching degree to form a set of matching medical record text units, and obtain dynamic semantic matching results.
[0084] After generating the search semantic vector, this vector needs to be used for dynamic semantic matching within the constructed hematological disease medical record semantic association network. Specifically, this involves accessing the terminology sets of nodes and the edge association strength information within the network. The core terms in the search semantic vector are mapped to the terminology sets of each node in the network; that is, it's checked whether the node's terminology set contains the core terms from the search semantic vector. For nodes with a mapping relationship, the matching degree between the node and the search semantic vector is calculated. The matching degree is an indicator that measures the relevance between a node (medical record text unit) and the user's search intent (search semantic vector). After calculation, nodes are filtered according to their matching degree to form a set of matched medical record text units. This set of matched medical record text units is the dynamic semantic matching result.
[0085] Step S131: Extract core terms and their corresponding semantic weights from the search semantic vector, and sort them according to their semantic weights to form a core term sequence.
[0086] During dynamic semantic matching, core terms and their corresponding semantic weights are first extracted from the search semantic vector. Core terms are the core components of the search semantic vector, representing key concepts in the user's search intent; semantic weights reflect the importance of each core term. After extraction, the core terms are sorted according to their semantic weights, forming a core term sequence. Core terms with higher semantic weights appear earlier in the sequence. The formation of this core term sequence allows for prioritizing important core terms during subsequent node mapping and matching degree calculations, improving matching efficiency and accuracy.
[0087] Step S132: Invoke the semantic association network of blood disease medical records, traverse all nodes in the network, each node corresponds to a medical record text unit, and check whether the term set of each node contains terms in the core term sequence.
[0088] After extracting the core term sequence, the semantic association network for blood disease medical records is invoked. All nodes in this network are traversed, each corresponding to a medical record text unit. For each node, it is checked whether its labeled term set contains terms from the core term sequence. This check is performed node-by-node and term-by-term to ensure that no node potentially containing core terms is missed. Through this check, medical record text unit nodes that may be relevant to the user's search intent can be preliminarily identified, narrowing the scope for subsequent matching degree calculations.
[0089] Step S133: For nodes containing core terms, calculate the matching degree between the node and the search semantic vector.
[0090] After examining and filtering out nodes containing terms from the core terminology sequence, it's necessary to calculate the matching degree between these nodes and the search semantic vector. Calculating the matching degree is a complex process that requires considering multiple factors, including the number of core terms in the node's terminology set, the semantic weight of the core terms, the co-occurrence of core terms in the node's terminology set, and the strength of the node's association with other relevant nodes. By combining these factors and following specific calculation rules, the matching degree between the node and the search semantic vector is determined. A higher matching degree indicates a greater relevance between the medical record text unit represented by the node and the user's search intent.
[0091] Step S1331: For nodes containing core terms, count the number of terms in the node's term set that belong to the core term sequence, and calculate the ratio of the number of such terms to the total number of core term sequences.
[0092] The first step in calculating the matching degree between a node and the search semantic vector is to count the number of terms in the node's term set that belong to the core term sequence. The core term sequence is a list of core terms sorted by semantic weight. The goal is to count how many core terms from this sequence are included in the node's term set. Then, the ratio of this number to the total number of core term sequences is calculated. This ratio reflects the degree to which the node's term set covers the core term sequence; a higher ratio indicates that the node contains more core terms and has a greater potential relevance to the search semantic vector. For example, if the core term sequence has a total of 5 terms, and the node's term set contains 3, then the ratio is 3 / 5.
[0093] Step S1332: Determine the paragraphs in which the core terms appear in the medical record text units corresponding to the nodes, and assign corresponding paragraph contributions to each core term based on the paragraphs in which they appear.
[0094] The paragraphs in which core terms appear in medical record text units also affect the matching accuracy. Different paragraphs have different levels of importance in medical record text; for example, the diagnostic conclusion paragraph is usually more important than the symptom description paragraph. The paragraphs in which each core term appears in the corresponding medical record text unit of a node are determined, and then a corresponding paragraph contribution value is assigned to each paragraph according to preset rules. For example, the paragraph contribution value for the diagnostic conclusion paragraph can be set to a high value, the symptom description paragraph to a medium value, and the examination indicator data paragraph to a low value. Each core term receives a corresponding paragraph contribution based on the paragraphs in which it appears. The paragraph contributions of the same core term appearing in multiple paragraphs are added together to obtain the total paragraph contribution for that core term.
[0095] Step S1333: Calculate the total paragraph contribution of all core terms of the node, extract the edge association strength between the node and other nodes containing terms in the core term sequence, and calculate the average edge association strength between the node and other nodes containing terms in the core term sequence.
[0096] The total contribution of all core terms within a given node is calculated, reflecting the overall importance of the core terms within the medical record text unit. Simultaneously, the edge association strengths between this node and other nodes in the network containing terms from the core term sequence are extracted. These edge association strengths reflect the semantic closeness of the node's connection with other relevant nodes. The mean of these edge association strengths is calculated to obtain the average association strength between this node and its related nodes. A higher average association strength indicates a closer connection between this node and other relevant nodes in the semantic association network, and potentially higher importance and relevance.
[0097] Step S1334: Set the integration logic of quantity ratio, paragraph contribution sum, and edge association strength mean, and calculate the basic matching degree between the node and the search semantic vector according to the integration logic.
[0098] After obtaining the quantity ratio, the sum of paragraph contributions, and the average edge association strength, it is necessary to set an integration logic for these three factors to calculate the basic matching degree between the node and the search semantic vector. The integration logic can be a weighted sum of these three factors according to certain weights, or it can be another more complex combination. For example, the quantity ratio can be multiplied by one weight coefficient, the sum of paragraph contributions by another weight coefficient, and the average edge association strength by a third weight coefficient. These three products can then be added together to obtain the basic matching degree. Through this integration method, the coverage of core terms, positional importance, and the tightness of node associations can be comprehensively considered to obtain a more comprehensive basic matching degree.
[0099] Step S1335: Extract the top K terms from the core term sequence, sorted by semantic weight, and check whether the term set of the current node contains the K terms. If it does, count the number of times the term appears in the term set of the node. If the number of appearances meets the set conditions, add supplementary contribution to the basic matching degree.
[0100] To highlight the impact of key terms on matching accuracy, the top K terms (K being a pre-defined positive integer) in the key term sequence are extracted and sorted by semantic weight. The term set of the current node is checked to see if these K key terms are present. If so, the frequency of each key term in the node's term set is counted. If the frequency meets a set condition (e.g., greater than or equal to a certain threshold), a supplementary contribution is added to the basic matching accuracy. The size of the supplementary contribution is determined by the frequency of occurrence; the more frequent the occurrence, the larger the supplementary contribution. By adding supplementary contributions, the influence weight of key terms on matching accuracy is increased, making the matching results more aligned with the user's search intent.
[0101] Step S1336: Analyze the first association type between core terms in the search semantic vector, and extract the second association type between core terms in the current node term set.
[0102] There are first-type association relationships among the core terms in the search semantic vector, determined when parsing the user's search intent. Simultaneously, there are second-type association relationships among the core terms in the current node's term set, determined based on term co-occurrence and logical relationships within the medical record text units. Analyzing and extracting these two types of association relationships is crucial for determining the semantic matching degree between the node and the search semantic vector. If the two types of association relationships are consistent or similar, it indicates that the node's semantic structure matches the semantic structure of the user's search intent, suggesting a higher degree of matching.
[0103] Step S1337: Compare the first association type and the second association type. If the first association type and the second association type are the same, add an additional supplementary contribution to the basic matching degree.
[0104] The first association type between core terms in the search semantic vector is compared with the second association type between core terms in the current node's term set. If the two association types are consistent, such as both being causal or parallel relationships, it indicates that the node's semantic structure highly matches the user's search intent. In this case, an additional supplementary contribution is added to the basic matching score. The magnitude of the additional supplementary contribution can be set according to the importance of the association type. By adding an additional supplementary contribution, the accuracy of the matching score calculation can be further improved, allowing nodes that semantically match the search intent to obtain higher matching scores.
[0105] Step S1338: Combine the basic matching degree, supplementary contribution, and additional supplementary contribution to obtain the final matching degree between the node and the search semantic vector. Associate the final matching degree with the node identifier and store it to form a node matching degree list.
[0106] After calculating the basic matching score, supplementary contribution, and additional supplementary contribution, these three are combined to obtain the final matching score between the node and the search semantic vector. This combination can be achieved by directly adding the three together, or by performing a weighted summation according to certain weights. For example, the basic matching score can be added to the supplementary contribution and the additional supplementary contribution to obtain the final matching score. The final matching score is then associated with and stored with the corresponding node identifier, forming a node matching score list. The node matching score list is sorted according to the magnitude of the final matching score.
[0107] Step S134: Sort all nodes containing core terms by matching degree, set matching judgment conditions, and filter nodes whose matching degree meets the matching judgment conditions to form a preliminary set of matched medical record text units.
[0108] After calculating the matching degree of all nodes containing core terms, these nodes are sorted according to their matching degree, typically from highest to lowest. Then, matching criteria are set; these criteria can be a matching degree threshold or a node count threshold. For example, nodes with a matching degree greater than or equal to a certain threshold can be considered as meeting the criteria, or a certain number of nodes with the highest matching degree can be selected as meeting the criteria. Based on the set matching criteria, nodes that meet the criteria are filtered from the sorted nodes, forming a preliminary set of matched medical record text units. This preliminary set of matched medical record text units contains medical record text units that are relatively relevant to the user's search intent, but may require further optimization and adjustment.
[0109] Step S135: Check the relationship between nodes in the preliminary matching medical record text unit set, and group nodes that are directly related by edges and whose relationship strength meets the set conditions into the same matching group. Within each matching group, sort by matching degree.
[0110] After forming a preliminary set of matched medical record text units, it is necessary to examine the relationships between the nodes in the set. In the semantic association network of hematological disease medical records, nodes are connected by edges, and the strength of the edge association reflects the degree of semantic association between nodes. Examine the nodes in the preliminary set of matched medical record text units to identify those nodes that are directly associated by edges and whose association strength meets the set conditions. These nodes are grouped into the same matching group. Nodes within the same matching group have strong semantic associations and may collectively reflect a certain aspect of the user's search intent. Within each matching group, nodes are still sorted according to their matching degree so that users can quickly find the most relevant medical record text units within the group. Through grouping, the preliminary matching results can be further organized, improving the readability and usability of the search results.
[0111] Step S136: If the number of nodes in the initial matching medical record text unit set exceeds the upper limit of the set range, filter again according to the matching degree to retain nodes that meet the conditions; if the number of nodes is lower than the lower limit of the set range, expand the traversal range to include nodes whose association strength meets another set condition.
[0112] After the initial set of matched medical record text units is formed, it's necessary to check if the number of nodes in the set is within a reasonable range. If the number of nodes exceeds the upper limit of the set range, it indicates that there are too many initial matching results, which may cause information overload for users. In this case, it's necessary to filter again according to the matching degree, retaining nodes with higher matching degrees to keep the number of nodes within the upper limit of the set range. If the number of nodes is below the lower limit of the set range, it indicates that there are too few initial matching results, which may not meet the user's search needs. In this case, it's necessary to expand the traversal range to include nodes that are associated with the initially matched nodes through edges and whose association strength meets another set condition (such as nodes with slightly lower association strength but still some association), in order to increase the number of matching results. Through the above dynamic adjustment, the number of nodes in the set of matched medical record text units can be kept within a reasonable range, ensuring both the relevance of the search results and meeting the user's information needs.
[0113] Step S137: Integrate the finally filtered nodes and their corresponding relationship information to form a dynamic semantic matching result, which includes a list of matched medical record text units and information on the strength of the association between units.
[0114] After the above filtering, grouping, and quantity adjustment, the final filtered nodes are obtained. These nodes and their corresponding relationship information are integrated to form a dynamic semantic matching result. The dynamic semantic matching result includes a list of matched medical record text units, which are organized according to certain rules (such as sorting by matching degree or matching group). Simultaneously, the result also includes information on the strength of association between units, which demonstrates the closeness of the semantic connection between the matched medical record text units. By integrating the final filtered nodes and relationship information, the resulting dynamic semantic matching result provides users with comprehensive, relevant, and clearly structured information on medical record text units.
[0115] Step S140: Generate hierarchical search results based on dynamic semantic matching results. Divide the set of matched medical record text units into symptom matching layer, diagnosis matching layer, treatment matching layer, and examination indicator matching layer according to the matching dimension. Within each layer, sort the medical record text units according to the matching degree. Generate semantic association explanations based on term co-occurrence and unit association for each layer and mark the association relationship between each layer based on co-occurring terms.
[0116] After obtaining the dynamic semantic matching results, hierarchical search results need to be generated. The generation of hierarchical search results aims to organize the matched medical record text units according to different matching dimensions, enabling users to more clearly understand and obtain the information they need. Matching dimensions include four aspects: symptoms, diagnosis, treatment, and examination indicators. Based on this, the set of matched medical record text units is divided into symptom matching layer, diagnosis matching layer, treatment matching layer, and examination indicator matching layer. Within each matching layer, medical record text units are sorted according to their matching degree, allowing users to prioritize viewing the most relevant content. Simultaneously, a semantic association explanation based on term co-occurrence and unit association is generated for each matching layer, explaining the reason for the association between the medical record text units in that layer and the search intent. Furthermore, it is necessary to annotate the association relationships between layers based on co-occurring terms, demonstrating the inherent connections between matching results of different dimensions. By generating hierarchical search results, users can be provided with more structured, organized, and easy-to-understand search results, improving the user's search experience.
[0117] Step S141: Extract the set of matching medical record text units from the dynamic semantic matching results, and obtain the term set and matching degree of each medical record text unit.
[0118] The dynamic semantic matching results contain a filtered and integrated list of matched medical record text units and their related information. After extracting this set, the terminology set and matching degree of each medical record text unit are obtained. The terminology set is the core information of the medical record text unit, containing various terms such as symptoms, diagnosis, treatment, and examination indicators; the matching degree reflects the degree of relevance between the medical record text unit and the search semantic vector.
[0119] Step S142: Divide the matching medical record text unit sets according to the matching dimension. The symptom matching layer contains medical record text units in the terminology set that contain the core terms of the symptom category with search semantic vectors. The diagnosis matching layer contains medical record text units in the terminology set that contain the core terms of the diagnosis category with search semantic vectors. The treatment matching layer contains medical record text units in the terminology set that contain the core terms of the treatment category with search semantic vectors. The examination indicator matching layer contains medical record text units in the terminology set that contain the core terms of the examination indicator category with search semantic vectors.
[0120] After obtaining the terminology set and matching degree of each unit in the set of matched medical record text units, the set is divided according to matching dimensions. Matching dimensions are divided into four categories: symptoms, diagnosis, treatment, and examination indicators. The symptom matching layer consists of medical record text units containing core symptom terms in the search semantic vector; the diagnosis matching layer consists of medical record text units containing core diagnostic terms; the treatment matching layer consists of medical record text units containing core treatment terms; and the examination indicator matching layer consists of medical record text units containing core examination indicator terms. A medical record text unit may belong to multiple matching layers simultaneously. For example, a medical record text unit may contain both core symptom and core diagnostic terms, thus belonging to both the symptom and diagnosis matching layers. By dividing according to matching dimensions, matched medical record text units can be categorized and displayed according to different aspects of the user's search intent.
[0121] Step S143: Sort the medical record text units within each matching layer by matching degree.
[0122] After dividing the set of matched medical record text units into hierarchical layers, the medical record text units within each matching layer are sorted according to their matching degree. The sorting method is typically from highest to lowest, meaning the medical record text unit with the highest matching degree is placed at the beginning of that layer, and the one with the lowest matching degree is placed at the end. By sorting by matching degree, users can quickly find the medical record text units most relevant to their search intent within each matching layer, improving the efficiency of users obtaining effective information.
[0123] Step S144: Generate a semantic association explanation for each matching layer. The explanation includes the paragraphs in which the core terms appear in the medical record text units of that layer, the co-occurrence of the core terms with other terms, and the basis for determining the association strength between medical record text units within the layer.
[0124] To help users understand the connection between medical record text units in each matching layer and their search intent, a semantic association explanation needs to be generated for each matching layer. The semantic association explanation should include several aspects: First, it should describe the paragraphs in which the core terms appear within the medical record text units of that layer, allowing users to understand the location of the core terms in the medical record text; second, it should describe the co-occurrence of the core terms with other terms, demonstrating the semantic environment of the core terms in the medical record text; finally, it should explain the basis for determining the strength of the association between medical record text units within the explanation layer, such as co-occurrence frequency and logical relationships. By providing detailed semantic association explanations, the transparency and credibility of search results can be enhanced, enabling users to better understand and utilize the search results.
[0125] Step S145: Extract the term set of each medical record text unit in the symptom matching layer, extract the term set of each medical record text unit in the diagnosis matching layer, and integrate all inter-layer relationships and annotation methods by comparing the two term sets to form an inter-layer relationship graph. The inter-layer relationship graph is then integrated into the display structure of the hierarchical search results.
[0126] To demonstrate the inherent connections between different matching layers, it is necessary to extract the terminology set of each medical record text unit in the symptom matching layer and the diagnosis matching layer. The terminology set of the symptom matching layer mainly contains symptom-related terms, while the terminology set of the diagnosis matching layer mainly contains diagnostic-related terms. By comparing the terminology sets of these two matching layers, co-occurring terms are identified. These co-occurring terms act as a bridge connecting the symptom matching layer and the diagnosis matching layer, indicating a correlation between certain symptoms and specific diagnoses. All inter-layer correlations and annotation methods are integrated to form an inter-layer correlation graph. The inter-layer correlation graph visually displays the relationships established between different matching layers through co-occurring terms. This inter-layer correlation graph is integrated into the hierarchical search results display structure, allowing users to intuitively understand the connections between matching results across different dimensions, thus aiding in deeper analysis and judgment.
[0127] For example, step S1451: extract the term set of each medical record text unit in the symptom matching layer and label it as the symptom layer term set; and extract the term set of each medical record text unit in the diagnosis matching layer and label it as the diagnosis layer term set.
[0128] When generating the inter-layer association map, the terminology sets of the symptom matching layer and the diagnosis matching layer need to be extracted first. For each medical record text unit in the symptom matching layer, its terminology set is extracted and labeled as the symptom layer terminology set; similarly, for each medical record text unit in the diagnosis matching layer, its terminology set is extracted and labeled as the diagnosis layer terminology set. Through this labeling, the terminology sets of different matching layers can be clearly distinguished, preparing for subsequent comparative analysis.
[0129] Step S1452: For each symptom-level term set, compare it one by one with all diagnostic-level term sets to check if there are any co-occurring terms that belong to both the symptom-level term set and the diagnostic-level term set.
[0130] After extracting and labeling the terminology sets for the symptom layer and the diagnosis layer, each symptom layer terminology set is compared one by one with all diagnosis layer terminology sets. The purpose of this comparison is to check for co-occurring terms that belong to both the symptom layer and the diagnosis layer terminology sets. Co-occurring terms are key to connecting different matching layers; their existence indicates a semantic relationship between symptoms and diagnoses. By comparing them one by one, all possible co-occurring terms can be comprehensively identified, ensuring the integrity of the inter-layer relationships.
[0131] Step S1453: If any set of terms in the symptom layer and any set of terms in the diagnosis layer have at least one co-occurring term, record the medical record text unit identifier of the symptom matching layer, the medical record text unit identifier of the diagnosis matching layer, and the co-occurring term, and mark that the symptom matching layer and the diagnosis matching layer are associated through the co-occurring term.
[0132] If, during the comparison process, at least one co-occurring term is found between any symptom-level term set and any diagnostic-level term set, the relevant information needs to be recorded. This includes the identifiers of the medical record text units in the symptom-matching layer and the diagnostic-matching layer, as well as the co-occurring term. Simultaneously, the association established between the symptom-matching layer and the diagnostic-matching layer through this co-occurring term is indicated. Through the above recording and annotation, the specific association between the symptom-matching layer and the diagnostic-matching layer can be clearly reflected.
[0133] Step S1454: Extract the term set of each medical record text unit in the treatment matching layer and mark it as the treatment layer term set. For each diagnosis layer term set, compare it one by one with all treatment layer term sets to check whether there are co-occurring terms that belong to both the diagnosis layer term set and the treatment layer term set.
[0134] In addition to the association between the symptom matching layer and the diagnosis matching layer, there may also be an association between the diagnosis matching layer and the treatment matching layer. The terminology set of each medical record text unit in the treatment matching layer is extracted and labeled as the treatment layer terminology set. Then, each diagnosis layer terminology set is compared one by one with all treatment layer terminology sets to check for co-occurring terms that belong to both the diagnosis and treatment layer terminology sets. These co-occurring terms indicate an association between a specific diagnosis and the corresponding treatment measure.
[0135] Step S1455: If any diagnostic layer term set and any treatment layer term set have at least one co-occurring term, record the medical record text unit identifier of the diagnostic matching layer, the medical record text unit identifier of the treatment matching layer, and the co-occurring term, and mark that the diagnostic matching layer and the treatment matching layer are associated through the co-occurring term.
[0136] If co-occurring terms exist between the diagnostic layer terminology set and the treatment layer terminology set, the identifiers of the medical record text units in the diagnostic matching layer and the treatment matching layer, along with the co-occurring terms, are recorded. The association between the diagnostic matching layer and the treatment matching layer is then marked based on these co-occurring terms. Through these operations, the relationship between diagnosis and treatment can be captured, enriching the content of the inter-layer association graph.
[0137] Step S1456: Extract the term set of each medical record text unit in the inspection index matching layer and mark it as the inspection layer term set; for each diagnostic layer term set, compare it one by one with all inspection layer term sets to check whether there are co-occurring terms that belong to both the diagnostic layer term set and the inspection layer term set.
[0138] The relationship between the diagnostic matching layer and the examination indicator matching layer is equally important. The terminology set of each medical record text unit in the examination indicator matching layer is extracted and labeled as the examination layer terminology set. Each diagnostic layer terminology set is then compared one by one with all examination layer terminology sets to check for co-occurring terms. Co-occurring terms reflect the relationship between the diagnosis and the examination indicators.
[0139] Step S1457: If any diagnostic layer term set and any examination layer term set have at least one co-occurring term, record the medical record text unit identifier of the diagnostic matching layer, the medical record text unit identifier of the examination indicator matching layer, and the co-occurring term, and mark that the diagnostic matching layer and the examination indicator matching layer establish a connection through the co-occurring term.
[0140] When co-occurring terms exist between the diagnostic terminology set and the examination terminology set, the relevant medical record text unit identifiers and co-occurring terms are recorded, and the association between the diagnostic matching layer and the examination indicator matching layer is marked. In this way, diagnoses and examination indicators are linked, further refining the inter-layer association graph.
[0141] Step S1458: Statistically record the relationship between each layer. For relationships with multiple co-occurring terms, prioritize marking the co-occurring terms that appear more frequently than the set frequency in the medical record text unit.
[0142] When analyzing the records of relationships between different layers, it may be found that some relationships involve multiple co-occurring terms. To make the inter-layer relationship map clearer and more targeted, for relationships with multiple co-occurring terms, priority should be given to marking co-occurring terms that appear more frequently than a set frequency in the medical record text units. High-frequency co-occurring terms usually represent stronger semantic connections, and prioritizing the marking of these terms can highlight important relationships.
[0143] Step S1459: Construct a display format for inter-layer association annotations, using association tags to connect related medical record text units, and annotating co-occurring terms on the association tags; integrate all inter-layer association relationships and annotation methods to form an inter-layer association graph, and integrate the inter-layer association graph into the display structure of hierarchical search results.
[0144] After determining the inter-layer relationships and prioritizing co-occurring terms, a display format for inter-layer relationship annotations is constructed. Relationship markers (such as lines and arrows) are used to connect related medical record text units, and co-occurring terms are annotated on these markers to make the relationships immediately clear. All inter-layer relationships and annotation methods are integrated to form a complete inter-layer relationship graph. Finally, this inter-layer relationship graph is incorporated into the hierarchical search results display structure, presented to the user along with the list of medical record text units and semantic relationship explanations for each matching layer. Through the inter-layer relationship graph, users can intuitively see the connections between different matching layers, helping them understand the search results holistically.
[0145] Step S146: Construct a display structure for the hierarchical search results. Each matching layer is displayed independently and includes a layer name, a list of sorted medical record text units, and a semantic association explanation. The relationship between layers is reflected through association identifiers.
[0146] Generating a hierarchical search result display structure is a crucial step in presenting information from each matching layer in a user-friendly manner. The display structure design should ensure that each matching layer can be displayed independently, avoiding information confusion. The content displayed for each matching layer should include the layer name (e.g., "Symptom Matching Layer," "Diagnosis Matching Layer," etc.), a sorted list of medical record text units (arranged from highest to lowest match score), and a semantic explanation of the layer's associations. Inter-layer relationships are indicated by adding association markers to the display structure, such as drawing lines or arrows between related medical record text units and annotating co-occurring terms. By constructing this display structure, hierarchical search results become clear, easy to browse, and improve the user experience.
[0147] Step S147: If any medical record text unit belongs to multiple matching layers at the same time, mark the names of all matching layers to which the medical record text unit belongs next to the medical record text unit, and highlight the cross-layer association of the medical record text unit in the inter-layer association identifier.
[0148] When categorizing matching medical record text units by matching dimension, a single unit may belong to multiple matching layers. To prevent users from repeatedly viewing the same unit across different matching layers, and to highlight its importance, the names of all its matching layers are labeled next to the unit. For example, if a unit belongs to both the symptom matching layer and the diagnosis matching layer, it is labeled "Symptom Matching Layer, Diagnosis Matching Layer." Furthermore, cross-layer related medical record text units are highlighted in the inter-layer association identifiers, such as using different colored association markers or bolding co-occurring terms. These measures increase user attention to cross-layer related medical record text units, helping them better understand the overall structure of the search results.
[0149] Step S148: Add a filtering function to the hierarchical search results. The filtering conditions are set based on the terminology type and matching range of each medical record text unit.
[0150] To further improve the usability of tiered search results, filtering functionality needs to be added. This filtering feature allows users to further refine search results based on their specific needs. Filter criteria are set based on the terminology type and matching range of each tier of medical record text units. For example, users can choose to display only medical record text units containing specific symptom terms, or only those with a matching range. Adding filtering functionality makes search results more personalized and precise, meeting the diverse needs of different users.
[0151] Step S149: Integrate the displayed content, semantic association explanation, inter-layer association identifier, and filtering function of each matching layer to form a hierarchical search result.
[0152] The above-mentioned content is integrated, including the display content of each matching layer (layer name, list of medical record text units), semantic association explanation, inter-layer association identifiers, and filtering functions. This integration forms a complete hierarchical search result. This hierarchical search result not only includes medical record text units categorized by matching dimensions, but also provides semantic association explanations, inter-layer association graphs, and filtering tools, offering users comprehensive, detailed, and easy-to-use search results.
[0153] Step S150: Optimize the semantic association network of blood disease medical records based on user access behavior feedback of hierarchical search results, record the user's clicks, dwell time, and secondary search triggers for each layer of medical record text unit, and adjust the association priority of corresponding nodes, the association strength and weight of edges between nodes according to the access behavior.
[0154] To continuously improve the performance and search result quality of the semantic association network for hematological disease medical records, optimization based on user feedback on hierarchical search results is necessary. User behavior contains rich information, such as clicks on each level of medical record text unit, dwell time after clicking, and whether secondary searches are triggered. This feedback reflects user satisfaction with search results and their actual needs. Based on this access behavior data, adjustments are made to the semantic association network for hematological disease medical records: adjusting the association priority of corresponding nodes so that nodes with high user interest are prioritized for matching in subsequent searches; adjusting the association strength and weight of edges between nodes so that the semantic relationships of the network better align with users' actual usage habits. Through continuous feedback optimization, the semantic association network can evolve, improving the accuracy of semantic search and user satisfaction.
[0155] Step S151: Activate the access behavior recording module to record the user's access behavior data for hierarchical search results. The data includes the identifier of the medical record text unit clicked by the user, the dwell time after clicking, whether a secondary search is triggered, and the text content of the secondary search.
[0156] The access behavior recording module is specifically designed to record user access behavior data for hierarchical search results. The recorded data should be comprehensive and detailed, including the identifier of the medical record text unit clicked by the user (used to identify the specific medical record the user is interested in), the dwell time after clicking (such as the dwell time, reflecting the user's level of interest in the medical record), whether a secondary search was triggered (if the user is not satisfied with the current search results, they may conduct a secondary search), and the text content of the secondary search (reflecting the user's adjusted search intent).
[0157] Step S152: Analyze the click data in the access behavior data, and adjust the association priority of the node corresponding to the medical record text unit whose click data meets the set trigger conditions in the semantic association network of blood disease medical records, so that the node will be traversed first in the subsequent dynamic semantic matching.
[0158] Analyze click patterns in the access behavior data. Set specific trigger conditions, such as the number of clicks on a medical record text unit exceeding a set threshold, or a high click frequency within a specific time period. For nodes corresponding to medical record text units whose click patterns meet the set trigger conditions, adjust the association priority of those nodes in the hematological disease medical record semantic association network. An increased association priority means that the node will be traversed and considered more frequently in subsequent dynamic semantic matching processes, thereby increasing its probability of being matched and allowing it to appear earlier in search results. By adjusting the association priority, the network can better adapt to user click preferences, improving the relevance of search results.
[0159] Step S153: Analyze the dwell time in the access behavior data. For the nodes corresponding to the medical record text units whose dwell time meets the set trigger conditions, adjust the association strength between the nodes and other related nodes. Related nodes are nodes that have a semantic relationship with the node.
[0160] The duration of a user's stay on a clicked medical record text unit reflects their level of interest in that medical record. Analyzing the dwell time in access behavior data allows for the setting of trigger conditions, such as dwell time exceeding a set threshold. For medical record text units whose dwell time meets the set trigger conditions, the strength of the edges connecting that node to other relevant nodes is adjusted. Relevant nodes are nodes that have a semantic relationship with the current node, i.e., nodes directly connected by edges. If a user spends a long time on a particular node, it indicates that the user may be interested in that node and its related content. In this case, the strength of the edges connecting that node to relevant nodes can be appropriately increased, ensuring that the relevant nodes receive higher attention in subsequent searches. Conversely, if the dwell time is short, the strength of the edges can be appropriately decreased. By adjusting the strength of the edges, the semantic relationship structure between nodes in the network can be optimized, making search results more aligned with user interests.
[0161] Step S154: Analyze the secondary search triggering situation in the access behavior data. If a user clicks on a medical record text unit and triggers a secondary search, and the secondary search text contains any term of the medical record text unit, adjust the weight of the edge between the node to which the term belongs and the node containing other terms of the secondary search text.
[0162] Secondary search triggering reflects a user's level of dissatisfaction with the current search results and their adjusted search intent. Analyzing secondary search triggering data in access behavior data reveals that if a user triggers a secondary search after clicking on a medical record text unit, and the secondary search text contains any term from that medical record text unit, then the weights of the edges between relevant nodes need to be adjusted. Specifically, the weights of the edges between the node containing that term (i.e., the node corresponding to the medical record text unit clicked by the user) and nodes containing other terms from the secondary search text are adjusted. If other terms in the secondary search text have a semantic connection with that term, the weights of these edges are increased to strengthen the association; otherwise, the weights are decreased. Through these adjustments, the semantic association network can better capture the user's potential search intent and related needs, improving the accuracy of subsequent searches.
[0163] Step S155: Analyze user feedback on the same access behavior. If multiple users exhibit the same access behavior to the same medical record text unit, adjust the association priority, association strength, and weight according to the user feedback.
[0164] While individual user behavior may be accidental, identical behavior among multiple users better reflects general needs and preferences. Analyzing user feedback regarding similar behaviors—for example, multiple users clicking the same medical record text unit multiple times, or triggering secondary searches containing specific terms after clicking—is crucial. If multiple users exhibit identical behavior towards the same medical record text unit, the association priority of the node corresponding to that unit, the strength of the edge associations between that node and related nodes, and its weights can be adjusted based on user feedback. The magnitude of these adjustments can be determined based on the intensity of user feedback (e.g., number of users, frequency of behavior). By considering feedback from multiple users, network optimization becomes more objective and comprehensive, improving the universality of the semantic association network.
[0165] Step S156: Formulate association adjustment rules, adjust the node association priority according to the click trigger condition, adjust the association strength of the corresponding edge according to the dwell trigger condition, and adjust the weight of the edge between related nodes according to the secondary search trigger condition.
[0166] To make the network optimization process based on access behavior feedback more standardized and repeatable, it is necessary to formulate clear association adjustment rules. These rules should specifically define the adjustment methods under different access behavior trigger conditions: for clicks, specifying how to adjust the association priority of nodes under what trigger conditions (e.g., number of clicks, click frequency); for dwell times, specifying how to adjust the association strength of corresponding edges under what dwell conditions (e.g., dwell time, dwell frequency); and for secondary searches, specifying how to adjust the weights of edges between related nodes under what secondary search text conditions. By formulating association adjustment rules, we can ensure that network optimization operations are systematic and avoid subjective arbitrariness, thereby improving the stability and reliability of optimization results.
[0167] Step S157: Execute the optimization operation of the semantic association network of blood disease medical records according to the association adjustment rules, update the association priority parameters of the corresponding nodes, modify the association strength value and weight value of the edges between nodes, and obtain the optimized semantic association network of blood disease medical records.
[0168] After establishing the association adjustment rules, optimization operations were performed on the semantic association network of hematological disease medical records according to these rules. Specifically, this included updating the association priority parameters of corresponding nodes to reflect user click preferences; modifying the association strength values of edges between nodes to reflect changes in the tightness of semantic associations between nodes; and adjusting the edge weight values to adapt to users' secondary search intentions. These parameter updates and modifications were based on access behavior data and the association adjustment rules, ensuring the scientific and rational nature of the optimization operations. After performing the optimization operations, an optimized semantic association network of hematological disease medical records was obtained, which is better able to adapt to user needs and behavioral habits.
[0169] Step S158: Verify the optimized semantic association network of blood disease medical records by testing the dynamic semantic matching efficiency and accuracy of the semantic association network of blood disease medical records through simulated search requests.
[0170] The optimized semantic association network for hematological disease medical records needs to be validated to ensure that its performance has truly improved. Validation can be performed by simulating search requests, i.e., testing the optimized network with a series of pre-designed search requests. Tests should include the efficiency (e.g., response time, number of nodes traversed) and accuracy (e.g., relevance of matching results to search requests, reasonableness of matching degree ranking). The effectiveness of the optimization operation should be evaluated by comparing the network performance with that before optimization. If the validation results show a significant improvement in efficiency and accuracy, the optimization operation is considered successful; if problems exist, further optimization is needed by re-analyzing access behavior data and re-adjusting association rules.
[0171] Step S159: Record the data source of each optimized access behavior, the identifiers of the adjusted nodes and edges, and the parameter values before and after the adjustment to form a network optimization record. The network optimization record is bound and stored with the corresponding search semantic vector and hierarchical search results.
[0172] To facilitate the tracking and analysis of the network optimization process, detailed information for each optimization needs to be recorded. The record should include the source of the access behavior data upon which the optimization was based (such as specific user access time periods, user groups, etc.), the identifiers of the nodes and edges adjusted in this optimization (clearly identifying which nodes and edges were modified), and the parameter values before and after the adjustment (such as specific changes in association priority, association strength, weight, etc.). This information should be integrated to form a network optimization record, which should then be bound and stored with the corresponding search semantic vector and hierarchical search results.
[0173] Step S1510: Deploy the optimized semantic association network of blood disease medical records to the semantic search system.
[0174] After verifying and recording the optimized semantic association network for hematological disease medical records, it was deployed to the semantic search system. The deployment process included loading the optimized network data into the semantic search system's runtime environment, configuring relevant parameters and interfaces, and ensuring the network could properly receive and process user search requests. Once deployed, the semantic search system will use the optimized network for dynamic semantic matching and hierarchical search result generation, providing users with more accurate and efficient semantic search services. Network deployment is a crucial step in putting the optimization results into practice, marking the completion of this network optimization process.
[0175] During the extraction of medical record text units and terms, sensitive data such as basic patient information is involved. Data anonymization techniques are used to process this sensitive data. Specifically, information such as patient names, ID numbers, and contact information are anonymized and replaced, and sensitive descriptions involving specific patient conditions are blurred. This ensures that patient privacy data is not leaked without affecting the accuracy of terminology extraction.
[0176] The processing of large-scale medical records for hematological diseases involves a significant amount of sensitive patient data, such as patient names, ID numbers, contact information, and other personal identification details, as well as sensitive descriptions related to specific patient conditions. To protect patient privacy and data security, effective privacy protection and data leakage prevention technologies must be implemented. Data anonymization is a commonly used privacy protection method that processes sensitive data to prevent identification of specific individuals. Specific operations include anonymizing patient names, ID numbers, and contact information, such as replacing real names and ID numbers with randomly generated identifiers; and obfuscating sensitive descriptions related to specific patient conditions, such as changing specific home addresses to "a certain city." During data anonymization, it is crucial to ensure that the process does not affect the accuracy of terminology extraction, meaning it does not alter the completeness and correctness of symptom, diagnostic, treatment, and examination indicator terms in the medical record text. By employing data anonymization technology, it is possible to effectively utilize medical record data for semantic search while protecting patients' sensitive data from leakage, complying with relevant laws, regulations, and ethical requirements.
[0177] Figure 2 The illustration shows exemplary hardware and software components of a semantic search system 100 for large-scale medical records of blood diseases, which can implement the ideas of this application, according to some embodiments of this application. For example, processor 120 can be used in the semantic search system 100 for large-scale medical records of blood diseases and to perform the functions in this application.
[0178] For example, a semantic search system 100 for large-scale medical records of blood diseases may include a network port 110 connected to a network, one or more processors 120 for executing program instructions, a communication bus 130, and various forms of storage media 140, such as a disk, ROM, or RAM, or any combination thereof. Exemplarily, the semantic search system 100 for large-scale medical records of blood diseases may also include program instructions stored in ROM, RAM, or other types of non-transitory storage media, or any combination thereof. The methods of this application can be implemented according to these program instructions. The semantic search system 100 for large-scale medical records of blood diseases also includes an I / O interface 150 between the computer and other input / output devices.
[0179] Furthermore, this embodiment of the invention also provides a readable storage medium, wherein computer-executable instructions are preset in the readable storage medium, and when the processor executes the computer-executable instructions, the semantic search method for big data of blood disease medical records as described above is implemented.
[0180] It should be noted that, in order to simplify the description of the present invention and thus help to understand one or more embodiments of the invention, multiple features may sometimes be grouped into one embodiment, drawing or description thereof in the foregoing description of the embodiments of the present invention.
Claims
1.A semantic search method for blood disease medical record big data, characterized in that, The method comprises: constructing a blood disease medical record semantic association network, the blood disease medical record semantic association network taking medical record text units in blood disease medical record big data as nodes, and taking semantic association relationships between the medical record text units as edges, the semantic association relationships being determined based on co-occurrence relationships and logical association relationships of symptom terms, diagnosis terms, treatment terms, and examination index terms in the medical record text units, each node being labeled with a complete term set of a corresponding medical record text unit, and each edge being labeled with association strength information; analyzing a user search intent to generate a search semantic vector containing a term dimension, an association relationship identifier, and a semantic weight, the user search intent containing blood disease-related symptom descriptions, diagnosis requirements, treatment scheme queries, and examination index reference contents; calling node term sets and edge association strength information in the blood disease medical record semantic association network, mapping core terms of the search semantic vector to the node term sets, calculating matching degrees of the nodes and the search semantic vector, screening to form a matching medical record text unit set according to the matching degrees, and obtaining a dynamic semantic matching result; generating a hierarchical search result according to the dynamic semantic matching result, dividing the matching medical record text unit set into a symptom matching layer, a diagnosis matching layer, a treatment matching layer, and an examination index matching layer according to matching dimensions, sorting the medical record text units in each layer according to matching degrees, generating a semantic association explanation based on term co-occurrence and unit association for each layer, and labeling association relationships between the layers based on co-occurring terms; optimizing the blood disease medical record semantic association network based on user access behavior feedback to the hierarchical search result, recording click conditions, stay conditions, and secondary search triggering conditions of the user for each layer of medical record text units, and adjusting association priorities of corresponding nodes, association strengths and weights of edges between nodes according to the access behavior. 2.The semantic search method for blood disease medical record big data according to claim 1, wherein, The method comprises: extracting single medical record text units from blood disease medical record big data, each medical record text unit corresponding to a complete blood disease medical record and containing patient basic information, symptom descriptions, diagnosis conclusions, treatment schemes, and examination index data; performing term extraction on the single medical record text units to separate symptom terms, diagnosis terms, treatment terms, and examination index terms, the symptom terms being abnormal body performance description words, the diagnosis terms being disease type and stage identification words, the treatment terms being medication scheme and treatment method words, and the examination index terms being examination item and corresponding result words; counting co-occurrence frequencies of different types of terms in the same medical record text unit, the co-occurrence frequency being the number of times that two or more types of terms appear simultaneously in the same paragraph or adjacent paragraphs, and the semantic association closeness between the terms being determined based on the co-occurrence frequencies; selecting two different medical record text units as a first medical record text unit and a second medical record text unit, and determining a semantic association relationship between the first medical record text unit and the second medical record text unit; taking each medical record text unit as an independent node, and labeling a complete term set composed of the extracted symptom terms, diagnosis terms, treatment terms, and examination index terms in the node; The semantic association relationship between the medical record text units is taken as an edge, the association strength of the edge is determined according to the co-occurrence frequency and the logical association relationship, and the association strength information is labeled on the edge; All nodes and edges are integrated according to the semantic association relationship to form a blood disease medical record semantic association network. 3.The semantic search method for blood disease medical record big data according to claim 1, wherein, The search semantic vector containing the term dimension, the association relationship identifier and the semantic weight is generated by analyzing the user search intention, including: Receiving the search text input by the user, the search text being the query content initiated by the user for the blood disease medical record big data, composed of a literal description and a term keyword; Performing word segmentation processing on the search text, splitting the search text into single word units, removing stop words without actual semantics, and retaining words related to blood diseases; Identifying core terms from the retained words, dividing the core terms into symptom class core terms, diagnosis class core terms, treatment class core terms and examination index class core terms according to the term type, the symptom class core terms corresponding to abnormal body performance word, the diagnosis class core terms corresponding to disease type word, the treatment class core terms corresponding to treatment method word, and the examination index class core terms corresponding to examination item word; Analyzing the association relationship between the core terms to determine the semantic weight of the core terms; Based on the core terms, the association relationship between the core terms and the semantic weight of the core terms, a search semantic vector is generated, each dimension in the search semantic vector corresponding to a core term, and the dimension value being the semantic weight, the vector containing the association relationship identifier to record the association type between the terms. 4.The method for semantic search on blood disease medical record big data according to claim 1, wherein, The node term set and the edge association strength information in the blood disease medical record semantic association network are called to map the core terms of the search semantic vector with the node term set, the matching degree of the node and the search semantic vector is calculated, a matched medical record text unit set is screened according to the matching degree to obtain a dynamic semantic matching result, including: Extracting the core terms and the corresponding semantic weight from the search semantic vector, and forming a core term sequence according to the semantic weight; Calling the blood disease medical record semantic association network, traversing all nodes in the network, each node corresponding to a medical record text unit, checking whether the term set of each node contains the terms in the core term sequence; For the nodes containing the core terms, the matching degree of the node and the search semantic vector is calculated; For all nodes containing the core terms, the matching degree is sorted, the matching judgment condition is set, and the nodes whose matching degree meets the matching judgment condition are screened to form a preliminary matched medical record text unit set; Checking the association relationship between the nodes in the preliminary matched medical record text unit set, grouping the nodes directly associated through the edges and meeting the set condition as a same matching group, and sorting the nodes in each matching group according to the matching degree; If the number of nodes in the preliminary matched medical record text unit set exceeds the upper limit of the set range, the nodes meeting the condition are retained by screening again according to the matching degree; if the number of nodes is lower than the lower limit of the set range, the range of traversal is expanded to include the nodes meeting another set condition in the association strength; The finally screened nodes and the corresponding association relationship information are integrated to form a dynamic semantic matching result, the dynamic semantic matching result containing a matched medical record text unit list and the association strength information between the units. 5.The semantic search method for blood disease medical record big data according to claim 1, wherein, The hierarchical search result is generated according to the dynamic semantic matching result, the matching medical record text unit set is divided into a symptom matching layer, a diagnosis matching layer, a treatment matching layer and an examination index matching layer according to a matching dimension, the medical record text units in each layer are sorted according to a matching degree, a semantic association explanation based on term co-occurrence and unit association is generated for each layer, and an association relationship between layers based on co-occurrence terms is marked, including: The matching medical record text unit set is extracted from the dynamic semantic matching result, a term set of each medical record text unit and a matching degree are obtained; The matching medical record text unit set is divided according to a matching dimension, the symptom matching layer contains medical record text units in which a symptom class core term of a search semantic vector exists in a term set, the diagnosis matching layer contains medical record text units in which a diagnosis class core term of a search semantic vector exists in a term set, the treatment matching layer contains medical record text units in which a treatment class core term of a search semantic vector exists in a term set, and the examination index matching layer contains medical record text units in which an examination index class core term of a search semantic vector exists in a term set; The medical record text units in each matching layer are sorted according to a matching degree; A semantic association explanation is generated for each matching layer, and the explanation content includes an appearance paragraph of a core term in the medical record text unit of the layer, a co-occurrence condition of the core term and other terms, and a determination basis of an association strength between the medical record text units in the layer; The term set of each medical record text unit in the symptom matching layer is extracted, the term set of each medical record text unit in the diagnosis matching layer is extracted, all inter-layer association relationships and marking modes are integrated by comparing the two term sets, an inter-layer association graph is formed, and the inter-layer association graph is integrated into a display structure of the hierarchical search result; A display structure is constructed for the hierarchical search result, each matching layer is independently displayed, includes a layer name, a sorted medical record text unit list and a semantic association explanation, and an inter-layer association relationship is represented by an association identifier; If any medical record text unit belongs to multiple matching layers, all matching layer names to which the medical record text unit belongs are marked beside the medical record text unit, and a cross-layer association of the medical record text unit is highlighted in the inter-layer association identifier; A filtering function is added to the hierarchical search result, and a filtering condition is set based on a term type and a matching degree range of each layer medical record text unit; The display content, semantic association explanation, inter-layer association identifier and filtering function of each matching layer are integrated to form a hierarchical search result. 6.The semantic search method for blood disease medical record big data according to claim 1, wherein, The blood disease medical record semantic association network is optimized based on user access behavior feedback to the hierarchical search result, the clicking situation, staying situation and secondary search triggering situation of the user to each layer medical record text unit are recorded, and the association priority of a corresponding node, the association strength and weight of a node-to-node edge are adjusted according to the access behavior, including: An access behavior recording module is started, access behavior data of the user to the hierarchical search result is recorded, and the data includes a medical record text unit identifier clicked by the user, a staying situation after clicking, whether a secondary search is triggered, and text content of the secondary search. analyzing click conditions in the access behavior data, adjusting the association priority of a node corresponding to a medical record text unit that meets a set trigger condition in the click conditions in the blood disease medical record semantic association network, so that the node is preferentially traversed in subsequent dynamic semantic matching; analyzing stay conditions in the access behavior data, adjusting the association strength between the node corresponding to a medical record text unit that meets a set trigger condition in the stay conditions and other related nodes, the related nodes being nodes that have a semantic association relationship with the node; analyzing secondary search trigger conditions in the access behavior data, adjusting the weight of an edge between a node to which a term in the medical record text unit belongs and a node to which other terms in the secondary search text belong, if the secondary search is triggered after the user clicks on the medical record text unit and the secondary search text contains any of the terms in the medical record text unit; statistically analyzing user feedback on the same access behavior, and adjusting the association priority, the association strength, and the weight according to the user feedback, if multiple users exhibit the same access behavior on the same medical record text unit; formulating association adjustment rules to adjust the association priority of the node according to the click condition trigger, to adjust the association strength of the corresponding edge according to the stay condition trigger, and to adjust the weight of the edge between the related nodes according to the secondary search trigger condition; performing optimization operations on the blood disease medical record semantic association network according to the association adjustment rules, updating the association priority parameter of the corresponding node, and modifying the association strength value and the weight value of the edge between the nodes, to obtain an optimized blood disease medical record semantic association network; verifying the optimized blood disease medical record semantic association network, testing the dynamic semantic matching efficiency and accuracy of the optimized blood disease medical record semantic association network through simulation of a search request; recording the source of the access behavior data for each optimization, the identifiers of the nodes and edges that are adjusted, and the parameter values before and after the adjustment, to form a network optimization record, which is stored in association with the corresponding search semantic vector and the hierarchical search result; deploying the optimized blood disease medical record semantic association network to a semantic search system. 7.The semantic search method for blood disease medical record big data according to claim 2, wherein, The selecting of the two different medical record text units as the first medical record text unit and the second medical record text unit and the determination of the semantic association relationship between the first medical record text unit and the second medical record text unit include: selecting two medical record text units that have not been associated from a node library of the blood disease medical record semantic association network, and marking them as the first medical record text unit and the second medical record text unit, respectively; calling a term set of the first medical record text unit, extracting diagnosis terms therefrom to form a first diagnosis term set, and calling a term set of the second medical record text unit, extracting diagnosis terms therefrom to form a second diagnosis term set; comparing the first diagnosis term set and the second diagnosis term set, and checking whether each term in the first diagnosis term set exists in the second diagnosis term set; if there is at least one term that belongs to both the first diagnosis term set and the second diagnosis term set, proceeding to a symptom term intersection checking process; if there is no same term, not determining that the first medical record text unit and the second medical record text unit have a semantic association relationship; In the intersection checking process of the symptom terms, the symptom terms of the first medical record text unit are extracted to form a first symptom term set, and the symptom terms of the second medical record text unit are extracted to form a second symptom term set; The intersection of the first symptom term set and the second symptom term set is calculated; If the intersection contains at least one symptom term, it is determined that the first medical record text unit and the second medical record text unit have a semantic association relationship, and the association basis is the same diagnostic term and the intersection of the symptom terms; If the intersection does not contain any symptom term, the intersection checking process of the treatment terms is entered, the treatment terms of the first medical record text unit are extracted to form a first treatment term set, and the treatment terms of the second medical record text unit are extracted to form a second treatment term set; The intersection of the first treatment term set and the second treatment term set is calculated, and if the intersection contains at least one treatment term, it is determined that the first medical record text unit and the second medical record text unit have a semantic association relationship, and the association basis is the same diagnostic term and the intersection of the treatment terms; If the intersection of the treatment term set does not contain any treatment term, the intersection checking process of the examination index terms is entered, the examination index terms of the first medical record text unit are extracted to form a first examination index term set, and the examination index terms of the second medical record text unit are extracted to form a second examination index term set; The intersection of the first examination index term set and the second examination index term set is calculated, and if the intersection contains at least one examination index term, it is determined that the first medical record text unit and the second medical record text unit have a semantic association relationship, and the association basis is the same diagnostic term and the intersection of the examination index terms; If the intersection of the examination index term set does not contain any term, it is determined that the first medical record text unit and the second medical record text unit have a semantic association relationship; The above process is performed on all pairs of unjudged associated medical record text units, and the pairs of medical record text units having a semantic association relationship and the association basis are recorded. 8.The semantic search method for blood disease medical record big data according to claim 3, wherein, The association relationship between the core terms is analyzed to determine the semantic weight of the core terms, including: Assign a unique identifier to each core term identified in the search text, and count the number of occurrences of each core term in the search text. The number of occurrences is the number of complete occurrences of the core term. Assign a corresponding weight to each core term according to the number of occurrences. The corresponding weight is different for different numbers of occurrences. Determine the position of each core term in the search text. The position is divided into front, middle and back according to the total character length of the search text. Assign a corresponding coefficient to each core term for different positions. The corresponding coefficient is different for different positions. Determine the initial semantic weight of each core term according to the set logic by combining the occurrence weight and position coefficient of the core term. Search the preset term synonym library to check if there are synonyms or near synonyms for each core term. If there are synonyms or near synonyms for the core term, count the number of occurrences of the synonyms or near synonyms in the search text, combine the number of occurrences into the total number of occurrences of the core term, and re-determine the occurrence weight and the initial semantic weight, and adjust the initial semantic weight to obtain the final semantic weight. If there is no synonym or near-synonym for the core term, the initial semantic weight is taken as the final semantic weight; If a core term belongs to multiple term types, the context of the search text is analyzed to determine the main use of the core term in the user search intent, the main term type is determined according to the main use, the appearance frequency weight and the position coefficient are re-determined according to the rules corresponding to the main term type, the semantic weight based on the main type is calculated, and the secondary type identifier is added in the associated information of the core term, and the other types to which the core term belongs are recorded; If a core term belongs to only a single term type, the final semantic weight calculated based on the single term type is retained; The final semantic weight, term type, and synonym or near-synonym of each core term are recorded in the semantic weight table. 9.The semantic search method for blood disease medical record big data according to claim 4, wherein, The matching degree of the node pair containing the core term with the search semantic vector is calculated, including: The number of terms in the term set of the node pair that belong to the core term sequence is counted, and the ratio of the number of terms to the total number of core term sequences is calculated; The appearance paragraph of the core term in the medical record text unit corresponding to the node is determined, and the corresponding paragraph contribution of each core term is assigned according to the appearance paragraph; The total paragraph contribution of all core terms of the node is counted, the edge association strength between the node and other nodes containing terms in the core term sequence is extracted, and the average edge association strength between the node and other nodes containing terms in the core term sequence is calculated; The integration logic of the number ratio, the total paragraph contribution, and the average edge association strength is set, and the basic matching degree of the node with the search semantic vector is calculated according to the integration logic; The K terms with the highest semantic weight in the core term sequence are extracted, and it is checked whether the K terms are contained in the term set of the current node. If they are contained, the appearance frequency of the term in the term set of the node is counted. If the appearance frequency meets the set condition, a supplementary contribution is added to the basic matching degree; The first association relationship type between the core terms in the search semantic vector is analyzed, and the second association relationship type between the core terms in the term set of the current node is extracted; The first association relationship type and the second association relationship type are compared. If the first association relationship type and the second association relationship type are consistent, an additional supplementary contribution is added to the basic matching degree; The final matching degree of the node with the search semantic vector is obtained by combining the basic matching degree, the supplementary contribution, and the additional supplementary contribution. The final matching degree is associated with the node identifier and stored to form a node matching degree list. 10.A semantic search system for blood disease medical record big data, characterized in that, The semantic search system for blood disease medical record big data includes a processor and a memory, the memory and the processor are connected, the memory is used to store programs, instructions or codes, and the processor is used to execute the programs, instructions or codes in the memory to realize the semantic search method for blood disease medical record big data in any one of claims 1-9.
Citation Information
Cited By
A search relevance score optimization method and system based on a large language model
CN122220478A