跳轉到內容

人工智慧/搜尋/推薦系統

來自華夏公益教科書

推薦系統

[編輯 | 編輯原始碼]

推薦系統是為了幫助使用者從網際網路提供的海量資訊中篩選出自己感興趣的內容而建立的。這些系統透過收集使用者的某些資訊,例如喜歡的音樂藝術家等等,根據使用者之前做出的選擇為他們推薦新專案。正如 Zaier、Godin 和 Faucher (2008) [1] 指出的那樣,推薦系統在商業上取得了巨大成功,特別是在電子商務領域。


基本運作

[編輯 | 編輯原始碼]

正如 Zhan 等人 (2008) [2] 所定義的,一個推薦系統有兩個基本實體:使用者,是指使用系統進行推薦的人或代理,以及專案,是指使用者進行評級和搜尋的任何實體。使用者構成一個社群,通常是資料庫的主要資訊來源,但也會使用其他方法。


協同過濾

[編輯 | 編輯原始碼]

協同過濾是一種常用的系統,儘管它沒有處理。Chun 和 Hong (2001) [3] 解釋說,這種方法基於這樣的理念:人類的偏好是相關的,一個人的偏好可以為另一個與他或她在某些約束條件下相似的人提供建議。該系統基於使用者對專案的數值評分。

為了確定協同系統中兩個使用者之間的相關性,通常使用皮爾遜相關係數。這是一種常用的統計學公式,可以確定兩個變數之間的相關性,表示為對這兩個變數之間相關性的評分。


基於內容的過濾

[編輯 | 編輯原始碼]

Hijikata、Iwahama 和 Nishida (2006) [4] 對基於內容的過濾進行了研究,結果表明,儘管它是一種針對基於文字資訊的常見推薦系統,但隨著當前技術的進步,它也成為音樂的良好選擇。他們解釋說,大多數處理音樂資料的過濾系統往往會從音樂中建立引數內容模型,然後將其與使用音樂引數的使用者個人資料進行比較。然後系統透過兩種方法之一比較內容模型和使用者個人資料來運作。Hijikata 等人將第一種方法定義為向量方法,該方法將向量附加到個人資料引數,然後使用距離與內容模型進行比較。第二種比較方法涉及對個人資料的特徵引數進行加權,然後在計算中使用它們與閾值進行比較。Hijikata 等人透過在使用者個人資料中引入學習決策樹,改進了使用者個人資料與內容模型的比較,並減少了基於內容的過濾與音樂資料結合使用的弊端。使用決策樹可以過濾掉重要引數,使用者可以輕鬆讀取和更改決策樹,還可以去除不重要的噪聲資料。


基於知識的過濾

[編輯 | 編輯原始碼]

Chung 和 Hong 還區分了另一種模型,該模型被認為是基於知識的。基於知識的推薦器會詢問使用者他們想要什麼,然後在資料庫中搜索符合使用者要求的選擇,並且經常要求使用者提供關於選擇相關性的資訊。

雖然這些是最常見的推薦系統型別,但還有許多其他型別和混合型別,偶爾也會使用。


基於代理的推薦

[編輯 | 編輯原始碼]

可能是最流行和最常用的推薦器是網際網路搜尋引擎。代理是一個數據挖掘器,它獲取有關個人的資訊。雖然用於生成網站推薦的系統型別各不相同,但 Birukov、Blanzieri 和 Giorgini (2005) [5] 建立了一個基於代理的推薦器,它與大多數推薦器一樣,使用個人的行為來為個人社群內的使用者提供更好的建議(組共享相似的模式),但也從個人使用者中提取了隱式知識供組使用。

上面描述的每種系統型別都涉及不同的搜尋和推薦方法。它們之間唯一的共同點是它們都有一個輸入,來自使用者的某種資訊,一個處理過程,確定相關的選項,以及一個輸出,通常是一個文字推薦,通常是指一個專案、網站、歌曲/藝術家等等,使用者可以隨後檢視或訪問該專案、網站、歌曲/藝術家等等。

下面是 Birukov 等人編寫的虛擬碼示例,作為最常見和最常用的系統,基於代理的推薦的示例


global result
for all message in INBOX do
     if (message.type == 'query') then
          result := nil
       if (query.sender == user) then
            google-search(query.sender,query.keyword,result.links)
            inform(self, user, result.links)
end if

SICS.internal-search(query.sender,query.keyword,result.links)
SICS.external-search(query.sender,query.keyword,result.agents)

if (query.sender == user) then
    if (result.agents == nil) then
         add(DF,result.agents)
end if

for all agent in result.agents do
      request(self,agent,query.keyword)
end for

inform(self, user, result.links)
     else
        inform(self, query.sender, result.links)
        inform(self, query.sender, result.agents)
end if

else if (message.type == reply) then
        if (message.content == resource-link) then
           add(resource-link, result.links)
else if (message.content == agent-ID) then
         add(agent-ID, result.agents)
end if
end if
end if

else if (message.type == 'feedback') then
        add(feedback,observations)

end if
end if
end for 

亞馬遜

Genius(iTunes)

潘多拉

Scarab 推薦器

玻爾茲曼機

參考文獻

[編輯 | 編輯原始碼]
  1. Zaier, Zied (2008). Evaluating Recommender Systems. axmedis. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  2. Zhan, Justin (2008). Towards efficient privacy-preserving collaborative recommender systems. IEEE. pp. 778–783. ISBN 9781424425129. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  3. Chun, In-Gook (2001). 基於知識的推薦系統在電子商務中的實現,使用Java專家系統庫. IEEE. pp. 1766–1770. ISBN 0780370902. {{cite book}}: 未知引數 |coauthors= 被忽略 (|author= 建議) (幫助)
  4. Hijikata, Yoshinori (2006). 基於內容的音樂過濾系統,帶有可編輯的使用者配置檔案. IEEE. pp. 1050–1057. ISBN 1595931082. {{cite book}}: 未知引數 |coauthors= 被忽略 (|author= 建議) (幫助)
  5. Birukov, Alexander (2005). 隱式. ACM. pp. 618–624. ISBN 1595930930. {{cite book}}: 未知引數 |coauthors= 被忽略 (|author= 建議) (幫助)
華夏公益教科書