Icd encoding method, apparatus, and electronic device
By generating vectors of encoded and medical texts, and utilizing graph convolutional neural networks and long short-term memory networks, the problem of insufficient ICD encoding accuracy in existing technologies, especially in rare diseases, is solved, thus realizing a more comprehensive ICD encoding method.
Patent Information
- Application Number
- CN202310282225.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-21
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2043-03-21
AI Technical Summary
Existing technologies for converting medical documents to ICD codes fail to adequately consider the hierarchical and co-occurrence relationships between diseases, resulting in insufficient accuracy in ICD coding, especially for rare diseases.
By acquiring multiple ICD-encoded texts, vectors of the encoded texts are generated based on hierarchical and co-occurrence relationships. Combining these vectors with medical text feature vectors, graph convolutional neural networks and long short-term memory networks are used to calculate the encoding probability and determine the target ICD encoding.
It improves the accuracy of medical text to ICD encoding, especially the encoding accuracy of rare diseases, takes into account the correlation between diseases, and enhances the comprehensiveness and accuracy of the encoding.
Smart Images

Figure CN116304048B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the field of artificial intelligence, in particular to the technical field of big data, medical data analysis technology, and the like, specifically to the field of big data technology, and more particularly to an ICD coding method, device and electronic equipment. BACKGROUND
[0002] International Classification of Diseases (ICD) is an internationally unified disease classification method. It classifies diseases according to their etiology, pathology, clinical manifestations and anatomical location, etc., so that they become an ordered combination, and uses coding methods to represent the system.
[0003] In related technologies, medical personnel can use a coder to perform ICD coding prediction on a medical document, so as to obtain the ICD code corresponding to the medical document. SUMMARY
[0004] The present disclosure provides an ICD coding method, device and electronic equipment.
[0005] According to an aspect of the present disclosure, an ICD coding method is provided, comprising:
[0006] Obtaining N coding texts, the N coding texts are respectively used to describe N ICD codes, and N is a positive integer greater than 1;
[0007] Based on the hierarchical relationship between the N ICD codes, the target ICD code layer associated with each coding text is determined respectively, the N ICD codes are pre-divided into a plurality of ICD code layers, and the target ICD code layer is an ICD code layer in the plurality of ICD code layers;
[0008] For each coding text, based on the co-occurrence relationship between the N ICD codes and the target ICD code layer associated with the coding text, a first vector for representing the coding text is generated;
[0009] Extracting a first feature vector of a medical text to be recognized;
[0010] Based on the first feature vector and the first vector of the N coding texts, the target ICD code corresponding to the medical text is determined in the N ICD codes.
[0011] According to an aspect of the present disclosure, an ICD coding device is provided, comprising:
[0012] An acquisition module is configured to acquire N coding texts, the N coding texts are respectively used to describe N ICD codes, and N is a positive integer greater than 1;
[0013] The first determining module is used to determine the target ICD encoding layer associated with each encoded text based on the hierarchical relationship between the N ICD encodings. The N ICD encodings are pre-divided into multiple ICD encoding layers, and the target ICD encoding layer is one of the multiple ICD encoding layers.
[0014] The generation module is configured to generate a first vector representing the encoded text for each encoded text, based on the co-occurrence relationship among the N ICD codes and the target ICD encoding layer associated with the encoded text.
[0015] The extraction module is used to extract the first feature vector of the medical text to be identified;
[0016] The second determining module is used to determine the target ICD code corresponding to the medical text from among the N ICD codes, based on the first feature vector and the first vector of the N coded texts.
[0017] According to another aspect of this disclosure, an electronic device is provided, comprising:
[0018] At least one processor; and
[0019] A memory communicatively connected to the at least one processor; wherein,
[0020] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the ICD encoding method provided in this disclosure.
[0021] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause the computer to execute the ICD encoding method provided in this disclosure.
[0022] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the ICD encoding method provided in this disclosure.
[0023] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0024] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0025] Figure 1This is a flowchart illustrating an ICD encoding method provided in this disclosure;
[0026] Figure 2 This is a schematic diagram of the workflow of the ICD encoding representation learning module provided in this publication;
[0027] Figure 3 This is a flowchart illustrating the overall application of the ICD encoding method disclosed herein.
[0028] Figure 4 This is a structural diagram of the ICD encoding device provided in this disclosure;
[0029] Figure 5 This is a block diagram of an electronic device used to implement embodiments of the present disclosure. Detailed Implementation
[0030] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0031] Please see Figure 1 , Figure 1 This is a flowchart of an ICD encoding method provided in this disclosure, such as... Figure 1 As shown, it includes the following steps:
[0032] Step S101: Obtain N encoded texts.
[0033] The above-mentioned encoded text is also called the encoded description. The above N encoded texts are used to describe N ICD codes, where N is a positive integer greater than 1.
[0034] For example, if the ICD code is "512.0", the encoded text of this ICD code can be "spontaneous pressure pneumothorax". The encoded text "spontaneous pressure pneumothorax" is a textual description of the ICD code "512.0".
[0035] In this step, N coded texts are obtained. One optional implementation is that the N coded texts can be the ICD-9 coded descriptions published by the World Health Organization, i.e., the ninth edition of the ICD coded descriptions published by the World Health Organization; in other implementations, the N coded texts can also be other versions of coded descriptions, or multiple pre-set coded texts.
[0036] Step S102: Based on the hierarchical relationship between the N ICD codes, determine the target ICD encoding layer associated with each encoded text.
[0037] In this step, the N ICD codes are pre-divided into multiple ICD coding layers by manual intervention.
[0038] Optionally, the N ICD codes can be divided into three subordinate ICD coding layers. For example, the first ICD coding layer includes ICD codes used to characterize specific diseases, such as 371.6 representing corneal diseases; the second ICD coding layer includes ICD codes used to characterize diseases of the same organ, such as 370-379, these 10 ICD codes represent eye diseases; the third ICD coding layer includes ICD codes used to characterize diseases of the same organ, such as 360-389, the aforementioned ICD codes represent diseases of sensory organs.
[0039] In this step, for each encoded text, the target ICD encoding layer associated with the ICD encoding described by each encoded text can be determined based on the hierarchical relationship between the N ICD encodings. It should be noted that the ICD encoding layer associated with each ICD encoding can be determined manually.
[0040] One optional implementation is that the target ICD encoding layer associated with the encoded text is one; another optional implementation is that the target ICD encoding layer associated with the encoded text is multiple.
[0041] Step S103: For each encoded text, based on the co-occurrence relationship among the N ICD codes and the target ICD encoding layer associated with the encoded text, generate a first vector to represent the encoded text.
[0042] The co-occurrence relationship among the above N ICD codes is used to represent the correlation between ICD codes. For example, patients with cardiovascular and cerebrovascular diseases usually also have hypertension, so it can be determined that there is a co-occurrence relationship between the ICD codes representing cardiovascular and cerebrovascular diseases and the ICD codes representing hypertension.
[0043] In this step, for each encoded text, a first vector representing the encoded text is generated based on the co-occurrence relationships among the N ICD codes and the target ICD encoding layer associated with the encoded text. For specific implementation details, please refer to subsequent embodiments.
[0044] Step S104: Extract the first feature vector of the medical text to be identified.
[0045] It should be noted that the above steps S101 to S103 can be steps to be executed in advance. That is, before obtaining the medical text to be identified, steps S101 to S103 are executed in advance to obtain N first vectors representing N coded texts respectively.
[0046] In this step, the medical text to be identified is obtained, and a first feature vector of the medical text is extracted, wherein the first feature vector is a vector used to represent the medical text. Optionally, the medical text is a diagnostic record or a textual description of a health problem.
[0047] Step S105: Based on the first feature vector and the first vector of the N encoded texts, determine the target ICD code corresponding to the medical text among the N ICD codes.
[0048] In this step, after extracting the first feature vector of the medical text, the target ICD code corresponding to the medical text can be determined based on the first feature vector and N first vectors, thereby obtaining the ICD code of the medical text and realizing the ICD encoding of the medical text.
[0049] In this disclosure, the hierarchical and co-occurrence relationships between ICD codes are considered during the ICD encoding process of medical texts, so as to more comprehensively consider the correlation between different diseases and thus improve the accuracy of ICD encoding of medical texts.
[0050] Furthermore, the ICD encoding method provided in this disclosure utilizes the hierarchical and co-occurrence relationships among N ICD codes to generate N first vectors representing N encoded texts, taking into account the connection between rare and common diseases, thereby improving the accuracy of ICD encoding for medical texts describing rare diseases.
[0051] In one embodiment, determining the target ICD encoding layer associated with each encoded text based on the hierarchical relationship between the N ICD codes includes:
[0052] For each encoded text, extract the second feature vector of the encoded text;
[0053] Based on the hierarchical relationship between the N ICD codes and the ICD codes described by the encoded text, the target encoding layer associated with the second feature vector of the encoded text is determined.
[0054] In this embodiment, the second feature vector of each encoded text is extracted. For details on how to extract the second feature vector of the encoded text, please refer to the following embodiments.
[0055] As mentioned above, N ICD codes can be manually divided into multiple ICD coding layers, and the ICD coding layer associated with each ICD code can be manually determined.
[0056] In this embodiment, after extracting the second feature vector of the encoded text, the ICD encoding layer related to the ICD encoding described by the encoded text is determined as the target encoding layer associated with the second feature vector of the encoded text.
[0057] In this embodiment, the ICD encoding can be manually divided into multiple ICD encoding layers in advance, and the ICD encoding layers associated with each ICD encoding can be manually determined in advance, thereby forming a hierarchical relationship between N ICD encodings. The above-mentioned hierarchical relationship is set manually and has professional support, which can ensure that the hierarchical relationship can accurately describe the subordinate relationship between ICD encodings, and thus determine the target encoding layer associated with the second feature vector of each encoded text.
[0058] In one embodiment, extracting the second feature vector of each encoded text includes:
[0059] For each encoded text, the encoded text is segmented into words to obtain multiple words of the encoded text;
[0060] Extract the word vector of each word segment to obtain multiple word vectors of the encoded text;
[0061] The multiple word vectors are convolved by a preset first long short-term memory network to obtain the feature vectors of the multiple word segments;
[0062] The second feature vector of the encoded text is generated by weighted summation of the feature vectors of each word through a preset first self-attention layer.
[0063] In this embodiment, for each encoded text, a word vector model can be applied to extract multiple word vectors from the encoded text.
[0064] Specifically, the aforementioned word vector model includes a word segmenter and a Continuous Bag-of-Words (CBOW) model. The word segmenter segments the encoded text to obtain multiple words; the CBOW model extracts the word vectors of each word segment, resulting in multiple word vectors for the encoded text. The CBOW model consists of an input layer, a single hidden layer, and an output layer. The neurons in the hidden layer are linear neurons, the input layer has the same number of neurons as the number of words segmented, and the output layer has the same size as the input layer.
[0065] In this embodiment, a first long short-term memory network and a first self-attention layer are pre-configured. The first long short-term memory network is a unidirectional long short-term memory network (LSTM) composed of multiple network layers.
[0066] Specifically, for each word segment, its word vector is input into a first long short-term memory network for convolution. The convolution result of the word vector in the last output layer of this network is then obtained. This convolution result is concatenated with the word vector to obtain the feature vector of the word segment. After obtaining the feature vectors for each word segment, a first self-attention layer assigns different weights to each feature vector. The feature vectors of each word are then weighted and summed to generate the second feature vector of the encoded text. The first self-attention layer assigns different weights to each feature vector based on its internally configured network parameters.
[0067] In this embodiment, a word vector model, a preset first long short-term memory network, and a preset first self-attention layer are used to extract the second feature vector of the encoded text. The second feature vector is then used to represent the encoded text in subsequent steps to repair the difference in speech style between the medical text and the encoded text, and to avoid the difference in speech style between the medical text and the encoded text affecting the accuracy of the ICD encoding result.
[0068] In one embodiment, the target ICD encoding layer includes a second feature vector of the associated encoded text;
[0069] For each encoded text, based on the co-occurrence relationship among the N ICD codes and the target ICD coding layer associated with the encoded text, a first vector representing the encoded text is generated, including:
[0070] For each encoded text, a pre-defined graph convolutional neural network is used to perform convolution operations on the first-level vector of the target ICD encoding layer associated with the encoded text to obtain the second-level vector of the target ICD encoding layer; the first-level vector of the target ICD encoding layer is the average value of the second feature vectors included in the target ICD encoding layer; the adjacency matrix included in the graph convolutional neural network is determined based on the co-occurrence relationship between the N ICD codes in the pre-defined encoded text dataset;
[0071] The second-level vector of the target ICD encoding layer is weighted and summed by a preset second self-attention layer to generate a first vector representing the encoded text.
[0072] As described above, ICD encoding can be pre-divided into multiple ICD encoding layers. It should be understood that each ICD encoding layer includes a second feature vector of the associated encoded text. For example, if ICD encodings 290.0, 290.1, and 290.2 are divided into the same ICD encoding layer, then this ICD encoding layer includes a second feature vector describing the encoded text of ICD encoding 290.0, a second feature vector describing the encoded text of ICD encoding 290.1, and a second feature vector describing the encoded text of ICD encoding 290.2.
[0073] In this embodiment, the average value of the second feature vectors included in the ICD coding layer can be calculated, and the average value can be determined as the hierarchical representation of the ICD coding layer. The hierarchical representation can be understood as the first-level vector.
[0074] In this embodiment, a graph convolutional network (GCN) and a second self-attention layer are pre-configured. The adjacency matrix included in the graph convolutional network is determined based on the co-occurrence relationship between N ICD codes in a pre-configured encoded text dataset. Optionally, the pre-configured encoded text dataset is the ICD-9 encoding description published by the World Health Organization.
[0075] Specifically, for each encoded text, the first-level vector of the associated target ICD encoding layer is input into a graph convolutional neural network for convolution calculation to obtain the second-level vector of the target ICD encoding layer. A second self-attention layer assigns different weights to each second-level vector, and then performs a weighted summation of each second-level vector to generate a first vector representing the encoded text. The second self-attention layer assigns different weights to each second-level vector according to its internally configured network parameters.
[0076] In this embodiment, a pre-defined graph convolutional neural network is used to convolve the first-level vector of the target ICD encoding layer associated with the encoded text to obtain the second-level vector. Then, a pre-defined second self-attention layer is used to perform a weighted summation calculation on the second-level vector. Since the adjacency matrix included in the graph convolutional neural network is determined based on the co-occurrence relationships between N ICD codes in the pre-defined encoded text dataset, the graph convolutional neural network considers the co-occurrence relationships between ICD codes during the calculation of the first-level vector, thus providing a more comprehensive consideration of the correlations between different diseases.
[0077] The method described above for generating a first vector representing encoded text based on the hierarchical and co-occurrence relationships among N ICD encodings can be applied to an ICD encoding representation learning module. This module includes a word vector model, a first long short-term memory network, a first self-attention layer, a graph convolutional neural network, and a second self-attention layer. For details on the specific operation of this ICD encoding representation learning module, please refer to [link to relevant documentation]. Figure 2 .
[0078] exist Figure 2 In the application scenario shown, three word vectors of the encoded text are extracted through a word vector model. These three word vectors are then input into the first long short-term memory network. The convolution result of each word vector is concatenated with the word vector to obtain the feature vector of each word segment. Then, the first self-attention layer performs a weighted summation calculation on the feature vector of each word segment to generate the second feature vector of the encoded text.
[0079] exist Figure 2 In the illustrated application scenario, the ICD encoding of the coded text description is 518.81. Through manually defined hierarchical relationships, it can be determined that 518.81 is associated with three target ICD encoding layers: the first layer is associated with ICD encodings 460-519; the second layer with ICD encodings 520-579 and 510-519; and the third layer with ICD encodings 519.19, 518.84, and 518.81. The first-level vector of each target ICD encoding layer is input into a graph convolutional neural network to obtain three second-level vectors. Then, a pre-defined second self-attention layer assigns different weights to these three second-level vectors, and a weighted sum is calculated to generate the first vector representing the coded text.
[0080] In one embodiment, determining the target ICD code corresponding to the medical text from among the N ICD codes based on the first feature vector and the first vector of the N encoded texts includes:
[0081] For each encoded text, the encoding probability of the ICD encoding described by the encoded text is determined based on preset weight parameters, preset bias parameters, preset association parameters, the first feature vector, and the first vector of the encoded text.
[0082] The ICD codes whose encoding probability exceeds a preset threshold among the N ICD codes are determined as the target ICD codes corresponding to the medical text.
[0083] In this embodiment, weight parameters, bias parameters, and correlation parameters are preset. Using these parameters, the first feature vector, and the first vector of the encoded text, the encoding probability of the ICD code described by each encoded text is determined. For a detailed implementation of how to determine the encoding probability of the ICD code, please refer to subsequent embodiments.
[0084] After obtaining the encoding probability of each ICD code, the ICD codes with encoding probabilities exceeding a preset threshold are identified as the target ICD codes corresponding to the medical text. Optionally, the preset threshold is 0.5.
[0085] In this embodiment, the encoding probability of each ICD code is determined based on the weight parameter, bias parameter, correlation parameter, first feature vector, and first vector of the encoded text. Then, ICD codes with encoding probabilities exceeding a preset threshold are identified as the target ICD codes corresponding to the medical text, thereby improving the accuracy of ICD encoding of medical text.
[0086] In an optional implementation, if there is no ICD code with an encoding probability exceeding a preset threshold among the N ICD codes, it indicates that the medical text is incorrect, and the medical text is not ICD encoded.
[0087] In one embodiment, determining the encoding probability of the ICD code described by the encoded text for each encoded text, based on preset weight parameters, preset bias parameters, preset association parameters, the first feature vector, and the first vector of the encoded text, includes:
[0088] For each encoded text, calculate the product between a first vector and a first value of the encoded text; the first value is the result of calculating a second value using a hyperbolic function, and the second value is the product between the association parameter and the first feature vector;
[0089] The attention weight parameters are obtained by normalizing the product between the first vector and the first numerical value of the encoded text.
[0090] The product of the attention weight parameter and the first feature vector is determined as the text feature vector;
[0091] The sum of the third value and the paranoia parameter is determined as the encoding probability of the ICD encoding described by the encoded text; the third value is the product between the attention weight parameter and the text feature vector.
[0092] In this embodiment, for each encoded text, the encoding probability of the ICD code described by the encoded text can be determined by the following formulas (1), (2) and (3).
[0093] A = softmax(e·tanh(HW)) H )) Formula (1)
[0094] V = A·H Formula (2)
[0095] p = W binary V+b binary Formula (3)
[0096] Where p represents the encoding probability, W binary b represents the weight parameter. binary Let V represent the bias parameter, H represent the text feature vector, A represent the attention weight parameter, e represent the first vector, and W represent the first vector. H Indicates the associated parameter.
[0097] The first vector of the encoded text and the first feature vector of the medical text can be input into a pre-set attention layer to obtain the text feature vector of the encoded text. That is, the attention layer can perform the calculation steps of the above formula (1) and formula (2). The text feature vector of the encoded text is input into a pre-set binary classifier to obtain the encoding probability of the ICD code described by the encoded text. That is, the binary classifier can perform the calculation steps of the above formula (3).
[0098] In this embodiment, the first feature vector of the medical text and the first vector of the encoded text are calculated by using preset weight parameters, preset bias parameters, preset correlation parameters and formulas (1) to (3) to accurately obtain the encoding probability of each ICD code.
[0099] In one embodiment, extracting the first feature vector of the medical text to be identified includes:
[0100] The medical text is segmented to obtain multiple segments of the medical text;
[0101] Extract the word vector of each word segment to obtain multiple word vectors of the medical text;
[0102] The first feature vector of the medical text is obtained by performing convolution operations on the multiple word vectors through a preset second long short-term memory network.
[0103] In this embodiment, the word vector model described in the above embodiments can be applied to extract multiple word vectors from the medical text. As mentioned above, the word vector model includes a word segmenter and a continuous bag-of-words model. The word segmenter performs word segmentation on the medical text to obtain multiple word segments; the continuous bag-of-words model extracts the word vectors of each word segment to obtain multiple word vectors from the medical text.
[0104] In this embodiment, a second long short-term memory network is pre-configured, which is a bidirectional long short-term memory (Bi-LSTM) network. In this embodiment, multiple word vectors are input into the second long short-term memory network for convolution operations, and the output of the last network layer of the second long short-term memory network is determined as the first feature vector of the medical text.
[0105] It should be noted that medical texts are typically long text sequences, and bidirectional Long Short-Term Memory (LSTM) networks are characterized by their ability to resolve gradient vanishing and gradient explosion issues during the training of long sequences. In this embodiment, applying a bidirectional LSM network to obtain the first feature vector of the medical text avoids the impact of gradient vanishing and gradient explosion during the convolution calculation of the medical text, thereby accurately obtaining the first feature vector of the medical text.
[0106] For a better understanding of the overall technical solution of this disclosure, please refer to [link / reference]. Figure 3 , Figure 3 This is a flowchart illustrating the overall application of the ICD encoding method disclosed herein. Figure 3 In the illustrated application scenario, the ICD-9 encoding description is input into the ICD encoding representation learning module to obtain multiple first vectors. As described above, the ICD encoding representation learning module includes a word vector model, a first long short-term memory network, a first self-attention layer, a graph convolutional neural network, and a second self-attention layer. The medical text to be recognized is input into the word vector model to obtain multiple word vectors. These word vectors are then input into the second long short-term memory network to obtain first feature vectors. Based on the first feature vectors and the multiple first vectors, the encoding probability of each ICD code is calculated. ICD codes with encoding probabilities exceeding a preset threshold are identified as the target ICD codes corresponding to the medical text.
[0107] In this disclosure, the hierarchical and co-occurrence relationships between ICD codes are considered during the ICD encoding process of medical texts, so as to more comprehensively consider the correlation between different diseases and thus improve the accuracy of ICD encoding of medical texts.
[0108] Please see Figure 4 , Figure 4 This disclosure provides an ICD encoding device, such as... Figure 4 As shown, the ICD encoding device 400 includes:
[0109] The acquisition module 401 is used to acquire N encoded texts, wherein the N encoded texts are used to describe N ICD codes, and N is a positive integer greater than 1;
[0110] The first determining module 402 is used to determine the target ICD encoding layer associated with each encoded text based on the hierarchical relationship between the N ICD encodings. The N ICD encodings are pre-divided into multiple ICD encoding layers, and the target ICD encoding layer is the ICD encoding layer among the multiple ICD encoding layers.
[0111] The generation module 403 is used to generate a first vector representing the encoded text for each encoded text, based on the co-occurrence relationship between the N ICD codes and the target ICD encoding layer associated with the encoded text.
[0112] Extraction module 404 is used to extract the first feature vector of the medical text to be identified;
[0113] The second determining module 405 is used to determine the target ICD code corresponding to the medical text among the N ICD codes based on the first feature vector and the first vector of the N coded texts.
[0114] In one embodiment, the first determining module 402 is specifically used for:
[0115] For each encoded text, extract the second feature vector of the encoded text;
[0116] Based on the hierarchical relationship between the N ICD codes and the ICD codes described by the encoded text, the target encoding layer associated with the second feature vector of the encoded text is determined.
[0117] In one embodiment, the first determining module 402 is further specifically used for:
[0118] For each encoded text, the encoded text is segmented into words to obtain multiple words of the encoded text;
[0119] Extract the word vector of each word segment to obtain multiple word vectors of the encoded text;
[0120] The feature vectors of the multiple word segments are obtained by performing convolution operations on the multiple word vectors through a preset first long short-term memory network.
[0121] The second feature vector of the encoded text is generated by weighted summation of the feature vectors of each word through a preset first self-attention layer.
[0122] In one embodiment, the target ICD encoding layer includes a second feature vector of the associated encoded text;
[0123] The generation module 403 is specifically used for:
[0124] For each encoded text, a pre-defined graph convolutional neural network is used to perform convolution operations on the first-level vector of the target ICD encoding layer associated with the encoded text to obtain the second-level vector of the target ICD encoding layer; the first-level vector of the target ICD encoding layer is the average value of the second feature vectors included in the target ICD encoding layer; the adjacency matrix included in the graph convolutional neural network is determined based on the co-occurrence relationship between the N ICD codes in the pre-defined encoded text dataset;
[0125] The second-level vector of the target ICD encoding layer is weighted and summed by a preset second self-attention layer to generate a first vector representing the encoded text.
[0126] In one embodiment, the second determining module 405 is specifically used for:
[0127] For each encoded text, the encoding probability of the ICD encoding described by the encoded text is determined based on preset weight parameters, preset bias parameters, preset association parameters, the first feature vector, and the first vector of the encoded text.
[0128] The ICD codes whose encoding probability exceeds a preset threshold among the N ICD codes are determined as the target ICD codes corresponding to the medical text.
[0129] In one embodiment, the second determining module 405 is further specifically used for:
[0130] For each encoded text, calculate the product between a first vector and a first value of the encoded text; the first value is the result of calculating a second value using a hyperbolic function, and the second value is the product between the association parameter and the first feature vector;
[0131] The attention weight parameters are obtained by normalizing the product between the first vector and the first numerical value of the encoded text.
[0132] The product of the attention weight parameter and the first feature vector is determined as the text feature vector;
[0133] The sum of the third value and the paranoia parameter is determined as the encoding probability of the ICD encoding described by the encoded text; the third value is the product between the attention weight parameter and the text feature vector.
[0134] In one embodiment, the extraction module 404 is specifically used for:
[0135] The medical text is segmented to obtain multiple segments of the medical text;
[0136] Extract the word vector of each word segment to obtain multiple word vectors of the medical text;
[0137] The first feature vector of the medical text is obtained by performing convolution operations on the multiple word vectors through a preset second long short-term memory network.
[0138] The ICD encoding device provided in this disclosure can implement all the processes of the ICD encoding method provided in this disclosure and achieve the same technical effect. To avoid repetition, it will not be described in detail here.
[0139] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0140] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0141] The aforementioned electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to execute the ICD encoding method provided in this disclosure.
[0142] The aforementioned readable storage medium stores computer instructions, wherein the computer instructions are used to cause the computer to execute the ICD encoding method provided in this disclosure.
[0143] The aforementioned computer program product includes a computer program that, when executed by a processor, implements the ICD encoding method provided in this disclosure.
[0144] Figure 5 A schematic block diagram of an example electronic device 500 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0145] like Figure 5As shown, device 500 includes a computing unit 501, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 502 or a computer program loaded from storage unit 508 into random access memory (RAM) 503. RAM 503 may also store various programs and data required for the operation of device 500. The computing unit 501, ROM 502, and RAM 503 are interconnected via bus 504. Input / output (I / O) interface 505 is also connected to bus 504.
[0146] Multiple components in device 500 are connected to I / O interface 505, including: input unit 506, such as keyboard, mouse, etc.; output unit 507, such as various types of monitors, speakers, etc.; storage unit 508, such as disk, optical disk, etc.; and communication unit 509, such as network card, modem, wireless transceiver, etc. Communication unit 509 allows device 500 to exchange information / data with other devices through computer grids such as the Internet and / or various telecommunications grids.
[0147] The computing unit 501 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 performs the various methods and processes described above, such as the ICD encoding method. For example, in some embodiments, the ICD encoding method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 508. In some embodiments, part or all of the computer program may be loaded and / or installed on device 500 via ROM 502 and / or communication unit 509. When the computer program is loaded into RAM 503 and executed by the computing unit 501, one or more steps of the ICD encoding method described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to perform the ICD encoding method by any other suitable means (e.g., by means of firmware).
[0148] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0149] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0150] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0151] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0152] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or grid browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication mesh). Examples of communication meshes include local area networks (LANs), wide area networks (WANs), and the Internet.
[0153] Computer systems can include clients and servers. Clients and servers are generally geographically separated and typically interact through a communication mesh. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0154] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0155] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. An International Classification of Diseases (ICD) coding method, comprising: obtaining N coding texts, the N coding texts being respectively used to describe N ICD codes, N being a positive integer greater than 1; determining a target ICD code layer associated with each coding text based on a hierarchical relationship between the N ICD codes, the N ICD codes being divided into a plurality of ICD code layers in advance, and the target ICD code layer being an ICD code layer in the plurality of ICD code layers; generating a first vector for representing each coding text based on a co-occurrence relationship between the N ICD codes and the target ICD code layer associated with the coding text; extracting a first feature vector of a medical text to be recognized; determining a target ICD code corresponding to the medical text from the N ICD codes based on the first feature vector and the first vectors of the N coding texts.
2. The method of claim 1, wherein, The determining of the target ICD code layer associated with each coding text based on the hierarchical relationship between the N ICD codes comprises: extracting a second feature vector of each coding text; determining a target coding layer associated with the second feature vector of the coding text based on the hierarchical relationship between the N ICD codes and the ICD code described by the coding text.
3. The method of claim 2, wherein, The extracting of the second feature vector of each coding text comprises: performing word segmentation on the coding text to obtain a plurality of word segments of the coding text; extracting a word vector of each word segment to obtain a plurality of word vectors of the coding text; performing convolution operation on the plurality of word vectors through a preset first long short-term memory network to obtain a feature vector of each word segment; performing weighted summation calculation on the feature vector of each word segment through a preset first self-attention layer to generate the second feature vector of the coding text.
4. The method of claim 1, wherein, The target ICD code layer comprises the second feature vector of the associated coding text. The generating of the first vector for representing each coding text based on the co-occurrence relationship between the N ICD codes and the target ICD code layer associated with the coding text comprises: performing convolution operation on a first hierarchical vector of the target ICD code layer associated with the coding text through a preset graph convolutional neural network to obtain a second hierarchical vector of the target ICD code layer, the first hierarchical vector of the target ICD code layer being an average value of the second feature vector included in the target ICD code layer, and an adjacency matrix included in the graph convolutional neural network being determined based on the co-occurrence relationship between the N ICD codes in a preset coding text data set; performing weighted summation calculation on the second hierarchical vector of the target ICD code layer through a preset second self-attention layer to generate the first vector for representing the coding text.
5. The method of claim 1, wherein, The determining of the target ICD code corresponding to the medical text from the N ICD codes based on the first feature vector and the first vectors of the N coding texts comprises: For each coding text, based on a preset weight parameter, a preset bias parameter, a preset association parameter, the first feature vector and the first vector of the coding text, determine the coding probability of the ICD code described by the coding text; Determine the ICD code corresponding to the medical text in the N ICD codes whose coding probability exceeds a preset threshold.
6. The method of claim 5, wherein, The method for determining the coding probability of the ICD code described by the coding text includes: For each coding text, calculate the product between the first vector of the coding text and a first numerical value; the first numerical value is the calculation result of a hyperbolic function on a second numerical value, and the second numerical value is the product between the association parameter and the first feature vector; Perform normalization operation on the product between the first vector of the coding text and the first numerical value to obtain an attention weight parameter; Determine the product between the attention weight parameter and the first feature vector as a text feature vector; Determine the coding probability of the ICD code described by the coding text as the sum of a third numerical value and the bias parameter; the third numerical value is the product between the attention weight parameter and the text feature vector.
7. The method of any one of claims 1-6, wherein, The method for extracting the first feature vector of the medical text to be identified includes: Perform word segmentation processing on the medical text to obtain a plurality of word segments of the medical text; Extract the word vector of each word segment to obtain a plurality of word vectors of the medical text; Perform convolution operation on the plurality of word vectors through a preset second long short-term memory network to obtain the first feature vector of the medical text.
8. An ICD coding device, comprising: An acquisition module configured to acquire N coding texts, the N coding texts being respectively used to describe N ICD codes, N being a positive integer greater than 1; A first determination module configured to determine, based on a hierarchical relationship between the N ICD codes, a target ICD code layer associated with each coding text, the N ICD codes being pre-divided into a plurality of ICD code layers, and the target ICD code layer being an ICD code layer in the plurality of ICD code layers; A generation module configured to, for each coding text, generate a first vector used to represent the coding text based on a co-occurrence relationship between the N ICD codes and the target ICD code layer associated with the coding text; An extraction module configured to extract a first feature vector of a medical text to be identified; A second determination module configured to determine, based on the first feature vector and the first vectors of the N coding texts, a target ICD code corresponding to the medical text in the N ICD codes.
9. The apparatus of claim 8, wherein, The first determination module is specifically configured to: For each coding text, extract a second feature vector of the coding text; Determine a target coding layer associated with the second feature vector of the coding text based on the hierarchical relationship between the N ICD codes and the ICD code described by the coding text.
10. The apparatus of claim 9, wherein, The first determining module is further specifically used for: For each coded text, performing word segmentation processing on the coded text to obtain a plurality of segmented words of the coded text; extracting a word vector of each segmented word to obtain a plurality of word vectors of the coded text; performing convolution operation on the plurality of word vectors through a preset first long short-term memory network to obtain a feature vector of the plurality of segmented words; performing weighted summation calculation on the feature vector of each segmented word through a preset first self-attention layer to generate a second feature vector of the coded text.
11. The apparatus of claim 8, wherein, The target ICD coding layer includes the second feature vector of the associated coded text; The generating module is specifically used for: For each coded text, performing convolution operation on a first hierarchical vector of a target ICD coding layer associated with the coded text through a preset graph convolutional neural network to obtain a second hierarchical vector of the target ICD coding layer; the first hierarchical vector of the target ICD coding layer is an average value of the second feature vector included in the target ICD coding layer, and an adjacency matrix included in the graph convolutional neural network is determined based on a co-occurrence relationship between the N ICD codes in a preset coded text data set; performing weighted summation calculation on the second hierarchical vector of the target ICD coding layer through a preset second self-attention layer to generate a first vector for representing the coded text.
12. The apparatus of claim 8, wherein, The second determining module is specifically used for: For each coded text, determining a coding probability of an ICD code described by the coded text based on a preset weight parameter, a preset bias parameter, a preset association parameter, the first feature vector, and the first vector of the coded text; determining, as a target ICD code corresponding to the medical text, an ICD code in the N ICD codes whose coding probability exceeds a preset threshold.
13. The apparatus of claim 12, wherein, The second determining module is further specifically used for: For each coded text, calculating a product between the first vector of the coded text and a first numerical value; the first numerical value is a calculation result of a hyperbolic function on a second numerical value, and the second numerical value is a product between the association parameter and the first feature vector; performing normalization operation on the product between the first vector of the coded text and the first numerical value to obtain an attention weight parameter; determining, as a text feature vector, a product between the attention weight parameter and the first feature vector; determining, as the coding probability of the ICD code described by the coded text, a sum value of a third numerical value and the bias parameter; the third numerical value is a product between the attention weight parameter and the text feature vector.
14. The apparatus of any one of claims 8-13, wherein, The extracting module is specifically used for: performing word segmentation processing on the medical text to obtain a plurality of segmented words of the medical text; extracting a word vector of each segmented word to obtain a plurality of word vectors of the medical text; performing convolution operation on the plurality of word vectors through a preset second long short-term memory network to obtain a first feature vector of the medical text.
15. An electronic device comprising: at least one processor; and a memory connected in communication with the at least one processor; wherein, The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-7.
16. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are for causing the computer to perform the method of any one of claims 1-7.
17. A computer program product comprising a computer program which, when executed by a processor, implements the method of any one of claims 1-7.
Citation Information
Patent Citations
ICD automatic coding method for electronic medical records based on deep learning
CN111402974A
Disease coding method and system, readable storage medium and device
CN113593709A