一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种通过网络搜索结果的文本分类来分类医学术语的方法与流程

2021-11-24 22:16:00 来源:中国专利 TAG:


1.本发明涉及医学分类识别技术领域,具体为一种通过网络搜索结果的文本分类来分类医学术语的方法。


背景技术:

2.以真实世界证据(rwe)为基础的研究近年来受到持续的关注,它被认为是一种能为研究者们提供真实背景信息的强有力的研究方式,同时,广泛建立起来的电子病历系统也为研究者们获得大量真实病例信息提供了可能,然而在大多数情况下,真实病历中的重要临床信息往往被包含在自由文本中,并且所用的词汇大多是非标准的或者与研究者的设计要求不符,使得以这些真实信息为基础的研究变得困难,比如,从临床数据分析的角度来看,不但要知道一名患者使用什么药物,更重要的是知道这些药物的适应症以及它们的分类,这样的问题在真实世界证据为基础的研究中经常出现。
3.此外,在很多非英语地区,医学词汇和体系还没有发展和整理完善,用于该区域语言的自然语言处理(nlp)技术也较为滞后,尤其是在处理中文临床术语时,会面临更多挑战:一方面因为中文是以汉字为基础的语言,词汇之间没有明显的边界;另一方面,中文很容易被错误拼写或者被写成正规词汇的变体,然而要枚举某正规医学术语的所有变体形式几乎不可能,因为一个医学术语一般包含至少三个以上汉字,而每一个汉字又至少有十种以上的变体,从而进一步突显了中文临床信息研究中医学术语分类识别的问题。
4.尽管中文为代表的其他非英语文本解析如此复杂,一些在线的搜索引擎,比如谷歌和百度,却处理得很不错,除了使用传统的自然语言处理方法,它们还采用了一些新的策略,例如创建大量名称实体数据库,建立语义网络或使用深度学习方法来帮助不断提高搜索引擎性能并从用户输入中持续学习等,此类技术可确保即使在有拼写错误或变体存在的情况下,搜索引擎会推测搜索人员的真实意思,输出需要的搜索结果,这些方法虽然代表了解决nlp问题更系统全面的方法,但却需要大量的资源储备,大多数研究机构和医院都不具备能满足所有rwe研究需求的技术和资源,所以研究屏障依然存在。
5.针对这一问题,这里提出了一种有效又灵活的框架模式,即利用在线搜索引擎去搜索要分类的词汇术语,再根据搜索结果对这些词汇术语进行给定级别上的动态分类,因为具有类似搜索结果的术语很可能属于同一类,那么如何做到自动分类?以往的一些研究已经指出机器学习算法可以很好的进行文本分类,所以也同样适用于对搜索结果这样的文本进行分类,但之前研究的分类方法大多是针对英语文本设计并且主要关注有限的几个预先设定的分类,对中文rwe文本的适用性不强,此外,处理rwe文本的分类方法还需要具有较高的灵活性,主要体现在以下三个方面:
6.1)不同的研究目的往往要求不同的分类方式和程度,分类方法需要做到因事制宜;
7.2)上层类别的分类比较容易,电子病历系统的分级结构往往能够提供这种信息,但将上层类别继续下分,分类越细面临的问题就越多,分类方法需要在递增的挑战面前维
持稳定;
8.3)待处理的医学术语会因为地域,医院甚至管理系统的不同而具有不同的偏好性,分类方法还需要针对具体研究对象做到因时因地制宜。
9.针对这些问题和特点,这里进一步提出一种通过网络搜索结果的文本分类来分类医学术语的方法以达到对rwe研究中的医学术语进行动态分类的结果。


技术实现要素:

