讀論文-序列感知推薦系統(Sequence-Aware Recommender Systems)

想你时风起發表於2024-04-11

前言

今天讀的論文為一篇於2018年發表在(ACM computing surveys (CSUR))的論文,這篇文章主要講述了序列感知推薦系統(Sequence-Aware Recommender Systems)的研究和應用。文章首先介紹了推薦系統在實際中的應用背景,然後指出了傳統推薦系統在處理使用者行為序列資訊方面的侷限性。接著,文章詳細討論了序列感知推薦系統如何利用使用者行為的序列資訊來改進推薦質量,包括對使用者短期興趣和長期行為模式的考慮。

ACM Computing Surveys (CSUR) 是由美國計算機學會(Association for Computing Machinery, ACM)出版的一本學術期刊,專注於電腦科學領域的綜述文章。CSUR 的目標是為研究人員、教育工作者和專業人士提供一個關於電腦科學各個子領域最新進展的全面、深入的概述。這些綜述文章通常由領域內的專家撰寫,旨在提供對特定主題的深入分析,包括理論基礎、關鍵技術、應用案例以及未來研究方向。CSUR 的內容涵蓋了從基礎理論到實際應用的廣泛主題,如演算法、程式語言、軟體工程、人工智慧、網路技術、資料庫、圖形學、安全、教育等。期刊鼓勵作者撰寫具有教育意義的文章,這些文章不僅回顧了現有知識,還探討了新的趨勢和挑戰,為讀者提供了一個瞭解和學習新技術、新方法的平臺。CSUR 對於學術界和工業界都是一個寶貴的資源,因為它提供了對複雜主題的清晰解釋,有助於讀者快速掌握領域的最新動態。此外,CSUR 的文章通常具有較高的引用率,反映了其在學術界的影響力。

要引用這篇論文,請使用以下格式:

[1]Quadrana, Massimo, Paolo Cremonesi, and Dietmar Jannach. "Sequence-aware recommender systems." ACM computing surveys (CSUR) 51.4 (2018): 1-36.

摘要

Recommender systems are one of the most successful applications of data mining and machine learning technology in practice. Academic research in the field is historically often based on the matrix completion problem formulation, where for each user-item-pair only one interaction (e.g., a rating) is considered. In many application domains, however, multiple user-item interactions of different types can be recorded over time. And, a number of recent works have shown that this information can be used to build richer individual user models and to discover additional behavioral patterns that can be leveraged in the recommendation process. In this work we review existing works that consider information from such sequentially-ordered useritem interaction logs in the recommendation process. Based on this review, we propose a categorization of the corresponding recommendation tasks and goals, summarize existing algorithmic solutions, discuss methodological approaches when benchmarking what we call sequence-aware recommender systems, and outline open challenges in the area.

推薦系統是資料探勘和機器學習技術在實踐中最成功的應用之一。學術研究領域通常基於矩陣補全問題的形式,其中只考慮使用者-專案對的單一互動(例如,評分)。然而,在許多應用領域,可以記錄多種型別的使用者-專案互動,並且隨著時間的推移。最近的一些研究表明,這些資訊可以用來構建更豐富的個體使用者模型,並發現可以在推薦過程中利用的額外行為模式。在這項工作中,我們回顧了考慮這些順序排列的使用者-專案互動日誌在推薦過程中的現有研究。基於這項回顧,我們提出了對相應推薦任務和目標的分類,總結了現有的演算法解決方案,討論了在基準測試我們稱之為序列感知推薦系統時的方法論方法,並概述了該領域的開放性挑戰。

總結來說,摘要部分主要講了以下要點:

  • 推薦系統的應用:推薦系統是資料探勘和機器學習技術在實際應用中的成功案例,它們幫助使用者在大量物件中發現感興趣的專案,尤其在電子商務或媒體流媒體等領域。
  • 傳統推薦系統的限制:傳統的推薦系統通常基於矩陣補全問題,只考慮單一使用者-專案互動(如評分),而不考慮使用者行為的短期或長期模式。
  • 序列感知推薦系統的優勢:這些系統透過考慮使用者行為的序列資訊,能夠構建更豐富的使用者模型,發現額外的行為模式,並在推薦過程中利用這些資訊。
  • 研究回顧:文章回顧了現有研究,這些研究考慮了使用者-專案互動日誌中的序列資訊,並提出了相應的推薦任務和目標的分類。
  • 演算法解決方案:文章總結了現有的演算法解決方案,並討論了在基準測試序列感知推薦系統時的方法論方法。
  • 開放性挑戰:文章概述了該領域的開放性挑戰,並旨在為未來研究提供更標準化和可復現的工作路徑。
  • 文章結構:文章首先介紹了推薦系統的背景,然後描述了序列感知推薦系統的特徵,接著詳細討論了不同型別的推薦問題、演算法和評估方法,並對未來研究方向進行了展望。

