溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

hanlp如何安裝和使用

發(fā)布時(shí)間:2021-12-20 11:28:48 來(lái)源:億速云 閱讀:149 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹hanlp如何安裝和使用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

下載HanLP-1.3.4.zip 

下載hanlp-1.3.4-release 

下載hanlp.properties 

在https://github.com/hankcs/HanLP/releases中下載data然后覆蓋HanLP-1.3.4.zip解壓后的data

#本配置文件中的路徑的根目錄,根目錄+其他路徑=絕對(duì)路徑

#Windows用戶請(qǐng)注意,路徑分隔符統(tǒng)一使用/

root=E:/hannlp/HanLP-1.3.4/HanLP-1.3.4/

#核心詞典路徑

CoreDictionaryPath=data/dictionary/CoreNatureDictionary.txt

#2元語(yǔ)法詞典路徑

BiGramDictionaryPath=data/dictionary/CoreNatureDictionary.ngram.txt

#停用詞詞典路徑

CoreStopWordDictionaryPath=data/dictionary/stopwords.txt

#同義詞詞典路徑

CoreSynonymDictionaryDictionaryPath=data/dictionary/synonym/CoreSynonym.txt

#人名詞典路徑

PersonDictionaryPath=data/dictionary/person/nr.txt

#人名詞典轉(zhuǎn)移矩陣路徑

PersonDictionaryTrPath=data/dictionary/person/nr.tr.txt

#繁簡(jiǎn)詞典路徑

TraditionalChineseDictionaryPath=data/dictionary/tc/TraditionalChinese.txt

#自定義詞典路徑,用;隔開多個(gè)自定義詞典,空格開頭表示在同一個(gè)目錄,使用“文件名 詞性”形式則表示這個(gè)詞典的詞性默認(rèn)是該詞性。優(yōu)先級(jí)遞減。

#另外data/dictionary/custom/CustomDictionary.txt是個(gè)高質(zhì)量的詞庫(kù),請(qǐng)不要?jiǎng)h除

CustomDictionaryPath=data/dictionary/custom/CustomDictionary.txt; 現(xiàn)代漢語(yǔ)補(bǔ)充詞庫(kù).txt; 全國(guó)地名大全.txt ns; 人名詞典.txt; 機(jī)構(gòu)名詞典.txt; 上海地名.txt ns;data/dictionary/person/nrf.txt nrf

#CRF分詞模型路徑

CRFSegmentModelPath=data/model/segment/CRFSegmentModel.txt

#HMM分詞模型

HMMSegmentModelPath=data/model/segment/HMMSegmentModel.bin

#分詞結(jié)果是否展示詞性

ShowTermNature=true

項(xiàng)目目錄 

 hanlp如何安裝和使用

測(cè)試代碼:

package hanlp;

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 Test {

    public static void main(String[] args) {

        System.out.println("首次編譯運(yùn)行時(shí),HanLP會(huì)自動(dòng)構(gòu)建詞典緩存,請(qǐng)稍候……\n");

        // 第一次運(yùn)行會(huì)有文件找不到的錯(cuò)誤但不影響運(yùn)行,緩存完成后就不會(huì)再有了

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

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

        System.out.println("\n");

        List<Term> termList = NLPTokenizer.segment("患者于1月前無(wú)明顯誘因偶然發(fā)現(xiàn)右側(cè)腘窩囊腫,囊腫質(zhì)韌,無(wú)明顯活動(dòng)度,壓痛,無(wú)紅腫,無(wú)異常分泌物");

        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)鍵字提?。?quot;);

        getMainIdea();

        System.out.println("\n");

        System.out.println("自動(dòng)摘要:");

        getZhaiYao();

        System.out.println("\n");

        System.out.println("短語(yǔ)提取:");

        getDuanYu();

        System.out.println("\n");

    }

    /**

     * 智能推薦部分

     */

    public static void getSegement() {

        Suggester suggester = new Suggester();

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

                + "日本保密法將正式生效 日媒指其損害國(guó)民知情權(quán)\n" + "英報(bào)告說(shuō)空氣污染帶來(lái)“公共健康危機(jī)”").split("\\n");

        for (String title : titleArray) {

            suggester.addSentence(title);

        }

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

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

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

    }

    /**

     * 關(guān)鍵字提取

     */

    public static void getMainIdea() {

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

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

        System.out.println(keywordList);

    }

    /**

     * 自動(dòng)摘要

     */

    public static void getZhaiYao() {

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

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

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

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

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

        System.out.println(sentenceList);

    }

    /**

     * 短語(yǔ)提取

     */

    public static void getDuanYu() {

        String text = "算法工程師\n"

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

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

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

                + "必須掌握計(jì)算機(jī)相關(guān)知識(shí),熟練使用仿真工具M(jìn)ATLAB等,必須會(huì)一門編程語(yǔ)言。\n" + "\n" + "2研究方向\n"

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

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

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

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

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

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

        System.out.println(phraseList);

    }

}

包括中文分詞,句法分析和命名實(shí)體識(shí)別。

以上是“hanlp如何安裝和使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI