'基於大數據的個性化推薦系統,實現原理及打造方案深度解析'

"

隨著互聯網時代的發展和大數據時代的到來,人們逐漸從信息匱乏的時代走入了信息過載的時代。為了讓用戶從海量信息中高效地獲取自己所需的信息,推薦系統應運而生。

推薦系統的主要任務就是聯繫用戶和信息,它一方面幫助用戶發現對自己有價值的信息,另一方面讓信息能夠展現在對它感興趣的用戶面前,從而實現信息消費者和信息生產者的雙贏。基於大數據的推薦系統通過分析用戶的歷史記錄瞭解用戶的喜好,從而主動為用戶推薦其感興趣的信息,滿足用戶的個性化推薦需求。

推薦系統概述

推薦系統是自動聯繫用戶和物品的一種工具,它通過研究用戶的興趣愛好,來進行個性化推薦。以 Google 和百度為代表的搜索引擎可以讓用戶通過輸入關鍵詞精確找到自己需要的相關信息。但是,搜索引擎需要用戶提供能夠準確描述自己的需求的關鍵詞,否則搜索引擎就無能為力了。

與搜索引擎不同的是,推薦系統不需要用戶提供明確的需求,而是通過分析用戶的歷史行為來對用戶的興趣進行建模,從而主動給用戶推薦可滿足他們興趣和需求的信息。每個用戶所得到的推薦信息都是與自己的行為特徵和興趣有關的,而不是籠統的大眾化信息。

隨著推薦引擎的出現,用戶獲取信息的方式從簡單的目標明確的數據搜索轉換到更高級更符合人們使用習慣的信息發現。隨著推薦技術的不斷髮展,推薦引擎已經在電子商務(如 Amazon.噹噹網)和一些基於社會的化站點(包括音樂、電影和圖書分享,如豆瓣等)中都取得很大的成功。

圖 1 展示了推薦引擎的工作原理,它接收的輸入是推薦的數據源,一般情況下,推薦引擎所需要的數據源包括以下幾點。

要推薦物品或內容的元數據,如關鍵字、基因描述等。

系統用戶的基本信息,如性別、年齡等。

用戶對物品或者信息的偏好,根據應用本身的不同,可能包括用戶對物品的評分,用戶查看物品的記錄,用戶的購買記錄等。

用戶的偏好信息可以分為顯式用戶反饋和隱式用戶反饋兩大類。

顯式用戶反饋是用戶在網站上自然瀏覽或者使用網站以外,顯式地提供的反饋信息,如用戶對物品的評分,或者對物品的評論等。

隱式用戶反饋是用戶在使用網站時產生的數據,隱式地反映了用戶對物品的喜好,如用戶購買了某物品,用戶查看了某物品的信息等。

"

隨著互聯網時代的發展和大數據時代的到來,人們逐漸從信息匱乏的時代走入了信息過載的時代。為了讓用戶從海量信息中高效地獲取自己所需的信息,推薦系統應運而生。

推薦系統的主要任務就是聯繫用戶和信息,它一方面幫助用戶發現對自己有價值的信息,另一方面讓信息能夠展現在對它感興趣的用戶面前,從而實現信息消費者和信息生產者的雙贏。基於大數據的推薦系統通過分析用戶的歷史記錄瞭解用戶的喜好,從而主動為用戶推薦其感興趣的信息,滿足用戶的個性化推薦需求。

推薦系統概述

推薦系統是自動聯繫用戶和物品的一種工具,它通過研究用戶的興趣愛好,來進行個性化推薦。以 Google 和百度為代表的搜索引擎可以讓用戶通過輸入關鍵詞精確找到自己需要的相關信息。但是,搜索引擎需要用戶提供能夠準確描述自己的需求的關鍵詞,否則搜索引擎就無能為力了。

與搜索引擎不同的是,推薦系統不需要用戶提供明確的需求,而是通過分析用戶的歷史行為來對用戶的興趣進行建模,從而主動給用戶推薦可滿足他們興趣和需求的信息。每個用戶所得到的推薦信息都是與自己的行為特徵和興趣有關的,而不是籠統的大眾化信息。

隨著推薦引擎的出現,用戶獲取信息的方式從簡單的目標明確的數據搜索轉換到更高級更符合人們使用習慣的信息發現。隨著推薦技術的不斷髮展,推薦引擎已經在電子商務(如 Amazon.噹噹網)和一些基於社會的化站點(包括音樂、電影和圖書分享,如豆瓣等)中都取得很大的成功。

圖 1 展示了推薦引擎的工作原理,它接收的輸入是推薦的數據源,一般情況下,推薦引擎所需要的數據源包括以下幾點。

要推薦物品或內容的元數據,如關鍵字、基因描述等。

系統用戶的基本信息,如性別、年齡等。

用戶對物品或者信息的偏好,根據應用本身的不同,可能包括用戶對物品的評分,用戶查看物品的記錄,用戶的購買記錄等。

用戶的偏好信息可以分為顯式用戶反饋和隱式用戶反饋兩大類。

顯式用戶反饋是用戶在網站上自然瀏覽或者使用網站以外,顯式地提供的反饋信息,如用戶對物品的評分,或者對物品的評論等。

隱式用戶反饋是用戶在使用網站時產生的數據,隱式地反映了用戶對物品的喜好,如用戶購買了某物品,用戶查看了某物品的信息等。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 1 推薦引擎的工作原理

顯式用戶反饋能準確地反映用戶對物品的真實喜好,但需要用戶付出額外的勞動,而隱式用戶行為,通過一些分析和處理,也能反映用戶的喜好,只是數據不是很精確,有些行為的分析存在較大的噪聲。但只要選擇正確的行為特徵,隱式用戶反饋也能得到很好的效果。例如,在電子商務的網站上,購買行為其實就是一個能很好表現用戶喜好的隱式用戶反饋。

推薦引擎根據不同的推薦機制可能用到數據源中的不同部分,然後根據這些數據,分析出一定的規則或者直接對用戶對其他物品的喜好進行預測計算。這樣,推薦引擎就可以在用戶進入的時候給他推薦他可能感興趣的物品。

推薦機制

大部分推薦引擎的工作原理是基於物品或者用戶的相似集進行推薦,所以可以對推薦機制進行以下分類。

基於人口統計學的推薦:根據系統用戶的基本信息發現用戶的相關程度。

基於內容的推薦:根據推薦物品或內容的元數據,發現物品或者內容的相關性。

基於協同過濾的推薦:根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者是發現用戶的相關性。

1)基於人口統計學的推薦

基於人口統計學的推薦機制可根據用戶的基本信息發現用戶的相關程度,然後將相似用戶喜愛的其他物品推薦給當前用戶,圖 2 描述了這種推薦機制的工作原理。

從圖 2 中可以很清楚地看出,首先,系統對每個用戶都有一個用戶基本信息的模型,其中包括用戶的年齡、性別等,然後,系統會根據用戶的基本信息計算用戶的相似度,可以看到用戶 A 的基本信息和用戶 C 一樣,所以系統會認為用戶 A 和用戶 C 是相似用戶,在推薦引擎中,可以稱他們是“鄰居”,最後,基於“鄰居”用戶群的喜好推薦給當前用戶一些物品,圖 2 所示為將用戶 A 喜歡的物品 A 推薦給用戶 C。

基於人口統計學的推薦機制的主要優勢是對於新用戶來講沒有“冷啟動”的問題,這是因為該機制不使用當前用戶對物品的喜好歷史數據。該機制的另一個優勢是它是領域獨立的,不依賴於物品本身的數據,所以可以在不同的物品領域都得到使用。

"

隨著互聯網時代的發展和大數據時代的到來,人們逐漸從信息匱乏的時代走入了信息過載的時代。為了讓用戶從海量信息中高效地獲取自己所需的信息,推薦系統應運而生。

推薦系統的主要任務就是聯繫用戶和信息,它一方面幫助用戶發現對自己有價值的信息,另一方面讓信息能夠展現在對它感興趣的用戶面前,從而實現信息消費者和信息生產者的雙贏。基於大數據的推薦系統通過分析用戶的歷史記錄瞭解用戶的喜好,從而主動為用戶推薦其感興趣的信息,滿足用戶的個性化推薦需求。

推薦系統概述

推薦系統是自動聯繫用戶和物品的一種工具,它通過研究用戶的興趣愛好,來進行個性化推薦。以 Google 和百度為代表的搜索引擎可以讓用戶通過輸入關鍵詞精確找到自己需要的相關信息。但是,搜索引擎需要用戶提供能夠準確描述自己的需求的關鍵詞,否則搜索引擎就無能為力了。

與搜索引擎不同的是,推薦系統不需要用戶提供明確的需求,而是通過分析用戶的歷史行為來對用戶的興趣進行建模,從而主動給用戶推薦可滿足他們興趣和需求的信息。每個用戶所得到的推薦信息都是與自己的行為特徵和興趣有關的,而不是籠統的大眾化信息。

隨著推薦引擎的出現,用戶獲取信息的方式從簡單的目標明確的數據搜索轉換到更高級更符合人們使用習慣的信息發現。隨著推薦技術的不斷髮展,推薦引擎已經在電子商務(如 Amazon.噹噹網)和一些基於社會的化站點(包括音樂、電影和圖書分享,如豆瓣等)中都取得很大的成功。

圖 1 展示了推薦引擎的工作原理,它接收的輸入是推薦的數據源,一般情況下,推薦引擎所需要的數據源包括以下幾點。

要推薦物品或內容的元數據,如關鍵字、基因描述等。

系統用戶的基本信息,如性別、年齡等。

用戶對物品或者信息的偏好,根據應用本身的不同,可能包括用戶對物品的評分,用戶查看物品的記錄,用戶的購買記錄等。

用戶的偏好信息可以分為顯式用戶反饋和隱式用戶反饋兩大類。

顯式用戶反饋是用戶在網站上自然瀏覽或者使用網站以外,顯式地提供的反饋信息,如用戶對物品的評分,或者對物品的評論等。

隱式用戶反饋是用戶在使用網站時產生的數據,隱式地反映了用戶對物品的喜好,如用戶購買了某物品,用戶查看了某物品的信息等。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 1 推薦引擎的工作原理

顯式用戶反饋能準確地反映用戶對物品的真實喜好,但需要用戶付出額外的勞動,而隱式用戶行為,通過一些分析和處理,也能反映用戶的喜好,只是數據不是很精確,有些行為的分析存在較大的噪聲。但只要選擇正確的行為特徵,隱式用戶反饋也能得到很好的效果。例如,在電子商務的網站上,購買行為其實就是一個能很好表現用戶喜好的隱式用戶反饋。