10.(一)解决的技术问题
11.针对现有技术的不足,本发明提供了一种通过网络搜索结果的文本分类来分类医学术语的方法,即通过对网络搜索结果进行动态文本分类进而分类识别rwe中医学术语的方法,先将待分类的术语按照研究者的设计要求进行部分标记和网页搜索,然后再选用最佳分类模型根据搜索结果对其进行分类,虽然该方法需要在初始阶段对部分术语进行手动分类标记,但所需手动分类的比例很小,因此,该方法提供了一种省时又可靠的在rwe中识别重要分类信息的方法。
12.(二)技术方案
13.为实现上述省时又可靠的目的,本发明提供如下技术方案:一种通过网络搜索结果的文本分类来分类医学术语的方法,包括以下步骤:
14.s1、网络搜索和特征生成;
15.s2、模型训练和术语分类。
16.优选的,所述网络搜索和特征生成包括以下步骤:
17.(1)首先要准备好待分类的医学术语集,将从真实世界证据中得到的待分类的医学术语随机分成两部分:训练集和分析集;
18.(2)根据具体的分类要求对训练集中的术语进行人工分类,以引导分类模型更贴合研究需求;
19.(3)准备好数据集,开始进行网络搜索,需要对整个数据集(包括训练集和分析集)中的每一个术语在所选搜索引擎的主页上单独进行搜索;
20.(4)得到术语的网络搜索结果,就要开始对搜索结果进行文本分割和统计相关词汇分别在每一次搜索结果中出现的频率,具体的,选用python第ii章节a部分的脚本自动对数据集中的每一个术语进行搜索,并且收集每一次(即每一个术语)搜索结果第一页下所有文摘部分的内容作为该术语的网络搜索结果;
21.(5)对每个词汇在每次术语搜索(一次只搜索一个术语)结果中出现的频率进行统计,最后对于训练集和分析集,分别得到一个由其中所有术语与所有分割后得到词汇(去掉了非词汇符号)在每一个术语搜索结果中出现频率组成的矩阵。
22.优选的,所述模型训练和术语分类包括以下步骤:
23.(1)在训练模型之前,先要对训练集的术语—词汇频率矩阵进行去噪,保留其中带特征信息的词汇而去掉那些非特征信息类词汇;
24.(2)经过特征筛选后,得到维度降低的术语—词汇频率矩阵,并用它去训练分类模型;
25.(3)在正式开始预测分类之前,还要将分析集的术语—词汇频率矩阵同样进行降
维处理;
26.(4)用训练好的分类模型对降维后的分析集矩阵进行分析从而预测其中术语的类别,最后输出分析集中术语的分类判定结果,完成分类任务。
27.优选的,所述对训练集的术语—词汇频率矩阵进行去噪采用信息增益算法去计算词汇是否具有特征信息,其中,信息增益(infogain)的定义如下:
28.infogain(class,attribute)=h(class)

h(class|attributes)
ꢀꢀꢀ
【公式一】
29.其中,h(x)是信息熵(information entropy),其计算公式如下:
30.h(x)=

