首页 / 专利库 / 人工智能 / 词性标注 / 一种基于词性增量迭代的在线医疗文本症状识别方法

一种基于词性增量迭代的在线医疗文本症状识别方法

阅读:1015发布:2020-06-17

专利汇可以提供一种基于词性增量迭代的在线医疗文本症状识别方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于词性增量 迭代 的在线医疗文本症状识别方法,属于计算机 自然语言处理 技术领域。本发明包括步骤:首先通过基于特征融合的分类模型完成基本症状识别,以确定症状实体的 位置 ;再根据症状实体的构成模式,以基本症状词为中心利用对应词性前后进行增量迭代,确定症状实体的边界来完成症状实体识别;最后通过合并所有症状实体得到症状识别的结果。该方法有效识别出在线医疗文本中复杂较长的症状,其准确度比传统的医疗 命名实体 识别方法提高了约5.4%。,下面是一种基于词性增量迭代的在线医疗文本症状识别方法专利的具体信息内容。

1.一种基于词性增量迭代的在线医疗文本症状识别方法,其特征在于:所述方法的具体步骤如下:
Step1、从问诊网页上爬取问诊问题,并通过人工分类得到其中骨科未知疾病类问题文本作为实验语料,其次对语料进行预处理,并生成词向量模型;
Step2、确定症状实体位置;经Step1预处理操作之后,通过识别基本症状词来确定症状实体位置,将基本症状的识别看作以词为单位的分类问题而非序列标注问题;
Step3、确定症状实体边界;以Step2识别的基本症状词为中心,利用症状实体构成模式的词性特征来分别进行前、后向的增量迭代,通过确定症状实体边界来实现症状实体识别;
Step4、后处理:合并所有的症状实体;对于每个骨科在线医疗文本未知疾病类问题,都需要通过合并Step3得到的所有症状实体来输出该问题所包含的完整症状,完成最终症状识别。
2.根据权利要求1所述的基于词性增量迭代的在线医疗文本症状识别方法,其特征在于:所述步骤Step1的具体步骤如下:
Step1.1、首先人工编写爬虫程序,在健康网站的骨科问诊部分中爬取从2018年11月20日到2018年11月25日的所有问题;
Step1.2、把已爬取的问题,经过过滤、去重得到不重复的问题,并进一步经人工分类得到未知疾病类问题文本,作为实验语料存放到数据库中;
Step1.3、利用标准的结巴工具对数据库中的语料进行中文分词、词性标注等预处理;
Step1.4、使用word2vec词向量训练方式对分词后的语料进行训练,生成词向量模型。
3.根据权利要求1所述的基于词性增量迭代的在线医疗文本症状识别方法,其特征在于:所述步骤Step2的具体步骤如下:
Step2.1、经过数据预处理操作后,基本的症状通常用一个词来描述,因此将基本症状识别看作词级别的二分类问题,同时初始化词性-向量映射表和后缀-向量映射表;
Step2.2、利用词向量得到当前目标词的上下文向量表示Input1,将其输入到深度模型的第一部分卷积神经网络CNN中;为卷积出更具代表性的短文本特征,使用2、3两种不同长度卷积窗口,每种长度卷积核若干个,分别对Input1进行从前到后的卷积操作,再经卷积特征组合、重排后输入到对应双向控循环神经网络Bi-GRU中,最终得到目标词上下文的深度特征向量Input2;
Step2.3、选择当前目标词的词性与后缀作为离散的原始特征,并利用词性-向量映射表和后缀-向量映射表,查找得到对应的向量表示Input3、Input4,与Step2.2得到的连续深度特征Input2进行拼接融合,一起输入Softmax层;
Step2.4、利用softmax函数进行二分类,在此分类模型基础上采用Focal Loss作为损失函数,最终得到当前目标词的分类结果,即“基本症状词”或“非基本症状词”;
Step2.5、对在线医疗文本进行词级分类后,再次遍历文本,若当前目标词的类别标签为“基本症状”,则将其作为症状实体出现的位置,从而实现症状实体位置的识别,其词性也对应修改为“bs”。
4.根据权利要求1所述的基于词性增量迭代的在线医疗文本症状识别方法,其特征在于:所述步骤Step3的具体步骤如下:
Step3.1、症状实体通常具有某种固定的构成模式,其对应的词性构成也具有一定的规律性,大部分根据其症状构成模式也具有固定模式,据此构建增量迭代时的前向、后向词性规则库;
Step3.2、以Step2得到的基本症状词为中心出发,其中基本症状词起到标识了症状实体在文本中的位置的作用,然后分别向前、向后逐一查找每个词语,将满足词性规则库的词语合并至症状词,直至遇到不符合规则的词语则停止合并,最后输出合并后的症状词作为识别出的症状实体。
5.根据权利要求1所述的基于词性增量迭代的在线医疗文本症状识别方法,其特征在于:所述步骤Step4的具体步骤如下:
Step4.1、将Step3识别得到的每个骨科在线医疗未知疾病类问题中出现的所有症状实体,按照基本症状在问题文本中出现的顺序,将这些对应的症状实体集首尾相连拼接起来,然后整体输出作为该问题的最终完整症状识别。
6.根据权利要求2所述的基于词性增量迭代的在线医疗文本症状识别方法,其特征在于:所述深度模型是基于卷积神经网络和门控循环神经网络;对于卷积神经网络,首先进行卷积操作,xi:i+j是句子中第i个单词xi、第i+1个单词xi+1、一直到第i+j个单词xi+j之间的连接;假设xi∈Rk是k维词向量,对应句中的第i个词;卷积操作的卷积核为W∈Rhk,h为窗口的大小;一个局部特征ci是由单词xi到xi+h-1即xi:i+h-1的窗口产生,如公式所示:ci=f(W.xi:i+h-1+b);其中,b∈R是一个偏置向量;f是一个非线性函数;卷积核移动的步长为一个单词得到的特征映射C∈Rn-h+1,如公式所示:C=[c1,c2,....cn-h+1];卷积操作之后不继续池化操作,因为池化操作会丢弃卷积后的部分文本上下文信息,来选择性保留重要信息,可能会造成问句的时序信息不完整,从而影响后续双向门控循环神经网络的序列建模;门控循环神经网络只有两个门,zt为一个更新门, 控制t-1时刻的信息有多少进入t时刻;rt是一个重置门, 二者共同决定ht的值,xt表示t时刻所对应的词语,公式为: 其中