引言

Recommender Systems (RS) are software applications that support users in finding items of interest within larger collections of objects, often in a personalized way. Today, such systems are used in a variety of application domains, including for example e-commerce or media streaming, and receiving automated recommendations of different forms has become a part of our daily online user experience. Internally, such systems analyze the past behavior of individual users or of a user community as a whole to detect patterns in the data. On typical online sites, various types of relevant actions of a user can be recorded, e.g., that a user views an item or makes a purchase, and several of the actions of a single user may relate to the same item. These recorded actions and the detected patterns are then used to compute recommendations that match the preference profiles of individual users. In academic environments, the predominant problem abstraction is that of matrix completion where we are given a user-item rating matrix and the goal is to predict the missing values. This abstraction is generally well-suited to train machine learning models that aim to capture longer-term user preference profiles. The corresponding algorithms however typically implement no specific means to take the users’ short-term behavior or intents into account in their recommendations; nor are they designed to use the rich information that is contained in the sequentially-ordered user interaction logs that are often available in practical applications. In practice, however, there are many application scenarios where considering short-term user interests and longer-term sequential patterns can be central to the success of a recommender. A typical example problem setting is that of session-based recommendation [45, 56], where no longer-term user histories are available. Instead, we have to adapt the recommendations according to the assumed short-term interests of an anonymous user. The goal in such scenarios usually is to recommend objects that match a given sequence of user actions. Typical algorithmic approaches in that context learn to predict the best next item from sequential user interaction logs. Considering such sequences is however not only relevant for the short-term adaptation of the recommendations. The sequential logs can also be used to derive longer-term behavior patterns, e.g., to detect interest drifts of individual users over time [85], to identify shortterm popularity trends in the community that can be exploited by recommendation algorithms [54, 62], or to reason about the best point in time to remind users of certain items they have seen or purchased before [70]. Finally, there are application domains where the recommendation of one item (e.g., an accessory) only makes sense after some other object was purchased. Such weak or strict ordering constraints might correspondingly be learned from the data and considered by a sequence-aware recommender. Overall, sequence-aware recommendation scenarios are highly relevant in practice and a number of relevant works were proposed in the recent past. Research in the field is however comparably scattered and no common understanding of the different facets of the problem exists. In this survey work, we therefore (i) categorize the various scenarios of sequence-aware recommendations approaches in the academic literature, (ii) we review the various algorithmic approaches that were proposed to extract and leverage patterns from interaction logs, and (iii) we finally discuss specific issues when benchmarking different recommendation methods. One of the major goals of the review in that context is to lay the path for more standardized and better reproducible research works in the field. The paper is organized as follows. In Section 2 and Section 3 we characterize and categorize different types of sequence-aware recommendation problems that can be found in the literature. Section 4 reviews existing algorithms and Section 5 discusses methodological questions regarding their evaluation and comparison. Section 6 finally gives a brief outlook on future research directions.

推薦系統(RS)是一種軟體應用程式,它支援使用者在更大的物件集合中找到感興趣的專案,通常以個性化的方式。如今,這樣的系統被用於各種應用領域,包括電子商務或流媒體,接收不同形式的自動推薦已經成為我們日常線上使用者體驗的一部分。在內部,這些系統分析單個使用者或整個使用者社群的過去行為,以發現資料中的模式。在典型的線上網站中,使用者的各種相關行為都可以被記錄下來,例如,使用者瀏覽商品或購買商品,單個使用者的多個行為可能與同一商品有關。然後,這些記錄下來的行為和檢測到的模式被用來計算匹配個人使用者偏好的推薦。在學術環境中,主要的問題抽象是矩陣補全,我們給定一個使用者-專案評分矩陣,目標是預測缺失值。這種抽象通常非常適合於訓練旨在捕獲長期使用者偏好概要的機器學習模型。然而,相應的演算法通常沒有實現特定的方法來在推薦中考慮使用者的短期行為或意圖;它們也不是為了利用在實際應用中經常可用的、按順序排列的使用者互動日誌中包含的豐富資訊而設計的。然而,在實踐中,在許多應用場景中,考慮短期使用者興趣和長期序列模式可能是推薦成功的關鍵。一個典型的問題設定示例是基於會話的推薦[45,56],其中沒有長期的使用者歷史記錄。相反,我們必須根據假設的匿名使用者的短期興趣來調整推薦。這種情況下的目標通常是推薦符合給定使用者操作序列的物件。在這種情況下,典型的演算法方法學習從連續的使用者互動日誌中預測最佳的下一個物品。然而,考慮這樣的序列不僅與建議的短期適應有關。序列日誌還可以用於推導較長期的行為模式,例如,檢測個人使用者隨時間的興趣漂移[85],識別社群中的短期流行趨勢,可被推薦演算法利用[554,62],或推理最佳時間點,以提醒使用者他們之前看到或購買的某些專案[70]。最後,在某些應用領域,推薦一個物品(例如一個配件)只有在購買了其他物品之後才有意義。這種弱或嚴格的排序約束可能相應地從資料中學習並被序列感知推薦器考慮。總的來說,序列感知推薦場景在實踐中具有高度相關性,近年來提出了許多相關工作。然而,該領域的研究相對分散,對問題的不同方面沒有共同的理解。因此,在這項調查工作中,(i)對學術文獻中序列感知推薦方法的各種場景進行了分類,(ii)回顧了為從互動日誌中提取和利用模式而提出的各種演算法方法,(iii)最後討論了對不同推薦方法進行基準測試時的具體問題。在這方面的審查的主要目標之一是為該領域更標準化和更好可重現的研究工作鋪平道路。本文的組織結構如下。在第2節和第3節中,我們對文獻中可以找到的不同型別的序列感知推薦問題進行了描述和分類。第4節回顧了現有的演算法,第5節討論了關於它們的評估和比較的方法問題。第六部分對未來的研究方向進行了展望。

引言部分概述了推薦系統在個性化推薦中的應用,強調了傳統推薦系統的侷限性,並提出了序列感知推薦系統作為解決方案的重要性。這些系統透過分析使用者行為序列來提供更準確的推薦,適用於多種實際場景。文章旨在對這一領域的研究進行分類和回顧,以促進更標準化和可復現的研究工作。

描述序列感知推薦系統(CHARACTERIZING SEQUENCE-AWARE RECOMMENDER SYSTEMS)

序列感知推薦問題與傳統的矩陣補全設定在多個方面有所不同。圖1提供了問題、輸入、輸出和特定計算任務的高階概述。通常,物件的順序在輸入和輸出方面都是相關的。我們將在下面詳細討論這些方面。

輸入、輸出、計算任務和抽象問題描述

輸入。序列感知推薦問題的主要輸入是過去使用者行為的有序且通常帶時間戳的列表。使用者可以是系統已知的,也可以是匿名的。每個動作都可以與一個可推薦的物品相關聯。最後,每個動作可以是幾種預定義型別之一,每個動作、使用者和物品可能具有許多其他屬性。總的來說,輸入可以被視為一種豐富的點選流資料。在傳統的矩陣補全設定中,所有評分都附加在已知的使用者和物品上。我們不要求序列感知推薦器這樣做。匿名使用者行為並不罕見,例如,在電子商務領域,使用者通常沒有登入。儘管如此,可以從過去的匿名會話中提取相關資訊。我們也不需要每個動作都與一個物品相關聯,因為,例如,可以從使用者搜尋或導航行為中提取相關資訊[53]。最後,在大多數應用場景中,每個動作都會有一個指定的動作型別(例如,檢視物品、購買物品、新增到購物車等)。根據領域,可能還有額外的資訊描述動作的進一步細節(例如,當動作發生時物品是否打折),使用者(例如,人口統計學資訊)或物品(例如,後設資料特徵)。通常,這種形式的輸入資料在許多實際應用中都可以獲得,例如,以應用程式或Web伺服器日誌的形式。通常,我們不假設在序列感知推薦系統中有大量顯式評分可用。

輸出。序列感知推薦器的輸出是物品的有序列表,將在下面更正式地描述。在這種一般形式中,輸出類似於傳統的“物品排名”推薦設定。然而,在一些序列感知推薦場景中,推薦列表中物件的順序也是相關的。與將推薦列表視為使用者備選集不同,在某些場景中,使用者應該考慮所有推薦,並按照提供的順序進行。典型的示例包括音樂推薦中的曲目序列推薦或學習課程系列推薦。我們將在本文後面更詳細地描述這些應用場景。

計算任務。在文獻中可以確定序列感知推薦器的不同計算任務。最常見的任務是傳統矩陣補全設定中不存在的,即在記錄的使用者動作中識別與序列相關的模式。這些可以是順序模式,其中動作的順序是相關的,也可以是共現模式,其中重要的是兩個動作一起發生,例如,在同一個會話中。在某些情況下,距離模式也可能相關,例如,當問題是計算提醒使用者透過推薦回憶某事的好時機時。請注意,相應的模式不需要像通常在序列模式挖掘[79]中那樣明確,但也可以隱式地編碼在複雜的機器學習模型中。除了識別隨後用於推薦任務的這些模式外,序列感知推薦器的另一個計算任務可以是對順序約束進行推理。這些約束可以是嚴格約束(例如,在學習課程推薦問題中給出的課程表),給出為啟發式(例如,音樂推薦中下一曲目的音樂轉換規則),或從給定的輸入資料中隱式推匯出來作為一種弱約束。最後,從資料中識別出的模式(或更一般地說,學習到的模型)必須與尋求推薦的時間點相關聯。在基於會話的推薦器中,可以考慮最後幾個使用者動作,然後尋找與當前會話相似的過去會話。另一方面,當推薦器用作消費品重複購買的提醒時,使用者最後一次購買動作與當前時間的距離可能相關。

