Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

用C++改写后,性能如何? #1

Closed
fxsjy opened this issue Jul 12, 2013 · 15 comments
Closed

用C++改写后,性能如何? #1

fxsjy opened this issue Jul 12, 2013 · 15 comments

Comments

@fxsjy
Copy link

fxsjy commented Jul 12, 2013

你好,我是结巴分词的作者,请问cppjieb的分词速度如何?

@yanyiwu
Copy link
Owner

yanyiwu commented Jul 12, 2013

分词速度没测,暂时也没法测,因为还没写完。而且只使用到DAG + DP这个程度,没使用HMM。

wuyanyi09@gmail.com

发件人: Sun Junyi
发送时间: 2013-07-12 16:26
收件人: aszxqw/cppjieba
主题: [cppjieba] 用C++改写后,性能如何? (#1)
你好,我是结巴分词的作者,请问cppjieb的分词速度如何?

Reply to this email directly or view it on GitHub.

@jannson
Copy link

jannson commented Sep 6, 2013

之前实现了最大熵发现新词的功能,C++比python快了近10倍。所以感觉用最大概率来分词,C++版本肯定要比python快很多。

@yanyiwu
Copy link
Owner

yanyiwu commented Sep 13, 2013

@fxsjy 按现在的v1.1版本的话,我大概测了一下速度。差不多是jieba分词的4倍左右吧。

@lzzgeo
Copy link

lzzgeo commented Nov 15, 2013

g++ -o segment.demon segment.cpp -L/usr/lib/CppJieba/ -std=c++0x -lcppjieba

@yanyiwu
Copy link
Owner

yanyiwu commented Nov 15, 2013

@lzzgeo
fixed.
thanks.

@yanyiwu
Copy link
Owner

yanyiwu commented Dec 7, 2013

最近进行了大量改写,无意中发现了以前一个写的很不好的地方影响了性能,修复之后版本为v2.2.0
速度和jieba对比了一些,差不多是10倍以上了。

@jannson
Copy link

jannson commented Dec 9, 2013

强烈支持cppjieba版本,在前段时间我已经正式使用cppjieba了,同时fork了你的一个版本,并在你的项目里加入了cppjiebapy的封装以支持python的调用:https://github.com/jannson/cppjieba
不过你最近更改太多,我都还没有在你更改之后去更新与测试。等你稳定了我再下最新版进行更新提交。

@yanyiwu
Copy link
Owner

yanyiwu commented Dec 9, 2013

@jannson
1 谢谢支持
2 最近确实改的多,现在2.2.0 差不多算是稳定了,你可以pull更新。
3 swig我不熟,只是感觉这样包装有点奇怪,如果是写python的话,感觉还是直接使用jieba就很好了,个人觉得不是很有必要把cppjieba再包装成cppjiebapy。还是比较希望项目主干代码不要python和c++混着,所以如果你要提交pullrequest的话,我偏向于开个分支做你的cppjieba4py。

anyway,感谢支持和fork。

@jannson
Copy link

jannson commented Dec 10, 2013

@aszxqw 恩,开个分支更好,但昨天看了你的更新,你更改代码之后应该可以让cppjiebapy完全独立出来了,因为只用调用xxx.hpp头文件就可以调用分词库函数了。先不急开分支,我看能不能完全独立出来,以让cppjieba代码整洁。
当时cppjieba有一个缺点就是需要链接cppjieba的静态库,而c++要给python调用的时候需要编译成一个动态库。本来想直接在动态库里链接cppjieba的静态库,在我本地编译通过而服务器又编译失败,然后就采取了我源码里偷懒的办法直接把整个cppjieba给重新编译成一个动态库给pythony调用了。
使用cppjiebapy完全是个人的考虑,因为最近在研究一个海量文章排重的办法的时候已经使用了python调用c++,再封装cppjieba来调用也不觉得奇怪了。并且数据量还比较大,速度还快很多。若再加上并行处理的话我想速度会更快。一般的纯python的项目直接用jieba肯定是最好的。

@yanyiwu
Copy link
Owner

yanyiwu commented Dec 10, 2013

@jannson
哈,修改成hpp没想到还有这个好处。

@jannson
Copy link

jannson commented Dec 11, 2013

独立出来的cppjiebapy:https://github.com/jannson/cppjiebapy
给有需要有同学。因为是自己用,所以只实现了MixSegment的精确分词,若需要其它分词请参照代码自行封装。

@banderuilq
Copy link

请问cppjieba支持词性标注吗?急需评估,期待您的回复,谢谢

@yanyiwu
Copy link
Owner

yanyiwu commented Jan 2, 2014

@banderuilq 不好意思。暂时没有,计划是在春节之前加上。

@yanyiwu yanyiwu closed this as completed Sep 25, 2014
yanyiwu pushed a commit that referenced this issue May 4, 2016
Update TextRankExtractor.hpp: use yanyiwu's correction
@logicxin
Copy link

cppjieba使用大的字典(367w), 我主要使用计算关键词抽取,速度变的很慢。请问有什么优化策略?

@lzzgeo
Copy link

lzzgeo commented Mar 27, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants