- 當處理人類自然語言時,有些情況,儘管搜尋和原文不完全匹配,但是希望搜到一些內容
- Quick brown fox 和 fast brown fox / Jumping fox 和 Jumped foxes
- 一些可採取的優化
- 歸一化詞元:清除變音符號,如 role 的的時候 也會匹配role
- 抽取詞根:清除單複數和時態的差異
- 包含同義詞
- 拼寫錯誤:拼寫錯誤,或者同音異形詞
- 一些具體的多語言場景
- 不同的索引使用不同的語言 / 同一索引中,不同的欄位使用不同的語言 / 一個文件的一個欄位內混合不同的語言
- 混合語言存在的一些挑戰
- 次幹提取:以色列文件,包含了希伯來語,阿拉伯語,俄語和英文
- 不爭取的文件頻率 - 英文為主的文章中,德文算分高(稀有)
- 需要判斷使用者搜尋時使用的語言,語言識別(Compact Language Detecor)
- 例如,根據語言查詢不同的索引
- 英文分詞:You're 分成一個還是多個?Half -baked
- 中文分詞
- 分詞的標椎:哈工大標椎中,姓和名分開。HanLP是在一起的。具體情況需制定不同的標椎
- 歧義(組合型歧義,交際型歧義,真歧義)
- 中華人民共和國 / 美國會通過對臺收武器法案/ 上海仁和服裝廠
- 查字典 - 最容易想到的分詞方法(北京航空大學的樑南元教授提出)
- 一個句子從左到到右掃描一遍。遇到有點詞就標識出來。找到複合詞,就找最長的
- 不認識的字串就分割成單字詞
- 最小詞數的分詞理論- 哈工大王曉龍博士吧查字典的方法理論化
- 一句話應該分詞數量最少的詞串
- 遇到二義性的分割,無能為力(例如:“發展中國家”/“上海大學城書店”)
- 用各種文化規則來解決二義性,都並不成功
- 統計語言模型 - 1990年前後 ,清華大學電子工程系郭進博士
- 解決了二義性問題,將中文分詞的錯誤率降低了一個資料級。概率問題,動態規劃+利用維特比演算法快速找到最佳分詞
- 基於統計的機器學習演算法
- 這類目前常用的演算法是 HMM、CRF、SVM、深度學習演算法等演算法。比如 Hanlp分詞工具是基於CRF演算法為例,基本思路是對漢字進行標註訓練,不僅考慮了詞語出現的頻率,還考慮上下文,具有較好的學習能力,因此其對歧義詞和未登入詞的識別都具有良好的下效果
- 隨著深度學習的興起,也出現了基於神經網路的分詞器,有人嘗試使用雙向LSTM + CRF實現分詞器,其本質上是序列標註,據報導其分詞器字元準確率可高達97.5%
- 中文分詞器以統計語言模型為基礎,經過幾十年的發展,今天基本已經可以看做是一個已經解決的問題
- 不同分詞器的好壞,主要的差別在於資料的使用和工程使用的精度
- 常見的分詞器都是使用機器學期演算法和詞典相結合,一方面能夠提高分詞準確率,另一方面能夠改善領域適應性
- HanLP - 面向生產環境的自然語言處理包
- IK 分詞器
./elasticsearch-plugin install https://github.com/KennFalcon/elasticsearc...
/elasticsearch-plugin install https://github.com/medcl/elasticsearch-ana...
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-ana...
- 使用不同分詞器測試效果
- 索引時,儘量切分的短,查詢的時候,儘量用長的詞
- 拼音分詞器
#安裝外掛
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.1.0/elasticsearch-analysis-ik-7.1.0.zip
#安裝外掛
bin/elasticsearch install https://github.com/KennFalcon/elasticsearch-analysis-hanlp/releases/download/v7.1.0/elasticsearch-analysis-hanlp-7.1.0.zip
#ik_max_word
#ik_smart
#hanlp: hanlp預設分詞
#hanlp_standard: 標準分詞
#hanlp_index: 索引分詞
#hanlp_nlp: NLP分詞
#hanlp_n_short: N-最短路分詞
#hanlp_dijkstra: 最短路分詞
#hanlp_crf: CRF分詞(在hanlp 1.6.6已開始廢棄)
#hanlp_speed: 極速詞典分詞
POST _analyze
{
"analyzer": "hanlp_standard",
"text": ["劍橋分析公司多位高管對臥底記者說,他們確保了唐納德·川普在總統大選中獲勝"]
}
#Pinyin
PUT /artists/
{
"settings" : {
"analysis" : {
"analyzer" : {
"user_name_analyzer" : {
"tokenizer" : "whitespace",
"filter" : "pinyin_first_letter_and_full_pinyin_filter"
}
},
"filter" : {
"pinyin_first_letter_and_full_pinyin_filter" : {
"type" : "pinyin",
"keep_first_letter" : true,
"keep_full_pinyin" : false,
"keep_none_chinese" : true,
"keep_original" : false,
"limit_first_letter_length" : 16,
"lowercase" : true,
"trim_whitespace" : true,
"keep_none_chinese_in_first_letter" : true
}
}
}
}
}
GET /artists/_analyze
{
"text": ["劉德華 張學友 郭富城 黎明 四大天王"],
"analyzer": "user_name_analyzer"
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結