当前位置: 代码迷 >> 综合 >> NLP先验知识(一)
  详细解决方案

NLP先验知识(一)

热度:46   发布时间:2024-02-11 15:22:42.0

NLP基础任务

1. 分词

最大匹配分词法:长度优先

1. 前向最大匹配(forward-max matching)

2. 后向最大匹配(backward-max matching)

这种算法有几个缺点:

1. 词典中没有(OOV,out of vocabulary)

2. 分词出现歧义  例如:武汉市长江大桥,会把市长和长江大桥同时分出来,产生歧义

现在有很多现成的模型以及第三方包几乎可以解决这些问题:

  • jieba
  • LTP
  • hanNLP
  • snowNLP

2. 词性标注(POS Tagging)

词性标注,part of speech,即标注句子中没个词的词性,是重要的基础性工作,为后续的句法分析奠定基础,也是一个已经解决的问题,可以用许多现成的第三方包解决。词性标注可以用两种模型的解决,分类模型和sequence labeling。

2.1 分类模型

用分类模型解决词性标注问题,将句子中的每个词看作一个独立个体,将每种词性看做不同的类,最优化独立化的每个词的分类结果。

2.2 sequence labeling

对当前词上下文提特征,并用特征做分类。利用概率来表示序列,考虑前后词的依存关系,可以使用隐马尔科夫模型或条件随机场。

3. 命名实体识别(NER)

3.1 什么是实体识别

命名实体识别是一种序列标注问题,是对句子中的重要信息进行标注,比人名PER,地名LOC,机构ORG等等,这是基本的标签库。

例如:我在某某大学的教室里学习。

抽取出实体:

我在某某大学的教室里学习。

PER   ORG       LOC

3.2 实体识别标注方式

NER是一种序列标注问题,因此他们的数据标注方式也遵照序列标注问题的方式,主要有两种标注方式:1)BIOES,2)BIO。

BIOES是指:

  • B,即Begin,表示开始

  • I,即Intermediate,表示中间

  • E,即End,表示结尾

  • S,即Single,表示单个字符

  • O,即Other,表示其他,用于标记无关字符

BIO和BIOES大同小异,有了这种标注方式就可以对标签库进行扩充:B-PER, I-PER, B-LOC, I-LOC, B-ORG, I_ORG等,依此类推。

例如:我在某某大学的教室里学习。

这句话可以标注为:

[B-PER, O, B-ORG, I-ORG, I_ORG, E-ORG, O, B-LOC, E-LOC, O, O, O]

3.3 实体识别的方法

  1. 人工标注
  2. HMM和CRF
  3. LSTM+CRF,LSTM作为特征抽取器,再接一个CRF层来作为输出层
  4. BERT+LSTM+CRF

 

  相关解决方案