推薦引擎根據不同的推薦機制可能用到數據源中的不同部分,然後根據這些數據,分析出一定的規則或者直接對用戶對其他物品的喜好進行預測計算。這樣,推薦引擎就可以在用戶進入的時候給他推薦他可能感興趣的物品。

推薦機制

大部分推薦引擎的工作原理是基於物品或者用戶的相似集進行推薦,所以可以對推薦機制進行以下分類。

基於人口統計學的推薦:根據系統用戶的基本信息發現用戶的相關程度。

基於內容的推薦:根據推薦物品或內容的元數據,發現物品或者內容的相關性。

基於協同過濾的推薦:根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者是發現用戶的相關性。

1)基於人口統計學的推薦

基於人口統計學的推薦機制可根據用戶的基本信息發現用戶的相關程度,然後將相似用戶喜愛的其他物品推薦給當前用戶,圖 2 描述了這種推薦機制的工作原理。

從圖 2 中可以很清楚地看出,首先,系統對每個用戶都有一個用戶基本信息的模型,其中包括用戶的年齡、性別等,然後,系統會根據用戶的基本信息計算用戶的相似度,可以看到用戶 A 的基本信息和用戶 C 一樣,所以系統會認為用戶 A 和用戶 C 是相似用戶,在推薦引擎中,可以稱他們是“鄰居”,最後,基於“鄰居”用戶群的喜好推薦給當前用戶一些物品,圖 2 所示為將用戶 A 喜歡的物品 A 推薦給用戶 C。

基於人口統計學的推薦機制的主要優勢是對於新用戶來講沒有“冷啟動”的問題,這是因為該機制不使用當前用戶對物品的喜好歷史數據。該機制的另一個優勢是它是領域獨立的,不依賴於物品本身的數據,所以可以在不同的物品領域都得到使用。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 2 基於人口統計學的推薦機制的工作原理

基於人口統計學的推薦機制的主要問題是基於用戶的基本信息對用戶進行分類的方法過於粗糙,尤其是對品味要求較高的領域,如圖書、電影和音樂等領域,無法得到很好的推薦效果。另外,該機制可能涉及一些與需要查找的信息本身無關卻比較敏感的信息,如用戶的年齡等,這些信息涉及了用戶的隱私。

2)基於內容的推薦

基於內容的推薦是在推薦引擎出現之初應用最為廣泛的推薦機制,它的核心思想是根據推薦物品或內容的元數據,發現物品或內容的相關性,然後基於用戶以往的喜好記錄,推薦給用戶相似的物品。圖 3 描述了基於內容推薦的基本原理。

圖 3 中給出了基於內容推薦的一個典型的例子,即電影推薦系統。首先,需要對電影的元數據進行建模,這裡只簡單地描述了電影的類型。然後,通過電影的元數據發現電影間的相似度,由於電影 A 和 C 的類型都是“愛情、浪漫”,所以它們會被認為是相似的電影。最後,實現推薦,由於用戶 A 喜歡看電影 A,那麼系統就可以給他推薦類似的電影 C。

"

隨著互聯網時代的發展和大數據時代的到來,人們逐漸從信息匱乏的時代走入了信息過載的時代。為了讓用戶從海量信息中高效地獲取自己所需的信息,推薦系統應運而生。

推薦系統的主要任務就是聯繫用戶和信息,它一方面幫助用戶發現對自己有價值的信息,另一方面讓信息能夠展現在對它感興趣的用戶面前,從而實現信息消費者和信息生產者的雙贏。基於大數據的推薦系統通過分析用戶的歷史記錄瞭解用戶的喜好,從而主動為用戶推薦其感興趣的信息,滿足用戶的個性化推薦需求。

推薦系統概述

推薦系統是自動聯繫用戶和物品的一種工具,它通過研究用戶的興趣愛好,來進行個性化推薦。以 Google 和百度為代表的搜索引擎可以讓用戶通過輸入關鍵詞精確找到自己需要的相關信息。但是,搜索引擎需要用戶提供能夠準確描述自己的需求的關鍵詞,否則搜索引擎就無能為力了。

與搜索引擎不同的是,推薦系統不需要用戶提供明確的需求,而是通過分析用戶的歷史行為來對用戶的興趣進行建模,從而主動給用戶推薦可滿足他們興趣和需求的信息。每個用戶所得到的推薦信息都是與自己的行為特徵和興趣有關的,而不是籠統的大眾化信息。

隨著推薦引擎的出現,用戶獲取信息的方式從簡單的目標明確的數據搜索轉換到更高級更符合人們使用習慣的信息發現。隨著推薦技術的不斷髮展,推薦引擎已經在電子商務(如 Amazon.噹噹網)和一些基於社會的化站點(包括音樂、電影和圖書分享,如豆瓣等)中都取得很大的成功。

圖 1 展示了推薦引擎的工作原理,它接收的輸入是推薦的數據源,一般情況下,推薦引擎所需要的數據源包括以下幾點。

要推薦物品或內容的元數據,如關鍵字、基因描述等。

系統用戶的基本信息,如性別、年齡等。

用戶對物品或者信息的偏好,根據應用本身的不同,可能包括用戶對物品的評分,用戶查看物品的記錄,用戶的購買記錄等。

用戶的偏好信息可以分為顯式用戶反饋和隱式用戶反饋兩大類。

顯式用戶反饋是用戶在網站上自然瀏覽或者使用網站以外,顯式地提供的反饋信息,如用戶對物品的評分,或者對物品的評論等。

隱式用戶反饋是用戶在使用網站時產生的數據,隱式地反映了用戶對物品的喜好,如用戶購買了某物品,用戶查看了某物品的信息等。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 1 推薦引擎的工作原理

顯式用戶反饋能準確地反映用戶對物品的真實喜好,但需要用戶付出額外的勞動,而隱式用戶行為,通過一些分析和處理,也能反映用戶的喜好,只是數據不是很精確,有些行為的分析存在較大的噪聲。但只要選擇正確的行為特徵,隱式用戶反饋也能得到很好的效果。例如,在電子商務的網站上,購買行為其實就是一個能很好表現用戶喜好的隱式用戶反饋。

推薦引擎根據不同的推薦機制可能用到數據源中的不同部分,然後根據這些數據,分析出一定的規則或者直接對用戶對其他物品的喜好進行預測計算。這樣,推薦引擎就可以在用戶進入的時候給他推薦他可能感興趣的物品。

推薦機制

大部分推薦引擎的工作原理是基於物品或者用戶的相似集進行推薦,所以可以對推薦機制進行以下分類。

基於人口統計學的推薦:根據系統用戶的基本信息發現用戶的相關程度。

基於內容的推薦:根據推薦物品或內容的元數據,發現物品或者內容的相關性。

基於協同過濾的推薦:根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者是發現用戶的相關性。

1)基於人口統計學的推薦

基於人口統計學的推薦機制可根據用戶的基本信息發現用戶的相關程度,然後將相似用戶喜愛的其他物品推薦給當前用戶,圖 2 描述了這種推薦機制的工作原理。

從圖 2 中可以很清楚地看出,首先,系統對每個用戶都有一個用戶基本信息的模型,其中包括用戶的年齡、性別等,然後,系統會根據用戶的基本信息計算用戶的相似度,可以看到用戶 A 的基本信息和用戶 C 一樣,所以系統會認為用戶 A 和用戶 C 是相似用戶,在推薦引擎中,可以稱他們是“鄰居”,最後,基於“鄰居”用戶群的喜好推薦給當前用戶一些物品,圖 2 所示為將用戶 A 喜歡的物品 A 推薦給用戶 C。

基於人口統計學的推薦機制的主要優勢是對於新用戶來講沒有“冷啟動”的問題,這是因為該機制不使用當前用戶對物品的喜好歷史數據。該機制的另一個優勢是它是領域獨立的,不依賴於物品本身的數據,所以可以在不同的物品領域都得到使用。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 2 基於人口統計學的推薦機制的工作原理

基於人口統計學的推薦機制的主要問題是基於用戶的基本信息對用戶進行分類的方法過於粗糙,尤其是對品味要求較高的領域,如圖書、電影和音樂等領域,無法得到很好的推薦效果。另外,該機制可能涉及一些與需要查找的信息本身無關卻比較敏感的信息,如用戶的年齡等,這些信息涉及了用戶的隱私。

2)基於內容的推薦

基於內容的推薦是在推薦引擎出現之初應用最為廣泛的推薦機制,它的核心思想是根據推薦物品或內容的元數據,發現物品或內容的相關性,然後基於用戶以往的喜好記錄,推薦給用戶相似的物品。圖 3 描述了基於內容推薦的基本原理。

圖 3 中給出了基於內容推薦的一個典型的例子,即電影推薦系統。首先,需要對電影的元數據進行建模,這裡只簡單地描述了電影的類型。然後,通過電影的元數據發現電影間的相似度,由於電影 A 和 C 的類型都是“愛情、浪漫”,所以它們會被認為是相似的電影。最後,實現推薦,由於用戶 A 喜歡看電影 A,那麼系統就可以給他推薦類似的電影 C。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 3 基於內容推薦機制的工作原理

基於內容的推薦機制的好處在於它能基於用戶的口味建模,能提供更加精確的推薦。但它也存在以下幾個問題。

需要對物品進行分析和建模,推薦的質量依賴於物品模型的完整和全面程度。

物品相似度的分析僅僅依賴於物品本身的特徵,而沒有考慮人對物品的態度。

因為是基於用戶以往的歷史做出推薦,所以對於新用戶有“冷啟動”的問題。

雖然基於內容的推薦機制有很多不足和問題,但它還是成功地應用在一些電影、音樂、圖書的社交站點。有些站點還請專業的人員對物品進行基因編碼,例如,在潘多拉的推薦引擎中,每首歌有超過 100 個元數據特徵,包括歌曲的風格、年份、演唱者等。

3)基於協同過濾的推薦

隨著互聯網時代的發展,Web 站點更加提倡用戶參與和用戶貢獻,因此基於協同過濾的推薦機制應運而生。它的原理就是根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者發現用戶的相關性,然後再基於這些相關性進行推薦。

基於協同過濾的推薦可以分為 3 個子類:基於用戶的協同過濾推薦,基於項目的協同過濾推薦和基於模型的協同過濾推薦。

① 基於用戶的協同過濾推薦

基於用戶的協同過濾推薦的基本原理是根據所有用戶對物品或者信息的偏好,發現與當前用戶口味和偏好相似的“鄰居”用戶群。一般的應用是採用計算“k-鄰居”的算法,然後基於這 k 個鄰居的歷史偏好信息,為當前用戶進行推薦的。圖 4 描述了基於用戶的協同過濾推薦機制的基本原理。

