浅谈中文分词法

本文探讨了自然语言处理中的分词技术,重点介绍了针对无明显分隔符语言的分词方法,包括基于字典和统计的方法,并讨论了不同应用场景下分词颗粒度的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在自然语言的处理中,应该以词为单位进行,对于西方语言词与词之间有明显的分隔符,但是东方的语言(中文、韩文、日文等)则没有明确的分界符。因此,对于这些没有明显分界符的语言,需要先进行分词再进行自然语言处理。


分词方法最容易想到的是查字典的方法,把一个句子,从左到右扫描一遍遇到词典里面有的词就标识出来,遇到复合词则选择匹配到的最长字符串为结果(例如,上海交通大学。上海,交通,大学都是词,但是上海交通大学也是一个词,按照最长字符串的匹配结果,扫描到的就会是上海交通大学)。如果遇到词典里面没有的词就分解为单字。这个方法虽然简单,但也的确能够正确对大部分句子进行分词。但是遇到某些情况还是会错误,比如发展中国家这个词,按照上述规则会解析为发展-中国-家,但实际分词方法应该是发展-中-国家。为了解决上述问题,有必要提供另外一种更为普遍能涵盖更多特殊情况的方法。


这里又要提到统计语言方法。假设句子S可以有以下几种分词方法:

A1,A2,A3...An

B1,B2,B3...Bm

C1,C2,C3...Ck

基于统计学的方法则是保证这三种分词方法中出现的概率最大,即如果P(A1,A2,A3...An) > P(B1,B2,B3...Bm)且P(A1,A2,A3...An) > P(C1,C2,C3...Ck),我们就认为A1,A2,A3...An为最好的分词方法。这是一个很好的方法,但是这样的方法如果单纯暴力地穷举所有的可能,那么算法的时间复杂度会极大。这种全局最优解的问题其实可以使用动态规划的思想进行算法上的优化。


然而,分词法的应用其实不仅仅是出现在东方语言的识别,即使是西方的语言,在手写时也会常常出现连词的情况,因此分词法的思想同样会应用在西方语言手写识别中。


最后说说词的颗粒度,词是表达意思的基本单位,如果再细分下去,意思也就变了。但是有的词却是可拆可不拆的比如北京大学,可被拆分为北京和大学两个词,也可以当作一个整体进行处理。这里《数学之美》的作者吴军先生提出了自己的见解,在不同的应用中会出现某一种颗粒度比另一种好的情况。在机器翻译中,颗粒度大会比较好,比如联想公司一词若当作整体看待,能很方便地找到Lenovo一词,如果分开则很有可能翻译失败。但在另外一些应用中,颗粒度小又会比颗粒度大要好,在网页搜索中,若将清华大学作为一个词看待,那么用户输入关键字清华后找不到清华大学则是不合理的。


分词的错误通常为两类,一类为越界型错误,比如将“北京大学生”分为“北京大学-生”,另一类为覆盖型错误,即将莎士比亚分为四个字。这些错误在分词时是应该尽量消除的。但是颗粒度的不一致性可以作为某应用的分词器的好坏的判别标准,而不应该作为错误进行处理。对于某些应用,分词的过程中应该尽可能地找到复合词进行切分,这个除了需要进行数据挖掘的工作外还需要不断地完善复合词的词典


本文参考吴军先生的《数学之美》一书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值