概述
时间:2017年5月
出处:http://blog.csdn.net/csearch/article/details/71430217
声明:版权所有,转载请联系作者并注明出
在实际工作中,有许多算法包是基于Java写的,而习惯了Python进行挖掘的同学会对Java比较犯怵,另一个原因就是在进行工程整合的时候,多语言在同一个工程下面管理起来也不是很方便。因此,考虑在Python环境下调用Java的jar包。
1.安装
# 安装JPype1
pip install JPype1
>>> from jpype import *
>>> startJVM(getDefaultJVMPath())
>>> java.lang.System.out.println("hello world")
hello world
>>> shutdownJVM()
JVM activity report
:
classes loaded
: 31
JVM has been shutdown
>>>
2.HanLP调用示例
我们下载Portable版本的jar包,不需要进行任何配置。
假定,我们的hanlp-portable-1.3.3.jar放置到/Users/xxx/tools/hanlp/hanlp-portable-1.3.3.jar
import sys
reload(sys)
sys.setdefaultencoding('utf8')
from jpype import *
startJVM(getDefaultJVMPath(), "-Djava.class.path=/Users/xxx/tools/hanlp/hanlp-portable-1.3.3.jar", "-Xms1g", "-Xmx1g") # 启动JVM
HanLP = JClass('com.hankcs.hanlp.HanLP')
# 中文分词
print(HanLP.segment(u'你好,欢迎在Python中调用HanLP的API'))
testCases = [
u"商品和服务",
u"结婚的和尚未结婚的确实在干扰分词啊",
u"买水果然后来世博园最后去世博会",
u"中国的首都是北京",
u"欢迎新老师生前来就餐",
u"工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作",
u"随着页游兴起到现在的页游繁盛,依赖于存档进行逻辑判断的设计减少了,但这块也不能完全忽略掉。"]
for sentence in testCases: print(HanLP.segment(sentence))
# 命名实体识别与词性标注
NLPTokenizer = JClass('com.hankcs.hanlp.tokenizer.NLPTokenizer')
print(NLPTokenizer.segment(u'中国科学院计算技术研究所的宗成庆教授正在教授自然语言处理课程'))
# 关键词提取
document = u"水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露,"
u"根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标,"
u"有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批,"
u"严格地进行水资源论证和取水许可的批准。"
print(HanLP.extractKeyword(document, 2))
# 自动摘要
print(HanLP.extractSummary(document, 3))
# 依存句法分析
print(HanLP.parseDependency(u"徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。"))
shutdownJVM()
参考文档
* Python调用自然语言处理包HanLP
最后
以上就是无奈早晨为你收集整理的Python-调用Java的jar包1.安装2.HanLP调用示例的全部内容,希望文章能够帮你解决Python-调用Java的jar包1.安装2.HanLP调用示例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复