潛在語義索引
潛在語義索引是一種搜索方法,也是一種索引。通過奇異值分解來識別非結構化的文本集合中的具有聯繫關係的模式。一般認為,在同樣的語境中使用的詞語一般具有相似的含義,LSI就是基於這一規則的搜索方法。LSI的一個重要特徵就是,通過建立那些出現在相同語境中的詞語之間的聯繫,它能夠提取出一個文本的具體內容是什麼,而不像以前的搜索方法只是檢索具體的關鍵詞。之所以叫潛在語義索引是因為它能夠把一組文檔中具有隱含的語義聯繫的詞語聯繫起來。
LSI通俗解釋
所謂隱性語義索引指的是,怎樣通過海量文獻找出詞彙之間的關係。當兩個詞或一組詞大量出現在同一個文檔中時,這些詞之間就可以被認為是語義相關。機器並不知道某個詞究竟代表什麼,不知道某個詞是什麼意思。 比如:
- 電腦和計算機這兩個詞在人們寫文章時經常混用,這兩個詞在大量的網頁中同時出現,搜尋引擎就會認為這兩個詞是極為語義相關的。
- SEO和搜尋引擎優化(雖然一個是英語,一個是中文)這兩個詞大量出現在相同的網頁中,雖然搜尋引擎還不能知道搜尋引擎優化或SEO指的是什麼,但是卻可以從語義上把「SEO」,「搜尋引擎優化」,「search engine optimization」,「SEM」等詞緊緊的連在一起。可見潛在語義索引並不依賴於語言。
- 如蘋果和橘子這兩個詞,也是大量出現在相同文檔中,不過緊密度低於同義詞。所以搜尋引擎不會認為它們是語義相關的。
LSI的實現
單純從理論上看,Latent semantic indexing (隱性語義索引)的實現機制並不複雜,它只不過是在正常的網頁收錄與索引過程中增添了一個步驟:
- 先統計、分析網頁及連結中的關鍵詞;
- 將該網頁與索引數據庫中其他包含相同關鍵詞或部分相同關鍵詞的網頁進行比對,以確定不同網頁間的語義相關性以及網頁與特定關鍵詞間的相關性,
- 同時將該網頁與具有高語義相關性的網頁進行比對分析,從中找出特定網頁中存在關鍵詞的相關項,即找出特定網頁中雖然並不存在但與其內容相關的關鍵詞。
可以看出,雖然搜尋引擎本身並不知道某個詞究竟代表什麼,不知道某個詞是什麼意思,但通過Latent Semantic Indexing算法,與單純的關鍵詞匹配相比,搜尋引擎能夠以一種更準確的方式判斷特定網頁中內容與搜索項間的相關性,從而給出用戶要尋找的內容,甚至從某種角度上看,更接近於「人」分析、查找內容時的判斷方式。
LSI的好處
搜尋引擎是使用機器算法來替代過去人工搜索的工作。但機器算法和人的工作有一個很不同的地方就是人可以直接理解詞的意思,文章的意思,機器和算法卻無法理解——人看到蘋果這兩個字就知道指的是那個圓圓的,有水的挺好吃的東西,搜尋引擎卻不能從感性上理解。 其原因和自然語言的特點有關。從自然語言的角度,大部分詞具有一詞多義的特點,機器算法無法確定在何環境下使用何種詞義,這就導致了搜索結果與用戶的理想值便存在很大的距離:
- 一詞多義將導致基於精確匹配的搜索算法在給出的結果中包含很多並非用戶真正要查找的內容;
- 一義多詞則使得基於精確匹配的搜索算法在給出的結果中遺漏很多用戶真正要查找的內容。
Latent Semantic Indexing (LSI : 隱性語義索引)便是搜尋引擎試圖儘可能弱化這一弊端的可行解決方案之一。Latent Semantic Indexing通過繞開自然語言理解,以大樣本數量的統計分析找出不同的詞(詞組、短語)間的相關性,以使搜索結果進一步接近於用戶真正要查找的內容,同時,也能夠保證搜索的效率。
LSI其他關注點
對Latent Semantic Indexing,可能大多數人注意的是其中的Semantic (語義有關的),但Latent Semantic Indexing方面的技術文檔則往往更強調Latent (潛在的、隱含的),而非簡單意義的語義相關。比如說對「水」一詞而言,與其語義相關的可能是「熱水」、「涼水」之類,但潛在相關的則可以是「蒸汽」、「冰」等,這裏有很大區別。 需要強調的是,Latent Semantic Indexing(隱性語義索引)只是目前搜尋引擎排名算法中關鍵詞匹配技術的補充(排名算法會為不同的影響因素賦予不同的權重,Latent Semantic Indexing的權重值已經慢慢加大),但絕不是取代現有的關鍵詞匹配算法。
參見