CN112182142A - 一种药品名称标准化的映射方法和系统 - Google Patents
一种药品名称标准化的映射方法和系统 Download PDFInfo
- Publication number
- CN112182142A CN112182142A CN202011050937.1A CN202011050937A CN112182142A CN 112182142 A CN112182142 A CN 112182142A CN 202011050937 A CN202011050937 A CN 202011050937A CN 112182142 A CN112182142 A CN 112182142A
- Authority
- CN
- China
- Prior art keywords
- dosage form
- array
- hash value
- standard
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000003814 drug Substances 0.000 title claims abstract description 307
- 238000013507 mapping Methods 0.000 title claims abstract description 84
- 238000000034 method Methods 0.000 title claims abstract description 49
- 239000002552 dosage form Substances 0.000 claims abstract description 297
- 101150060512 SPATA6 gene Proteins 0.000 claims abstract description 242
- 229940079593 drug Drugs 0.000 claims abstract description 102
- 238000012545 processing Methods 0.000 claims abstract description 27
- 230000008569 process Effects 0.000 claims abstract description 11
- 238000002372 labelling Methods 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims 1
- 230000007547 defect Effects 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 229960002588 cefradine Drugs 0.000 description 2
- RDLPVSKMFDYCOR-UEKVPHQBSA-N cephradine Chemical compound C1([C@@H](N)C(=O)N[C@H]2[C@@H]3N(C2=O)C(=C(CS3)C)C(O)=O)=CCC=CC1 RDLPVSKMFDYCOR-UEKVPHQBSA-N 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- QHTOIDKCEPKVCM-ZCFIWIBFSA-N cepham Chemical compound S1CCCN2C(=O)C[C@H]21 QHTOIDKCEPKVCM-ZCFIWIBFSA-N 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002547 new drug Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 235000021110 pickles Nutrition 0.000 description 1
- -1 saladine Chemical compound 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/325—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明公开了一种药品名称标准化的映射方法和系统,该方法包括对建立的标准列表进行处理以生成有序哈希值数组;有序哈希值数组包括标准药名有序哈希值数组和关键词‑剂型对照有序哈希值数组;获取原始语料以生成药名顺序子字符串哈希值数组,在标准药名有序哈希值数组中进行二分法查找,若存在,则匹配符合规则的标准药名,再判断出该标准药名对应的剂型子数组是否唯一;若剂型唯一,一并返回剂型以完成标准化映射过程;若剂型不唯一,再将其在关键词‑剂型对照有序哈希值数组中进行二分法查找,以得到正确的剂型;其有益效果是:在有序哈希数组中做二分法查找,克服了简单字符匹配中轮询低效的缺陷;降低了人工劳动强度、大大提高匹配效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种药品名称标准化的映射方法和系统。
背景技术
由于各个医疗机构在使用药名时各有规范,具有一定的随意性,与医保局中的标准药品名称目录存在差异,所以药名的标准化映射是医疗、保险等行业的一项日常工作。常规的做法是由药学专家人工校正,建立来自医疗机构的非标药名与标准药名、非标剂型与标准剂型之间的映射,此工作费时费力,且匹配效率低。而计算机处理中,简单的字符匹配,能够覆盖的非标药名很少,且运行效率低,应用十分有限。
因此,亟需一种能够极大的改善此领域工作效率的技术方案。
发明内容
本发明的发明目的在于:提供了一种药品名称标准化的映射方法和系统,以克服现有技术中所存在的费时费力、匹配效率低的缺陷。
第一方面:一种药品名称标准化的映射方法,所述方法包括以下步骤:
建立标准列表;所述标准列表包括标准药名列表和关键词-剂型对照列表;
对所述标准列表进行处理以生成对应的有序哈希值数组;所述有序哈希值数组包括标准药名有序哈希值数组和关键词-剂型对照有序哈希值数组;所述标准药名有序哈希值数组中包含剂型子数组;
获取待映射的原始语料;
对所述原始语料进行处理以生成药名顺序子字符串哈希值数组,并根据药名标准化匹配规则在所述标准药名有序哈希值数组中进行查找,若存在,则匹配符合规则的标准药名,再判断出该标准药名对应的剂型子数组是否唯一;
若剂型唯一,一并返回剂型以完成标准化映射过程;
若剂型不唯一,再将药名顺序子字符串哈希值数组在所述关键词-剂型对照有序哈希值数组中进行二分法查找,并根据剂型标准化匹配规则进行匹配,若存在结果,则得出所述原始语料所对应的关键词-剂型对照表中的剂型,再与标准药名有序哈希值数组中剂型子数组的剂型结合后匹配交集,得到正确的剂型,以完成标准化映射。
作为本申请一种可选的实施方式,所述方法还包括:
在所述标准药名或剂型不存在、无法匹配时,通过设有的预测模型对所述原始语料进行处理,以预测出对应的标准药名和剂型;其中,所述预测模型为Bert预测模型,由获取的标准药名映射标注数据训练而成。
作为本申请一种可选的实施方式,所述对所述原始语料进行处理以生成药名顺序子字符串哈希值数组,具体包括:
将所述原始语料中的药名截取为多个连续的子字符串,按照从长到短、从左到右对子字符串排序,以生成字符串数组;
对所述字符串数组中的每一个子字符串,计算APHash哈希值,该哈希值形成的数组顺序,与前一步的数组顺序保持一致,进而得到所述药名顺序子字符串哈希值数组。
作为本申请一种可选的实施方式,所述根据药名标准化匹配规则在所述标准药名有序哈希值数组中进行查找,具体包括:
将所述药名顺序子字符串哈希值数组中的每一个哈希值,在所述标准药名有序哈希值数组中采用二分法查找该值是否存在,若发现有值存在,则找到第一个值后即停止继续查找,并返回该值和该值的数组下标;其中,所述药名标准化匹配规则包括字符长度最长原则和左侧优先原则两种。
作为本申请一种可选的实施方式,所述若剂型不唯一,则再将药名顺序子字符串哈希值数组在所述关键词-剂型对照有序哈希值数组中进行查找,并根据剂型标准化匹配规则进行匹配,若存在结果,则得出所述原始语料所对应的关键词-剂型对照表中的剂型,再与标准药名有序哈希值数组中剂型子数组的剂型结合后匹配出交集,得出所述标准药名所对应的剂型,以完成标准化映射,具体包括:
将所述标准药名采用APHash算法对药名中的连续子字符串计算哈希值,生成有序的子字符串哈希值数组;
再将所述子字符串哈希值数组的哈希值与生成的所述关键词-剂型对照表哈希值数组中的关键词哈希数字串做二分查找匹配,如果根据剂型标准化匹配规则存在一致值,则读取该关键词的剂型子数组;
将该关键词的剂型子数组与该标准药名对应的所述标准药名有序哈希数组中的剂型子数组进行匹配,分以下情况进行处理;
若该关键词的剂型子数组只有一个剂型,且与所述标准药名有序哈希数组中的剂型子数组中的一个剂型相符,则返回该剂型,与所述标准药名组合,形成映射结果;
若该关键词的剂型子数组中有多个剂型,且与所述标准药名有序哈希数组中的剂型子数组有且只有一个交集,则返回该交集元素,与所述标准药名组合,形成映射结果;其中,所述剂型标准化匹配规则为关键词-剂型对照表排序优先原则。
第二方面:一种药品名称标准化的映射系统,所述系统包括:
标准药名和关键词-剂型对照有序哈希数组生成模块,用于对标准列表进行处理以生成对应的有序哈希值数组;所述标准列表包括标准药名列表和关键词-剂型对照列表,所述标准列表中的数据通过预先获取并存储所得;所述有序哈希值数组包括标准药名有序哈希值数组和关键词-剂型对照有序哈希值数组;所述标准药名有序哈希值数组中包含剂型子数组;
药名标准匹配映射模块,用于:
获取待映射的原始语料;
对所述原始语料进行处理以生成药名顺序子字符串哈希值数组,并根据药名标准化匹配规则在所述标准药名有序哈希值数组中进行查找,若存在,则匹配符合规则的标准药名;
剂型匹配映射模块,用于:
判断出该标准药名对应的剂型子数组是否唯一;
若剂型唯一,一并返回剂型以完成标准化映射过程;
若剂型不唯一,则再将药名顺序子字符串哈希值数组在所述关键词-剂型对照有序哈希值数组中进行查找,并根据剂型标准化匹配规则进行匹配,若存在结果,则得出所述原始语料所对应的关键词-剂型对照表中的剂型,与标准药名有序哈希值数组中剂型子数组的剂型结合后匹配交集,得出所述标准药名所对应的剂型,以完成标准化映射。
作为本申请一种可选的实施方式,所述系统还包括Bert预测模块,用于:
在所述标准药名或剂型不存在、无法匹配时,通过设有的预测模型对所述原始语料进行处理,以预测出对应的标准药名和剂型;其中,所述预测模型为Bert预测模型,由获取的标准药名映射标注数据训练而成。
作为本申请一种可选的实施方式,所述对所述原始语料进行处理以生成药名顺序子字符串哈希值数组,具体包括:
将所述原始语料中的药名截取为多个连续的子字符串,按照从长到短、从左到右对子字符串排序,以生成字符串数组;
对所述字符串数组中的每一个子字符串,计算APHash哈希值,该哈希值形成的数组顺序,与前一步的数组顺序保持一致,进而得到所述药名顺序子字符串哈希值数组。
作为本申请一种可选的实施方式,所述根据药名标准化匹配规则在所述标准药名有序哈希值数组中进行查找,具体包括:
将所述药名顺序子字符串哈希值数组中的每一个哈希值,在所述标准药名有序哈希值数组中采用排序法查找该值是否存在,若发现有值存在,则找到第一个值后即停止继续查找,并返回该值和该值的数组下标;其中,所述药名标准化匹配规则为包括字符长度最长原则和左侧优先原则两种。
作为本申请一种可选的实施方式,所述若剂型不唯一,则对药名顺序子字符串哈希值数组在所述关键词-剂型对照有序哈希值数组中进行查找,并根据剂型标准化匹配规则进行匹配,若存在结果,则得出所述原始语料所对应的关键词-剂型对照表中的剂型,再与标准药名有序哈希值数组中剂型子数组的剂型结合后匹配交集,得出所述标准药名所对应的剂型,以完成标准化映射,具体包括:
将所述标准药名采用APHash算法对药名中的连续子字符串计算哈希值,生成有序的子字符串哈希值数组;
再将所述子字符串哈希值数组的哈希值与生成的所述关键词-剂型对照表哈希值数组中的关键词哈希数字串做二分查找匹配,如果根据剂型标准化匹配规则存在一致值,则读取该关键词的剂型子数组;
将该关键词的剂型子数组与该标准药名对应的所述标准药名有序哈希数组中的剂型子数组进行匹配,分以下情况进行处理;
若该关键词的剂型子数组只有一个剂型,且与所述标准药名有序哈希数组中的剂型子数组中的一个剂型相符,则返回该剂型,与所述标准药名组合,形成映射结果;
若该关键词的剂型子数组中有多个剂型,且与所述标准药名有序哈希数组中的剂型子数组有且只有一个交集,则返回该交集元素,与所述标准药名组合,形成映射结果;其中,所述剂型标准化匹配规则为关键词-剂型对照表排序优先原则。
采用上述技术方案,具有以下优点:本发明提出的一种药品名称标准化的映射方法和系统,通过对建立的标准列表进行处理生成对应的有序哈希值数组,并将待映射的原始语料生成药名顺序子字符串哈希值数组,以在标准药名有序哈希值数组和关键词-剂型对照有序哈希值数组中进行查找、匹配,以完成标准化映射过程;所采用药名和剂型字符匹配的方法,可覆盖非标准药名对标准药名映射、非标准剂型对标准剂型映射情况中的绝大部分情况。所采用映射时在有序哈希数组中做二分法查找的方法,克服了简单的字符匹配低效的缺陷;并且整个过程无需人工操作,降低了人工劳动强度、大大提高匹配效率,且有效保证了匹配精度。
附图说明
图1是本发明实施例所提供的一种药品名称标准化的映射方法的流程图;
图2是本发明实施例所提供的标准药名有序哈希值数组的一种数据格式的结构示意图;
图3是本发明实施例所提供的一种药品名称标准化的映射系统的系统架构图。
具体实施方式
下面将详细描述本发明的具体实施例,应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。在以下描述中,为了提供对本发明的透彻理解,阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。
在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”、“在实施例中”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和、或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的示图都是为了说明的目的,并且示图不一定是按比例绘制的。
下面结合附图,对本发明作详细的说明。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
本发明中的相关名词解释:
药名通用名:药品的通用名称,是根据国际通用药品名称、卫生部药典委员会《新药审批办法》的规定命名的。
药名异名:是由于一定历史原因造成某药曾在一段时间使用过一个名称,后又统一改为现今的通用名称,这种曾使用一段时间、人们已习惯的名称即称为异名。
药名标准名:包括药品通用名和药名异名,都是标准名。
二分法查找:一种计算机中查找数据的算法,二分法查找适用于数据量较大时,但是数据需要先排好顺序。
哈希算法:又称散列、杂凑算法。是把任意长度的输入,通过散列算法变换成固定长度的输出,该输出就是散列值。
Bert:BERT模型是Google在2018年提出的一种NLP模型,属于深度学习技术,其结构采用Transformer的Encoder,基于海量文本数据进行预训练生成的模型。在NLP领域取得领先的效果。
参考图1至图2所示,一种药品名称标准化的映射方法,所述方法包括以下步骤,而各步骤均是以服务器为执行主体。
S101,建立标准列表;所述标准列表包括标准药名列表和关键词-剂型对照列表。
具体地,在本实施例中,采用excel格式生成以上列表。“标准药名列表”包括字段:药品码、通用名、大剂型名称、异名。标准药名列表中共计包含4410条数据,为国家药典中采用的标准数据。“关键词-剂型对照列表”包括字段:剂型排序ID、剂型关键词、大剂型标准名称。“关键词-剂型对照列表”表中共计包含60条数据。
相应的,还获取有“标准药名映射标注数据”包括字段:原始药品码、原始药名名称、标注的标准药品码、标注的标准药品名称、标注的大剂型。“标准药名映射标注数据”共计含有10万条标注语料,其来源于医学专家针对医院电子病历中抽取的10万条药品名称所人工映射的标准药名标注。
S102,对所述标准列表进行处理以生成对应的有序哈希值数组;所述有序哈希值数组包括标准药名有序哈希值数组和关键词-剂型对照有序哈希值数组;所述标准药名有序哈希值数组中包含剂型子数组。
具体地,采用APHash哈希算法,为“标准药名列表”中每一个通用药名和药的异名(通用药名和异名,都属于标准药名。一个通用药名可对应多个异名),生成哈希数字串,并基于哈希数字串的整数大小,对该数组进行排序。生成如下格式的数组:
【【药名哈希数字串,标准通用名名称,对应通用名数组下标,【剂型名称1,剂型名称2……】】,【】】,其具体格式参照图2所示;
药名哈希数字串是一个9位的整数,例如904122311,上面的数组中,数组元素根据“标准药名哈希数字串”大小排序,形成有序的数组;
对应的,根据“关键词-剂型对照表”(一个顺序表),生成“关键词-剂型对照表哈希值数组”。其方法是,采用APHash哈希算法,为“关键词-剂型对照表”中每一个剂型关键词生成哈希数字串,并基于哈希数字的大小,对该数组进行排序。生成如下格式的数组:【【关键词哈希数字串,在“关键词-剂型对照表”中的排序ID,【剂型名称1,剂型名称2……】】,【】】;
关键词哈希数字串是一个9位的整数,同样的,在数组中,数组元素根据“关键词哈希数字串”大小排序,形成有序的数组。
生成的数组列表,使用Pickle方法生成二进制文件并做持久化存储,存储在计算机的硬盘上。在“标准药名列表”、“关键词-剂型对照列表”更新的时候,重新生成并更新存储的文件。在需要应用的时候,读取“标准药名有序哈希值数组”和“关键词-剂型对照有序哈希值数组”到内存。
S103,获取待映射的原始语料。
具体地,所述原始语料来自于医院的病历数据、处方数据等。
S104,对所述原始语料进行处理以生成药名顺序子字符串哈希值数组,并根据药名标准化匹配规则在所述标准药名有序哈希值数组中进行查找,若存在,则匹配符合规则的标准药名,再判断出该标准药名对应的剂型子数组中剂型元素是否唯一。
具体地,所述对所述原始语料进行处理以生成药名顺序子字符串哈希值数组,包括:
将所述原始语料中的药名截取为多个连续的子字符串,按照从长到短、从左到右对子字符串排序,以生成字符串数组;
对所述字符串数组中的每一个子字符串,计算APHash哈希值,该哈希值形成的数组顺序,与前一步的数组顺序保持一致,进而得到所述药名顺序子字符串哈希值数组。
即,在药名中截取连续的子字符串,并用子字符串生成长度大到小,位置从左到右的顺序数组。该数组中第一个子字符串为药名本身。如果某个长度值上,存在多个字符串,则偏左的字符串排序在前。
例如,药名若为ABCDE,则其中包含的连续子字符串形成数组为:【ABCDE,ABCD,BCDE,ABC,BCD,CDE,AB,BC,CD,DE,A,B,C,D,E】。又例,药名若为“头孢拉定”,则其中包含的连续子字符串形成数组为:【头孢拉定,头孢拉,孢拉定,头孢,孢拉,拉定,头,孢,拉,定】。
也就是说,如果药名中含有的字符(一个中文字、一个英文字母都视为一个字符)数量为n,则其中可截取的连续子字符串数量为:
再采用APHash哈希算法对生成的数组中的每一元素(即每一个子字符串)计算哈希值,共得到个哈希值,生成新的哈希值数组。一个哈希值数组的示例如下:【955878631,614636190,748983222,826350246,648573880,962178387,292524245,446526085,393521640,66752345】
该哈希值形成的数组元素顺序,与前一步骤的数组顺序保持一致。即“原始语料”的子字符串顺序数组中子字符串的长度大、在药名中位置偏左的子字符串哈希值排在数组的前面。
其中,所述根据药名标准化匹配规则在所述标准药名有序哈希值数组中进行查找,具体包括:
将所述药名顺序子字符串哈希值数组中的每一个哈希值,在所述标准药名有序哈希值数组中采用二分法查找该值是否存在,若发现有值存在,则找到第一个值后即停止继续查找,并返回该值和该值的数组下标;其中,所述药名标准化匹配规则包括字符长度最长原则和左侧优先原则两种。
在药名顺序子字符串哈希值数组生成时按照这两种规则执行,即长的子字符串哈希值在前,长度相同则靠左的子字符串哈希值在前。在标准药名有序哈希值数组中采用二分法查找时,从药名顺序子字符串哈希值数组的第一个元素,即最长且最靠左的子字符串哈希值开始,依次查找,找到第一个匹配值后即停止,该值符合药名标准化匹配规则。
S105,若剂型唯一,一并返回剂型以完成标准化映射过程。
即,查找出该药名的哈希数字串在“标准药名有序哈希值数组”中匹配的标准药名哈希数字串,如图2所示,根据“标准药名哈希字符串”(即为图2的“药名哈希字符串”)查找对应的剂型子数组,如果该子数组中只有一个大剂型,则返回该剂型,完成药名标准化映射。
S106,若剂型不唯一(即若匹配的标准药名有序哈希值数组中剂型子数组的剂型不唯一),再将药名顺序子字符串哈希值数组在所述关键词-剂型对照有序哈希值数组中进行二分法查找,并根据剂型标准化匹配规则进行匹配,若存在结果,则得出所述原始语料所对应的关键词-剂型对照表中的剂型,再与标准药名有序哈希值数组中剂型子数组的剂型结合后匹配交集,得到正确的剂型,以完成标准化映射。
具体地,将所述标准药名采用APHash算法对药名中的连续子字符串计算哈希值,生成有序的子字符串哈希值数组;
再将所述子字符串哈希值数组的哈希值与生成的所述关键词-剂型对照表哈希值数组中的关键词哈希数字串做二分查找匹配,如果根据剂型标准化匹配规则存在一致值,则读取该关键词的剂型子数组;
将该关键词的剂型子数组与该标准药名对应的所述标准药名有序哈希数组中的剂型子数组进行匹配,分以下情况进行处理;
若该关键词的剂型子数组只有一个剂型,且与所述标准药名有序哈希数组中的剂型子数组中的一个剂型相符,则返回该剂型,与所述标准药名组合,形成映射结果;
若该关键词的剂型子数组中有多个剂型,且与所述标准药名有序哈希数组中的剂型子数组有且只有一个交集,则返回该交集元素,与所述标准药名组合,形成映射结果;其中,所述剂型标准化匹配规则为关键词-剂型对照表排序优先原则。
在关键词-剂型对照表哈希值数组中采用二分法查找时,为药名顺序子字符串哈希值数组中的所有元素,找到所有匹配值,根据所有匹配值在关键词-剂型对照表哈希值数组中的排序ID,选取其中最小的ID作为匹配结果。
在另一实施例中,为了进一步实现映射效率和范围的提高,所述方法还包括:
在所述标准药名或剂型不存在、无法匹配时,通过设有的预测模型对所述原始语料进行处理,以预测出对应的标准药名和剂型;其中,所述预测模型为Bert预测模型,由获取的标准药名映射标注数据训练而成。
具体地,还用于在将该关键词的剂型子数组与该标准药名对应的所述标准药名有序哈希数组中的剂型子数组进行匹配时,下列情况的使用;
1、如果不存在一致值,则不返回值,进入Bert预测分类步骤;
2、如果交集中存在多个一致值,则不返回值,进入Bert预测分类步骤;
通过上述方案,可精准覆盖非标准药名对标准药名映射、非标准剂型对标准剂型映射情况中的大部分情况,再结合以Bert人工智能方法,能够在药名映射中达到更高的准确率;并且本技术方案中采用的哈希数组二分查找法,极大地提高了药名字符和剂型字符匹配法的运算效率,综合而言,本发明在药名标准化映射工作中可提高效率和准确率,对比其他方法,本发明具有明显的优势,所以本发明可成为药名标准化映射系统的通用方法。
参考图3所示,本发明实施例还提供了一种药品名称标准化的映射系统,所述系统包括:
标准药名和关键词-剂型对照有序哈希数组生成模块,用于对标准列表进行处理以生成对应的有序哈希值数组;所述标准列表包括标准药名列表和关键词-剂型对照列表,所述标准列表中的数据通过预先获取并存储所得;所述有序哈希值数组包括标准药名有序哈希值数组和关键词-剂型对照有序哈希值数组;所述标准药名有序哈希值数组中包含剂型子数组;
在本实施例中,采用Python开发。此模块基于“标准药名列表”和“关键词-剂型对照表”生成有序哈希数组,用于后续实现快速的二分法检索。
药名标准匹配映射模块,用于:获取待映射的原始语料(即图3中的原始待映射语料);
对所述原始语料进行处理以生成药名顺序子字符串哈希值数组;
具体地,将所述原始语料中的药名截取为多个连续的子字符串,按照从长到短、从左到右对子字符串排序,以生成字符串数组;
对所述字符串数组中的每一个子字符串,计算APHash哈希值,该哈希值形成的数组顺序,与前一步的数组顺序保持一致,进而得到所述药名顺序子字符串哈希值数组。
并根据药名标准化匹配规则在所述标准药名有序哈希值数组中进行查找,若存在,则匹配符合规则的标准药名;
具体包括:
将所述药名顺序子字符串哈希值数组中的每一个哈希值,在所述标准药名有序哈希值数组中采用二分法查找该值是否存在,若发现有值存在,则找到第一个值后即停止继续查找,并返回该值和该值的数组下标。
此模块基于Python开发,对“待映射的药名语料(即待映射的原始语料)”做APHash哈希运算,得到该药名语料的哈希数字串。从“标准药名有序哈希值数组”中,采用二分法快速查询“药名语料的哈希数字串”。根据预设的顺序和筛选规则,获得该药名语料在数组中匹配的标准哈希值。
剂型匹配映射模块,用于:
判断出该标准药名对应的剂型子数组中剂型元素是否唯一;
若剂型唯一,一并返回剂型以完成标准化映射过程;
具体地,查找出该药名的哈希数字串在“标准药名有序哈希值数组”中匹配的标准药名哈希数字串,再根据“药名哈希字符串”查找对应的剂型子数组,如果该子数组中只有一个大剂型,则返回该剂型,完成药名标准化映射。
若剂型不唯一,则再将药名顺序子字符串哈希值数组在所述关键词-剂型对照有序哈希值数组中进行查找,并根据剂型标准化匹配规则进行匹配,若存在结果,则得出所述原始语料所对应的关键词-剂型对照表中的剂型,与标准药名有序哈希值数组中剂型子数组的剂型结合后匹配交集,得出所述标准药名所对应的剂型,以完成标准化映射。
具体地,将所述标准药名采用APHash算法对药名中的连续子字符串计算哈希值,生成有序的子字符串哈希值数组;
再将所述子字符串哈希值数组的哈希值与生成的所述关键词-剂型对照表哈希值数组中的关键词哈希数字串做二分查找匹配,如果根据剂型标准化匹配规则存在一致值,则读取该关键词的剂型子数组;
将该关键词的剂型子数组与该标准药名对应的所述标准药名有序哈希数组中的剂型子数组进行匹配,分以下情况进行处理;
若该关键词的剂型子数组只有一个剂型,且与所述标准药名有序哈希数组中的剂型子数组中的一个剂型相符,则返回该剂型,与所述标准药名组合,形成映射结果;
若该关键词的剂型子数组中有多个剂型,且与所述标准药名有序哈希数组中的剂型子数组有且只有一个交集,则返回该交集元素,与所述标准药名组合,形成映射结果。
此模块基于Python开发,根据“药名标准匹配映射模块”中为药名语料匹配的标准药名哈希,获得该标准药名对应的“剂型名称”,如果该标准药名只有一个剂型,则完成药名标准化映射,返回值为“标准药名+剂型”。
如果标准药名对应的剂型为多个(即不唯一),则基于“关键词-剂型对照表有序哈希数组”,针对待分类药名语料的子字符串数组元素,在“关键词-剂型对照表有序哈希数组”中按二分法查找匹配的剂型关键词,并返回该关键词在“关键词-剂型对照表”中的顺序ID,根据最小的顺序ID返回最优先的关键词;根据该关键词返回对应的剂型数组,将该剂型数组与“标准药名有序哈希数组”中所匹配的剂型数组对照检索,如果有一条且只有一条剂型匹配,则返回该剂型值,则完成药名标准化映射,返回值为“标准药名+剂型”;否则,要么没有匹配值,要么有多条匹配值,则不返回值。
进一步地,为了应对无匹配、存在多条匹配等情况的应用,所述系统还包括Bert预测模块,用于:
在所述标准药名或剂型不存在、无法匹配时,通过设有的预测模型对所述原始语料进行处理,以预测出对应的标准药名和剂型;其中,所述预测模型为Bert预测模型,由获取的标准药名映射标注数据训练而成;
具体地,还用于在将该关键词的剂型子数组与该标准药名对应的所述标准药名有序哈希数组中的剂型子数组进行匹配时,下列情况的使用;
1、如果不存在一致值,则不返回值,进入Bert预测分类步骤;
2、如果交集中存在多个一致值,则不返回值,进入Bert预测分类步骤;
参照图3可知,该系统通过Bert训练模块并基于标准药名映射标注数据和Bert预训练模型,采用Pytorch框架训练Bert药名标准映射模型,具体训练过程,本领域技术人员应当清楚,在此不再赘述。
该系统还包括用户应用接口模块。
此模块基于Python和Flask框架开发,提供整体应用逻辑业务和用户操作的web页面。
本模块还提供集成功能,实现“药名标准匹配映射模块”、“剂型匹配映射模块”和“Bert预测模块”三模块的流程集成。
本模块提供批量预测功能,即,用户可上载符合格式要求的Excel表,表中存储待预测的药名语料,系统对语料进行预测,预测值填入表格中对应的列。
本模块提供Json格式的数据接口,接受来自其他系统的调用,对其他第三方系统传入的“待预测的药名语料”进行预测处理,通过接口返回预测值;接口的访问通过用户名和密码生成Token访问,以解决访问权限和系统安全问题。
本模块提供用户Web界面,可通过用户名和密码访问系统,在Web界面录入“待预测的药名语料”,系统在页面上返回并展现预测结果值。
需要说明的是,系统实施的一些具体实现方式可参照前文方法实施例中的描述,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种药品名称标准化的映射方法,其特征在于,所述方法包括以下步骤:
建立标准列表;所述标准列表包括标准药名列表和关键词-剂型对照列表;
对所述标准列表进行处理以生成对应的有序哈希值数组;所述有序哈希值数组包括标准药名有序哈希值数组和关键词-剂型对照有序哈希值数组;所述标准药名有序哈希值数组中包含剂型子数组;
获取待映射的原始语料;
对所述原始语料进行处理以生成药名顺序子字符串哈希值数组,并根据药名标准化匹配规则在所述标准药名有序哈希值数组中进行查找,若存在,则匹配符合规则的标准药名,再判断出该标准药名对应的剂型子数组中剂型元素是否唯一;
若剂型唯一,一并返回剂型以完成标准化映射过程;
若剂型不唯一,再将药名顺序子字符串哈希值数组在所述关键词-剂型对照有序哈希值数组中进行二分法查找,并根据剂型标准化匹配规则进行匹配,若存在结果,则得出所述原始语料所对应的关键词-剂型对照表中的剂型,再与标准药名有序哈希值数组中剂型子数组的剂型结合后匹配交集,得到正确的剂型,以完成标准化映射。
2.根据权利要求1所述的一种药品名称标准化的映射方法,其特征在于,所述方法还包括:
在所述标准药名或剂型不存在、无法匹配时,通过设有的预测模型对所述原始语料进行处理,以预测出对应的标准药名和剂型;其中,所述预测模型为Bert预测模型,由获取的标准药名映射标注数据训练而成。
3.根据权利要求1所述的一种药品名称标准化的映射方法,其特征在于,所述对所述原始语料进行处理以生成药名顺序子字符串哈希值数组,具体包括:
将所述原始语料中的药名截取为多个连续的子字符串,按照从长到短、从左到右对子字符串排序,以生成字符串数组;
对所述字符串数组中的每一个子字符串,计算APHash哈希值,该哈希值形成的数组顺序,与前一步的数组顺序保持一致,进而得到所述药名顺序子字符串哈希值数组。
4.根据权利要求3所述的一种药品名称标准化的映射方法,其特征在于,所述根据药名标准化匹配规则在所述标准药名有序哈希值数组中进行查找,具体包括:
将所述药名顺序子字符串哈希值数组中的每一个哈希值,在所述标准药名有序哈希值数组中采用二分法查找该值是否存在,若发现有值存在,则找到第一个值后即停止继续查找,并返回该值和该值的数组下标;其中,所述药名标准化匹配规则包括字符长度最长原则和左侧优先原则。
5.根据权利要求1所述的一种药品名称标准化的映射方法,其特征在于,所述若剂型不唯一,再将药名顺序子字符串哈希值数组在所述关键词-剂型对照有序哈希值数组中进行查找,并根据剂型标准化匹配规则进行匹配,若存在结果,则得出所述原始语料所对应的关键词-剂型对照表中的剂型,再与标准药名有序哈希值数组中剂型子数组的剂型结合后匹配交集,得出正确的剂型,具体包括:
将所述标准药名采用APHash算法对药名中的连续子字符串计算哈希值,生成有序的子字符串哈希值数组;
再将所述子字符串哈希值数组的哈希值与生成的所述关键词-剂型对照表哈希值数组中的关键词哈希数字串做二分查找匹配,如果根据剂型标准化匹配规则存在一致值,则读取该关键词的剂型子数组;
将该关键词的剂型子数组与该标准药名对应的所述标准药名有序哈希数组中的剂型子数组进行匹配,分以下情况进行处理;
若该关键词的剂型子数组只有一个剂型,且与所述标准药名有序哈希数组中的剂型子数组中的一个剂型相符,则返回该剂型,与所述标准药名组合,形成映射结果;
若该关键词的剂型子数组中有多个剂型,且与所述标准药名有序哈希数组中的剂型子数组有且只有一个交集,则返回该交集元素,与所述标准药名组合,形成映射结果;其中,所述剂型标准化匹配规则为关键词-剂型对照表排序优先原则。
6.一种药品名称标准化的映射系统,所述系统包括:
标准药名和关键词-剂型对照有序哈希数组生成模块,用于对标准列表进行处理以生成对应的有序哈希值数组;所述标准列表包括标准药名列表和关键词-剂型对照列表,所述标准列表中的数据通过预先获取并存储所得;所述有序哈希值数组包括标准药名有序哈希值数组和关键词-剂型对照有序哈希值数组;所述标准药名有序哈希值数组中包含剂型子数组;
药名标准匹配映射模块,用于:
获取待映射的原始语料;
对所述原始语料进行处理以生成药名顺序子字符串哈希值数组,并根据药名标准化匹配规则在所述标准药名有序哈希值数组中进行查找,若存在,则匹配符合规则的标准药名;
剂型匹配映射模块,用于:
判断出该标准药名对应的剂型子数组是否唯一;
若剂型唯一,一并返回剂型以完成标准化映射过程;
若剂型不唯一,则再将药名顺序子字符串哈希值数组在所述关键词-剂型对照有序哈希值数组中进行查找,并根据剂型标准化匹配规则进行匹配,若存在结果,则得出所述原始语料所对应的关键词-剂型对照表中的剂型,与标准药名有序哈希值数组中剂型子数组的剂型结合后匹配交集,得出所述标准药名所对应的剂型,以完成标准化映射。
7.根据权利要求6所述的一种药品名称标准化的映射系统,其特征在于,所述系统还包括Bert预测模块,用于:
在所述标准药名或剂型不存在、无法匹配时,通过设有的预测模型对所述原始语料进行处理,以预测出对应的标准药名和剂型;其中,所述预测模型为Bert预测模型,由获取的标准药名映射标注数据训练而成。
8.根据权利要求6所述的一种药品名称标准化的映射系统,其特征在于,所述对所述原始语料进行处理以生成药名顺序子字符串哈希值数组,具体包括:
将所述原始语料中的药名截取为多个连续的子字符串,按照从长到短、从左到右对子字符串排序,以生成字符串数组;
对所述字符串数组中的每一个子字符串,计算APHash哈希值,该哈希值形成的数组顺序,与前一步的数组顺序保持一致,进而得到所述药名顺序子字符串哈希值数组。
9.根据权利要求7所述的一种药品名称标准化的映射系统,其特征在于,所述根据药名标准化匹配规则在所述标准药名有序哈希值数组中进行查找,具体包括:
将所述药名顺序子字符串哈希值数组中的每一个哈希值,在所述标准药名有序哈希值数组中采用二分法查找该值是否存在,若发现有值存在,则找到第一个值后即停止继续查找,并返回该值和该值的数组下标;其中,所述药名标准化匹配规则包括字符长度最长原则和左侧优先原则两种。
10.根据权利要求6所述的一种药品名称标准化的映射系统,其特征在于,所述若剂型不唯一,则对药名顺序子字符串哈希值数组在所述关键词-剂型对照有序哈希值数组中进行查找,并根据剂型标准化匹配规则进行匹配,若存在结果,则得出所述原始语料所对应的关键词-剂型对照表中的剂型,再与标准药名有序哈希值数组中剂型子数组的剂型结合后匹配交集,得出所述标准药名所对应的剂型,以完成标准化映射,具体包括:
将所述标准药名采用APHash算法对药名中的连续子字符串计算哈希值,生成有序的子字符串哈希值数组;
再将所述子字符串哈希值数组的哈希值与生成的所述关键词-剂型对照表哈希值数组中的关键词哈希数字串做二分查找匹配,如果根据剂型标准化匹配规则存在一致值,则读取该关键词的剂型子数组;
将该关键词的剂型子数组与该标准药名对应的所述标准药名有序哈希数组中的剂型子数组进行匹配,分以下情况进行处理;
若该关键词的剂型子数组只有一个剂型,且与所述标准药名有序哈希数组中的剂型子数组中的一个剂型相符,则返回该剂型,与所述标准药名组合,形成映射结果;
若该关键词的剂型子数组中有多个剂型,且与所述标准药名有序哈希数组中的剂型子数组有且只有一个交集,则返回该交集元素,与所述标准药名组合,形成映射结果;其中,所述剂型标准化匹配规则为关键词-剂型对照表排序优先原则。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011050937.1A CN112182142A (zh) | 2020-09-29 | 2020-09-29 | 一种药品名称标准化的映射方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011050937.1A CN112182142A (zh) | 2020-09-29 | 2020-09-29 | 一种药品名称标准化的映射方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112182142A true CN112182142A (zh) | 2021-01-05 |
Family
ID=73945876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011050937.1A Pending CN112182142A (zh) | 2020-09-29 | 2020-09-29 | 一种药品名称标准化的映射方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112182142A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168807A (zh) * | 2021-11-22 | 2022-03-11 | 中核核电运行管理有限公司 | 字符串匹配方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010124513A1 (zh) * | 2009-04-30 | 2010-11-04 | 广东国笔科技股份有限公司 | 功能实时联想型交互系统及方法 |
CN110634548A (zh) * | 2019-09-23 | 2019-12-31 | 重庆华医康道科技有限公司 | 一种基于区块链的配药核药快速匹配方法 |
EP3637431A1 (en) * | 2018-10-12 | 2020-04-15 | Fujitsu Limited | Medical diagnostic aid and method |
CN111475686A (zh) * | 2020-03-17 | 2020-07-31 | 平安科技(深圳)有限公司 | 一种药品分类方法、装置、存储介质和智能设备 |
-
2020
- 2020-09-29 CN CN202011050937.1A patent/CN112182142A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010124513A1 (zh) * | 2009-04-30 | 2010-11-04 | 广东国笔科技股份有限公司 | 功能实时联想型交互系统及方法 |
EP3637431A1 (en) * | 2018-10-12 | 2020-04-15 | Fujitsu Limited | Medical diagnostic aid and method |
CN110634548A (zh) * | 2019-09-23 | 2019-12-31 | 重庆华医康道科技有限公司 | 一种基于区块链的配药核药快速匹配方法 |
CN111475686A (zh) * | 2020-03-17 | 2020-07-31 | 平安科技(深圳)有限公司 | 一种药品分类方法、装置、存储介质和智能设备 |
Non-Patent Citations (2)
Title |
---|
MATTHEW A. LEVIN 等: "Extraction and Mapping of Drug Names from Free Text to a Standardized Nomenclature", AMIA ANNU SYMP PROC, 31 December 2007 (2007-12-31), pages 438 * |
叶鹏 等: "顾及字符特征的中文地名词典查询方法", 地球信息科学, vol. 20, no. 7, 31 July 2018 (2018-07-31), pages 880 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168807A (zh) * | 2021-11-22 | 2022-03-11 | 中核核电运行管理有限公司 | 字符串匹配方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Campos et al. | Biomedical named entity recognition: a survey of machine-learning tools | |
US10878233B2 (en) | Analyzing technical documents against known art | |
US20140344195A1 (en) | System and method for machine learning and classifying data | |
CN112256860A (zh) | 客服对话内容的语义检索方法、系统、设备及存储介质 | |
CN108804642A (zh) | 检索方法、装置、计算机设备及存储介质 | |
CN111984851B (zh) | 医学资料搜索方法、装置、电子装置及存储介质 | |
US12038935B2 (en) | Systems and methods for mapping a term to a vector representation in a semantic space | |
CN108427702B (zh) | 目标文档获取方法及应用服务器 | |
WO2023029513A1 (zh) | 基于人工智能的搜索意图识别方法、装置、设备及介质 | |
CN111291177A (zh) | 一种信息处理方法、装置和计算机存储介质 | |
CN110019474B (zh) | 异构数据库中的同义数据自动关联方法、装置及电子设备 | |
US11514697B2 (en) | Probabilistic text index for semi-structured data in columnar analytics storage formats | |
WO2022160454A1 (zh) | 医疗文献的检索方法、装置、电子设备及存储介质 | |
Tang et al. | De-identification of clinical text via Bi-LSTM-CRF with neural language models | |
CN116049354B (zh) | 基于自然语言的多表格检索方法及装置 | |
CN112687364B (zh) | 一种基于Hbase的医疗数据管理方法及其系统 | |
CN115995281A (zh) | 一种基于数据治理的专病数据库的数据检索方法及装置 | |
US10140340B2 (en) | Standardizing attributes and entities in a social networking system | |
CN113505190B (zh) | 地址信息修正方法、装置、计算机设备和存储介质 | |
EP3227796B1 (en) | Real time indexing | |
CN107329964A (zh) | 一种文本处理方法及装置 | |
Wu et al. | Efficient inner product approximation in hybrid spaces | |
CN112687403B (zh) | 药品词典的生成及药品搜索方法及装置 | |
CN112182142A (zh) | 一种药品名称标准化的映射方法和系统 | |
CN110795617A (zh) | 一种搜索词的纠错方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |