日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

springboot中aop的应用场景_自然语言处理工具包 HanLP在 Spring Boot中的应用

發布時間:2025/4/5 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot中aop的应用场景_自然语言处理工具包 HanLP在 Spring Boot中的应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概 述

HanLP 是基于 Java開發的 NLP工具包,由一系列模型與算法組成,目標是普及自然語言處理在生產環境中的應用。而且 HanLP具備功能完善、性能高效、架構清晰、語料時新、可自定義的特點,因此十分好上手,本文就結合 Spring Boot來將 HanLP用起來!

下載 HanLP數據和程序

由于 HanLP庫將數據與代碼分離,因此我們需要分別下載所需數據和 jar包:

  • 所需 data數據包下載地址為 data.zip
  • 所需 jar包下載地址為 hanlp-release.zip

工程搭建

  • 創建一個普通的 Spring Boot工程,不贅述
  • 引入 HanLP數據 和 配置

下載完成以后,首先解壓 hanlp-release.zip壓縮包,然后將解壓出的 HanLP的 jar包引入 Spring Boot工程,然后需要來放置 HanLP所需配置和數據:

  • 將解壓后 hanlp-release.zip壓縮包中的 hanlp.properties配置文件置于項目的 resources資源目錄下
  • 然后解壓 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目錄 )

    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

    好,現在項目就可以工作了,我們接下來寫幾個測試用例測試體驗一把 !

    實驗測試

    隨便寫幾個例子來感受一番:

    • 分詞功能
    @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的接口來獲取詳情

    • 文本推薦
    @Test public void testSuggest() {Suggester suggester = new Suggester();String[] titleArray =("威廉王子發表演說 呼吁保護野生動物n" +"《時代》年度人物最終入圍名單出爐 普京馬云入選n" +"“黑格比”橫掃菲:菲吸取“海燕”經驗及早疏散n" +"日本保密法將正式生效 日媒指其損害國民知情權n" +"人工智能如今是非?;馃岬囊婚T技術”").split("n");for (String title : titleArray){suggester.addSentence(title);}System.out.println(suggester.suggest("機器學習", 1)); // 語義System.out.println(suggester.suggest("危機公共", 1)); // 字符System.out.println(suggester.suggest("mayun", 1)); // 拼音 }

    三個關鍵字的語句推薦結果為:

    機器學習 → [人工智能如今是非?;馃岬囊婚T技術”] 危機公共 → [威廉王子發表演說 呼吁保護野生動物] 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目錄下的模型、字典等數據來滿足特定需求,因此還是十分強大的。

    后 記

    由于能力有限,若有錯誤或者不當之處,還請大家批評指正,一起學習交流!

    作者:CodeSheep程序羊

    鏈接:https://www.imooc.com/article/258296

    來源:慕課網

    本文原創發布于慕課網 ,轉載請注明出處,謝謝合作

    總結

    以上是生活随笔為你收集整理的springboot中aop的应用场景_自然语言处理工具包 HanLP在 Spring Boot中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。