如圖 4 所示,假設用戶 A 喜歡物品 A 和物品 C,用戶 B 喜歡物品 B,用戶 C 喜歡物品 A、物品 C 和物品 D。從這些用戶的歷史喜好信息中可以發現,用戶 A 和用戶 C 的口味和偏好是比較類似的,同時用戶 C 還喜歡物品 D ,那麼系統可以推斷用戶 A 很可能也喜歡物品 D,因此可以將物品 D 推薦給用戶 A。

"

隨著互聯網時代的發展和大數據時代的到來,人們逐漸從信息匱乏的時代走入了信息過載的時代。為了讓用戶從海量信息中高效地獲取自己所需的信息,推薦系統應運而生。

推薦系統的主要任務就是聯繫用戶和信息,它一方面幫助用戶發現對自己有價值的信息,另一方面讓信息能夠展現在對它感興趣的用戶面前,從而實現信息消費者和信息生產者的雙贏。基於大數據的推薦系統通過分析用戶的歷史記錄瞭解用戶的喜好,從而主動為用戶推薦其感興趣的信息,滿足用戶的個性化推薦需求。

推薦系統概述

推薦系統是自動聯繫用戶和物品的一種工具,它通過研究用戶的興趣愛好,來進行個性化推薦。以 Google 和百度為代表的搜索引擎可以讓用戶通過輸入關鍵詞精確找到自己需要的相關信息。但是,搜索引擎需要用戶提供能夠準確描述自己的需求的關鍵詞,否則搜索引擎就無能為力了。

與搜索引擎不同的是,推薦系統不需要用戶提供明確的需求,而是通過分析用戶的歷史行為來對用戶的興趣進行建模,從而主動給用戶推薦可滿足他們興趣和需求的信息。每個用戶所得到的推薦信息都是與自己的行為特徵和興趣有關的,而不是籠統的大眾化信息。

隨著推薦引擎的出現,用戶獲取信息的方式從簡單的目標明確的數據搜索轉換到更高級更符合人們使用習慣的信息發現。隨著推薦技術的不斷髮展,推薦引擎已經在電子商務(如 Amazon.噹噹網)和一些基於社會的化站點(包括音樂、電影和圖書分享,如豆瓣等)中都取得很大的成功。

圖 1 展示了推薦引擎的工作原理,它接收的輸入是推薦的數據源,一般情況下,推薦引擎所需要的數據源包括以下幾點。

要推薦物品或內容的元數據,如關鍵字、基因描述等。

系統用戶的基本信息,如性別、年齡等。

用戶對物品或者信息的偏好,根據應用本身的不同,可能包括用戶對物品的評分,用戶查看物品的記錄,用戶的購買記錄等。

用戶的偏好信息可以分為顯式用戶反饋和隱式用戶反饋兩大類。

顯式用戶反饋是用戶在網站上自然瀏覽或者使用網站以外,顯式地提供的反饋信息,如用戶對物品的評分,或者對物品的評論等。

隱式用戶反饋是用戶在使用網站時產生的數據,隱式地反映了用戶對物品的喜好,如用戶購買了某物品,用戶查看了某物品的信息等。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 1 推薦引擎的工作原理

顯式用戶反饋能準確地反映用戶對物品的真實喜好,但需要用戶付出額外的勞動,而隱式用戶行為,通過一些分析和處理,也能反映用戶的喜好,只是數據不是很精確,有些行為的分析存在較大的噪聲。但只要選擇正確的行為特徵,隱式用戶反饋也能得到很好的效果。例如,在電子商務的網站上,購買行為其實就是一個能很好表現用戶喜好的隱式用戶反饋。

推薦引擎根據不同的推薦機制可能用到數據源中的不同部分,然後根據這些數據,分析出一定的規則或者直接對用戶對其他物品的喜好進行預測計算。這樣,推薦引擎就可以在用戶進入的時候給他推薦他可能感興趣的物品。

推薦機制

大部分推薦引擎的工作原理是基於物品或者用戶的相似集進行推薦,所以可以對推薦機制進行以下分類。

基於人口統計學的推薦:根據系統用戶的基本信息發現用戶的相關程度。

基於內容的推薦:根據推薦物品或內容的元數據,發現物品或者內容的相關性。

基於協同過濾的推薦:根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者是發現用戶的相關性。

1)基於人口統計學的推薦

基於人口統計學的推薦機制可根據用戶的基本信息發現用戶的相關程度,然後將相似用戶喜愛的其他物品推薦給當前用戶,圖 2 描述了這種推薦機制的工作原理。

從圖 2 中可以很清楚地看出,首先,系統對每個用戶都有一個用戶基本信息的模型,其中包括用戶的年齡、性別等,然後,系統會根據用戶的基本信息計算用戶的相似度,可以看到用戶 A 的基本信息和用戶 C 一樣,所以系統會認為用戶 A 和用戶 C 是相似用戶,在推薦引擎中,可以稱他們是“鄰居”,最後,基於“鄰居”用戶群的喜好推薦給當前用戶一些物品,圖 2 所示為將用戶 A 喜歡的物品 A 推薦給用戶 C。

基於人口統計學的推薦機制的主要優勢是對於新用戶來講沒有“冷啟動”的問題,這是因為該機制不使用當前用戶對物品的喜好歷史數據。該機制的另一個優勢是它是領域獨立的,不依賴於物品本身的數據,所以可以在不同的物品領域都得到使用。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 2 基於人口統計學的推薦機制的工作原理

基於人口統計學的推薦機制的主要問題是基於用戶的基本信息對用戶進行分類的方法過於粗糙,尤其是對品味要求較高的領域,如圖書、電影和音樂等領域,無法得到很好的推薦效果。另外,該機制可能涉及一些與需要查找的信息本身無關卻比較敏感的信息,如用戶的年齡等,這些信息涉及了用戶的隱私。

2)基於內容的推薦

基於內容的推薦是在推薦引擎出現之初應用最為廣泛的推薦機制,它的核心思想是根據推薦物品或內容的元數據,發現物品或內容的相關性,然後基於用戶以往的喜好記錄,推薦給用戶相似的物品。圖 3 描述了基於內容推薦的基本原理。

圖 3 中給出了基於內容推薦的一個典型的例子,即電影推薦系統。首先,需要對電影的元數據進行建模,這裡只簡單地描述了電影的類型。然後,通過電影的元數據發現電影間的相似度,由於電影 A 和 C 的類型都是“愛情、浪漫”,所以它們會被認為是相似的電影。最後,實現推薦,由於用戶 A 喜歡看電影 A,那麼系統就可以給他推薦類似的電影 C。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 3 基於內容推薦機制的工作原理

基於內容的推薦機制的好處在於它能基於用戶的口味建模,能提供更加精確的推薦。但它也存在以下幾個問題。

需要對物品進行分析和建模,推薦的質量依賴於物品模型的完整和全面程度。

物品相似度的分析僅僅依賴於物品本身的特徵,而沒有考慮人對物品的態度。

因為是基於用戶以往的歷史做出推薦,所以對於新用戶有“冷啟動”的問題。

雖然基於內容的推薦機制有很多不足和問題,但它還是成功地應用在一些電影、音樂、圖書的社交站點。有些站點還請專業的人員對物品進行基因編碼,例如,在潘多拉的推薦引擎中,每首歌有超過 100 個元數據特徵,包括歌曲的風格、年份、演唱者等。

3)基於協同過濾的推薦

隨著互聯網時代的發展,Web 站點更加提倡用戶參與和用戶貢獻,因此基於協同過濾的推薦機制應運而生。它的原理就是根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者發現用戶的相關性,然後再基於這些相關性進行推薦。

基於協同過濾的推薦可以分為 3 個子類:基於用戶的協同過濾推薦,基於項目的協同過濾推薦和基於模型的協同過濾推薦。

① 基於用戶的協同過濾推薦

基於用戶的協同過濾推薦的基本原理是根據所有用戶對物品或者信息的偏好,發現與當前用戶口味和偏好相似的“鄰居”用戶群。一般的應用是採用計算“k-鄰居”的算法,然後基於這 k 個鄰居的歷史偏好信息,為當前用戶進行推薦的。圖 4 描述了基於用戶的協同過濾推薦機制的基本原理。

如圖 4 所示,假設用戶 A 喜歡物品 A 和物品 C,用戶 B 喜歡物品 B,用戶 C 喜歡物品 A、物品 C 和物品 D。從這些用戶的歷史喜好信息中可以發現,用戶 A 和用戶 C 的口味和偏好是比較類似的,同時用戶 C 還喜歡物品 D ,那麼系統可以推斷用戶 A 很可能也喜歡物品 D,因此可以將物品 D 推薦給用戶 A。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 4 基於用戶的協同過濾推薦機制的基本原理

基於用戶的協同過濾推薦機制和基於人口統計學的推薦機制都是計算用戶的相似度,並基於“鄰居”用戶群計算推薦的,它們的不同之處在於如何計算用戶的相似度。基於人口統計學的機制只考慮用戶本身的特徵,而基於用戶的協同過濾機制是在用戶的歷史偏好的數據上計算用戶的相似度,它的基本假設是,喜歡類似物品的用戶可能有相同或者相似的口味和偏好。

② 基於項目的協同過濾推薦

基於項目的協同過濾推薦的基本原理是使用所有用戶對物品或者信息的偏好,發現物品和物品之間的相似度,然後根據用戶的歷史偏好信息,將類似的物品推薦給用戶,圖 5 描述了它的基本原理。

"

隨著互聯網時代的發展和大數據時代的到來,人們逐漸從信息匱乏的時代走入了信息過載的時代。為了讓用戶從海量信息中高效地獲取自己所需的信息,推薦系統應運而生。

推薦系統的主要任務就是聯繫用戶和信息,它一方面幫助用戶發現對自己有價值的信息,另一方面讓信息能夠展現在對它感興趣的用戶面前,從而實現信息消費者和信息生產者的雙贏。基於大數據的推薦系統通過分析用戶的歷史記錄瞭解用戶的喜好,從而主動為用戶推薦其感興趣的信息,滿足用戶的個性化推薦需求。

推薦系統概述

推薦系統是自動聯繫用戶和物品的一種工具,它通過研究用戶的興趣愛好,來進行個性化推薦。以 Google 和百度為代表的搜索引擎可以讓用戶通過輸入關鍵詞精確找到自己需要的相關信息。但是,搜索引擎需要用戶提供能夠準確描述自己的需求的關鍵詞,否則搜索引擎就無能為力了。

與搜索引擎不同的是,推薦系統不需要用戶提供明確的需求,而是通過分析用戶的歷史行為來對用戶的興趣進行建模,從而主動給用戶推薦可滿足他們興趣和需求的信息。每個用戶所得到的推薦信息都是與自己的行為特徵和興趣有關的,而不是籠統的大眾化信息。

