HanLP的Python接口,支持自动下载与升级HanLP,兼容py2、py3。

安装

pip install pyhanlp

使用命令hanlp来验证安装,如因网络等原因自动安装失败,可参考手动配置或Windows指南。

命令行

中文分词

使用命令hanlp segment进入交互分词模式,输入一个句子并回车,HanLP会输出分词结果:

$ hanlp segment

商品和服务

商品/n 和/cc 服务/vn

当下雨天地面积水分外严重

当/p 下雨天/n 地面/n 积水/n 分外/d 严重/a

龚学平等领导说,邓颖超生前杜绝超生

龚学平/nr 等/udeng 领导/n 说/v ,/w 邓颖超/nr 生前/t 杜绝/v 超生/vi

还可以重定向输入输出到文件等:

$ hanlp segment <<< '欢迎新老师生前来就餐'

欢迎/v 新/a 老/a 师生/n 前来/vi 就餐/vi

 

依存句法分析

命令为hanlp parse,同样支持交互模式和重定向:

服务器

通过hanlp serve来启动内置的http服务器,默认本地访问地址为:http://localhost:8765 ;也可以访问官网演示页面:http://hanlp.hankcs.com/ 。

升级

通过hanlp update命令来将HanLP升级到最新版。该命令会获取HanLP主项目最新版本并自动下载安装。

欢迎通过hanlp --help查看最新帮助手册。

API

通过工具类HanLP调用常用接口:

from pyhanlp import *

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

for term in HanLP.segment('下雨天地面积水'):

print('{}\t{}'.format(term.word, term.nature)) # 获取单词与词性

testCases = [

"商品和服务",

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

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

"中国的首都是北京",

"欢迎新老师生前来就餐",

"工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作",

"随着页游兴起到现在的页游繁盛,依赖于存档进行逻辑判断的设计减少了,但这块也不能完全忽略掉。"]

for sentence in testCases: print(HanLP.segment(sentence))

# 关键词提取

document = "水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露," \

"根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标," \

"有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批," \

"严格地进行水资源论证和取水许可的批准。"

print(HanLP.extractKeyword(document, 2))

# 自动摘要

print(HanLP.extractSummary(document, 3))

# 依存句法分析

print(HanLP.parseDependency("徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。"))

更多功能

更多功能,包括但不限于:

l 自定义词典

l 极速词典分词

l 索引分词

l CRF分词

l 感知机词法分析

l 臺灣正體、香港繁體

l 关键词提取、自动摘要

l 文本分类、情感分析

请阅读HanLP主项目文档和demos目录以了解更多。调用更底层的API需要参考Java语法用JClass引入更深的类路径。以感知机词法分析器为例,这个类位于包名com.hankcs.hanlp.model.perceptron.PerceptronLexicalAnalyzer下,所以先用JClass得到类,然后就可以调用了:

PerceptronLexicalAnalyzer = JClass('com.hankcs.hanlp.model.perceptron.PerceptronLexicalAnalyzer')

analyzer = PerceptronLexicalAnalyzer()

print(analyzer.analyze("上海华安工业(集团)公司董事长谭旭光和秘书胡花蕊来到美国纽约现代艺术博物馆参观"))

输出:

[上海/ns 华安/nz 工业/n (/w 集团/n )/w 公司/n]/nt 董事长/n 谭旭光/nr 和/c 秘书/n 胡花蕊/nr 来到/v [美国/ns 纽约/ns 现代/t 艺术/n 博物馆/n]/ns 参观/v

如果你需要多线程安全性,可使用SafeJClass;如果你需要延迟加载,可使用LazyLoadingJClass。如果你经常使用某个类,欢迎将其写入pyhanlp/__init__.py中并提交pull request,谢谢!

与其他项目共享data

HanLP具备高度可自定义的特点,所有模型和词典都可以自由替换。如果你希望与别的项目共享同一套data,只需将该项目的配置文件hanlp.properties拷贝到pyhanlp的安装目录下即可。本机安装目录可以通过hanlp --version获取。

同时,还可以通过--config临时加载另一个配置文件:

hanlp segment --config path/to/another/hanlp.properties

测试

git clone https://github.com/hankcs/pyhanlp.git

cd pyhanlp

pip install -e .

python tests/test_hanlp.py

文章转载自github.com/hankcs/pyhanlp

