自然语言处理工具包HanLP的Python接口是怎么样的
今天就跟大家聊聊有关自然语言处理工具包HanLP的Python接口是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
pyhanlp: Python interfaces for HanLPHanLP的Python接口,支持自动下载与升级HanLP,兼容py2、py3。
安装pipinstallpyhanlp
使用命令hanlp
来验证安装,如因网络等原因自动安装HanLP失败,可参考《手动配置》。
使用命令hanlp segment
进入交互分词模式,输入一个句子并回车,HanLP会输出分词结果:
$hanlpsegment商品和服务商品/n和/cc服务/vn当下雨天地面积水分外严重当/p下雨天/n地面/n积水/n分外/d严重/a龚学平等领导说,邓颖超生前杜绝超生龚学平/nr等/udeng领导/n说/v,/w邓颖超/nr生前/t杜绝/v超生/vi
还可以重定向输入输出到文件等:
$hanlpsegment<<<'欢迎新老师生前来就餐'欢迎/v新/a老/a师生/n前来/vi就餐/vi依存句法分析
命令为hanlp parse
,同样支持交互模式和重定向:
$hanlpparse<<<'徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。'1徐先生徐先生nhnr_4主谓关系__2还还dd_4状中结构__3具体具体aa_4状中结构__4帮助帮助vv_0核心关系__5他他rrr_4兼语__6确定确定vv_4动宾关系__7了了uule_6右附加关系__8把把ppba_15状中结构__9画画vv_8介宾关系__10雄鹰雄鹰nn_9动宾关系__11、、wpw_12标点符号__12松鼠松鼠nn_10并列关系__13和和ccc_14左附加关系__14麻雀麻雀nn_10并列关系__15作为作为pp_6动宾关系__16主攻主攻vvn_17定中关系__17目标目标nn_15动宾关系__18。。wpw_4标点符号__服务器
通过hanlp serve
来启动内置的http服务器,默认本地访问地址为:http://localhost:8765;也可以访问官网演示页面:http://hanlp.hankcs.com/。
通过hanlp update
命令来将HanLP升级到最新版。该命令会获取GitHub最新版本并自动下载安装。
欢迎通过hanlp --help
查看最新帮助手册。
通过工具类HanLP
调用常用接口:
frompyhanlpimport*print(HanLP.segment('你好,欢迎在Python中调用HanLP的API'))testCases=["商品和服务","结婚的和尚未结婚的确实在干扰分词啊","买水果然后来世博园最后去世博会","中国的首都是北京","欢迎新老师生前来就餐","工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作","随着页游兴起到现在的页游繁盛,依赖于存档进行逻辑判断的设计减少了,但这块也不能完全忽略掉。"]forsentenceintestCases:print(HanLP.segment(sentence))#关键词提取document="水利部水资源司司长陈明忠9月29日在国务yuan新闻办举行的新闻发布会上透露,"\"根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标,"\"有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批,"\"严格地进行水资源论证和取水许可的批准。"print(HanLP.extractKeyword(document,2))#自动摘要print(HanLP.extractSummary(document,3))#依存句法分析print(HanLP.parseDependency("徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。"))更多功能
更多功能,包括但不限于:
自定义词典
极速词典分词
索引分词
CRF分词
感知机词法分析
臺灣正體、香港繁體
关键词提取、自动摘要
文本分类、情感分析
请阅读HanLP主项目文档以了解更多。调用更底层的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
如果你经常使用某个类,欢迎将其写入pyhanlp/__init__.py
中并提交pull request,谢谢!
HanLP具备高度可自定义的特点,所有模型和词典都可以自由替换。如果你希望与别的项目共享同一套data,只需将该项目的配置文件hanlp.properties
拷贝到pyhanlp的安装目录下即可。本机安装目录可以通过hanlp --version
获取。
同时,还可以通过--config
临时加载另一个配置文件:
hanlpsegment--configpath/to/another/hanlp.properties配置自动配置
默认在首次调用HanLP时自动下载jar包和数据包,并自动完成配置。
手动配置如因网络等原因自动配置失败,可以通过设置环境变量来自定义HanLP版本和数据位置。
调试日志开关
注意:
使用pip初次安装 pyhanlp 后,不设置上述变量,程序会自动下载所需依赖到默认位置。如果是设置了上述变量,则不进行下载。因为文件比较大,网络下载稳定性等原因,建议提前准备好jar包,配置文件和data,并使用环境变量进行配置。
保证 hanlp.properties 中的 root 是指向正确的data路径。
比如:
exportHANLP_JAR_PATH=/hanlp/hanlp-portable-1.6.0.jarexportHANLP_STATIC_ROOT=/hanlp
就需要保证有如下的目录结构:
hanlp├──data│├──README.url│├──dictionary│└──model├──hanlp.properties└──hanlp-portable-1.6.0.jar测试
gitclonehttps://github.com/hankcs/pyhanlp.gitcdpyhanlppipinstall-rrequirements.txt#安装依赖exportHANLP_JAR_PATH=#配置环境变量exportHANLP_STATIC_ROOT=#配置环境变量pythontests/test_hanlp.py#执行测试授权协议
Apache License 2.0
看完上述内容,你们对自然语言处理工具包HanLP的Python接口是怎么样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。