javascript
springboot中aop的应用场景_自然语言处理工具包 HanLP在 Spring Boot中的应用
概 述
HanLP 是基于 Java開發(fā)的 NLP工具包,由一系列模型與算法組成,目標(biāo)是普及自然語言處理在生產(chǎn)環(huán)境中的應(yīng)用。而且 HanLP具備功能完善、性能高效、架構(gòu)清晰、語料時(shí)新、可自定義的特點(diǎn),因此十分好上手,本文就結(jié)合 Spring Boot來將 HanLP用起來!
下載 HanLP數(shù)據(jù)和程序
由于 HanLP庫(kù)將數(shù)據(jù)與代碼分離,因此我們需要分別下載所需數(shù)據(jù)和 jar包:
- 所需 data數(shù)據(jù)包下載地址為 data.zip
- 所需 jar包下載地址為 hanlp-release.zip
工程搭建
- 創(chuàng)建一個(gè)普通的 Spring Boot工程,不贅述
- 引入 HanLP數(shù)據(jù) 和 配置
下載完成以后,首先解壓 hanlp-release.zip壓縮包,然后將解壓出的 HanLP的 jar包引入 Spring Boot工程,然后需要來放置 HanLP所需配置和數(shù)據(jù):
創(chuàng)建 IO適配器
HanLP 提供了 IO適配器,用戶可以實(shí)現(xiàn)其提供的 com.hankcs.hanlp.corpus.io.IIOAdapter 接口以在不同的平臺(tái)(HDFS、Redis等)上運(yùn)行HanLP,默認(rèn)的 IO適配器 IOAdapter = com.hankcs.hanlp.corpus.io.FileIOAdapter 是基于普通文件系統(tǒng)的。
接下來我們重寫一下 IOAdapter類,使用讀寫靜態(tài)資源文件的方法來讀取HanLP所需的詞典和模型數(shù)據(jù)( 即resources目錄下剛放置的 data目錄 )
public class ResourceFileIoAdapter implements IIOAdapter {@Overridepublic InputStream open(String path) throws IOException {ClassPathResource resource = new ClassPathResource( path );InputStream is = new FileInputStream( resource.getFile() );return is;}@Overridepublic OutputStream create(String path) throws IOException {ClassPathResource resource = new ClassPathResource( path );OutputStream os = new FileOutputStream( resource.getFile() );return os;} }然后我們配置一下 HanLP的配置文件hanlp.properties,有兩處需要改為以下配置:
root= // 我們不再需要這種指定data目錄的方式 IOAdapter=cn.codesheep.springbt_hanlp_userdefine.config.ResourceFileIoAdapter // 指定自定義的IOAdapter好,現(xiàn)在項(xiàng)目就可以工作了,我們接下來寫幾個(gè)測(cè)試用例測(cè)試體驗(yàn)一把 !
實(shí)驗(yàn)測(cè)試
隨便寫幾個(gè)例子來感受一番:
- 分詞功能
分詞結(jié)果如下:
[www/nx, ./w, codesheep/nx, ./w, cn/nx, 是/vshi, 一個(gè)/mq, 技術(shù)/n, 博客/n, !/w]每個(gè)詞段后的 /nx,/w之類的是 HanLP定義的詞性,可以去看 HanLP的接口來獲取詳情
- 文本推薦
三個(gè)關(guān)鍵字的語句推薦結(jié)果為:
機(jī)器學(xué)習(xí) → [人工智能如今是非?;馃岬囊婚T技術(shù)”] 危機(jī)公共 → [威廉王子發(fā)表演說 呼吁保護(hù)野生動(dòng)物] mayun → [《時(shí)代》年度人物最終入圍名單出爐 普京馬云入選]關(guān)鍵字提取
@Test public void testKeyExtract() {String content = "蘋果公司(Apple Inc. )是美國(guó)一家高科技公司。由史蒂夫·喬布斯、斯蒂夫·沃茲尼亞克和羅·韋恩(Ron Wayne)等人于1976年4月1日創(chuàng)立," +"并命名為美國(guó)蘋果電腦公司(Apple Computer Inc. ),2007年1月9日更名為蘋果公司,總部位于加利福尼亞州的庫(kù)比蒂諾。";List<String> keywordList = HanLP.extractKeyword(content, 5);System.out.println(keywordList); }提取結(jié)果為:
[公司, 蘋果, 美國(guó), Inc, Apple]體驗(yàn)一番我們發(fā)現(xiàn)其自帶的模型、字典等數(shù)據(jù)給出的實(shí)驗(yàn)效果已經(jīng)是非常不錯(cuò)了,而且用戶還可以自定義或修改 data目錄下的模型、字典等數(shù)據(jù)來滿足特定需求,因此還是十分強(qiáng)大的。
后 記
由于能力有限,若有錯(cuò)誤或者不當(dāng)之處,還請(qǐng)大家批評(píng)指正,一起學(xué)習(xí)交流!
作者:CodeSheep程序羊
鏈接:https://www.imooc.com/article/258296
來源:慕課網(wǎng)
本文原創(chuàng)發(fā)布于慕課網(wǎng) ,轉(zhuǎn)載請(qǐng)注明出處,謝謝合作
總結(jié)
以上是生活随笔為你收集整理的springboot中aop的应用场景_自然语言处理工具包 HanLP在 Spring Boot中的应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卡宴911更换空调模块工时费多少钱?
- 下一篇: 目前,请问咋选合适的机油?