1、基金项目:中国科学院随机复杂结构 与数据 科学重 点实 验室(2008DP173182)收稿日期:2021-04-07 修回日期:2021-07-09 第 40 卷 第 4 期计 算 机 仿 真2023 年 4 月 文章编号:1006-9348(2023)04-0310-07基于结巴分词的领域自适应分词方法研究邢 玲1,2,程 兵1(1.中国科学院数学与系统科学研究院,北京 100190;2.中国科学院大学,北京 10049)摘要:利用 Jieba 分词(结巴分词)对中文文本进行分词时,对于领域词组分词效果不是很理想,需要通过加载自定义词典解决这个问题。提出一种领域自适应分词方法,将结巴分词后
2、相邻词语组合为词组,利用标准化点互信息(NPMI)及词频统计两种方法分别计算词组凝聚度,利用左右信息熵计算词组自由度,通过设定凝聚度与自由度阈值识别领域词组,利用文中提出的词性约束规则进一步筛选词组,将得到的词组作为自定义词典加入到结巴分词中,再次对文本进行分词。通过在自己构建的金融和法律领域语料库进行实验,证明了所提算法可以有效发现领域词组,利用该算法进行领域分词时,准确率和召回率高于只利用结巴分词的准确率和召回率。最后提出了一种基于区分不同领域的领域自适应分词算法评价方法。实验结果表明,上述算法能够有效区分不同领域,即可以有效实现领域分词。关键词:结巴分词;领域自适应;标准化点互信息;词频
3、统计;左右信息熵;词性约束中图分类号:TP391 文献标识码:BResearch on Domain Adaptive Word Segmentation MethodBased on Jieba Word SegmentationXING Ling1,2,CHENG Bing1(1.Academy of Mathematics and Systems Science,Chinese Academy of Sciences,Beijing 100190,China;2.University of Chinese Academy of Sciences,Beijing 100049,China)
4、ABSTRACT:When using Jieba word segmentation to segment Chinese text,the effect of segmentation of domainwords is not very satisfactory,and it is often necessary to load a custom dictionary to solve this problem.This paperproposes a domain adaptive word segmentation method,which combines the adjacent
5、 words after Jieba word segmen-tation into phrases,calculates the cohesion degree of phrases by using standardized point mutual information(NPMI)and word frequency statistics,calculates the degree of freedom of phrases by using left and right information entropy,identifies the domain phrases by sett
6、ing the cohesion degree and degree of freedom threshold,and further filters thephrases by using the part of speech constraint rules proposed in the paper,add the obtained phrases as a custom dic-tionary to the Jieba word segmentation,and segment the text again.Through experiments on the financial an
7、d legalcorpus built by myself,it is proved that the proposed algorithm can effectively discover domain phrases.When usingthis algorithm for domain word segmentation,the accuracy rate and recall rate are higher than that of only using Jiebaword segmentation.Finally,this paper proposes a domain adapti
8、ve word segmentation algorithm evaluation method-based on distinguish different domains.The experimental results show that the algorithm can effectively distinguishdifferent domains,that is,it can effectively realize domain word segmentation.KEYWORDS:Jieba word segmentation;Domain adaptation;Normali
9、zation point mutual information;Word frequencystatistics;Left and right information entropy;Part of speech constraints0131 引言分词作为文本数据处理的前期工作,对后续任务结果的好坏起着至关重要的作用。中文文本相比英文文本要复杂,英文文本中单词和单词之间有空格作为分隔符,而中文文本中最小可分割单位为句子,句子是由字序列组成,但是单个字不代表一个词语,因此将字序列切分为词语即分词,是一个值得研究的问题。中文分词算法主要分为三种,分别是基于词典的分词算法、基于统计的分词算法和基于
10、语义理解的分词算法。基于词典的分词算法,在分词前给定词典,通过将待分词文本与词典进行匹配,根据规定的匹配算法得到词序列。按照扫描文本的顺序,常用的匹配算法有正向最大匹配算法,逆向最大匹配算法,双向最大匹配算法。另外,词典的结构设计影响着匹配效率,常见的词典结构设计基于整词二分1、基于 Trie 索引树1、基于逐字二分1、基于双字哈希机制2以及它们的改进形式3,4。由于直接和词典中词进行匹配,基于词典的分词算法准确率较高。然而词典无法穷尽所有词语,比如新词“新冠病毒”不在词典中,这意味着词典是不完备的。将不在词典中的词称为未登录词,包括人名、地名、机构名称、缩略词、领域词语、新词。未登录词较多的
11、情况下,基于词典分词算法的准确率会随之下降。基于统计的分词算法,分为有监督分词方法和无监督分词方法。有监督分词方法主要是基于字标注的机器学习算法,该方法将对字序列进行分词转化为对字序列进行位置标注问题。汉字的边界位置标注方法包括 2 位标记、4 位标记等5。通常利用 4 位标记进行研究,B 表示开始位置、M 表示中间位置、E 表示结束位置及 S 表示单字构词5。利用人工标注语料集学习模型参数,将学习好的模型对字序列文本进行预测,得到字位置标注。常见的用于分词的机器学习模型有隐马尔科夫模型(HMM)6、最大熵模型(ME)7、条件随机场模型(CRF)8。该方法可以较好的解决未登录词问题,但是需要大
12、规模人工标注语料作为训练数据。无监督分词方法利用字串在未标注语料中的统计信息构建良度9,经典的良度标准有子串频率10、描述长度增益10、邻接多样性10和分支信息熵10。该方法不需要对语料库进行人工标注,但是仅仅依赖于无监督分词方法进行分词,得到的准确率通常较低。基于语义理解的分词方法,结合待切分文本的语义信息,模仿人的阅读理解方式进行分词。深度学习算法考虑了上下文信息,可以更好的理解语义,因此 CNN11、LSTM12等被引入到分词任务中。词向量模型将词表示为向量,将词语数学 化,可 以 更 好 表 示 词 语 语 义,因 此 词 向 量 模 型 如Word2Vec13、Glove14以及近几
13、年提出的动态词向量训练模型如 Elmo15、Bert16等被应用到分词任务中。但是这些算法比较复杂,对计算机要求较高。现在基于语义理解的分词算法还不是很成熟,有待发展。以上三种分词方法并不是割裂的,将它们进行整合,可以提高分词准确率。结巴分词是将词典分词和统计分词方法结合起来的分词工具。结巴分词基于一个具有将近 35 万个词的词典,为了实现高效查找词语,构建前缀树存储这些词语,对于待分词文本,根据前缀树,构建有向无环图,利用动态规划算法,找到路径最短的切分方式。对于不在词典中的词语,利用统计分词方法中的 HMM 算法,对这些词语进行字序列位置标注,根据标注结果进行分词。这样一方面基于词典可以进
14、行有效分词,另一方面对未登录词也可以进行识别切分。但是,对于未登录词分词后得到的词语大部分词长为 2,对于人名,地名,机构组织,专业领域词语等词长大于 2的词语分词效果不是很好。比如对于金融领域“羊群效应”这个领域词组,结巴分词结果为“羊群”和“效应”这两个词,这是不合理的。将“羊群效应”作为一个词进行切分称为领域分词。领域分词是指将领域中的专有领域词组作为整体切分出来,通常的分词算法将一个领域词组切分为几个词,这是不规范的,甚至会导致理解偏差。已知,领域词组通常只是出现在所在领域,属于低频词,因此领域分词是一个具有挑战但是重要的研究领域。张梅山等17通过将词典信息以特征方式融入到统计分词模型
15、来实现领域自适应性。该方法依赖于领域词典信息,严格来说没有完全实现领域自适应分词。韩冬煦等18将卡方统计量特征和边界熵特征加入到训练模型中,并结合自学习和协同学习策略进行训练,改善了分词方法领域适应性。该方法本质上将无监督统计分词方法与有监督统计分词方法结合起来,对于不同领域需要重新训练模型,比较耗费时间。张立邦等9首先利用通用词典对语料进行初步切分,利用 EM 算法不断更新切分结果,直到切分结果不再变化。然后利用左右分支信息熵构建良度,对切分结果进行调整,从而到达识别电子病历中未登录词的目的。该方法本质上是将词典分词方法与无监督统计分词方法结合起来,在对切分结果利用无监督方法调整时,针对电子
16、病历特征定义了相应规则,对于其它领域分词不具有适用性。杜丽萍等19利用改进的互信息算法与少量基本规则结合,从语料中发现新词,将新词加载到汉语词法分析系统 ICTCLAS 中,从而改善汉语词法分析系统 ICTCLAS。该方法在发现新词过程中,只是考虑了词的凝聚度,没有考虑词的自由度。冯国明等20将词典、统计、深度学习三者结合起来,学习分词算法。该方法没有考虑词典存储结构问题,同时利用深度学习算法,模型计算复杂度较高。宫法明等21以自适应马尔科夫模型为基础,结合领域词典和互信息,以语义和词义约束校准分词,实现对石油领域专业术语和组合词的精确识别。该方法需要提前构建石油领域词典,不能用于其它领域分词,领域迁移性较差。针对以上问题,本文在结巴分词基础上,提出领域自适应分词方法。由于结巴分词对词长大于 2 的领域词组分词113效果较差,本文提出的领域自适应分词方法主要利用无监督分词方法识别词长大于 2 的领域词组,从而使得结巴分词无需加载人工定义词典,可以实现领域自适应分词。该方法首先利用结巴分词方法对文本进行分词;其次基于标准化点互信息22和词频统计23两种方式计算相邻词合成为一个词组的凝聚度