python调用hanlp分词包手记

2018-12-27 15:00:28 浏览数 (1)

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原代码。

---------------------

0 人点赞