NLP 分词技术学习
文章目录
- 分词
- 1. 分词方法
- 2. 分词工具
- 3. 分词难点
分词
分词是将连续的中文字符串序列切分成有意义的词语序列的过程,是 NLP 的基础任务之一。需要掌握以下内容:
1. 分词方法
-
基于规则/词典的方法(字符串匹配):
- 正向最大匹配法(MM):从左到右扫描文本,匹配词典中最长的词。
- 逆向最大匹配法(RMM):从右到左扫描文本,匹配词典中最长的词。
- 双向最大匹配法:结合正向和逆向匹配,选择更合理的切分方式。
- 更合理:比如选择词数更少,或者单个词的长度最少的方法。
- 最短路径分词法:使切分后的词数最少。
-
基于统计的方法:
- 隐马尔可夫模型(HMM):计算词语出现的概率,选择最优切分。
- 条件随机场(CRF):考虑上下文信息,优化分词结果。
- 互信息(MI):计算相邻字共现概率,判断是否成词。
-
基于深度学习的方法:
- BiLSTM-CRF:结合双向LSTM和CRF,提高分词准确性。
- BERT等预训练模型:利用Transformer架构进行端到端分词。
2. 分词工具
- Jieba(Python):支持最大匹配、HMM、自定义词典。
- HanLP(Java/Python):支持多种分词算法,如CRF、感知机等。
- LTP(哈工大):支持分词、词性标注等任务。
3. 分词难点
- 歧义切分(如“南京市长江大桥”可切分为“南京/市长/江大桥”或“南京市/长江大桥”)。
- 未登录词识别(如新词、专有名词)。
- 分词与NER的相互影响(如“苹果手机”是品牌名还是水果+手机?)。