趙海燕,趙佳斌,陳慶奎,曹 健
1(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院 上海市現(xiàn)代光學(xué)系統(tǒng)重點(diǎn)實(shí)驗(yàn)室 光學(xué)儀器與系統(tǒng)教育部工程研究中心,上海 200093)2(上海交通大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,上海 200030) E-mail:17702181056@163.com
作為解決信息過(guò)載[1]的主要工具之一,推薦系統(tǒng)得到了廣泛的應(yīng)用.推薦系統(tǒng)能在沒(méi)有明確用戶意圖的情況下,幫助用戶發(fā)現(xiàn)有價(jià)值的信息,對(duì)于物品而言,它也在一定程度上能夠適應(yīng)長(zhǎng)尾效應(yīng)現(xiàn)象[2].在應(yīng)用需求的推動(dòng)下,個(gè)性化推薦系統(tǒng)成了學(xué)術(shù)界和工業(yè)界熱門的研究方向.基于會(huì)話的推薦系統(tǒng)(Session-based Recommender system)是個(gè)性化推薦系統(tǒng)的一個(gè)重要組成部分.
推薦問(wèn)題通常被抽象成矩陣填充/重構(gòu)問(wèn)題[3],主要的思想是對(duì)用戶-評(píng)分矩陣中的缺省值填充預(yù)測(cè),隨后進(jìn)行協(xié)同過(guò)濾計(jì)算.這樣的抽象方法適合訓(xùn)練有用戶長(zhǎng)期偏好的模型,然而很多情況下用戶的信息和過(guò)去的行為是不可知的:1)在許多電商網(wǎng)站進(jìn)行購(gòu)物是不需要用戶認(rèn)證的;2)用戶訪問(wèn)在線流媒體網(wǎng)站時(shí)很少有登錄的習(xí)慣,匿名的方式占到了絕大多數(shù);3)用戶的興趣和意圖是不斷變化的,長(zhǎng)期用戶的興趣和意圖是不斷變化的,長(zhǎng)期配置文件只能反映用戶的一般偏好,無(wú)法及時(shí)更新推薦策略以適應(yīng)這種變化,利用短期會(huì)話信息能彌補(bǔ)這樣的不足.當(dāng)用戶的長(zhǎng)期配置文件不存在時(shí),就需要根據(jù)用戶和站點(diǎn)交互的會(huì)話日志來(lái)做出推薦.這種僅依賴于用戶當(dāng)前進(jìn)行的會(huì)話中的動(dòng)作序列來(lái)預(yù)測(cè)用戶下一個(gè)動(dòng)作的問(wèn)題被稱之為基于會(huì)話的推薦.其中會(huì)話(session)指的是在給定時(shí)間內(nèi)發(fā)生的用戶與站點(diǎn)的交互,利用會(huì)話日志進(jìn)行推薦主要的優(yōu)勢(shì)是能夠推斷新用戶或者匿名用戶的喜好.對(duì)于老用戶,根據(jù)他的當(dāng)前會(huì)話,推薦系統(tǒng)能夠調(diào)整推薦策略適應(yīng)用戶的興趣變化進(jìn)而提升推薦效果.研究表明短期意圖對(duì)推薦系統(tǒng)準(zhǔn)確性的影響要大于用戶的長(zhǎng)期偏好[4].
目前,基于會(huì)話的推薦主要的算法包括:使用序列模式挖掘技術(shù)來(lái)預(yù)測(cè)用戶的下一個(gè)行為,基于馬爾可夫模型的方法,以及基于深度學(xué)習(xí)中的循環(huán)神經(jīng)網(wǎng)絡(luò)的方法.
在推薦的過(guò)程中,推薦系統(tǒng)不僅要考慮用戶的長(zhǎng)期興趣,同時(shí)也應(yīng)該結(jié)合用戶當(dāng)時(shí)所處的環(huán)境、短期意圖、興趣變化等額外的信息.文獻(xiàn)[5]提出了上下文感知推薦系統(tǒng)的概念,將上下文信息融入到推薦系統(tǒng)中,從而將傳統(tǒng)的“用戶-物品”的二維評(píng)分效用模型擴(kuò)展成了包含上下文信息的多維評(píng)分效用模型[5,6].
依據(jù)上下文的不同形式和內(nèi)容,可以將上下文感知推薦系統(tǒng)進(jìn)行不同的分類.本節(jié)中將對(duì)序列感知推薦和時(shí)間感知推薦作對(duì)比.
基于會(huì)話的推薦系統(tǒng)是序列感知推薦系統(tǒng)(sequence-aware recommender system)的一個(gè)分支,而序列感知推薦是指用戶的上下文信息呈現(xiàn)出一種序列形式.根據(jù)不同的應(yīng)用方向,序列感知推薦可以劃分為4個(gè)類別:交互上下文情境適應(yīng)、趨勢(shì)發(fā)現(xiàn)、重復(fù)推薦和考慮順序約束.
在諸如電子商務(wù)網(wǎng)站、在線流媒體網(wǎng)站的推薦中,用戶當(dāng)前的狀態(tài)、情緒被稱作是用戶交互上下文[7].用戶意圖是由可觀察的和不可觀察的兩種上下文信息共同驅(qū)動(dòng)的[8].用戶當(dāng)前的情緒由于不能經(jīng)直接觀察得出,所以通常的做法是根據(jù)用戶的近期行為和整個(gè)社區(qū)的行為模式分析得出.根據(jù)長(zhǎng)期交互日志和短期交互日志所占的比重,又可以分為以下3種情況:
1)基于會(huì)話的推薦系統(tǒng):這種情況下,只有用戶的短期會(huì)話活動(dòng)是已知的,即用戶與系統(tǒng)之間的交互是被限制在有限的時(shí)間段內(nèi),只考慮用戶的短期行為.推薦系統(tǒng)從會(huì)話點(diǎn)擊中獲取信息,主要針對(duì)新用戶和匿名用戶,典型的應(yīng)用有視頻推薦[9]、新聞/音樂(lè)推薦[10,11],在線的流媒體網(wǎng)站用戶很少會(huì)注冊(cè)登錄訪問(wèn),大多數(shù)用戶都是以“游客”的方式觀看收聽(tīng),電商網(wǎng)站[12]會(huì)有源源不斷的新用戶進(jìn)入,需要根據(jù)用戶短期的交互會(huì)話做出推薦.
2)會(huì)話感知推薦系統(tǒng):在這類問(wèn)題設(shè)置中,知道用戶最近會(huì)話行為的同時(shí),還有了解用戶的一般偏好或者過(guò)去的交互.主要是針對(duì)的是那些“回頭客”,推薦系統(tǒng)不僅考慮了用戶當(dāng)前會(huì)話行為同時(shí)結(jié)合用戶長(zhǎng)期配置文件.長(zhǎng)期興趣推薦用戶最終會(huì)購(gòu)買的物品不考慮何時(shí)購(gòu)買,短期會(huì)話考慮用戶當(dāng)前即時(shí)需求,預(yù)測(cè)近期甚至是下一個(gè)即將選購(gòu)的商品,對(duì)兩種不同的用戶信息設(shè)置適當(dāng)?shù)臋?quán)重[13].主要的應(yīng)用有電子商務(wù)網(wǎng)站[14]和手機(jī)應(yīng)用推薦[15]等.
3)基于最后N個(gè)交互的推薦:只考慮最后N個(gè)用戶行為的推薦系統(tǒng)被稱為基于最后N個(gè)交互的推薦系統(tǒng).主要的應(yīng)用是在基于位置的社交網(wǎng)絡(luò)推薦,包括連續(xù)興趣點(diǎn)的推薦[16-18]和音樂(lè)推薦[19].
時(shí)間感知推薦系統(tǒng)是將“時(shí)間”這一重要的上下文信息納入到推薦系統(tǒng)中.在Netflix競(jìng)賽中,時(shí)間感知推薦系統(tǒng)開(kāi)始受到人們的關(guān)注,通過(guò)時(shí)間因素發(fā)現(xiàn)用戶興趣的周期性變化[20],將原本的用戶和物品的二維矩陣擴(kuò)展到帶有時(shí)間信息的高維矩陣,進(jìn)而提高推薦結(jié)果的個(gè)性化和準(zhǔn)確性.時(shí)間是動(dòng)態(tài)變化的,伴隨季節(jié)的更替及時(shí)間的流逝,用戶和物品的關(guān)系也呈現(xiàn)出動(dòng)態(tài)變化的特性.時(shí)間對(duì)推薦結(jié)果的影響主要體現(xiàn)在:1)用戶的興趣偏好會(huì)隨時(shí)間變化;2)物品通常有自己的流行周期;3)時(shí)間本身的周期性,比如冬去春來(lái)、四季更替.與時(shí)間感知推薦系統(tǒng)相比,基于會(huì)話的推薦系統(tǒng)關(guān)注的重點(diǎn)是近期用戶行為發(fā)生的順序.而時(shí)間感知推薦系統(tǒng)往往考慮用戶過(guò)去行為的時(shí)間信息,關(guān)注事件發(fā)生的時(shí)間點(diǎn).
表1 與上下文感知推薦其他方向的關(guān)系
Table 1 Relationship with other context-aware recommendation approaches
推薦技術(shù)推薦方向參考文獻(xiàn)上下文感知推薦系統(tǒng)序列感知推薦基于位置的推薦時(shí)間感知推薦交互上下文趨勢(shì)發(fā)現(xiàn)重復(fù)推薦順序約束基于會(huì)話的推薦會(huì)話感知推薦最后N個(gè)交互推薦[9],[10],[11][14],[15][16],[17],[18][21],[22][23],[24][25],[32][26],[27][28],[29]
基于會(huì)話的推薦與其他推薦方向的關(guān)系如表1所示.
推薦算法是推薦系統(tǒng)的核心,通過(guò)理解用戶和物品以及物品和物品之間的關(guān)系向用戶推薦新物品.推薦算法可以是基于長(zhǎng)期偏好和短期興趣,舉例來(lái)說(shuō)前者就是向特定的用戶推薦特定的物品,而后者則是在購(gòu)買了電腦主機(jī)后推薦相應(yīng)的外設(shè)產(chǎn)品.
傳統(tǒng)的推薦算法主要有協(xié)同過(guò)濾算法(collaborative filtering,簡(jiǎn)稱 CF)、基于內(nèi)容的推薦算法(content-based filtering,簡(jiǎn)稱 CB)和混合推薦算法(hybrid filtering),旨在捕獲用戶長(zhǎng)期偏好.協(xié)同過(guò)濾算法[30]主要通過(guò)分析用戶對(duì)物品的偏好,發(fā)現(xiàn)物品之間的關(guān)聯(lián)性,或者用戶之間的關(guān)聯(lián)性,然后再基于這些關(guān)聯(lián)性進(jìn)行推薦.協(xié)同過(guò)濾算法可以分為基于鄰域的協(xié)同過(guò)濾和基于模型的協(xié)同過(guò)濾.基于鄰域的協(xié)同過(guò)濾算法包括了基于物品的協(xié)同過(guò)濾和基于用戶的協(xié)同過(guò)濾.前者把與目標(biāo)用戶喜歡的相似的物品推薦給目標(biāo)用戶,后者把同目標(biāo)用戶相似的用戶所喜歡的物品推薦給該用戶.基于模型的協(xié)同過(guò)濾是通過(guò)評(píng)分矩陣構(gòu)建的模型來(lái)預(yù)測(cè)用戶對(duì)物品的喜好程度,包括矩陣分解(Matrix Factorization)、監(jiān)督學(xué)習(xí)(Supervised Learning)、非監(jiān)督學(xué)習(xí)(Unsupervised Learning)等機(jī)器學(xué)習(xí)模型都被運(yùn)用于基于模型的協(xié)同過(guò)濾.基于內(nèi)容的推薦算法[31]是根據(jù)用戶已經(jīng)選擇的對(duì)象,從推薦對(duì)象中選擇其他特征相似的對(duì)象作為推薦結(jié)果,推薦過(guò)程中不考慮用戶的其他模型,推薦效果依賴于特征工程的好壞.混合推薦算法按照不同的策略[32]將不同推薦類型或推薦算法進(jìn)行組合并生成推薦,主要的做法是結(jié)合協(xié)同過(guò)濾推薦算法和基于內(nèi)容的推薦算法[33,34].以上的方法都需要分析用戶過(guò)去的興趣偏好,使用的前提是識(shí)別用戶,即需要?jiǎng)?chuàng)建用戶配置文件跟蹤用戶.用戶對(duì)物品的反饋包括顯式反饋和隱式反饋[35],顯式反饋主要反映為評(píng)分和評(píng)論,用戶以一種明確且量化的方式來(lái)表明自己對(duì)物品的態(tài)度.而隱式反饋通常是購(gòu)買歷史、收藏夾、點(diǎn)擊序列等,這類信息是用戶在使用的過(guò)程中留下的自然行為,系統(tǒng)無(wú)法直接識(shí)別喜歡與否,需要推薦系統(tǒng)從中“揣摩”出用戶偏好.
協(xié)同過(guò)濾和矩陣分解這樣經(jīng)典的推薦算法在預(yù)測(cè)用戶評(píng)分問(wèn)題上表現(xiàn)優(yōu)異,但不適用于基于會(huì)話的推薦,主要原因如下:
1)存在大量的匿名用戶和新用戶,這個(gè)群體過(guò)去的行為和用戶信息對(duì)系統(tǒng)而言是無(wú)法獲取的即用戶對(duì)物品的評(píng)分矩陣不存在;
2)會(huì)話信息是短期內(nèi)用戶的行為序列包括:購(gòu)買、查看、點(diǎn)擊、收聽(tīng)等,它是一種隱式反饋信息,難以量化度量;
3)很多用戶都是“沉默的大多數(shù)”,在購(gòu)買或者查閱后不會(huì)做出評(píng)價(jià);
4)會(huì)話中即便存在顯式評(píng)分,這樣的評(píng)分也往往是滯后的.實(shí)現(xiàn)基于會(huì)話推薦主要方法有以下幾類:頻繁模式挖掘、最近鄰、馬爾可夫模型與強(qiáng)化學(xué)習(xí)和基于循環(huán)神經(jīng)網(wǎng)絡(luò)的方法.
基于會(huì)話的推薦問(wèn)題可以表示為序列預(yù)測(cè)問(wèn)題:設(shè){x1,x2,…xn-1,xn}為一個(gè)點(diǎn)擊會(huì)話,其中xi(1≤i≤n)是m個(gè)項(xiàng)目總數(shù)中點(diǎn)擊項(xiàng)目的索引,輸出對(duì)象y=M(x),其中y=[y1,…,ym]′∈Rm,將y視為對(duì)該會(huì)話中可能發(fā)生的所有下一個(gè)項(xiàng)目的排名,其中yi對(duì)應(yīng)于項(xiàng)目i的得分.通常的做法是按照yi進(jìn)行排序,根據(jù)需求取前k個(gè)項(xiàng)目.
頻繁模式指的是頻繁出現(xiàn)在數(shù)據(jù)集中的項(xiàng)集、序列或者子結(jié)構(gòu).例如在購(gòu)物時(shí)分析哪些商品是經(jīng)常被同時(shí)購(gòu)買的,經(jīng)典的案例就是“啤酒和尿布”,20世紀(jì)90年代的沃爾瑪超市工作人員通過(guò)數(shù)據(jù)分析發(fā)現(xiàn)“啤酒”和“尿布”經(jīng)常會(huì)出現(xiàn)在同一次購(gòu)物中,將二者放在一起后,兩樣商品的銷量都有顯著的提升,主要的文獻(xiàn)有[31,32,33,36]等.
文獻(xiàn)[36]提出了逐項(xiàng)協(xié)同過(guò)濾推薦算法,該算法能擴(kuò)展到海量數(shù)據(jù)并生成高質(zhì)量的推薦.算法維護(hù)了一張相似項(xiàng)目表,尋找與用戶購(gòu)買物品及評(píng)分相似的物品做聚類,然后選出其中最受歡迎或者相關(guān)的一個(gè).其中設(shè)置物品相似矩陣可作對(duì)用戶會(huì)話預(yù)處理,把會(huì)話中經(jīng)常一起點(diǎn)擊的項(xiàng)目做相似項(xiàng)處理.在基于會(huì)話的推薦時(shí),使用相似矩陣根據(jù)用戶當(dāng)前的點(diǎn)擊項(xiàng)目做出推薦[37].缺點(diǎn)是只考慮用戶最后一次的點(diǎn)擊而忽略之前的行為信息,無(wú)法整合序列信息.然而會(huì)話中的上下文信息有助于發(fā)現(xiàn)用戶當(dāng)前需求,需要根據(jù)以前的點(diǎn)擊項(xiàng)與當(dāng)前會(huì)話中的相關(guān)性給出相應(yīng)的推薦[38].
序列模式挖掘技術(shù)在識(shí)別頻繁模式時(shí)會(huì)考慮到會(huì)話中行為的順序性[39],將相同順序出現(xiàn)的物品視為一種模式.文獻(xiàn)[40]提出了基于個(gè)性化序列模式挖掘的推薦框架,強(qiáng)調(diào)了在順序挖掘中兼顧用戶的個(gè)性化.順序模式挖掘技術(shù)在下一項(xiàng)(next-item)推薦中的主要思路是:許多用戶在訪問(wèn)了項(xiàng)目i后接著訪問(wèn)j,則向剛訪問(wèn)了項(xiàng)目i的用戶推薦j,這樣的做法是可行的.基于這樣的思想,可以將順序模式挖掘技術(shù)應(yīng)用于基于會(huì)話的推薦系統(tǒng).文獻(xiàn)[41]發(fā)現(xiàn)將用戶訪問(wèn)網(wǎng)站的歷史信息做更細(xì)粒度的劃分并不能產(chǎn)生很好的個(gè)性化效果,進(jìn)而提出了一種基于點(diǎn)擊流的順序和非順序模式挖掘的可擴(kuò)展框架用來(lái)預(yù)測(cè)用戶下一個(gè)即將訪問(wèn)的網(wǎng)站.該框架包含了頻繁項(xiàng)目集和序列模式兩種數(shù)據(jù)結(jié)構(gòu)能滿足實(shí)時(shí)推薦的需求.在預(yù)測(cè)方面,更多的限制模式[42]如連續(xù)順序模式有更好的效果,在個(gè)性化方面,一般順序模式和頻繁項(xiàng)集是比較有效的方案.文獻(xiàn)[52]認(rèn)為網(wǎng)站的結(jié)構(gòu)特征例如拓?fù)浣Y(jié)構(gòu)、連通及動(dòng)態(tài)生成程度對(duì)Web推薦中使用的順序和非順序模型會(huì)有顯著影響,因而提出基于關(guān)聯(lián)規(guī)則的個(gè)性化推薦框架來(lái)挖掘訪問(wèn)歷史記錄中的順序和非順序模式.文獻(xiàn)[42]提出了一種MASP(移動(dòng)應(yīng)用程序序列挖掘)的方法來(lái)預(yù)測(cè)用戶下一個(gè)即將使用的app,把用戶的最近位置和最近使用的app作為預(yù)測(cè)的關(guān)鍵.MASP算法通過(guò)位置的變化和app的啟動(dòng)發(fā)現(xiàn)應(yīng)用程序的順序模式,創(chuàng)造性地結(jié)合了用戶位置路徑和app使用的虛擬路徑,以最大支持度的方式選出下一個(gè)app.
基于鄰域的方法[37,44]是利用物品和用戶行為之間的相似性,通過(guò)比較用戶會(huì)話的相似性應(yīng)用于基于會(huì)話的推薦系統(tǒng).k最近鄰是一種分類算法,核心思想是對(duì)給定的一個(gè)物品能用與它最接近的k個(gè)鄰居來(lái)表示.kNN的方法根據(jù)當(dāng)前會(huì)話中的用戶行為在訓(xùn)練集中尋找k個(gè)最相似的會(huì)話.基于最近鄰的方法主要有兩類,分別是基于物品的kNN和基于會(huì)話的kNN.
基于物品的kNN把與當(dāng)前會(huì)話中最后一項(xiàng)在其他會(huì)話中共現(xiàn)的那些項(xiàng)中最相似的那一個(gè)作為輸出.兩個(gè)事件在不同的會(huì)話中頻繁共現(xiàn),那么我們認(rèn)為這兩個(gè)事件是相似的.一般采用余弦相似度,不容易受到流行度偏差的影響.為了能夠較快做出響應(yīng),系統(tǒng)會(huì)提前計(jì)算所有項(xiàng)目的相似性,常用于電商[45]和音樂(lè)推薦[46].
基于會(huì)話的kNN在考慮當(dāng)前會(huì)話中最后一個(gè)點(diǎn)擊項(xiàng)的同時(shí)也會(huì)比較整個(gè)會(huì)話與其他會(huì)話的相似性,綜合兩者做出合理的推薦[47].受到在線推薦中時(shí)間的限制,需要預(yù)先處理訓(xùn)練會(huì)話集并在啟動(dòng)時(shí)創(chuàng)建內(nèi)存索引數(shù)據(jù)結(jié)構(gòu)(緩存)[48].
kNN的方法雖然簡(jiǎn)單,但十分有效,特別是在準(zhǔn)確率方面有著不錯(cuò)的表現(xiàn)[49,50],常被用于目前十分流行的基于循環(huán)神經(jīng)網(wǎng)絡(luò)模型的對(duì)照方法[48,51].
馬爾可夫模型是一種統(tǒng)計(jì)模型,在自然語(yǔ)言處理和生物基因序列分析領(lǐng)域有著出色的表現(xiàn).其中馬爾可夫過(guò)程是指過(guò)程中每個(gè)狀態(tài)的轉(zhuǎn)移只依賴于之前的n個(gè)狀態(tài),這個(gè)過(guò)程被稱為n階模型,其中n是影響轉(zhuǎn)移狀態(tài)的數(shù)目[52].一階馬爾科夫過(guò)程,即每個(gè)狀態(tài)的轉(zhuǎn)移只依賴于前一個(gè)狀態(tài),是最簡(jiǎn)單的馬爾科夫過(guò)程.推薦是一個(gè)連續(xù)的過(guò)程[53],基于會(huì)話的推薦問(wèn)題可以轉(zhuǎn)化為有序序列預(yù)測(cè)問(wèn)題,如此便可使用馬爾可夫決策過(guò)程(MDP)這一順序決策的隨機(jī)模型.馬爾可夫鏈(MC)是時(shí)間和狀態(tài)都是離散的馬爾科夫過(guò)程,能夠捕獲用戶點(diǎn)擊會(huì)話中的順序模式.MC模型通過(guò)轉(zhuǎn)化圖的方式對(duì)用戶會(huì)話中的順序行為建模來(lái)預(yù)測(cè)用戶的下一個(gè)行為.由于數(shù)據(jù)的稀疏性,馬爾可夫鏈通常無(wú)法直接使用.文獻(xiàn)[54]用隱馬爾可夫模型來(lái)克服MC的缺陷.文獻(xiàn)[55]采用了可分解個(gè)性化馬爾可夫鏈(FPMC)的方法結(jié)合一階馬爾可夫鏈和矩陣分解的優(yōu)點(diǎn)來(lái)模擬個(gè)性化順序行為,在稀疏和密集數(shù)據(jù)上的表現(xiàn)均優(yōu)于MF和MC.文獻(xiàn)[56]進(jìn)一步在FPMC的基礎(chǔ)上,針對(duì)稀疏性問(wèn)題和數(shù)據(jù)的長(zhǎng)尾分布,采用用戶長(zhǎng)期偏好和當(dāng)前會(huì)話中的順序行為的方法來(lái)表示用戶,例如在電影推薦中,用戶的一貫偏好是科幻片,但是在他觀看了哈利波特I之后應(yīng)該向該用戶推薦哈利波特II.馬爾可夫鏈在提取用戶短期偏好方面有著良好的表現(xiàn),但是,受馬爾可夫鏈特性的限制即下一個(gè)動(dòng)作僅依賴于有限個(gè)先前的行為.文獻(xiàn)[56]用基于相似性模型(FISM)來(lái)彌補(bǔ)這個(gè)缺點(diǎn).文獻(xiàn)[57]提出混合變量記憶馬爾可夫模型(MVMM)來(lái)預(yù)測(cè)用戶下一項(xiàng)感興趣的項(xiàng)目,并選擇N-gram模型作為基準(zhǔn)模型.
馬爾可夫決策過(guò)程(MDP)則是對(duì)馬爾可夫鏈的擴(kuò)展,它結(jié)合了馬爾可夫過(guò)程和確定性動(dòng)態(tài)規(guī)劃的最優(yōu)策過(guò)程,具有馬爾可夫性(無(wú)后效性)[58].MDP有兩大優(yōu)勢(shì):
1)考慮了每項(xiàng)推薦的長(zhǎng)期影響;
2)考慮每項(xiàng)推薦的預(yù)期價(jià)值.例如在歌曲推薦方面,系統(tǒng)會(huì)監(jiān)測(cè)用戶對(duì)所推曲目的反映,是收聽(tīng)還是跳過(guò),從而設(shè)立獎(jiǎng)勵(lì)機(jī)制.
文獻(xiàn)[59]首次使用馬爾可夫決策過(guò)程對(duì)順序數(shù)據(jù)推薦問(wèn)題進(jìn)行建模,用到了強(qiáng)化學(xué)習(xí)的方法來(lái)學(xué)習(xí)最優(yōu)策略.文獻(xiàn)[60]利用強(qiáng)化學(xué)習(xí)對(duì)MDP中的顯式偏好和隱式反饋進(jìn)行利用和組合.
前期的研究[61,62]成功地將循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)應(yīng)用在序列數(shù)據(jù)建模問(wèn)題.RNN是一種具有非線性動(dòng)態(tài)特性的分布式隱狀態(tài)模型[63],可以有效地模擬整個(gè)用戶交互會(huì)話(點(diǎn)擊、查看),能對(duì)會(huì)話建模以發(fā)現(xiàn)其中的主題思想,是基于會(huì)話推薦問(wèn)題的自然選擇.
文獻(xiàn)[51]首次將循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)應(yīng)用于推薦系統(tǒng),不僅證明了RNN能應(yīng)用于基于會(huì)話的推薦問(wèn)題,而且針對(duì)基于會(huì)話推薦的這項(xiàng)特定任務(wù),設(shè)計(jì)了帶有GRU(Gated Recurrent Unit)的RNN模型(GRU4REC).在訓(xùn)練RNN時(shí)采用了排名損失(ranking loss)旨在將模型的關(guān)注點(diǎn)集中到用戶可能感興趣的頂級(jí)項(xiàng)目上.在兩個(gè)不同數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果也表明采用了RNN的策略相較于以往的方法,推薦效果有了明顯的改進(jìn).文獻(xiàn)[48]進(jìn)一步認(rèn)為文獻(xiàn)[42]中的GRU4REC方法的有效性問(wèn)題沒(méi)有得到解決,故通過(guò)使用基于會(huì)話的kNN結(jié)合啟發(fā)式的手段對(duì)合適近鄰進(jìn)行采樣,驗(yàn)證了GRU4REC方法的真實(shí)有效,發(fā)現(xiàn)RNN方法確實(shí)能夠捕獲kNN方法無(wú)法識(shí)別的數(shù)據(jù)中的序列模式.文獻(xiàn)[64]又提出了在GRU4REC上引入四條優(yōu)化方法,包括數(shù)據(jù)增強(qiáng)技術(shù)、設(shè)置時(shí)間閾值來(lái)適應(yīng)變化、使用特權(quán)信息(關(guān)于點(diǎn)擊項(xiàng)目的屬性)和輸出嵌入.文獻(xiàn)[65]中則通過(guò)排名損失函數(shù)對(duì)RNN進(jìn)行優(yōu)化.
用戶的會(huì)話點(diǎn)擊不僅有序列特征,通常還有項(xiàng)目的文本和圖像特征,文獻(xiàn)[9]探究了融合項(xiàng)目屬性特征的RNN框架p-RNN(并行RNN),它根據(jù)點(diǎn)擊會(huì)話和點(diǎn)擊項(xiàng)目的特征進(jìn)行聯(lián)合會(huì)話建模,框架的輸入是項(xiàng)目ID和項(xiàng)目特征,輸出是下一個(gè)點(diǎn)擊項(xiàng)的評(píng)分.
用戶在瀏覽的過(guò)程中,在某一物品上停留的時(shí)間長(zhǎng)度能從側(cè)面反映出對(duì)該物品的喜好程度,是隱式反饋的一種表現(xiàn)形式,停留時(shí)間越長(zhǎng)則表示越感興趣,反之亦然.文獻(xiàn)[66]探究了這種隱式反饋在會(huì)話推薦中的價(jià)值,在RNN框架中加入用戶在物品上的停留時(shí)間,通過(guò)設(shè)定閾值的方式來(lái)判斷用戶對(duì)特定物品的感興趣程度.
有的情況下,用戶會(huì)登錄或者網(wǎng)站對(duì)用戶有其他形式的標(biāo)識(shí),文獻(xiàn)[76]便考慮了存在用戶信息文檔的情況,提出了一種層次化的RNN模型,將存在用戶歷史信息的處理成會(huì)話感知推薦問(wèn)題,將匿名/新用戶處理成基于會(huì)話的推薦問(wèn)題.為了突出在基于會(huì)話的推薦中更具個(gè)性化這一特性,文獻(xiàn)[68]考慮到在商業(yè)系統(tǒng)中,用戶靜態(tài)上下文(年齡、性別、位置)是容易獲取的,故提出增強(qiáng)RNN模型(ARNN)無(wú)縫集成用戶靜態(tài)上下文到RNN中.
表2 不同推薦方法的特點(diǎn)比較
Table 2 Comparison of characteristics of different recommendation methods
類目推薦技術(shù)特點(diǎn)參考文獻(xiàn)頻繁模式挖掘(FPM)逐項(xiàng)(item-to-item)易于實(shí)現(xiàn),對(duì)計(jì)算性能有較高的要求[36],[31],[32]順序模式挖掘考慮順序模式,可擴(kuò)展性較差,需要合適的閾值[39],[40],[41],[42]K近鄰(kNN)基于物品的kNN僅考慮會(huì)話中的最后一個(gè)元素[45],[46]基于會(huì)話的kNN在基于物品的kNN的基礎(chǔ)上會(huì)考慮會(huì)話之間的相似性[47]馬爾可夫模型(MM)馬爾可夫鏈(MC)能夠?qū)?huì)話中的順序模式建模,通常使用MC的變體[54],[55],[56],[57]馬爾可夫決策與強(qiáng)化學(xué)習(xí)(MDP&RL)考慮獎(jiǎng)勵(lì)機(jī)制,RL學(xué)習(xí)其中的最佳策略[59],[60]深度學(xué)習(xí)(DL)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)克服了MC的限制,適合對(duì)會(huì)話中的復(fù)雜動(dòng)態(tài)序列建模[51],[61],[62]
新聞推薦也是基于會(huì)話推薦的重要應(yīng)用方向,它更關(guān)注消息的時(shí)效性和新鮮度.文獻(xiàn)[69]提出一種新的基于循環(huán)神經(jīng)網(wǎng)絡(luò)的架構(gòu),以不同的粒度級(jí)別來(lái)組合長(zhǎng)/短期用戶偏好,其中長(zhǎng)期用戶偏好代表了用戶穩(wěn)定的興趣,而短期偏好則代表了用戶當(dāng)前的需求.基于會(huì)話推薦的不同方法之間的特點(diǎn)如表2所示.
在研究中,經(jīng)常使用的含序列特性的數(shù)據(jù)集主要來(lái)自3個(gè)領(lǐng)域,分別是電商、音樂(lè)和新聞.以下簡(jiǎn)單介紹幾個(gè)常用的數(shù)據(jù)集: RecSys Challenge 2015的數(shù)據(jù)集(1)http://2015.recsyschallenge.com/,主要內(nèi)容是某個(gè)用戶在訪問(wèn)電子商務(wù)網(wǎng)站的會(huì)話期間執(zhí)行的一系列點(diǎn)擊事件.數(shù)據(jù)包中包含訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù),訓(xùn)練數(shù)據(jù)有兩個(gè)文件:點(diǎn)擊事件yoochoose-clicks.dat和購(gòu)買行為yoochoose-buys.dat.點(diǎn)擊事件包括:會(huì)話ID;時(shí)間戳;商品ID;商品類別.購(gòu)買行為包括:會(huì)話ID;時(shí)間戳;物料ID;價(jià)格;數(shù)量.測(cè)試文件與點(diǎn)擊事件文件結(jié)構(gòu)相同.這些數(shù)據(jù)是在2014年的幾個(gè)月內(nèi)收集的,反映了某歐洲在線零售商中用戶的點(diǎn)擊和購(gòu)買情況.
Amazon數(shù)據(jù)集:來(lái)自Amazon.com(2)https://www.amazon.com/,是最大的數(shù)據(jù)集之一,其中包括1996年5月至2014年7月的評(píng)論文本和時(shí)間戳.其中不同類別的產(chǎn)品構(gòu)建為不同的獨(dú)立數(shù)據(jù)集[70],該數(shù)據(jù)集包含近600萬(wàn)個(gè)對(duì)象,超過(guò)1.8億個(gè)關(guān)系.這些關(guān)系是用戶訪問(wèn)亞馬遜網(wǎng)站并記錄其提供的產(chǎn)品推薦的結(jié)果.
30MUSIC和NOWPLAYING:30MUSIC數(shù)據(jù)集是來(lái)自last.fm(3)http://www.last.fm/api互聯(lián)網(wǎng)廣播電臺(tái)的收聽(tīng)歷史,包括含有時(shí)間信息的收聽(tīng)會(huì)話、播放列表和部分用戶的評(píng)分[71].NOWPLAYING(4)http://www.nowplayingplugin.com數(shù)據(jù)集是依賴于Twitter創(chuàng)建的有關(guān)用戶音樂(lè)收聽(tīng)行為的數(shù)據(jù)集并不斷更新[72].
在傳統(tǒng)的基于矩陣填充的推薦問(wèn)題中,劃分訓(xùn)練集和測(cè)試集一般采用隨機(jī)抽樣的方法遵循互斥的原則.對(duì)于會(huì)話感知推薦系統(tǒng)應(yīng)該采用會(huì)話級(jí)別的劃分方式避免分離單個(gè)用戶的會(huì)話;在社區(qū)級(jí)和用戶級(jí)的劃分中,應(yīng)當(dāng)優(yōu)先選擇用戶級(jí)的劃分手法,如此可以保證向新用戶提供求推薦[73].
不同于傳統(tǒng)推薦系統(tǒng)要求的輸出目標(biāo)為一個(gè)/組物品的按評(píng)分高低的排序,基于會(huì)話的推薦問(wèn)題的目標(biāo)是預(yù)測(cè)當(dāng)前會(huì)話下用戶的下一個(gè)動(dòng)作,具體表現(xiàn)為購(gòu)物中下一個(gè)要購(gòu)買的商品,收聽(tīng)會(huì)話中下一首想播放的曲目等.數(shù)據(jù)有序列性即無(wú)法將會(huì)話事件隨機(jī)分配給訓(xùn)練集和測(cè)試集,所以使用滑動(dòng)窗口的方式來(lái)替代原本的交叉驗(yàn)證方法[48].使用的評(píng)價(jià)指標(biāo)主要包括命中率(HR)、準(zhǔn)確率(Precision)、召回率(Recall)、和平均倒排序值(MRR)[48,76,64].
文獻(xiàn)[74]認(rèn)為對(duì)于預(yù)測(cè)下一項(xiàng)的問(wèn)題,命中率能夠反映該推薦系統(tǒng)的性能,因?yàn)槲覀冎魂P(guān)注是否找到了合適的項(xiàng)目.
(1)
其中分母|GT|是所有的測(cè)試集合,分子NumberofHits@K是每個(gè)用戶top-K推薦列表中屬于測(cè)試集合的個(gè)數(shù)的總和.
準(zhǔn)確率代表了用戶對(duì)于系統(tǒng)所推薦商品感興趣的概率,就是所推薦的物品有多少是準(zhǔn)確的[75].召回率表示用戶感興趣的商品被系統(tǒng)推薦的概率即有多少準(zhǔn)確的物品被系統(tǒng)成功推薦[75].待預(yù)測(cè)商品可能存在的四種情況如表3所示.
Ntp表示系統(tǒng)推薦且用戶喜歡,Nfn表示系統(tǒng)推薦但用戶不喜歡,Nfp表示用戶喜歡但系統(tǒng)沒(méi)推薦,Ntn用戶不喜歡且系統(tǒng)沒(méi)推薦,L為推薦列表長(zhǎng)度.Bu是測(cè)試集中用戶u喜歡的商品數(shù),則準(zhǔn)確率和召回率定義為:
(2)
(3)
表3 待預(yù)測(cè)商品有四種可能的情況
Table 3 Four possible scenarios for the goods to be forecasted
用戶喜好系統(tǒng)推薦系統(tǒng)不推薦喜歡NtpNfn不喜歡NfpNtn
MRR是把準(zhǔn)確推薦項(xiàng)在推薦系統(tǒng)給出結(jié)果的排序位置的倒數(shù)作為它的準(zhǔn)確度,再對(duì)所有的問(wèn)題求平均.
(4)
其中|Q|是查詢個(gè)數(shù),ranki是對(duì)第i個(gè)查詢,第一個(gè)相關(guān)的結(jié)果所在的排列位置.
伴隨智能手機(jī)的普及,人們喜歡利用碎片化的時(shí)間通過(guò)手機(jī)進(jìn)行各種操作,如瀏覽新聞、閱讀文章、選購(gòu)商品等.手機(jī)上的應(yīng)用更適合于基于會(huì)話的推薦,因?yàn)橄鄬?duì)于PC端,手機(jī)用戶在某一時(shí)間內(nèi)總是在一個(gè)應(yīng)用中進(jìn)行操作.由于手機(jī)上的傳感器較多,因此能夠獲取更多的上下文信息(地點(diǎn)、用戶的運(yùn)動(dòng)狀態(tài)甚至用戶的情緒),所以在移動(dòng)端,結(jié)合上下文信息進(jìn)行基于會(huì)話的推薦是未來(lái)的應(yīng)用方向.
為了能夠更好地獲取用戶需求,需要引入多種類型的數(shù)據(jù),甚至包括聲音、圖像、視頻、各種傳感器信息.如何融合這些異構(gòu)的多元數(shù)據(jù)提高會(huì)話推薦的準(zhǔn)確性將是重要的方向.
人們的選擇從根本上其意圖的體現(xiàn).用戶不同的行為可能反映用戶不同的需求和意圖,例如在訪問(wèn)電商網(wǎng)站時(shí)會(huì)有搜索、查看、加入購(gòu)物車、添加愿望清單等操作,如何綜合考慮不同行為的效果從而進(jìn)一步揣摩用戶意圖,并將意圖與偏好相結(jié)合,是值得研究人員討論的問(wèn)題.
從算法角度看,自從Hidasi B等人[42]創(chuàng)造性地將RNN用于推薦系統(tǒng)以來(lái),由于RNN在利用會(huì)話中的順序信息相較于馬爾可夫模型和順序模式挖掘有著更為突出的表現(xiàn),RNN成了該問(wèn)題的“自然選擇”,近期許多研究圍繞對(duì)RNN模型的改進(jìn)展開(kāi),例如考慮特征信息、使用損失函數(shù)進(jìn)行優(yōu)化[9,56]等.未來(lái)的研究可以把RNN模型作為基礎(chǔ),開(kāi)發(fā)新的模型以更好地利用會(huì)話中的順序模式.但是在算法研究中其他深度學(xué)習(xí)模型也將引入,例如文獻(xiàn)[67]提出用卷積神經(jīng)網(wǎng)絡(luò)(CNN)來(lái)解決會(huì)話推薦問(wèn)題.因此,如何結(jié)合不同的場(chǎng)景采用不同的深度學(xué)習(xí)模型值得研究.
互聯(lián)網(wǎng)使得人們的各種海量信息都被記錄下來(lái).預(yù)測(cè)用戶感興趣的下一個(gè)項(xiàng)目、讓用戶能夠在短時(shí)間內(nèi)快速獲取到有價(jià)值的內(nèi)容,能讓服務(wù)提供商提供有針對(duì)性的服務(wù)從而提高用戶體驗(yàn),這正是基于會(huì)話推薦的任務(wù)所在.基于會(huì)話的推薦的主要優(yōu)勢(shì)是僅依靠用戶的短期會(huì)話來(lái)識(shí)別用戶偏好,因而對(duì)于用戶的興趣變化十分敏感且相較于用戶的長(zhǎng)期偏好的獲取準(zhǔn)確性更高.該方法不僅能面向新用戶和匿名用戶,對(duì)于新上線的手機(jī)app、電商或是在線流媒體網(wǎng)站,能夠根據(jù)少量的用戶交互信息做出合理的推薦,從而可在短時(shí)間內(nèi)提升訪客滿意度、網(wǎng)站銷售額及點(diǎn)擊量.可以預(yù)計(jì),會(huì)話推薦的研究和應(yīng)用將會(huì)得到進(jìn)一步的重視.