牛 迪
(浙江大学 经济学院,浙江 杭州 310027)
命名实体识别(Named entity recognition,NER)是自然语言处理的一项基础任务,被广泛用于信息抽取[1,2]、信息检索、情感分析[3]、问答系统等业务应用中。尤其是在金融科技中,NER能够用于识别公司名称、公司简称、证券代码、高管人名、上市日期、交易金额等等,这些识别出的命名实体信息又能进一步的应用于下游业务,如信息披露、监管、审计等等。
传统的命名实体识别的方法有两种,一是规则匹配,通过人工创建的规则模版和词典来识别文本中的命名实体。另一种方法是采用统计机器学习,先依据人工经验总结命名实体的各种特征,如词形、字符大小写、字符前后缀、关键词、人名姓氏等等,构建特征工程,再采用隐马尔可夫模型(Hidden Markov model,HMM)、最大熵马尔可夫模型(Maximum entropy Markov model,MEMM)、条件随机场(Conditional random field,CRF)等机器学习模型[4-7]从标注语料中学习出统计规律。比如,在文献[5]中,Chieu和Ng从语料中归纳出17个特征组,如词的区域(Zone)特征组、词的区域与大小写(Case and zone)特征组、词信息(Token information)特征组、词典(Dictionaries)特征组、前后缀(Suffixes and prefixes)特征组等。每个特征组有多个特征项,以词信息特征组为例,该特征组下有10个特征项,如InitCapPeriod、OneCap、AllCapsPeriod等。随后将这些特征与最大熵模型相结合,从标注数据中学习统计规律。
深度学习兴起后,学术界开始采用端到端的深度学习模型[8-10],如卷积神经网络(Convolutional neural network,CNN)和长短期记忆网络(Long short term memory,LSTM)来尝试解决命名实体识别的问题,常见的模型结构有LSTM-CRF,CNN-CRF等。基本思路是先利用word2vec的方法,从原始语料中训练获得词向量(Word embedding),然后将句子中每个词的词……