基于多特征条件随机场的《金匮要略》症状药物信息抽取研究

2016-11-19 23:26叶辉姬东鸿
中国中医药图书情报 2016年5期

叶辉 姬东鸿

摘要:目的 结合自然语言处理方法,研究可以有效抽取中医古籍中所含症状和药物文本实体信息的方法。方法 以《金匮要略》为例,采用条件随机场(CRF)算法,先将文本进行分词处理,然后以词性、基于键值对的中医诊断标记集作为辅助特征,通过症状-药物BIO标签为训练特征来训练出模型,然后利用该模型对测试集文本进行自动标签标注。结果 基于多特征CRF自动标注的结果准确率达到84.5%,召回率达到70.9%,F测度值达到77.1%。结论 运用CRF方法加入词性、中医诊断标记集特征集进行训练得出的多特征模型,能有效提高CRF算法对中医古籍的实体抽取能力,生成的模型可用来自动化抽取中医古籍文本的症状药物实体信息。

关键词:条件随机场;《金匮要略》;症状药物信息抽取;中医古籍

中图分类号:R222.3 文献标识码:A 文章编号:2095-5707(2016)05-0014-04

Research on Symptom and Medicine Information Abstraction of TCM Book Jin Gui Yao Lue Based on Conditional Random Field

YE Hui1, JI Dong-hong2

(1. Guangzhou Chinese Medicine University, Guangzhou Guangdong 510006, China; 2. Wuhan University, Wuhan Hubei 430007, China)

Abstract: Objective To find an efficient way to abstract symptoms and medicine information from TCM book Jin Gui Yao Lue through combination of natural language processing method. Methods Taking Jin Gui Yao Lue as an example and by using conditional random fields (CRF), texts were processed according to words, and then part of speech and key assignments based on TCM diagnosis marker group were set as auxiliary features. Symptom-medicine BIO labels were set as the training features to train the model. Then this model was used to conduct automatic labeling to tested texts. Results The accuracy rate of automatic labeling based on multi-feature CRF was 84.5%, recall rate 70.9%, F measure value 77.1%. Conclusion The multi-feature model trained through CRF combined with part of speech and TCM diagnosis marker group can successfully improve abstraction entity information ability from ancient TCM books. The model can be used to automatically abstract symptom and medicine entity information from ancient TCM books.

Key words: conditional random fields (CRF); Jin Gui Yao Lue; symptom and medicine information abstraction; ancient TCM books

基金项目:2014广东省中医药局建设中医药强省科研课题(20141073);广东财政专项(2013170)

第一作者:叶辉,讲师,研究方向为医学信息学。E-mail: yehui@gzucm.edu.cn

中国医学存在大量的医药病案和古籍,如《伤寒论》《金匮要略》等中医药经典。后人通过阅读理解这些经典,能够学习名医的经典药方和治疗思路,甚至可以挖掘在古籍中的药物信息,通过现代技术的药物提纯提炼,找出治疗某种疾病的特效药物。但由于中医药术语一直缺乏标准,古籍中的古文又偏涩难懂,科研人员想要获取古籍中的症状和药物信息比较费时,因此研究利用计算机自然语言处理中的算法高效地自动识别古籍里的中医药治疗信息具有实际的应用价值。

目前,医学实体识别的方法主要有基于字典、基于规则和基于机器学习的方法[1],而基于机器学习的方法是主流。例如基于隐马尔可夫模型、决策树、支持向量机、最大熵、随机条件场等方法等,这些方法把词性、词形等特征融入到机器学习模型中,利用训练得到的学习模型从生物医学文本集合中识别出指定类型的名称。

2001年,条件随机场(conditional random fields, CRF)由美国Lafferty等人提出[2],结合了最大熵模型和隐马尔可夫模型的特点,是一种无向图模型,近年来在分词、词性标注和命名实体识别等序列标注任务中取得了很好的效果,该模型的特性表明它非常适用于医学领域的命名实体识别研究。有鉴于此,本文采用CRF算法对中医古籍《金匮要略》的医学症状和药物实体识别进行研究。

1 研究方法

在自然语言处理领域中,CRF模型可以使用字、词、词性等上下文特征,也可以引用词典等外部特征,即可以将任意相关知识源融入文本特征中,解决了序列标注和文本切分的问题,且在英文序列标记名词短语识别等方面取得了较好效果。CRF最常用的结构为线性链,可以有效克服隐马尔可夫模型假设条件的限制及最大熵模型标记偏执的问题。

一般采用CRF做医学术语抽取包括特征选取、参数估计和结果标注3个步骤,首先选择相关特征,然后利用所选特征对数据进行训练,得出特征函数权重参数,最后通过输入测试数据,使用训练好的模型对文本进行序列标记,完成医学命名实体识别。

1.1 数据准备与分词

CRF的训练和测试选用了CRF++工具包来实现,CRF++工具包是一个可用于分词、连续数据标注的简单、可定制的开源的条件随机场工具。首先要对《金匮要略》文本进行语料预处理和标注,然,后将其标注的语料分为2个部分,70%的部分作为训练语料,30%的部分作为测试语料。利用CRF训练测试的步骤概括如图1。

《金匮要略》全书共25篇,方剂262首,列举内外科病症60余种。由于年代久远,古文意思较为难懂,又兼具通假字较多,所以首先要进行必要的数据清洗,如古文中的“之乎者也”不影响上下文医学表达的词都去掉。分词处理使用中国科学院计算技术研究所开发的ICTCLAS 2015分词工具,此版本比过往版本对中文分词处理更加完善。但由于分词系统没有经过大量古文的自然语言方面的优化,所以分出来的词汇偏向以单字的形式出现比较多。最后本文采用书中前1~22篇的文本清洗后的分词结果共15 525词条作为实验数据集。

