cpython
和 swig
重写了原作者计算 DAG 和 HMM 中的 vitrebi 函数,速度得到大幅提升。cpython
重新实现了 viterbi 算法,使默认带 HMM 的切词模式速度提升 60%左右cpython
重新实现了生成 DAG 以及从 DAG 计算最优路径的算法,速度提升 50%左右import jieba_fast as jieba
可以无缝衔接原代码。代码目前对 Python 2/3 兼容,对*unix 兼容良好,对 windows 不能保证
pip install jieba_fast
python setup.py install
测试机器 mbp17,i7,16G
测试过程: 先按行读取文本《围城》到一个数组里,然后循环对《围城》每行文字作为一个句子进行分词。然后循环对围城这本书分词 50 次。分词算法分别采用 [开启 HMM 的精确模式] 、 [关闭 HMM 的精确模式] 、 [开启 HMM 的搜索引擎模式] 、 [开启 HMM 的搜索引擎模式] 具体测试数据如下:
可以看出在开启 HMM 模式下时间缩减了 60%左右,关闭 HMM 时时间缩减了 50%左右。
为了保证 jieba_fast 和 jieba 分词结果相同,做了如下测试。
对《围城》,《红楼梦》分词结果进行比较,其分词结果完全一致
---- Test of 围城 ----
nums of jieba results: 164821
nums of jieba_fast results: 164821
Are they exactly the same? True
----Test of 红楼梦 ----
nums of jieba results: 597151
nums of jieba_fast results: 597151
Are they exactly the same? True
"结巴"中文分词原作者: SunJunyi
github: https://github.com/deepcs233/jieba_fast (求 star 哈哈哈😄) 源代码在 source/ 下
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.