2010-12-03 54 views
4

假設我有一個口號列表(簡短的多詞短語),並且人們已經爲他們最喜歡的那個投了票,我想評估哪些單詞(如果有的話)使一些口號比其他口號更受歡迎。什麼是實現這一目標的最佳方式?我的第一個想法是找到口號中的所有獨特單詞,並將每一個單詞作爲包含所述單詞的所有口號的平均投票數,但我認爲頻率也應以某種方式發揮作用以下應該是正確的:確定哪些單詞使短語流行的算法

  • 如果單詞A只出現在獲得最多選票的口號中,並且單詞B僅出現在獲得第二最多的口號中,則單詞A更多地是「流行性生成」
  • 但是,如果Word A只出現在排名最高的口號中,而Word B出現在排名第二和第三的口號中,則Word B應該贏,因爲它將更多口號推到頂端。
  • 然而,如果單詞出現在頂部口號中的Word A在其他口號中應該仍然勝過三次出現的字B,例如,如果它們位於包的中間或下半部分(也就是說,需要在投票中獲得投票和頻率的平衡)。

我也想排除一般常見的詞(如「the」或「of」)。這與關於識別過去曾被問過的趨勢詞有關的問題有關,但與之不同的是,隨着時間的推移並不是一個因素。就文學而言,我很樂意指出這方面的正確方向,但我不確定要尋找什麼。這是其他人處理的一類問題嗎?

+0

http://metaoptimize.com/qa上的人會對此有所瞭解。 – Frank 2010-12-04 00:48:53

回答

2

這是一個機器學習問題。您正試圖從監督數據中學習模型。爲此,您可以運行一個類似Perceptron或SampleRank的簡單算法(pdf):

首先定義適用於口號中單詞的功能。特徵可以跨單詞共享,例如「和平」 二字的特點可能是:

  • 「和平」,
  • 「名詞」,
  • 「抽象名詞」,
  • 「短名詞」,
  • 「開始在「S'的聲音 「與對」
  • 」 結尾,
  • ...

的網絡連接第一個特點是「和平」是一個獨特的特徵,只能在「和平」上發射,而其他特徵也可以用其他詞語發射。

每個功能都有一個權重(越高越好)。所以你有一個特徵向量和一個權重向量。這將使您能夠爲任何口號(僅在口號中的單詞上激發的所有加權特徵的總和)分配權重(分數)。所有權重都初始化爲0.0。

現在你開始訓練:

你循環所有的口號對。對於每一對你知道真正的排名(根據你已有的票數)。然後根據特徵及其當前權重計算排名。如果根據您當前的特徵權重(即根據您當前的模型)的真實排名和排名是相同的,那麼您只需轉到下一對。如果您的模型分配了錯誤的排名,則可以更正要素權重:您可以將1.0添加到更好口號(根據人們的投票更好)的要素的權重中,並從火災要素的權重中減去1.0在糟糕的口號上(它的分數顯然太高了,所以你現在降低它)。這些重量更新會影響您的模型分配給下一對的分數,依此類推。

您可以多次運行此循環,直到您的模型獲得大部分對(或其他收斂標準)爲止。

通常情況下,你不會真的加或減1.0,但eta乘以1.0,其中eta是學習率,可以通過實驗設置。通常在訓練開始時它會更高,並且在訓練期間會逐漸降低,因爲您的重量正在朝着正確的方向移動。 (另請參見隨機梯度下降。)要開始,您可以將其設置爲0.1作爲常量。

此程序處理停用詞(「the」,「of」,...),因爲它們應該同時出現在好的和不好的口號中(如果他們真的不這樣做,那麼你也會知道)。

訓練結束後,您可以根據學習到的特徵權重計算每個單詞的分數。

0

Bayesian inference怎麼樣?

+0

我的印象是,貝葉斯推斷主要是關於特定的證據,無論是證實還是不證實假設。我的問題在這裏並不是特別的「是或不是」,也就是說,這不是「這個詞是否受歡迎 - 促進與否?」而是「這些詞在多大程度上促進了人氣的排名?」你還認爲貝葉斯分析適用於這種情況嗎? – 2010-12-03 22:41:25

+0

嗯,現在聽起來您正在尋找Google使用(或曾用於?)的PageRank之類的內容。它基本上是通過相關性來連接術語的圖表。實質上,具有最多連接的術語是相關的。我同意貝葉斯不會給你在這種情況下的條款的相關性。不過,你可以用它來推斷你不知道的關係。 – SRM 2010-12-03 23:29:25

0

我想我會用一種算法,做這樣的事情:

  1. 省去停止詞(常用詞)(http://en.wikipedia.org/wiki/Stop_word
  2. 規範和幹字(http://en.wikipedia.org/wiki/Stemming
  3. 計算標準化詞頻和票
  4. 通過票數/頻率訂單標準化單詞
+0

這很接近,我想。停用詞的消除有點棘手,因爲(在這裏我應該更加清楚),它可能不僅僅是我想消除的停用詞,而且更可能是這個數據集中沒有更頻繁出現的詞比他們一般做。這只是一種預感,但我懷疑,如果我專注於那些統計上不可能的話,結果會更有趣。也許我可以將此數據集與某個參考語料庫進行比較,否則請按照您的方法進行操作? – 2010-12-03 22:44:52

相關問題