yanyiwu / cppjieba

"结巴"中文分词的C++版本
MIT License
2.61k stars 690 forks source link

请问如何指定分词模式? #22

Closed numbbbbb closed 10 years ago

numbbbbb commented 10 years ago

例子里面只有一个key参数,如何选择模式?

yanyiwu commented 10 years ago

@numbbbbb 哪里的key参数? 每个类各代表一种分词模式。 比如MPSegment代表最大概率切词算法的模式。 比如HMMSegment代表饮食马尔科夫模型切词算法的模式。

所以你要选使用什么算法就找对应的类来用就可以了。

numbbbbb commented 10 years ago

好吧 我对C++不是很熟 本来想直接用http://127.0.0.1:11200/?key=大三大四大三大四的四大这种形式分词的

yanyiwu commented 10 years ago

@numbbbbb 哦你是说http服务接口啊,那服务接口使用的是MixSegment这个类(结合MPSegment和HMMSegment两者)。 暂时没法再http服务接口上使用参数选择模式,你要修改模式的只能修改源码了: 修改src/server.cpp里面的MixSegment改为你需要的类即可。(同时记得include对应的类的文件,比如修改为QuerySegment的话记得#include "QuerySegment.hpp")。

numbbbbb commented 10 years ago

修改之后是不是需要重新安装一遍才会生效? 还有就是,因为URL长度有限制,我传入的字符串太长就无法分词了。是不是只要把do_GET改成do_POST,然后把httpReq.GET改成httpReq.POST就行了?

对C++真的不太熟。。。不好意思

numbbbbb commented 10 years ago

我是想用提取搜索词那个类,改了半天还是不行,可能是初始化过程不一样吧。。。

yanyiwu commented 10 years ago
  1. 对的,是需要重新make && (sudo) make install 才能生效2. 不过至于POST的话,暂时还不支持。。。。(我今天尽量看能不能找个时间开发支持一下。)3. 修改server里面的 xxSegment类的话,确实还得修改一下初始化,因为每个类载入词典不一样。具体的使用方法可以参看一下 test/unittest/TSegments.cpp 这个单元测试文件。

wuyanyi09@gmail.com  发件人: 梁杰发送时间: 2014-04-03 10:16收件人: aszxqw/cppjieba抄送: Yanyi Wu主题: Re: [cppjieba] 请问如何指定分词模式? (#22)修改之后是不是需要重新安装一遍才会生效?

还有就是,因为URL长度有限制,我传入的字符串太长就无法分词了。是不是只要把do_GET改成do_POST,然后把httpReq.GET改成httpReq.POST就行了?

对C++真的不太熟。。。不好意思

— Reply to this email directly or view it on GitHub.

numbbbbb commented 10 years ago

好的,谢谢~

yanyiwu commented 10 years ago

@numbbbbb 你好。

POST接口已经修改好了,现在同时支持GET请求和POST请求。你需要pull 一下最新的master代码,然后重新make && sudo make install 一下(记得把旧的服务停掉,把新的服务启动起来。)

然后就可以开始发POST请求了,命令如,curl -d "南京市长江大桥" "http://127.0.0.1:11200/",也更新了README.md ,你可以看一下。

numbbbbb commented 10 years ago

好的,多谢!