一种基于句子向量化的无监督选取医疗语料文本方法
文献发布时间:2023-06-19 11:32:36
技术领域
本发明涉及一种数据提取技术,尤其涉及一种基于句子向量化的无监督选取医疗语料文本方法。
背景技术
近年来随着互联网相关技术的飞速发展,网络承载了越来越多的信息,医院中的病历、手术记录等重要医疗文本也会存有电子档。为了能够自动地从这些医疗文本电子档中提取其中蕴含的关键信息,首先需要专人经培训后使用标注工具对医疗文本进行人工标注,才能把已标注的文本作为下一步机器学习算法的原始数据与评价标准。然而囿于医疗领域的专业术语数量多且晦涩难懂,对医疗文本的标注学习成本高,标注速度慢,因此希望在尽量减少标注的工作量的情况下,增加所获得的信息量。
病历、手术记录等医疗文本具有很大重复性,兼有因人、因病而异的具体记录,使得医疗文本的人工标注语料选取陷入两难:要么选取的语料过多,标注成本太高且由于文本之间的相似性,有很多重复冗余的标注;要么选取的语料太少,虽然标注成本有所下降,但是所包含的信息量不尽人意。为了人工标注出足够的语料供进一步机器学习的自动标注算法使用,而又不浪费过多的人力物力于标注之上,因此需要对原始医疗文本进行适当的选取,从而既减少了标注工作量,又不至于丢失医疗文本的关键信息。
发明内容
针对现有未标注医疗语料文本选取的两难问题,本发明提供了一种基于句子向量化的无监督选取医疗语料文本方法,目的在于希望选取包含绝大部分信息量的语料文本,并同时减少人工标注的工作量。
本发明采用以下技术方案:
一种基于句子向量化的无监督选取医疗文本语料方法,其特征在于,包括如下步骤:
S1:获取原始语料文本,将原始文本预处理得到语料集,其中每句话对应一个列表Si,所有S合在一起作为数据集X,其中S的具体格式为:
[文本编号,"原文本,["["HEAD"]"一般文本"["NUMS"]"一般文本[PUN][NULL]一般文本"["END"]"],\"SENTENCE2VEC\"","文本重要度\","RES"]
S2:利用结合医疗术语库的分词词典对文本进行分词,并把结果中出现的词构成的新的字典I的内容输入搭建的WORD2VEC模型进行训练;
S3:对于每个列表Si,按照分词情况,把句中所有词对应的向量求和并取平均数,即为所述S的第四项"SENTENCE2VEC"结果,对所有的列表Si,两两计算其"SENTENCE2VEC"的余弦相似度,对于余弦相似度高的成对文本,使用两文本间的词嵌入,计算其中一文本中的单词在语义空间中移动到另一文本单词所需要的最短距离,称为词移距离,如果词移距离符合预设要求,则令两者Si1、Si2的第五项"文本重要度"提升,并把两文本的编号成对存储,作为列表D的一项;
S4:遍历结束后,把X中所有"文本重要度"仍为初始值的S的末项"RES"置1,作为"独特文本"而选中,并从列表D中依次取出成对编号,将两者中"文本重要度"更大的S的末项置2,作为"重要文本"而选中,随后遍历X,取出其中"RES"值不为0的文本即为所选文本。
具体的,步骤S1中的文本预处理方法,包括如下步骤:
S11:对于原始医疗文本,首先按照标点符号进行分句,并对文本长度过短以及不包含中文的句子进行直接剔除;
S12:对于每句文本分别进行预处理,将数字串替换为[NUMS]项,英文串替换为[NULL],标点符号替换为[PUN],并在句首句尾加入[HEAD]、[END]标签,得到初步处理的文本;
S13:对于每句文本,创建一个列表Si,每个Si都由六个部分构成,其中第一部分为文本编号,作为此句文本的唯一标识符,第二部分为原文本,第三部分是S12中所得的初步处理的文本,第四部分为"SENTENCE2VEC"句子向量化的结果,第五部分为文本重要度,作为重复率较大的两句话的选取标准,第六部分为"RES",表示此句文本是否被最终选取;
S14:将所得到的所有Si存储作为数据集X。
具体的步骤S2中,分词并训练WORD2VEC模型的过程包括如下步骤:
S21:结合医疗术语库和常用词典构建自定义词典,并应用此词典对S中预处理文本进行分词得到分成结果文件;
S22:读取分词结果文件作为输入,训练一个128维的WORD2VEC模型,将每个词映射到128维的向量空间并储存结果作为字典;
具体的,步骤S3可以包括如下步骤:
S31:对于每个列表S,将文本预处理结果按照分词情况,把句中所分的词对应的128维向量求和并取平均数,作为每个S的第四项"SENTENCE2VEC"存储到每个S列表;
S32:每个S均与其余的S计算"SENTENCE2VEC"的余弦相似度,;
S33:如果相似度超过预设阈值,使用两文本间的词嵌入,计算其中一文本中的单词在语义空间中移动到另一文本单词所需要的最短距离,称为词移距离,如果词移距离小于预设阈值,则令两者Si1、Si2的第五项"文本重要度"增1;
S34:把所有词移距离小于预设阈值的两文本的编号成对存储,构成列表D。
具体的,步骤S4包括如下步骤:
S41:对于数据集X进行检查,把其中的"文本重要度"仍为初始值0的S选出,对其"RES"由初始值0置1,作为"独特文本"而选中;
S42:遍历列表D中的每一对文本编号,对于某一对文本编号,检查编号对应的S,取其中"文本重要度"较高的那条文本,将其S的"RES"置2,作为"重要文本"而选中;
S43:遍历数据集X,取出其中"RES"值为1的"独特文本",与"RES"值为2的"重要文本",合并即为剔除冗余信息的所选文本。
与现有技术相比,本发明至少具有以下有益效果:
本发明的一种基于句子向量化的无监督选取医疗文本语料方法,能较好地从原始文本中选取医疗语料文本,保证在包含绝大部分信息量的同时选取较少的文本量,从而减少人工标注的工作量。该方法具有很高的灵活性,可以直接用于其他的语料文本选取的任务中。
进一步的,自动对原始医疗文本进行预处理,用于对不同文本信息量的评估;
进一步的,构造了一种新的医疗文本选取模型,采用SENTENCE2VEC和词移距离的双重判断标准,并定义"文本重要度"为选取文本的指标,选取出"独特文本"与"重要文本"两类文本,从而在保证绝大部分信息不丢失的前提下,选取尽可能少的文本量。
附图说明
读者在参照附图阅读了本发明的具体实施方式以后,将会更清楚地了解本发明的各个方面。其中,
图1示出依据本发明的实施方式,基于句子向量化的无监督选取医疗文本语料方法的流程框图。
具体实施方式
为了使本申请所揭示的技术内容更加详尽与完备,可参照附图以及本发明的下述各种具体实施例,附图中相同的标记代表相同或相似的组件。然而,本领域的普通技术人员应当理解,下文中所提供的实施例并非用来限制本发明所涵盖的范围。此外,附图仅仅用于示意性地加以说明,并未依照其原尺寸进行绘制。
下面参照附图,对本发明各个方面的具体实施方式作进一步的详细描述。
图1示出依据本发明的实施方式,一种基于语言模型的无标注乱码修复方法,包括如下步骤:
S1:获取原始语料文本,将原始文本预处理得到语料集,其中每句话对应一个列表Si,所有S合在一起作为数据集X,其中S的具体格式为:
[文本编号,"原文本,["["HEAD"]"一般文本"["NUMS"]"一般文本[PUN][NULL]一般文本"["END"]"],\"SENTENCE2VEC\"","文本重要度\","RES"]
S2:利用结合医疗术语库的分词词典对文本进行分词,并把结果中出现的词构成的新的字典I的内容输入搭建的WORD2VEC模型进行训练;
S3:对于每个列表Si,按照分词情况,把句中所有词对应的向量求和并取平均数,即为所述S的第四项"SENTENCE2VEC"结果,对所有的列表Si,两两计算其"SENTENCE2VEC"的余弦相似度,对于余弦相似度高的成对文本,使用两文本间的词嵌入,计算其中一文本中的单词在语义空间中移动到另一文本单词所需要的最短距离,称为词移距离,如果词移距离符合预设要求,则令两者Si1、Si2的第五项"文本重要度"提升,并把两文本的编号成对存储,作为列表D的一项;
S4:遍历结束后,把X中所有"文本重要度"仍为初始值的S的末项"RES"置1,作为"独特文本"而选中,并从列表D中依次取出成对编号,将两者中"文本重要度"更大的S的末项置2,作为"重要文本"而选中,随后遍历X,取出其中"RES"值不为0的文本即为所选文本。
具体的,步骤S1中的文本预处理方法,包括如下步骤:
S11:对于原始医疗文本,首先按照标点符号进行分句,并对文本长度过短以及不包含中文的句子进行直接剔除;
S12:对于每句文本分别进行预处理,将数字串替换为[NUMS]项,英文串替换为[NULL],标点符号替换为[PUN],并在句首句尾加入[HEAD]、[END]标签,得到初步处理的文本;
S13:对于每句文本,创建一个列表Si,每个Si都由六个部分构成,其中第一部分为文本编号,作为此句文本的唯一标识符,第二部分为原文本,第三部分是S12中所得的初步处理的文本,第四部分为"SENTENCE2VEC"句子向量化的结果,第五部分为文本重要度,作为重复率较大的两句话的选取标准,第六部分为"RES",表示此句文本是否被最终选取;
S14:将所得到的所有Si存储作为数据集X。
具体的步骤S2中,分词并训练WORD2VEC模型的过程包括如下步骤:
S21:结合医疗术语库和常用词典构建自定义词典,并应用此词典对S中预处理文本进行分词得到分成结果文件;
S22:读取分词结果文件作为输入,训练一个128维的WORD2VEC模型,将每个词映射到128维的向量空间并储存结果作为字典;
具体的,步骤S3可以包括如下步骤:
S31:对于每个列表S,将文本预处理结果按照分词情况,把句中所分的词对应的128维向量求和并取平均数,作为每个S的第四项"SENTENCE2VEC"存储到每个S列表;
S32:每个S均与其余的S计算"SENTENCE2VEC"的余弦相似度,;
S33:如果相似度超过预设阈值,使用两文本间的词嵌入,计算其中一文本中的单词在语义空间中移动到另一文本单词所需要的最短距离,称为词移距离,如果词移距离小于预设阈值,则令两者Si1、Si2的第五项"文本重要度"增1;
S34:把所有词移距离小于预设阈值的两文本的编号成对存储,构成列表D。
具体的,步骤S4包括如下步骤:
S41:对于数据集X进行检查,把其中的"文本重要度"仍为初始值0的S选出,对其"RES"由初始值0置1,作为"独特文本"而选中;
S42:遍历列表D中的每一对文本编号,对于某一对文本编号,检查编号对应的S,取其中"文本重要度"较高的那条文本,将其S的"RES"置2,作为"重要文本"而选中;
S43:遍历数据集X,取出其中"RES"值为1的"独特文本",与"RES"值为2的"重要文本",合并即为剔除冗余信息的所选文本。
综上所述,本发明提出了一种基于句子向量化的无监督选取医疗文本语料方法,可以较好地从原始文本中选取部分医疗语料文本,保证在包含绝大部分信息量的同时选取较少的文本量,从而减少人工标注的工作量。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
- 一种基于句子向量化的无监督选取医疗语料文本方法
- 一种基于专用语料库字向量的无监督中文分词方法