隐马尔可夫模型的优化及其用于多文本实体识别

2022-06-15 02:05沈同平黄方亮许欢庆
关键词:词典概率实体

沈同平,金 力,黄方亮,许欢庆

(安徽中医药大学 医药信息工程学院,安徽 合肥 230012)

中文文本实体识别(NER)是自然语言处理技术(NLP)的重要研究基础和方向,主要针对文本中的各类命名实体进行识别和提取,比如传统文本中的姓名、民族、学历、国籍、组织等,医学文本中的症状、疾病名称、检查手段和方式等。文本命名实体识别研究在国内外发展迅速,主要聚焦金融、新闻媒体、医学文本处理等方面。文本实体识别是信息提取、智能问答和知识图谱等研究的重要基础,NER提取效果的优劣直接影响后续自然语言处理质量和效率[1]。针对命名实体提取的研究主要有基于规则和词典的方法、传统机器学习方法、深度学习方法、注意力机制模型和迁移学习等。基于规则和词典的方法将文本规则和字典进行匹配,识别出相应的命名实体。孔垂杨等[2]提出一种融合语义规则和情感词典的房产中介评论文本情感分析算法,从房产评论文本中构造出直接分类词词典和常见程度副词强度值词典,并根据语义规则进行初步分类,然后结合情感强度值、程度副词强度值和否定词词典计算评论情感得分,从而进行二次分类。凌天斌等[3]提出了基于词对齐位置信息的韩汉双语语料库名词短语对齐方法,通过统计方法获得词对齐位置信息,同时基于词典方法的相似度进行词对齐校正,利用韩语名词短语左右边界规则,抽取名词短语及其汉语译文,利用关联度度量方法进行过滤,实现名词短语对齐。基于规则和词典的方法,存在灵活性和可移植性差等问题,当文本内容发生改变时,需要更改制定的规则和词典,不断完善和增加新的规则和词典,实用效果较差。传统机器学习方法主要利用序列标注对文本中的实体进行识别和提取,序列标注体系主要有BIO体系、BIOES体系和BMES体系等,常用的方法有支持向量机(SVM)、隐马尔可夫模型(HMM)和条件随机场模型(CRF)等。王汀等[4]提出一种基于中文网络百科架构的大规模知识库的自动化构建方法,先对知识三元组中的主语和宾语之间的语义关系进行自扩展学习;然后,采用基于条件随机场和支持向量机协同分类器,对标注出的属性和属性值实体之间的语义关系进行预测。实验评测结果表明,该方法在典型中文百科分类页面中的实体识别查准率和查全率分别提升约10%和6%。李丽双等[5]尝试在大规模未标注数据上进行训练,自动获得语义信息,得到3种词表示方法:词向量、基于词向量的聚类和布朗聚类。将其作为CRF和SVM的特征进行半监督学习,实验结果表明,该方法能提高现有基于机器学习系统的性能,并在公共评测语料Bio Creative II GM上取得了较好的评测结果。张志强等[6]随机收集98份腹部CT影像学报告与影像所见部分的5类实体,部位、形态、大小、密度和增强,并进行人工标注,使用条件随机场中的3种特征模板进行命名实体识别,研究结果表明,条件随机场算法在中文影像学报告的命名实体识别任务中具有很高的准确性,所识别的实体可用于后续信息提取等自然语言处理任务。黄晓辉等[7]构建了面向中文分词与实体识别联合学习的序列标注模型,实现了中文序列局部空间特征和长距离时序依赖特征的联合提取,避免了传统流水线法的误差传播问题。在人民日报语料和微软标注语料上的实验结果表明,该方法与传统神经网络模型相比,性能显著提升。孔祥鹏等[8]提出了一种基于迁移学习的联合深度模型(TBIBC),结合BERT、IDCNN和BiGRU等模型进行上下文语义信息提取,通过CRF层得到最优标签序列,将训练好的中文实体识别模型迁移到维吾尔语模型上,实验结果表明能够显著提升维吾尔语命名实体识别性能。

不同的中文文本实体识别模型各有优劣。考虑到传统隐马尔可夫(HMM)模型存在上下文信息获取困难、未登录词无法处理等问题,本文提出对经典的HMM模型进行优化和改进的方案,并在简历数据集和CCKS2017医学数据集上进行模型验证。

1 隐马尔可夫模型

隐马尔可夫模型是机器学习算法中的一种经典模型,以概率统计为基础,由观察序列层和隐藏层组成,Q={q1,q2,q3,…,qM}表示共有M个状态集合,V={v1,v2,v3,…,vN}表示共有N个观察值。每个状态都具有转移概率,aij=P(it+1=qj|it=qi)表示时刻t的状态qi到时刻t+1的状态qj的转移概率,bj(k)=P(ot=vk|it=qj)表示时刻t的状态ot到观察序列值vk的发射概率。HMM模型如图1所示。

图1 HMM模型

HMM模型的执行步骤分为以下几步:(1)采用前向算法计算模型生成的观察值序列的概率P=表示时刻t+1观测到o1,o2,…,ot+1,并且时刻t+1隐藏状态qi的概率。这个概率恰恰就是时刻t+1对应的隐藏状态i的前向概率,这样就得到了前向概率的递推关系式:

式(1)采用Maximum Likelihood算法,训练模型参数,确保观察序列值出现的概率P最大,公式如下:

在实体识别任务中,根据给定的模型输入和分类函数的参数,计算出最接近真实值的模型输出值。公式(2)中的x(i)和y(i)分别表示实体的输入文本和实体的输出类型。式(2)根据给定的观察值序列和模型参数,采用维特比(Viterbi)算法,求解最可能的状态序列并输出。

维特比解码就是通过这两个局部状态,从时刻0到时刻t之间,利用Ψt(i)查找前一个最可能的状态节点回溯,直到找到最优的隐藏状态序列。

