中医临床数据结构化与知识关联方法学概论
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

三、自然语言处理技术

自然语言处理技术(natural language processing technology)是一门融语言学、计算机科学和数学为一体的科学,是对自然语言(natural language processing,NLP)信息进行处理的技术。如从以自然语言形式记录的临床诊疗行为资料中识别并自动抽提出诊疗信息的技术方法,是临床数据资源管理与利用的规范化、结构化和数据知识化等的关键技术。

自然语言处理指用人类自然语言与计算机系统进行通信、交互,是很多应用场景里不可缺少的技术,如问答系统、信息检索、文本挖掘等。自然语言处理是综合学科,需要语言学、计算机科学、数学等专业知识。常用的基础技术分述如下。

(一)分词

分词是自然语言处理技术的基础构成之一,并且是其他技术的基础。基于统计实现的词性标注、命名实体识别、句法分析等都需要依赖对句子进行正确的分词。中文和英文(或其他语种)都需要进行分词,但要解决的问题的侧重点不同,中文分词算法可以分为两类。

1.机械分词算法 是一种基于词典和人工规则的方法。按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。匹配可以有多种策略,如按照扫描方向的不同,可分为正向匹配和逆向匹配;按照不同长度优先匹配,可分为最大(最长)匹配和最小(最短)匹配等。其优点有性能高(规则简单)、工程上使用方便(比如只要在词典里添加新词就可以支持新词的识别)等。缺点有规则简单、消歧能力较弱,对于词典里的未登录词基本上无能为力。

2.基于统计的分词方法 基本原理是根据字符串在语料库中出现的统计频率来决定其是否构成词。词是字的组合,相邻的字同时出现的次数越多,就越有可能构成一个词。因此,字与字相邻共现的频率或概率能够较好地反映它们成为词的可信度。具体做法是根据语料训练分词模型,典型的算法有隐马尔科夫模型(Hidden Markov Model,HMM)、条件随机域模型(conditional random field,CRF)等。其中CRF相比HMM有更弱的上下文无关性假设,理论上效果更好。CRF优点:由于是基于统计算法进行切分,理论上只要训练的语料库够全面,就可以有较好的消歧能力和未登录词识别能力。CRF缺点:速度较慢,可能无法满足一些对性能要求较高的工程应用;由于一般算法不支持模型的增量训练,对于新增的专业领域的语料,需要进行全量重新训练,花费时间较长,工程应用上较为麻烦;相同的字串片段在不同的上下文中,可能有不同的切分结果,存在一些不一致性问题,在一些应用上(如检索)可能导致召回率问题。

(二)词性标注

词性标注(part-of-speech tagging或POS tagging)指为句子中每个单词标注一个词性类别,这里的类别包括名词、动词、形容词、连词、副词、标点符号等。词性标注是语言识别、句法分析、信息抽取技术的基础技术之一。类似于中文分词技术,词性标注也可以看成是标注问题,因此可以应用最大熵、HMM或CRF等算法进行模型训练。

(三)句法分析

句法分析是确定句子的句法结构,如“主谓宾”“动宾”“定中”“动补”等关系,是进行进一步语义分析的基础。

句法分析需要依赖某种预定的语法体系,较常见的是采用依存语法表达,即通过语法树表达各个词之间的依存关系。依存语法定义有4条公理:

1.一个句子只有一个成分是独立的;

2.句子中的其他成分直接从属于某一成分;

3.任何一个成分都不能从属于两个或两个以上的成分;

4.如果成分A直接从属于成分B,而成分C在句子中位于A和B之间,那么成分C或者从属于A,或者从属于B,或者从属于A和B之间的某一成分。

(四)命名实体识别

命名实体识别是定位句子中出现的人名、地名、机构名、专有名词等。命名实体属于信息抽取领域的基本技术,通常用于挖掘文本中的实体并进行分析。命名实体识别是进一步进行实体关系识别的基础,也可以看作是标注问题,因此可以采用HMM、CRF等进行模型训练。基于统计的命名实体识别需要基于分词、词性标注等技术。

命名实体可以有多种分类方法,ACE08评测计划里定义了五大类实体类型,即设施(FAC)、地理政治实体(GPE)、位置(LOC)、组织(ORG)、人物(PER),并定义了31种子类型。

(五)实体关系抽取

实体关系抽取是自动识别非结构化文档中两个实体之间的关联关系,属于信息抽取领域的基础技术之一,是进一步进行数据处理和数据挖掘的前提。在信息检索、问答系统等领域有重要的意义。例如近年搜索领域流行的知识图谱技术,就是构建在实体关系抽取的基础上。

实体关系抽取是建立在命名实体识别的基础之上,基本任务就是寻找实体之间存在的特定关系。实体关系抽取有多种方式,包括规则匹配、有监督学习、无监督(或半监督)学习。其中有监督学习需要预先定义实体关系类别,并通常将问题建模为分类问题。有监督学习需要预先人工标注语料库,工作量大,因此在一些开放性数据集上,一些无监督(或半监督)算法也得到广泛应用。

一些常见的实体关系有从属关系(如大兵是大学的教授)、组织结构(如研究所是大学的下属科研部门)、人物关系(如大兵是小明的爸爸)、地理位置关系(如武昌位于长江之南)等。