抽象描述。採用[3]的形式主義,我們可以在更正式、抽象的水平上描述問題如下。設C是使用者集合,I是可推薦物品集合。與矩陣補全問題不同,我們不關心為每個i ∈ I和每個c ∈ C預測一個效用值,而是為每個使用者計算一個長度為k的物件列表L,其中L中的每個元素l ∈ L對應於I中的一個元素。技術上,每個序列L都是I的所有排列的冪集的排列,長度為k,即L ∈ Sk(P(I))。我們稱可能列表的這個集合為L。設u是一個函式,返回給定序列L對使用者c的效用分數,即u:C×L → R。那麼,序列感知推薦問題就包括確定序列l'c ∈ L,以最大化使用者的分數,即∀c ∈ C,l'c = arg max l ∈ L u(c,l) (1)。推薦系統的主要問題是從給定的資料中學習或推斷效用函式u。在矩陣補全問題中,[3]中的工作,輸入是一個使用者-物品評分的稀疏矩陣。相比之下,在序列感知推薦系統中,我們假設底層資料是一個由使用者動作序列D組成的資料集,其中D中的每個使用者動作A具有多個屬性。一個序列資料集D可以被視為使用者社群行動的豐富日誌,其中每個動作A的屬性包括某種使用者ID2和額外的可選屬性,如動作型別(例如,物品檢視或點選事件)或時間戳。總的來說,我們的函式u不限於為單個物品表徵效用分數,而是為整個有序物品列表表徵。這使得考慮序列感知推薦問題中的額外效用方面成為可能,包括整個集合的多樣性、排序本身的質量,例如,物品之間的轉換,或L中弱或嚴格順序約束的滿足程度。這些質量因素如何在現有演算法中考慮將在本文的第4節中討論。通常,效用函式u的設計取決於推薦系統應向使用者提供的具體價值型別,或其目的,如[50]中所述。在推薦系統文獻中,研究人員通常不明確討論系統的底層目的,這可以是資訊過濾,也可以是發現支援。相反,他們專注於最佳化一個抽象的計算任務,如預測隱藏的評分。在序列感知推薦者的背景下,情況通常類似,區別在於計算任務主要是預測給定會話開始的隱藏元素。雖然預測下一個隱藏使用者動作的演算法效能可以用資訊檢索的標準度量(如精確度和召回率)來評估,但在其他情況下,評估過程中需要特定的度量(例如,多樣性度量)。

與其他領域的關聯

隱式反饋推薦系統。我們對序列感知推薦問題的描述主要針對觀察使用者社群隨時間的個體和集體行為的場景,而不是要求顯式的物品評分。有許多研究工作關注隱式使用者反饋,如購買事件。然而,問題表述通常再次基於矩陣補全,其中不考慮一個使用者與一個物品的多次互動。另一方面,顯式的物品評分也可以作為序列感知推薦器中多種使用者動作型別之一。然而,在這種情況下的一個潛在問題是,使用者提供評分的時間點可能與他們消費或購買物品的時間點(例如,當註冊電影推薦服務時,使用者最初會對他們過去看過的一堆電影進行評分)非常不同。因此,評分的順序和時間戳可能會誤導序列感知推薦器。

上下文感知和時間感知推薦系統。在下一節討論的一些應用場景中,序列感知推薦系統代表了上下文感知推薦系統的一種特殊形式。在基於會話的推薦中,可以從使用者非常最近的行動中估計出的使用者的短期意圖,可以代表在推薦時需要考慮的重要上下文資訊[56]。時間感知推薦系統(TARS)通常考慮與過去使用者行動相關的時間資訊以相應地調整推薦,參見[17]的概述。TARS與序列感知推薦者在許多方面有共同點,例如,在離線設定中比較不同方法的方式。然而,序列感知推薦者的重點是過去的使用者互動的確切時間點,而不是事件的順序。此外,許多關於時間感知推薦者的提議主要依賴於矩陣補全問題設定來建模時間動態[68]。

