前几天看了大快的举办的大数据论坛峰会的现场直播,惊喜的是hanlp2.0版本发布。Hanlp2.0版本将会支持任意多的语种,感觉还是挺好的!不过更多关于hanlp2.0的信息,可能还需要过一段时间才能看到,只能等一下了!下面分享一篇大神的文章,是关于在ubuntu下使用pycharm调用hanlp的实验。

以下为全文:

首先点击File,选择Settings,在Project 下点击Project Interpreter,并通过点击右边的加号:

搜索JPype,根据python版本选择你需要的JPype版本安装。

之后,在https://github.com/hankcs/HanLP/releases

网站下载hanlp.jar包、模型data包、配置文件hanlp.properties,新建一个文件夹Hanlp,

把hanlp.jar和hanlp.properties放进去;之后需要再新建一个文件夹hanlp,并将data放进去;

修改Hanlp下的路径为当前data的路径,由于我将data放在/home/javawork/hanlp下,因此:root=/home/javawork/hanlp/

接下来新建一个文件demo_hanlp.py,代码如下:

#! /usr/bin/env python2.7

#coding=utf-8

from jpype import *

# startJVM(getDefaultJVMPath(), "-Djava.class.path=home/javawork/Hanlp/hanlp-1.2.7.jar;home/javawork/Hanlp/", "-Xms1g", "-Xmx1g")

startJVM(getDefaultJVMPath(), "-Djava.class.path=/home/qinghua/javawork/Hanlp/hanlp-1.2.7.jar:/home/qinghua/javawork/Hanlp")

HanLP = JClass('com.hankcs.hanlp.HanLP')

# 中文分词

print(HanLP.segment('你好,欢迎在Python中调用HanLP的API'))

testCases = [

"商品和服务",

"结婚的和尚未结婚的确实在干扰分词啊",

"买水果然后来世博园最后去世博会"]

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()

需要注意的是ubuntu的路径分割符为”:”,而window 为” ; ”

另附hanlp调用常见问题集:

github.com/hankcs/HanLP/issues?page=3&q=is%3Aissue+is%3Aopen

作者:imperfect00

ubuntu下pycharm调用Hanlp实践分享的更多相关文章

  1. ubuntu下Pycharm安装及配置

    从知乎里看到了Pycharm的介绍,感觉还不错,记录下今天的安装过程 1.从http://www.jetbrains.com/pycharm/download/下载最新的Pycharm 2.在终端中进 ...

  2. 解决qt5在ubuntu下无法调用fcitx输入中文的问题

    如题,在以前安装qt5.2.1的时候就遇到了这个问题.当时上网搜了很多资料,结果都解决不了,发现都是复制来复制去. 这次因为要用qt5.3.0在ubuntu下写个程序,所以不解决这个问题不行了.就继续 ...

  3. centos和ubuntu下pycharm无法输入中文的解决办法

    编辑启动的脚本文件 vim /usr/bin/pycharm ubuntu下添加 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export ...

  4. ubuntu下浏览器调用本地应用程序

    ubunut下浏览器调用本地应用程序需要desktop文件和scheme协议的支持,和windows 的url protocol类似,只是注册协议的方式不一样. 首先是desktop文件,里面需要加入 ...

  5. ubuntu下 pycharm使用andcoda下的tensorflow

    在ubuntu中 tensorflow是安装在andconda里的一个虚拟环境中,他就相当于一个容器,将tensorflow的整个环境去模拟隔离出来,因为我们直接使用andconda库去作为pycha ...

  6. Ubuntu下pycharm设定任务栏图标后打开出现问号图标

    事情是这样的: ubuntu16.04,安装好pycharm后,bin下只有一个sh执行文件,想要弄成任务栏图标,所以在/usr/share/applications下新建文件pycharm.desk ...

  7. ubuntu下pycharm无法使用pip安装python包的修复方案

    1. 在pycharm 中安装python包会报错“pycharm ModuleNotFoundError: No module named 'distutils.core'”: 2. 可能原因:in ...

  8. ubuntu下pycharm的安装

    打开百度,输入pycharm下载,点击下图的第二个英文链接. 进入后选择linux下的Community进行下载,而左边的Professional是要钱购买的,当然花钱的体验效果肯定会更好. 下载完成 ...

  9. ubuntu下pycharm快捷方式创建

    终端输入:sudo gedit /usr/share/applications/Pycharm.desktop 粘贴模板: [Desktop Entry] Type=Application Name= ...

随机推荐

  1. HTTP、TCP、IP、协议

    HTTP(HyperText Transfer Protocol) 即超文本传输协议,现在基本上所有web项目都遵从HTTP协议(协议就是一种人为的规范). 目前绝大部分使用的都是HTTP/1.1版本 ...

  2. python day 07-数据类型补充,集合,深浅拷贝

    一.基础数据类型补充 1.列表转字符串 a='A'.join(['c','c','s']) print(a) 2.循环删除列表中的每⼀一个元素 lst=['asdf','dftgst','zsdrfs ...

  3. 字体图标Font Awesome 的使用

    下载地址:http://fontawesome.dashgame.com/ 将下载下来的压缩包解压,然后解压,将下载的整个文件夹复制到你的项目中,在你需要用字体图标的html中引入“font-awes ...

  4. css引入外部字体使网站字体更美观

    @font-face{font-family: myFont;src:url("../font/timesi.ttf");src:url("../font/timesbi ...

  5. 从android设备中提取内核

    背景 CVE-2013-2597 是高通 msm_acdb 设备驱动的一个 copy_from_user 栈溢出,利用要用到ROP.f101的漏洞利用介绍中,用到几处Gadgets,显然要根据acdb ...

  6. 2019寒假算法基础集训营1 - B 小a与"204"

    题目: 小a非常喜欢这个数字,因为. 现在他有一个长度为的序列,其中只含有这三种数字 设为序列中第个数,你需要重新排列这个数列,使得最大(公式的含义是:每个数与前一个数差的平方的和) 注意:我们默认 ...

  7. 重绘和回流(reflow和repaint)

    由于DOM操作会导致浏览器的回流,回流需要花费大量的时间进行样式计算和节点重绘与渲染,所以应当尽量减少回流次数. 以下是几种常见的减少重绘和回流的方法: 一.不要一项一项的更改页面的样式,尽量一口气写 ...

  8. tomcat localhost

    启动tomcat后,登录本地localhost时,被要求输入用户名和密码,自己也从没有设置过啊,上网查找,原因如下: 机器装的oracle,它自带的httpserver的端口是8080,同时,tomc ...

  9. ★ MYSQL隔离级别 通俗理解 + mysql、oracle默认事务隔离级别

    ★  脏读 : 读取了前一事务 未提交 的数据 ; 不可重复读    : 读取了前一事务     提交 的数据: ★ 幻读 与 不可重复读 common :都是读取了另一条已经提交的事务(这点与脏读不 ...

  10. shell 修改工作路径

    import os os.getcwd() #查看现路径 os.chdir('新路径') #修改路径