您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)自然語言處理工具包HanLP的Python接口是怎么樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
HanLP的Python接口,支持自動下載與升級HanLP,兼容py2、py3。
pip install pyhanlp
使用命令hanlp
來驗(yàn)證安裝,如因網(wǎng)絡(luò)等原因自動安裝HanLP失敗,可參考
《手動配置》
。
使用命令hanlp segment
進(jìn)入交互分詞模式,輸入一個句子并回車,HanLP會輸出分詞結(jié)果:
$ hanlp segment 商品和服務(wù) 商品/n 和/cc 服務(wù)/vn 當(dāng)下雨天地面積水分外嚴(yán)重 當(dāng)/p 下雨天/n 地面/n 積水/n 分外/d 嚴(yán)重/a 龔學(xué)平等領(lǐng)導(dǎo)說,鄧穎超生前杜絕超生 龔學(xué)平/nr 等/udeng 領(lǐng)導(dǎo)/n 說/v ,/w 鄧穎超/nr 生前/t 杜絕/v 超生/vi
還可以重定向輸入輸出到文件等:
$ hanlp segment <<< '歡迎新老師生前來就餐' 歡迎/v 新/a 老/a 師生/n 前來/vi 就餐/vi
命令為hanlp parse
,同樣支持交互模式和重定向:
$ hanlp parse <<< '徐先生還具體幫助他確定了把畫雄鷹、松鼠和麻雀作為主攻目標(biāo)。' 1 徐先生 徐先生 nh nr _ 4 主謂關(guān)系 _ _2 還 還 d d _ 4 狀中結(jié)構(gòu) _ _3 具體 具體 a a _ 4 狀中結(jié)構(gòu) _ _4 幫助 幫助 v v _ 0 核心關(guān)系 _ _5 他 他 r rr _ 4 兼語 _ _6 確定 確定 v v _ 4 動賓關(guān)系 _ _7 了 了 u ule _ 6 右附加關(guān)系 _ _8 把 把 p pba _ 15 狀中結(jié)構(gòu) _ _9 畫 畫 v v _ 8 介賓關(guān)系 _ _10 雄鷹 雄鷹 n n _ 9 動賓關(guān)系 _ _11 、 、 wp w _ 12 標(biāo)點(diǎn)符號 _ _12 松鼠 松鼠 n n _ 10 并列關(guān)系 _ _13 和 和 c cc _ 14 左附加關(guān)系 _ _14 麻雀 麻雀 n n _ 10 并列關(guān)系 _ _15 作為 作為 p p _ 6 動賓關(guān)系 _ _16 主攻 主攻 v vn _ 17 定中關(guān)系 _ _17 目標(biāo) 目標(biāo) n n _ 15 動賓關(guān)系 _ _18 。 。 wp w _ 4 標(biāo)點(diǎn)符號 _ _
通過hanlp serve
來啟動內(nèi)置的http服務(wù)器,默認(rèn)本地訪問地址為:
http://localhost:8765
;也可以訪問官網(wǎng)演示頁面:
http://hanlp.hankcs.com/
。
通過hanlp update
命令來將HanLP升級到最新版。該命令會獲取GitHub最新版本并自動下載安裝。
歡迎通過hanlp --help
查看最新幫助手冊。
通過工具類HanLP
調(diào)用常用接口:
from pyhanlp import *print(HanLP.segment('你好,歡迎在Python中調(diào)用HanLP的API')) testCases = [ "商品和服務(wù)", "結(jié)婚的和尚未結(jié)婚的確實(shí)在干擾分詞啊", "買水果然后來世博園最后去世博會", "中國的首都是北京", "歡迎新老師生前來就餐", "工信處女干事每月經(jīng)過下屬科室都要親口交代24口交換機(jī)等技術(shù)性器件的安裝工作", "隨著頁游興起到現(xiàn)在的頁游繁盛,依賴于存檔進(jìn)行邏輯判斷的設(shè)計減少了,但這塊也不能完全忽略掉。"]for sentence in testCases: print(HanLP.segment(sentence))# 關(guān)鍵詞提取document = "水利部水資源司司長陳明忠9月29日在國務(wù)yuan新聞辦舉行的新聞發(fā)布會上透露," \ "根據(jù)剛剛完成了水資源管理制度的考核,有部分省接近了紅線的指標(biāo)," \ "有部分省超過紅線的指標(biāo)。對一些超過紅線的地方,陳明忠表示,對一些取用水項(xiàng)目進(jìn)行區(qū)域的限批," \ "嚴(yán)格地進(jìn)行水資源論證和取水許可的批準(zhǔn)。"print(HanLP.extractKeyword(document, 2))# 自動摘要print(HanLP.extractSummary(document, 3))# 依存句法分析print(HanLP.parseDependency("徐先生還具體幫助他確定了把畫雄鷹、松鼠和麻雀作為主攻目標(biāo)。"))
更多功能,包括但不限于:
自定義詞典
極速詞典分詞
索引分詞
CRF分詞
感知機(jī)詞法分析
臺灣正體、香港繁體
關(guān)鍵詞提取、自動摘要
文本分類、情感分析
請閱讀
HanLP主項(xiàng)目文檔
以了解更多。調(diào)用更底層的API需要參考Java語法用JClass引入更深的類路徑。以感知機(jī)詞法分析器為例,這個類位于包名com.hankcs.hanlp.model.perceptron.PerceptronLexicalAnalyzer
下,所以先用JClass
得到類,然后就可以調(diào)用了:
PerceptronLexicalAnalyzer = JClass('com.hankcs.hanlp.model.perceptron.PerceptronLexicalAnalyzer') analyzer = PerceptronLexicalAnalyzer()print(analyzer.analyze("上海華安工業(yè)(集團(tuán))公司董事長譚旭光和秘書胡花蕊來到美國紐約現(xiàn)代藝術(shù)博物館參觀"))
輸出:
[上海/ns 華安/nz 工業(yè)/n (/w 集團(tuán)/n )/w 公司/n]/nt 董事長/n 譚旭光/nr 和/c 秘書/n 胡花蕊/nr 來到/v [美國/ns 紐約/ns 現(xiàn)代/t 藝術(shù)/n 博物館/n]/ns 參觀/v
如果你經(jīng)常使用某個類,歡迎將其寫入pyhanlp/__init__.py
中并提交pull request,謝謝!
HanLP具備高度可自定義的特點(diǎn),所有模型和詞典都可以自由替換。如果你希望與別的項(xiàng)目共享同一套data,只需將該項(xiàng)目的配置文件hanlp.properties
拷貝到pyhanlp的安裝目錄下即可。本機(jī)安裝目錄可以通過hanlp --version
獲取。
同時,還可以通過--config
臨時加載另一個配置文件:
hanlp segment --config path/to/another/hanlp.properties
默認(rèn)在首次調(diào)用HanLP時自動下載jar包和數(shù)據(jù)包,并自動完成配置。
如因網(wǎng)絡(luò)等原因自動配置失敗,可以通過設(shè)置環(huán)境變量來自定義HanLP版本和數(shù)據(jù)位置。
變量名 | 默認(rèn)值 | 備注 |
---|---|---|
HANLP_STATIC_ROOT | pyhanlp所在安裝路徑的static文件夾 | 配置文件hanlp.properties所在的目錄 |
HANLP_JAR_PATH | pyhanlp所在安裝路徑的static文件夾 | HanLP jar 包位置 |
HANLP_JVM_XMS | 1g | Java 虛擬機(jī) 初始申請內(nèi)存大小 |
HANLP_JVM_XMX | 1g | Java 虛擬機(jī) 可占用的最大內(nèi)存 |
HANLP_GOOGLE_UA | UA-XXXXX-X | Google Analytics 網(wǎng)站 id |
HANLP_VERBOSE | 調(diào)試日志開關(guān) |
注意:
使用pip初次安裝 pyhanlp 后,不設(shè)置上述變量,程序會自動下載所需依賴到默認(rèn)位置。如果是設(shè)置了上述變量,則不進(jìn)行下載。因?yàn)槲募容^大,網(wǎng)絡(luò)下載穩(wěn)定性等原因,建議提前準(zhǔn)備好 jar 包, 配置文件 和 data ,并使用環(huán)境變量進(jìn)行配置。
保證 hanlp.properties 中的 root 是指向正確的data路徑。
比如:
export HANLP_JAR_PATH=/hanlp/hanlp-portable-1.6.0.jarexport HANLP_STATIC_ROOT=/hanlp
就需要保證有如下的目錄結(jié)構(gòu):
hanlp├── data│ ├── README.url│ ├── dictionary│ └── model├── hanlp.properties└── hanlp-portable-1.6.0.jar
git clone https://github.com/hankcs/pyhanlp.gitcd pyhanlp pip install -r requirements.txt # 安裝依賴export HANLP_JAR_PATH= # 配置環(huán)境變量export HANLP_STATIC_ROOT= # 配置環(huán)境變量python tests/test_hanlp.py # 執(zhí)行測試
Apache License 2.0
看完上述內(nèi)容,你們對自然語言處理工具包HanLP的Python接口是怎么樣的有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。