说明书全文

一种基于词性增量迭代的在线医疗文本症状识别方法

技术领域

[0001] 本发明涉及一种基于词性增量迭代的在线医疗文本症状识别方法,属于计算机自然语言处理技术领域。

背景技术

[0002] 医疗问答中的症状实体识别是一个难点,原因有两个:一是相比疾病、检查等医疗实体的抽取,症状实体的抽取没有标准的症状库可以利用,而针对医疗问答的构建更是费时费;二是患者在描述症状时,由于个体差异,症状的表述形式往往丰富多样,并且口语化严重。因此一般的症状实体识别方法在医疗问答中往往识别边界不准确,导致不能完整识别出复杂较长的症状。目前,有关症状实体识别的方法主要可分为三种:基于词典或规则的方法、基于机器学习的方法和基于深度学习的方法。基于语言规则的方法,在中文方面,许华等基于人工总结的规则,抽取出药品说明书中的致病菌、症状和疾病3类实体。但其并未对抽取的症状实体所用规则进行详细说明,另外,从给出的识别致病菌实体的规则实例看出,人工定义的规则往往比较简单,不适用于表述较为复杂的症状实体识别,而且也费时费力。基于机器学习的方法。若将命名实体识别看作一个分类问题,可采用类似支持向量机、贝叶斯模型等分类方法;若将其看作一个序列标注问题,从而利用隐尔可夫、最大熵马尔可夫、条件随机场等序列标注模型。叶枫等自建词典,采用CRF对电子病历中的疾病、临床症状、手术操作这3类比较常见的医疗实体进行识别,并达到90%以上的F值。王世昆等则对明清古医案中的病机与症状进行了识别,分别采用CRF和SVM来进行训练和测试。但是大多数传统的基于机器学习的症状实体识别方法,对特征的选取会有更高的要求。对此,利用神经网络在特征学习方面的优势,最近研究者提出了基于深度学习的方法来解决生物医疗领域的NER问题,通过少量的特征工程却实现最优的性能表现。比如双向长短期记忆(Long-short Term Memory,LSTM)神经网络结合CRF来完成医疗命名实体的识别,实现了不同数据集上的平均F值达到89.12%。这些传统的症状识别的方法不能很好的解决医疗问答中的症状识别的难点,识别效果不理想。

