1. 程式人生 > >IK分片語件大小寫的問題

IK分片語件大小寫的問題

IK分詞器在載入詞典時, 詞典中的大小寫字元載入到記憶體時一律變為小寫, 但是在分詞時大小寫是不會轉換的, 所以就有以下情況發生:

當詞典中有"HL定理", 對"HL定理的應用"分詞時是不能分出"HL定理"的,

處理辦法:在講要分詞的句子輸入分詞器前, 先將所有的大些字母轉化為小寫, 這樣分詞出來的就是 "hl定理"

工作中利用ik對 文章裡的字元做分詞 然後返回分詞後的字元 進行關鍵字替換 
最後處理後的字元 發下文章裡的全形都被ik改成了半形,英文字母如果是大寫的也被ik改成了小寫 ,這是ik分詞內部類規則的一個特性一般用來做搜尋的時候用的,這個沒錯,但是在我的需求裡用不到這個特性所以我必須把它去掉 



開啟ik的原始碼包org.wltea.analyzer.core.CharacterUtil類裡 
有個方法 叫regularize 該方法的作用是進行字元規格化(全形轉半形,大寫轉小寫處理) 
顯然把這個方法註釋就好了 ,並且去掉相關引用地方的該方法呼叫 
這樣ik分詞出來的字元就保留原先的完整性了