所谓序列标注:

就是有一个线性序列:X = x_1 , x_2, x_3,......,x_n

给每一个元素打上标签:Y = y_1, y_2, y_3,......, y_n

 

序列标注任务

1.分词

[B, M, E, S]

B: 代表开始字符

M:代表中间字符

E:代表结束字符

S:代表单字词

例如:我们爱自然语言处理  

这句话所得到的的标注序列为:

BESBMMMME

我们 --> BE

爱  --> S

自然语言处理  --> BMMMME

 

2.词性标注

首先分词,然后对词语打标签

 

3.命名实体识别

识别文本中出现的实体,比如,地址,人名,机构等特殊实体

[BA, MA, EA, BO, MO, EO, BP, MP, EP, O]

BA:地址首字符

MA:地址中间字符

EA:地址尾字符

BO:机构首字符

MO:机构中间字符

EO:机构尾字符

BP:人名首字符

MP:人名中间字符

EP:人名尾字符

O:不是实体

注意:关键词提取,新词发现, 任务型对话中的词槽提取都可以看作是命名实体识别任务。

 

baseline

1.匹配

匹配就是在文本中搜索匹配实体的关键词

2.规则

对于一些有规律的实体,可以针对相对的规则,比如前缀后缀或者其他规则,来抽取

3.统计

利用统计学,来找出文献中的一些隐含的规律

 

前两者是一种专家系统的策略,后者需要大量的统计样本

 

序列标注任务的难点:

1.难以用规则概括任务中的所有细节;

2.序列元素与标签之间关系的不确定性(例如:工作可以是动词,也可以是名词)

3.标签与标签之前存在一定的关联

4.计算量大

5.数据要求高

 

基于概率图的模型

1.HMM

隐马尔科夫模型

(最好参看李航的统计学习方法来总结)

2.MEMM

这里需要后期补充学习,最大熵模型MaxEnt,以及最大熵Markov模型

3.CRF

相对于后两种,CRF这种现在最流行的就是Bi-LSTM+CRF

 

以上三种方法,后期做一个学习补充

 

基于深度学习的方法

一般工业界现在都是基于Bi-LSTM+CRF,或加上CNN

 

参考目录

【1】NLP从入门到实践.胡盼盼(比较适合于面试整理--自然语言处理面试)

【2】大佬的博客(1) 序列标注问题概述(介绍的中文分词,命名实体识别以及CRF和LSTM(以及几种baseline)在序列标注上的优劣)