1.2 多特征选择

术语识别中可以利用的特征有很多,根据不同的文本和识别任务可以引入不同的特征,如字符、拼音、词性、词边界、各类命名实体列表、引导信息和频次统计及语法依赖关系和句子倾向性等,不同的特征对术语识别有不同的影响[3]。同时,特征数的增加对抽取效果的改善有积极作用。根据《金匮要略》的文本特征,本实验选用以下3个特征。

特征1:词性。词性是中文文本处理中常用的一项特征,词性特征指当前字符的词性,本研究釆用ICTCLAS2015的二级标注对语料库的词条进行自动词性标注,如:“极寒伤经”被系统标注为“极/d寒/a伤/v经/n”,其中d、a、v、n分别代表该词词性为副词、形容词、动词、名词。

特征2:采用键值对模型的中医诊断标记集进行诊断标注。王国龙等[4]发现,使用基于键值对模型的中医诊断标记集标注的中医古文在基于词汇联系的隐马尔可夫模型测试中得到比较好的结果,因此本文参考键值对模型的中医诊断标记集作为辅助特征引入到实验中。其中剔去时机、属性、附加描述这几个标记,简化后的键值对模型的中医诊断标记如表1。

特征3:症状-药物类别标签。该特征作为术语识别过程中的状态值特征。中医症状一般包括主症、舌象及脉象、部位、部位表征描述等信息,药物包括方剂和治法。本文通过总结中医对症状和药物的处理方式,形成表2的标记集。在识别类别的基础上采用“BIO”法标记[5],其中B(beginning)表示术语的首字符,I(intermediate)表示术语的非首字符和结束字符,O(outside)表示非术语字符。由于中医诊断中对于脉象比较关注,因此在症状-脉象中特别标签了症状-脉类和症状-脉象,以提取其中的脉诊知识。另外对症状也进行了标签处理。

1.3 语料训练与测试

应用CRF++要求事先指定一种功能模板。本文根据《金匮要略》文本特点设定一个特征模板,该模板用于描述训练文本和测试文本中的特征,进而提取训练集中的特征参数来实现测试文本标签的计算。模板文件中的每一行表示一个子模版,表达方式为:%X[row, col],一个子模板表示输入数据的一个Token。本文设计将相邻位置的特征进行联合,有助于识别错分词或长距离词。本实验1和2选择模板窗口的大小为前后两行[-2,+2]。

利用CRF++train训练工具,按照表3的训练集格式进行训练得出模型文件model,然后再利用CRF++test工具将该模型应用到测试集中去,最后得出带有症状-药物自动标签的测试集。

1.4 实验设计

本文设计了2组实验,通过对照组与实验组的对比,测试采用不同特征的基于CRF的《金匮要略》症状-药物识别的性能及不同特征对性能的影响情况。实验1是单一特征对照实验,仅选用词本身、症状-药物标记(参见表2)进行实验作为基准。实验2选用词、词性、简化的中医诊断标记集(参见表1),症状-方剂-药物标记(参见表2)的多特征进行实验,然后对以上2组实验的结果用conlleval工具进行测评,分析多特征对实验识别效能的影响。

1.5 评价标准

基于CRF的中医专业术语识别性能的评估采用3个指标:准确率(precision, P)、召回率(recall, R)和F测度值(F-Measure)。P指抽取的信息中正确抽取的比例;R指正确抽取的信息占应抽取信息的比例;F测度值即为正确率和召回率的调和平均值。其中F测度值能比较合理地反映该信息抽取的有效程度。

2 结果与分析

实验组1为实验的基准,采用单一特征的CRF方法,得到抽取词组准确率P为72.0%,召回率R为55.3%,F测度值为62.5%;而实验组2引入多特征,再采用CRF处理后,得到抽取词组准确率P为

84.5%,召回率R为70.9%,F测度值为77.1%。见表4。单一特征进行分词和症状药物BIO标签训练的F测度值比较低,而运用了分词、词性、中医诊断简化标记和症状药物BIO多特征标签后,F测度值结果升高到77.1%,说明引入该组合特征模型的识别效能较优。可见对于中医古籍的实体信息抽取,采用诊断标记和语言学规则(如词性、分词等)相结合的多特征模型,可令CRF抽取信息效果提高。

3 小结

本文主要通过CRF工具对《金匮要略》进行症状-药物信息提取,首先经过分词处理语料,然后加入词性、中医诊断标记等多个标注特征对中医症状-药物BIO标签进行训练和测试,得到F测度值77.1%,比只运用单一特征的CRF抽取的结果效率更高,可见利用本文提出的多特征模型的CRF提取方法对中医古籍的信息抽取有良好的效果。通过对《金匮要略》等中医古籍的信息抽取研究,为将来建立中医药搜索引擎及新药物发掘等方面提供了一种可行的方法。

参考文献

[1] 马瑞民,马民艳.基于CRFs的多策略生物医学命名实体识别[J].齐齐哈尔大学学报,2011,27(1):39-42.

[2] LAFFERTY JD, MCCALLUM A, PEREIRA FCN. Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data[C]//The 18th International Conference on Machine Learning. San Francisco: Morgan Kaufmann Publishers Inc. ,2001:282-289.

[3] 孟洪宇.基于条件随机场的《伤寒论》中医术语自动识别研究[D].北京:北京中医药大学,2014:33-34

[4] 王国龙,杜建强,郝竹林,等.中医诊断古文的词性标注与特征重组[J].计算机工程与设计,2015,36(3):836-841.

[5] 魏尊强,舒红平,王亚强.基于序列标注的中医症状名识别技术研究[J].山东工业技术,2015(8):237-238.

(收稿日期:2016-06-08)

(修回日期:2016-08-08;编辑:魏民)