∑p(xi)log[p(xi)]
ꢀꢀꢀ
【公式二】
[0031]
只有当词汇的信息增益(infogain)大于0的时候才被认为是带特征信息的词汇而被保留,否则将被从频率矩阵中删除。
[0032]
(三)有益效果
[0033]
与现有技术相比,本发明提供了一种通过网络搜索结果的文本分类来分类医学术语的方法,具备以下有益效果:
[0034]
1)该方法的操作过程较简单,并且需要分类的程度和范围也不受预先定义类别的限制,只需要很少的先验知识就能帮助真实世界研究证据中的非正规术语进行实时分类,为临床研究者们节省了大量用于人工分类的宝贵时间和资源;
[0035]
2)通过小规模测试待选方案(比如选择搜索引擎和机器学习算法),找到最适合分析当前数据的方案或组合,让研究者们可以较容易地掌控操作过程使之完全贴合研究设计要求;
[0036]
3)该方法操作过程中,无论选用哪种搜索引擎哪种机器学习算法,都能达到较好的分类准确度(实践中,均在85%以上),并且当训练集和分析集的比例发生变化时,分类准确度始终维持较高水平(实践中,即使训练集只占10%也能达到85%的准确度),为研究者们以及临床研究机构提供了一种经济、稳定且高效的研究途径;
[0037]
4)当对输入的数据集施加更少的限制,该方法还可应用于更多类型和语言的数据分类,只要被研究的数据符合以下几点:
[0038]
a)有可用于搜索该数据语言的内容富集的搜索引擎;
[0039]
b)针对该数据语言的自然语言处理(nlp)技术可以支持简单的文本解析或分割功能;
[0040]
c)被研究的主题需要有足够多的在线参考文献以得到足够的网络搜索结果;
[0041]
d)待分类的类别之间需要有较清晰的分界或在文本中的独特描述以便机器学习算法可以将不同类别进行区分。
附图说明
[0042]
图1为本发明的操作流程图;
[0043]
图2为本发明中训练集中术语数量与能够提取的特征词汇数量之间线性相关示意图;
[0044]
图3为本发明中不同大小的训练集分别得到的信息增益最大的前100个特征词汇之间的交叠和独有的词汇数量的韦恩图。
具体实施方式
[0045]
下面将结合本发明的实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046]
针对相关领域现有技术的匮乏,本发明提出了一种通过网络搜索结果的文本分类来分类医学术语的方法,它是一种包含两大组成成分的软件管道:
[0047]
1)一个特征生成器,通过对待分类术语在常见搜索引擎中的搜索结果进行文本分割,以采集其中术语相关的描述性词汇;
[0048]
2)一个学习机制,利用采集的特征和机器学习算法建立模型进行术语分类。
[0049]
该方法的实施过程较容易被研究者掌控使之完全符合研究设计的要求,并且需要分类的程度和范围也不受预先定义类别的限制,只需要很少的先验知识就能帮助真实世界研究证据中的非正规术语进行实时分类,为临床研究者们节省时间的同时也提供了一种可靠识别重要分类信息的方法,更为临床研究机构提供了一种经济高效的研究途径。
[0050]
本发明的整体操作流程图如图1所示,在具体操作过程中分为两大功能执行区:
[0051]
s1、网络搜索和特征生成(特征生成器功能);
[0052]
这一功能区将会生成带有特征信息的数据用于后续训练分类模型;
[0053]
s2、模型训练和术语分类(机器学习分类模型功能),这里经过训练的分类模型将通过网络搜索结果的动态文本分类去预测给定术语的类别。
[0054]
下面将逐一说明每个功能区的具体执行步骤。
[0055]
网络搜索和特征生成:
[0056]
首先要准备好待分类的医学术语集,将从真实世界证据(一般指从电子病历系统)中得到的待分类的医学术语随机分成两部分:训练集和分析集。
[0057]
然后,根据具体的分类要求对训练集中的术语进行人工分类,以引导分类模型更贴合研究需求。
[0058]
为达到高效、准确的分类效果,需要选择合适比例的训练集和分析集,根据利用真实数据进行的有效性评估实验显示,虽然随着训练集的比例增加,分类效果会略为增强,但当训练集只占整个数据集10%时,分类准确度已经能达到85%以上。
[0059]
准备好了数据集,紧接着开始进行网络搜索,需要对整个数据集(包括训练集和分析集)中的每一个术语在所选搜索引擎的主页上单独进行搜索。
[0060]
在上述方法的实践操作中,选用了python第ii章节a部分的脚本自动对数据集中的每一个术语进行搜索,并且收集每一次(即每一个术语)搜索结果第一页下所有文摘部分的内容作为该术语的网络搜索结果。
[0061]
此外,选用的搜索引擎可能会对分类结果产生一定的影响,在实践中比较了谷歌和百度两种搜索引擎对分类效果的影响,结果显示,通过两种引擎搜索都到达了较好的效果,其中百度对于中文词汇的搜索会比谷歌略胜一筹,可能本地化的搜索引擎对当地语言的搜索效果更好,但是因为无法从机制(没有公开)上研究不同的搜索引擎产生的效果差异,因此,建议对于不同语言地区的研究者们在使用该方法时,为达到更好的效果,可先用小数据集测试几种备选搜索引擎对分类效果的影响,然后决定正式分析中使用哪种引擎。
[0062]
得到术语的网络搜索结果,就要开始对搜索结果进行文本分割和统计相关词汇分别在每一次搜索结果中出现的频率。
[0063]
在实践操作中,使用了jieba(一种基于python的常用的开源的中文分词工具)去分割搜索结果的文本,jieba将一个句子分割成多个词汇组合是通过将句子转换成有向无环图(dag)并且利用预先定义的词频字典找到其中最大可能路径的方式来实现的,这里同时还使用了瘾马尔可夫(hmm)算法去识别未知的单词。
[0064]
此外,实践中选择了jieba的“cut