其他相關領域的研究。最後,序列感知推薦系統的某些方面也在鄰近領域進行了探索。例如,在資訊檢索領域中的查詢建議問題或在更一般的使用者建模領域中的興趣漂移問題。在本文中,我們集中在主要關注推薦問題本身的工作中,而不是旨在開發捕捉使用者偏好隨時間變化的方法。因此,在搜尋要考慮的論文時,我們在查詢數字圖書館時使用了相應的搜尋字串和選擇策略,將在第3.5節中詳細描述。

序列感知推薦任務的分類
我們在學術文獻中確定了四種主要目標,可以在不同應用場景中透過序列感知推薦系統實現:

(1)上下文適應(2)趨勢檢測(3)重複推薦

(4)考慮順序約束和序列模式

我們將在下一節中更詳細地討論這四個類別,並檢視序列感知推薦器的典型應用領域。請注意,接下來討論的所有問題設定都基於方程1中描述的相同正式問題描述,但需要特定的演算法方法,這些方法使用輸入資料集中的序列資訊(見第4節)。這些問題也不是相互排斥的,例如,在電子商務領域[62]中,可以同時考慮多個方面(例如,趨勢和重複)。

序列感知推薦任務的分類(A CATEGORIZATION OF SEQUENCE-AWARE RECOMMENDATION TASKS)

我們在學術文獻中確定了四種主要目標,可以透過序列感知推薦系統在不同應用場景中實現:

(1)上下文適應(Context Adaptation)
在許多領域中,可推薦物品的相關性不僅取決於使用者的一般偏好,還取決於他們當前的情況和短期意圖和興趣。上下文感知推薦系統會考慮這些額外型別的資訊。文獻中的典型上下文因素包括使用者的地理位置、當前天氣或一天中的時間[4]。這些上下文因素是所謂的表示性上下文(representational context)的例子,它由預定義的“可觀察”上下文變數集合定義。然而,像使用者在電子商務設定中的當前購物意圖或他們當前的心情這樣的上下文資訊並不是直接可觀察的。這些型別的資訊代表了所謂的使用者的互動上下文(interactional context),因此必須從使用者最近的行動以及最終從使用者和整個社群的行為模式中推匯出來[40, 87]。考慮互動上下文因素對於有許多新使用者或匿名使用者的系統尤為重要。由於沒有關於他們過去偏好的歷史資料,充分利用互動上下文資訊非常重要,因為表示性上下文資訊只能幫助將匿名使用者劃分為粗粒度的類別,而沒有真正的個性化[32]。總的來說,理解使用者的情況和目標,並從過去的互動資料中做出上下文適應的推薦,代表了序列感知推薦系統的主要目標。

(2)趨勢檢測(Trend Detection)
在給定的序列資料集中檢測趨勢是序列感知推薦系統可以實現的另一個潛在但較少探索的目標。我們可以從順序日誌資訊中提取以下型別的資訊以用於推薦過程:

社群趨勢。在實踐中,考慮物品在使用者社群中的受歡迎程度對於成功的推薦很重要,例如在流媒體推薦中[35]。由於物品的受歡迎程度可以在不同領域隨時間變化,序列感知推薦系統可以旨在檢測和利用互動日誌中的流行模式來改進推薦。這種趨勢可以是長期的(例如,隨著時間的推移變得過時或過時),季節性的,或者反映短期和一次性的流行高峰。例如,在時尚領域,考慮最近幾天的社群趨勢可以是選擇推薦物品的成功策略[54]。

個體趨勢。對某些物品的興趣變化也可能在個體層面上發生。這些興趣變化可能是由於“自然”的興趣漂移,例如使用者成長,或者他們的偏好隨時間變化,例如由於其他人的影響,由於特殊事件,或者當他們發現新事物時。在新聞領域,例如,個體興趣隨時間變化並受到全球和本地新聞趨勢的影響[75]。另一個例子問題是模擬使用者音樂品味的動態[85]。

(3)重複推薦(Repeated Recommendation)
在某些應用領域中,推薦使用者已經知道或過去購買過的物品是有意義的。這種場景在傳統的矩陣補全設定中根本不考慮。我們可以確定以下重複推薦場景的類別:

識別重複的使用者行為模式。過去的互動日誌可以被序列感知推薦系統用來識別重複的使用者行為模式。一個典型的應用例子可能是消耗品的重複購買,如印表機墨水。這種模式既可以從個體使用者的行為中挖掘,如[109, 122, 123],也可以從整個社群的行為中挖掘。重複的使用者行為對於應用推薦問題特別相關。在這種情況下,重複的使用者行為模式可以用來為使用者頻繁啟動的應用程式提供快捷方式。一個例子是在開啟“聯絡人”應用程式後建議啟動“電子郵件”或“電話”應用程式。這裡的總體目標是增強使用者對裝置的體驗[9, 78, 87]。

