您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關自然語言處理工具包HanLP的Python接口是怎么樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
HanLP的Python接口,支持自動下載與升級HanLP,兼容py2、py3。
pip install pyhanlp
使用命令hanlp
來驗證安裝,如因網絡等原因自動安裝HanLP失敗,可參考
《手動配置》
。
使用命令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 parse <<< '徐先生還具體幫助他確定了把畫雄鷹、松鼠和麻雀作為主攻目標。' 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 標點符號 _ _
通過hanlp serve
來啟動內置的http服務器,默認本地訪問地址為:
http://localhost:8765
;也可以訪問官網演示頁面:
http://hanlp.hankcs.com/
。
通過hanlp update
命令來將HanLP升級到最新版。該命令會獲取GitHub最新版本并自動下載安裝。
歡迎通過hanlp --help
查看最新幫助手冊。
通過工具類HanLP
調用常用接口:
from pyhanlp import *print(HanLP.segment('你好,歡迎在Python中調用HanLP的API')) testCases = [ "商品和服務", "結婚的和尚未結婚的確實在干擾分詞啊", "買水果然后來世博園最后去世博會", "中國的首都是北京", "歡迎新老師生前來就餐", "工信處女干事每月經過下屬科室都要親口交代24口交換機等技術性器件的安裝工作", "隨著頁游興起到現在的頁游繁盛,依賴于存檔進行邏輯判斷的設計減少了,但這塊也不能完全忽略掉。"]for sentence in testCases: 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
臨時加載另一個配置文件:
hanlp segment --config path/to/another/hanlp.properties
默認在首次調用HanLP時自動下載jar包和數據包,并自動完成配置。
如因網絡等原因自動配置失敗,可以通過設置環境變量來自定義HanLP版本和數據位置。
變量名 | 默認值 | 備注 |
---|---|---|
HANLP_STATIC_ROOT | pyhanlp所在安裝路徑的static文件夾 | 配置文件hanlp.properties所在的目錄 |
HANLP_JAR_PATH | pyhanlp所在安裝路徑的static文件夾 | HanLP jar 包位置 |
HANLP_JVM_XMS | 1g | Java 虛擬機 初始申請內存大小 |
HANLP_JVM_XMX | 1g | Java 虛擬機 可占用的最大內存 |
HANLP_GOOGLE_UA | UA-XXXXX-X | Google Analytics 網站 id |
HANLP_VERBOSE | 調試日志開關 |
注意:
使用pip初次安裝 pyhanlp 后,不設置上述變量,程序會自動下載所需依賴到默認位置。如果是設置了上述變量,則不進行下載。因為文件比較大,網絡下載穩定性等原因,建議提前準備好 jar 包, 配置文件 和 data ,并使用環境變量進行配置。
保證 hanlp.properties 中的 root 是指向正確的data路徑。
比如:
export HANLP_JAR_PATH=/hanlp/hanlp-portable-1.6.0.jarexport HANLP_STATIC_ROOT=/hanlp
就需要保證有如下的目錄結構:
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= # 配置環境變量export HANLP_STATIC_ROOT= # 配置環境變量python tests/test_hanlp.py # 執行測試
Apache License 2.0
看完上述內容,你們對自然語言處理工具包HanLP的Python接口是怎么樣的有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。