[NLP笔记] 分词

分词

规则分词

维护词典 =》用语句中字符串与词典进行比较,找到则切分,否则不切分。

  • 正向最大匹配法(Maximum Match Method,MM法);
  • 逆向最大匹配法(Reverse Maximum Match Method,RMM法)=》使用逆序词典,文档进行倒排处理;
  • 双向最大匹配法(Bi-direction Matching Method);

统计分词

相连的字反复出现,认为它们可能组成的是一个词。

  • 语言模型:为长度为m的字符串确定其概率分布P(w1,w2,…,wm),其中w1到wm依次表示各个词语;
  • 隐马尔可夫模型(HMM模型):一个字在词中占据确定的构词位置,即词首B、词中M、词尾E、单独成词S,所以可以对字在字串中的位置进行序列标注,所以HMM将分词作为字在字串中的序列标注人物来实现;
  • 其他统计分词算法:
    条件随机场(CRF):每个状态不仅与它前面的状态有关,还和它后面的状态有关;
    神经网络分词算法:CNN,LSTM。

补充:HMM(齐次马尔科夫假设,发射概率,转移概率)。

混合分词(规则+统计)

先基于词典进行分词,再使用统计方法辅助(处理未登录词和歧义词)。

分词标注方案

标签:B(Begin),I(Intermediate),E(End),S(Single),O(Other)。
方案:

  • IOB1: 文本块中字符用 I 标记,文本块前为同类型文本块,则该文本块第一个字符用B标记。不属于目标文本块的字符用O标记。
    比如,“唐 长安城 以 隋 大兴城 为 基础”,
    标记为 “I-TIME B-LOC I-LOC I-LOC O I-TIME B-LOC I-LOC I-LOC O O O”。
  • IOB2: 每个文本块都以标签B开始,除此之外,跟IOB1一样。
    比如,“唐 长安城 以 隋 大兴城 为 基础”,
    标记为 “B-TIME B-LOC I-LOC I-LOC O B-TIME B-LOC I-LOC I-LOC O O O”。
  • IOE1: 独立文本块用 I 标记,同类文本块连续时,前一个文本块的最后一个字符用 E 标记。
    比如,“唐 长安城 以 隋 大兴城 为 基础”,
    标记为 “E-TIME I-LOC I-LOC I-LOC O E-TIME I-LOC I-LOC I-LOC O O O”。
  • IOE2: 每个文本块都以标签E结尾,除此之外,跟IOE1一样。
    比如,“唐 长安城 以 隋 大兴城 为 基础”,
    标记为 “E-TIME I-LOC I-LOC E-LOC O E-TIME I-LOC I-LOC E-LOC O O O”。
  • START/END (也叫SBEIO、IOBES): 包含了全部的5种标签,文本块由单个字符组成的时候,使用S标签来表示,由一个以上的字符组成时,首字符总是使用B标签,尾字符总是使用E标签,中间的字符使用 I 标签。
    比如,“唐 长安城 以 隋 大兴城 为 基础”,
    标记为 “S-TIME B-LOC I-LOC E-LOC O S-TIME B-LOC I-LOC E-LOC O O O”。
  • IO: 只使用I和O标签,显然,如果文本中有连续的同种类型实体的文本块,使用该标签方案不能够区分这种情况。
    比如,“唐 长安城 以 隋 大兴城 为 基础”,
    标记为 “I-TIME I-LOC I-LOC I-LOC O I-TIME I-LOC I-LOC I-LOC O O O”。

其中最常用的是IOB2、IOBS、IOBES。具体怎么标记,完全可以根据自己的经验,不必拘泥于这类方案。

分词工具

ref: 自然语言处理相关项目列表(2018/02/05更新)

  1. FoolNLTK
  2. CWS_Dict
  3. multi-criteria-cws
  4. jieba
  5. NLPIR-team/NLPIR

常见模型

  1. BiLstm+CRF
    论文 Bidirectional LSTM-CRF Models for Sequence Tagging by Huang, Xu and Yu
    参考代码实现 tf_ner
  2. BiLstm+BiLstm+CRF
    论文 Neural Architectures for Named Entity Recognition by Lample et al.
    参考代码实现 tf_ner
  3. BiLstm+Cnn+CRF
    论文 End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF by Ma et Hovy
    参考代码实现 tf_ner
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章