Hanlp作为一款重要的分词工具,本月初的时候看到大快搜索发布了hanlp的1.7版本,新增了文本聚类、流水线分词等功能。关于hanlp1.7版本的新功能,后面有使用的到时候在给大家分享。本篇分享一个在python里调用hanlp分词包的过程文章,供需要的朋友参考学习交流!以下为文章内容:
1.在python下安装pyhanlp
sudo pip install pyhanlp
(详见pyhanlp官方文档)
2.pyhanlp的一些使用方法
(1)Hanlp.segment的使用
from pyhanlp import *
print HanLP.segment("今天开心了吗?")
#输出:[今天/t, 开心/a, 了/ule, 吗/y, ?/w]
(2)其它API函数的使用。
(pyhanlp里已经含有以下这些功能了,可以直接调用)
1 - # API列表
2CustomDictionary= LazyLoadingJClass('com.hankcs.hanlp.dictionary.CustomDictionary')
3 HanLP = SafeJClass('com.hankcs.hanlp.HanLP')
4 HanLP.Config = JClass('com.hankcs.hanlp.HanLP$Config')
5PerceptronLexicalAnalyzer= SafeJClass('com.hankcs.hanlp.model.perceptron.PerceptronLexicalAnalyzer')
6 DoubleArrayTrieSegment = SafeJClass('com.hankcs.hanlp.seg.Other.DoubleArrayTrieSegment')
7AhoCorasickDoubleArrayTrie = SafeJClass('com.hankcs.hanlp.collection.AhoCorasick.AhoCorasickDoubleArrayTrie')
8IOUtil = SafeJClass('com.hankcs.hanlp.corpus.io.IOUtil')
9TraditionalChineseTokenizer=SafeJClass('com.hankcs.hanlp.tokenizer.TraditionalChineseTokenizer')
调用方法
analyzer=PerceptronLexicalAnalyzer()
a =analyzer.analyze("今天开心了吗?")
print a
3.其它更多的功能的实现。
① 比如繁体分词,自动生成摘要这些hanlp能实现的,但不在以上API函数里面的,我们可以通过以下方法。
② 首先要在“../pyhanlp/init.py”pycharm文件下通过jclass语句引入更深类路径。比如(我引入的是中文繁体分词这个API函数)
③ TraditionalChineseTokenizer=SafeJClass('com.hankcs.hanlp.tokenizer.TraditionalChineseTokenizer')
④ 然后就可以直接调用了,真的超级棒。
⑤ print TraditionalChineseTokenizer.segment('三華裔獲得傑出青年獎‘)
⑥ #输出:[三/m, 華裔/n, 獲得/v, 傑出青年/nz, 獎/n]
⑦ -其它更多的API函数的路径请参考java原代码。
---------------------