中文分词和二元分词综合对比

原创 2005年06月17日 13:12:00

中文分词和二元分词综合对比

 

           
    为了测试中文分词和二元分词的差异,现将初步的测试数据做了对比。关于二元分词可以参考车东先生的相关文章。
   

采用中文分词每1M产生1.55M的索引文件,膨胀率1.55;每1M用时大约10秒;采用二元分词每1M产生2.21M的索引文件,膨胀率2.21;每1M用时大约7秒;

从搜索结果来看,两者可以大致相同数量的搜索结果(显示结果根据相关度排列顺序不同)。    

对文本进行中文分词的目的是要提高文档检索的相关性,由于相关性的算法(如下图)涉及到很多因素,所以对二元切分和中文分词切分显示结果到底谁更相关(人理解的意义相关?),还无法得出结论。

相关度算法:

score(q,d) =

Σ

tf(t in d) * idf(t) * getBoost(t.field in d) * lengthNorm(t.field in d)

 * coord(q,d) * queryNorm(q)

t in q

 

 

       但有一点可以肯定,采用中文分词多花的解析中文时间可以带来丰厚的回报:索引文件和Term数量的大大减少。

可参考本文最后表格的图片对比。图中的数据是出现频率第100120Term情况,二元分词产生了大量的没有意义的Term

 

 

 

数据源大小(M

索引大小

膨胀率

Term个数

每兆Term个数

所用时间(秒)

/M

中文

14.20

22.50

1.584

76473.00

5385.42

105

7.394

二元

14.20

31.50

2.218

384488.00

27076.62

87

6.126

中文

4.73

7.54

1.594

84895.00

17948.20

50

10.570

二元

4.73

11.00

2.325

238064.00

50330.66

35

7.399

 

 

 

中文分词

二元分词

索引源大小

14.2M

14.2M

索引源内容

论坛某天全部发言

论坛某天全部发言

建立索引用时

105

87

索引文件大小

22.5M

31.5M

生成的Term

76473

384488   5.02倍)

文档数

6802

6802

搜索:XX

236 (搜索结果(条))

235(搜索结果(条))

XX

361

361

XX

769

768

XX

50

50

XX

41

41

XX

3

3

XX

0

0

最常出现的词:

Rank = 查询Text出现的次数

 

 

 

                                              作者:lhelper  我要去桂林

 

版权声明:本文为博主原创文章,在不删除、修改文章内容的情况下,可以自由转载。

基于二元语法模型的中文分词

一、 基于二元语法模型分词的思想 下面是该程序的主要过程与思路: 1、针对语料库进行训练。 本程序使用的是北大提供的人民日报1998 年1 月的语料库,包含约110万词。由于采用二元语法模型,...
  • md_555
  • md_555
  • 2015年06月24日 13:01
  • 1033

Lucene自定义分词:合并IK分词+二元分词

索引命中效果不佳,采用IK分词与二元分词的效果都不是特别好,于是设计了新的自定义分词器,先将句子用IK分词分开,再对长度超过3的词进行二元分词。 以下是分词器的实现效果图。 实现思路 先建立IK分词...
  • fzu_rookie
  • fzu_rookie
  • 2015年09月23日 15:39
  • 2487

常用分词算法笔记

常用统计语言模型,包括了N元文法统计模型(N-gram Model)、隐马尔科夫模型(Hidden Markov Model,简称HMM)、最大熵模型(Maximum Entropy Model)。 ...
  • earbao
  • earbao
  • 2015年01月23日 10:55
  • 8492

二元语法模型与viterbi算法分词

注意:本篇博文标红字部分为一处笔误的改正。非常感谢猎兔网 开发工程师 罗刚指出错误。欢迎大家光临我的博客指正各种思维不周,本人不拒绝严格的批评,只要能指出具体错误,和改进方案 采用这种方法首...
  • wujiaqi168
  • wujiaqi168
  • 2014年10月08日 11:34
  • 1346

关于中文分词的一元分词讨论

一元分词:指语句中每个字都成词,按字切分,不去组合,类似英文单词。回合1: 支持一元分词的观点: 其实solr自带的跨语言自然一元分词就很好了,怎么测效果也不比国内搞的分词差,也许大多数情况下不需...
  • shibing624
  • shibing624
  • 2016年06月16日 23:12
  • 1961

用python实现NLP中的二元语法模型

最近刚接触NLP,使用的书是宗成庆的《统计自然语言处理》,看到n元语法模型这一章节,于是用python写了出来。 而一切的起源,则是一个简单的问题。 1 基于以下语料建立语言模型 研究生物...
  • firparks
  • firparks
  • 2017年01月15日 19:21
  • 1591

一个非知识库的中文分词算法实现

目前,公司正在做一个简历系统,简单的讲,就是方便HR MM们筛选简历。   刚开始听到这个需求的时候,感觉挺简单,没啥东西。但是开会后,发现麻雀虽小,五脏俱全,自然语言处理需要的东西一个都少不了。 ...
  • qq575379110
  • qq575379110
  • 2017年04月23日 17:08
  • 212

中文分词:原理及分词算法

http://www.dianacody.com/2014/11/05/cn_cutwords.html 中文分词:原理及分词算法 05 Nov 2014 By DianaCody ...
  • chengzheng_hit
  • chengzheng_hit
  • 2017年01月27日 04:53
  • 1337

C# 一个简单分词程序的思路和代码(二) 键树

首先先描述下我们要实现的结果这是我上一篇blog的内容 准备把以前的一个分词程序贡献出来,希望给大家一个思路。这个程序我现在已经不用,因为有更好的算法去分,速度更快,所以这个就帮大家起一个抛砖引玉的作...
  • ETstudio
  • ETstudio
  • 2007年10月25日 21:23
  • 1633

基于二元语法模型的中文分词

一、 基于二元语法模型分词的思想 下面是该程序的主要过程与思路: 1、针对语料库进行训练。 本程序使用的是北大提供的人民日报1998 年1 月的语料库,包含约110万词。由于采用二元语法模型,...
  • md_555
  • md_555
  • 2015年06月24日 13:01
  • 1033
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:中文分词和二元分词综合对比
举报原因:
原因补充:

(最多只允许输入30个字)