HanLP-分類模塊的分詞器介紹

 

最近發現一個很勤快的大神在分享他的一些實操經驗,看了一些他本身關於hanlp方面的文章,寫的挺好的!轉載過來分享給你們!如下爲分享原文(無心義的內容已經作了刪除)spa

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

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

BlankTokenizer這是一個空白符分詞器,以文本中的空白符做爲詞語間隔token

HanLPTokenizer這是一個實詞分詞器,也就是隻保留實詞,它是分類模塊的默認分詞器接口

 

若是須要修改分類模塊的分詞器,須要在加載文本數據以前,設置分詞器,示例代碼以下:內存

 

IDataSet trainingCorpus = new FileDataSet().                          // FileDataSet省內存,可加載大規模數據集文檔

            setTokenizer(new HanLPTokenizer()).                               // 支持不一樣的ITokenizer,詳見源碼中的文檔源碼

            load(CORPUS_FOLDER, "UTF-8", 0.9);               // 前90%做爲訓練集class

        IClassifier classifier = new NaiveBayesClassifier();方法

        classifier.train(trainingCorpus);

 

還須要注意的是,這三種分詞器其實都不太適合作情感分類的分詞器,若是想用標準分詞器做爲情感分類的分詞器,則用戶須要自定義一個分詞器類,該類須要實現ITokenizer接口並封裝標準分詞器。(若是直接調用setTokenizer方法傳遞下圖HanLP分詞器包中的分詞器實例,則會報錯)

相關文章
相關標籤/搜索