HanLP分類模組的分詞器介紹

adnb34g發表於2019-06-14


最近發現一個很勤快的大神在分享他的一些實操經驗,看了一些他自己關於 hanlp方面的文章,寫的挺好的!轉載過來分享給大家!以下為分享原文(無意義的內容已經做了刪除)

如下圖所示, HanLP的分類模組中單獨封裝了適用分類的分詞器,當然這些分詞器都是對HanLP提供的分詞器的封裝。分類模組中提供的分詞器都在tokenizer包中。包括:

BigramTokenizer這是一個2gram分詞器,也就是把連續的2字認為是一個詞

BlankTokenizer這是一個空白符分詞器,以文字中的空白符作為詞語間隔

HanLPTokenizer這是一個實詞分詞器,也就是隻保留實詞,它是分類模組的預設分詞器

 

 

如果需要修改.分類模組的分詞器,需要在載入文字資料之前,設定分詞器,示例程式碼如下:

 

IDataSet trainingCorpus = new FileDataSet().                           // FileDataSet省記憶體,可載入大規模資料集

            setTokenizer(new HanLPTokenizer()).                                // 支援不同的ITokenizer,詳見原始碼中的文件

            load(CORPUS_FOLDER, "UTF-8", 0.9);                // 前90%作為訓練集

        IClassifier classifier = new NaiveBayesClassifier();

        classifier.train(trainingCorpus);

 

還需要注意的是,這三種分詞器其實都不太適合做情感分類的分詞器,如果想用標準分詞器作為情感分類的分詞器,則使用者需要自定義一個分詞器類,該類需要實現 ITokenizer介面並封裝標準分詞器。(如果直接呼叫setTokenizer方法傳遞下圖HanLP分詞器包中的分詞器例項,則會報錯)

 

 

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524777/viewspace-2647617/,如需轉載,請註明出處,否則將追究法律責任。

相關文章