隨著推薦引擎的出現,用戶獲取信息的方式從簡單的目標明確的數據搜索轉換到更高級更符合人們使用習慣的信息發現。隨著推薦技術的不斷髮展,推薦引擎已經在電子商務(如 Amazon.噹噹網)和一些基於社會的化站點(包括音樂、電影和圖書分享,如豆瓣等)中都取得很大的成功。

圖 1 展示了推薦引擎的工作原理,它接收的輸入是推薦的數據源,一般情況下,推薦引擎所需要的數據源包括以下幾點。

要推薦物品或內容的元數據,如關鍵字、基因描述等。

系統用戶的基本信息,如性別、年齡等。

用戶對物品或者信息的偏好,根據應用本身的不同,可能包括用戶對物品的評分,用戶查看物品的記錄,用戶的購買記錄等。

用戶的偏好信息可以分為顯式用戶反饋和隱式用戶反饋兩大類。

顯式用戶反饋是用戶在網站上自然瀏覽或者使用網站以外,顯式地提供的反饋信息,如用戶對物品的評分,或者對物品的評論等。

隱式用戶反饋是用戶在使用網站時產生的數據,隱式地反映了用戶對物品的喜好,如用戶購買了某物品,用戶查看了某物品的信息等。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 1 推薦引擎的工作原理

顯式用戶反饋能準確地反映用戶對物品的真實喜好,但需要用戶付出額外的勞動,而隱式用戶行為,通過一些分析和處理,也能反映用戶的喜好,只是數據不是很精確,有些行為的分析存在較大的噪聲。但只要選擇正確的行為特徵,隱式用戶反饋也能得到很好的效果。例如,在電子商務的網站上,購買行為其實就是一個能很好表現用戶喜好的隱式用戶反饋。

推薦引擎根據不同的推薦機制可能用到數據源中的不同部分,然後根據這些數據,分析出一定的規則或者直接對用戶對其他物品的喜好進行預測計算。這樣,推薦引擎就可以在用戶進入的時候給他推薦他可能感興趣的物品。

推薦機制

大部分推薦引擎的工作原理是基於物品或者用戶的相似集進行推薦,所以可以對推薦機制進行以下分類。

基於人口統計學的推薦:根據系統用戶的基本信息發現用戶的相關程度。

基於內容的推薦:根據推薦物品或內容的元數據,發現物品或者內容的相關性。

基於協同過濾的推薦:根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者是發現用戶的相關性。

1)基於人口統計學的推薦

基於人口統計學的推薦機制可根據用戶的基本信息發現用戶的相關程度,然後將相似用戶喜愛的其他物品推薦給當前用戶,圖 2 描述了這種推薦機制的工作原理。

從圖 2 中可以很清楚地看出,首先,系統對每個用戶都有一個用戶基本信息的模型,其中包括用戶的年齡、性別等,然後,系統會根據用戶的基本信息計算用戶的相似度,可以看到用戶 A 的基本信息和用戶 C 一樣,所以系統會認為用戶 A 和用戶 C 是相似用戶,在推薦引擎中,可以稱他們是“鄰居”,最後,基於“鄰居”用戶群的喜好推薦給當前用戶一些物品,圖 2 所示為將用戶 A 喜歡的物品 A 推薦給用戶 C。

基於人口統計學的推薦機制的主要優勢是對於新用戶來講沒有“冷啟動”的問題,這是因為該機制不使用當前用戶對物品的喜好歷史數據。該機制的另一個優勢是它是領域獨立的,不依賴於物品本身的數據,所以可以在不同的物品領域都得到使用。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 2 基於人口統計學的推薦機制的工作原理

基於人口統計學的推薦機制的主要問題是基於用戶的基本信息對用戶進行分類的方法過於粗糙,尤其是對品味要求較高的領域,如圖書、電影和音樂等領域,無法得到很好的推薦效果。另外,該機制可能涉及一些與需要查找的信息本身無關卻比較敏感的信息,如用戶的年齡等,這些信息涉及了用戶的隱私。

2)基於內容的推薦

基於內容的推薦是在推薦引擎出現之初應用最為廣泛的推薦機制,它的核心思想是根據推薦物品或內容的元數據,發現物品或內容的相關性,然後基於用戶以往的喜好記錄,推薦給用戶相似的物品。圖 3 描述了基於內容推薦的基本原理。

圖 3 中給出了基於內容推薦的一個典型的例子,即電影推薦系統。首先,需要對電影的元數據進行建模,這裡只簡單地描述了電影的類型。然後,通過電影的元數據發現電影間的相似度,由於電影 A 和 C 的類型都是“愛情、浪漫”,所以它們會被認為是相似的電影。最後,實現推薦,由於用戶 A 喜歡看電影 A,那麼系統就可以給他推薦類似的電影 C。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 3 基於內容推薦機制的工作原理

基於內容的推薦機制的好處在於它能基於用戶的口味建模,能提供更加精確的推薦。但它也存在以下幾個問題。

需要對物品進行分析和建模,推薦的質量依賴於物品模型的完整和全面程度。

物品相似度的分析僅僅依賴於物品本身的特徵,而沒有考慮人對物品的態度。

因為是基於用戶以往的歷史做出推薦,所以對於新用戶有“冷啟動”的問題。

雖然基於內容的推薦機制有很多不足和問題,但它還是成功地應用在一些電影、音樂、圖書的社交站點。有些站點還請專業的人員對物品進行基因編碼,例如,在潘多拉的推薦引擎中,每首歌有超過 100 個元數據特徵,包括歌曲的風格、年份、演唱者等。

3)基於協同過濾的推薦

隨著互聯網時代的發展,Web 站點更加提倡用戶參與和用戶貢獻,因此基於協同過濾的推薦機制應運而生。它的原理就是根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者發現用戶的相關性,然後再基於這些相關性進行推薦。

基於協同過濾的推薦可以分為 3 個子類:基於用戶的協同過濾推薦,基於項目的協同過濾推薦和基於模型的協同過濾推薦。

① 基於用戶的協同過濾推薦

基於用戶的協同過濾推薦的基本原理是根據所有用戶對物品或者信息的偏好,發現與當前用戶口味和偏好相似的“鄰居”用戶群。一般的應用是採用計算“k-鄰居”的算法,然後基於這 k 個鄰居的歷史偏好信息,為當前用戶進行推薦的。圖 4 描述了基於用戶的協同過濾推薦機制的基本原理。

如圖 4 所示,假設用戶 A 喜歡物品 A 和物品 C,用戶 B 喜歡物品 B,用戶 C 喜歡物品 A、物品 C 和物品 D。從這些用戶的歷史喜好信息中可以發現,用戶 A 和用戶 C 的口味和偏好是比較類似的,同時用戶 C 還喜歡物品 D ,那麼系統可以推斷用戶 A 很可能也喜歡物品 D,因此可以將物品 D 推薦給用戶 A。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 4 基於用戶的協同過濾推薦機制的基本原理

基於用戶的協同過濾推薦機制和基於人口統計學的推薦機制都是計算用戶的相似度,並基於“鄰居”用戶群計算推薦的,它們的不同之處在於如何計算用戶的相似度。基於人口統計學的機制只考慮用戶本身的特徵,而基於用戶的協同過濾機制是在用戶的歷史偏好的數據上計算用戶的相似度,它的基本假設是,喜歡類似物品的用戶可能有相同或者相似的口味和偏好。

② 基於項目的協同過濾推薦

基於項目的協同過濾推薦的基本原理是使用所有用戶對物品或者信息的偏好,發現物品和物品之間的相似度,然後根據用戶的歷史偏好信息,將類似的物品推薦給用戶,圖 5 描述了它的基本原理。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 5 基於項目的協同過濾推薦機制的基本原理

假設用戶 A 喜歡物品 A 和物品 C,用戶 B 喜歡物品 A、物品 B 和物品 C,用戶 C 喜歡物品A。從這些用戶的歷史喜好可以分析出物品 A 和物品 C 是比較類似的,因為喜歡物品 A 的人都喜歡物品 C。基於這個數據可以推斷用戶 C 很有可能也喜歡物品 C,所以系統會將物品 C 推薦給用戶 C。

基於項目的協同過濾推薦和基於內容的協同過濾推薦其實都是基於物品相似度的預測推薦,只是相似度計算的方法不一樣,前者是從用戶歷史的偏好進行推斷的,而後者是基於物品本身的屬性特徵信息進行推斷的。

③ 基於模型的協同過濾推薦

基於模型的協同過濾推薦就是指基於樣本的用戶喜好信息,採用機器學習的方法訓練一個推薦模型,然後根據實時的用戶喜好的信息進行預測,從而計算推薦。

這種方法使用離線的歷史數據進行模型訓練和評估,需要耗費較長的時間,依賴於實際的數據集規模、機器學習算法計算複雜度。

基於協同過濾的推薦機制是目前應用最為廣泛的推薦機制,它具有以下兩個優點。

它不需要對物品或者用戶進行嚴格的建模,而且不要求物品的描述是機器可理解的,所以這種方法也是領域無關的。

這種方法計算岀來的推薦是開放的,可以共用他人的經驗,能夠很好地支持用戶發現潛在的興趣偏好。

基於協同過濾的推薦機制也存在以下幾個問題。

方法的核心是基於歷史數據,所以對新物品和新用戶都有“冷啟動”的問題。

推薦的效果依賴於用戶歷史偏好數據的多少和準確性。

對於一些特殊品味的用戶不能給予很好的推薦。

由於以歷史數據為基礎,抓取和建模用戶的偏好後,很難修改或者根據用戶的使用進行演變,從而導致這個方法不夠靈活。

4)混合推薦機制

在現行的 Web 站點上的推薦往往不是隻採用了某一種推薦機制和策略的,而是將多個方法混合在一起,從而達到更好的推薦效果。有以下幾種比較流行的組合推薦機制的方法。

加權的混合:用線性公式將幾種不同的推薦按照一定權重組合起來,具體權重的值需要在測試數據集上反覆實驗,從而達到最好的推薦效果。

切換的混合:對於不同的情況(如數據量,系統運行狀況,用戶和物品的數目等),選擇最為合適的推薦機制計算推薦。

分區的混合:採用多種推薦機制,並將不同的推薦結果分不同的區顯示給用戶。

分層的混合:採用多種推薦機制,並將一個推薦機制的結果作為另一個的輸入,從而綜合各個推薦機制的優缺點,得到更加準確的推薦。

推薦系統的應用

目前,在電子商務、社交網絡、在線音樂和在線視頻等各類網站和應用中,推薦系統都起著很重要的作用。下面將簡要分析兩個有代表性的推薦系統(Amazon 作為電子商務的代表,豆 瓣作為社交網絡的代表)。

1)推薦在電子商務中的應用:Amazon

