hadoop小學生
圣騎士
圣騎士
  • 注冊日期2018-09-13
  • 發帖數146
  • QQ3234520070
  • 火幣332枚
  • 粉絲0
  • 關注0
閱讀:699回復:0

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

樓主#
更多 發布于:2019-06-14 11:02
最近發現一個很勤快的大神在分享他的一些實操經驗,看了一些他自己關于hanlp方面的文章,寫的挺好的!轉載過來分享給大家!以下為分享原文(無意義的內容已經做了刪除)

如下圖所示,HanLP的分類模塊中單獨封裝了適用分類的分詞器,當然這些分詞器都是對HanLP提供的分詞器的封裝。分類模塊中提供的分詞器都在tokenizer包中。包括:
BigramTokenizer這是一個2gram分詞器,也就是把連續的2字認為是一個詞
BlankTokenizer這是一個空白符分詞器,以文本中的空白符作為詞語間隔
HanLPTokenizer這是一個實詞分詞器,也就是只保留實詞,它是分類模塊的默認分詞器

圖片:圖1.jpg


如果需要修改分類模塊的分詞器,需要在加載文本數據之前,設置分詞器,示例代碼如下:

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分詞器包中的分詞器實例,則會報錯)

圖片:圖2.jpg




喜歡0 評分0
DKHadoop用著還不錯!
游客

返回頂部
广东体彩26选5