pyhanlp:hanlp的python介面
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伺服器,預設本地訪問地址為: ;也可以訪問官網演示頁面: 。
升級
透過 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
cd pyhanlp
pip install -e .
python tests/test_hanlp.py
文章轉載自 github.com/hankcs/pyhanlp
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524777/viewspace-2641136/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自然語言處理工具包HanLP的Python介面自然語言處理HanLPPython
- python呼叫hanlp分詞包手記PythonHanLP分詞
- hanlp自然語言處理包的基本使用--pythonHanLP自然語言處理Python
- Hanlp漢字轉拼音使用python呼叫詳解HanLPPython
- python呼叫hanlp進行命名實體識別PythonHanLP
- 自然語言處理工具python呼叫hanlp的方法步驟自然語言處理PythonHanLP
- pyhanlp文字分類與情感分析HanLP文字分類
- HanLP Analysis for ElasticsearchHanLPElasticsearch
- python呼叫自然語言處理工具hanlp記錄Python自然語言處理HanLP
- pyhanlp 文字聚類詳細介紹HanLP聚類
- pyhanlp下載失敗解決方法HanLP
- hanlp在Python環境中的安裝失敗後的解決方法HanLPPython
- 漢語言處理工具pyhanlp的簡繁轉換HanLP
- Pyhanlp自然語言處理中的新詞識別HanLP自然語言處理
- HanLP Android 示例HanLPAndroid
- HanLP-停用詞表的使用示例HanLP
- Window離線環境下如何安裝pyhanlpHanLP
- 自然語言處理工具python呼叫hanlp中文實體識別自然語言處理PythonHanLP
- 在Python中呼叫Java擴充套件包HanLP測試記錄PythonJava套件HanLP
- python 介面實現類的Python
- Eclipse myeclipse下配置HanLP的教程EclipseHanLP
- 基於hanlp的es分詞外掛HanLP分詞
- pyhanlp 中文詞性標註與分詞簡介HanLP詞性標註分詞
- Elasticsearch整合HanLP分詞器ElasticsearchHanLP分詞
- 案例2問答機器人報TypeError: Class com.hankcs.hanlp.HanLP is not found機器人ErrorHanLP
- HanLP分詞工具中的ViterbiSegment分詞流程HanLP分詞Viterbi
- hanlp新增自定義字典的步驟介紹HanLP
- HanLP分類模組的分詞器介紹HanLP分詞
- Hanlp在ubuntu中的使用方法介紹HanLPUbuntu
- 基於 HanLP 的 ES 中文分詞外掛HanLP中文分詞
- python 開發介面Python
- 漢語言處理工具pyhanlp的拼音轉換與字元正則化HanLP字元
- HanLP中文分詞Lucene外掛HanLP中文分詞
- java分詞工具hanlp介紹Java分詞HanLP
- HanLP使用教程——NLP初體驗HanLP
- 在 Maven 專案中使用 HanLPMavenHanLP
- Hanlp1.7版本的新增功能一覽HanLP
- Spring MVCD框架中呼叫HanLP分詞的方法SpringMVC框架HanLP分詞