-
Notifications
You must be signed in to change notification settings - Fork 10.3k
FAQ
hankcs edited this page Mar 31, 2017
·
20 revisions
这里收录了一些常见问题,在盲目发issue之前,请善用CTRL+F来寻找你感兴趣的问题,其很有可能就在下面。社区不再回复重复的提问,谢谢合作。
- 修改了任何词典都必须删除缓存才能生效,请仔细阅读文档!
- 请遵循首页文档HanLP词典格式,目前该格式规范暂不支持含有空格的词条。
- 基于统计模型的分词器不保证词典中的词语一定被切分出来。
- 参考上一个问题。
- 词语、词性、频次之间的分隔符为空格,所以词语本身不能含有空格,否则词语的某个部分会被视作词性,引发上一个问题。
HanLP只兼容文本格式的CRF++模型,只有文本才是世界通用的,这是最初的设计宗旨之一。请阅读《CRF++模型格式说明》以了解如何训练文本格式的CRF++模型。
- 请先学习“词典分词”与“统计模型分词”的区别(必须)!
- HanLP中有许多分词器,实现了几乎所有的分词算法 其中一些是前者,一些是后者,可以从继承关系区别
- 所以不要用“最大词”“最长词”之类的描述以偏概全,两大类分词器的原理完全不同。
- 如果你能区分“词典分词”与“统计模型分词”的话,那么你的问题就全明白了。否则,我只能简单地告诉你,词典分词是按最长词,统计分词可以调整模型来达到你的目的。
- 这是Java程序员的基础
- https://github.com/hankcs/HanLP/issues/419
- 分词标准取决于语料库标准,在开发分词器之前就一切都确定了。
- HanLP附带了训练工具,欢迎按你的标准自备语料,然后用此工具训练。
- 没有,所有人都是平等的。
- https://github.com/hankcs/HanLP/issues/445
- 我只开发过Lucene插件。Solr\ElasticSearch理论上应该基于Lucene。
- 但其他插件作者可能有自己的实现,并没有调用HanLP的自定义词典、停用词功能。所以推荐不依赖插件,直接用Lucene或solr自带的filter实现停用词。
- 不过我可以提供额外帮助,只需你fork一份,用JUnit复现你的问题,提供友好的开发测试环境。
https://github.com/hankcs/HanLP/issues/448
https://github.com/hankcs/HanLP/issues/444
- 可以通过增删改BiGram、CoreDictionary相应词条纠正错误。这种纠正方式类似于一种“增量训练”,对统计模型的破坏最小。
- 参考实例:https://github.com/hankcs/HanLP/issues/384
- 参考https://github.com/hankcs/HanLP/issues?utf8=%E2%9C%93&q=%E5%8F%8D%E5%B0%84
- 重申目前的策略:警告信息已经说得很明白了,谨遵医嘱即可。如果你解决了某个JDK版本上的反射错误,欢迎提交patch,这样下个版本你就不用手动改代码了,其他人也能受惠。
https://github.com/hankcs/HanLP/issues/407
- HanLP已经留有完善的IO接口、配置文件,不推荐使用如此丑陋的方法破坏类库的完整性。
- 一意孤行的用户请参考如下资料:
- https://github.com/hankcs/HanLP/issues/380
- https://github.com/hankcs/HanLP/issues/182
- 实现com.hankcs.hanlp.corpus.io.IIOAdapter接口即可在不同的平台(HDFS、Redis等)上运行HanLP
- 这些“平台”这包括且不限于jar包,如果你写一个TapeIOAdapter,你甚至可以从磁带中加载HanLP的data。
HanLP: Han Language Processing - Natural Language Processing for the next decade