`

三种中文分词算法优劣比较【转】

阅读更多

===============================================================================

转自:

作者:刀剑笑(Blog:http://blog.csdn.net/jyz3051)

Email:jyz3051 at yahoo dot com dot cn('at'请替换成'@','dot'请替换成'.' )

===============================================================================

 

关键词:中文分词,中文分词算法,基于字符串匹配的分词,基于理解的分词,基于统计的分词

到目前为止,中文分词包括三种方法:1)基于字符串匹配的分词;2)基于理解的分词;3)基于统计的分词。到目前为止,还无法证明哪一种方法更准确,每种方法都有自己的利弊,有强项也有致命弱点,简单的对比见下表所示:

各种分词方法的优劣对比

分词方法

基于字符串匹配分词

基于理解的分词

基于统计的分词

歧义识别

新词识别

需要词典

需要

不需要

不需要

需要语料库

需要规则库

算法复杂性

容易

很难

一般

技术成熟度

成熟

不成熟

成熟

实施难度

容易

很难

一般

分词准确性

一般

准确

较准

分词速度

一般

(1)歧义识别

歧义识别指一个字符串有多种分词方法,计算机难以给出到底哪一种分词算法才是正确的分词系列。如"表面的"可以分为"表面/的"或"表/面的"。计算机无法判断哪一种才是准确的分词系列。

基于字符串的分词算法:仅仅是跟一个电子词典进行比较,故不能进行歧义识别;

基于理解的分词算法:指通过理解字符串的含义,故有很强的歧义识别能力;

基于统计的分词算法:根据字符连续出现次数的多少,得到分词系列,故常常能够给出正确的分词系列选择,但是也有可能判断错误的情况。

(2)新词识别

新词识别也称作未登录词识别,指正确识别词典中没有出现的词语。姓名、机构名、地址、称谓等千变万化,词典中常常不能完全收录这些词语;另外,网络中出现的流行用语也是一种未登录词的常见来源,如"打酱油"为最近出现在网络中,并迅速流行,从而成为一个新词。大量的研究证明新词识别是中文分词准确性的一个重要影响因素。

基于字符串的分词算法:无法正确识别未登录词,因为这种算法仅仅与词典中存在的词语进行比较;

基于理解的分词算法:理解字符串的含义,从而有很强的新词识别能力;

基于统计的分词算法:这种算法对第二种未登录词有很强的识别能力,因为出现次数多,才会当作一个新词;对于第二类未登录词,这类词语有一定的规律,如姓名:"姓"+ 名字,如李胜利;机构:前缀+称谓,如希望集团;故需要结合一定的规则进行识别,仅仅统计方法难以正确识别。

(3)需要词典

基于字符串的分词算法:基本思路就是与电子词典进行比较,故电子词典是必须的。并且词典越大,分词的正确率越高,因为词典越大,未登录词越少,从而可以大大减少未登录词识别的错误;

基于理解的分词算法:理解字符串的含义,故不需要一个电子词典;

基于统计的分词算法:仅仅根据统计得到最终的结果,故电子词典不是必须的。

(4)需要语料库

基于字符串的分词算法:分词过程仅仅与一个已经存在的电子词典进行比较,故不需要语料库;

基于理解的分词算法:理解字符串的含义,故不需要电子词典;

基于统计的分词算法:需要语料库进行统计训练,故语料库是必须的;且好的语料库是分词准确性的保证。

(5)需要规则库

基于字符串的分词算法:分词过程仅仅与一个已经存在的电子词典进行比较,不需要规则库来进行分词;

基于理解的分词算法:规则是计算机进行理解的基础,故准确、完备的规则库是这种分词算法的前提;

基于统计的分词算法:根据语料库统计训练,故规则库不是必须的。

(6)算法复杂性

基于字符串的分词算法:仅仅进行字符串的比较操作,故算法简单;

基于理解的分词算法:需要充分处理各种规则,故算法非常复杂;事实上到目前为止,还没有成熟的这类算法;

基于统计的分词算法:需要语料库进行训练,虽然算法也比较复杂,但是已经比较常见,故这种分词的复杂性比第一种大,比第二种容易。现在的实用分词系统都采用这种算法。

(7)技术成熟度

基于字符串的分词算法:是最早出现也是最成熟的算法;

基于理解的分词算法:是最不成熟的一类算法,到目前为止还没有成熟的算法;

基于统计的分词算法:已经有多种成熟的这类算法,基本上能够满足实际的应用。

故技术成熟度:基于匹配的分词算法〉基于理解的分词算法〉基于统计的分词算法。

(8)实施复杂性

同上面的道理,实施复杂性:基于理解的分词算法〉基于统计的分词算法〉基于匹配的分词算法。

(9)分词准确性

到目前为止还没有一个准确的结论,不过从理论上说,基于理解的分词算法有最高的分词准确性,理论上有100%的准确性;而基于匹配的分词算法和基于统计的分词算法是一种"浅理解"的分词方法,不涉及真正的含义理解,故可能会出现错误,难以达到100%的准确性。

(10)分词速度

基于匹配的分词算法:算法简单,操作容易,故分词速度快,所以这种算法常常作为另外两种算法的预处理,进行字符串的粗分;

基于理解的分词算法:这种算法常常需要操作一个巨大的规则库,故速度最慢;

基于统计的分词算法:这种分词算法仅仅是与一个统计结果进行比较,故速度一般。

故一般的分词速度从快到慢依次为:基于匹配的分词算法〉基于统计的分词算法〉基于理解的分词算法。

 

分享到:
评论

相关推荐

    三种中文分词算法优劣比较.docx

    本文将详细探讨三种常见的中文分词算法:基于字符串匹配的分词、基于理解的分词和基于统计的分词,分析它们的优缺点。 1. 基于字符串匹配的分词: 这种方法通过建立一个电子词典,将输入的文本与词典中的词汇进行...

    三种中文分词算法优劣比较

    在选择分词算法时,需要考虑文本类型、处理速度、准确性等因素。基于字符串匹配的分词适用于大规模文本处理,追求效率;基于理解的分词适合深度理解文本,但实现困难;基于统计的分词则在新词识别和歧义处理上表现...

    易语言应用中文分词

    2. **分词算法**:常见的分词算法有正向最大匹配法(BMM)、逆向最大匹配法(RMM)、动态规划算法(DP)、隐马尔可夫模型(HMM)等。易语言应用可能采用其中一种或多种结合的方式来实现分词。 3. **歧义处理**:...

    自然语言处理数据集(NLP)-200多万条中文分词词库.rar

    这个200多万条的中文分词词库可以用于训练和验证这些分词算法,评估它们的性能。同时,词库也可以作为基准测试,对比不同算法在处理未知词汇、歧义词和多词短语等方面的能力。对于NLP研究者,词库可以用于构建新的...

    中文分词工具

    中文分词工具是自然语言处理领域中的重要工具,主要用于将连续的汉字序列切分成具有语义意义的词汇单元。在中文文本中,由于没有明显的空格分隔,分词是进行后续诸如信息检索、文本分类、情感分析等任务的基础。LDC-...

    cws_evaluation, Java开源项目cws_evaluation:中文分词器分词效果评估对比.zip

    cws_evaluation项目的目标就是提供一个公正的平台,通过标准的数据集和评估指标,来比较各种分词算法的优劣。 该项目的核心在于其包含的一系列分词器实现和评估方法。这些分词器可能包括基于词典的、基于统计模型的...

    PanGu盘古分词源码

    在实际应用中,盘古分词会结合这两种策略,通过比较两种匹配结果的优劣来确定最终的分词结果,以避免歧义和提高准确率。 三、应用场景与扩展性 盘古分词广泛应用于搜索引擎、文本分析、情感分析、机器翻译等领域。...

    标准中文分词

    标题中的“标准中文分词”指的是在中文处理领域中的一项关键技术,它的主要任务是将连续的汉字序列切分成具有语义意义的词语序列。这是因为中文没有像英文那样的空格或标点符号来自然地划分单词边界,因此需要通过...

    智能分词 毕业设计 源码加论文

    常见的分词算法有基于词典的分词方法(如正向最大匹配、逆向最大匹配)、统计模型方法(如隐马尔科夫模型HMM、条件随机场CRF)、深度学习方法(如循环神经网络RNN、长短时记忆LSTM)。这些方法各有优劣,根据具体...

    分词实验要求2110261

    这两种方法各有优劣,实验要求实现两种算法,并自定义词典数据结构,同时不允许使用内置的数据结构如Python的list和dict。通过这种方法可以更深入地理解分词算法的原理和实现细节。最后,将输出正反向最大匹配的分词...

    中文分词的古今中外,你想知道的都在这里.rar

    中文分词方法大致可以分为三大类:基于词典的分词方法、统计学习的分词方法和深度学习的分词方法。 1. 基于词典的分词方法:这种方法主要依赖于事先构建的词典,通过查找词典来确定词的边界。最简单的是最大匹配法...

    电商领域中有关物流评价中文分词的研究.pdf

    在初步分词的基础上,利用电商物流评价专用词典进行逆向最大匹配,这是一种常见的中文分词算法,能够有效提高分词的准确性和处理未登录词的能力。 逆向最大匹配法是一种基于字典的分词方法,它从句子末尾开始,将...

    python前向逆向最大匹配分词

    通过对这段代码的学习和理解,我们可以进一步掌握如何在Python环境下进行有效的中文分词,并可能对分词算法进行优化,提高分词的准确性和效率。 总之,前向和逆向最大匹配分词是Python中处理中文文本的重要技术,...

    中文分词 庖丁解牛 2_0_0版本发布 - 企业应用

    首先,中文分词的准确性是衡量一个分词系统优劣的关键。庖丁解牛2_0_0版可能提升了对复杂语境和专业术语的识别能力,确保在处理各种企业文档时,能够准确地切分出词汇,减少误分和漏分的情况。这对于企业内部的信息...

    数据挖掘在支气管炎电子病历中的应用研究.pdf

    分词是中文文本处理的重要步骤,分词算法的优劣直接影响中文文本挖掘的效果。研究者指出,现有的基于词库的分词算法虽然应用广泛,但由于词库建立的局限性,可能会遗漏一些未登录的重要词汇,从而影响分析结果的准确...

    分词小程序

    其次,分词算法的选择也极为关键,常见的有基于规则的方法,如正向最大匹配法、逆向最大匹配法,以及基于统计的模型,如隐马尔科夫模型(HMM)和条件随机场(CRF)。这些算法各有优劣,需要根据实际需求和数据特性...

    python正向最大匹配分词和逆向最大匹配分词的实例

    这两种分词算法是中文自然语言处理(NLP)领域中非常重要的基础技术,广泛应用于中文信息检索、文本挖掘等场景。文章将给出两种算法的具体Python实现代码,并对代码的关键部分进行详细解读,以帮助大家更好地理解和...

    基于机器学习算法的社交数据挖掘与用户偏好的建模.pdf

    文中提到了中文分词算法的三种主要类型:基于字符串匹配的分词方法、基于统计的分词方法以及基于理解的分词方法。其中,基于统计的分词方法是通过统计词串的出现频率来进行分词。这一技术在提取文本特征时尤为关键。...

Global site tag (gtag.js) - Google Analytics