我正在實現一個標籤系統類似於StackOverflow標籤系統,但我只是想知道如何獲取相關標籤和定義標籤之間的關係權重,如任何「相關標籤」列表中的任何像這樣的標籤頁https://stackoverflow.com/questions/tagged/php他們通過2個或更多標籤之間的共同出現來定義關係權重如何構建標籤系統像stackoverflow
我如何在PHP/MySQl中執行此操作來爲標籤「X」定義最相關的標籤並將所有權重保持爲用戶添加越來越多的帖子/問題的日期?
我正在實現一個標籤系統類似於StackOverflow標籤系統,但我只是想知道如何獲取相關標籤和定義標籤之間的關係權重,如任何「相關標籤」列表中的任何像這樣的標籤頁https://stackoverflow.com/questions/tagged/php他們通過2個或更多標籤之間的共同出現來定義關係權重如何構建標籤系統像stackoverflow
我如何在PHP/MySQl中執行此操作來爲標籤「X」定義最相關的標籤並將所有權重保持爲用戶添加越來越多的帖子/問題的日期?
你可能想看看統計數據如下:
至於步驟5的更多信息:這些信息只是變化很慢,所以你可以真正緩存這些東西,只有當你有時間時才能重新創建它。
你想到底是什麼關係
conditional_probability(X, Y, P)
它告訴你如何可能(P)標籤Y的,給予X. p在步驟4計算
我用這個博客輸入calculating relative tag size within a cloud。你可以在整個可能或特定的發現集上使用這種算法。
代替存儲數據庫中所有標籤的非規格化權重,我將它們緩存在我的(Ruby)進程中,並在添加/刪除標籤或進程重新啓動時重建它們。
至於如何存放,一般希望:
一旦你的,一旦你有一個發現組項目的結果頁面上,這是一個簡單的加入和獨特找出一套「相關」標籤。
1每個帖子的ID可以被標記有一個或多個標籤(PHP +其他標籤)
2讓我們回到每個標籤都有相關的帖子ID
3的foreach帖子ID得到所有標籤等以同樣的方式比PHP
4只顯示那些具有數比prticular號碼以上(比如4000)
想想這個問題已經被標記爲「mysql的」,「數據庫設計」,「標籤」和「標記」做你會看到你如何將PHP與其他標籤相關聯。
我想你應該在第五步中更加明確。 ;) – Bobby 2010-11-17 07:43:12
我會寫這個作爲一個SQL查詢,但看看這個網站上的問題的數量(因此,標記引用),我懷疑每次有人想問一個問題時,它會產生如此多的計數和組。畢竟,這些信息經常被讀取而不是被修改。 – AlexanderMP 2010-11-17 07:45:10