重複推薦作為提醒。在不同的場景中,重複推薦可以幫助提醒使用者他們過去感興趣的東西。根據領域,這些提醒可能與使用者可能忘記的物件(例如,她或他過去喜歡過的藝術家)有關,或者與使用者最近互動的物件有關[70]。後一種場景在電子商務中特別相關,推薦使用者最近檢視的物品在像亞馬遜這樣的平臺上很常見。請注意,從我們在第2節中描述的問題定義的角度來看,這兩種場景是相同的。然而,在第一種情況下,通常有一個潛在的“邏輯”原因為什麼應該再次推薦一個物品,這在後一類場景中並非如此,即推薦可能被認為“遺忘”或最近相關的專案。在這兩種提到的場景中,除了選擇要重複推薦的專案外,序列感知推薦系統還必須考慮推薦的時間。在電子商務的提醒場景中,提醒使用者之前檢視過的物品的時間框架可能很窄,物品可能很快就會過時,例如,如果它們在幾次檢視事件後沒有被購買。儘管如此,如果使用者當前的購物意圖與上一次會話不匹配,總是提醒使用者他們最近會話中的物品可能是不合適的。在消耗品推薦的情況下,可以在較長的時間段後,例如幾周甚至幾個月,重複推薦物品。然而,適當的時間仍然很重要,這種型別的重複推薦與主動推薦者[26]有類似的問題,例如,他們的推薦可能會在錯誤的時間打斷使用者。

(4)考慮順序約束和觀察到的序列模式(Consideration of Order Constraints and Observed Sequential Patterns)
在第3.1節關於短期上下文適應中,我們討論了序列感知推薦系統的不同任務,其中物件的順序——無論是在日誌中、在當前會話中還是在推薦中——都可能發揮作用。考慮這種排序對於使用者上一次會話之外的序列感知推薦任務也是至關重要的,這就是為什麼我們在本節中更深入地討論這個方面的原因。具體來說,當我們確定推薦的合適順序時,可以額外考慮兩種關於序列性的資訊。(a)首先,可以有“外部”領域知識,以嚴格或弱順序約束的形式規定順序。例如,在推薦一系列學習課程的領域中,可能存在關於不同課程順序的嚴格要求,推薦系統必須考慮,例如,不能在完成另一門課程之前參加一門課程[88, 113]。相比之下,在電影推薦領域,推薦使用者在觀看前一集之後觀看續集可能是合理的。然而,這種約束不一定是嚴格的。

(b)其次,可以嘗試從使用者行為中識別這種順序消費模式,並例如自動推斷使用者在觀看某部電影后觀看了其續集。從技術角度來看,序列模式挖掘技術已經被應用於推薦者的各個應用領域,例如,用於預測使用者在網站上的下一步導航行為[83, 86]或在音樂推薦問題中找到要播放的下一首歌曲[15]。

在考慮這些影響排序的因素時,可能需要考慮應用特定的變化,其中包括以下內容:

推薦順序的重要性。根據應用場景的具體細節和推薦服務的目標,推薦物品的順序可能是相關的,也可能不是,即使在同一領域也是如此。在音樂推薦的情況下,可以嘗試確定一個播放列表延續,其中所有元素通常都適合當前的聽歌會話[57]。相比之下,也可以試圖確保曲目之間的轉換平滑,或者產生的播放列表具有某些特徵,例如,節奏的持續增加[80]。

過去事件的確切順序的重要性。同樣,過去事件的確切順序對於推薦任務可能是相關的,也可能不是。再次以音樂推薦為例,可以嘗試在以前的會話中尋找順序模式[40],或者簡單地考慮曲目共現模式,如在基於鄰域的方法中所做的[15]。在順序相關的情況下,還可以考慮日誌中單個事件的年齡,並降低較老事件的重要性。

隱式順序約束的存在。在推薦補充品(例如,相機的儲存卡)時,可能存在關於什麼可以合理推薦的隱式約束,這些約束可能取決於特定領域或產品類別。可以推薦相機的儲存卡作為配件,但不能反過來。然而,對於其他類別,雙向推薦在兩個方向上都是合理的。

總的來說,除了從過去的資料中識別順序模式來選擇和排名物品外,推薦者的另一個任務是確保在產生的列表中尊重這些嚴格和弱順序約束。

序列感知推薦系統演算法(ALGORITHMS FOR SEQUENCE-AWARE RECOMMENDER SYSTEMS)

在文獻中,我們可以識別出三類主要的演算法,用於從使用者行為序列中提取模式:序列學習、序列感知矩陣分解和混合方法。這些類別可以進一步細分為子類別,形成了表3中的演算法分類。一些相對不常見的技術方法被歸類為“其他”。大多數回顧的研究依賴於某種形式的序列學習方法。這些方法對於具有固有序列性質的資料進行分析是自然的選擇,例如在自然語言處理、時間序列預測、DNA建模以及作為本工作重點的序列感知推薦中。

