需求是統計一篇文章、一段話中各種詞彙出現的次數,比如有一篇文章如下:爲維護人民健康提供有力保障,希望統計文章中的高頻詞,如下結果
難點在於分詞,例如這段換:工信處女幹事每月經過下屬科室都要親口交代24口交換機等技術性器件的安裝工作
,如果分的不好,那會十分的尷尬!!!
找了很多工具,在網上發現一個比較合適的分詞算法,且是用java實現的,經過簡單改動,實現了功能,代碼放在gitee上,地址:https://gitee.com/langhu/jieba-analysis-mend
導下項目後長這個樣子:
直接運行com.qianxinyao.analysis.jieba.keyword
包下的main
方法即可
問題:在這個工具中,通過訓練過的算法,給出了很多詞彙切割的標準,但發現有些新詞彙,特別是專有詞彙它並不能很好的識別,比如文中的新冠肺炎,它就拆成了新冠和肺炎,這個怎麼處理呢?
1、要麼你去訓練算法,如果你牛。
2 直接改分詞規則(可能會破壞算法的合理性),我不牛,所以我改
怎麼改,肯定不能瞎改,找到dict.txt,找一個和你要統計的詞彙,在拼音順序上差不多的詞,直接按照它的格式來,如下:我想加一個新冠肺炎
,於是找到了它的鄰居新官
,沒的說,複製新官
改成新冠肺炎
,再試一下截圖如下: