1 定义:
Named Entity Recognition,命名实体识别)是自然语言处理中常见的一项任务,使用的范围非常广。命名实体通常指的是文本中具有特别意义或者指代性非常强的实体,通常包括人名、地名、机构名、时间、专有名词等。NER系统就是从非结构化的文本中抽取出上述实体,并且可以按照业务需求识别出更多类别的实体,比如产品名称、型号、价格等。
2 方法:
NER问题的目标是从文本抽取出特定需求实体的文本片段。针对这个任务,通常使用基于规则的方法和基于模型的方法。
2.1 规则法
针对有特殊上下文的实体,或实体本身有很多特征的文本,使用规则的方法简单且有效。
比如,抽取文本中物品价格,如果文本中所有商品价格都是“数字+元”的形式,则可以通过正则表达式”\d*\.?\d+元”进行抽取。随着语料数量的增加,面对的情况也越来越复杂,规则之间也可能发生冲突,整个系统也可能变得不可维护。
适合半结构化或比较规范的文本中的进行抽取任务,结合业务需求能够达到一定的效果。
优点:简单,快速
缺点:适用性差,维护成本高后期甚至不能维护
2.2 模型法
常见的序列标注模型包括HMM,CRF,RNN等模型。
HMM模型是一个生成式模型,包括两个序列三个矩阵:观察序列、隐藏序列、初始状态概率矩阵、状态转移概率矩阵、发射概率矩阵。通常情况下,我们要根据观察序列和三个矩阵,来得到隐藏序列。
CRF(Conditional random field,条件随机场)是一种判别式模型。条件随机场是给定随机变量X的情况下,随机变量Y的