經常使用術語::算法
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
分詞算法::api
- 詞典匹配分詞法
- 與機器字典詞條匹配
- 包括:
- 正向最大匹配
- 逆向最大匹配
- 最小切分(一句話切的詞數最小)
- 語義理解分詞法
- 詞頻統計分詞法
- 相鄰的字搭配出現的頻率越高,越有多是個詞
- 不須要切分詞典
- 高頻共同出現的兩個字有的也不是一個詞,須要專門處理以提升精度
- 應與字典分詞結合使用
- 能夠很好的解決新詞未被收錄詞典的問題
倒排索引機器學習
布爾檢索模型學習
- 布爾運算符鏈接各個檢索詞
- 優先級:NOT>AND>OR
單詞-文檔矩陣3d
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
布爾運算模型優勢:blog
- 符合人們思惟
- 表達式直觀清晰
- 方便擴檢、縮檢
- 易於計算機實現
布爾運算模型缺點:排序
- 僅僅基於0、1二元判斷標準
- 沒有反應語義含義
- 徹底匹配致使太少的結果被返回
tf-idf 權重計算索引
- tf-idf 叫詞頻-逆文檔頻率
- 詞項(item)的重要性由:
- 在文檔中出現的頻率正相關
- 在文檔集中出現的次數反相關
![](http://static.javashuo.com/static/loading.gif)
- lucene 採起的計算詞頻標準化的方法:
- df 表明文檔集中出現詞項的文檔數量
- 詞項權重::
- 一個文檔就能夠表示成是 n 維詞項向量
向量空間模型::文檔
- 向量求餘弦的方法計算類似性
- 餘弦類似性理論:
- Lucene 的評分機制更加複雜:
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
- 上述公式總體依然是按照tf-idf 和向量空間模型的類似性計算
機率檢索模型::數學
- 從機率排序原理推導而來
- 基本思想:
- 給定一個查詢,返回結果是按照與查詢語句相關性得分排序的
- 好比:BM25模型(best match 25)
- 貝葉斯決策理論
- 機率檢索模型的數學基礎
- 在機器學習、天然語言處理等領域普遍應用
- 海量文本數據分類:
- 核心思想:選擇高几率對應的類別
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
文檔D,P(R|D)屬於相關文檔集的機率、P(NR|D) 不屬於相關文檔集的機率
![](http://static.javashuo.com/static/loading.gif)
二值獨立模型::
- 詞項的獨立性假設(假設每一個詞都是獨立出現的)
- 文檔頻率轉換成詞項機率的乘積
- 推導出公式::
- Pi 表示第i 個詞項出如今文檔中的機率
- Si 表示第i 個詞項在不相關文檔集中出現的機率
- Di = 1 表示單詞在文檔出現
- Di = 0 表示單詞在文檔不出現
![](http://static.javashuo.com/static/loading.gif)
- 最後是計算log 值,作一個平滑處理不影響結果 大小順序
- 最後公式::
Okapi BM25 模型::
- 二值獨立模型,僅僅考慮了詞項出現與否,沒有考慮單詞的權重,實際效果不理想
- BM25 進行了改進,考慮進去了:
BM25F ::
- Okapi BM25 僅僅是把文檔當作總體考慮
- 沒有考慮不一樣區域的權重差別
![](http://static.javashuo.com/static/loading.gif)