python呼叫自然語言處理工具hanlp記錄
HanLP方法封裝類:
1. # -*- coding:utf-8 -*-
2. # Filename: main.py
3.
4.from jpype import *
5.
5.startJVM(getDefaultJVMPath(), "-Djava.class.path=C:\hanlp\hanlp-1.3.2.jar;C:\hanlp", "-Xms1g", "-Xmx1g") # 啟動JVM,Linux需替換分號;為冒號:
7.
8.print("="*30+"HanLP分詞"+"="*30)
9.HanLP = JClass('com.hankcs.hanlp.HanLP')
10.# 中文分詞
11.print(HanLP.segment('你好,歡迎在Python中呼叫HanLP的API'))
12.print("-"*70)
13.
14. print("="*30+"標準分詞"+"="*30)
15. StandardTokenizer = JClass('com.hankcs.hanlp.tokenizer.StandardTokenizer')
16. print(StandardTokenizer.segment('你好,歡迎在Python中呼叫HanLP的API'))
17. print("-"*70)
18.
19.# NLP分詞NLPTokenizer會執行全部命名實體識別和詞性標註
20.print("="*30+"NLP分詞"+"="*30)
21.NLPTokenizer = JClass('com.hankcs.hanlp.tokenizer.NLPTokenizer')
22.print(NLPTokenizer.segment('中國科學院計算技術研究所的宗成慶教授正在教授自然語言處理課程'))
23.print("-"*70)
24.
25. print("="*30+"索引分詞"+"="*30)
26. IndexTokenizer = JClass('com.hankcs.hanlp.tokenizer.IndexTokenizer')
27. termList= IndexTokenizer.segment("主副食品");
28. for term in termList :
29. print(str(term) + " [" + str(term.offset) + ":" + str(term.offset + len(term.word)) + "]")
30. print("-"*70)
31.
32.
33.print("="*30+" N-最短路徑分詞"+"="*30)
34.# CRFSegment = JClass('com.hankcs.hanlp.seg.CRF.CRFSegment')
35.# segment=CRFSegment()
36.# testCase ="今天,劉志軍案的關鍵人物,山西女商人丁書苗在市二中院出庭受審。"
37.# print(segment.seg("你看過穆赫蘭道嗎"))
38.print("-"*70)
39.
40.
41.print("="*30+" CRF分詞"+"="*30)
42.print("-"*70)
43.
44. print("="*30+" 極速詞典分詞"+"="*30)
45. SpeedTokenizer = JClass('com.hankcs.hanlp.tokenizer.SpeedTokenizer')
46. print(NLPTokenizer.segment('江西鄱陽湖乾枯,中國最大淡水湖變成大草原'))
47. print("-"*70)
48.
49.print("="*30+" 自定義分詞"+"="*30)
50.CustomDictionary = JClass('com.hankcs.hanlp.dictionary.CustomDictionary')
51.CustomDictionary.add('攻城獅')
52.CustomDictionary.add('單身狗')
53.HanLP = JClass('com.hankcs.hanlp.HanLP')
54.print(HanLP.segment('攻城獅逆襲單身狗,迎娶白富美,走上人生巔峰'))
55.print("-"*70)
56.
57 . print("="*20+"命名實體識別與詞性標註"+"="*30)
58.NLPTokenizer = JClass('com.hankcs.hanlp.tokenizer.NLPTokenizer')
59.print(NLPTokenizer.segment('中國科學院計算技術研究所的宗成慶教授正在教授自然語言處理課程'))
60.print("-"*70)
61.
62.
63.document = "水利部水資源司司長陳明忠9月29日在新聞辦舉行的新聞釋出會上透露," \
64. "根據剛剛完成了水資源管理制度的考核,有部分省接近了紅線的指標," \
65. "有部分省超過紅線的指標。對一些超過紅線的地方,陳明忠表示,對一些取用水專案進行區域的限批," \
66. "嚴格地進行水資源論證和取水許可的批准。"
67. print("="*30+"關鍵詞提取"+"="*30)
68. print(HanLP.extractKeyword(document, 8))
69. print("-"*70)
70.
71.
72.print("="*30+"自動摘要"+"="*30)
73.print(HanLP.extractSummary(document, 3))
74.print("-"*70)
75.
76.
77.# print("="*30+"地名識別"+"="*30)
78.# HanLP = JClass('com.hankcs.hanlp.HanLP')
79.# segment = HanLP.newSegment().enablePlaceRecognize(true)
80.# testCase=["武勝縣新學鄉政府大樓門前鑼鼓喧天",
81.# "藍翔給寧夏固原市彭陽縣紅河鎮黑牛溝村捐贈了挖掘機"]
82.# for sentence in testCase :
83.# print(HanLP.segment(sentence))
84.# print("-"*70)
85.
86. # print("="*30+"依存句法分析"+"="*30)
87. # print(HanLP.parseDependency("徐先生還具體幫助他確定了把畫雄鷹、松鼠和麻雀作為主攻目標。"))
88. # print("-"*70)
89.
90.
91.
92.
93.text =r"演算法工程師\n 演算法(Algorithm)是一系列解決問題的清晰指令,也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。演算法工程師就是利用演算法處理事物的人。\n \n 1職位簡介\n 演算法工程師是一個非常高階的職位;\n 專業要求:計算機、電子、通訊、數學等相關專業;\n 學歷要求:本科及其以上的學歷,大多數是碩士學歷及其以上;\n 語言要求:英語要求是熟練,基本上能閱讀國外專業書刊;\n 必須掌握計算機相關知識,熟練使用模擬工具MATLAB等,必須會一門程式語言。\n\n2研究方向\n 視訊演算法工程師、影像處理演算法工程師、音訊演算法工程師 通訊基帶演算法工程師\n \n 3目前國內外狀況\n 目前國內從事演算法研究的工程師不少,但是高階演算法工程師卻很少,是一個非常緊缺的專業工程師。演算法工程師根據研究領域來分主要有音訊/視訊演算法處理、影像技術方面的二維資訊演算法處理和通訊物理層、雷達訊號處理、生物醫學訊號處理等領域的一維資訊演算法處理。\n 在計算機音視訊和圖形影像技術等二維資訊演算法處理方面目前比較先進的視訊處理演算法:機器視覺成為此類演算法研究的核心;另外還有2D轉3D演算法(2D-to-3D conversion),去隔行演算法(de-interlacing),運動估計運動補償演算法(Motion estimation/Motion Compensation),去噪演算法(Noise Reduction),縮放演算法(scaling),銳化處理演算法(Sharpness),超解析度演算法(Super Resolution),手勢識別(gesture recognition),人臉識別(face recognition)。\n 在通訊物理層等一維資訊領域目前常用的演算法:無線領域的RRM、RTT,傳送領域的調製解調、通道均衡、訊號檢測、網路優化、訊號分解等。\n 另外資料探勘、網際網路搜尋演算法也成為當今的熱門方向。\n"
94.print("="*30+"短語提取"+"="*30)
95.
96. print(HanLP.extractPhrase(text, 10))
97. print("-"*70)
98.
99.shutdownJVM()
HanLP執行結果:
python呼叫HanLP的jar包
連結: https://pan.baidu.com/s/1miDrWHq 密碼: bmy6
轉載自白寧超的部落格 http://www.cnblogs.com/baiboy/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524777/viewspace-2218160/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自然語言處理工具python呼叫hanlp的方法步驟自然語言處理PythonHanLP
- 自然語言處理工具python呼叫hanlp中文實體識別自然語言處理PythonHanLP
- HanLP 自然語言處理 for nodejsHanLP自然語言處理NodeJS
- hanlp自然語言處理包的基本使用--pythonHanLP自然語言處理Python
- 配置Hanlp自然語言處理進階HanLP自然語言處理
- 自然語言處理工具包HanLP的Python介面自然語言處理HanLPPython
- Hanlp自然語言處理工具的使用演練HanLP自然語言處理
- Spring Boot中對自然語言處理工具包hanlp的呼叫詳解Spring Boot自然語言處理HanLP
- 如何編譯執行HanLP自然語言處理包編譯HanLP自然語言處理
- Python自然語言處理工具Python自然語言處理
- NLP自然語言處理中的hanlp分詞例項自然語言處理HanLP分詞
- Hanlp自然語言處理中的詞典格式說明HanLP自然語言處理
- Hanlp自然語言處理工具之詞法分析器HanLP自然語言處理詞法分析
- hanlp自然語言處理包的人名識別程式碼解析HanLP自然語言處理
- 自然語言處理工具hanlp自定義詞彙新增圖解自然語言處理HanLP圖解
- 自然語言處理工具hanlp定製使用者詞條自然語言處理HanLP
- 自然語言處理工具HanLP-N最短路徑分詞自然語言處理HanLP分詞
- 自然語言處理之:搭建基於HanLP的開發環境自然語言處理HanLP開發環境
- 精通Python自然語言處理 2 :統計語言建模Python自然語言處理
- 中文自然語言處理工具hanlp隱馬角色標註詳解自然語言處理HanLP
- 精通Python自然語言處理 1 :字串操作Python自然語言處理字串
- python自然語言處理學習筆記(八)—— 句法分析Python自然語言處理筆記
- 12 種自然語言處理的開源工具自然語言處理開源工具
- 自然語言處理工具包 HanLP在 Spring Boot中的應用自然語言處理HanLPSpring Boot
- 自然語言處理工具HanLP-基於層疊HMM地名識別自然語言處理HanLPHMM地名識別
- 自然語言處理工具hanlp 1.7.3版本更新內容一覽自然語言處理HanLP
- 自然語言處理(NLP)系列(一)——自然語言理解(NLU)自然語言處理
- 自然語言處理NLP(四)自然語言處理
- 自然語言處理(NLP)概述自然語言處理
- 自然語言處理入門基礎之hanlp詳解自然語言處理HanLP
- 精通Python自然語言處理 3 :形態學Python自然語言處理
- 《Python自然語言處理實戰》連結表Python自然語言處理
- 自然語言處理常用資源筆記分享自然語言處理筆記
- 自然語言處理工具hanlp關鍵詞提取圖解TextRank演算法自然語言處理HanLP圖解演算法
- Python自然語言處理實戰(1):NLP基礎Python自然語言處理
- 如何用Python處理自然語言?(Spacy與Word Embedding)Python
- [譯] 自然語言處理真是有趣!自然語言處理
- 自然語言處理:分詞方法自然語言處理分詞