lucene排序算法之向量空間模型(一)

lucene排序算法除了分析查詢關鍵詞與文檔的匹配度以外還包括其它的排序因子,先着重討論經過向量空間模型分析查詢關鍵詞與文檔的匹配度問題。算法

在向量空間模型中有兩種基本的距離度量方式即:歐式距離和餘弦距離,而求匹配度時採用的是餘弦距離而不是歐式距離,我的理解以下:blog

一、文檔由句子構成、句子由詞和短語構成、短語由詞構成,且要真正理解一篇文檔須要考慮句子與句子的順序、詞和短語的順序、詞和詞的順序等等,向量空間模型簡單的認爲文檔是由n個詞構成的,而且詞與詞之間是正交的(每一個詞是個獨立的維度而且是語義無關的,儘管不符合實際,但爲了便於創建數學模型就作了這樣的假設);排序

二、爲了討論方便就假設文檔和查詢短語由兩個詞構成,這樣文檔和查詢短語就是二維平面上的向量;文檔

三、詞的量化採用TF-IDF算法計算而得(關於該算法的理論依據會單獨寫一篇進行討論);數學

四、圖中D表示文檔向量,q一、q2表示查詢向量,若是採用歐式距離q2比q1到D的距離更小從而類似度更高,實際上q1與D的類似度比q2的高,由於q2只包含一個詞而q1包含兩個詞。lucene

相關文章
相關標籤/搜索