基於HanLP分詞菜鳥使用教程

基於HanLP分詞菜鳥使用教程

官網

http://www.hanlp.com/

依賴

   <dependency>
            <groupId>com.hankcs</groupId>
            <artifactId>hanlp</artifactId>
            <version>portable-1.7.7</version>
        </dependency>

分詞包下載

https://github.com/hankcs/HanLP/tree/1.x

在這裏插入圖片描述

下載後整合項目 代碼可以自動識別到文件

在這裏插入圖片描述

省市縣 地理位置分詞拆解 提取 地名ns

package ustils;

import com.hankcs.hanlp.HanLP;
import com.hankcs.hanlp.corpus.tag.Nature;
import com.hankcs.hanlp.model.perceptron.PerceptronLexicalAnalyzer;
import com.hankcs.hanlp.seg.Segment;
import com.hankcs.hanlp.seg.common.Term;

import java.io.IOException;
import java.util.List;

public class HanLpUtils {
    public static void main(String[] args) throws IOException {

//        System.out.println(HanLP.segment("你好,歡迎使用HanLP漢語處理包!"));
        String word = "2020年廣州市天河區天河南二路2號輸電二所無人機巡視作業招標公告";
        //[2020/m, 年/q, 廣州市/ns, 天河區/ns, 天/q, 河南/ns, 二/m, 路/n, 2/m, 號/q, 輸電/vn, 二/m, 所/u, 無人機/n, 巡視/v, 作業/vn, 招標/v, 公告/n]
        List<Term> termList=  HanLP.segment( word);
        for (Term term : termList) {
            final Nature nature = term.nature;
            System.out.println("nature=====>"+nature);
            final boolean ns = term.nature.startsWith("ns");
            if(ns){
                System.out.println("找到你想要的詞------> "+term.word);
            }else {
                System.out.println("現在不需要以後有需要------> "+term.word);
            }
        }

        System.out.println(termList.get(0));

        System.out.println(termList.toString());

//        PerceptronLexicalAnalyzer analyzer = new PerceptronLexicalAnalyzer("data/model/perceptron/pku199801/cws.bin",
//                HanLP.Config.PerceptronPOSModelPath,
//                HanLP.Config.PerceptronNERModelPath);
//        System.out.println(analyzer.analyze("上海華安工業(集團)公司董事長譚旭光和祕書胡花蕊來到美國紐約現代藝術博物館參觀"));



//        String[] testCase = new String[]{
//                "武勝縣新學鄉政府大樓門前鑼鼓喧天",
//                "藍翔給寧夏固原市彭陽縣紅河鎮黑牛溝村捐贈了挖掘機",
//        };
//        Segment segment = HanLP.newSegment().enablePlaceRecognize(true);
//        for (String sentence : testCase)
//        {
//            List<Term> termList = segment.seg(sentence);
//            System.out.println(termList);
//        }


    }
}

運行結果

nature=====>m
現在不需要以後有需要------> 2020
nature=====>q
現在不需要以後有需要------> 年
nature=====>ns
找到你想要的詞------> 廣州市
nature=====>ns
找到你想要的詞------> 天河區
nature=====>q
現在不需要以後有需要------> 天
nature=====>ns
找到你想要的詞------> 河南
nature=====>m
現在不需要以後有需要------> 二
nature=====>n
現在不需要以後有需要------> 路
nature=====>m
現在不需要以後有需要------> 2
nature=====>q
現在不需要以後有需要------> 號
nature=====>vn
現在不需要以後有需要------> 輸電
nature=====>m
現在不需要以後有需要------> 二
nature=====>u
現在不需要以後有需要------> 所
nature=====>n
現在不需要以後有需要------> 無人機
nature=====>v
現在不需要以後有需要------> 巡視
nature=====>vn
現在不需要以後有需要------> 作業
nature=====>v
現在不需要以後有需要------> 招標
nature=====>n
現在不需要以後有需要------> 公告
2020/m
[2020/m,/q, 廣州市/ns, 天河區/ns,/q, 河南/ns,/m,/n, 2/m,/q, 輸電/vn,/m,/u, 無人機/n, 巡視/v, 作業/vn, 招標/v, 公告/n]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章