多維推薦系統結合層級結構的概念與架構
在傳統的 OLAP 模型中,層級結構通常定義在各個維度上。例如,在銷售應用程序中,數據 Cube 的各個單元格對應於銷售值,而位置維度可以具有各種層級,例如城市,州,地區等。
人們可以在州,地區或國家層面匯總銷售額。此外,可以通過在特定時間段內累計特定區域中的銷售額來將位置維度與時間維度組合。這種聚合也可以在多維推薦系統中執行。
層級結構在對情境敏感的推薦系統中也很有用,因為它們提供了各種抽象級別,其中可以執行聚合分析。為了執行聚合分析,假設一些或所有維度具有與它們相關聯的層次結構。這些層次結構是推薦系統輸入的一部分。層次結構的性質是依不同領域而異的,它取決於手邊的應用領域。一些例子如下:
1. 位置維度可以具有對應於城市,州,地區,國家等的層級。
2. 如果人口統計信息與用戶相關聯,則人們還可以將人員維度排列在人口統計屬性的層級結構中,例如年齡或職業。諸如年齡之類的維度可以被離散化為各種層次級別的粒度。
3. 項目維度可以使用標準的行業層級結構,例如北美行業分類系統(NAICS)。或者,可以使用各種類型或子類來表示多個不同產品領域中的項目(以電影領域為例)。
4.時間等維度可以用不同的細化層次結構表示,例如小時,天,週,月等。
顯然,用戶需要預先仔細選擇要使用的層級結構,以便可以在給定的應用程序中執行最相關的分析。為手邊的應用選擇最相關的情境維度 D1 ... Dw 也很重要。這個問題與傳統分類和機器學習文獻中的特徵選擇密切相關。或者,這些維度可以由行業中此領域的專家來選擇。
人們可以在州,地區或國家層面匯總銷售額。此外,可以通過在特定時間段內累計特定區域中的銷售額來將位置維度與時間維度組合。這種聚合也可以在多維推薦系統中執行。
層級結構在對情境敏感的推薦系統中也很有用,因為它們提供了各種抽象級別,其中可以執行聚合分析。為了執行聚合分析,假設一些或所有維度具有與它們相關聯的層次結構。這些層次結構是推薦系統輸入的一部分。層次結構的性質是依不同領域而異的,它取決於手邊的應用領域。一些例子如下:
1. 位置維度可以具有對應於城市,州,地區,國家等的層級。
2. 如果人口統計信息與用戶相關聯,則人們還可以將人員維度排列在人口統計屬性的層級結構中,例如年齡或職業。諸如年齡之類的維度可以被離散化為各種層次級別的粒度。
3. 項目維度可以使用標準的行業層級結構,例如北美行業分類系統(NAICS)。或者,可以使用各種類型或子類來表示多個不同產品領域中的項目(以電影領域為例)。
4.時間等維度可以用不同的細化層次結構表示,例如小時,天,週,月等。
顯然,用戶需要預先仔細選擇要使用的層級結構,以便可以在給定的應用程序中執行最相關的分析。為手邊的應用選擇最相關的情境維度 D1 ... Dw 也很重要。這個問題與傳統分類和機器學習文獻中的特徵選擇密切相關。或者,這些維度可以由行業中此領域的專家來選擇。
用戶,項目(電影)和時間的可能層次結構示例如上圖所示。用戶按年齡分類,電影按類型分類,時間按時間分類。現在考慮在上圖的示例中,使用這些層次結構的情況。通過這些層次結構,人們現在可以進行更一般的(聚合)查詢,例如
gR(David,Terminator,Evening),
而不是
gR(David,Terminator,7 PM)。
如果他在晚上的任何時間觀看它,前者提供了大衛喜歡電影終結者的平均預測,而後者提供如果他在晚上7點看到電影, 他有多少想要看的預測。在極端情況下,諸如
gR(David,Action,Any Time)
之類的查詢對應於完全忽略時間情境並且專注於特定類型的電影。此查詢估算了David隨時觀看的動作片的平均評分。因此,層級結構不僅可以從情境角度出發,而且可以從用戶和項目維度的層級分析角度出發。
可以對用戶和項目維度組合層次分析。例如,可以通過查詢年齡範圍[20,30]中的多少用戶喜歡動作電影而不是關注像 David 這樣的特定用戶來進一步聚合。這是通過函數
gR(用戶∈年齡[20,30],動作,任何時間)
實現的。請注意,上圖中的層次結構按年齡對用戶進行分組。這種聚合查詢可以被視為多維推薦系統中的一種聚合。例如,可以根據聚合函數查看聚合評級
gR(David,Action,Any Time),
如下所示:
gR(David,Action,Any Time)= AGGR(x∈Action,All y)gR(David,x,y)
在傳統的OLAP應用程序中,可以通過對單元格中的值求和來獲得相關的聚合。這在傳統的OLAP系統中也被稱為“匯總”運算子。但是,在推薦系統中,談論的不是加法,而是平均更有意義。人們可能會決定大衛對動作片的平均評分或動作片的前 k 評級平均值。這裡的主要挑戰是在原始數據 Cube 中沒有完全觀察到的評分等級,其被定義為部分函數。在大多數情況下,評級在層級結構的底層以非常稀疏的方式指定。在某些情況下,觀察到的評級也可能在更高的層級上指定。例如,在某些系統中,大衛可能能夠直接指定他對動作或喜劇電影的興趣,而不是為個別電影提供評級。多維推薦系統也被設計用於解決這些情況。因此,關鍵的一步是能夠估計層級結構中所有級別的缺失評級。這些估計的評級以及最初指定的評級可用於提供對各種查詢的回應。因此,多級多維評級估計問題陳述如下:
多級多維評估問題定義:
給定 :
在多維立方體的不同層級指定的初始用戶指定評級集,
任務:
在OLAP層次結構中,估計多維數據集中的所有其他評級。
儘管通過各種策略並不總是可以充分利用分層信息,但是大多數技術能夠從其他評級中預測最低級別的評級。執行情境推薦的技術分為三類:
1.情境預過濾:在這些方法中,對應於相關情境的預過濾一部分評級。然後使用相關的評級部分來製定有針對性的建議。
2.情境後過濾:在這些方法中,首先在整個全局評級集上執行建議。隨後,使用時間情境將排序的推薦列表過濾或調整為後處理步驟。
3.情境建模:在這種情況下,情境信息直接合併到預測函數中,而不是作為預過濾或後過濾步驟。這與以前的情況根本不同,在前一種情況下,傳統的二維推薦系統在封面下使用。上下文建模是最通用的方法,其中一個直接與建模過程中的評級矩陣的w維表示一起工作。這種方法提供了最集成的結果,但它有時是計算密集型的,或者在高維設置中難以執行。
在之後,我們將討論提出建議的這些不同類別的技術。值得注意的是,這些技術中的一些(例如後過濾)使用關於各種維度的附加輔助信息。這些輔助信息被稱為屬性。
例如,用戶可能具有與其相關聯的人口統計信息,例如他們的姓名,地址,年齡,性別或職業。諸如電影之類的項目可能具有與其相關聯的輔助信息,
例如標題,演員,導演等。屬性不僅與用戶和項目維度相關聯,還與情境維度相關聯。
例如,考慮用戶希望與有特定伴侶觀看的電影的情況。伴隨維度可能包含名稱,伴隨類型(例如,朋友或父級)和年齡。正如我們將在後面看到的,這些類型的輔助信息對於某些類型的情境推薦應用程序通常很重要。與維度關聯的屬性集稱為其配置文件。請注意,項目配置文件和用戶配置文件經常用於學習基於內容的推薦模型。這些屬性在許多用於情境設置的算法中也是有用的。
留言
張貼留言