Spring Boot中對自然語言處理工具包hanlp的呼叫詳解
概 述
HanLP 是基於 Java 開發的 NLP 工具包,由一系列模型與演算法組成,目標是普及自然語言處理在生產環境中的應用。而且 HanLP 具備功能完善、效能高效、架構清晰、語料時新、可自定義的特點,因此十分好上手,本文就結合 Spring Boot 來將 HanLP 用起來!
下載 HanLP 資料和程式
由於 HanLP 庫將資料與程式碼分離,因此我們需要分別下載所需資料和 jar 包:
( 1 ) 所需 data 資料包下載地址為 data.zip
( 2 ) 所需 jar 包下載地址為 hanlp-release.zip
工程搭建
( 1 ) 建立一個普通的 Spring Boot 工程,不贅述
( 2 ) 引入 HanLP 資料 和 配置
下載完成以後,首先解壓 hanlp-release.zip 壓縮包,然後將解壓出的 HanLP 的 jar 包引入 Spring Boot 工程,然後需要來放置 HanLP 所需配置和資料:
( 1 ) 將解壓後 hanlp-release.zip 壓縮包中的 hanlp.properties 配置檔案置於專案的 resources 資源目錄下
( 2 ) 然後解壓 data.zip 壓縮包,將解壓出的 data 目錄同樣至於 resources 目錄下( data 中的資料包很重要,是 HanLP 工作所需的詞典和模型 )
建立 IO 介面卡
HanLP 提供了 IO 介面卡,使用者可以實現其提供的 com.hankcs.hanlp.corpus.io.IIOAdapter 介面以在不同的平臺( HDFS 、 Redis 等)上執行 HanLP ,預設的 IO 介面卡 IOAdapter = com.hankcs.hanlp.corpus.io.FileIOAdapter 是基於普通檔案系統的。
接下來我們重寫一下 IOAdapter 類,使用讀寫靜態資原始檔的方法來讀取 HanLP 所需的詞典和模型資料( 即 resources 目錄下剛放置的 data 目錄 )
然後我們配置一下 HanLP的配置檔案hanlp.properties,有兩處需要改為以下配置:
root= // 我們不再需要這種指定 data 目錄的方式
IOAdapter=cn.codesheep.springbt_hanlp_userdefine.config.ResourceFileIoAdapter // 指定自定義的 IOAdapter
好,現在專案就可以工作了,我們接下來寫幾個測試用例測試體驗一把 !
實驗測試
隨便寫幾個例子來感受一番:
· 分詞功能
@Test
public void testSegment() {
System.out.println( HanLP.segment("www.codesheep.cn 是一個技術部落格! ") );
}
分詞結果如下:
[www/nx, ./w, codesheep/nx, ./w, cn/nx, 是 /vshi, 一個 /mq, 技術 /n, 部落格 /n, ! /w]
每個詞段後的 /nx , /w 之類的是 HanLP 定義的詞性,可以去看 HanLP 的介面來獲取詳情
· 文字推薦
三個關鍵字的語句推薦結果為:
機器學習 → [ 人工智慧如今是非常火熱的一門技術 ”]
危機公共 → [ 威廉王子發表演說 呼籲保護野生動物 ]mayun → [ 《時代》年度人物最終入圍名單出爐 普京馬雲入選 ]
· 關鍵字提取
@Test
public void testKeyExtract() {
String content = "蘋果公司(Apple Inc. )是美國一家高科技公司。由史蒂夫·賈伯斯、斯蒂夫·沃茲尼亞克和羅·韋恩(Ron Wayne)等人於1976年4月1日創立," + "並命名為美國蘋果電腦公司(Apple Computer Inc. ),2007年1月9日更名為蘋果公司,總部位於加利福尼亞州的庫比蒂諾。"; List<String> keywordList = HanLP.extractKeyword(content, 5); System.out.println(keywordList);
}
提取結果為:
[ 公司 , 蘋果 , 美國 , Inc, Apple]
體驗一番我們發現其自帶的模型、字典等資料給出的實驗效果已經是非常不錯了,而且使用者還可以自定義或修改
data
目錄下的模型、字典等資料來滿足特定需求,因此還是十分強大的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524777/viewspace-2220909/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自然語言處理工具包 HanLP在 Spring Boot中的應用自然語言處理HanLPSpring Boot
- HanLP 自然語言處理 for nodejsHanLP自然語言處理NodeJS
- 自然語言處理工具包HanLP的Python介面自然語言處理HanLPPython
- 開源自然語言處理工具包hanlp中CRF分詞實現詳解自然語言處理HanLPCRF分詞
- 配置Hanlp自然語言處理進階HanLP自然語言處理
- NLP自然語言處理中的hanlp分詞例項自然語言處理HanLP分詞
- Hanlp自然語言處理中的詞典格式說明HanLP自然語言處理
- 自然語言處理入門基礎之hanlp詳解自然語言處理HanLP
- python呼叫自然語言處理工具hanlp記錄Python自然語言處理HanLP
- hanlp自然語言處理包的基本使用--pythonHanLP自然語言處理Python
- 自然語言處理工具python呼叫hanlp的方法步驟自然語言處理PythonHanLP
- 如何編譯執行HanLP自然語言處理包編譯HanLP自然語言處理
- 中文自然語言處理工具hanlp隱馬角色標註詳解自然語言處理HanLP
- 自然語言處理工具python呼叫hanlp中文實體識別自然語言處理PythonHanLP
- 自然語言處理之:搭建基於HanLP的開發環境自然語言處理HanLP開發環境
- hanlp自然語言處理包的人名識別程式碼解析HanLP自然語言處理
- Hanlp自然語言處理工具的使用演練HanLP自然語言處理
- 自然語言處理工具hanlp自定義詞彙新增圖解自然語言處理HanLP圖解
- 自然語言處理中的語言模型預訓練方法自然語言處理模型
- 自然語言處理技術詳細概覽自然語言處理
- 中國語文(自然語言處理)作業自然語言處理
- 自然語言處理(NLP)系列(一)——自然語言理解(NLU)自然語言處理
- 自然語言處理NLP(四)自然語言處理
- 自然語言處理(NLP)概述自然語言處理
- 自然語言處理中的遷移學習(下)自然語言處理遷移學習
- 自然語言處理中的遷移學習(上)自然語言處理遷移學習
- Pyhanlp自然語言處理中的新詞識別HanLP自然語言處理
- 自然語言處理的最佳實踐自然語言處理
- Hanlp自然語言處理工具之詞法分析器HanLP自然語言處理詞法分析
- [譯] 自然語言處理真是有趣!自然語言處理
- 自然語言處理:分詞方法自然語言處理分詞
- 【自然語言處理篇】--以NLTK為基礎講解自然語⾔處理的原理和基礎知識自然語言處理
- 自然語言處理工具hanlp關鍵詞提取圖解TextRank演算法自然語言處理HanLP圖解演算法
- 自然語言處理中的分詞問題總結自然語言處理分詞
- 入門自然語言處理必看:圖解詞向量自然語言處理圖解
- 史丹佛自然語言處理習題課2---softmax函式詳解自然語言處理函式
- 自然語言處理工具hanlp定製使用者詞條自然語言處理HanLP
- 自然語言處理工具HanLP-N最短路徑分詞自然語言處理HanLP分詞