相關詞演算法有哪些?
02-07
我們一般會通過共同點擊,共同查詢,編輯距離去查找相關詞。
終於看到一個討論搜索引擎稍微像那麼點樣的技術問答了,看來只要跟SEO沾邊的,基本不要指望有技術成分了。提編輯距離的,都是純書本研究,等你們走向實踐,就知道問題所在。搜狗的資料庫,我覺得在13年來說,還是忘了它的存在吧,除非你用來做實驗發文章。
大體上有:
1. 基於圖的演算法,可參見每年ACL的 Workshop on Graph-based Methods
for Natural Language Processing2. 基於VSM和共現,以及高階共現。如利用LSA,NMF做些工作,可參見篇survey From Frequency to Meaning: Vector Space Models of Semantics3. 基於NLP,如依存分析
4. 基於本體,如wordnet, wiki,這個跟1有很大工作是重合的5. 基於graphical models6. 基於manifold剛好最近研究了一下相關搜索,一般的相關搜索都是通過挖掘用戶搜索session輸入的query來實現的,通過編輯距離確定query是否為相關query,從而得到相關搜索的詞表。當然,這個其實也可以用在suggestion系統中。
在實際應用當中,基於query log和用戶點擊是最好的方法,特別像百度這種用戶量大的搜索引擎,採用日誌挖掘的方法還是比較準確的。 採用google distance也是一個不錯的方法,不過個人認為這個方法比較適合學術領域用,或者各大搜索引擎採用內部檢索。
分析日誌,用編輯距離,是一種有效的方法,但如果沒有搜索日誌,可以用搜狗實驗室里的語料,對語料進行挖掘,就是把同一窗口的詞共現找出來,如,窗口距離設置為5個詞,用幾百個G的語料,可以找出不少這樣的詞來
覺得編輯距離應該反著用,比如安靜,寧靜,確實很像,但是我不覺得他們相關的,春晚,趙本山這兩個覺得比較像相關詞,編輯距離可以是個反向feature。
推薦閱讀:
※《A Dynamic Bayesian Network Click Model for Web Search Ranking 》
※人們上網都在搜索什麼?
※Mathematica實現個性化閱讀之搜索感興趣的句子
※如何通俗地、不用術語地解釋李彥宏的「超鏈分析」?
※微軟是否應該放棄必應?