From e11420159b0574b16ea21744495dab264d04c418 Mon Sep 17 00:00:00 2001 From: wyy Date: Fri, 13 Sep 2013 19:31:53 +0800 Subject: [PATCH] add segment speed info in README.md --- README.md | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 1649935..3273740 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,30 @@ -#CppJieba是"结巴"中文分词的c++库 +#CppJieba是"结巴"中文分词的C++库 -##Detail +## 中文编码 * 现在支持utf8,gbk编码的分词。默认编码是utf8。 -##Algorithm +## 模块详解 -###Trie树 +### Trie树 Trie.cpp/Trie.h 负责载入词典的trie树,主要供Segment模块使用。 -###Segment模块 + +### Segment模块 + MPSegment.cpp/MPSegment.h (Maximum Probability)最大概率法:负责根据Trie树构建有向无环图和进行动态规划算法,是分词算法的核心。 -###TransCode模块 + +### TransCode模块 + TransCode.cpp/TransCode.h 负责转换编码类型,将utf8和gbk都转换成`uint16_t`类型,也负责逆转换。 -###HMMSegment模块 + +### HMMSegment模块 + HMMSegment.cpp/HMMSegment.h 是根据HMM模型来进行分词,主要算法思路是根据(B,E,M,S)四个状态来代表每个字的隐藏状态。 HMM模型由dicts/下面的`hmm_model.utf8`提供。 分词算法即viterbi算法。 -##Demo +## Demo ### MPSegment's demo @@ -84,7 +90,7 @@ Output: 以上依次是MP,HMM,Mix三种方法的效果。 可以看出效果最好的是Mix,也就是融合MP和HMM的切词算法。即可以准确切出词典已有的词,又可以切出像"杭研"这样的未登录词。 -##Help +## Help run `./segment_demo` to get help. @@ -106,10 +112,17 @@ example: ``` -##Contact +## 分词速度 + +### MixSegment +分词速度大概是 65M / 78sec = 0.83M/sec +测试环境: `Intel(R) Xeon(R) CPU E5506 @ 2.13GHz` + + +## Contact 如果有运行问题或者任何疑问,欢迎联系 : wuyanyi09@gmail.com -##Thanks +## Thanks "结巴中文"分词作者: SunJunyi https://github.com/fxsjy/jieba