论文阅读《Named Entity Recognition using an HMM-based Chunk Tagger》
Motivation:
命名实体识别(NER)是识别文本中基于特定意义的实体,例如人名、地名、机构名等。因为命名实体是信息抽取的关键步骤,而目前大多数的方法都是人为构造特征例如构造正则表达式。这种基于规则的NER方法只能用于某一种特定语言,其鲁棒性和迁移性较差。因此本文提出一种基于HMM的机器学习方法实现命名实体识别。
核心思想:
隐马尔可夫模型经常用于标注问题,这时状态对应着标记,标注问题是给定观测的序列预测其对应的标记序列。NER对应的数学公式表达为:
(1)
其中,是标记序列,也就是我们最终想获得的输出;
,是观测序列即输入。为了简化计算,假设每个标记之间是独立的,所以第二项可化为:
(2)
将(2)带入(1)得最终要最大化的目标表达式:
(3)
具体步骤:
1、训练:根据训练数据,使用back-off model训练一个HMM模型。输入:每个单词及其特征,例如g1=<MonthDATE, july>。输出:边界标签,实体类别和单词特征,例如t1=<0, DATE, MonthDATE >。训练之后,得到隐马尔可夫模型
A,B,C分别为状态转移矩阵、观测转移矩阵和初始状态概率向量。(具体怎么使用back-off model更新参数还不太清楚)
2、测试:利用维特比算法,生成命名实体识别的结果。
实验结果:
模型实现的效果:
- f1: 词语的简单确定性的内在特征,如大写、数字;
- f2 : 重要triggers的内部语义特征;
- f3: 地名特征.;
- f4: 是关于遇到的NE是否以及如何出现在文档中已经识别的NEs列表中
--以上四种特征具体模式可以参考论文原文。
本方法和其他模型的比较:
启发:
- 利用HMM进行NER往往会遇到数据稀疏问题,因此如何解决数据稀疏问题对模型的表现力至关重要;
- 一段文本中,同一个NE在第一次用到时可能比较正式,在后面的使用可能会简化(Gates和Bill Gates),这叫做name alias,设计有效的name alias算法也会提高模型的效果。