Amazon 作為推薦系統的鼻祖,已經將推薦的思想滲透在應用的各個角落。Amazon 推薦的核心是,通過數據挖掘算法和用戶與其他用戶的消費偏好的對比,來預測用戶可能感興趣的商品。 Amazon 採用的是分區的混合的機制,即將不同的推薦結果分不同的區顯示給用戶。圖 6 展示了用戶在 Amazon 首頁上能得到的推薦。

"

隨著互聯網時代的發展和大數據時代的到來,人們逐漸從信息匱乏的時代走入了信息過載的時代。為了讓用戶從海量信息中高效地獲取自己所需的信息,推薦系統應運而生。

推薦系統的主要任務就是聯繫用戶和信息,它一方面幫助用戶發現對自己有價值的信息,另一方面讓信息能夠展現在對它感興趣的用戶面前,從而實現信息消費者和信息生產者的雙贏。基於大數據的推薦系統通過分析用戶的歷史記錄瞭解用戶的喜好,從而主動為用戶推薦其感興趣的信息,滿足用戶的個性化推薦需求。

推薦系統概述

推薦系統是自動聯繫用戶和物品的一種工具,它通過研究用戶的興趣愛好,來進行個性化推薦。以 Google 和百度為代表的搜索引擎可以讓用戶通過輸入關鍵詞精確找到自己需要的相關信息。但是,搜索引擎需要用戶提供能夠準確描述自己的需求的關鍵詞,否則搜索引擎就無能為力了。

與搜索引擎不同的是,推薦系統不需要用戶提供明確的需求,而是通過分析用戶的歷史行為來對用戶的興趣進行建模,從而主動給用戶推薦可滿足他們興趣和需求的信息。每個用戶所得到的推薦信息都是與自己的行為特徵和興趣有關的,而不是籠統的大眾化信息。

隨著推薦引擎的出現,用戶獲取信息的方式從簡單的目標明確的數據搜索轉換到更高級更符合人們使用習慣的信息發現。隨著推薦技術的不斷髮展,推薦引擎已經在電子商務(如 Amazon.噹噹網)和一些基於社會的化站點(包括音樂、電影和圖書分享,如豆瓣等)中都取得很大的成功。

圖 1 展示了推薦引擎的工作原理,它接收的輸入是推薦的數據源,一般情況下,推薦引擎所需要的數據源包括以下幾點。

要推薦物品或內容的元數據,如關鍵字、基因描述等。

系統用戶的基本信息,如性別、年齡等。

用戶對物品或者信息的偏好,根據應用本身的不同,可能包括用戶對物品的評分,用戶查看物品的記錄,用戶的購買記錄等。

用戶的偏好信息可以分為顯式用戶反饋和隱式用戶反饋兩大類。

顯式用戶反饋是用戶在網站上自然瀏覽或者使用網站以外,顯式地提供的反饋信息,如用戶對物品的評分,或者對物品的評論等。

隱式用戶反饋是用戶在使用網站時產生的數據,隱式地反映了用戶對物品的喜好,如用戶購買了某物品,用戶查看了某物品的信息等。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 1 推薦引擎的工作原理

顯式用戶反饋能準確地反映用戶對物品的真實喜好,但需要用戶付出額外的勞動,而隱式用戶行為,通過一些分析和處理,也能反映用戶的喜好,只是數據不是很精確,有些行為的分析存在較大的噪聲。但只要選擇正確的行為特徵,隱式用戶反饋也能得到很好的效果。例如,在電子商務的網站上,購買行為其實就是一個能很好表現用戶喜好的隱式用戶反饋。

推薦引擎根據不同的推薦機制可能用到數據源中的不同部分,然後根據這些數據,分析出一定的規則或者直接對用戶對其他物品的喜好進行預測計算。這樣,推薦引擎就可以在用戶進入的時候給他推薦他可能感興趣的物品。

推薦機制

大部分推薦引擎的工作原理是基於物品或者用戶的相似集進行推薦,所以可以對推薦機制進行以下分類。

基於人口統計學的推薦:根據系統用戶的基本信息發現用戶的相關程度。

基於內容的推薦:根據推薦物品或內容的元數據,發現物品或者內容的相關性。

基於協同過濾的推薦:根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者是發現用戶的相關性。

1)基於人口統計學的推薦

基於人口統計學的推薦機制可根據用戶的基本信息發現用戶的相關程度,然後將相似用戶喜愛的其他物品推薦給當前用戶,圖 2 描述了這種推薦機制的工作原理。

從圖 2 中可以很清楚地看出,首先,系統對每個用戶都有一個用戶基本信息的模型,其中包括用戶的年齡、性別等,然後,系統會根據用戶的基本信息計算用戶的相似度,可以看到用戶 A 的基本信息和用戶 C 一樣,所以系統會認為用戶 A 和用戶 C 是相似用戶,在推薦引擎中,可以稱他們是“鄰居”,最後,基於“鄰居”用戶群的喜好推薦給當前用戶一些物品,圖 2 所示為將用戶 A 喜歡的物品 A 推薦給用戶 C。

基於人口統計學的推薦機制的主要優勢是對於新用戶來講沒有“冷啟動”的問題,這是因為該機制不使用當前用戶對物品的喜好歷史數據。該機制的另一個優勢是它是領域獨立的,不依賴於物品本身的數據,所以可以在不同的物品領域都得到使用。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 2 基於人口統計學的推薦機制的工作原理

基於人口統計學的推薦機制的主要問題是基於用戶的基本信息對用戶進行分類的方法過於粗糙,尤其是對品味要求較高的領域,如圖書、電影和音樂等領域,無法得到很好的推薦效果。另外,該機制可能涉及一些與需要查找的信息本身無關卻比較敏感的信息,如用戶的年齡等,這些信息涉及了用戶的隱私。

2)基於內容的推薦

基於內容的推薦是在推薦引擎出現之初應用最為廣泛的推薦機制,它的核心思想是根據推薦物品或內容的元數據,發現物品或內容的相關性,然後基於用戶以往的喜好記錄,推薦給用戶相似的物品。圖 3 描述了基於內容推薦的基本原理。

圖 3 中給出了基於內容推薦的一個典型的例子,即電影推薦系統。首先,需要對電影的元數據進行建模,這裡只簡單地描述了電影的類型。然後,通過電影的元數據發現電影間的相似度,由於電影 A 和 C 的類型都是“愛情、浪漫”,所以它們會被認為是相似的電影。最後,實現推薦,由於用戶 A 喜歡看電影 A,那麼系統就可以給他推薦類似的電影 C。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 3 基於內容推薦機制的工作原理

基於內容的推薦機制的好處在於它能基於用戶的口味建模,能提供更加精確的推薦。但它也存在以下幾個問題。

需要對物品進行分析和建模,推薦的質量依賴於物品模型的完整和全面程度。

物品相似度的分析僅僅依賴於物品本身的特徵,而沒有考慮人對物品的態度。

因為是基於用戶以往的歷史做出推薦,所以對於新用戶有“冷啟動”的問題。

雖然基於內容的推薦機制有很多不足和問題,但它還是成功地應用在一些電影、音樂、圖書的社交站點。有些站點還請專業的人員對物品進行基因編碼,例如,在潘多拉的推薦引擎中,每首歌有超過 100 個元數據特徵,包括歌曲的風格、年份、演唱者等。

3)基於協同過濾的推薦

隨著互聯網時代的發展,Web 站點更加提倡用戶參與和用戶貢獻,因此基於協同過濾的推薦機制應運而生。它的原理就是根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者發現用戶的相關性,然後再基於這些相關性進行推薦。

基於協同過濾的推薦可以分為 3 個子類:基於用戶的協同過濾推薦,基於項目的協同過濾推薦和基於模型的協同過濾推薦。

① 基於用戶的協同過濾推薦

基於用戶的協同過濾推薦的基本原理是根據所有用戶對物品或者信息的偏好,發現與當前用戶口味和偏好相似的“鄰居”用戶群。一般的應用是採用計算“k-鄰居”的算法,然後基於這 k 個鄰居的歷史偏好信息,為當前用戶進行推薦的。圖 4 描述了基於用戶的協同過濾推薦機制的基本原理。

如圖 4 所示,假設用戶 A 喜歡物品 A 和物品 C,用戶 B 喜歡物品 B,用戶 C 喜歡物品 A、物品 C 和物品 D。從這些用戶的歷史喜好信息中可以發現,用戶 A 和用戶 C 的口味和偏好是比較類似的,同時用戶 C 還喜歡物品 D ,那麼系統可以推斷用戶 A 很可能也喜歡物品 D,因此可以將物品 D 推薦給用戶 A。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 4 基於用戶的協同過濾推薦機制的基本原理

基於用戶的協同過濾推薦機制和基於人口統計學的推薦機制都是計算用戶的相似度,並基於“鄰居”用戶群計算推薦的,它們的不同之處在於如何計算用戶的相似度。基於人口統計學的機制只考慮用戶本身的特徵,而基於用戶的協同過濾機制是在用戶的歷史偏好的數據上計算用戶的相似度,它的基本假設是,喜歡類似物品的用戶可能有相同或者相似的口味和偏好。

② 基於項目的協同過濾推薦

基於項目的協同過濾推薦的基本原理是使用所有用戶對物品或者信息的偏好,發現物品和物品之間的相似度,然後根據用戶的歷史偏好信息,將類似的物品推薦給用戶,圖 5 描述了它的基本原理。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 5 基於項目的協同過濾推薦機制的基本原理

假設用戶 A 喜歡物品 A 和物品 C,用戶 B 喜歡物品 A、物品 B 和物品 C,用戶 C 喜歡物品A。從這些用戶的歷史喜好可以分析出物品 A 和物品 C 是比較類似的,因為喜歡物品 A 的人都喜歡物品 C。基於這個數據可以推斷用戶 C 很有可能也喜歡物品 C,所以系統會將物品 C 推薦給用戶 C。

基於項目的協同過濾推薦和基於內容的協同過濾推薦其實都是基於物品相似度的預測推薦,只是相似度計算的方法不一樣,前者是從用戶歷史的偏好進行推斷的,而後者是基於物品本身的屬性特徵信息進行推斷的。

③ 基於模型的協同過濾推薦

基於模型的協同過濾推薦就是指基於樣本的用戶喜好信息,採用機器學習的方法訓練一個推薦模型,然後根據實時的用戶喜好的信息進行預測,從而計算推薦。

這種方法使用離線的歷史數據進行模型訓練和評估,需要耗費較長的時間,依賴於實際的數據集規模、機器學習算法計算複雜度。

基於協同過濾的推薦機制是目前應用最為廣泛的推薦機制,它具有以下兩個優點。

它不需要對物品或者用戶進行嚴格的建模,而且不要求物品的描述是機器可理解的,所以這種方法也是領域無關的。