pyhanlp:hanlp的python接口的更多相关文章

  1. caffe的python接口学习(7):绘制loss和accuracy曲线

    使用python接口来运行caffe程序,主要的原因是python非常容易可视化.所以不推荐大家在命令行下面运行python程序.如果非要在命令行下面运行,还不如直接用 c++算了. 推荐使用jupy ...

  2. Windows+Caffe+VS2013+python接口配置过程

    前段时间在笔记本上配置了Caffe框架,中间过程曲曲折折,但由于懒没有将详细过程总结下来,这两天又在一台配置较高的台式机上配置了Caffe,配置时便非常后悔当初没有写到博客中去,现已配置好Caffe, ...

  3. 机器学习caffe环境搭建——redhat7.1和caffe的python接口编译

    相信看这篇文章的都知道caffe是干嘛的了,无非就是深度学习.神经网络.计算机视觉.人工智能这些,这个我就不多介绍了,下面说说我的安装过程即遇到的问题,当然还有解决方法. 说下我的环境:1>虚拟 ...

  4. Caffe + Ubuntu 14.04 64bit + 无CUDA(linux下安装caffe(无cuda)以及python接口)

    安装Caffe指导书 环境: Linux 64位 显卡为Intel + AMD,非英伟达显卡 无GPU 一. 安装准备工作 1. 以管理员身份登录 在左上角点击图标,搜索terminal(即终端),以 ...

  5. caffe的python接口学习(1):生成配置文件

    caffe是C++语言写的,可能很多人不太熟悉,因此想用更简单的脚本语言来实现.caffe提供matlab接口和python接口,这两种语言就非常简单,而且非常容易进行可视化,使得学习更加快速,理解更 ...

  6. Caffe学习系列(11):数据可视化环境(python接口)配置

    参考:http://www.cnblogs.com/denny402/p/5088399.html 这节配置python接口遇到了不少坑. 1.我是利用anaconda来配置python环境,在将ca ...

  7. caffe中python接口的使用

    下面是基于我自己的接口,我是用来分类一维数据的,可能不具通用性: (前提,你已经编译了caffe的python的接口) 添加 caffe塻块的搜索路径,当我们import caffe时,可以找到. 对 ...

  8. Caffe学习系列(13):数据可视化环境(python接口)配置

    caffe程序是由c++语言写的,本身是不带数据可视化功能的.只能借助其它的库或接口,如opencv, python或matlab.大部分人使用python接口来进行可视化,因为python出了个比较 ...

  9. Python接口自动化——soap协议传参的类型是ns0类型的要创建工厂方法纪要

    1:在Python接口自动化中,对于soap协议的xml的请求我们可以使用Suds Client来实现,其soap协议传参的类型基本上是有2种: 第一种是传参,不需要再创建啥, 第二种就是ns0类型的 ...

随机推荐

  1. Problem A: STL——灵活的线性表

    Description 数组和链表是我们熟知的两种线性结构,但是它们不够灵活(不能同时实现直接插入.删除和访问操作),给你若干种操作,你能通过一种灵活的容器,实现它们的功能吗? 操作1:Build a ...

  2. Docker install GitLab

    示范一下如何透过Docker安装GitLab,也顺便将一些常用的东西纪录一下 作业系统: CentOS 7 安装Docker CE 1. 先移除系统上预先安装的Docker旧版本 yum remove ...

  3. 运行caffe自带的mnist实例教程

    运行caffe自带的mnist实例教程 本文结合几篇博文总结下来的,附上其中一篇原博文链接以供参考:http://blog.sina.com.cn/s/blog_168effc7e0102xjr1.h ...

  4. Windows 7 改造

    1.界面改造 1.1 软件 Wallpaper Engine 收费(18¥) 动态桌面,通过steam安装,使用steam中的创意工坊下载内容 最好使用集成显卡运行,单显卡方案容易桌面异常刷新 Clo ...

  5. html页面原生video标签隐藏下载按钮

    在写web项目的时候,遇到简介页面有一个单独的简介视频,只有这一个短短的视频所以没有使用任何video组件,所以运用原生video标签就想解决问题. 虽然简介视频是非付费的,但也不希望会有下载按钮或者 ...

  6. echarts 自定义主题

    https://blog.csdn.net/flitrue/article/details/52841338 import $echarts from 'echarts' import  'echar ...

  7. xPath 用法总结整理

    xPath 用法总结整理   一.xpath介绍 XPath 是一门在 XML 文档中查找信息的语言.XPath 用于在 XML 文档中通过元素和属性进行导航. XPath 使用路径表达式在 XML ...

  8. Python全栈之路----目录

    Module1 Python基本语法 Python全栈之路----编程基本情况介绍 Python全栈之路----常用数据类型--集合 Module2 数据类型.字符编码.文件操作 Python全栈之路 ...

  9. 练习题:试使用C#编程实现银行、ATM等功能

    练习题:试使用编程实现银行.ATM等功能 using System; using System.Collections.Generic; using System.Linq; using System ...

  10. JVM垃圾收集器-ParNew收集器

    今天我给大家讲讲ParNew收集器. ParNew收集器 ParNew收集器收集器其实就是Serial收集器的多线程版本,除了使用多线程进行垃圾收集之外,其余行为包括Serial收集器可用的所有控制参 ...