all”模式,它会将句子首先分割成包含较长词汇的几个部分,然后再进一步将那些长词汇分割成所有可能的词汇组合,而不考虑词汇之间是否有文字交叠,这样做是为了找到不同术语之间尽可能多的共享词汇特征,以达到更准确的分类效果。
[0065]
分割完毕后,对每个词汇在每次术语搜索(一次只搜索一个术语)结果中出现的频率进行统计,最后对于训练集和分析集,分别得到一个由其中所有术语与所有分割后得到词汇(去掉了非词汇符号)在每一个术语搜索结果中出现频率组成的矩阵。
[0066]
模型训练和术语分类:
[0067]
在实践操作中,使用了weka(一种基于java的常见数据挖掘软件)作为实施机器学习算法进行文本分类的工具。
[0068]
首先,在训练模型之前,先要对训练集的术语—词汇频率矩阵进行去噪,保留其中带特征信息的词汇而去掉那些非特征信息类词汇。
[0069]
这里用到了信息增益(information gain,infogain)算法去计算词汇是否具有特征信息,信息增益(infogain)的定义如下:
[0070]
infogain(class,attribute)=h(class)

h(class|attributes)
ꢀꢀꢀ
【公式一】
[0071]
其中,h(x)是信息熵(information entropy),其计算公式如下:
[0072]
h(x)=