這種方法計算岀來的推薦是開放的,可以共用他人的經驗,能夠很好地支持用戶發現潛在的興趣偏好。

基於協同過濾的推薦機制也存在以下幾個問題。

方法的核心是基於歷史數據,所以對新物品和新用戶都有“冷啟動”的問題。

推薦的效果依賴於用戶歷史偏好數據的多少和準確性。

對於一些特殊品味的用戶不能給予很好的推薦。

由於以歷史數據為基礎,抓取和建模用戶的偏好後,很難修改或者根據用戶的使用進行演變,從而導致這個方法不夠靈活。

4)混合推薦機制

在現行的 Web 站點上的推薦往往不是隻採用了某一種推薦機制和策略的,而是將多個方法混合在一起,從而達到更好的推薦效果。有以下幾種比較流行的組合推薦機制的方法。

加權的混合:用線性公式將幾種不同的推薦按照一定權重組合起來,具體權重的值需要在測試數據集上反覆實驗,從而達到最好的推薦效果。

切換的混合:對於不同的情況(如數據量,系統運行狀況,用戶和物品的數目等),選擇最為合適的推薦機制計算推薦。

分區的混合:採用多種推薦機制,並將不同的推薦結果分不同的區顯示給用戶。

分層的混合:採用多種推薦機制,並將一個推薦機制的結果作為另一個的輸入,從而綜合各個推薦機制的優缺點,得到更加準確的推薦。

推薦系統的應用

目前,在電子商務、社交網絡、在線音樂和在線視頻等各類網站和應用中,推薦系統都起著很重要的作用。下面將簡要分析兩個有代表性的推薦系統(Amazon 作為電子商務的代表,豆 瓣作為社交網絡的代表)。

1)推薦在電子商務中的應用:Amazon

Amazon 作為推薦系統的鼻祖,已經將推薦的思想滲透在應用的各個角落。Amazon 推薦的核心是,通過數據挖掘算法和用戶與其他用戶的消費偏好的對比,來預測用戶可能感興趣的商品。 Amazon 採用的是分區的混合的機制,即將不同的推薦結果分不同的區顯示給用戶。圖 6 展示了用戶在 Amazon 首頁上能得到的推薦。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 6 Amazon 推薦機制:首頁

Amazon 利用了可以記錄的所有用戶在站點上的行為,並根據不同數據的特點對它們進行處理,從而分成不同區為用戶推送推薦。

猜你喜歡:通常是根據用戶的近期的歷史購買或者查看記錄給出一個推薦。

熱銷商品:採用了基於內容的推薦機制,將一些熱銷的商品推薦給用戶。

圖 7 展示了用戶在 Amazon 瀏覽物品的頁面上能得到的推薦。

"

隨著互聯網時代的發展和大數據時代的到來,人們逐漸從信息匱乏的時代走入了信息過載的時代。為了讓用戶從海量信息中高效地獲取自己所需的信息,推薦系統應運而生。

推薦系統的主要任務就是聯繫用戶和信息,它一方面幫助用戶發現對自己有價值的信息,另一方面讓信息能夠展現在對它感興趣的用戶面前,從而實現信息消費者和信息生產者的雙贏。基於大數據的推薦系統通過分析用戶的歷史記錄瞭解用戶的喜好,從而主動為用戶推薦其感興趣的信息,滿足用戶的個性化推薦需求。

推薦系統概述

推薦系統是自動聯繫用戶和物品的一種工具,它通過研究用戶的興趣愛好,來進行個性化推薦。以 Google 和百度為代表的搜索引擎可以讓用戶通過輸入關鍵詞精確找到自己需要的相關信息。但是,搜索引擎需要用戶提供能夠準確描述自己的需求的關鍵詞,否則搜索引擎就無能為力了。

與搜索引擎不同的是,推薦系統不需要用戶提供明確的需求,而是通過分析用戶的歷史行為來對用戶的興趣進行建模,從而主動給用戶推薦可滿足他們興趣和需求的信息。每個用戶所得到的推薦信息都是與自己的行為特徵和興趣有關的,而不是籠統的大眾化信息。

隨著推薦引擎的出現,用戶獲取信息的方式從簡單的目標明確的數據搜索轉換到更高級更符合人們使用習慣的信息發現。隨著推薦技術的不斷髮展,推薦引擎已經在電子商務(如 Amazon.噹噹網)和一些基於社會的化站點(包括音樂、電影和圖書分享,如豆瓣等)中都取得很大的成功。

圖 1 展示了推薦引擎的工作原理,它接收的輸入是推薦的數據源,一般情況下,推薦引擎所需要的數據源包括以下幾點。

要推薦物品或內容的元數據,如關鍵字、基因描述等。

系統用戶的基本信息,如性別、年齡等。

用戶對物品或者信息的偏好,根據應用本身的不同,可能包括用戶對物品的評分,用戶查看物品的記錄,用戶的購買記錄等。

用戶的偏好信息可以分為顯式用戶反饋和隱式用戶反饋兩大類。

顯式用戶反饋是用戶在網站上自然瀏覽或者使用網站以外,顯式地提供的反饋信息,如用戶對物品的評分,或者對物品的評論等。

隱式用戶反饋是用戶在使用網站時產生的數據,隱式地反映了用戶對物品的喜好,如用戶購買了某物品,用戶查看了某物品的信息等。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 1 推薦引擎的工作原理

顯式用戶反饋能準確地反映用戶對物品的真實喜好,但需要用戶付出額外的勞動,而隱式用戶行為,通過一些分析和處理,也能反映用戶的喜好,只是數據不是很精確,有些行為的分析存在較大的噪聲。但只要選擇正確的行為特徵,隱式用戶反饋也能得到很好的效果。例如,在電子商務的網站上,購買行為其實就是一個能很好表現用戶喜好的隱式用戶反饋。

推薦引擎根據不同的推薦機制可能用到數據源中的不同部分,然後根據這些數據,分析出一定的規則或者直接對用戶對其他物品的喜好進行預測計算。這樣,推薦引擎就可以在用戶進入的時候給他推薦他可能感興趣的物品。

推薦機制

大部分推薦引擎的工作原理是基於物品或者用戶的相似集進行推薦,所以可以對推薦機制進行以下分類。

基於人口統計學的推薦:根據系統用戶的基本信息發現用戶的相關程度。

基於內容的推薦:根據推薦物品或內容的元數據,發現物品或者內容的相關性。

基於協同過濾的推薦:根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者是發現用戶的相關性。

1)基於人口統計學的推薦

基於人口統計學的推薦機制可根據用戶的基本信息發現用戶的相關程度,然後將相似用戶喜愛的其他物品推薦給當前用戶,圖 2 描述了這種推薦機制的工作原理。

從圖 2 中可以很清楚地看出,首先,系統對每個用戶都有一個用戶基本信息的模型,其中包括用戶的年齡、性別等,然後,系統會根據用戶的基本信息計算用戶的相似度,可以看到用戶 A 的基本信息和用戶 C 一樣,所以系統會認為用戶 A 和用戶 C 是相似用戶,在推薦引擎中,可以稱他們是“鄰居”,最後,基於“鄰居”用戶群的喜好推薦給當前用戶一些物品,圖 2 所示為將用戶 A 喜歡的物品 A 推薦給用戶 C。

基於人口統計學的推薦機制的主要優勢是對於新用戶來講沒有“冷啟動”的問題,這是因為該機制不使用當前用戶對物品的喜好歷史數據。該機制的另一個優勢是它是領域獨立的,不依賴於物品本身的數據,所以可以在不同的物品領域都得到使用。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 2 基於人口統計學的推薦機制的工作原理

基於人口統計學的推薦機制的主要問題是基於用戶的基本信息對用戶進行分類的方法過於粗糙,尤其是對品味要求較高的領域,如圖書、電影和音樂等領域,無法得到很好的推薦效果。另外,該機制可能涉及一些與需要查找的信息本身無關卻比較敏感的信息,如用戶的年齡等,這些信息涉及了用戶的隱私。

2)基於內容的推薦

基於內容的推薦是在推薦引擎出現之初應用最為廣泛的推薦機制,它的核心思想是根據推薦物品或內容的元數據,發現物品或內容的相關性,然後基於用戶以往的喜好記錄,推薦給用戶相似的物品。圖 3 描述了基於內容推薦的基本原理。

圖 3 中給出了基於內容推薦的一個典型的例子,即電影推薦系統。首先,需要對電影的元數據進行建模,這裡只簡單地描述了電影的類型。然後,通過電影的元數據發現電影間的相似度,由於電影 A 和 C 的類型都是“愛情、浪漫”,所以它們會被認為是相似的電影。最後,實現推薦,由於用戶 A 喜歡看電影 A,那麼系統就可以給他推薦類似的電影 C。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 3 基於內容推薦機制的工作原理

基於內容的推薦機制的好處在於它能基於用戶的口味建模,能提供更加精確的推薦。但它也存在以下幾個問題。

需要對物品進行分析和建模,推薦的質量依賴於物品模型的完整和全面程度。

物品相似度的分析僅僅依賴於物品本身的特徵,而沒有考慮人對物品的態度。

因為是基於用戶以往的歷史做出推薦,所以對於新用戶有“冷啟動”的問題。

雖然基於內容的推薦機制有很多不足和問題,但它還是成功地應用在一些電影、音樂、圖書的社交站點。有些站點還請專業的人員對物品進行基因編碼,例如,在潘多拉的推薦引擎中,每首歌有超過 100 個元數據特徵,包括歌曲的風格、年份、演唱者等。

3)基於協同過濾的推薦

隨著互聯網時代的發展,Web 站點更加提倡用戶參與和用戶貢獻,因此基於協同過濾的推薦機制應運而生。它的原理就是根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者發現用戶的相關性,然後再基於這些相關性進行推薦。

基於協同過濾的推薦可以分為 3 個子類:基於用戶的協同過濾推薦,基於項目的協同過濾推薦和基於模型的協同過濾推薦。

① 基於用戶的協同過濾推薦

基於用戶的協同過濾推薦的基本原理是根據所有用戶對物品或者信息的偏好,發現與當前用戶口味和偏好相似的“鄰居”用戶群。一般的應用是採用計算“k-鄰居”的算法,然後基於這 k 個鄰居的歷史偏好信息,為當前用戶進行推薦的。圖 4 描述了基於用戶的協同過濾推薦機制的基本原理。

如圖 4 所示,假設用戶 A 喜歡物品 A 和物品 C,用戶 B 喜歡物品 B,用戶 C 喜歡物品 A、物品 C 和物品 D。從這些用戶的歷史喜好信息中可以發現,用戶 A 和用戶 C 的口味和偏好是比較類似的,同時用戶 C 還喜歡物品 D ,那麼系統可以推斷用戶 A 很可能也喜歡物品 D,因此可以將物品 D 推薦給用戶 A。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 4 基於用戶的協同過濾推薦機制的基本原理

