首先,我们先看一个整体架构图
一、分词框架
整体采用结巴分词+自定义词库+字典树的模式进行分词优化。处理流程为:原生数据—>文本清理—>特定预处理—>标识化处理—>罕见词/停用词等移除—>词库匹配—>输出数据
同时,制定以下规则:1、词库匹配时只输入名词性字符。
2、在标识化处理过程中,指定自己定义的字典,其目的在于虽然可以通过Viterbi算法识别出新词,但自行添加新词库可以保证更高的正确率
对于分词状态,由于jieba分词中使用的是4-tag,因此我们以4-tag进行计算。4-tag,也就是每个字处在词语中的4种可能状态,B、M、E、S,分别表示Begin(这个字处于词的开始位置)、Middle(这个字处于词的中间位置)、End(这个字处于词的结束位置)、Single(这个字是单字成词)
二、数据再加工
在原始数据进行词库匹配之前,会对原始数据进行加工处理,筛除掉所有特殊字符、各种进制编码、各种品牌、功能性描述语言,然后根据词性只保留名词类词组,用于简单的词义消歧,最后,再将所得的结果拼接成字符串与词库(通过字典树的方式)进行匹配。
关于维特比算法:该算法致力寻找