久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Java中如何使用hanlp中文分詞

150次閱讀
沒有評論

共計 3689 個字符,預(yù)計需要花費 10 分鐘才能閱讀完成。

這篇文章給大家介紹 Java 中如何使用 hanlp 中文分詞,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

項目結(jié)構(gòu)

 

該項目中,.jar 和 data 文件夾和.properties 需要從官網(wǎng) /github 下載,data 文件夾下載

項目配置

修改 hanlp.properties:

#/Test/src/hanlp.properties:

# 本配置文件中的路徑的根目錄

#root=E:/SourceCode/eclipsePlace/Test

root=./

……

配置文件的作用是告訴 HanLP 數(shù)據(jù)包即 data 文件夾的位置,root 的值為 data 文件夾的父目錄,可以使用絕對路徑或相對路徑。

測試代碼

package com.test;

import java.util.List;

import com.hankcs.hanlp.HanLP;

import com.hankcs.hanlp.seg.common.Term;

import com.hankcs.hanlp.suggest.Suggester;

import com.hankcs.hanlp.tokenizer.NLPTokenizer;

public class MainTest {

    public static void main(String[] args) {

        System.out.println(首次編譯運行時,HanLP 會自動構(gòu)建詞典緩存,請稍候……\n

        // 第一次運行會有文件找不到的錯誤但不影響運行,緩存完成后就不會再有了

        System.out.println(標(biāo)準(zhǔn)分詞:

        System.out.println(HanLP.segment( 你好,歡迎使用 HanLP!));

        System.out.println(\n

        List Term termList = NLPTokenizer.segment(中國科學(xué)院計算技術(shù)研究所的宗成慶教授正在教授自然語言處理課程

        System.out.println(NLP 分詞:

        System.out.println(termList);

        System.out.println(\n

        System.out.println(智能推薦:

        getSegement();

        System.out.println(\n

        System.out.println(關(guān)鍵字提取:

        getMainIdea();

        System.out.println(\n

        System.out.println(自動摘要:

        getZhaiYao();

        System.out.println(\n

        System.out.println(短語提取:

        getDuanYu();

        System.out.println(\n

    }

    /**

     * 智能推薦部分

     */

    public static void getSegement() {

        Suggester suggester = new Suggester();

        String[] titleArray = ( 威廉王子發(fā)表演說 呼吁保護野生動物 \n +《時代》年度人物最終入圍名單出爐 普京馬云入選 \n +“黑格比”橫掃菲:菲吸取“海燕”經(jīng)驗及早疏散 \n

                + 日本保密法將正式生效 日媒指其損害國民知情權(quán) \n + 英報告說空氣污染帶來“公共健康危機”).split(\\n

        for (String title : titleArray) {

            suggester.addSentence(title);

        }

        System.out.println(suggester.suggest( 發(fā)言 , 1)); // 語義

        System.out.println(suggester.suggest( 危機公共 , 1)); // 字符

        System.out.println(suggester.suggest( mayun , 1)); // 拼音

    }

    /**

     * 關(guān)鍵字提取

     */

    public static void getMainIdea() {

        String content = 程序員 (英文 Programmer) 是從事程序開發(fā)、維護的專業(yè)人員。一般將程序員分為程序設(shè)計人員和程序編碼人員,但兩者的界限并不非常清楚,特別是在中國。軟件從業(yè)人員分為初級程序員、高級程序員、系統(tǒng)分析員和項目經(jīng)理四大類。

        List String keywordList = HanLP.extractKeyword(content, 5);

        System.out.println(keywordList);

    }

    /**

     * 自動摘要

     */

    public static void getZhaiYao() {

        String document = 算法可大致分為基本算法、數(shù)據(jù)結(jié)構(gòu)的算法、數(shù)論算法、計算幾何的算法、圖的算法、動態(tài)規(guī)劃以及數(shù)值分析、加密算法、排序算法、檢索算法、隨機化算法、并行算法、厄米變形模型、隨機森林算法。\n

                + 算法可以寬泛的分為三類,\n + 一,有限的確定性算法,這類算法在有限的一段時間內(nèi)終止。他們可能要花很長時間來執(zhí)行指定的任務(wù),但仍將在一定的時間內(nèi)終止。這類算法得出的結(jié)果常取決于輸入值。\n

                + 二,有限的非確定算法,這類算法在有限的時間內(nèi)終止。然而,對于一個(或一些)給定的數(shù)值,算法的結(jié)果并不是唯一的或確定的。\n

                + 三,無限的算法,是那些由于沒有定義終止定義條件,或定義的條件無法由輸入的數(shù)據(jù)滿足而不終止運行的算法。通常,無限算法的產(chǎn)生是由于未能確定的定義終止條件。

        List String sentenceList = HanLP.extractSummary(document, 3);

        System.out.println(sentenceList);

    }

    /**

     * 短語提取

     */

    public static void getDuanYu() {

        String text = 算法工程師 \n

                + 算法(Algorithm)是一系列解決問題的清晰指令,也就是說,能夠?qū)σ欢ㄒ?guī)范的輸入,在有限時間內(nèi)獲得所要求的輸出。如果一個算法有缺陷,或不適合于某個問題,執(zhí)行這個算法將不會解決這個問題。不同的算法可能用不同的時間、空間或效率來完成同樣的任務(wù)。一個算法的優(yōu)劣可以用空間復(fù)雜度與時間復(fù)雜度來衡量。算法工程師就是利用算法處理事物的人。\n

                + \n + 1 職位簡介 \n + 算法工程師是一個非常高端的職位;\n + 專業(yè)要求:計算機、電子、通信、數(shù)學(xué)等相關(guān)專業(yè);\n

                + 學(xué)歷要求:本科及其以上的學(xué)歷,大多數(shù)是碩士學(xué)歷及其以上;\n + 語言要求:英語要求是熟練,基本上能閱讀國外專業(yè)書刊;\n

                + 必須掌握計算機相關(guān)知識,熟練使用仿真工具 MATLAB 等,必須會一門編程語言。\n + \n + 2 研究方向 \n

                + 視頻算法工程師、圖像處理算法工程師、音頻算法工程師 通信基帶算法工程師 \n + \n + 3 目前國內(nèi)外狀況 \n

                + 目前國內(nèi)從事算法研究的工程師不少,但是高級算法工程師卻很少,是一個非常緊缺的專業(yè)工程師。算法工程師根據(jù)研究領(lǐng)域來分主要有音頻 / 視頻算法處理、圖像技術(shù)方面的二維信息算法處理和通信物理層、雷達(dá)信號處理、生物醫(yī)學(xué)信號處理等領(lǐng)域的一維信息算法處理。\n

                + 在計算機音視頻和圖形圖像技術(shù)等二維信息算法處理方面目前比較先進的視頻處理算法:機器視覺成為此類算法研究的核心;另外還有 2D 轉(zhuǎn) 3D 算法(2D-to-3D conversion),去隔行算法(de-interlacing),運動估計運動補償算法(Motion estimation/Motion Compensation),去噪算法(Noise Reduction),縮放算法(scaling),銳化處理算法(Sharpness),超分辨率算法(Super Resolution), 手勢識別(gesture recognition), 人臉識別(face recognition)。\n

                + 在通信物理層等一維信息領(lǐng)域目前常用的算法:無線領(lǐng)域的 RRM、RTT,傳送領(lǐng)域的調(diào)制解調(diào)、信道均衡、信號檢測、網(wǎng)絡(luò)優(yōu)化、信號分解等。\n + 另外數(shù)據(jù)挖掘、互聯(lián)網(wǎng)搜索算法也成為當(dāng)今的熱門方向。\n

                + 算法工程師逐漸往人工智能方向發(fā)展。

        List String phraseList = HanLP.extractPhrase(text, 10);

        System.out.println(phraseList);

    }

}

運行結(jié)果

關(guān)于 Java 中如何使用 hanlp 中文分詞就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-03發(fā)表,共計3689字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 汉阴县| 曲靖市| 林周县| 壤塘县| 广灵县| 夏津县| 望谟县| 洞头县| 金华市| 特克斯县| 饶阳县| 三都| 拉孜县| 铜陵市| 宜川县| 砚山县| 永定县| 台东县| 崇仁县| 盐池县| 泰来县| 眉山市| 甘谷县| 怀远县| 城口县| 车险| 南京市| 灵宝市| 怀柔区| 柳林县| 泗阳县| 疏勒县| 邵阳市| 凭祥市| 淮阳县| 安西县| 永吉县| 灵石县| 华池县| 东丰县| 岳阳市|