基於用戶的協同過濾推薦機制和基於人口統計學的推薦機制都是計算用戶的相似度,並基於“鄰居”用戶群計算推薦的,它們的不同之處在於如何計算用戶的相似度。基於人口統計學的機制只考慮用戶本身的特徵,而基於用戶的協同過濾機制是在用戶的歷史偏好的數據上計算用戶的相似度,它的基本假設是,喜歡類似物品的用戶可能有相同或者相似的口味和偏好。

② 基於項目的協同過濾推薦

基於項目的協同過濾推薦的基本原理是使用所有用戶對物品或者信息的偏好,發現物品和物品之間的相似度,然後根據用戶的歷史偏好信息,將類似的物品推薦給用戶,圖 5 描述了它的基本原理。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 5 基於項目的協同過濾推薦機制的基本原理

假設用戶 A 喜歡物品 A 和物品 C,用戶 B 喜歡物品 A、物品 B 和物品 C,用戶 C 喜歡物品A。從這些用戶的歷史喜好可以分析出物品 A 和物品 C 是比較類似的,因為喜歡物品 A 的人都喜歡物品 C。基於這個數據可以推斷用戶 C 很有可能也喜歡物品 C,所以系統會將物品 C 推薦給用戶 C。

基於項目的協同過濾推薦和基於內容的協同過濾推薦其實都是基於物品相似度的預測推薦,只是相似度計算的方法不一樣,前者是從用戶歷史的偏好進行推斷的,而後者是基於物品本身的屬性特徵信息進行推斷的。

③ 基於模型的協同過濾推薦

基於模型的協同過濾推薦就是指基於樣本的用戶喜好信息,採用機器學習的方法訓練一個推薦模型,然後根據實時的用戶喜好的信息進行預測,從而計算推薦。

這種方法使用離線的歷史數據進行模型訓練和評估,需要耗費較長的時間,依賴於實際的數據集規模、機器學習算法計算複雜度。

基於協同過濾的推薦機制是目前應用最為廣泛的推薦機制,它具有以下兩個優點。

它不需要對物品或者用戶進行嚴格的建模,而且不要求物品的描述是機器可理解的,所以這種方法也是領域無關的。

這種方法計算岀來的推薦是開放的,可以共用他人的經驗,能夠很好地支持用戶發現潛在的興趣偏好。

基於協同過濾的推薦機制也存在以下幾個問題。

方法的核心是基於歷史數據,所以對新物品和新用戶都有“冷啟動”的問題。

推薦的效果依賴於用戶歷史偏好數據的多少和準確性。

對於一些特殊品味的用戶不能給予很好的推薦。

由於以歷史數據為基礎,抓取和建模用戶的偏好後,很難修改或者根據用戶的使用進行演變,從而導致這個方法不夠靈活。

4)混合推薦機制

在現行的 Web 站點上的推薦往往不是隻採用了某一種推薦機制和策略的,而是將多個方法混合在一起,從而達到更好的推薦效果。有以下幾種比較流行的組合推薦機制的方法。

加權的混合:用線性公式將幾種不同的推薦按照一定權重組合起來,具體權重的值需要在測試數據集上反覆實驗,從而達到最好的推薦效果。

切換的混合:對於不同的情況(如數據量,系統運行狀況,用戶和物品的數目等),選擇最為合適的推薦機制計算推薦。

分區的混合:採用多種推薦機制,並將不同的推薦結果分不同的區顯示給用戶。

分層的混合:採用多種推薦機制,並將一個推薦機制的結果作為另一個的輸入,從而綜合各個推薦機制的優缺點,得到更加準確的推薦。

推薦系統的應用

目前,在電子商務、社交網絡、在線音樂和在線視頻等各類網站和應用中,推薦系統都起著很重要的作用。下面將簡要分析兩個有代表性的推薦系統(Amazon 作為電子商務的代表,豆 瓣作為社交網絡的代表)。

1)推薦在電子商務中的應用:Amazon

Amazon 作為推薦系統的鼻祖,已經將推薦的思想滲透在應用的各個角落。Amazon 推薦的核心是,通過數據挖掘算法和用戶與其他用戶的消費偏好的對比,來預測用戶可能感興趣的商品。 Amazon 採用的是分區的混合的機制,即將不同的推薦結果分不同的區顯示給用戶。圖 6 展示了用戶在 Amazon 首頁上能得到的推薦。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 6 Amazon 推薦機制:首頁

Amazon 利用了可以記錄的所有用戶在站點上的行為,並根據不同數據的特點對它們進行處理,從而分成不同區為用戶推送推薦。

猜你喜歡:通常是根據用戶的近期的歷史購買或者查看記錄給出一個推薦。

熱銷商品:採用了基於內容的推薦機制,將一些熱銷的商品推薦給用戶。

圖 7 展示了用戶在 Amazon 瀏覽物品的頁面上能得到的推薦。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 7 Amazon 推薦機制:瀏覽物品

當用戶瀏覽物品時,Amazon 會根據當前瀏覽的物品對所有用戶在站點上的行為進行處理,然後在不同區為用戶推送推薦。

經常一起購買的商品:採用數據挖掘技術對用戶的購買行為進行分析,找到經常被一起或同一個人購買的物品集,然後進行捆綁銷售,這是一種典型的基於項目的協同過濾推薦機制;

購買此商品的顧客也同時購買:這也是一個典型的基於項目的協同過濾推薦的應用,用戶能更快更方便地找到自己感興趣的物品。

2)推薦在社交網站中的應用:豆瓣

豆瓣是國內做得比較成功的社交網站,它以圖書、電影、音樂和同城活動為中心,形成了一個多元化的社交網絡平臺,下面來介紹豆瓣是如何進行推薦的。

當用戶在豆瓣電影中將一些看過的或是感興趣的電影加入到看過和想看的列表裡,併為它們做相應的評分後,豆瓣的推薦引擎就已經拿到了用戶的一些偏好信息。基於這些信息,豆瓣將會給用戶展示圖 8 所示的電影推薦。

"

隨著互聯網時代的發展和大數據時代的到來,人們逐漸從信息匱乏的時代走入了信息過載的時代。為了讓用戶從海量信息中高效地獲取自己所需的信息,推薦系統應運而生。

推薦系統的主要任務就是聯繫用戶和信息,它一方面幫助用戶發現對自己有價值的信息,另一方面讓信息能夠展現在對它感興趣的用戶面前,從而實現信息消費者和信息生產者的雙贏。基於大數據的推薦系統通過分析用戶的歷史記錄瞭解用戶的喜好,從而主動為用戶推薦其感興趣的信息,滿足用戶的個性化推薦需求。

推薦系統概述

推薦系統是自動聯繫用戶和物品的一種工具,它通過研究用戶的興趣愛好,來進行個性化推薦。以 Google 和百度為代表的搜索引擎可以讓用戶通過輸入關鍵詞精確找到自己需要的相關信息。但是,搜索引擎需要用戶提供能夠準確描述自己的需求的關鍵詞,否則搜索引擎就無能為力了。

與搜索引擎不同的是,推薦系統不需要用戶提供明確的需求,而是通過分析用戶的歷史行為來對用戶的興趣進行建模,從而主動給用戶推薦可滿足他們興趣和需求的信息。每個用戶所得到的推薦信息都是與自己的行為特徵和興趣有關的,而不是籠統的大眾化信息。

隨著推薦引擎的出現,用戶獲取信息的方式從簡單的目標明確的數據搜索轉換到更高級更符合人們使用習慣的信息發現。隨著推薦技術的不斷髮展,推薦引擎已經在電子商務(如 Amazon.噹噹網)和一些基於社會的化站點(包括音樂、電影和圖書分享,如豆瓣等)中都取得很大的成功。

圖 1 展示了推薦引擎的工作原理,它接收的輸入是推薦的數據源,一般情況下,推薦引擎所需要的數據源包括以下幾點。

要推薦物品或內容的元數據,如關鍵字、基因描述等。

系統用戶的基本信息,如性別、年齡等。

用戶對物品或者信息的偏好,根據應用本身的不同,可能包括用戶對物品的評分,用戶查看物品的記錄,用戶的購買記錄等。

用戶的偏好信息可以分為顯式用戶反饋和隱式用戶反饋兩大類。

顯式用戶反饋是用戶在網站上自然瀏覽或者使用網站以外,顯式地提供的反饋信息,如用戶對物品的評分,或者對物品的評論等。

隱式用戶反饋是用戶在使用網站時產生的數據,隱式地反映了用戶對物品的喜好,如用戶購買了某物品,用戶查看了某物品的信息等。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 1 推薦引擎的工作原理

顯式用戶反饋能準確地反映用戶對物品的真實喜好,但需要用戶付出額外的勞動,而隱式用戶行為,通過一些分析和處理,也能反映用戶的喜好,只是數據不是很精確,有些行為的分析存在較大的噪聲。但只要選擇正確的行為特徵,隱式用戶反饋也能得到很好的效果。例如,在電子商務的網站上,購買行為其實就是一個能很好表現用戶喜好的隱式用戶反饋。

推薦引擎根據不同的推薦機制可能用到數據源中的不同部分,然後根據這些數據,分析出一定的規則或者直接對用戶對其他物品的喜好進行預測計算。這樣,推薦引擎就可以在用戶進入的時候給他推薦他可能感興趣的物品。

推薦機制

大部分推薦引擎的工作原理是基於物品或者用戶的相似集進行推薦,所以可以對推薦機制進行以下分類。

基於人口統計學的推薦:根據系統用戶的基本信息發現用戶的相關程度。

基於內容的推薦:根據推薦物品或內容的元數據,發現物品或者內容的相關性。

基於協同過濾的推薦:根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者是發現用戶的相關性。

1)基於人口統計學的推薦

基於人口統計學的推薦機制可根據用戶的基本信息發現用戶的相關程度,然後將相似用戶喜愛的其他物品推薦給當前用戶,圖 2 描述了這種推薦機制的工作原理。

從圖 2 中可以很清楚地看出,首先,系統對每個用戶都有一個用戶基本信息的模型,其中包括用戶的年齡、性別等,然後,系統會根據用戶的基本信息計算用戶的相似度,可以看到用戶 A 的基本信息和用戶 C 一樣,所以系統會認為用戶 A 和用戶 C 是相似用戶,在推薦引擎中,可以稱他們是“鄰居”,最後,基於“鄰居”用戶群的喜好推薦給當前用戶一些物品,圖 2 所示為將用戶 A 喜歡的物品 A 推薦給用戶 C。