∑p(xi)log[p(xi)]
ꢀꢀꢀ
【公式二】
[0073]
只有当词汇的信息增益(infogain)大于0的时候才被认为是带特征信息的词汇而被保留,否则将被从频率矩阵中删除。
[0074]
经过特征筛选后,得到维度降低的术语—词汇频率矩阵,并用它去训练分类模型。
[0075]
可用于构建该分类模型的带监督的学习算法有很多种,比如:bayes,complementbayes,smo,spegasos,rbf network,vfi和hyper pipes等等。
[0076]
在以真实数据为基础的实践操作中,对上述7种算法构建的模型分类效果进行了比较,结果表明所有7种分类模型都达到了较高的分类准确度(均大于86%),没有一种算法的分类效果会显著优于其他算法,这些算法都是各种复杂机器学习的常用方法,带有各自的优缺点,再加上待分析的数据集也各具特色更有网络搜索带来的复杂性,所以建议在使用该方法时,研究者们可以先训练几种常用算法构建的模型并比较它们的分类效果,看看哪种更能满足当前的研究任务要求。
[0077]
所以,用降维后的术语—词汇频率矩阵去训练选定算法构建的模型,得到可用于预测分析集中术语类别的训练好的分类模型。
[0078]
在正式开始预测分类之前,还要将分析集的术语—词汇频率矩阵同样进行降维处理,通过训练集的特征筛选,已经得到了一个选定的特征列表,这里只需要将那些不属于特
征列表的词汇去掉就可以很容易得到降维后的分析集频率矩阵。
[0079]
最后,用训练好的分类模型对该降维后的分析集矩阵进行分析,预测其中术语的类别,并输出判定结果,完成分类任务。
[0080]
典型案例:以真实数据为例展示该方法在真实世界研究中的具体应用和效果,待分类的数据集是来自广东省中医院计算机化医嘱录入系统的3801个非重复的药品名集合,该药品名集合既有中成药也有西药,是该医院的医师在2007年到2011年间为24818位真实患者开的处方,因为这些药品名被存储在该计算机化医嘱录入系统的独立数据域里,所以很容易提取出来,同时也不会触及患者的其他个人信息。
[0081]
首先展示用该方法对该药品名集合进行二分类的操作过程和结果,这里的二分类是指将这些药品划分为中成药或是西药,这些药品名并非以同一形式呈现,有些是一般药物名,有些是品牌名,很多书写成同义词、首字母缩写或者同音词替换体甚至还有错误拼写的形式,所以即使二分类也并非易事。
[0082]
研究人员首先根据中国药典对所有3801个药品名进行手动分类标记,它们中的一部分将作为训练集,剩下的是分析集,这里对分析集也进行手动标记是为了之后与不同方案的分类结果进行比较,验证分类效果。
[0083]
手动标记发现其中包含了971个中成药和2830个西药,接下来对每一个药品名都分别进行网络搜索,这里先用谷歌进行了搜索,如前文所述,使用的是python第ii章节a部分的脚本进行的自动搜索,通过jieba对每个药品名的首页搜索结果进行文本分割,一共提取到来自谷歌搜索结果的38085个非重复单词,通过统计这些词汇在每次搜索中的出现频率,与药品名组成大小为3801*38085的术语—词汇频率矩阵,然后通过计算训练集中词汇的信息增益选择其中信息增益大于0的作为特征词汇。
[0084]
测试发现,能够从网路搜索中提取的特征词汇的数量与训练集的大小线性相关(如图2所示),并且有近40%的特征词汇是被从不同大小的训练集中分别提取的前100个特征词汇(信息增益最大的前100个词汇)共享的(如图3所示)。
[0085]
查看这些保守特征词汇,发现它们包含了“中药”、“活血”、“清热”、“注射”、“单位”等这些可有效区分中成药和西药的词汇,通过从训练集选出的特征词汇对数据集(包括训练集和分析集)的术语—词汇频率矩阵进行降维,然后用降维后的训练集矩阵去训练分类模型。
[0086]
这里随机选择包含765个术语的训练集(占整体数据集的20%,虽是随机选取,但尽量保持训练集中中成药与西药的比例与整体数据集一致),经过特征提取和降维后去训练分类模型。
[0087]
如前文所述,这里使用weka作为构建机器学习算法分类模型的工具,可用于此模型构建的常用的带监督的机器学习算法有很多种,比如:bayes,complementbayes,smo,spegasos,rbf network,vfi和hyper pipes等,为选择最适合当前数据集的算法,对以上7种算法构建模型的分类效果进行了比较,结果如表一所示:
[0088]
表一 比较不同算法构建的分类模型的分类效果
[0089][0090]
其中,zeror代表基础算法,分类准确度同时用训练集的十折交叉和分析集进行验证,从比较结果看,各种机器学习算法构建的模型都达到了较好的分类效果,对分析集的分类准确度都在86%以上,明显高于基础算法的模型,且针对当前进行的二分类数据,smo算法构建的模型具有最高的分类准确度(达到94%),紧随其后的是hyper pipes和rbf network,因此,用该方法对3801个非正规药品名进行中成药或西药的区分,准确度可以高达94%,是一个经济、便利且行之有效的方法。
[0091]
此外,为了找到最佳组合方案,测试比较了训练集的大小对分类效果的影响,同样以这3801个需要二分类的药品名作为例子,使用谷歌为搜索引擎,并选定complementbayes作为统一的模型构建算法,对训练集大小的影响进行探讨,结果如表二所示:
[0092]
表二 比较使用不同大小训练集的模型分类效果
[0093][0094]
对于该二分类需求,随着训练集比例的不断增大,对分析集的分类效果也会略有增强,但即使在训练集只占10%的情况下,分类准确度也能达到85.0%,训练集越小,需要手动标记的术语也越少,使用起来更便捷。
[0095]
另外,当选择占数据20%比例的训练集,去探索谷歌和百度两种搜索引擎对分类效果的影响时,发现对于当前的这种二分类需求,无论使用哪种机器学习算法构建模型,用百度搜索结果得到的分类准确度都高于用谷歌搜索结果得到的,如表三所示:
[0096]
表三 比较使用不同搜索引擎的模型分类效果
[0097][0098]
也许是本土化的搜索引擎对于当地语言较通用搜索引擎更有针对性,但由于这些搜索引擎的核心机制未公开,所以造成的这种差异不能确定。
[0099]
总之,为了达到最佳的分类效果,在使用该方法时,建议针对不同的研究数据和设计,首先在小规模训练集中尝试不同的解决方案(比如不同的训练集大小,不同的搜索引擎或不同的机器学习算法),寻找最佳方案组合,也使得该方法更贴合具体研究要求。
[0100]
除了满足较为简单的二分类要求,该方法还可用于真实世界研究中的多类别分类,下面要展示的就是用该方法对真实世界研究中非正规的药品名称用它们的标准名称进行归一化,用到的真实数据还是前文提到的来自广东省中医院的同一个药品名称集合。
[0101]
这里只提取其中的西药名称,并且手动将这些非正规的西药名称归一到它们对应的标准名称集合里,选取其中包含名称变体最多(至少包含了14种名称变体)的前十种标准名称(除去生理盐水和葡萄糖)作为这里的分类标准,以及它们涉及的203种名称变体作为实验数据集,如表四所示:
[0102]
表四 前十种标准名称集合里各自包含的名称变体的个数
[0103][0104]
所以该实验目的是要看该方法将这203种西药名称变体归一化到十种标准西药名称的分类效果。
[0105]
考虑到相对较小的数据集,选择训练集和分析集的比例为50%:50%,用谷歌搜索得到的结果去提取特征词汇和训练分类模型,同时用上文提到7种常用算法构建的模型分别进行了分类,结果如表五所示:
[0106]
表五 在真实世界研究中分类十种标准西药名称的分类效果比较
[0107][0108]
选用适当的算法,该方法对十种标准名称分类的准确度也可以达到近80%,并且远大于基础算法的模型分类效果。考虑到这里使用的实验数据集相对较小,实际研究中的待分类数据会更加错综复杂,可以将该方法和其他传统的自然语言处理(nlp)方法相结合,将会让真实世界研究中的医学分类识别变得更高效、准确。
[0109]
本发明的有益效果是:
[0110]
1)该方法的操作过程较简单,并且需要分类的程度和范围也不受预先定义类别的限制,只需要很少的先验知识就能帮助真实世界研究证据中的非正规术语进行实时分类,为临床研究者们节省了大量用于人工分类的宝贵时间和资源;
[0111]
2)通过小规模测试待选方案(比如选择搜索引擎和机器学习算法),找到最适合分析当前数据的方案或组合,让研究者们可以较容易地掌控操作过程使之完全贴合研究设计要求;
[0112]
3)该方法操作过程中,无论选用哪种搜索引擎哪种机器学习算法,都能达到较好的分类准确度(实践中,均在85%以上),并且当训练集和分析集的比例发生变化时,分类准确度始终维持较高水平(实践中,即使训练集只占10%也能达到85%的准确度),为研究者们以及临床研究机构提供了一种经济、稳定且高效的研究途径;
[0113]
4)当对输入的数据集施加更少的限制,该方法还可应用于更多类型和语言的数据分类,只要被研究的数据符合以下几点:
[0114]
a)有可用于搜索该数据语言的内容富集的搜索引擎;
[0115]
b)针对该数据语言的自然语言处理(nlp)技术可以支持简单的文本解析或分割功能;
[0116]
c)被研究的主题需要有足够多的在线参考文献以得到足够的网络搜索结果;
[0117]
d)待分类的类别之间需要有较清晰的分界或在文本中的独特描述以便机器学习算法可以将不同类别进行区分。
[0118]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献