用於內容推薦的設備、方法和電腦程式以及記錄介質的製作方法
2023-06-04 01:58:26 1
專利名稱:用於內容推薦的設備、方法和電腦程式以及記錄介質的製作方法
技術領域:
本發明涉及一種用於推薦內容的設備、方法、電腦程式和記錄介質, 特別涉及一種用於向用戶推薦不僅滿足用戶偏好而且還為用戶提供驚奇 的內容的設備、方法、電腦程式和記錄介質。
背景技術:
開發了向用戶推薦諸如所錄製廣播節目的內容的技術。基於通過在以下
向量之間的匹配處理計算出的相似度而執行內^^薦包含作為分量的屬性 的向量,所述屬性包含在內容的元數據中;以及被形成為向量的用戶偏好信 息,所述向量包含與元數據向量相同數目的分量。
然而,推薦與用戶偏好信息具有高相似度的內容不總是令用戶滿意。例 如,向經常觀看戲劇的用戶推薦戲劇風格的內容似乎濕一合理的。另一方面, 同一用戶可能對所推薦的新聞和雜耍表演感到滿意。如果總;l:推薦相同類型 的內容,用戶可能會厭煩,並且如果推薦令用戶稍感驚奇的內容則用戶可能 感覺新鮮。
日本未審查專利申請公布No. 2007-202181公開了一種以更詳細地反映 用戶偏好的方式推薦帶驚奇的內容的技術。
例如,基於通過對經加權的用戶偏好信息的特定屬性的匹配處理計算出 的相似度而執行推薦。使用該配置,可推薦具有4M目似度的未加權屬性的內 容。可以推薦可能令用戶稍感驚奇的內容。
發明內容
如果內容與用戶通常查看的項目在一個或其他方面稍微不同,同時在另 一方面用戶依然M對內^i覺熟悉,則用戶或許會享受來自內容的驚奇。 例如,如果推薦與用戶偏好不匹配的內容,用戶自然對內容不滿意。
根據相關領域的一種技術,通過改變屬性的權重來增大屬性對匹配結果的貢獻。這種技術不一定向用戶推薦用戶感覺熟悉的內容。
改變每個屬性的權重的技術具有下面的問題。可以將用戶偏好信息的特 定屬性的權重設置為高。使用這樣的設置,如果包含在內容的元數據中的屬 性的值小,則該內容被推薦的可能性保持為低。另一方面,可以將用戶偏好 信息的特定屬性的權重設置為低。如果包含在內容的元數據中的屬性的值 大,則該內M推薦的可能性保持為高。
根據相關技術,可以推薦風格與用戶通常查看內容的風格不同的內容, 並且用戶對內容感到驚奇。然而,由用戶肯定地接受這種驚奇仍然是不確定 的。
因此,期望推薦考慮到用戶偏好以及令用戶驚奇的內容。
根據本發明的一個實施例,推薦設備包括用戶基本分量提取裝置,用 於從形成包含多個分量的向量的用戶偏好信息的分量當中提取根據預定標 準選擇的用戶基本分量,其中用戶偏好信息表示用戶的偏好;項目基本分量
提取裝置,用於^w被形成作為向量的項目偏好信息的分量當中提M"應於用
戶基本分量的分量作為項目基本分量,其中所述向量包含與用戶偏好信息的 分量數相同數目的分量,並且項目偏好信息的分量是基於用作推薦目標的每
個項目的元數據信息而生成的;基4^目似度計算裝置,用於計算基^目似度, 即在包含用戶基本分量的用戶基本向量與包含用作推薦目標的項目的項目 基本分量的項目基本向量之間的基^目似度;候選項目識別裝置,用於基於 基4^目似度而識別要向用戶推薦的候選項目;用戶反轉分量提取裝置,用於 從用戶偏好信息的分量當中提取除用戶基本分量之外的分量作為用戶反轉 分量;項目反轉分量提取裝置,用於從用於候選項目的項目偏好信息的分量 當中提取對應於用戶反轉分量的分量作為項目反轉分量;反轉相似度計算裝 置,用於計算反轉相似度,即在包含用戶反轉分量的用戶反轉向量與包含用 作推薦目標的項目的項目反轉分量的項目反轉向量之間的反轉相似度;以及 推薦項目識別裝置,用於基於反轉相似度而從候選項目當中識別要向用戶推 薦的項目。
可以根據用戶偏好信息的用戶基本分量的值對用戶偏好信息的分量的 值之和的佔有率來選擇用戶基本分量。
可以根據佔有率和用戶偏好信息的成熟度來選擇用戶基本分量。
可以基於與用戶偏好信息的分量相關的信息來計算用戶偏好信息的成 熟度,其中通過預定操作來更新用戶偏好信息,預定操作被標識為與項目相關且由用戶執4亍的操作。
根據本發明的一個實施例,推薦方法包括以下步驟從形成包含多個分 量的向量的用戶偏好信息的分量當中提取根據預定標準選擇的用戶基本分 量,其中用戶偏好信息表示用戶的偏好;從被形成作為向量的項目偏好信息 的分量當中提取對應於用戶基本分量的分量作為項目基本分量,其中所述向 量包含與用戶偏好信息的分量數相同數目的分量,並且項目偏好信息的分量 是基於用作推薦目標的每個項目的元數據信息而生成的;計算基;^目似度, 即在包含用戶基本分量的用戶基本向量與包含用作推薦目標的項目的項目 基本分量的項目基本向量之間的基^目似度;基於基4^目似度而識別要向用 戶推薦的候選項目;從用戶偏好信息的分量當中提取除用戶基本分量之外的 分量作為用戶反轉分量;從用於候選項目的項目偏好信息的分量當中提M 應於用戶反轉分量的分量作為項目反轉分量;計算反轉相似度,即在包含用 戶反轉分量的用戶反轉向量與包含用作推薦目標的項目的項目反轉分量的 項目反轉向量之間的反轉相似度;以及基於反轉相似度而從候選項目當中識 別要向用戶推薦的項目。
根據本發明的一個實施例, 一種電腦程式使計算機執行以下步驟從 形成包含多個分量的向量的用戶偏好信息的分量當中提取根據預定標準選 擇的用戶基本分量,其中用戶偏好信息表示用戶的偏好;從被形成作為向量 的項目偏好信息的分量當中提取與用戶基本分量對應的分量作為項目基本 分量,其中所述向量包含與用戶偏好信息的分量數相同數目的分量,並且項 目偏好信息的分量是基於用作推薦目標的每個項目的元數據信息而生成的; 計算基;^目似度,即在包含用戶基本分量的用戶基本向量與包含用作推薦目 標的項目的項目基本分量的項目基本向量之間的基;M目似度;基於基4^目似 度而識別要向用戶推薦的候選項目;從用戶偏好信息的分量當中提取除用戶 基本分量之外的分量作為用戶反轉分量;從用於候選項目的項目偏好信息的 分量當中提取對應於用戶反轉分量的分量作為項目反轉分量;計算反轉相似 度,即在包含用戶反轉分量的用戶反轉向量與包含用作推薦目標的項目的項 目反轉分量的項目反轉向量之間的反轉相似度;以瓦基於反轉相似度而從候 選項目當中識別要向用戶推薦的項目。
根據本發明的實施例,從形成包含多個分量的向量的用戶偏好信息的分 量當中提^f艮據預定標準選擇的用戶基本分量,其中用戶偏好信息表示用戶 的偏好。從被形成作為向量的項目偏好信息的分量當中^^取對應於用戶基本 分量的分量作為項目基本分量。所述向量包含與用戶偏好信息的分量數相同數目的分量,並且項目偏好信息的分量是基於用作推薦目標的每個項目的元 數據信息而生成的,計算在包含用戶基本分量的用戶基本向量與包含用作推
薦目標的項目的項目基本分量的項目基本向量之間的基;^目似度。基於基本 相似度而識別要向用戶推薦的候選項目。從用戶偏好信息的分量當中拔:取除 用戶基本分量之外的分量作為用戶反轉分量。從用於候選項目的項目偏好信 息的分量當中提取對應於用戶反轉分量的分量作為項目反轉分量。計算在包 含用戶反轉分量的用戶反轉向量與包含用作推薦目標的項目的項目反轉分 量的項目反轉向量之間的反轉相似度。基於反轉相似度而從候選項目當中識 別要向用戶推薦的項目。
根據本發明的實施例,可以推薦不僅匹配用戶偏好而且向用戶提供驚奇 的內容。
圖l是根據本發明的一個實施例的推薦系統的框圖2示出了圖1所示的操作日誌資料庫(DB)的結構;
圖3示出了項目元信息的示例;
圖4示出了圖l所示的項目元lt據庫;
圖5示出了圖l所示的用戶偏好資料庫;
圖6是示出圖1所示的推薦系統的推薦列表生成處理的流程圖7是示出匹配處理的流程圖8是示出根據本發明的一個實施例的另一推薦系統的框圖9示出了圖8所示的屬性權重資料庫;
圖10示出了圖8所示的屬性權重調整資料庫;
圖11是示出屬性權重調整資料庫生成處理的Ji^呈圖12是示出屬性權重計算處理的流程圖13是示出屬性權重調整資料庫管理處理的流程圖14示出了圖8所示的屬性權重調整資料庫的另一示例;
圖15是示出另一屬性權重調整資料庫管理處理的流程圖;以及
圖16是示出個人計算機結構的框圖。
具體實施例方式
下面參考附圖描述本發明的實施例。
圖1是示出了根據本發明的一個實施例的推薦系統10的結構的框圖。 推薦系統10打算向用戶推薦由諸如視頻和音頻的數據組成的項目。例如, 項目包含諸如廣播節目的內容、通過對記錄在數字多功能盤(DVD)上的電影 進行配音而獲得的內容等等。
圖1所示的推薦系統10包括終端21、操作日誌資料庫(DB)22、項目 元資料庫(metaDB)23、偏好提取引擎24、用戶偏好資料庫25、推薦引擎26、 基本/反轉分量提取器27和成熟度計算引擎28。操作日誌資料庫22到成熟 度計算引擎28可以由至少一個計算機(伺服器)構成作為推薦設備,並且經由 網絡而被互聯到終端21。
因此,終端21與由IMt日誌資料庫22到成熟度計算引擎28組成的推 薦設備分開布置。或者,可以使用至少一個計算機來布置整個推薦系統IO。
在推薦系統10中,推薦設備被設計成響應於來自終端21的請求而將推 薦項目列表傳送到終端21。例如,推薦系統10基於每個項目的元信息而推 薦匹配用戶偏好的項目。如同稍後將描述的那樣,響應於來自終端21的請 求,推薦系統10有意地向用戶推薦可以令用戶驚奇的項目。
如圖1所示,用戶通過再現作為記錄在終端21上的項目的內容lt據來 查看項目。^^作終端21,用戶可以記錄諸如廣播節目的項目。用戶也可以將 存儲在終端21上的內^據傳送到移動終端。用戶還可以從終端21中刪除 內^lt據。用戶以這種方式通過操作終端21而對項目執行各種處理。
輸出與每個項目相關的關於終端21的多種操作類型的信息作為操作日 志,並且將基於操作日誌而生成的記錄存儲在操作日誌資料庫22上。圖2 示出了存儲在操作日誌資料庫22上的數據。
如圖2所示,在每行列出的數據對應於在操作日誌資料庫22上的相應 記錄。操作日誌資料庫22的每個記錄包含四個欄位"ltemld"、 "Memberld"、 "LogType"和"LogTime"。
欄位"ltemld"存儲項目ID的值,其標識在對應操作中所處理的目標 項目。在該情況下,值"1001"、 "1003"、 "1009"、…被存儲在相應記錄的字 段"ltemld"中。欄位"Memberld"存儲用戶(成員)ID的值,其標識執行操作的用戶。 值"1"、 "3"、 "1"、…被存儲在相應記錄的欄位"Memberld"中。
欄位"LogType"存儲標識l^作類型的信息。在該情況下,"保留"、"細 節"、"好"、...被存儲在相應記錄的欄位"LogType"中。存儲在欄位"LogType" 中的信息是根據預定方法將諸如查看項目或記錄項目的操作類型轉換成的 字符串。
欄位"LogTime"存儲標識執行操作的日期和時間的信息。在該示例中, 信息"2007-12-05 08:39:44(表示2007年12月5日8(時):39(分):44(秒))"被 存儲在欄位"LogTime"中。
將關於附加到每個項目的元信息的信息存儲在項目元資料庫23上。例 如,從電子節目指南(EPG)中獲得元信息。元信息包舍清如項目(內容)的風格、 表演者、關鍵字等信息。
圖3示出了附加到給定項目(內容)的項目元信息。項目元信息包含屬性、 值和得分。項目元信息的屬性包含"風格"、"人(諸如內容表演者)"、"關鍵 字"、...。項目元信息的值表示每個屬性的分段。包含在屬性"風格"中的值 是"戲劇"、"新聞"、"紀錄片"、...。項目元信息的得分是附加到每個值的得 分。在該示例中,值"戲劇"的得分是"5",值"新聞"的得分是"0",值 "紀錄片"的得分是"1"。
對應於圖3示例中的項目元信息的項目接近於戲劇,但還包含紀錄片的 元素。
屬性"人"的值列出了 "ABC"、 "DEF,、 "GHI"、...。在該示例中,值 "ABC"的得分是"O",值"DEF"的得分是"l",值"GHI"的得分是"l",...。
對應於圖3中的項目元信息的項目包含"ABC"、 "DEF"和"GHI"(虛 構姓名)作為其表演者。
圖3中的屬性"關鍵字"的值包含"美食"、"旅行"、"音樂"、...。值"美 食"的得分是"3",值"旅行"的得分是"5",值"音樂"的得分是"1",…。 屬性"關鍵字"的值是包含在介紹項目(諸如廣播節目)的消息(諸如EPG中 的節目描述)中的預先確定的詞。例如,從EPG中的節目的介紹性語句中檢 測諸如"美食"、"旅行"和"音樂"的預先確定的詞,並且響應於每個詞的 檢測數而設置其得分。
對應於圖3中的項目元信息的項目是與"美食"、"旅行"和"音樂"相 關的內容,並且與"旅行"關^i格外緊密。項目元資料庫23存儲根據值將每個項目的項目元信息分成的記錄。圖4 示出了存儲在項目元資料庫23上的數據的示例。
參考圖4,每行中列出的數據對應於項目元資料庫23上的每個記錄。在 項目元資料庫23上的每個記錄包含五個欄位"ltemld"、 "Attributeld"、 "Valueld"、 "No/Times"和"Score"。
欄位"ltemld,,存儲項目ID的值,其標識記錄的項目。在該示例中, 值"2000114789142"、 "200019580489"、 "100024316163"、...被存儲在相應 記錄的欄位"ltemld,,中。
欄位"Attributeld"存儲屬性ID的值,其標識記錄的屬性。值'T,被 存儲在每個記錄的欄位"Attributed"中。存儲在欄位"Attributeld"中的 值"1"對應於屬性"風格",存儲在欄位"Attributeld"中的值"2"對應於 屬性"人",…。以這種方式,欄位"Attributeld"中的值確定每個記錄的屬 性。在示例中,在欄位"Attributeld"中的所有值都是'T,。實際上,項目 元資料庫23還包含在欄位"Attributeld,,中具有值"2"、 "3"、…的記錄。
欄位"Valueld"存儲值ID的值,其標識記錄的值。在該示例中,值 "153144"被存儲在每個記錄的欄位"Valueld,,中。例如,存儲在欄位 "Valueld"中的值"153144"對應於值"戲劇",存儲在欄位"Valueld"中 的值"153145"對應於值"新聞,,,...。由欄位"Valueld"中的值來標識記 錄的值。在該示例中,欄位"Valueld"中的所有值都是"153144"。實際上, 項目元資料庫23還存儲在欄位"Valueld"中具有值"153145"、 "153146"、... 的記錄.
欄位"No/Times"存儲標識記錄更新次數的值。欄位"No/Times" 可 以被省略。
欄位"Score"存儲標識記錄值的得分的值。圖3中的得分處的值被存儲 在欄位"Score"中。例如,圖4最上面的記錄具有以 "2000114789142"作 為項目ID的項目的項目元信息的值"戲劇"(在欄位"Valueld"中具有值 "153144")的得分。
如上所述構建項目元資料庫23。通過獲取可以作為終端21的^Mt目標 的每個項目的內容的元數據來預先生成項目元資料庫23。
返回到圖1 ,偏好提取引擎24使用戶偏好資料庫25基於操作日誌數據 庫22的記錄和項目元資料庫23的記錄而存儲lt據。
響應於操作日誌資料庫22的記錄,偏好提取引擎24識別用戶通過操作終端21而處理過的項目的項目ID,並且識別操作的類型。響應於所識別的 項目ID,偏好提取引擎24在項目元資料庫23上搜索記錄,從而識別具有所 識別的項目ID的項目的項目元信息的屬性、值和得分。
然後,偏好提取引擎24生成將所識別的屬性、值和得分映射到用戶的 成員ID的記錄。然後,偏好提取引擎24響應於操作類型而將得分值乘以預 先設置的係數。例如,如果響應於操作日誌資料庫22的記錄而識別的^Mt 類型是錄製項目,則將基於項目元資料庫23的記錄而識別的得分值乘以系 數3。如果響應於操作日誌資料庫22的記錄而識別的操作內容是查看項目, 則將基於項目元資料庫23的記錄而識別的得分值乘以係數2。
如此生成的記錄變為用戶偏好資料庫25的記錄。圖5示出了用戶偏好 資料庫25的示例。
參考圖5,在每行列出的數據對應於用戶偏好資料庫25的記錄。用戶偏 好資料庫25中的每個記錄包含四個欄位"Memberld"、 "Attributed"、 "Valueld"和"Score"。
如同先前參考圖2所示的操作日誌資料庫22所討論的那樣,欄位 "Memberld,,標識圖5中的用戶。如同先前參考圖4的項目元資料庫23所 討論的那樣,圖5所示的欄位"Attributeld"、欄位"Valueld"和欄位"Score" 也標識屬性、值和得分。
圖5所示的用戶偏好lt據庫25是在值的基礎上生成的。更具體地說, 針對由一個人執行的一個^Mt而生成多個記錄。生成與作為操作目標的項目 的項目元信息的值的數目相等數目的記錄。
每次由用戶執行操作時,將記^儲在用戶偏好資料庫25上。更具體 地說,響應於一個操作而生成與作為操作目標的項目的項目元信息的值的數 目相等數目的記錄。
返回到圖1,推薦引擎26基於用戶偏好資料庫25的記錄而生成用戶偏 好信息。推薦引擎26還基於項目元資料庫23的記錄而生成項目偏好信息。 用戶偏好信息和項目偏好信息分別為向量,每個具有與屬性數相同數目的分 量。例如,如果項目偏好信息的屬性總lbl 100,則用戶偏好信息和項目偏 好信息中的每個是100維向量(具有100個分量)。
用戶偏好信息的每個分量的值被確定如下。推薦引擎26檢查圖5的用 戶偏好資料庫25的記錄並且獲取映射到用戶的成員ID的所有記錄。推薦引 擎26根據欄位"Attributeld"的值對記錄進行分類 如果多個記錄具有相同的欄位"Attributeld"的值,則推薦引擎26對這些記錄的欄位"Score"的 值進行求和作為總數。在用戶偏好信息的向量中響應於屬性"風格"(欄位 "Attributed"中的'T,)的分量的值是值"戲劇"、"新聞"、"紀錄片"、... 的得分之和。從而以屬性的得分之和作為每個分量的值來生成用戶偏好信 息。
以與用戶偏好信息的值相同的方式來獲得項目偏好信息的每個分量的 值。當生成項目偏好信息時,推薦引擎26基於圖4所示的項目元資料庫23 的記錄而計算向量的每個分量的值。響應於一個項目ID而生成項目偏好信 息的一個向量。
基本/反轉分量提取器27從用戶偏好信息向量和項目偏好信息向量中提 取基本分量和反轉分量。基本分量有力地反映用戶偏好而反轉分量有力地反 映給用戶的驚奇。基本/反轉分量提取器27如下所M提取基本分量和反轉 分量。
基本/反轉分量提取器27計算通過將用戶偏好信息向量的每個分量乘以 在稍後討論的方程式(l)中表示的權重wa而確定的值的佔有率。為了簡化說 明,用戶偏好信息是三維向量,並且用戶的用戶偏好信息是向量(1,2,3)。由 用戶偏好信息分量的原始值乘以方程式(l)的權重wa得到向量(1,2,3)。如同 稍後將描述的那樣,權重wa是針對向量的每個分量而預先確定的係數。現 在預先確定權重wl到w3。如果原始用戶偏好信息是向量(x,y,z),則滿足關 系x'wl=l, yw2=2並且z.w3=3。
在這種情況下,才艮據下面的等式計算第一分量的佔有率
1/(1+2+3)=0.1666 17% 根據下面的等式計算第二分量的佔有率
2/(1+2+3)=0.3333 33% 才艮據下面的等式計算第三分量的佔有率
3/(1+2+3)=0.5000 50%
基本/反轉分量提取器27基於如此計算出的佔有率而提取基本分量和反 轉分量。例如,在用戶偏好信息向量的分量當中具有最高佔有率的分量A^ 本分量,並且具有第二高佔有率的分量M轉分量。在下面的討論中,用戶 偏好信息向量是N維向量。
基本/反轉分量提取器27提取具有第三高佔有率的分量、具有第四高佔有率的分量.....直至被提取作為基本分量的分量的佔有率與l^提取的分
量的佔有率之和達到預定值(例如,50%)。然後,基本/反轉分量提取器27 將這些分量設置為基本分量。
根據由稍後要討論的成熟度計算引擎28計算的成熟度而確定這裡設置 的值(例如,50%)。
例如,當提取具有笫五高佔有率的分量時,被提取作為基本分量的分量 的佔有率之和可以達到預定值。然後,基本/反轉分量提取器27提取具有笫 六高佔有率的分量、具有第七高佔有率的分量、,..、具有第N高佔有率的分 量。將這些分量(包括被提取作為第一反轉分量的分量)設置為反轉分量。 如此提^C基本分量和反轉分量。
上^本分量和反轉分量的提取方法僅僅是一個示例。可以通過別的方 法提取基本和反轉分量。
基本/反轉分量提取器27響應於被提取作為基本分量的每個分量,向推 薦引擎26通知欄位"Attributeld"的值作為基本分量ID。基本/反轉分量提 取器27還響應於被提取作為反轉分量的每個分量,向推薦引擎26通知欄位 "Attributeld"的值作為反轉分量ID。
推薦引擎26響應於基本分量ID而識別用戶偏好信息的向量中的基本分 量以及項目偏好信息的向量中的1J^分量。推薦引擎26還從用戶偏好信息 向量和項目偏好信息向量中的每個提取基本分量。如此生成用戶偏好信息的 基本向量和項目偏好信息的基本向量。
響應於反轉分量ID,推薦引擎26識別用戶偏好信息向量中的反轉分量 和項目偏好信息向量中的反轉分量。然後,推薦引擎26從用戶偏好信息向 量和項目偏好信息向量中的每個提取反轉分量。如此生成用戶偏好信息的反 轉向量和項目偏好信息的反轉向量。
推薦引擎26針對從項目元資料庫23生成的每個項目的項目偏好信息的 基本向量執行匹配處理,以檢查請求了項目推薦的用戶的用戶偏好信息的基 本向量。可以使用計算向量內積的方法、計算餘弦相似度的方法、計算歐式 (Euclidean)距離的方法等等來執行匹配處理。
如果將計算向量內積的方法用作匹配處理,則用方程式(1)來表示作 為匹配處理結果而獲得的在向量X和Y之間的相似度sim(X,Y):
sim(X,Y) = Z (|Xa'Ya|xWa) ... (1)在方程式(l)中,"A"表示基本向量的分量的集合,並且"a"表示包含 在集合A中的一個分量。"Xa"和"Ya"分別表示在向量X和向量Y中的 分量"a"的值,並且"wa"表示分量a乘以的係數,並且也被稱為權重。 權重wa可以是針對每個分量預先確定的值,或者可以是針對每個用戶i殳置 的。
權重wa是向量分量單獨乘以的係數。實際上,提供響應於用戶偏好信 息(項目偏好信息)的分量的係數。如果用戶偏好信息是具有N個分量的向量, 則將權重wa表示為N維向量。
更具體地說,如果用戶偏好信息(項目偏好信息)具有100個分量,則所 述分量對應於第一屬性到第一百屬性。在這種情況下,權重wa是對應於笫 一屬性到第一百屬性的一組係數。假設Wn表示第n個屬性的權重,則將權 重wa表示為包含如下100個分量的向量
(W!, W2, W3, ... , W100)
在上述基本向量的匹配處理中,如果分量a是第五個分量,則在方程式 (l)中以(Wh w2, w3,... , w則)的ws替代wa,並且計算相似度。
推薦引擎26計算在用戶的用戶偏好信息的基本向量與每個項目的項目 偏好信息的基本向量之間的相似度。然後,推薦引擎26以將每個項目(諸 如項目ID)映射到所計算的相似度而存儲所述相似度作為基;M目似度。
所計算的基^目似度越高,項目越匹配用戶偏好。
推薦引擎26按預定數目提取具有高基^目似度的項目,並且將所拔:取 的項目設置為候選項目。然後,推薦引擎26如下所述地針對每個候選項目 計算反轉相似度。
推薦引擎26根據方程式(l)計算在用戶的用戶偏好信息的反轉向量與候 選項目的項目偏好信息的反轉向量之間的相似度。然後,以將每個項目映射 到所計算的相似度而存儲所勤目似度作為反轉相似度。
所計算的反轉相似度越高,項目越可能匹配用戶偏好。
推薦引擎26基於上iiJ4^目似度和反轉相似度而計算針對每個項目的 驚奇推薦評估值。驚奇推薦評估值表示用戶以積極方式對所推薦的項目驚奇 的可能性。
例如,根據下面的方程式響應於項目A的反轉相似度Hanten(A)而計算 項目A的驚奇推薦評估值igaiDegree(A):igaiDegree(A)-l - Hanten(A)
項目A的反轉相似度越小,項目A的驚奇推薦評估值越大。
可以根據下面的方程式使用項目A的^J^目似度Base(A)來計算項目A 的驚奇推薦評估值
igaiDegree(A)-aBase(A)誦pHanten(A)
在上面的方程式中,a和P是分別預先確定的係數。
推薦引擎26以驚奇推薦評估值從高到低的次序推薦預定數目的項目。 例如,推薦引擎26從具有最高驚奇推薦評估值的一個開始識別預定數目的 項目,並且然後生成列出這些項目的推薦列表。推薦引擎26將推薦列表傳 送到終端21。
根據本發明的一個實施例,根據基;M目似度來縮窄候選項目,並且然後 基於反轉相似度而計算驚奇推薦評估值。如此識別要推薦的項目。
圖1所示的成熟度計算引擎28計算用戶偏好信息的成熟度。成熟度被 計算如下。成熟度計算引擎28從最新記錄開始,以從新到舊的次序提:^ 儲在用戶偏好資料庫25上的用戶的預定數目的記錄。例如,提取響應於由 用戶對終端21執行的三個最新^Mt而生成的記錄。
成熟度計算引擎28檢查所提取記錄的欄位"Valueld",並且存儲值xvn, 其指示欄位"Valueld"的值的類型數。例如,以時間次序提取三個最新的用 戶記錄。如果三個記錄的欄位"Valueld"的值是"11"、 "22"和"33",則 xvn=3。如果三個記錄的欄位"Valueld"的值是"11"、 "22"和"11",則
成熟度計算引擎28確定值yvn,其指示在用戶偏好資料庫25上出現的 欄位"Valueld"的值的類型之和,並且根據下面的方程式計算成熟度M:
M=l-(xvn/yvn)
其中xvn的值是響應於由用戶對終端21的一個操作的記錄的欄位 "Valueld"的值的類型數的平均值。
更具體地說,成熟度計算引擎28基於響應於用戶偏好信息的最新操作 的更新程度而計算成熟度M。
響應於用戶偏好信息的最新操作的更新程度越高,即(xvn/yvn)的值越 大,就認為用戶偏好的變化越大。如果在最近操作中用戶偏好極大地改變,則看起來用戶的用戶偏好信息仍然尚待成熟。這種用戶偏好信息在下次^Nt 中可能極大地改變。
如果在最近操作中用戶偏好沒有極大地改變,則認為用戶的用戶偏好信 息是成熟的。這種用戶偏好信息在下次操作中較少可能極大地變化。
例如,對於在用戶偏好資料庫25上首次生成成員ID的記錄之後的預定 時間段,由於未成熟的用戶偏好信息而可以將成熟度M的值設置為零。如 果用戶的操作次數小於預定閾值,則由於認為用戶偏好信息未成熟,可以將 成熟度M的值設置為零。
僅僅為示例性目的描述了成熟度M的計算方法,並且在成熟度M的計 算中可以使用別的方法。
在基本/反轉分量提取器27的基本分量提取中,基於由成熟度計算引擎 28計算的成熟度M而設置佔有率之和(包括被提取作為笫一基本分量的分 量的佔有率)。如前所述,在佔有率的計算中,將用戶偏好信息的每個原始 分量的值乘以相應的權重wa。
例如,如果成熟度M落在從0%到40%的範圍內,則認為用戶偏好信 息是未成熟的,並且將基本分量的佔有率之和設置為80%。認為從未成熟的 用戶偏好信息提取的反轉分量是較不可靠的。
如果成熟度M落在從41 %到70%的範圍內,則認為用戶偏好信息是適 度成熟的,並且將基本分量的佔有率之和設置為65 % 。
如果成熟度M落在從71。/。到100%的範圍內,則認為用戶偏好信息是 成熟的,並且將基本分量的佔有率之和設置為50%。認為從成熟的用戶偏好 信息提取的反轉分量是高度可靠的。
基於用戶偏好信息的成熟度M而最後確U本向量和反轉向量的分量。
根據本發明的一個實施例,基於基本向量和反轉向量而計算相似度,其 中所述基本向量和反轉向量具有基於用戶偏好信息的成熟度M而最後確定 的分量。首先,基於基;M目似度而縮窄候選項目。然後,基於反轉相似度而 計算驚奇推薦評估值以識別要推薦的項目。以這種方式,可以向用戶推薦可 能積fc^給用戶驚奇的項目。
如果內容與用戶通常查看的項目在一個或其他方面稍微不同,同時在另 一方面用戶對內容依然基本感覺熟悉,則用戶或許會享受來自內容的驚奇。 例如,如果推薦不匹配用戶偏好的內容,則用戶自然對內容不滿意。根據相關領域的一種技術,通過改變屬性的權重來增大屬性對匹配結果 的貢獻。這種技術不一定向用戶推薦用戶感覺以易於理解的方式連結的內 容。
即使在改變每個屬性的權重的技術中將用戶偏好信息的特定屬性的權 重設置為高,包含在內容的元數據中的屬性值也可能是小的,並且該內, 推薦的可能性保持為低。另一方面,即使將用戶偏好信息的特定屬性的權重
設置為低,包含在內容的元數據中的屬性值也可能是大的,並且該內^L推 薦的可能性保持為高。
根據相關技術,可以推薦風格與用戶通常查看的內容的風格不同的內 容,則用戶對內容感到驚奇。然而,由用戶肯定地接受這種驚奇仍然是不確 定的。
根據本發明的實施例,基於基^f目似度而縮窄候選項目,並且基於反轉 相似度而計算驚奇推薦評估值,以便識別要推薦的項目。
基本相似度和反轉相似度都表示在用戶偏好信息和項目偏好信息之間 的相似度。基^目似度和反轉相似度中的每個的值越高,項目匹配用戶偏好 的可能性就越高。另一方面,基^目似度和反轉相似度中的每個的值越低, 項目匹配用戶偏好的可能性就越低。
例如,如果推薦具有較低相似度的項目,則用戶必定對項目驚奇。這種 項目未能匹配用戶偏好並且不會由用戶作為肯定驚奇而接受。
根據本發明的一個實施例,將用戶偏好信息的向量分為以下向量用戶 偏好信息的基本向量和反轉向量。基於基本向量(基^目似度)而縮窄具有高 相似度的項目,然後基於反轉向量(反轉相似度)而選擇具有低相似度的項目。 使用根據本發明實施例的該配置,可靠地推薦由用戶接受作為肯定驚奇的項 目。
參考圖6所示的流程圖描述圖1所示的推薦系統10的推薦列表生成處 理。當發出向用戶推薦打算令用戶驚奇的項目的請求時,執行推薦列表生成 處理。
在步驟Sll中,成熟度計算引擎28計算成熟度M。
在步驟S12中,基本/反轉分量提取器27基於在步驟Sll中計算出的成 熟度M而設置基本分量對反轉分量的比率。例如,將成熟度M的值與預定 閾值比較,並且確定用戶偏好信息的成熟度M的級別(例如,未成熟、適度 成熟和成熟)。響應於成熟度M的級別而設置基本分量對反轉分量的比率。例如,將佔有率之和設置為80%、 65%、 50%等等。
在步驟S13中,基本/反轉分量提取器27和推薦引擎26執行稍後要參考 圖7討論的匹配處理。對用戶偏好信息與項目偏好信息的基本向量和反轉向 量進行匹配處理。計算並存儲每個項目的基^ f目似度和反轉相似度。在步驟 S13中的操作如此識別用作要推薦候選的候選項目。
在步驟S14中,推薦引擎26針對在步驟S13中識別的每個候選項目而 計算驚奇推薦評估值。如前面所討論的那樣,根據下面的方程式基於項目A 的反轉相似度Hanten(A)而計算項目A的驚奇推薦評估值igaiDegree(A):
igaiDegree(A)-l - Hanten(A)
可以根據下面的方程式基於項目A的基4^目似度Base(A)而計算項目A 的驚奇推薦評估值igaiDegree(A):
igaiDegree(A)-aBase(A)-pHanten(A)
在步驟S15中, 推薦引擎26識別要推薦的項目。在這種情況下,從候 選項目當中識別具有高驚奇推薦評估值的預定數目的項目。
在步驟S16中,推薦引擎26生成推薦列表的數據,其中所述推薦列表 被構建成在步驟S15中作為要推薦項目而識別的項目的列表。將這裡生成的 推薦列表的數據傳送到終端21。然後,將推薦列表顯示在終端21的顯示器 上,從而向用戶推薦所述項目。
如此執行推薦列表生成處理。以這種方式,推薦向用戶提供肯定驚奇的 項目。
參考圖7所示的流程圖,詳細地描述圖6所示的步驟S13中的匹配處理。 在步驟S31中,基本/反轉分量提取器27從用戶偏好信息中提取基本分量。
如同前面討論的那樣,基本/反轉分量提取器27計算從用戶偏好信息的 向量的每個分量乘以方程(l)中的每個權重而得到的值的佔有率。例如,將來 自用戶偏好信息的向量的分量當中的具有最高佔有率的分量設置為基本分 量,而不將具有第二高佔有率的分量設置為基本分量。提取具有第三、第
四.....最高佔有率的分量,直至所提取分量(包括笫一分量)的佔有率之
和達到在步驟S12中處理的值。將這些分量設置為基本分量。基於所提取的 基本分量的欄位"Attributed"的值而從用戶偏好信息提取基本分量。
在步驟S32中,基本/反轉分量提取器27從項目偏好信息提取基本分量。在這種情況下,從項目偏好信息提取對應於在步驟S31中提取的基本分量的 分量。
在步驟S33中,推薦引擎26計算在由步驟S31中提取的基本分量組成 的用戶偏好信息的基本向量與由步驟S32中提取的基本分量組成的項目偏好 信息的基本向量之間的相似度。例如,使用方程式(l)來計算相似度。計算與 要推薦的項目數相等數目的相似度。這些相似度成為對應於項目的基本相似 度。
在步驟S34中,推薦引擎26按相似度從高到低的次序來識別在步驟S33 中計算出的預定數目的項目作為候選項目。
在步驟S35中,推薦引擎26以將在步驟S34中識別的候選項目映射到
在步驟S33中所計算的基4^目似度的方式而存儲所述基;M目似度。
在步驟S36中,基本/反轉分量提取器27從用戶偏好信息提取反轉分量。 在這種情況下,例如,提取在步驟S31中沒有被提取作為基本分量的分量作 為反轉分量。
在步驟S37中,基本/反轉分量提取器27從項目偏好信息提取反轉分量。 在這種情況下,從項目偏好信息提取對應於在步驟S36中提取的反轉分量的 分量。
在步驟S38中,推薦引擎26計算在由步驟S36中提取的反轉分量組成 的用戶偏好信息的反轉向量與由步驟S37中提取的反轉分量組成的項目偏好 信息的反轉向量之間的相似度。例如,使用方程式(l)來計算相似度。計算與 要推薦的項目數相等數目的相似度。這些相似度成為對應於項目的反轉相似 度。
在步驟S39中,推薦引擎26以將在步驟S34中識別的候選項目映射到 在步驟S38中計算出的反轉相似度的方式而存儲所述反轉相似度。
以這種方式執行匹配處理。
在上面的討論中,推薦系統10推薦打算令用戶驚奇的項目。也可以推 薦不打算令用戶驚奇的項目。如果推薦系統10推薦不打算令用戶驚奇的項 目,則推薦引擎26對用戶偏好信息和項目偏好信息直接執行匹配處理,並 且計算相似度。推薦具有高計算出的相似度的項目。
方程式(l)的權重wa可以是針對每個分量而預先確定的權重,或者可以 是針對每個用戶而預設的權重。當計算在用戶偏好信息和項目偏好信息之間的相似度時,在相關技術中使用不依賴於個體的固定權重。然而,實際上,認為重要的屬性從用戶到用戶是不同的,並且公共固定值可能不能補償個體差異。即使通過使用作為公共固定值的權重計算相似度來推薦項目,也可能沒有推薦真正匹配用戶偏好的項目。
例如,可以允許用戶輸入重要的屬性並且可以響應於輸入結果而單獨地調整權重。4吏用這樣的配置,可以補償個體差異。
用戶偏好是非常抽象的概念,並且甚至用戶表示他們自己的偏好也有困難。用戶可能不會容易地發現重要的屬性。
用戶偏好可能隨時間改變。例如,在查看大量包括廣播節目和DVD的內R後,用戶可能發現比最初認為重要的屬性更重要的屬性。
根據本發明的一個實施例,可以自動地調整對每個用戶最佳的權重。
圖8是示出允許將權重自動地調整為對用戶最佳的權重的推薦系統100的框圖。
圖8所示的推薦系統100包括終端121、操作日誌資料庫122、內容元資料庫123、用戶偏好資料庫125、推薦引擎126、屬性權重調整引擎129、屬性權重資料庫131和屬性權重調整資料庫132。圖8所示的操作日誌資料庫122到屬性權重調整資料庫132可以被構建成包括至少一個伺服器的推薦設備,並且經由網絡而連接到終端121。
因此,終端121與由操作日誌資料庫122到屬性權重調整資料庫132組成的推薦設備分開布置。或者,可以使用至少一個計算機來布置整個推薦系統100。
圖8所示的終端121、操作日誌資料庫122、內容元資料庫123和用戶偏好資料庫125分別與圖1所示的終端21、操作日誌資料庫22、項目元資料庫23和用戶偏好資料庫25相同,並且這裡省略其詳細討論。操作日誌資料庫122由如前面參考圖2討論的記錄組成。內容元資料庫123也由如前面參考圖4討論的記錄組成。用戶偏好資料庫125由如前面參考圖5討論的記錄組成。圖8沒有示出對應於圖1所示的偏好提取引擎24的功能塊。如前面參考圖1討論的那樣,生成用戶偏好資料庫125的記錄。
圖9示出了屬性權重資料庫131。如圖9所示,每行數據對應於屬性權重資料庫131的記錄。在這種情況下,屬性權重資料庫131的每個記錄包括四個欄位欄位"Memberld"、欄位"Attributeld,,、欄位"Weight"和欄位"DefaultWdght,,。
如同參考圖2所示的操作日誌資料庫22討論的那樣,欄位"Memberld"存儲標識用戶的信息。如同參考圖4所示的項目元資料庫23討論的那樣,欄位"Attributed"存儲標識屬性的信息。
欄位"Weight"存儲由欄位"Memberld"標識的用戶的權重值。如上所述,權重是在每個屬性的基礎上而設置的,並且欄位"Weight"存儲對應於欄位"Attributeld"的值的屬性的權重值。
欄位"DefaultWeight"存儲由欄位"Memberld"標識的用戶的權重預設值。權重預設值可以是預定值或者可以是針對每個用戶預設的值。在自動地調整用戶的權重之前,欄位"Weight"存儲在欄位"DefaultWeight"處的值。
如圖9所示,在每一屬性基礎上存儲在欄位"MemberW"處具有值"1"或"2"的記錄。如同所列出的那樣,每個i己錄將欄位"DefauItWeight"的值存儲在欄位"Weight"處,並且尚未自動地調整用戶的權重。
圖8所示的屬性權重調整引擎129基於存儲在操作日誌資料庫122上的記錄而生成屬性權重調整資料庫132的記錄。屬性權重調整資料庫132存儲用來計算為預定用戶調整的權重的信息。
圖10示出了屬性權重調整資料庫132的示例。參考圖10,每行數據對應於屬性權重調整資料庫132的每個記錄。屬性權重調整資料庫132的每個記錄包括四個欄位欄位"Memberld"、欄位"TargetScore"、欄位"Attributescore"和欄位"UpdateTime"。
如同參考圖2的操作日誌資料庫22所示的那樣,圖10所示的欄位"Memberld" 存儲標識用戶的信息。
如圖10所示,欄位"TargetScore"和欄位"Attributescore,,存儲如下所述獲得的信息。
屬性權重調整引擎129檢查存儲在操作日誌資料庫122上的每個記錄的欄位"LogType"中的信息。如前面所討論的那樣,操作日誌資料庫122的記錄中的欄位"LogType"存儲"保留"、"細節"、"好"、…。存儲在欄位"LogType,,中的信息可以是根據預設方法將諸如查看項目或記錄項目的採作類型轉換成的字符串。
屬性權重調整引擎129獲取具有與預設信息相同的、要存儲在欄位"LogType,,中的信息的記錄作為要用來生成屬性權重調整資料庫132的記錄的記錄。要用來生成屬性權重調整資料庫132的記錄的記錄是響應於允許用戶評價關於要估計的目標項目的^Mt而生成的記錄。
例如,如果用戶查看或錄製項目,則項目似乎由用戶積極地評價。另一方面,如果用戶刪除對應於項目的內容的數據,則項目似乎由用戶消極地評價。
以根據預設方法轉換的字符串來表示存儲在操作日誌資料庫122的每個記錄的欄位"LogType"中的信息,以便估計關於操作類型的用戶評價。例如,用戶可能查看或錄製項目。存儲在響應於該操作而生成的記錄的欄位"LogType"中的信息是"好"。例如,用戶可能刪除項目的內容的數據。存儲在響應於該操作而生成的記錄的欄位"LogType"中的信息是"壞"。
屬性權重調整引擎129獲取將"好"或"壞"的信息存儲在欄位"LogType"中的記錄,作為用於生成屬性權重調整資料庫132的記錄的信息。
響應於如此獲取的記錄的欄位"ltemld"的值,屬性權重調整引擎129識別用作操作目標的項目,並且使推薦引擎126生成該項目的項目偏好信息。如前面所討論的那樣,項目偏好信息是包含與屬性數相同數目的分量的向量,並且是基於內容元資料庫123的記錄而如此生成的。響應於如此獲取的記錄的欄位"Memberld"的值,屬性權重調整引擎129識別執行該^Mt的用戶,並且基於用戶偏好資料庫125的記錄而生成用戶的用戶偏好信息。
屬性權重調整引擎129使推薦引擎126對項目偏好信息和用戶偏好信息執行匹配處理。例如,執行由方程式(l)表示的計算。屬性權重調整引擎129從推薦引擎126獲取方程式(l)中的IXa.Yal的值作為屬性"a"的相似度,並且生成將每個屬性的相似度映射到屬性ID的信息。將該信息存儲在欄位"Attributescore,,中。
在圖10中的第一個記錄中的欄位"Attributescore,,中描述的是"&1={6265.430664}&6 ={9245.234375}&7 ={255.272858}..."。第 一個記錄的欄位"Attributescore"表示具有屬性ID"1"的屬性的相似度是"6265.430664",具有屬性ID "6"的屬性的相似度是"9245.234375",以及具有屬性ID "7"的屬性的相似度是"255.272858"。
將基於存儲在欄位"LogType"中的信息而確定的相似度目標值存儲在欄位"TargetScore"中。相似度目標值是在項目偏好信息和用戶偏好信息之間的目標值,並且對應於方程式(l)中的sim(X,Y)的值。例如,如果存儲在要
23用於生成屬性權重調整資料庫132的記錄的記錄的欄位"LogType"中的信息是"好",則將"100.0"存儲在欄位"LogType"中。如果存儲在要用於生成屬性權重調整資料庫132的記錄的記錄的欄位"LogType"中的信息是"壞",則將"-100.0"存儲在欄位"LogType"中。對應於"好"的相似度目標值(這裡為"100.0")和對應於"壞"的相似度目標值(這裡為"-100.0")是預先確定的。
將標識生成記錄的日期和時間的信息存儲在圖10所示的欄位"UpdateTime,,中。
以這種方式生成屬性權重調整資料庫132的記錄。更具體地說,基於被獲取作為用於生成屬性權重調整資料庫132的記錄的記錄的記錄數(即操作日誌資料庫122的記錄輸出)而確定要生成的屬性權重調整資料庫132的記錄數。
屬性權重調整引擎129基於屬性權重調整資料庫132的記錄而調整每個用戶的權重。通過多回歸分析來執行權重調整,其中所述多回歸分析使用從屬性權重調整資料庫132的記錄的欄位"TargetScore"獲得的相似度目標值(在下文中被稱為目標相似度)和從屬性權重調整資料庫132的記錄的欄位"Attributescore"獲得的每個屬性的相似度。
屬性權重調整引擎129以目標相似度為因變量且以每個屬性的相似度為解釋變量來執行多回歸分析。屬性權重調整引擎129如此預測每個屬性的權重的最佳值。
如此基於每個分量(屬性)確定權重wa。例如,從圖IO所示的第一個記錄得到下面的線性方程式
從圖10所示的第二個記錄得到下面的線性方程式
100.0-336.787109xw一334.451447xw6+720.280334xw7+."
基於在屬性權重調整資料庫132的記錄當中的具有成員ID "1"的記錄而生成上述線性方程。通過對這些方程式的左邊和右邊求和來創建行列式。使用最小二乘法來確定解(Wh w6, w7,...)。如此執行多回歸分析。
使用(W, w6, W7,.,.)來表示權重。如果屬性權重調整資料庫132的記錄數足夠大,則還可以確定權重w" w3、 w4、...。使用所獲得的足夠大量的記錄,用戶偏好資料庫125以目標相似度為因變量且以每個屬性的相似度為解釋變量來執行多回歸分析。屬性權重調整引擎129如此確定方程式(l)的權重wa。例如,如果存在100個用戶偏好信息分量,則通過多回歸分析來計算wpw2、 w3、…、w靜
屬性權重調整引擎129確定每個屬性的權重的最佳值。基於如此確定的權重計算方程式(l)以確定相似度。具有"好"作為存儲在欄位"LogType"中的信息的項目導致關於項目偏好信息的相似度接近於"100.0"。具有"壞"作為存儲在欄位"LogType"中的信息的項目導致關於項目偏好信息的相似度接近於100.0"。更具體地說,由用戶高度評價的項目的相似度變高而沒有由用戶高度評價的項目的相似度變低。
屬性權重調整引擎129將經上述調整的每個權重值存儲在屬性權重資料庫131的記錄的欄位"Weight"中。這裡的屬性權重資料庫131的記錄是在每一屬性基礎上生成的,作為響應於用戶的成員ID的記錄。
為了識別要向用戶推薦的項目,推薦引擎126使用存儲在屬性權重資料庫131的記錄的欄位"Weight"中的值來計算在用戶的用戶偏好信息與每個項目的項目偏好信息之間的相似度。在相似度(sim(X,Y))的計算中,基於屬性權重資料庫131的記錄而識別的響應於每個用戶屬性的權重值被用作方程式(l)中的wa。
推薦引擎126從具有如此計算的最高相似度的一個項目開始,推薦預定數目的項目。例如,推薦引擎126從高相似度到^4目似度而識別預定數目的項目,然後生成由一列項目組成的推薦列表。然後,推薦引擎126將推薦列表傳送到終端121。
推薦系統100如此向用戶推薦項目。由於重要屬性從用戶到用戶是不同的,如果使用基於作為公共固定值的權重計算出的相似度來推薦項目,則可能不能推薦真正匹配用戶偏好的項目。
用戶偏好是非常抽象的概念並且甚至用戶表示他們自己的偏好也有困難。用戶可能不會容易地發現重要的屬性,並且用戶偏好可能隨時間改變。
根據本發明的一個實施例,基於操作日誌資料庫來估計項目的用戶評價,並且設置屬性權重調整資料庫132的記錄的目標相似度。基於目標相似度和每個屬性的相似度而執行多回歸分析。確定每個用戶的屬性權重。自動地設置對每個用戶最佳的權重。
下面參考圖11所示的流程圖描述圖8所示的推薦系統100的屬性權重調整資料庫生成處理。當生成屬性權重調整資料庫132的記錄時執行該處理。在步驟S101中,屬性權重調整引擎129設置操作日誌資料庫122的分析範圍。將分析範圍設置為表示日期和時間的信息。在分析範圍內的記錄是在操作日誌資料庫122的記錄中落在從所指定的日期和時間到當前時間範圍內的那些記錄。
在步驟S102中,屬性權重調整引擎129獲取在步驟S101中設置的分析範圍內的記錄。基於在操作日誌資料庫122的記錄的欄位"LogTime"中描述的信息而確定記錄是否在分析範圍內。
在步驟S103中,屬性權重調整引擎129確定在步驟102中獲取的記錄是否是預定日誌類型的記錄。例如,屬性權重調整引擎129確定存儲在記錄的欄位"LogType"中的信息是否是要用來生成屬性權重調整資料庫132的記錄的預定類型。例如,存儲在欄位"LogType,,中的信息是"好"或"壞",處理前進到步驟S104。
在步驟S104中,屬性權重調整引擎129識別記錄的成員ID和項目ID。
在步驟S105中,屬性權重調整引擎129使推薦引擎126在響應於在步驟S104中識別的成員ID的用戶偏好信息與響應於所識別的項目ID的項目偏好信息之間執行匹配處理。在這種情況下,計算方程式(l)。在步驟S105中,屬性權重調整引擎129從推薦引擎126獲取方程式(l)中的隊乂l的值作為屬性"a"的相似度,並且生成將每個屬性的相似度映射到屬性ID的信息。如此在每一屬性的基礎上計算相似度。如前面所討論的那樣,櫸爭個屬性的相似度映射到屬性ID的信息是存儲在屬性權重調整資料庫132的記錄的欄位"Attributescore,,中的信息。
在步驟S106中,屬性權重調整引擎129將在步驟S105中獲得的信息映射到相似度目標值,從而生成如上參考圖10所述的屬性權重調整資料庫132的記錄。然後,屬性權重調整引擎129將該記錄登記到屬性權重調整lfc據庫132上。
如上所述,如果要存儲在要用於生成屬性權重調整資料庫132的記錄的記錄的欄位"LogType,,中的信息是"好",則目標相似>1^ "100.0"。另夕卜,如果要存儲在要用於生成屬性權重調整資料庫132的記錄的記錄的欄位"LogType"中的信息是"壞",則目標相似度是"-100.0"。
如果在步驟S103中確定在步驟S102中獲得的記錄不是預定日誌類型的記錄,則跳過步驟S104-S106。
在步驟S107中,確定是否檢查了分析範圍內的所有記錄。如果在步驟S107中確定尚未檢查完分析範圍內的所有記錄,則處理返回到步驟S102。
重複步驟S102-S107,直至在步驟S107中確定檢查了分析範圍內的所有記錄。
如此執行屬性權重調整資料庫生成處理。
下面參考圖12所示的流程圖描述圖8所示的推薦系統100的屬性權重計算處理。對終端121的每個用戶以預定時間間隔周期性地執行該處理。更具體地說,首先對用戶A執行屬性權重計算處理,然後在從第一定時起的預定天數之後的下一定時再次對用戶A執行屬性權重計算處理。在從第二定時起的預定天數之後再次對用戶A執行屬性權重計算處理,等等。
或者,每次從用戶發出執行命令時,可以執行屬性權重計算處理。
在步驟S121中,屬性權重調整引擎129識別成員ID。在從現在起^L行的處理中,計算響應於在步驟S121中識別的成員ID的用戶的屬性權重。
在步驟S122中,屬性權重調整引擎129從存儲在屬性權重調整資料庫132上的記錄當中檢查在步驟S121中識別的成員ID的記錄。
在步驟S123中,屬性權重調整引擎129確定在步驟S122中檢查的記錄lbl否等於或大於N。這裡,N^l預先確定的數,並且用作閾值,根據所述閾值而確定存在足夠的記錄數用於執行多回歸分析。
如果在步驟S123中確定存在N個或更多記錄,則處理前進到步驟S124。
在步驟S124中,屬性權重調整引擎129基於在步驟S122中檢查的屬性權重調整資料庫132的記錄而調整用戶的權重。基於來自屬性權重調整資料庫132的記錄的欄位"TargetScore"的目標相似度和來自屬性權重調整資料庫132的記錄的欄位"Attributescore"的每個屬性的相似度,通過多回歸分析來執行權重調整。
在步驟S125中,屬性權重調整引擎129識別從步驟S124得到的權重,作為在步驟S121中識別的用戶的每個屬性的權重。
在步驟S126中,屬性權重調整引擎129更新屬性權重資料庫131,以反映在步驟S125中識別的用戶的屬性權重。更具體地說,從圖9所示的屬性權重資料庫131的記錄獲取在步驟S121中識別的成員ID的記錄,並且檢查這些記錄的欄位"Attributeld"的值。在步驟S125中識別的用戶的屬性權重改寫具有表示該屬性的欄位"Attributeld"的值的記錄的欄位"Weight"的值。屬性數等於用戶偏好信息的分量數。例如,如M在100個用戶偏好信息分量,則改寫屬性權重資料庫131的100個記錄的欄位"Weight"的值。
在步驟S126之後,屬性權重調整引擎129在步驟S127中執行屬性權重調整資料庫管理處理。在屬性權重調整資料庫管理處理中,從屬性權重調整資料庫132中刪除不必要的記錄。稍後將參考圖13-15描述屬性權重調整資料庫管理處理的細節。
以這種方式執行屬性權重計算處理。
根據本發明的一個實施例,基於每個用戶的操作日誌資料庫而估計項目的用戶評價,並且如前面參考圖11所討論的那樣i殳置屬性權重調整^t據庫132的記錄的目標相似度。如前面參考圖12所討論的那樣,使用目標相似度和每個屬性的相似度來執行多回歸分析。如此確定用戶的屬性權重。自動地設置對每個用戶最佳的權重。
下面參考圖13的流程圖描述在圖12的步驟S127中的屬性權重調整資料庫管理處理。
在步驟S141中,屬性權重調整引擎129從屬性權重調整資料庫132的記錄當中,檢查在步驟S121中識別的成員ID的每個記錄的生成日期和時間。例如,屬性權重調整引擎129檢查在圖IO所示的欄位"UpdateTime"處標識曰期和時間的信息。
在步驟S142中,屬性權重調整引擎129按在步驟S141檢查到的生成日期和時間從舊到新的次序識別X。/。的記錄。在這種情況下,識別具有在步驟S121中識別的成員ID的記錄的總數的X。/。(例如,50%)。 X的值是預先確定的。
在步驟S143中,屬性權重調整引擎129刪除在步驟S142中識別的屬性權重調整資料庫132的記錄。
以這種方式執行屬性權重調整資料庫管理處理。通過刪除舊記錄,可以調整用戶的每個屬性的權重,以響應用戶偏好的變化。
基於操作日誌資料庫122的記錄而生成屬性權重調整資料庫132的記錄。響應於在終端121上進行的用戶的舊^作而生成的屬性權重調整^t據庫132的記錄具有舊的生成日期和時間。響應於在終端121上進行的用戶的新操作而生成的屬性權重調整資料庫132的記錄具有新的生成日期和時間。
在對用戶偏好的重要性方面,用戶^Mt可以彼此不同。例如,用戶可以防止刪除給定內容的數據,或者可以在"收藏夾"文件夾中登記給定內容。
28偏好。這種操作清楚M示積極評價。
雖然用戶再現和查看給定內容的數據暗示對內容(項目)的積極評價,但是這種操作未必確保用戶對內容的強烈偏好。用戶可能僅僅為檢查目的而筒單地查看所記錄內容的數據。
因此,在對用戶偏好的重要性方面,用戶操作彼此不同。如果自動地刪除舊數據而不注意用戶操作的類型,則可能不能使用所認可的用戶偏好適當地執行權重調整。
在圖12的步驟S127的屬性權重調整資料庫管理處理中,還考慮用戶操作的類型。如同下面在圖12的步驟S127的屬性權重調整資料庫管理處理中描述的那樣,考慮用戶操作的類型。
圖14示出了屬性權重調整資料庫132的另一示例。每行上的數據對應於如前面參考圖10討論的屬性權重調整資料庫132的每個記錄。屬性權重調整資料庫132的每個記錄包括五個欄位欄位"Memberld"、欄位"TargetScore"、欄位"Attributescore"、欄位"UpdateTime"和欄位"容許使用次數"。
圖14中的欄位"Memberld"、欄位"TargetScore"、欄位"Attributescore"和欄位"UpdateTime"與圖10的對應字斜目同,並且這裡省略其討論。
圖14中的欄位"容許使用次數"存儲數值,其表示記錄可以在屬性權重計算處理中使用多少次。當生成記錄時,存儲在欄位"容許使用次數"中的是響應於由操作日誌資料庫122識別的操作類型而確定的值。
如果用戶執行清楚地表示用戶對項目的積極評價的操作時,則存儲在操作日誌資料庫122的記錄的欄位"LogType"中的信息是"好3"。例如,如果用戶執行暗示用戶對項目的積極評價的操作時,則存儲在欄位"LogType"中的信息可以是"好2"或"好1"。
如果用戶刪除響應於項目的內容數據或者如果用戶執行清楚地表示用戶消極評價的操作,則存儲在欄位"LogType"中的信息是"壞3"。如果用戶執行暗示用戶消極評價的操作,則存儲在欄位"LogType,,中的信息可以是"壞2"或"壞1"。
當生成屬性權重調整資料庫132的記錄時,存儲在操作日誌資料庫122的記錄的欄位"LogType"中的信息可以是"好3"。在這樣的情況下,將"3"存儲在欄位"容許使用次數"中。當生成屬性權重調整資料庫132的記錄時,存儲在操作日誌資料庫122的記錄的欄位"LogType"中的信息可以是"好2"或"好1"。在這樣的情況下,將"2"或"1"存儲在欄位"容許使用次數"中。
當生成屬性權重調整資料庫132的記錄時,存儲在操作日誌資料庫122的記錄的欄位"LogType,,中的信息可以是"壞3"。在這樣的情況下,將"3"存儲在欄位"容許使用次數"中。類似地,當生成屬性權重調整資料庫132的記錄時,存儲在操作日誌資料庫122的記錄的欄位"LogType,,中的信息可以是"壞2"或"壞1"。在這樣的情況下,將"2"或"1"存儲在欄位"容許使用次數"中。
僅僅為解釋性目的而描述存儲在操作日誌資料庫122的記錄的欄位"LogType,,中的信息"好3"、"好2"、"好1"、壞3"、"壞2"和"壞1"。實際所存儲的信息可以是不同的。重要的是通過操作類型來確定存儲在欄位"容許使用次數"中的值。
如果在屬性權重調整資料庫管理處理中考慮操作類型,則將屬性權重調整資料庫132構造成如圖14所示。使用圖14所示的屬性權重調整資料庫132來執行圖11和12所示的處理。
下面參考圖15的流程圖描t在圖12的步驟S127中的屬性權重調整資料庫管理處理的另一示例。在屬性權重調整資料庫管理處理中,考慮操作類型。
在步驟S161中,屬性權重調整引擎129從屬性權重調整資料庫132的記錄當中,更新在步驟S121中識別的成員ID的每個記錄的容許使用次數。例如,按"1"遞減在步驟S121中識別的成員ID的所有記錄中的每個存儲在圖14的欄位"容iff吏用次數"中的值。
在步驟S162中,屬性權重調整引擎129識別具有"0"作為在步驟S161中更新的容許使用次數的記錄。例如,在圖14的第三行的記錄具有值"2"作為當前的容許使用次數,並且在步驟S161中的更新使容許使用次數的值為"1"。例如,在圖14的第四行的記錄具有值"3"作為當前的容許使用次數,並且在步驟S161中的更新使容許使用次數的值為"2"。
在第二、第五和第六行的記錄具有值"1"作為當前的容許使用次數,並且在步驟S161中的更新使容許使用次數的值為"0"。在步驟S162中,識別在第二、第五和第六行的記錄具有"0"。
在步驟S163中,屬性權重調整引擎129刪除在步驟S162中所識別的具有"0"的記錄。
以這種方式扭軒屬性權重調整資料庫管理處理。由於基於響應於操作類型確定的容許使用次數的值來確定是否刪除記錄,因此在屬性權重調整資料庫管理處理中考慮了操作類型。如此構建適當地反映用戶偏好的屬性權重調
整資料庫132。適當地調整用戶的每個屬性的權重。
可以使用硬體或軟體來執行上面的系列處理步驟。如果使用軟體來執行系列處理步驟,則可以從記錄介質或經由網,形成軟體的程序安裝到包含在特定硬體中的計算機,或諸如圖16所示的使用其上安裝的各種程序來執行多種功能的通用個人計算機700的計算機。
圖16中的中央處理單元(CPU)701在以下程序的控制下執行多種處理存儲在只讀存儲器(ROM)702上的程序或從存儲單元708載入到隨MM儲器(RAM)703的程序。RAM 703還存儲CPU 701在執行處理時使用的數據。
CPU 701、 ROM 702和RAM 703經由總線704而彼此互連。輸入-輸出接口 705連接到總線704。
輸入-輸出接口 705還連接到包括M、滑鼠等的輸入單元706,包^ilf"如陰極射線管(CRT)或液晶顯示器(LCD)的顯示器、揚聲器等的輸出單元707,包括硬碟等的存儲單元708,包拾清如數據機或LAN卡等網M口的通信單元709。通信單元709經由網絡(包括網際網路)而執行通信處理。
在需要時將驅動器710連接到輸入-輸出接口 705。適當時,將諸如磁碟、光碟、磁光碟或半導體存儲器的可拆卸介質711裝載到驅動器710上。將從可拆卸介質711讀取的計算;^^呈序安裝到存儲單元708上。
如果使用軟體執行上述處理步驟,則從諸如網際網路的網絡或從諸如可拆卸介質711的記錄介質安裝軟體的電腦程式。
記錄介質包括與圖16所示的計算機分開提供的裝載程序的可拆卸介質711,以將電腦程式分發到用戶。可拆卸介質711可以是以下一種磁碟(諸如M(註冊商標))、光碟(諸如光碟只讀存儲器(CD-ROM)、或數字多功能盤(DVD))、磁光碟(MD(迷你盤)(註冊商標))和半導體存儲器。記錄介質還包括ROM 702和包含在存儲單元708中的^it,每個分布在計算機中並且將電腦程式存儲在其上。
可以以本說明書中描述的處理步驟的時間系列次序來執行電腦程式,或者可以並行執行或可以在任意定時執行。本申請包含與2008年9月8日向日本專利局提交的日本優先權專利申請JP2008-229312中公開的主題內斜目關的主題內容,在此通過引用將其全文合併於此。
本領域的技術人員應當理解,可以在所附權利要求或其等價物的範圍內根據設計需要或其它因素進行各種修改、組合、再組合和變更。
權利要求
1.一種推薦設備,包括用戶基本分量提取裝置,用於從形成包含多個分量的向量的用戶偏好信息的分量當中提取根據預定標準選擇的用戶基本分量,所述用戶偏好信息表示用戶的偏好;項目基本分量提取裝置,用於從形成為向量的項目偏好信息的分量當中提取與所述用戶基本分量對應的分量作為項目基本分量,所述向量包含與所述用戶偏好信息的分量數相同數目的分量,所述項目偏好信息的分量基於用作推薦目標的每個項目的元數據信息而生成;基本相似度計算裝置,用於計算在包含所述用戶基本分量的用戶基本向量與包含用作推薦目標的所述項目的項目基本分量的項目基本向量之間的基本相似度;候選項目識別裝置,用於基於所述基本相似度而識別要向所述用戶推薦的候選項目;用戶反轉分量提取裝置,用於從所述用戶偏好信息的分量當中提取除所述用戶基本分量之外的分量作為用戶反轉分量;項目反轉分量提取裝置,用於從用於所述候選項目的所述項目偏好信息的分量當中提取與所述用戶反轉分量對應的分量作為項目反轉分量;反轉相似度計算裝置,用於計算在包含所述用戶反轉分量的用戶反轉向量與包含用作推薦目標的所述項目的項目反轉分量的項目反轉向量之間的反轉相似度;以及推薦項目識別裝置,用於基於所述反轉相似度而從所述候選項目當中識別要向所述用戶推薦的項目。
2. 根據權利要求1所述的推薦設備,其中根據所述用戶偏好信息的 所述用戶基本分量的值對所述用戶偏好信息分量的值之和的佔有率來選 擇所述用戶基本分量。
3. 根據權利要求2所述的推薦設備,其中根據所述佔有率和所述用 戶偏好信息的成熟度來選擇所述用戶基本分量。
4. 根據權利要求3所述的推薦設備,其中基於有關所述用戶偏好信 息的分量的信息而計算所述用戶偏好信息的成熟度,所述用戶偏好信息通過預定操作來更新,所述預定^Mt被標識為與所述項目有關且由所述用戶 執行的操作。
5. —種推薦方法,包括以下步驟從形成包含多個分量的向量的用戶偏好信息的分量當中提取根據預 定標準選擇的用戶基本分量,所述用戶偏好信息表示用戶的偏好;從形成為向量的項目偏好信息的分量當中提取與所述用戶基本分量 對應的分量作為項目基本分量,所述向量包含與所述用戶偏好信息的分量 數相同數目的分量,所述項目偏好信息的分量基於用作推薦目標的每個項 目的元數據信息而生成;計算在包含所述用戶基本分量的用戶基本向量與包含用作推薦目標 的所述項目的項目基本分量的項目基本向量之間的基;M目似度;基於所U^目似度而識別要向所述用戶推薦的候選項目;從所述用戶偏好信息的分量當中提取除所述用戶基本分量之外的分 量作為用戶反轉分量;從用於所述候選項目的所述項目偏好信息的分量當中提取與所述用 戶反轉分量對應的分量作為項目反轉分量;計算在包含所述用戶反轉分量的用戶反轉向量與包含用作推薦目標 的所述項目的項目反轉分量的項目反轉向量之間的反轉相似度;以及基於所述反轉相似度而從所述候選項目當中識別要向所述用戶推薦 的項目。
6. —種電腦程式,用於使計算機執行以下步驟從形成包含多個分量的向量的用戶偏好信息的分量當中提取才艮據預 定標準選擇的用戶基本分量,所述用戶偏好信息表示用戶的偏好;從形成為向量的項目偏好信息的分量當中提取與所述用戶基本分量 對應的分量作為項目基本分量,所述向量包含與所述用戶偏好信息的分量 數相同數目的分量,所述項目偏好信息的分量基於用作推薦目標的每個項 目的元lt據信息而生成;計算在包含所述用戶基本分量的用戶基本向量與包含用作推薦目標 的所述項目的項目基本分量的項目基本向量之間的基;^目似度;基於所^J4^目似度而識別要向所述用戶推薦的候選項目;從所述用戶偏好信息的分量當中提取除所述用戶基本分量之外的分量作為用戶反轉分量;從用於所述候選項目的所述項目偏好信息的分量當中提取與所述用 戶反轉分量對應的分量作為項目反轉分量;計算在包含所述用戶反轉分量的用戶反轉向量與包含用作推薦目標 的所述項目的項目反轉分量的項目反轉向量之間的反轉相似度;以及基於所述反轉相似度而從所述候選項目當中識別要向所述用戶推薦 的項目。
7. —種記錄介質,其存儲根據權利要求6所述的計算M序。
8. —種推薦設備,包括用戶基本分量提取單元,用於從形成包含多個分量的向量的用戶偏好 信息的分量當中提^f艮據預定標準選擇的用戶基本分量,所述用戶偏好信 息表示用戶的偏好;項目基本分量提取單元,用於從形成為向量的項目偏好信息的分量當 中提取與所述用戶基本分量對應的分量作為項目基本分量,所述向量包含 與所述用戶偏好信息的分量數相同數目的分量,所述項目偏好信息的分量 基於用作推薦目標的每個項目的元數據信息而生成;基;M目似度計算單元,用於計算在包含所述用戶基本分量的用戶基本 向量與包含用作推薦目標的所述項目的項目基本分量的項目基本向量之 間的基;^目似度;候選項目識別單元,用於基於所述基;M目似度而識別要向所述用戶推 薦的候選項目;用戶反轉分量提取單元,用於從所述用戶偏好信息的分量當中提取除 所述用戶基本分量之外的分量作為用戶反轉分量;項目反轉分量提取單元,用於從用於所述候選項目的所述項目偏好信 息的分量當中提取與所述用戶反轉分量對應的分量作為項目反轉分量;反轉相似度計算單元,用於計算在包含所述用戶反轉分量的用戶反轉 向量與包含用作推薦目標的所述項目的項目反轉分量的項目反轉向量之 間的反轉相似度;以及推薦項目識別單元,用於基於所述反轉相似度而從所述候選項目當中 識別要向所述用戶推薦的項目。
全文摘要
本發明提供了一種用於內容推薦的設備、方法和電腦程式以及記錄介質。其中,基本/反轉分量提取器計算從存儲在用戶偏好資料庫上的信息獲得的用戶偏好信息的向量的每個分量的佔有率,並且根據所計算出的基本分量的佔有率而從用戶偏好信息提取基本分量。基本/反轉分量提取器從由存儲在項目元資料庫上的信息獲得的項目偏好信息中提取類似的基本分量。推薦引擎計算在用戶偏好信息的基本向量與項目偏好信息的基本向量之間的相似度,並且以相似度從高到低的次序識別預定數目的項目作為候選項目。推薦引擎還計算在用戶偏好信息的反轉向量與項目偏好信息的反轉向量之間的相似度,並且識別具有低相似度的候選項目。
文檔編號G06F17/30GK101673286SQ20091017360
公開日2010年3月17日 申請日期2009年9月8日 優先權日2008年9月8日
發明者上前田直樹, 增田弘之 申請人:索尼株式會社