python调用HanLP

1.首先安装jpype
首先各种坑,jdk和python 版本位数必须一致,我用的是jpype1-py3 版本号0.5.5.2 、1.6jdk和python3.5,win7 64位下亲测没问题。
否则死翘翘,有可能虚拟机都无法启动:
# -*- coding:utf-8 -*-
import jpype
from jpype import *
jvmpath = jpype.getdefaultjvmpath()
print(jvmpath)
jpype.startjvm(jvmpath)
jpype.java.lang.system.out.println(hello world!)
java.lang.system.out.println(hello world)
jpype.shutdownjvm()
出错调试,原因已说;测试成功会有输出。
下面启动虚拟机跑hanlp
2.下载各种安装包
使用自定义的hanlp——hanlp由3部分组成:类库hanlp.jar包、模型data包、配置文件hanlp.properties,请前往项目主页下载最新版:https://github.com/hankcs/hanlp/releases。对于非portable版,下载后,你需要编辑配置文件第一行的root指向data的父目录,详见文档。
# -*- coding:utf-8 -*-
import os
from jpype import *
[python] view plain copy
#老版本  
startjvm(getdefaultjvmpath(), -djava.class.path=d:\hanlp\hanlp-1.3.2.jar;  
                              d:\hanlp, -xms1g,-xmx1g)  # 启动jvm,linux需替换分号;为冒号:  
#新版本,出现警告。垃圾的1.5会出现警告,而且数据也出问题。  
# startjvm(getdefaultjvmpath(), -djava.class.path=d:\hanlp\hanlp-1.5.2.jar;  
#                               d:\hanlp, -xms1g,-xmx1g)  # 启动jvm,linux需替换分号;为冒号:
hanlp = jclass('com.hankcs.hanlp.hanlp')
#中文分词
print(hanlp.segment(你好,欢迎在python中调用hanlp的api).tostring())
testcases = [
    商品和服务,
    结婚的和尚未结婚的确实在干扰分词啊,
    买水果然后来世博园最后去世博会,
    中国的首都是北京,
    欢迎新老师生前来就餐,
    工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作,
    随着页游兴起到现在的页游繁盛,依赖于存档进行逻辑判断的设计减少了,但这块也不能完全忽略掉。]
for sentence in testcases: print(hanlp.segment(sentence))
# 命名实体识别与词性标注
nlptokenizer = jclass('com.hankcs.hanlp.tokenizer.nlptokenizer')
print(nlptokenizer.segment('中国科学院计算技术研究所的宗成庆教授正在教授自然语言处理课程'))
# 关键词提取
document = 水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露, \
           根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标, \
           有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批, \
           严格地进行水资源论证和取水许可的批准。
print(hanlp.extractkeyword(document, 2))
# 自动摘要
print(hanlp.extractsummary(document, 3))
# 依存句法分析
print(hanlp.parsedependency(徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。))
shutdownjvm()
测试成功:
[你好/vl, ,/w, 欢迎/v, 在/p, python/nx, 中/f, 调用/v, hanlp/nx, 的/ude1, api/nx]
还行
[商品/n, 和/cc, 服务/vn]
[结婚/vi, 的/ude1, 和/cc, 尚未/d, 结婚/vi, 的/ude1, 确实/ad, 在/p, 干扰/vn, 分词/n, 啊/y]
[买/v, 水果/n, 然后/c, 来/vf, 世博园/n, 最后/f, 去/vf, 世博会/n]
[中国/ns, 的/ude1, 首都/n, 是/vshi, 北京/ns]
[欢迎/v, 新/a, 老/a, 师生/n, 前来/vi, 就餐/vi]
[工信处/n, 女干事/n, 每月/r, 经过/p, 下属/v, 科室/n, 都/d, 要/v, 亲口/d, 交代/v, 24/m, 口/n, 交换机/n, 等/udeng, 技术性/n, 器件/n, 的/ude1, 安装/v, 工作/vn]
[随着/p, 页游/nz, 兴起/v, 到/v, 现在/t, 的/ude1, 页游/nz, 繁盛/a, ,/w, 依赖于/v, 存档/vi, 进行/vn, 逻辑/n, 判断/v, 的/ude1, 设计/vn, 减少/v, 了/ule, ,/w, 但/c, 这/rzv, 块/q, 也/d, 不能/v, 完全/ad, 忽略/v, 掉/v, 。/w]
[中国科学院计算技术研究所/nt, 的/ude1, 宗成庆/nr, 教授/nnt, 正在/d, 教授/v, 自然语言处理/nz, 课程/n]
[水资源, 陈明忠]
[严格地进行水资源论证和取水许可的批准, 水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露, 有部分省超过红线的指标]
1 徐先生 徐先生 nh nr _ 4 主谓关系 _ _
2 还 还 d d _ 4 状中结构 _ _
3 具体 具体 a a _ 4 状中结构 _ _
4 帮助 帮助 v v _ 0 核心关系 _ _
5 他 他 r rr _ 4 兼语 _ _
6 确定 确定 v v _ 4 动宾关系 _ _
7 了 了 u ule _ 6 右附加关系 _ _
8 把 把 p pba _ 15 状中结构 _ _
9 画 画 v v _ 8 介宾关系 _ _
10 雄鹰 雄鹰 n n _ 9 动宾关系 _ _
11 、 、 wp w _ 12 标点符号 _ _
12 松鼠 松鼠 n n _ 10 并列关系 _ _
13 和 和 c cc _ 14 左附加关系 _ _
14 麻雀 麻雀 n n _ 10 并列关系 _ _
15 作为 作为 p p _ 6 动宾关系 _ _
16 主攻 主攻 v vn _ 17 定中关系 _ _
17 目标 目标 n n _ 15 动宾关系 _ _
18 。 。 wp w _ 4 标点符号 _ _
jvm activity report     :
classes loaded       : 32
jvm has been shutdown
这里有可能jclass(
com.hankcs.hanlp.hanlp)时,报错出现找不到类的问题,仔细查看配置文件和jar路径是否对;如果还出错,
查看data里面的文件是否全。
文章来源于逍遥自在017的博客

无人驾驶计划停滞 奔驰是否放弃投入无人驾驶
pd2.0和pd3.0的区别
雪铁龙新C3-XR:低功率版降低价格才是正道
江苏移动为超过 34 万的 5G 终端客户提供 5G 网络服务
LED防水气密性测试案例
python调用HanLP
功能:浮点BCD码转换成格式化浮点数
西安交通大学人工智能与机器人研究所公开全球首个五维驾驶场景理解数据集
ios10.3最新消息:有多少人升级iOS10.3只是为了那多出来一两G内存的?
什么是CircleIndicator?CircleIndicator的源码实现
物联网与教育行业相结合会擦出怎样的火花
小米6什么时候发布?价格开始发烧,小米最贵的手机4月19日即将发布
微软申请基于电子眼镜的血压计医疗技术专利
联想小新Air 14 2020参数,性能优于DDR4-2666
《涨知识啦19》之HEMT 的电流崩塌效应的讲解
写稿机器人抢编辑饭碗,未来还有编辑吗?
智能手机触控新风潮 嵌入式首度超越外挂
KUKA清洗机器人在汽车工业中的应用
拆解特斯拉Model3逆变器
小米11超大杯曝光:电池容量会超过4600毫安 80W无线快充加持