发明内容

[0003] 本发明提供了一种基于词性增量迭代的在线医疗文本症状识别方法,相比传统的症状识别方式,充分的考虑到了医疗问答中文本的语义特征和原始特征,能更加全面和准确的识别出问句中的症状。
[0004] 本发明的技术方案是:一种基于词性增量迭代的在线医疗文本症状识别方法,所述方法的具体步骤如下:
[0005] Step1、从问诊网页上爬取问诊问题,并通过人工分类得到其中骨科未知疾病类问题文本作为实验语料,其次对语料进行预处理,并生成词向量模型;
[0006] Step2、确定症状实体位置;经Step1预处理操作之后,通过识别基本症状词来确定症状实体位置,将基本症状的识别看作以词为单位的分类问题而非序列标注问题;
[0007] Step3、确定症状实体边界;以Step2识别的基本症状词为中心,利用症状实体构成模式的词性特征来分别进行前、后向的增量迭代,通过确定症状实体边界来实现症状实体识别;
[0008] Step4、后处理:合并所有的症状实体;对于每个骨科在线医疗文本未知疾病类问题,都需要通过合并Step3得到的所有症状实体来输出该问题所包含的完整症状,完成最终症状识别。
[0009] 进一步地,所述步骤Step1的具体步骤如下:
[0010] Step1.1、利用爬虫程序从“39问医生”、“好问康网”等六个健康网站的骨科问诊部分爬取了从2018年11月20日到2018年11月25日的所有问题,;
[0011] Step1.2、把已爬取的问题,经过过滤、去重得到不重复的问题,并进一步经人工分类得到未知疾病类问题文本,作为实验语料存放到数据库中;
[0012] Step1.3、利用标准的结巴工具对数据库中的语料进行中文分词、词性标注等预处理;
[0013] Step1.4、使用word2vec词向量训练方式对分词后的语料进行训练,生成词向量模型。
[0014] 进一步地,所述步骤Step2的具体步骤如下:
[0015] Step2.1、经过数据预处理操作后,基本的症状通常用一个词来描述,因此将基本症状识别看作词级别的二分类问题,同时初始化词性-向量映射表和后缀-向量映射表;
[0016] Step2.2、利用词向量得到当前目标词的上下文向量表示Input1,将其输入到深度模型的第一部分卷积神经网络CNN中;为卷积出更具代表性的短文本特征,使用2、3两种不同长度卷积窗口,每种长度卷积核若干个,分别对Input1进行从前到后的卷积操作,再经卷积特征组合、重排后输入到对应双向控循环神经网络Bi-GRU中,最终得到目标词上下文的深度特征向量Input2;
[0017] Step2.3、选择当前目标词的词性与后缀作为离散的原始特征,并利用词性-向量映射表和后缀-向量映射表,查找得到对应的向量表示Input3、Input4,与Step2.2得到的连续深度特征Input2进行拼接融合,一起输入Softmax层;
[0018] Step2.4、利用softmax函数进行二分类,在此分类模型基础上采用Focal Loss作为损失函数,最终得到当前目标词的分类结果,即“基本症状词”或“非基本症状词”;
[0019] Step2.5、对在线医疗文本进行词级分类后,再次遍历文本,若当前目标词的类别标签为“基本症状”,则将其作为症状实体出现的位置,从而实现症状实体位置的识别,其词性也对应修改为“bs”。
[0020] 进一步地,所述步骤Step3的具体步骤如下:
[0021] Step3.1、症状实体通常具有某种固定的构成模式,其对应的词性构成也具有一定的规律性,大部分根据其症状构成模式也具有固定模式,据此构建增量迭代时的前向、后向词性规则库;
[0022] Step3.2、以Step2得到的基本症状词为中心出发,其中基本症状词起到标识了症状实体在文本中的位置的作用,然后分别向前、向后逐一查找每个词语,将满足词性规则库的词语合并至症状词,直至遇到不符合规则的词语则停止合并,最后输出合并后的症状词作为识别出的症状实体。
[0023] 进一步地,所述步骤Step4的具体步骤如下:
[0024] Step4.1、将Step3识别得到的每个骨科在线医疗未知疾病类问题中出现的所有症状实体,按照基本症状在问题文本中出现的顺序,将这些对应的症状实体集首尾相连拼接起来,然后整体输出作为该问题的最终完整症状识别。
[0025] 进一步地,所述深度模型是基于卷积神经网络和门控循环神经网络;对于卷积神经网络,首先进行卷积操作,xi:i+j是句子中第i个单词xi、第i+1个单词xi+1、一直到第i+j个单词xi+j之间的连接;假设xi∈Rk是k维词向量,对应句中的第i个词;卷积操作的卷积核为Whk∈R ,h为窗口的大小;一个局部特征ci是由单词xi到xi+h-1即xi:i+h-1的窗口产生,如公式所示:ci=f(W.xi:i+h-1+b);其中,b∈R是一个偏置向量;f是一个非线性函数;卷积核移动的步长为一个单词得到的特征映射C∈Rn-h+1,如公式所示:C=[c1,c2,….cn-h+1];卷积操作之后不继续池化操作,因为池化操作会丢弃卷积后的部分文本上下文信息,来选择性保留重要信息,可能会造成问句的时序信息不完整,从而影响后续双向门控循环神经网络的序列建模;门控循环神经网络只有两个门,zt为一个更新门, 控制t-1时刻的信息有
多少进入t时刻;rt是一个重置门, 二者共同决定ht的值,xt表示t时刻所对应的词语,公式为: 其中
[0026] 所述Softmax层中,为进一步适应非平衡类别数据,在此分类模型基础上,对损失函数权重进行设置,采用Focal Loss作为损失函数,即H=-∑iαk(1-yi)γlnyi,其中αk为对应k类别的参数,γ参数作用是降低易分样本权重。因为,问题文本中大部分是非基本症状词,极少是基本症状词,此时会出现语料类别不平衡的问题。
[0027] 本发明的有益效果是:
[0028] 1、处理特定领域文本,通常需要额外的专业词典辅助完成相关工作,尤其是预处理阶段,通过添加自定义词典进行分词,往往有助于语义信息的把握,从而提升方法性能。而在进行医疗问答数据预处理分词时,仍使用标准的jieba分词工具,并未构建、添加任何额外的医学词典,因为通过后续增量迭代操作,最终症状识别结果不会受到影响。中文医疗相关的公开的词典资源有限,其构建又费时费力,这样极大减少了人力工作。
[0029] 2、基本症状识别,其实质也是命名实体识别。将其看作词级别的二分类问题而非序列标注问题,避免将任务复杂化,并针对出现的类别不平衡问题,提出基于特征融合的分类模型,在深度特征的基础上加入原始文本信息如词性和后缀特征,以减轻深度模型特征学习的负担。深度模型的结构是基于多窗口卷积和双向门控循环神经网络。不仅通过多窗口卷积网络提取到更丰富、更具代表性的短文本特征,而且通过对相同窗口不同卷积核得到的特征进行组合重排,再输入对应的双向门控循环神经网络以捕捉其完整上下文信息,最终拼接不同窗口大小对应的序列建模结果,得到包含文本语法语义的深度特征。
[0030] 3、通过分析骨科症状实体的构成模式及其对应的词性情况,总结了骨科症状实体的一般构成模式,由此形成一组基础模式集在基本症状识别词基础上,利用词性进行增量迭代以确定症状实体前后边界,从而识别症状实体。最后合并所有识别出的症状实体,得到完整的症状输出,实验结果证明其能较完整识别出医疗问答中复杂较长的症状。
[0031] 综上所述,这种基于词性增量迭代的症状识别方法,首先利用CNN和Bi-GRU得到目标词上下文的深度特征表示,并与当前目标词的原始特征拼接,一起输入到Softmax分类器中,得到基本症状词语。然后根据词性规则进行增量迭代,得到症状实体。最后输出合并后的症状词,作为识别出的症状实体。最终模型提高了医疗问答中症状识别的精度附图说明
[0032] 图1为本发明基于词性增量迭代的在线医疗文本症状识别模型的结构图;
[0033] 图2为本发明中基于特征融合的基本症状识别示意图;
[0034] 图3为本发明基本症状词识别的实验对比;
[0035] 图4为本发明症状识别的实验对比。