4.1 序列學習

序列學習方法在資料具有固有序列性質的應用領域中非常有用,例如在自然語言處理、時間序列預測、DNA建模,以及作為本工作重點的序列感知推薦。

4.1.1 頻繁模式挖掘(Frequent Pattern Mining, FPM)

方法。頻繁模式挖掘(FPM)技術最初是為了在大型交易資料庫中發現使用者消費模式。早期的關聯規則挖掘方法[5]專注於識別在同一交易中頻繁共同出現的專案,不考慮它們的順序。後來,發展了順序模式挖掘技術[6],這些技術只考慮專案按相同順序出現時的共同出現作為模式。極端情況下,連續順序模式要求在交易中的行動序列中相鄰的共同專案。在所有方法中,模式通常是在離線過程中挖掘的,並通常轉化為一組關聯規則或另一種緊湊的知識表示形式,例如[83, 115]。通常,生成的規則會附帶值(例如,置信度和支援度),表示它們的強度。在預測階段,我們有一個部分交易(例如,使用者最近購買的專案),我們尋求額外的專案。這些專案是透過在資料庫中掃描匹配規則並在我們的部分交易上應用它們來確定的。在推薦場景中,最簡單的方法是確定僅基於使用者最近行為的成對專案共現頻率,以實現“顧客購買...也購買了”形式的購買建議。

應用示例。在序列感知推薦器的早期工作中[83, 86],研究人員比較了關聯規則(AR)、順序模式(SP)和連續順序模式(CSP)在Web使用挖掘場景中的應用,其中問題是預測使用者的下一個導航行為,以便進行頁面預取或基於會話的上下文適應。在預測階段,他們使用當前使用者會話的固定大小滑動視窗。給定視窗中的最後N個使用者行為,他們查詢並應用大小為N+1的規則,並根據觸發規則的置信度值對推薦(即規則結果的元素)進行排名。所得到的結果表明,約束較少的模式(AR和SP)導致更好的推薦,而CSP的使用對於頁面預取任務更有幫助。其他型別的順序模式也被探索,例如封閉模式和負模式。例如,Zang等人[118]和Hsueh等人[48]的工作僅基於使用者最近的幾次行為進行上下文適應。在使用頻繁模式方法時,個性化是透過匹配使用者的活動與預先提取的模式來實現的。在更近期的工作中,Yap等人[115]提出進一步個性化該方法,並根據其對個體使用者的估計相關性對模式進行加權。他們設計了三種確定個性化模式相關性分數的方案,並將其與基於流行度的方法進行了比較。他們的實證評估表明,應用個性化規則評分方案可以為目標使用者提供更準確的個性化下一個專案推薦。作為相對較新的應用領域的一個例子,Lu等人[78]提出了MASP(Mobile Application Sequential Patterns)挖掘方法,用於透過預測使用者下一步使用的應用程式來為智慧手機提供上下文適應。在他們的方法中,交易由應用程式使用的序列組成,這些序列帶有使用者每次使用的位置註釋。MASP-mine演算法考慮了使用者移動和應用程式啟動來發現順序模式。在預測時,使用與最近使用者移動和活動匹配的最大支援值的單個模式來預測下一步啟動的應用程式。

討論。頻繁模式挖掘技術已經得到了很好的探索,也容易實現和解釋。主要的缺點包括一些方法的有限可擴充套件性,以及更重要的,為離線挖掘任務找到合適的閾值值問題。通常,主要引數是最小支援值。如果設定得太低,會識別出太多(通常是噪聲)模式;如果設定得太高,只會找到最頻繁專案的規則。為了解決這個問題,可以從具有固定最小支援閾值的資料庫中開始搜尋最高質量的規則,並逐步放寬質量約束,直到找到匹配的規則。或者,提出了使用多個最小支援值或“調整”置信度分數的不同演算法變體[95]。使用頻繁模式挖掘技術的另一個常見挑戰是決定不同變體(AR、SP、CSP)之間的選擇。確定順序模式(SP、CSP)通常不僅在計算上更昂貴,而且很容易導致規則庫更小。這反過來可能導致在預測時找不到匹配的規則。哪種方法最有效可能還取決於應用領域。事件的順序可能非常重要,例如,在查詢或應用程式推薦[78, 125]的上下文中。在其他問題設定中,例如網頁推薦或下一首歌曲的音樂推薦,考慮專案順序可能導致規則庫太小或只有小的正面效果[14],這可能不會超過額外的計算複雜性。最後,在某些領域,儘管簡單,但簡單的共現模式已經被成功使用,例如在電子商務和音樂推薦[52, 56, 106]中。

