Propaganda and education content matching system for analyzing oral needs of patients
By segmenting and tagging the patient's verbal needs, a multidimensional state vector is constructed. Combined with symptom ambiguity identification and content load quantification, a personalized educational content sequence is generated and the path is dynamically adjusted. This solves the problems of the immediacy and superficiality of matching user needs with knowledge content in existing technologies, and improves the matching accuracy and patient compliance.
Patent Information
- Application Number
- CN202511326436.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-17
- Publication Date
- 2025-12-30
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing technologies suffer from problems of immediacy and superficiality in matching user needs with knowledge content, making it difficult to construct a coherent and progressive knowledge learning path.
By parsing patients' verbal needs text through word segmentation and part-of-speech tagging, a multi-dimensional numerical array of the patient's initial state vector is constructed. Combined with symptom ambiguity identification and content load quantification, a personalized educational content sequence is generated, and the path is dynamically adjusted based on patient feedback.
It achieves a deep understanding of patients' knowledge level and comprehension ability, improves the accuracy and safety of matching under ambiguous symptoms, ensures the relevance and comprehensibility of information, and improves patients' long-term compliance and self-management efficacy.
Smart Images

Figure CN121234925A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of propaganda content matching, and particularly relates to a propaganda content matching system for analyzing patient oral demands. BACKGROUND
[0002] The technical field of propaganda content matching is an application branch of the cross-fusion of information retrieval, natural language processing and personalized recommendation technology, and the core is to establish an efficient mapping relationship between user demands and knowledge content.
[0003] In the prior art, when establishing an efficient mapping between user demands and knowledge content, there are generally problems of instant nature and superficialization of the matching process at the cognitive level. The operation mode is mostly a one-time request response model, that is, a static related content list is returned according to a single input query of the user. This mechanism regards each interaction as an isolated event, and it is difficult to construct a coherent and progressive knowledge learning path for the user. Therefore, improvement is needed. SUMMARY
[0004] The present application aims to solve the problems in the prior art and provides a propaganda content matching system for analyzing patient oral demands.
[0005] In order to achieve the above-mentioned purpose, the present application adopts the following technical scheme: a propaganda content matching system for analyzing patient oral demands comprises: An oral demand analysis module is configured to separate noun phrases and verb phrases in a text according to a patient's original oral demand text through word segmentation and part-of-speech tagging operations, match a pre-set symptom dictionary from the noun phrases to obtain symptom terms, calculate a syntax structure complexity value from the average sentence length and the number of sentences in the text, obtain a word professional degree value by counting the frequency of professional vocabulary, and combine the extracted symptom terms, emotional vocabulary, question focus, syntax structure complexity value and word professional degree value into a multi-dimensional numerical array to establish a patient initial state vector. A symptom ambiguity identification module is configured to obtain a disambiguation core symptom set according to the symptom terms in the patient initial state vector. A content load quantification module is configured to traverse all propaganda content nodes in a knowledge graph, count the number of professional terms in the content of each node and divide the number by the total number of words to obtain a professional term density, and establish a propaganda content cognitive load index. A cognitive path planning module is configured to generate a personalized propaganda content sequence according to the disambiguation core symptom set and the propaganda content cognitive load index. A path dynamic adjustment module is configured to obtain an updated propaganda content sequence according to the personalized propaganda content sequence and patient feedback data.
[0006] Preferably, the oral demand analysis module comprises: The text feature extraction submodule is used to perform positive maximum matching word segmentation based on the patient's original oral needs text, and to label the part of speech of each word. It retrieves and matches the symptom dictionary from the identified noun phrases, and extracts emotional words and question focus based on the emotional word list to obtain the oral text feature set. The language complexity assessment submodule is used to calculate the average sentence length by counting the total number of words in the text and dividing it by the total number of periods and question marks, based on the spoken text feature set, identify and count the subordinate conjunctions to obtain the number of clauses, count the number of words that overlap with the terminology database and calculate their frequency, and obtain the language complexity index. The state vector construction submodule is used to perform one-hot encoding on the extracted symptom terms and emotional words according to the oral text feature set and the language complexity index, and then concatenate them with the syntactic structure complexity value and the word professionalism value in a preset order to form a fixed-dimensional numerical array to establish the patient's initial state vector.
[0007] Preferably, the symptom ambiguity identification module includes: The associated disease retrieval submodule is used to retrieve the potential disease list by using the symptom terms in the patient's initial state vector as the query key in a preset Boolean matrix with symptoms as rows and diseases as columns. It returns the disease names corresponding to all columns with true values. The ambiguity determination submodule is used to count the total number of diseases in the potential disease list and compare it with a preset integer ambiguity threshold. If the total number is greater than the integer ambiguity threshold, all disease names in the list are extracted to form a highly ambiguous disease cluster. The feature generation submodule is used to count the number of occurrences of accompanying symptoms of each disease and calculate the information gain based on the highly ambiguous disease cluster. The accompanying symptom with the highest information gain is selected as the key feature, converted into a closed question, and sorted in descending order of information gain value to obtain the disambiguation core symptom set.
[0008] Preferably, the content load quantization module includes: The content feature calculation submodule is used to traverse all propaganda content nodes in the knowledge graph, match and count the professional terminology dictionary, construct a syntactic analysis tree and return the maximum depth value, and at the same time count the total number of sentences separated by periods, the total number of characters in the text and the total number of syllables to obtain the content quantification feature value; The load index synthesis submodule is used to quantify the feature values of the content, divide the number of technical terms by the total number of words to obtain the technical term density, calculate the text readability score by weighted sum of the total number of characters divided by the total number of sentences and the total number of syllables divided by the total number of characters, and then perform a weighted sum of density, depth and score to obtain the load value of a single content. The load index construction submodule is used to create a key-value pair data structure based on the load value of the single content, with the unique identifier of the propaganda content node as the key and the calculated load value of the single content as the value, and store all key-value pairs into the structure to establish a cognitive load index of propaganda content.
[0009] Preferably, the cognitive path planning module includes: The initial node matching submodule is used to perform vectorized cosine similarity calculation between the symptom keywords in the disambiguation core symptom set and the content of each node in the knowledge dependency relationship graph, and select the node with the highest similarity score as the starting point of the path to determine the education starting node. The node learning cost calculation submodule is used to set weight coefficients for text similarity, cognitive load difference and dependency satisfaction according to the education starting node, the cognitive load index of the education content and the patient's initial state vector, and perform weighted summation to obtain the learning cost matrix between nodes.
[0010] Preferably, the cognitive path planning module further includes: The optimal path generation submodule is used to calculate the learning cost of all adjacent nodes starting from the starting node of the propaganda based on the learning cost matrix between nodes, select the node with the lowest cost to add to the path, and repeat the process with the node as the new starting point until there are no subsequent nodes, thereby generating a personalized propaganda content sequence.
[0011] Preferably, the path dynamic adjustment module includes: The patient status update submodule is used to update the patient status vector based on the patient feedback data and the patient's initial status vector. If the feedback indicates that the patient understands the information, the module adds the knowledge level parameter in the vector. If the feedback indicates that the patient still has questions, the module adds the terms from the new requirements to the list of current focus parameters to obtain the updated patient status vector. The subsequent cost recalculation submodule is used to lock the learned nodes in the sequence based on the updated patient state vector and the personalized education content sequence, extract all unlearned nodes, and calculate a new learning cost for each unlearned node using the same weighted summation method as the node learning cost calculation submodule, so as to obtain a dynamic learning cost value.
[0012] Preferably, the path dynamic adjustment module further includes: The missionary sequence rearrangement submodule is used to retain the learned nodes in the personalized missionary content sequence in their original order according to the dynamic learning cost value, and to arrange the unlearned nodes in ascending order according to their corresponding dynamic learning cost values, and then concatenate them after the learned nodes to obtain the updated missionary content sequence.
[0013] Compared with the prior art, the advantages and positive effects of the present invention are as follows: In this invention, by segmenting and tagging the patient's original verbal request text with words, and combining linguistic features such as average sentence length, number of clauses, and frequency of professional terms, a multidimensional initial state vector reflecting the patient's knowledge level, focus, and comprehension ability is constructed. This goes beyond simple keyword matching, assessing the patient's cognitive baseline from a linguistic perspective, and achieving a deep understanding of the user's state. When dealing with vague symptoms such as dizziness, instead of directly returning a broad list of answers, it proactively generates highly discriminative identification questions by retrieving the correlation matrix between symptoms and diseases, guiding the user to self-check. This improves the accuracy and security of matching under vague needs and avoids interference from invalid information. At the same time, for each piece of educational content in the knowledge base, a cognitive load index is established by quantifying indicators such as the density of professional terms and the depth of syntactic nesting, ensuring that the information pushed to the patient is not only relevant but also within the scope of understanding. When the patient provides feedback that they understand, their state is updated and subsequent paths are replanned, improving the patient's long-term compliance and self-management effectiveness. Attached Figure Description
[0014] Figure 1 This is a system flowchart of the present invention. Detailed Implementation
[0015] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0016] Please see Figure 1 This invention provides a technical solution: a system for matching educational content based on the patient's verbal needs, comprising: The oral needs analysis module is used to separate noun phrases and verb phrases from the patient's original oral needs text through word segmentation and part-of-speech tagging. It obtains symptom terms by matching them with a preset symptom dictionary, calculates the average sentence length and number of clauses to obtain the syntactic structure complexity value, and counts the frequency of professional words to obtain the word professionalism value. Finally, it combines the extracted symptom terms, emotional words, question focus, syntactic structure complexity value, and word professionalism value into a multi-dimensional numerical array to establish the patient's initial state vector. The symptom ambiguity identification module is used to obtain the set of disambiguating core symptoms based on the symptom terms in the patient's initial state vector. The content load quantification module is used to traverse all propaganda content nodes in the knowledge graph, count the number of professional terms in the content of each node and divide it by the total number of words to obtain the professional term density, and establish a cognitive load index of propaganda content. The cognitive path planning module is used to generate personalized educational content sequences based on the set of disambiguation core symptoms and the cognitive load index of educational content. The path dynamic adjustment module is used to obtain an updated educational content sequence based on the personalized educational content sequence and patient feedback data.
[0017] The verbal requirements analysis module includes: The text feature extraction submodule is used to perform positive maximum matching word segmentation based on the patient's original oral needs text, and to label the part of speech of each word. It retrieves and matches the symptom dictionary from the identified noun phrases, and extracts emotional words and question focus based on the emotional word list to obtain the oral text feature set. The language complexity assessment submodule is used to calculate the average sentence length by counting the total number of words in the text and dividing it by the total number of periods and question marks, based on the spoken text feature set, identify and count the subordinate conjunctions to obtain the number of clauses, count the number of words that overlap with the terminology database and calculate their frequency, and obtain the language complexity index. The state vector construction submodule is used to perform one-hot encoding on the extracted symptom terms and emotional words based on the oral text feature set and language complexity index. Then, it is concatenated with the syntactic structure complexity value and word choice professionalism value in a preset order to form a fixed-dimensional numerical array and establish the patient's initial state vector.
[0018] Specifically, based on the patient's original verbal description of their needs, a pre-defined dictionary containing over 50,000 basic medical terms and everyday expressions is first initialized. This dictionary uses a key-value pair structure, where the key is a word and the value is its corresponding part-of-speech tag, such as {"headache": noun, "feeling": verb}. Using this dictionary, a forward maximum matching word segmentation operation is performed on the received text stream. Specifically, starting from the beginning of the text, the longest matching word in the dictionary is searched. If a match is found, that word is segmented, and the pointer is moved to the end of that word to continue matching until the entire text is processed. Simultaneously with word segmentation, the predefined part-of-speech tag for each word is directly retrieved from the dictionary and annotated. Then, based on the part-of-speech tagging results, all consecutive nouns or noun phrases are identified, forming a list of noun phrases. For example, for "I feel a dull ache in my head," the noun phrase "head" is identified. Then, this list of noun phrases is traversed, and each phrase is matched with... A pre-built symptom dictionary is used for precise matching. This symptom dictionary contains more than 10,000 standard symptom terms and their common colloquial alternatives. For example, "headache" and "dizziness" are both mapped to the standard term "headache". After a successful match, the standard symptom terms are stored in a temporary set. At the same time, the system loads a sentiment lexicon containing approximately 5,000 words in three categories: positive, negative, and neutral, as well as a question focus lexicon containing interrogative pronouns and interrogative particles such as "what", "why", "what to do", and "is it". By scanning the entire text after word segmentation, sentiment words and question focuses that match these two lexicons are extracted. For example, from "I have been feeling very uncomfortable these past few days, and my head is throbbing badly. What's going on?", the negative sentiment words "uncomfortable" and "throbbing badly" and the question focus "what's going on?" are extracted. Finally, the matched standard symptom terms, extracted sentiment words, and question focuses are merged to obtain the spoken text feature set.
[0019] Based on the spoken text feature set, the total number of characters is counted by traversing the original text string, while simultaneously counting the sum of full-width periods "." and question marks "?". The total number of characters is divided by the total number of these punctuation marks to obtain the average sentence length. This value reflects the average sentence length expressed by the patient. For example, a 150-character text containing 3 periods and 2 question marks has an average sentence length of 150 divided by (3+2) equal to 30. Next, a list containing common subordinating conjunctions such as "because," "therefore," "if," "although," and "but" is loaded. The segmented text is scanned, and the total number of occurrences of these conjunctions is counted as an approximation of the number of clauses. This value is used to measure the sentence length. The nesting depth of the legal structure is then determined. A pre-built terminology database, containing approximately 20,000 medical terms including anatomy, pathology, and pharmacology, is then invoked. The segmented words are compared one by one with this terminology database to count the total number of overlapping words. This total is then divided by the total number of words in the text to calculate the frequency of use of the specialized terms. For example, in a text containing 200 words, if 10 words overlap with the terminology database, their frequency is 10 divided by 200, which equals 0.05. Finally, the calculated average sentence length, number of clauses, and frequency of use of specialized terms are integrated to obtain a language complexity index.
[0020] Based on the oral text feature set and language complexity index, the patient's initial state vector is constructed. First, the encoding space for symptom terms and emotional vocabularies is determined. This relies on a predefined complete set of symptom terms (e.g., containing 10,000 standard symptoms) and a complete set of emotional vocabularies (e.g., containing 5,000 emotional words). For each symptom term extracted from the oral text feature set, its corresponding position is found in its complete dictionary, a sparse vector of length 10,000 is created, and the value at that position is set to 1, while the other positions are 0. Similarly, for each extracted emotional word, a sparse vector of length 5,000 is also created, and its corresponding position is set to 1. If multiple symptoms or emotions appear in the patient's oral description, the values at multiple positions in the corresponding vector are all set to 1. After completing the one-hot encoding process, the language complexity index is processed. The average sentence length and the number of clauses in the language complexity index are weighted and summed to obtain the syntactic structure complexity value. The syntactic structure complexity value is calculated as the average sentence length multiplied by the weight coefficient. Add the number of clauses multiplied by the weighting factor The weighting coefficients are set based on statistical analysis of a large-scale corpus, aiming to balance the impact of sentence length and the number of clauses on comprehension difficulty. For example, based on empirical statistics, the weighting coefficients are set as follows: It is 0.4. If the average sentence length is 30 and the number of clauses is 5, then the syntactic complexity value is 30 multiplied by 0.4 plus 5 multiplied by 0.6, which equals 15. The frequency of use of professional words in the language complexity index is directly used as the word professionalism value. Finally, in a preset order, the unique hot encoding vectors of symptom terms, the unique hot encoding vectors of emotional words, the calculated syntactic complexity value, and the word professionalism value are concatenated to form a fixed-dimensional one-dimensional numerical array, and the patient's initial state vector is established.
[0021] The symptom ambiguity differentiation module includes: The associated disease retrieval submodule is used to retrieve a list of potential diseases by using the symptom terms in the patient's initial state vector as the query key in a preset Boolean matrix with symptoms as rows and diseases as columns. It returns the disease names corresponding to all columns with true values. The ambiguity determination submodule is used to count the total number of diseases in the potential disease list and compare it with a preset integer ambiguity threshold. If the total number is greater than the integer ambiguity threshold, all disease names in the list are extracted to form a highly ambiguous disease cluster. The feature generation submodule is used to count the frequency of accompanying symptoms of each disease based on the highly ambiguous disease cluster and calculate the information gain. The accompanying symptom with the highest information gain is selected as the key discriminant feature, converted into a closed question, and sorted in descending order of information gain value to obtain the disambiguation core symptom set.
[0022] Specifically, based on the symptom terms in the patient's initial state vector, a search for related diseases is initiated. This process relies on a pre-defined symptom-disease Boolean matrix, constructed by analyzing over a thousand authoritative clinical guidelines and five hundred medical textbooks. The rows of the matrix represent standardized symptom terms (e.g., "headache," "fever," "cough"), with the total number of rows corresponding to the size of the symptom dictionary. The columns represent common disease names (e.g., "influenza," "migraine," "meningitis"), with the total number of columns corresponding to a list containing approximately five thousand diseases. Each element in the matrix is a Boolean value; if a symptom is a typical or common manifestation of a disease, the value at the intersection of the corresponding row and column is 1 (true). If the value is 1, the index is 0 (false). During retrieval, the symptom term index with a value of 1 in the patient's initial state vector is extracted, and the symptom terms corresponding to these indexes are used as query keys. For each query key, the corresponding row is located in the symptom-disease Boolean matrix, and then all columns of the row are traversed to collect all column indices with a value of 1. The disease names corresponding to these column indices are added to a temporary disease set. If the patient states multiple symptoms, such as "headache" and "fever", the above retrieval operation is performed on the "headache" row and the "fever" row respectively to obtain two disease sets. Finally, all disease sets retrieved due to different symptoms are merged, and duplicate disease names are removed to obtain a list of potential diseases.
[0023] Based on the potential disease list, ambiguity determination is performed. First, the total number of diseases included in the potential disease list is directly calculated. For example, if the list contains {"influenza", "migraine", "sinusitis", "meningitis"}, the total number of diseases is 4. Then, this total number is compared with a preset integer ambiguity threshold. This threshold is not a fixed value but is derived through statistical analysis of historical anonymous consultation data. Specifically, 10,000 historical consultation records are randomly selected, and a potential disease list is generated based on the preliminary symptom description of each record. The length of the list is then counted to form a distribution of list lengths, and the mean of this distribution is calculated. The mean and standard deviation are used as a reference. For example, if the mean is 2.5 and the standard deviation is 1.0, the integer ambiguity threshold is set to the mean plus one standard deviation and rounded up. That is, 2.5 plus 1.0 equals 3.5, and the threshold after rounding up is 4. Therefore, any potential disease list with a length greater than 4 is judged as highly ambiguous. If the total number of diseases calculated at present, such as 4 in the previous example, is greater than or equal to this threshold of 4, then the current situation is judged to be highly ambiguous. Subsequently, all disease names in the potential disease list, namely "influenza", "migraine", "sinusitis" and "meningitis", are extracted to form a highly ambiguous disease cluster.
[0024] Based on the highly ambiguous disease cluster, a feature generation process is initiated. This process relies on a pre-built disease-accompanying symptom knowledge base, which records common accompanying symptoms of each disease in addition to typical symptoms and their conditional probabilities of occurrence in diagnosed patients. For example, the knowledge base records accompanying symptoms of "meningitis" such as "neck stiffness" (probability of occurrence 0.7) and "photophobia" (probability of occurrence 0.6). First, the overall information entropy of the current highly ambiguous disease cluster is calculated. The calculation formula is: ,in It is the number of diseases in a highly ambiguous disease cluster. This involves identifying the baseline epidemiological probability of each disease, obtained from public health data. Then, iterating through all accompanying symptoms of all diseases within the highly ambiguous disease cluster creates a candidate set of accompanying symptoms. For each accompanying symptom in this set... Calculate the conditional entropy of the disease cluster under the two conditions of its presence and absence. Then, using the information gain formula Calculate each accompanying symptom Information gain is used to calculate the information gain of accompanying symptoms. For example, for a highly ambiguous disease cluster {influenza, meningitis}, calculating the information gain of the accompanying symptom "stiff neck" requires knowing the probability of "stiff neck" in patients with influenza and meningitis. Then, the degree of reduction in system uncertainty after introducing this symptom is calculated. Symptoms with higher information gain have stronger discriminative ability. After calculating the information gain of all candidate accompanying symptoms, the three accompanying symptoms with the highest information gain values are selected as key discriminative features. For example, if the information gain of "stiff neck" is calculated to be 0.8, "photophobia" to be 0.65, and "muscle pain" to be 0.4, then "stiff neck", "photophobia" and "muscle pain" are selected. Finally, these selected key discriminative features are converted into closed-ended questions, such as "Do you feel stiff neck?" and "Are you sensitive to light?", and sorted in descending order according to their information gain values to obtain the set of disambiguation core symptoms.
[0025] The content load quantization module includes: The content feature calculation submodule is used to traverse all propaganda content nodes in the knowledge graph, match and count the professional terminology dictionary, construct a syntactic analysis tree and return the maximum depth value, and at the same time count the total number of sentences separated by periods, the total number of characters in the text and the total number of syllables to obtain the content quantification feature value; The load index synthesis submodule is used to obtain the terminology density by dividing the number of technical terms by the total number of words based on the content quantification feature value. It calculates the text readability score by weighting the total number of words divided by the total number of sentences and the total number of syllables divided by the total number of words. Then, it performs a weighted sum of density, depth and score to obtain the load value of a single content. The load index construction submodule is used to create a key-value pair data structure based on the load value of a single content, with the unique identifier of the missionary content node as the key and the calculated load value of the single content as the value. All key-value pairs are stored in the structure to build a cognitive load index for missionary content.
[0026] Specifically, the process iterates through all the educational content nodes in the knowledge graph. For the text content contained in each node, a dictionary containing approximately 20,000 medical terms is first loaded. A string exact matching algorithm is used to scan the text, and the matched terms are cumulatively counted. Subsequently, for each sentence in the text, a parser based on probabilistic context-free grammar (PCFG) is used to construct its syntactic parse tree. This parser first performs part-of-speech tagging on the sentence, and then combines words into phrases (such as noun phrases NP and verb phrases VP) from the bottom up until a complete sentence structure (S) is formed. After construction, the root node (S) of the tree is calculated. The number of nodes traversed to reach the farthest leaf node (i.e., the specific word) is the syntactic tree depth of that sentence. The maximum depth value appearing in all sentences is also recorded. Simultaneously, the total number of sentences is counted by matching full-width periods "." in the text using regular expressions. The total number of characters in the text is obtained using standard library functions, which is the total number of words. Based on a simplified Chinese common character pronunciation library, each Chinese character in the text is mapped to one or more pinyin syllables, and the total number of all syllables is counted. Finally, the five indicators—the number of technical terms at each node, the maximum depth value of the syntactic tree, the total number of sentences, the total number of words in the text, and the total number of syllables—are packaged to obtain the content quantification feature value.
[0027] Based on the content quantification features, the number of technical terms and the total number of words are first extracted. The technical term density is calculated by dividing the former by the latter, which directly reflects the degree of specialization of the content. Next, to quantify the overall reading difficulty of the text, a text readability score is calculated. This score is composed of two weighted dimensions: average sentence length and average number of syllables per word. The calculation formula is: Text readability score = Average sentence length multiplied by a weighting coefficient. Add the average number of syllables per word multiplied by the weighting factor The average sentence length is obtained by dividing the total number of characters by the total number of sentences, and the average number of syllables per character is obtained by dividing the total number of syllables by the total number of characters. The weighting coefficients are... and The design is based on statistical analysis of a large number of medical texts of varying difficulty, concluding that sentence structure complexity has a greater impact on readability than single-word pronunciation complexity. Therefore, the design is... It is 0.7. For example, if a text has an average sentence length of 25 and an average number of syllables per character of 1.1, its readability score is 25 multiplied by 0.7 plus 1.1 multiplied by 0.3, which equals 17.83. Finally, after normalizing the terminology density, the maximum depth of the syntactic parsing tree obtained from the content quantification feature values, and the text readability score just calculated, a second weighted sum is performed. The calculation formula is: the content load value of a single article equals the terminology density multiplied by the weight. Add the maximum depth value multiplied by the weight Add the readability score multiplied by the weight. The weight settings reflect the contribution of each factor to cognitive load; for example, setting... It is 0.5. It is 0.3. The value is 0.2. Substituting the three normalized values into the calculation, we obtain the content load value for a single article.
[0028] Based on the content load of a single article, the index building process begins. First, a hash table is initialized in memory as a key-value data structure, supporting efficient key lookup operations. Then, each preaching content node with a calculated content load is systematically processed. For each node, its unique, immutable identifier in the knowledge graph is extracted, such as a globally unique identifier (GUID) or an auto-incrementing integer ID, and used as the key of the hash table. Simultaneously, the content load corresponding to that node is obtained; this is a floating-point number, which is used as the value corresponding to the key. Subsequently, this value is linked to the node... Key-value pairs consisting of a unique identifier and a single content load value are inserted into an initialized hash table. This process is repeated until all missionary content nodes in the knowledge graph have been processed and their respective load values have been stored in the hash table. For example, after processing node "N-001", a record {"N-001": 65.4} will be added to the hash table, and after processing node "N-002", a record {"N-002": 82.1} will be added. Finally, this hash table, which is completely filled with all node identifiers and their corresponding cognitive load values, constitutes the missionary content cognitive load index.
[0029] The cognitive path planning module includes: The initial node matching submodule is used to perform vectorized cosine similarity calculation between the symptom keywords in the disambiguation core symptom set and the content of each node in the knowledge dependency graph, and select the node with the highest similarity score as the starting point of the path to determine the starting node of the education. The node learning cost calculation submodule is used to set weight coefficients for text similarity, cognitive load difference and dependency satisfaction based on the education start node, the cognitive load index of education content and the patient's initial state vector, and perform weighted summation to obtain the learning cost matrix between nodes. The optimal path generation submodule is used to calculate the learning cost of all adjacent nodes starting from the initial node of the mission based on the learning cost matrix between nodes, select the node with the lowest cost to add to the path, and repeat the process with the node as the new starting point until there are no subsequent nodes, thereby generating a personalized mission content sequence.
[0030] Specifically, based on the disambiguation core symptom set, all symptom keywords in the set, such as "neck stiffness" and "photophobia," are first concatenated into a single query text string: "neck stiffness and photophobia." Next, to quantify and compare the content of this text and each node in the knowledge dependency graph, a word vector model (such as Word2Vec) pre-trained on a large-scale medical literature corpus is loaded. This model maps each word to a 300-dimensional floating-point vector. For the query text, the word vector of each word is obtained, and the average of these vectors is calculated to obtain a query vector representing the semantics of the entire query text. Similarly, all propaganda content nodes in the knowledge dependency graph are traversed, and the same operation is performed on the content text of each node to calculate the average content vector of each node. Then, for each node, the cosine similarity between its content vector and the query vector is calculated using the following formula: ,in It is a query vector. It is a node content vector. It is the dot product of two vectors. and These are their Euclidean norm or length, respectively. The calculated cosine similarity value ranges from -1 to 1. The closer the value is to 1, the more semantically related it is. After traversing and calculating the similarity scores of all nodes, these scores are sorted, and the node with the highest score is selected as the missionary starting node.
[0031] Based on the education starting node, the cognitive load index of the education content, and the patient's initial state vector, the learning cost between each pair of directly connected nodes in the knowledge dependency graph is calculated. This cost consists of three weighted components. The first is the text similarity cost. For any two connected nodes i and j, the similarity between the content is obtained using the aforementioned word vector model and cosine similarity calculation method. Cost is defined as Secondly, there is the cognitive load difference cost, which extracts the vocabulary specialization value and syntactic structure complexity value from the patient's initial state vector, and synthesizes a patient cognitive ability benchmark value through weighted averaging (e.g., with weights of 0.6 and 0.4 respectively). Then, query the load value of target node j from the cognitive load index of missionary content. The difference cost is The absolute value of the cost is used to determine the dependency satisfaction cost. Finally, the dependency satisfaction cost is calculated by checking if a predecessor node pointing to node j exists in the knowledge dependency graph. If it exists and the predecessor node is not yet included in the current learning path, the dependency satisfaction cost is set to 1; otherwise, it is set to 0. The total learning cost is obtained by weighted summation of these three cost components, calculated using the following formula: The weighting coefficients are set based on expert experience and experimental optimization. For example, cognitive load matching is considered the most important factor, and a weighting coefficient is set accordingly. The value is 0.5, followed by the logical dependence of knowledge. The value is 0.3, and finally, the smoothness of content transitions. The value is set to 0.2. This calculation is repeated for all connected node pairs in the graph to obtain the learning cost matrix between nodes.
[0032] Based on the learning cost matrix between nodes, a greedy algorithm is used to construct the path starting from the determined missionary starting node. First, an ordered list named "Personalized Missionary Content Sequence" is initialized, and the missionary starting node is added as the first element to this list. Simultaneously, a set of "Visited Nodes" is maintained, and the starting node is also added to this set. Then, an iterative process is entered. In each iteration, the last node in the current sequence is taken as the current node. All adjacent nodes directly connected to the current node in the knowledge dependency graph are searched. From these adjacent nodes, all nodes already existing in the "Visited Nodes" set are removed. For the remaining unvisited adjacent nodes... Each node is searched in the learning cost matrix between nodes to find the learning cost from the current node to its neighboring nodes. All these cost values are compared, and the neighboring node with the lowest cost is found. If there are multiple nodes with the lowest cost, the one with the lowest load value in the cognitive load index of the missionary content is selected as the priority. This selected node with the lowest cost is appended to the end of the "personalized missionary content sequence" and added to the "visited nodes" set. This iterative process continues until all neighboring nodes of the current node have been visited. At this point, the path cannot be extended further, and the iteration terminates. The resulting ordered list is the generated personalized missionary content sequence.
[0033] The path dynamic adjustment module includes: The patient status update submodule is used to update the patient status vector based on the patient feedback data and the patient's initial status vector. If the feedback indicates that the patient understands the information, the module adds the knowledge level parameter in the vector. If the feedback indicates that the patient still has questions, the module adds the terms from the new requirements to the list of current focus parameters to obtain the updated patient status vector. The subsequent cost recalculation submodule is used to lock the learned nodes in the sequence based on the updated patient state vector and personalized education content sequence, and extract all unlearned nodes. It uses the same weighted summation method as the node learning cost calculation submodule to calculate a new learning cost for each unlearned node, thus obtaining a dynamic learning cost value. The mission sequence rearrangement submodule is used to retain the learned nodes in the personalized mission content sequence in their original order according to the dynamic learning cost value, and to arrange the unlearned nodes in ascending order according to their corresponding dynamic learning cost values, and then concatenate them after the learned nodes to obtain the updated mission content sequence.
[0034] Specifically, based on patient feedback data and the patient's initial state vector, the feedback data is first analyzed. If the feedback data is marked as "understood," the parameter representing the individual's knowledge level in the patient's initial state vector is located. This parameter is set to a baseline value equal to the patient's initial vocabulary professionalism value during vector initialization. Then, based on the single-article content load value of the recently learned educational content node, this knowledge level parameter is added. The specific increment is the single-article content load value of the node multiplied by a preset learning rate. This learning rate is set to 0.15 based on large-scale user learning effect statistics. For example, if the patient's current knowledge level parameter is 30 and the learned node load value is 60, then the updated knowledge level parameter is 30 plus 60 multiplied by 0. 15 equals 39. If the feedback data is "still have questions", then the new request text submitted with the feedback is processed first, using the same process as the initial request parsing. That is, positive maximum matching word segmentation is performed through a preset dictionary, and the professional terminology dictionary is matched from the word segmentation results to extract all medical-related terms. For example, if the patient asks "What is the relationship between this and myocardial ischemia", the term "myocardial ischemia" is extracted. Then, the parameter used to record the patient's focus in the initial state vector is located. This parameter is a dynamic list, which is initially filled with the disambiguation core symptom set obtained through the symptom ambiguity identification module. The newly extracted terms, such as "myocardial ischemia", are appended to the end of this list without deduplication, and the updated patient state vector is obtained.
[0035] Based on the updated patient state vector and the personalized education content sequence, the personalized education content sequence is first traversed. Using a pointer recording learning progress, the sequence is divided into two parts: all nodes before the pointer position are identified as learned nodes, and their states are locked, not participating in subsequent recalculation; all nodes at and after the pointer position are extracted as a set of unlearned nodes. Then, for each node in this set of unlearned nodes, its learning cost is recalculated. This calculation process reuses the methodology of the node learning cost calculation submodule, but uses parameters from the updated patient state vector. Specifically, the learning cost consists of three weighted parts: the first part is the cognitive load difference, obtained by obtaining the updated knowledge level parameters from the updated patient state vector. The system performs several cost calculations. First, it uses the number of nodes as a new baseline for patient cognitive ability. Then, it calculates the absolute difference between this baseline and the single-content load of the target unlearned node. Second, it calculates dependency satisfaction, checking if the knowledge predecessor node of the unlearned node is already included in the set of learned nodes. If so, this cost is 0; otherwise, it is 1. Third, it calculates relevance cost, merging the current focus parameter list (which may have added new terms) in the updated patient state vector into a query text. It then calculates the vectorized cosine similarity between this text and the content of the unlearned node, subtracting this similarity from 1 to obtain the cost value. Finally, it multiplies these three cost values by their respective weighting coefficients and sums them. The weighting coefficients are designed to reflect the focus of dynamic adjustment; for example, the relevance weighting... Set to 0.5, cognitive load difference weight. Set to 0.3, dependency satisfaction weight Set to 0.2, perform this calculation for each unlearned node to obtain a set of dynamic learning cost values consisting of the unlearned node identifiers and their corresponding new cost values.
[0036] Based on the dynamic learning cost values, a new empty list is first created to store the final updated missionary content sequence. Then, all nodes marked as learned from the original personalized missionary content sequence are copied to this new list in the order they appear in the original sequence. This operation preserves the completed learning path portion. Next, all unlearned nodes are processed. These unlearned nodes and their corresponding newly calculated dynamic learning cost values are treated as a set and sorted in ascending order according to the dynamic learning cost values, i.e., the node with the lowest cost is placed at the beginning and the node with the highest cost is placed at the end. If two or more nodes have the same cost value, their relative order is determined by their position in the original personalized missionary content sequence, i.e., their relative order before sorting is preserved. After sorting, an ordered list of unlearned nodes is obtained. Finally, this reordered list of unlearned nodes is appended to the learned node sequence in the new list as a whole to form a complete, dynamically adjusted sequence, resulting in the updated missionary content sequence.
Claims
1. A system for matching educational content based on the patient's verbal needs, characterized in that, The system comprises: The oral demand analysis module is used for separating the noun phrases and verb phrases in the text through word segmentation and part-of-speech tagging according to the original oral demand text of the patient, obtaining the symptom terms from the noun phrases by matching a preset symptom dictionary, calculating the syntax structure complexity value from the average sentence length and the number of clauses, obtaining the word professional degree value by counting the frequency of professional vocabulary, and combining the extracted symptom terms, emotional vocabulary, question focus, syntax structure complexity value and word professional degree value into a multi-dimensional numerical array to establish the initial state vector of the patient; The symptom ambiguity identification module is used for obtaining a core symptom set for disambiguation according to the symptom terms in the initial state vector of the patient; The content load quantification module is used for traversing all the health education content nodes in the knowledge graph, counting the number of professional terms in the content of each node and dividing the number by the total number of words to obtain the professional term density, and establishing a health education content cognitive load index; The cognitive path planning module is used for generating a personalized health education content sequence according to the core symptom set for disambiguation and the health education content cognitive load index; The path dynamic adjustment module is used for obtaining an updated health education content sequence according to the personalized health education content sequence and patient feedback data.
2. The system for matching the content of health education according to the needs of patients as recited in claim 1, wherein, The oral demand analysis module comprises: The text feature extraction submodule is used for performing forward maximum matching word segmentation by using a preset dictionary and labeling the part-of-speech of each word according to the original oral demand text of the patient, retrieving and matching the symptom dictionary from the recognized noun phrases, extracting emotional vocabulary and question focus according to an emotional word table, and obtaining the feature set of the oral text; The language complexity evaluation submodule is used for calculating the average sentence length by counting the total number of words in the text and dividing the number by the total number of periods and question marks, obtaining the number of clauses by identifying subordinate conjunctions and counting, and obtaining the language complexity index by counting the number of overlapping words in the professional term library and calculating the frequency according to the feature set of the oral text; The state vector construction submodule is used for performing one-hot encoding processing on the extracted symptom terms and emotional vocabulary according to the feature set of the oral text and the language complexity index, then splicing the syntax structure complexity value and the word professional degree value in a preset order to form a numerical array with fixed dimensions, and establishing the initial state vector of the patient. 3.The system of claim 1, wherein, The symptom ambiguity identification module comprises: The associated disease retrieval submodule is used for retrieving the symptom terms as a query key in a preset Boolean matrix with symptoms as rows and diseases as columns, returning the disease names corresponding to all columns with a value of true, and obtaining a list of potential diseases according to the symptom terms in the initial state vector of the patient; The ambiguity degree determination submodule is used for comparing the total number of diseases in the list with a preset integer ambiguity threshold, extracting all disease names in the list to form a high-ambiguity disease cluster if the total number is greater than the integer ambiguity threshold, and obtaining a core symptom set for disambiguation according to the high-ambiguity disease cluster; The identification feature generation submodule is used for counting the number of times of occurrence of the accompanying symptoms of each disease and calculating the information gain according to the high-ambiguity disease cluster, selecting the accompanying symptom with the highest information gain as the key identification feature, converting it into a closed question and arranging it in descending order of information gain value, and obtaining the core symptom set for disambiguation.
4. The system for matching health education content to patient needs according to claim 1, wherein, The content load quantification module comprises: The content feature calculation sub-module is configured to traverse all health education content nodes in the knowledge graph, match a professional term dictionary and count, build a syntax analysis tree and return a maximum depth value, simultaneously count a total number of sentences separated by periods, a total number of text words and a total number of syllables, and obtain content quantitative feature values; The load index synthesis sub-module is configured to divide the number of professional terms by the total number of words to obtain a professional term density according to the content quantitative feature values, calculate a text readability score by a weighted sum of the total number of words divided by the total number of sentences and the total number of syllables divided by the total number of words, and then perform weighted summation on the density, the depth and the score to obtain a single content load value; The load index construction sub-module is configured to create a key-value pair data structure with a health education content node unique identifier as a key and the calculated single content load value as a value according to the single content load value, store all key-value pairs into a structure, and establish a health education content cognitive load index.
5. The system for matching health education content to patient needs according to claim 1, wherein, The cognitive path planning module comprises: The initial node matching sub-module is configured to perform vector cosine similarity calculation on symptom keywords in the disambiguation core symptom set and content of each node in the knowledge dependency graph, select a node with the highest similarity score as a starting point of the path, and determine a health education starting node. The node learning cost calculation sub-module is configured to set weight coefficients for text similarity, cognitive load difference and dependency satisfaction degree respectively, perform weighted summation, and obtain an inter-node learning cost matrix according to the health education starting node, the health education content cognitive load index and the patient initial state vector.
6. The system for matching the content of health education according to the needs of patients as recited in claim 5, wherein, The cognitive path planning module further comprises: The optimal path generation sub-module is configured to calculate learning costs of all adjacent nodes starting from the health education starting node, select a node with the lowest cost to join the path, and repeat the process with the node as a new starting point until there is no subsequent node, and generate a personalized health education content sequence.
7. The system for matching health education content to patient needs according to claim 1, wherein, The path dynamic adjustment module comprises: The patient state updating sub-module is configured to perform additive operation on a knowledge level parameter in the vector if the feedback is understood, and add terms in the new demand to a list of the current focus point parameter if the feedback is still questioned, to obtain an updated patient state vector. The subsequent cost recalculation sub-module is configured to lock learned nodes in the sequence and extract all unlearned nodes according to the updated patient state vector and the personalized health education content sequence, calculate new learning costs for each unlearned node by using the same weighted summation method as the node learning cost calculation sub-module, and obtain dynamic learning cost values. 8.The system of claim 7, wherein, The path dynamic adjustment module further comprises: The health education sequence rearrangement sub-module is configured to retain learned nodes in the personalized health education content sequence in the original sequence according to the dynamic learning cost values, arrange unlearned nodes in ascending order according to the corresponding dynamic learning cost values, splice the unlearned nodes after the learned nodes, and obtain an updated health education content sequence.