具体实施方式

[0036] 实施例1:如图1-4所示,一种基于词性增量迭代的在线医疗文本症状识别方法,所述方法的具体步骤如下:
[0037] Step1、利用爬虫程序从“39问医生”、“好问康网”等六个健康网站的骨科问诊部分爬取了从2018年11月20日到2018年11月25日的所有问题,并通过人工分类得到其中骨科未知疾病类问题文本作为实验语料,其次对语料进行预处理,并生成词向量模型;
[0038] Step2、确定症状实体位置;经Step1预处理操作之后,通过识别基本症状词来确定症状实体位置,将基本症状的识别看作以词为单位的分类问题而非序列标注问题;
[0039] Step3、确定症状实体边界;以Step2识别的基本症状词为中心,利用症状实体构成模式的词性特征来分别进行前、后向的增量迭代,通过确定症状实体边界来实现症状实体识别;
[0040] Step4、后处理:合并所有的症状实体;对于每个骨科在线医疗文本未知疾病类问题,都需要通过合并Step3得到的所有症状实体来输出该问题所包含的完整症状,完成最终症状识别。
[0041] 进一步地,所述步骤Step1的具体步骤如下:
[0042] Step1.1、利用爬虫程序从“39问医生”、“好问康网”等六个健康网站的骨科问诊部分爬取了从2018年11月20日到2018年11月25日的所有问题,;
[0043] Step1.2、把已爬取的问题,经过过滤、去重得到不重复的问题,并进一步经人工分类得到未知疾病类问题文本,作为实验语料存放到数据库中;
[0044] Step1.3、利用标准的结巴工具对数据库中的语料进行中文分词、词性标注等预处理;
[0045] Step1.4、使用word2vec词向量训练方式对分词后的语料进行训练,生成词向量模型。
[0046] 进一步地,所述步骤Step2的具体步骤如下:
[0047] Step2.1、经过数据预处理操作后,基本的症状通常用一个词来描述,因此将基本症状识别看作词级别的二分类问题,同时初始化词性-向量映射表和后缀-向量映射表;
[0048] Step2.2、利用词向量得到当前目标词的上下文向量表示Input1,将其输入到深度模型的第一部分卷积神经网络CNN中;为卷积出更具代表性的短文本特征,使用2、3两种不同长度卷积窗口,每种长度卷积核若干个,分别对Input1进行从前到后的卷积操作,再经卷积特征组合、重排后输入到对应双向门控循环神经网络Bi-GRU中,最终得到目标词上下文的深度特征向量Input2;
[0049] Step2.3、选择当前目标词的词性与后缀作为离散的原始特征,并利用词性-向量映射表和后缀-向量映射表,查找得到对应的向量表示Input3、Input4,与Step2.2得到的连续深度特征Input2进行拼接融合,一起输入Softmax层;
[0050] Step2.4、利用softmax函数进行二分类,在此分类模型基础上采用Focal Loss作为损失函数,最终得到当前目标词的分类结果,即“基本症状词”或“非基本症状词”;
[0051] Step2.5、对在线医疗文本进行词级分类后,再次遍历文本,若当前目标词的类别标签为“基本症状”,则将其作为症状实体出现的位置,从而实现症状实体位置的识别,其词性也对应修改为“bs”。
[0052] 进一步地,所述步骤Step3的具体步骤如下:
[0053] Step3.1、症状实体通常具有某种固定的构成模式,其对应的词性构成也具有一定的规律性,大部分根据其症状构成模式也具有固定模式,据此构建增量迭代时的前向、后向词性规则库;
[0054] Step3.2、以Step2得到的基本症状词为中心出发,其中基本症状词起到标识了症状实体在文本中的位置的作用,然后分别向前、向后逐一查找每个词语,将满足词性规则库的词语合并至症状词,直至遇到不符合规则的词语则停止合并,最后输出合并后的症状词作为识别出的症状实体。
[0055] 进一步地,所述步骤Step4的具体步骤如下:
[0056] Step4.1、将Step3识别得到的每个骨科在线医疗未知疾病类问题中出现的所有症状实体,按照基本症状在问题文本中出现的顺序,将这些对应的症状实体集首尾相连拼接起来,然后整体输出作为该问题的最终完整症状识别。
[0057] 进一步地,所述深度模型是基于卷积神经网络和门控循环神经网络;对于卷积神经网络,首先进行卷积操作,xi:i+j是句子中第i个单词xi、第i+1个单词xi+1、一直到第i+j个单词xi+j之间的连接;假设xi∈Rk是k维词向量,对应句中的第i个词;卷积操作的卷积核为W∈Rhk,h为窗口的大小;一个局部特征ci是由单词xi到xi+h-1即xi:i+h-1的窗口产生,如公式所示:ci=f(W.xi:i+h-1+b);其中,b∈R是一个偏置向量;f是一个非线性函数;卷积核移动的步长为一个单词得到的特征映射C∈Rn-h+1,如公式所示:C=[c1,c2,….cn-h+1];卷积操作之后不继续池化操作,因为池化操作会丢弃卷积后的部分文本上下文信息,来选择性保留重要信息,可能会造成问句的时序信息不完整,从而影响后续双向门控循环神经网络的序列建模;门控循环神经网络只有两个门,zt为一个更新门, 控制t-1时刻的信息有多少进入t时刻;rt是一个重置门, 二者共同决定ht的值,xt表示t时刻所对应的词语,公式为: 其中
[0058] 所述Softmax层中,为进一步适应非平衡类别数据,在此分类模型基础上,对损失函数权重进行设置,采用Focal Loss作为损失函数,即H=-∑iαk(1-yi)γlnyi,其中αk为对应k类别的参数,γ参数作用是降低易分样本权重。因为,问题文本中大部分是非基本症状词,极少是基本症状词,此时会出现语料类别不平衡的问题。
[0059] 实施例2:如图1-4所示,一种基于词性增量迭代的在线医疗文本症状识别方法,所述方法的具体步骤如下:
[0060] Step1、利用爬虫程序从“39问医生”、“好问康网”等六个健康网站的骨科问诊部分爬取了从2018年11月20日到2018年11月25日的所有问题,并通过人工分类得到其中骨科未知疾病类问题文本作为实验语料,其次对语料进行预处理,并生成词向量模型;
[0061] 进一步地,所述步骤Step1的具体步骤如下:
[0062] Step1.1、利用爬虫程序从“39问医生”、“好问康网”等六个健康网站的骨科问诊部分爬取了从2018年11月20日到2018年11月25日的所有问题,;
[0063] Step1.2、把已爬取的问题,经过过滤、去重得到不重复的问题,并进一步经人工分类得到未知疾病类问题文本,作为实验语料存放到数据库中;
[0064] Step1.3、利用标准的结巴工具对数据库中的语料进行中文分词、词性标注等预处理;
[0065] Step1.4、使用word2vec词向量训练方式对分词后的语料进行训练,生成词向量模型。
[0066] Step2、确定症状实体位置;经Step1预处理操作之后,通过识别基本症状词来确定症状实体位置,将基本症状的识别看作以词为单位的分类问题而非序列标注问题;
[0067] 进一步地,所述步骤Step2的具体步骤如下:
[0068] Step2.1、经过数据预处理操作后,基本的症状通常用一个词来描述,因此将基本症状识别看作词级别的二分类问题,同时初始化词性-向量映射表和后缀-向量映射表;
[0069] Step2.2、利用词向量得到当前目标词的上下文向量表示Input1,将其输入到深度模型的第一部分卷积神经网络CNN中;为卷积出更具代表性的短文本特征,使用2、3两种不同长度卷积窗口,每种长度卷积核若干个,分别对Input1进行从前到后的卷积操作,再经卷积特征组合、重排后输入到对应双向门控循环神经网络Bi-GRU中,最终得到目标词上下文的深度特征向量Input2;
[0070] 进一步地,将目标词的上下文向量作为深度模型的输入,首先送到单通道的CNN中。为卷积出更具代表性的短文本特征,使用1、2两种窗口长度的卷积核若干个,分别对问句进行从前到后的卷积操作。卷积操作之后不继续池化操作,因为池化操作会丢弃卷积后的部分文本上下文信息,来选择性保留重要信息,可能会造成问句的时序信息不完整,从而影响后续Bi-GRU的序列建模。卷积后经特征重排后顺序和逆序输入到双向GRU网络中,最终得到目标词上下文的深度特征表示。卷积神经网络首先进行卷积操作,xi:i+j是句子中第i个单词xi、第i+1个单词xi+1、一直到第i+j个单词xi+j之间的连接。假设xi∈Rk是k维词向量,对应句中的第i个词。卷积操作的卷积核为W∈Rhk,h为窗口的大小。一个局部特征ci是由单词xi到xi+h-1即xi:i+h-1的窗口产生,如公式所示:ci=f(W.xi:i+h-1+b)。其中,b∈R是一个偏置向量;f是一个非线性函数。卷积核移动的步长为一个单词得到的特征映射C∈Rn-h+1,如公式所示:C=[c1,c2,….cn-h+1]。卷积操作之后不继续池化操作,因为池化操作会丢弃卷积后的部分文本上下文信息,来选择性保留重要信息,可能会造成问句的时序信息不完整,从而影响后续Bi-GRU的序列建模。GRU只有两个门,zt为一个更新门, 控制t-1时刻的信息有多少进入t时刻。rt是一个重置门, 二者共同决定ht的值,xt表示t时刻所对应的词语,。公式为: 其中
[0071] 表1超参数及其对应值
[0072]超参数 值
输入目标词上下文窗口大小 2
其它特征向量维度 20
词向量维度 128
卷积窗口大小 2、3
相同窗口大小的卷积核个数 64
全连接神经网络隐藏层神经元个数 64
[0073] Step2.3、选择当前目标词的词性与后缀作为离散的原始特征,并利用词性-向量映射表和后缀-向量映射表,查找得到对应的向量表示Input3、Input4,与Step2.2得到的连续深度特征Input2进行拼接融合,一起输入Softmax层;
[0074] 本发明选择词性特征和后缀特征作为当前目标词的原始信息。因为通过观察和统计语料,可以发现如骨科咨询中诸如“酸胀”和“疼痛”之类的基本症状词,首先它们的词性通常是动词“v”或形容词“a”,其次它们通常以“疼”、“痛”等字符结尾,因此论文以此作为离散的原始特征,与深度模型得到的连续深度特征进行融合,一起作为Softmax分类模型器的输入。最终得到医疗问句中的基本症状。
[0075] Step2.4、利用softmax函数进行二分类,在此分类模型基础上采用Focal Loss作为损失函数,最终得到当前目标词的分类结果,即“基本症状词”或“非基本症状词”;
[0076] 进一步地,所述Softmax层中,为进一步适应非平衡类别数据,在此分类模型基础上,对损失函数权重进行设置,采用Focal Loss作为损失函数,即H=-∑iαk(1-yi)γlnyi,其中αk为对应k类别的参数,γ参数作用是降低易分样本权重。因为,问题文本中大部分是非基本症状词,极少是基本症状词,此时会出现语料类别不平衡的问题。基本症状识别的实验在BS-Corpus语料库上进行,主要比较本发明的基于特征融合并结合损失函数权重设置的方法记作FC,与在处理非平衡语料分类问题中具有良好表现的SMOTE、基于聚类的欠采样、基于敏感因子的SVM及集成的SMOTE-AdaBoost-SVM方法。在本发明中“基本症状”就属于正样本标注为“bs”,“非基本症状”就属于负样本标记为“n-bs”。本发明方法相较于传统方法都取得最优结果,G-mean值分别是89.17%、93.79%,尤其是针对负样本,准确度明显提高。
[0077] Step2.5、对在线医疗文本进行词级分类后,再次遍历文本,若当前目标词的类别标签为“基本症状”,则将其作为症状实体出现的位置,从而实现症状实体位置的识别,其词性也对应修改为“bs”。
[0078] Step3、确定症状实体边界;以Step2识别的基本症状词为中心,利用症状实体构成模式的词性特征来分别进行前、后向的增量迭代,通过确定症状实体边界来实现症状实体识别;
[0079] 进一步地,所述步骤Step3的具体步骤如下:
[0080] Step3.1、症状实体通常具有某种固定的构成模式,其对应的词性构成也具有一定的规律性,大部分根据其症状构成模式也具有固定模式,据此构建增量迭代时的前向、后向词性规则库;
[0081] 骨科症状实体通常有几种固定的构成模式,简单像“肩膀/疼”是由“部位词(肩膀)+基本症状词(疼)”模式组成,复杂如用户描述的“脚踝/没有/明显/肿大/”是由“部位词(脚踝)+否定词(没有)+修饰词(明显)+基本症状词(肿大)”模式构成。因此,通过观察骨科咨询语料库中患者的症状描述,论文总结了骨科症状实体的一般构成模式,由此形成一组基础模式集。如表2所示。
[0082] 表2骨科症状构成的基础模式
[0083]序号 基础模式
1 部位词+基本症状词
2 修饰词+基本症状词
3 基本症状词+修饰词
4 否定词+基本症状词
[0084] 骨科症状实体的词性构成的前10种模式如表3所示,利用此论文总结得到了进行增量迭代时的词性规则库。
[0085] 表3骨科症状实体词性构成的前10种模式
[0086]排序 词性模式 频次
1 f+n+n+bs 802
2 n+n+v+d+bs 716
3 f+n+n+f+bs 456
4 r+v+bs 280
5 f+n+bs+ul 198
6 n+n+v+bs 128
7 n+n+v+bs 105
8 n+n+uj+n+n+bs 94
9 l+n+f+uj+n+bs 87
10 bs+ud+a 80
[0087] Step3.2、以Step2得到的基本症状词为中心出发,其中基本症状词起到标识了症状实体在文本中的位置的作用,然后分别向前、向后逐一查找每个词语,将满足词性规则库的词语合并至症状词,直至遇到不符合规则的词语则停止合并,最后输出合并后的症状词作为识别出的症状实体。
[0088] Step4、后处理:合并所有的症状实体;对于每个骨科在线医疗文本未知疾病类问题,都需要通过合并Step3得到的所有症状实体来输出该问题所包含的完整症状,完成最终症状识别。
[0089] 进一步地,所述步骤Step4的具体步骤如下:
[0090] Step4.1、将Step3识别得到的每个骨科在线医疗未知疾病类问题中出现的所有症状实体,按照基本症状在问题文本中出现的顺序,将这些对应的症状实体集首尾相连拼接起来,然后整体输出作为该问题的最终完整症状识别,本发明和其他症状识别的结果进行对比如图4所示,本发明的识别准确率高,比传统识别率高的还高5.4%左右。
[0091] 本发明中,基于词性增量迭代的症状识别模型,整体结构如图1所示首先,确定症状实体位置。对于输入的骨科未知疾病类问题,分词以后通过识别最基本的症状词来确定症状实体的位置,基本症状识别的方法如图2所示;其次确定症状实体边界。以上一步识别的基本症状词为中心,利用症状构成模式中的词性特征来分别进行前、后向的增量迭代,通过确定症状实体边界来实现症状实体识别;最后,合并所有症状实体。对于每个骨科未知疾病类问题,都需要通过合并上一步得到的所有症状实体来输出该问题所包含的完整症状,完成症状识别。
[0092] 上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