4.1.2 序列建模

方法。序列感知推薦器的輸入,即過去使用者行為的有序且通常帶時間戳的日誌,可以被視為具有離散觀測值的時間序列。因此,在許多情況下,原則上可以應用現有的有時複雜的時間序列預測方法。然而,在RS應用中,時間戳通常僅用於對行動進行排序,這使我們能夠應用“更簡單”的序列模型,這些模型不一定考慮觀察到的行動序列的複雜底層時間動態。總的來說,序列建模技術旨在從過去的觀測中學習模型以預測未來的觀測,在我們的情況下是使用者行動。序列感知推薦的序列建模方法主要屬於三類:馬爾可夫模型、強化學習和迴圈神經網路(見表3)。

馬爾可夫模型將序列資料視為離散隨機變數(或狀態)上的隨機過程。馬爾可夫性質將過程的依賴性限制在有限的歷史範圍內。例如,在一階馬爾可夫鏈(MCs)中,每個狀態的轉移機率僅取決於前一個狀態。高階MCs使用更長的時間依賴性來模擬狀態之間的更復雜關係。在序列感知推薦系統中,馬爾可夫性質轉化為假設下一個使用者行動僅取決於最近的有限數量的前一個行動。

強化學習(RL)技術透過與環境互動學習,本質上是序列的。在推薦場景中,互動包括向使用者推薦一個專案(行動),然後系統接收反饋(獎勵)。例如,在音樂領域,系統推薦一首歌,然後監控使用者是否聽取或跳過推薦的歌曲。在這個例子中,如果使用者聽取了這首歌,我們分配一個正獎勵,否則為零。問題通常被制定為馬爾可夫決策過程(MDP),系統的目標是在一系列互動中最大化累積獎勵。

迴圈神經網路(RNNs)是具有非線性動態的分散式實值隱藏狀態模型。在每個時間步,RNN的隱藏狀態從序列中的當前輸入和上一個步驟的隱藏狀態計算得出。然後,隱藏狀態用於預測序列中的下一個專案的機率。迴圈反饋機制記住了每個過去的資料樣本對RNN隱藏狀態的影響,從而克服了MCs的基本限制。因此,RNN非常適合模擬使用者行動序列中的複雜動態。RNN的變體,如LSTM[36]和GRU[23],透過其複雜的隱藏動態,可以模擬比其他方法(如隱馬爾可夫模型[34])更長和更復雜的時間依賴性。

應用示例(馬爾可夫模型)。在大多數情況下,馬爾可夫鏈不能直接應用於序列感知推薦,因為資料稀疏性很快導致轉移矩陣的估計不佳。因此,Shani等人[97]透過幾種啟發式方法(即跳過、聚類和有限混合建模)增強了他們的基於MC的方法,以減輕資料稀疏性的影響。在他們的應用中,輸入資料由線上書店的購買記錄組成,他們的實驗顯示,順序模型在預測基於使用者最近幾次互動的下一本推薦書籍方面優於非順序模型。在不同的應用領域,McFee和Lanckriet[81]使用馬爾可夫鏈混合用於音樂播放列表生成問題,這是一個典型的列表延續問題,其中混合是幾個MC(均勻、加權和k-最近鄰)的加權集合,其權重透過在播放列表訓練資料集上的最大似然最佳化學習。在應用MCs時,通常的另一個挑戰在於模型順序的選擇。在基於會話的下一個查詢推薦問題的背景下,He等人[42]因此使用可變順序馬爾可夫模型(VMMs,有時稱為上下文樹),它們使用依賴於上下文的順序來捕獲大和小的馬爾可夫依賴性。在新聞推薦應用的背景下,Garcin等人[32]採用了不同的方法。他們為上下文樹中的每個上下文(節點)分配一個預測器(專家),每個節點與馬爾可夫模型的不同順序相關聯。然後,每個預測器被訓練為基於使用者最近的行為序列預測下一個要建議的文章。隨著使用者行為序列的增長,樹中的更深節點變得活躍,併為最終推薦做出貢獻。隱藏狀態模型,特別是隱馬爾可夫模型(HMM),解決了MC模型的一些侷限性,並在[47]中應用於上下文。

總結

總結來說,文章主要講了序列感知推薦系統(Sequence-Aware Recommender Systems)的研究和應用。文章首先介紹了推薦系統在實際中的應用背景,然後指出了傳統推薦系統在處理使用者行為序列資訊方面的侷限性。接著,文章詳細討論了序列感知推薦系統如何利用使用者行為的序列資訊來改進推薦質量,包括對使用者短期興趣和長期行為模式的考慮。

寫在結尾

好了,今天的論文就讀到這了,明天見!

相關文章