2 改进的隐马尔可夫模型

经典的隐马尔可夫模型只考虑当前词wi与前一个词wi-1之间的联系,没有考虑当前实体词wi与wi+1词之间的标记联系,忽略了上下词之间的联系,优化后的HMM模型如下:

其中,P(ti|ti-1)表示状态转移概率,P(wi|ti,ti+1)表示发射概率。改进的HMM模型充分考虑了上下文的语义联系和依赖关系,使事件发生的概率更为细化,实体标注类型更加准确,如图2所示。

图2改进的HMM模型

在Maximum Likelihood算法计算参数时,训练语料可能存在未出现的事件,如零值传播。为了消除零概率事件,采用平滑算法,将已知概率较小的部分赋值给未出现的事件。本文采用Bi-gram指数线性插值模型算法,和其他插值算法相比,该算法参数少、平滑效果优异。平滑后的转移概率为

其中,λ=e-N(wi,ti,ti+1),N表示全部实例的数量。

在实体识别过程中,可能会出现一些未在词典中、也不在训练语料中的实体词,这些词语称为未登录词。未登录词的处理是实体识别模型需要重点考虑的,其直接影响模型的实体识别效果。在模型的输入语句中,未登录词xj的实体识别就是计算xj的发射概率,即

在HMM模型参数确定后,通过Viterbi算法,可以从给定的观察值序列对应的可能状态序列中,选择概率最大的结果作为最终状态序列。在改进的HMM模型中,增加1个参数,修改的Viterbi算法如下:

3 实验结果与分析

3.1 实验数据集

本文采用国内外研究中文实体识别的两个公开评测数据集对模型进行验证,分别是网上收集的简历(Resume)数据集和CCKS2017电子病历数据集。简历数据集包含8种实体名称,分别是国籍(CONT)、姓名(NAME)、学历(EDU)、职称(TITLE)、公司(ORG)、民族(RACE)、专业(PRO)和籍贯(LOC),各实体的数量如表1所示。CCKS2017电子病历数据集包含5种实体名称,分别是身体部位(BODY)、检查手段(CHECK)、疾病名称(DISEASE)、症状(SIGNS)和治疗手段(TREATMENT),各实体的数量如表2所示。

表1 简历数据集的各训练集实体数量

表2 CCKS2017数据集的各训练集实体数量

3.2 数据集标注与评价指标

为了实现对中文实体的识别,通常需要对数据集进行标注,本文采用BMES标注体系。在简历数据集中,以实体CONT为例,“B-CONT”表示国籍的首字符,“M-CONT”表示国籍的中间字符,“E-CONT”表示国籍实体的最后一个字符,“S-CONT”表示单独的国籍,“O”表示8个实体外的其他字符。在CCKS2017电子病历数据集中,以实体BODY为例,“B-BODY”表示身体的首字符,“M-BODY”表示身体的中间字符,“E-BODY”表示身体的最后一个字符,“S-BODY”表示单独的身体部位,“O”表示5个实体外的其他字符。为了验证模型的有效性,采用精确率(Precision)、召回率(Recall)、F1值和准确率(Accuracy)对模型进行评价,计算公式分别为

其中,TP表示真正例,Fp表示假正例,Fn表示假负例。

本文采用Pytorch(1.4.0+cpu)平台搭建实验环境,操作系统为Windows 7,CPU为Inter(R)Core(TM)i5-9500F 3.0GHZ,内存为12 GB,Python为3.6.8。

3.3 实验结果

为了对本文提出的模型进行评价,分别对简历数据集和CCKS2017电子病历数据集进行评测,评测结果分别如表3和表4所示。从表3可以看出,在简历数据集中,LOC实体数量是47,模型精确率只有20%,测评效果较差。实体CONT和RACE数量分别是260和115,模型精确率分别达96.55%和92.86%,因为国籍和民族的信息是确定的,模型能够有效地进行学习和预测。从表4可以看出,在CCKS2017电子病历数据集中,实体DISEASE和TREATMENT在训练集中的数量分别是515和813,而SIGNS、BODY和CHECK的数量分别为6 486、8 942和7 987,训练集中实体数量会直接影响模型的测评性能。同时,经过优化后的HMM模型算法,每个实体的精确率、召回值和F1值都有一定程度提升。结合表3和表4的数据结果,优化的HMM模型的实体识别效果优于传统的HMM模型,同时训练集中各实体数量的多少也会直接影响模型的测评效果。

表3 简历数据集测评结果

表4 CCKS2017电子病历数据集测评结果

4 结论

本文重点研究HMM模型在中文实体识别中的效果以及存在的问题,并对经典的HMM模型进行优化和改进。优化后的模型充分考虑了上下文的语义联系和依赖关系,采用Bi-gram指数线性插值算法,消除零概率事件,并对未登录词进行处理;最后使用改进的Viterbi算法求解最可能的状态序列并输出结果,提高模型的识别效果。应用于简历数据集和CCKS2017电子病历数据集结果表明,优化的HMM模型效果优于传统的HMM模型,精确率、召回值和F1值都取得了更好的结果。CCKS2017电子病历数据集中的准确率和F1值分别达91.61%和91.21%,各提升了15.84%和11.78%;简历数据集中的准确率和F1值分别达91.29%和91.07%,各提升了8.67%和6.88%。本次实验数据集采用的是BMES标注体系,后续还需要对BIO标注体系和BIEOS等标注体系进行对比研究。

猜你喜欢
词典概率实体
概率统计中的决策问题
概率统计解答题易错点透视
概率与统计(1)
概率与统计(2)
米兰·昆德拉的A-Z词典(节选)
米沃什词典
实体书店步入复兴期?
2017实体经济领军者
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”