基於人口統計學的推薦機制的主要優勢是對於新用戶來講沒有“冷啟動”的問題,這是因為該機制不使用當前用戶對物品的喜好歷史數據。該機制的另一個優勢是它是領域獨立的,不依賴於物品本身的數據,所以可以在不同的物品領域都得到使用。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 2 基於人口統計學的推薦機制的工作原理

基於人口統計學的推薦機制的主要問題是基於用戶的基本信息對用戶進行分類的方法過於粗糙,尤其是對品味要求較高的領域,如圖書、電影和音樂等領域,無法得到很好的推薦效果。另外,該機制可能涉及一些與需要查找的信息本身無關卻比較敏感的信息,如用戶的年齡等,這些信息涉及了用戶的隱私。

2)基於內容的推薦

基於內容的推薦是在推薦引擎出現之初應用最為廣泛的推薦機制,它的核心思想是根據推薦物品或內容的元數據,發現物品或內容的相關性,然後基於用戶以往的喜好記錄,推薦給用戶相似的物品。圖 3 描述了基於內容推薦的基本原理。

圖 3 中給出了基於內容推薦的一個典型的例子,即電影推薦系統。首先,需要對電影的元數據進行建模,這裡只簡單地描述了電影的類型。然後,通過電影的元數據發現電影間的相似度,由於電影 A 和 C 的類型都是“愛情、浪漫”,所以它們會被認為是相似的電影。最後,實現推薦,由於用戶 A 喜歡看電影 A,那麼系統就可以給他推薦類似的電影 C。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 3 基於內容推薦機制的工作原理

基於內容的推薦機制的好處在於它能基於用戶的口味建模,能提供更加精確的推薦。但它也存在以下幾個問題。

需要對物品進行分析和建模,推薦的質量依賴於物品模型的完整和全面程度。

物品相似度的分析僅僅依賴於物品本身的特徵,而沒有考慮人對物品的態度。

因為是基於用戶以往的歷史做出推薦,所以對於新用戶有“冷啟動”的問題。

雖然基於內容的推薦機制有很多不足和問題,但它還是成功地應用在一些電影、音樂、圖書的社交站點。有些站點還請專業的人員對物品進行基因編碼,例如,在潘多拉的推薦引擎中,每首歌有超過 100 個元數據特徵,包括歌曲的風格、年份、演唱者等。

3)基於協同過濾的推薦

隨著互聯網時代的發展,Web 站點更加提倡用戶參與和用戶貢獻,因此基於協同過濾的推薦機制應運而生。它的原理就是根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者發現用戶的相關性,然後再基於這些相關性進行推薦。

基於協同過濾的推薦可以分為 3 個子類:基於用戶的協同過濾推薦,基於項目的協同過濾推薦和基於模型的協同過濾推薦。

① 基於用戶的協同過濾推薦

基於用戶的協同過濾推薦的基本原理是根據所有用戶對物品或者信息的偏好,發現與當前用戶口味和偏好相似的“鄰居”用戶群。一般的應用是採用計算“k-鄰居”的算法,然後基於這 k 個鄰居的歷史偏好信息,為當前用戶進行推薦的。圖 4 描述了基於用戶的協同過濾推薦機制的基本原理。

如圖 4 所示,假設用戶 A 喜歡物品 A 和物品 C,用戶 B 喜歡物品 B,用戶 C 喜歡物品 A、物品 C 和物品 D。從這些用戶的歷史喜好信息中可以發現,用戶 A 和用戶 C 的口味和偏好是比較類似的,同時用戶 C 還喜歡物品 D ,那麼系統可以推斷用戶 A 很可能也喜歡物品 D,因此可以將物品 D 推薦給用戶 A。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 4 基於用戶的協同過濾推薦機制的基本原理

基於用戶的協同過濾推薦機制和基於人口統計學的推薦機制都是計算用戶的相似度,並基於“鄰居”用戶群計算推薦的,它們的不同之處在於如何計算用戶的相似度。基於人口統計學的機制只考慮用戶本身的特徵,而基於用戶的協同過濾機制是在用戶的歷史偏好的數據上計算用戶的相似度,它的基本假設是,喜歡類似物品的用戶可能有相同或者相似的口味和偏好。

② 基於項目的協同過濾推薦

基於項目的協同過濾推薦的基本原理是使用所有用戶對物品或者信息的偏好,發現物品和物品之間的相似度,然後根據用戶的歷史偏好信息,將類似的物品推薦給用戶,圖 5 描述了它的基本原理。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 5 基於項目的協同過濾推薦機制的基本原理

假設用戶 A 喜歡物品 A 和物品 C,用戶 B 喜歡物品 A、物品 B 和物品 C,用戶 C 喜歡物品A。從這些用戶的歷史喜好可以分析出物品 A 和物品 C 是比較類似的,因為喜歡物品 A 的人都喜歡物品 C。基於這個數據可以推斷用戶 C 很有可能也喜歡物品 C,所以系統會將物品 C 推薦給用戶 C。

基於項目的協同過濾推薦和基於內容的協同過濾推薦其實都是基於物品相似度的預測推薦,只是相似度計算的方法不一樣,前者是從用戶歷史的偏好進行推斷的,而後者是基於物品本身的屬性特徵信息進行推斷的。

③ 基於模型的協同過濾推薦

基於模型的協同過濾推薦就是指基於樣本的用戶喜好信息,採用機器學習的方法訓練一個推薦模型,然後根據實時的用戶喜好的信息進行預測,從而計算推薦。

這種方法使用離線的歷史數據進行模型訓練和評估,需要耗費較長的時間,依賴於實際的數據集規模、機器學習算法計算複雜度。

基於協同過濾的推薦機制是目前應用最為廣泛的推薦機制,它具有以下兩個優點。

它不需要對物品或者用戶進行嚴格的建模,而且不要求物品的描述是機器可理解的,所以這種方法也是領域無關的。

這種方法計算岀來的推薦是開放的,可以共用他人的經驗,能夠很好地支持用戶發現潛在的興趣偏好。

基於協同過濾的推薦機制也存在以下幾個問題。

方法的核心是基於歷史數據,所以對新物品和新用戶都有“冷啟動”的問題。

推薦的效果依賴於用戶歷史偏好數據的多少和準確性。

對於一些特殊品味的用戶不能給予很好的推薦。

由於以歷史數據為基礎,抓取和建模用戶的偏好後,很難修改或者根據用戶的使用進行演變,從而導致這個方法不夠靈活。

4)混合推薦機制

在現行的 Web 站點上的推薦往往不是隻採用了某一種推薦機制和策略的,而是將多個方法混合在一起,從而達到更好的推薦效果。有以下幾種比較流行的組合推薦機制的方法。

加權的混合:用線性公式將幾種不同的推薦按照一定權重組合起來,具體權重的值需要在測試數據集上反覆實驗,從而達到最好的推薦效果。

切換的混合:對於不同的情況(如數據量,系統運行狀況,用戶和物品的數目等),選擇最為合適的推薦機制計算推薦。

分區的混合:採用多種推薦機制,並將不同的推薦結果分不同的區顯示給用戶。

分層的混合:採用多種推薦機制,並將一個推薦機制的結果作為另一個的輸入,從而綜合各個推薦機制的優缺點,得到更加準確的推薦。

推薦系統的應用

目前,在電子商務、社交網絡、在線音樂和在線視頻等各類網站和應用中,推薦系統都起著很重要的作用。下面將簡要分析兩個有代表性的推薦系統(Amazon 作為電子商務的代表,豆 瓣作為社交網絡的代表)。

1)推薦在電子商務中的應用:Amazon

Amazon 作為推薦系統的鼻祖,已經將推薦的思想滲透在應用的各個角落。Amazon 推薦的核心是,通過數據挖掘算法和用戶與其他用戶的消費偏好的對比,來預測用戶可能感興趣的商品。 Amazon 採用的是分區的混合的機制,即將不同的推薦結果分不同的區顯示給用戶。圖 6 展示了用戶在 Amazon 首頁上能得到的推薦。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 6 Amazon 推薦機制:首頁

Amazon 利用了可以記錄的所有用戶在站點上的行為,並根據不同數據的特點對它們進行處理,從而分成不同區為用戶推送推薦。

猜你喜歡:通常是根據用戶的近期的歷史購買或者查看記錄給出一個推薦。

熱銷商品:採用了基於內容的推薦機制,將一些熱銷的商品推薦給用戶。

圖 7 展示了用戶在 Amazon 瀏覽物品的頁面上能得到的推薦。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 7 Amazon 推薦機制:瀏覽物品

當用戶瀏覽物品時,Amazon 會根據當前瀏覽的物品對所有用戶在站點上的行為進行處理,然後在不同區為用戶推送推薦。

經常一起購買的商品:採用數據挖掘技術對用戶的購買行為進行分析,找到經常被一起或同一個人購買的物品集,然後進行捆綁銷售,這是一種典型的基於項目的協同過濾推薦機制;

購買此商品的顧客也同時購買:這也是一個典型的基於項目的協同過濾推薦的應用,用戶能更快更方便地找到自己感興趣的物品。

2)推薦在社交網站中的應用:豆瓣

豆瓣是國內做得比較成功的社交網站,它以圖書、電影、音樂和同城活動為中心,形成了一個多元化的社交網絡平臺,下面來介紹豆瓣是如何進行推薦的。

當用戶在豆瓣電影中將一些看過的或是感興趣的電影加入到看過和想看的列表裡,併為它們做相應的評分後,豆瓣的推薦引擎就已經拿到了用戶的一些偏好信息。基於這些信息,豆瓣將會給用戶展示圖 8 所示的電影推薦。

基於大數據的個性化推薦系統,實現原理及打造方案深度解析

圖 8 豆瓣的推薦機制:基於用戶品味的推薦

豆瓣的推薦是根據用戶的收藏和評價自動得出的,每個人的推薦清單都是不同的,每天推薦的內容也可能會有變化。收藏和評價越多,豆瓣給用戶的推薦就會越準確和豐富。

豆瓣是基於社會化的協同過濾的推薦,用戶越多,用戶的反饋越多,則推薦的效果越準確。相對於Amazon的用戶行為模型,豆瓣電影的模型更加簡單,就是“看過”和“想看”,這也讓他們的推薦更加專注於用戶的品位,畢竟買東西和看電影的動機還是有很大不同的。

另外,豆瓣也有基於物品本身的推薦,當用戶查看一些電影的詳細信息時,它會給用戶推薦出“喜歡這個電影的人也喜歡的電影”,這是一個基於協同過濾的推薦的應用。

推薦學習目錄:基於大數據的個性化推薦系統

————————————————

版權聲明:本文為CSDN博主「QYUooYUQ」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/dsdaasaaa/article/details/94763439

"

相關推薦

推薦中...