亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向用戶(hù)偏好建模的個(gè)性化對(duì)話(huà)推薦算法

        2021-11-10 07:19:56尚琛展
        信息安全學(xué)報(bào) 2021年5期
        關(guān)鍵詞:歷史用戶(hù)信息

        尚琛展, 趙 鑫

        1 華中科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 武漢 中國(guó) 430074

        2 中國(guó)人民大學(xué)高瓴人工智能學(xué)院 北京 中國(guó) 100872

        1 引言

        近年來(lái), 推薦系統(tǒng)在社交[1]、電商[2]、新聞[3]等領(lǐng)域得到了越來(lái)越廣泛的應(yīng)用, 充分顯示了其商業(yè)潛力。在傳統(tǒng)推薦系統(tǒng)中[4], 推薦任務(wù)的實(shí)現(xiàn)高度依賴(lài)于用戶(hù)與物品的歷史交互記錄, 例如電商網(wǎng)站通過(guò)用戶(hù)的點(diǎn)擊記錄與購(gòu)買(mǎi)記錄來(lái)向用戶(hù)推送其可能感興趣的商品。然而, 推薦系統(tǒng)卻難以從這種隱式反饋中挖掘用戶(hù)的真實(shí)偏好, 使得系統(tǒng)性能的提升受到限制。針對(duì)該問(wèn)題, 對(duì)話(huà)推薦系統(tǒng)[5-7]能夠通過(guò)使用自然語(yǔ)言與用戶(hù)進(jìn)行多輪對(duì)話(huà), 逐步深入挖掘其個(gè)性化偏好, 從而提供高質(zhì)量的推薦結(jié)果。相比于傳統(tǒng)推薦系統(tǒng), 用戶(hù)在與對(duì)話(huà)推薦系統(tǒng)進(jìn)行交互時(shí),提供了及時(shí)的、顯式的反饋, 這更精確地反映了用戶(hù)的真實(shí)需求, 使推薦系統(tǒng)的性能有更大的提升空間。

        在設(shè)計(jì)上, 對(duì)話(huà)推薦系統(tǒng)由推薦模塊與對(duì)話(huà)模塊組成[8]。一方面, 對(duì)話(huà)模塊能夠理解用戶(hù)意圖, 向推薦模塊提供有關(guān)用戶(hù)偏好的信息, 并根據(jù)其反饋生成對(duì)用戶(hù)的回復(fù)。另一方面, 推薦模塊根據(jù)對(duì)話(huà)模塊提供的信息, 在物品數(shù)據(jù)庫(kù)中搜尋匹配項(xiàng), 從而更高質(zhì)量地完成推薦任務(wù)。表1 所示為電影推薦場(chǎng)景下, 對(duì)話(huà)推薦系統(tǒng)與用戶(hù)交互的示例。系統(tǒng)在與用戶(hù)交流的過(guò)程中關(guān)注到其喜歡的電影類(lèi)型, 隨后在回復(fù)中給用戶(hù)提供推薦影片, 當(dāng)用戶(hù)接受了系統(tǒng)所提供的建議時(shí), 整個(gè)工作流程結(jié)束。在這個(gè)過(guò)程中可以發(fā)現(xiàn), 系統(tǒng)需要同時(shí)完成對(duì)話(huà)和推薦兩類(lèi)任務(wù),因此, 做好兩個(gè)模塊的銜接與協(xié)同運(yùn)轉(zhuǎn)對(duì)于構(gòu)建高效的對(duì)話(huà)推薦系統(tǒng)來(lái)說(shuō)至關(guān)重要。

        表1 電影推薦場(chǎng)景下的對(duì)話(huà)推薦系統(tǒng)交互示例Table 1 Example of conversational recommendation in movie recommendation scenario

        對(duì)話(huà)推薦系統(tǒng)近年來(lái)受到越來(lái)越多的關(guān)注, 針對(duì)不同的問(wèn)題設(shè)定, 研究者們提出了各種算法來(lái)應(yīng)對(duì)不同的需求。例如, ReDial[5]引入情感分析模塊, 根據(jù)用戶(hù)表達(dá)中體現(xiàn)的情感, 來(lái)更精確地獲取其對(duì)候選物品的偏好; KBRD[6]和KGSF[7]引入外部知識(shí)庫(kù),來(lái)為推薦任務(wù)提供充足的信息, 緩解了系統(tǒng)所面臨的冷啟動(dòng)問(wèn)題[9]; CPR[10]將對(duì)話(huà)推薦任務(wù)轉(zhuǎn)化為在圖上的路徑推理問(wèn)題, 提升了系統(tǒng)性能, 并增強(qiáng)了推薦結(jié)果的可解釋性。

        上述的這些工作都在一定程度上提升了對(duì)話(huà)推薦系統(tǒng)的性能表現(xiàn), 但是它們?nèi)跃哂芯窒扌浴?/p>

        一方面, 現(xiàn)有的工作[5-7,10]都僅對(duì)當(dāng)前的對(duì)話(huà)進(jìn)行建模。為了使用戶(hù)能夠在較短時(shí)間內(nèi)獲取系統(tǒng)提供的推薦物品, 保證良好的用戶(hù)體驗(yàn), 對(duì)話(huà)的輪次需要控制在一定的范圍內(nèi)。而這種對(duì)交互深入程度的限制, 導(dǎo)致系統(tǒng)對(duì)用戶(hù)的認(rèn)識(shí)是片面的, 難以深入挖掘用戶(hù)對(duì)候選物品的興趣偏好。如何在控制對(duì)話(huà)長(zhǎng)度的同時(shí)加深系統(tǒng)對(duì)用戶(hù)的理解, 這是對(duì)話(huà)推薦算法需要解決的一個(gè)重要問(wèn)題。

        另一方面, 從客觀上來(lái)講, 用戶(hù)的偏好是廣泛的、多方面的, 與系統(tǒng)的單次對(duì)話(huà)僅反映了用戶(hù)偏好的一方面, 在此基礎(chǔ)上得到的推薦結(jié)果無(wú)法體現(xiàn)用戶(hù)本身豐富的興趣偏好, 具有同質(zhì)化趨勢(shì)。這種同質(zhì)化趨勢(shì)容易造成“信息繭房”等不良現(xiàn)象, 與推薦系統(tǒng)的初衷相違背。

        為了解決這兩個(gè)問(wèn)題, 可以考慮基于用戶(hù)的歷史對(duì)話(huà)數(shù)據(jù)進(jìn)行建模。一方面, 在不增加當(dāng)前對(duì)話(huà)輪次的前提下, 系統(tǒng)可以從用戶(hù)的歷史對(duì)話(huà)數(shù)據(jù)中得到更充分的信息, 從而獲取對(duì)用戶(hù)更深入的理解。另一方面, 用戶(hù)的每次對(duì)話(huà)可能有不同的主題, 豐富的主題展現(xiàn)了用戶(hù)在不同方面的興趣偏好, 對(duì)這些信息加以利用能夠緩解當(dāng)前對(duì)話(huà)信息的匱乏, 提升推薦結(jié)果的多樣性。

        然而, 在對(duì)用戶(hù)的歷史對(duì)話(huà)數(shù)據(jù)進(jìn)行建模時(shí)仍會(huì)遇到不小的挑戰(zhàn)。首先, 并不是所有的對(duì)話(huà)記錄對(duì)于當(dāng)前的推薦任務(wù)都有價(jià)值。例如在電影推薦場(chǎng)景下, 某用戶(hù)的大多數(shù)對(duì)話(huà)中都向系統(tǒng)尋求屬于科幻片的推薦影片, 而在當(dāng)前的對(duì)話(huà)中他希望尋找喜劇片, 如果系統(tǒng)再根據(jù)過(guò)去的記錄給用戶(hù)推薦科幻片,就會(huì)造成嚴(yán)重失誤。如何甄別歷史對(duì)話(huà)數(shù)據(jù)中對(duì)當(dāng)前任務(wù)有用的信息, 是基于多對(duì)話(huà)進(jìn)行用戶(hù)偏好建模的重要挑戰(zhàn)。其次, 用戶(hù)的歷史對(duì)話(huà)數(shù)據(jù)是豐富的,同時(shí)也是冗余的, 如果對(duì)其不加以區(qū)別地利用, 勢(shì)必會(huì)導(dǎo)致當(dāng)前對(duì)話(huà)中的信息淹沒(méi)在歷史對(duì)話(huà)數(shù)據(jù)中,使系統(tǒng)得到與當(dāng)前任務(wù)近乎無(wú)關(guān)的推薦結(jié)果。如何權(quán)衡歷史對(duì)話(huà)數(shù)據(jù)和當(dāng)前對(duì)話(huà)數(shù)據(jù)二者的重要性,是需要應(yīng)對(duì)的第二個(gè)挑戰(zhàn)。

        為應(yīng)對(duì)這些挑戰(zhàn), 本文提出了PCR (user preference modeling based Personalized Conversational Recommender) 模型。一方面, 使用注意力機(jī)制給歷史對(duì)話(huà)中所有和用戶(hù)發(fā)生過(guò)交互的物品賦予一定的權(quán)重, 權(quán)重越大, 表明它與當(dāng)前任務(wù)的契合程度越高, 從而甄別出歷史對(duì)話(huà)數(shù)據(jù)中最有價(jià)值的信息。另一方面, 本文工作采用“目標(biāo)對(duì)話(huà)為主, 歷史數(shù)據(jù)為輔”的原則, 基于自注意力機(jī)制[11], 設(shè)計(jì)了層次化自注意力編碼器結(jié)構(gòu), 先對(duì)歷史對(duì)話(huà)數(shù)據(jù)中與用戶(hù)發(fā)生過(guò)交互的物品進(jìn)行融合, 得到與歷史相關(guān)的用戶(hù)向量表示, 再將它與當(dāng)前對(duì)話(huà)中出現(xiàn)的實(shí)體進(jìn)行融合得到最終的用戶(hù)向量表示。這樣的層次化編碼既考慮到用戶(hù)在多次對(duì)話(huà)中所展現(xiàn)出的不同方面的興趣偏好, 又切實(shí)關(guān)注了他們?cè)诋?dāng)前的對(duì)話(huà)中所提出的需求, 從而實(shí)現(xiàn)對(duì)用戶(hù)偏好的精細(xì)建模。

        基于公開(kāi)數(shù)據(jù)集[5]的實(shí)驗(yàn)表明, 相對(duì)于基線(xiàn)模型, PCR 在推薦任務(wù)和對(duì)話(huà)任務(wù)上的表現(xiàn)都有所提升, 這表明了本文方法的有效性。

        2 相關(guān)工作

        2.1 推薦系統(tǒng)

        推薦系統(tǒng)的目標(biāo)是從物品數(shù)據(jù)庫(kù)中, 選擇出與用戶(hù)興趣偏好相匹配的子集, 從而緩解用戶(hù)面臨的“信息過(guò)載”問(wèn)題。推薦系統(tǒng)通常以用戶(hù)和物品的歷史交互記錄作為信息來(lái)源, 獲取匹配的推薦結(jié)果, 例如用戶(hù)的點(diǎn)擊記錄、觀看或購(gòu)買(mǎi)記錄, 甚至是評(píng)論等文本信息。

        經(jīng)過(guò)20 余年的發(fā)展, 研究者們提出了許多不同的算法來(lái)解決推薦問(wèn)題。早期所采用的方法主要是協(xié)同過(guò)濾[12], 但是它難以處理稀疏矩陣, 推薦結(jié)果的頭部效應(yīng)較為明顯。矩陣分解算法[13]的提出增強(qiáng)了推薦算法模型的泛化能力, 但它無(wú)法對(duì)用戶(hù)、物品及其他上下文特征加以利用。邏輯回歸在推薦系統(tǒng)中的應(yīng)用[14]解決了這一問(wèn)題, 它能夠融合多種不同類(lèi)型的特征, 隨后的因子分解機(jī)[15]可以對(duì)不同特征進(jìn)行進(jìn)一步的交叉, 增強(qiáng)了模型的表達(dá)能力。

        深度學(xué)習(xí)方法興起以來(lái), 推薦系統(tǒng)領(lǐng)域也受到這一浪潮的深刻影響, 涌現(xiàn)出眾多性能優(yōu)異的新模型[16-18]。其后, 為了應(yīng)對(duì)冷啟動(dòng)問(wèn)題和交互數(shù)據(jù)稀疏性帶來(lái)的問(wèn)題, 研究者們提出了許多技術(shù)手段來(lái)融入外部信息, 比如異質(zhì)信息網(wǎng)絡(luò)[19]、知識(shí)庫(kù)[20-21]和社交網(wǎng)絡(luò)[22]等, 這也進(jìn)一步增強(qiáng)了推薦結(jié)果的可解釋性。

        2.2 對(duì)話(huà)推薦系統(tǒng)

        傳統(tǒng)推薦系統(tǒng)利用歷史交互記錄來(lái)獲得關(guān)于用戶(hù)的信息, 在形式上是隱式的, 在時(shí)間上是滯后的。對(duì)話(huà)推薦系統(tǒng)能夠通過(guò)與用戶(hù)的多輪對(duì)話(huà), 獲得顯式而及時(shí)的反饋, 逐步深入挖掘用戶(hù)興趣偏好, 從而提供更高質(zhì)量的推薦結(jié)果。

        因此, 對(duì)話(huà)推薦系統(tǒng)近年來(lái)吸引了越來(lái)越多研究者的關(guān)注。研究者們針對(duì)不同的問(wèn)題設(shè)定和形式化方法, 完成了許多有價(jià)值的工作。CRM[23]將深度強(qiáng)化學(xué)習(xí)方法引入對(duì)話(huà)推薦系統(tǒng), 構(gòu)建了一個(gè)深度策略網(wǎng)絡(luò)來(lái)決定系統(tǒng)的下一步動(dòng)作。有研究者提出了SAUR[24](System Ask, User Respond) 范式來(lái)描述基于對(duì)話(huà)的搜索或推薦問(wèn)題。對(duì)話(huà)推薦系統(tǒng)框架EAR[25](Estimation-Action-Reflection)統(tǒng)一地解決向用戶(hù)問(wèn)什么, 何時(shí)進(jìn)行推薦, 如何適應(yīng)用戶(hù)的反饋這三個(gè)問(wèn)題。ReDial[5]是一個(gè)端到端的對(duì)話(huà)推薦算法模型, 該工作同時(shí)提出了電影推薦場(chǎng)景下的對(duì)話(huà)數(shù)據(jù)集。KBRD[6]在前者數(shù)據(jù)集的基礎(chǔ)上引入外部知識(shí)圖譜DBpedia[26], 緩解了冷啟動(dòng)問(wèn)題, 得到更具可解釋性的推薦結(jié)果。KGSF[7]同時(shí)引入實(shí)體級(jí)和詞匯級(jí)知識(shí)圖譜, 通過(guò)互信息最大化算法來(lái)消解實(shí)體、詞匯兩類(lèi)向量表示之間的語(yǔ)義鴻溝, 進(jìn)一步提升了對(duì)話(huà)推薦系統(tǒng)的表現(xiàn)。

        然而現(xiàn)有的工作僅對(duì)當(dāng)前對(duì)話(huà)進(jìn)行建模, 沒(méi)有充分考慮同一用戶(hù)在歷史對(duì)話(huà)中所蘊(yùn)涵的興趣偏好信息。基于多對(duì)話(huà)進(jìn)行用戶(hù)建模后, 對(duì)話(huà)推薦系統(tǒng)具備了更大的性能提升空間。

        3 問(wèn)題描述

        對(duì)話(huà)推薦系統(tǒng)的任務(wù)是通過(guò)多輪對(duì)話(huà)向用戶(hù)推薦匹配的物品。對(duì)話(huà)模塊能夠分析和理解用戶(hù)基于自然語(yǔ)言的表達(dá), 并生成相應(yīng)的回復(fù); 推薦模塊能夠接收對(duì)話(huà)模塊提供的用戶(hù)相關(guān)信息, 在物品數(shù)據(jù)庫(kù)中尋找匹配的推薦結(jié)果。多輪對(duì)話(huà)的過(guò)程直到用戶(hù)接受了推薦結(jié)果或者用戶(hù)離開(kāi)才會(huì)結(jié)束。個(gè)性化對(duì)話(huà)推薦任務(wù)則更進(jìn)一步地要求對(duì)用戶(hù)的歷史對(duì)話(huà)數(shù)據(jù)進(jìn)行建模, 從而得到更符合用戶(hù)興趣偏好的推薦結(jié)果。

        目標(biāo)對(duì)話(huà) ( t)C 進(jìn)行到第k 輪時(shí), 系統(tǒng)需要根據(jù)目標(biāo)對(duì)話(huà)中已經(jīng)出現(xiàn)的上下文和歷史對(duì)話(huà)序列, 從物品集I 中尋找與用戶(hù)偏好相匹配的子集 Ik, 并生成回復(fù)語(yǔ)句sk1+作為對(duì)用戶(hù)的反饋。這樣的推薦過(guò)程直到用戶(hù)接受了推薦結(jié)果或者主動(dòng)離開(kāi)為止。

        已有的對(duì)話(huà)推薦系統(tǒng)工作僅利用目標(biāo)對(duì)話(huà)中的信息得出推薦結(jié)果, 而本文工作充分考慮了歷史對(duì)話(huà)中所提供的豐富信息, 來(lái)生成更精確地符合用戶(hù)真實(shí)偏好的推薦結(jié)果。

        4 模型

        本文提出了面向用戶(hù)偏好建模的個(gè)性化對(duì)話(huà)推薦算法框架PCR 來(lái)完成個(gè)性化對(duì)話(huà)推薦任務(wù), 該模型首次將用戶(hù)的歷史對(duì)話(huà)數(shù)據(jù)作為上下文信息融入到用戶(hù)建模的過(guò)程中。圖1 展示了PCR 模型推薦模塊的整體結(jié)構(gòu), 其中右側(cè)為基于KBRD[6]的基線(xiàn)模型,左側(cè)為PCR 基于歷史對(duì)話(huà)進(jìn)行建模的模塊, 其得到的與歷史相關(guān)的用戶(hù)向量表示能夠增強(qiáng)最終用戶(hù)向量的表達(dá)能力, 從而更精確地與物品數(shù)據(jù)庫(kù)中的物品進(jìn)行匹配。

        圖1 PCR 推薦模塊結(jié)構(gòu)圖Figure 1 Structure of recommendation module in our proposed model PCR

        4.1 構(gòu)建實(shí)體向量

        在基于深度學(xué)習(xí)的推薦系統(tǒng)中, 通常使用向量的形式來(lái)表示一個(gè)實(shí)體??梢詫?shí)體表示為一個(gè)獨(dú)熱向量 (One-Hot Vector), 也就是除了標(biāo)識(shí)實(shí)體序號(hào)維度上的值為1, 向量其他維度的值都為0。這種獨(dú)熱表示方法具有不可忽視的缺點(diǎn): 一方面其數(shù)據(jù)具有稀疏性, 使得神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)的收斂速度變慢,提高了計(jì)算代價(jià); 另一方面, 無(wú)法基于這種向量表示來(lái)直接比較實(shí)體之間的相似程度, 因?yàn)槿我鈨蓚€(gè)不同實(shí)體向量之間的點(diǎn)積都為0。為了彌補(bǔ)這些缺點(diǎn),研究者們通常使用嵌入(Embedding), 一類(lèi)低維稠密向量來(lái)表示實(shí)體, 這能夠在降低計(jì)算代價(jià)的同時(shí)提升向量的表達(dá)能力。

        本文使用R-GCN[27], 一類(lèi)圖卷積神經(jīng)網(wǎng)絡(luò)模型來(lái)對(duì)知識(shí)圖譜中的結(jié)構(gòu)信息進(jìn)行編碼, 得到節(jié)點(diǎn)的低維稠密向量表示。編碼時(shí)的圖結(jié)構(gòu)來(lái)源于DBpedia[26]知識(shí)庫(kù), 整個(gè)圖結(jié)構(gòu)G 是三元組( eh, r , et)的集合, 其中 eh,et?E , 分別表示頭節(jié)點(diǎn)和尾節(jié)點(diǎn)對(duì)應(yīng)的實(shí)體, r?R 表示節(jié)點(diǎn)之間的關(guān)系, 其中E 和R 分別表示知識(shí)圖譜中的實(shí)體集和關(guān)系集。根據(jù)圖結(jié)構(gòu)的信息, 可以訓(xùn)練實(shí)體向量所構(gòu)成的參數(shù)矩陣。

        形式化地,初始化一個(gè)可訓(xùn)練的參數(shù)矩陣N(0)?R|E|×d(0)作為R-GCN 的輸入。隨后對(duì)第l 層的節(jié)點(diǎn)e,使用如下式(1)來(lái)更新各節(jié)點(diǎn)表示:

        4.2 融合多對(duì)話(huà)信息建模

        獲得實(shí)體的向量表示之后, 下一步是從用戶(hù)的自然語(yǔ)言表達(dá)中提取必要的物品和非物品實(shí)體, 并融合歷史對(duì)話(huà)數(shù)據(jù)與目標(biāo)對(duì)話(huà)數(shù)據(jù), 供后續(xù)對(duì)用戶(hù)進(jìn)行建模。

        實(shí)體可以根據(jù)其性質(zhì)分為兩類(lèi), 一類(lèi)稱(chēng)為物品,即直接推薦給用戶(hù)的實(shí)體, 例如在電影推薦場(chǎng)景中,電影本身就是物品。另一類(lèi)實(shí)體為非物品實(shí)體, 例如表1 中的粗體字詞匯“科幻片”、“克里斯托弗·諾蘭”就是非物品實(shí)體。在用戶(hù)表達(dá)中出現(xiàn)的這兩類(lèi)實(shí)體都能夠?yàn)橥扑]任務(wù)帶來(lái)有價(jià)值的信息。

        目標(biāo)對(duì)話(huà)( t)C 中出現(xiàn)的所有實(shí)體構(gòu)成上下文實(shí)體集 Ec?E ,歷史對(duì)話(huà)序列H 中出現(xiàn)的所有物品實(shí)體構(gòu)成歷史物品集 Eh?E。進(jìn)一步地,依據(jù)這些實(shí)體可以從N 中取出相應(yīng)的實(shí)體向量,構(gòu)成上下文實(shí)體矩陣Mc?R|Ec|×d和歷史物品矩陣Mh?R|Eh|×d。前者反映了用戶(hù)在目標(biāo)對(duì)話(huà)中展現(xiàn)的興趣偏好,后者則體現(xiàn)了用戶(hù)在歷史對(duì)話(huà)過(guò)程中體現(xiàn)出來(lái)的長(zhǎng)期偏好。

        為避免歷史信息的冗余對(duì)結(jié)果造成負(fù)面影響,本文使用注意力機(jī)制來(lái)甄別歷史對(duì)話(huà)數(shù)據(jù)中對(duì)當(dāng)前任務(wù)有價(jià)值的信息。根據(jù)歷史物品與上下文實(shí)體的相關(guān)性,對(duì)歷史物品矩陣Mh進(jìn)行重組。首先根據(jù)如下式(2)來(lái)計(jì)算Mh對(duì)Mc的注意力分布矩陣:

        滿(mǎn)足Ahc?R|Ec|×|Eh|。這里使用了雙線(xiàn)性模型注意力打分函數(shù)[28]來(lái)判定兩個(gè)實(shí)體向量之間的相關(guān)性,式中Wa?Rd×d為雙線(xiàn)性模型的權(quán)重矩陣。獲得注意力分布矩陣之后,可以得到重組后的歷史物品矩陣:

        Mc和Mhc分別包含了用戶(hù)在目標(biāo)與歷史對(duì)話(huà)中所展現(xiàn)出的偏好信息,它們能夠用來(lái)對(duì)用戶(hù)進(jìn)行更精細(xì)的個(gè)性化建模,從而在物品數(shù)據(jù)庫(kù)中尋找到與用戶(hù)最為匹配的推薦結(jié)果。

        4.3 用戶(hù)偏好建模與推薦

        通過(guò)將用戶(hù)表示成與實(shí)體向量相同維度的、處于同一語(yǔ)義空間的用戶(hù)向量, 能夠直接使用向量點(diǎn)積比較用戶(hù)與物品實(shí)體的相似性, 從而向用戶(hù)提供更加匹配的推薦結(jié)果。

        這啟示我們可以將Mc和Mhc從兩個(gè)矩陣線(xiàn)性地壓縮為一個(gè)d 維的向量來(lái)代表用戶(hù),由于這兩個(gè)矩陣中的向量原本就來(lái)源于表示實(shí)體向量的語(yǔ)義空間,那么經(jīng)過(guò)線(xiàn)性壓縮后得到的用戶(hù)向量,也自然而然地與該語(yǔ)義空間相匹配。

        這種具有線(xiàn)性特征的壓縮手段可以是直接對(duì)矩陣中的各向量取平均值,但是本文采用了更復(fù)雜的自注意力機(jī)制[11]來(lái)完成這一步操作。

        定義一個(gè)自注意力編碼器 S : R*×d→Rd,這是一個(gè)從矩陣到向量的映射,其中的矩陣可以由任意多個(gè)d 維向量堆疊而成。編碼器的具體形式為:

        其中, Wa1?Rda×d是可訓(xùn)練的權(quán)重矩陣,wa2?Rda是可訓(xùn)練的權(quán)重向量。由此得到的自注意力編碼器能夠?qū)⑷我舛鄠€(gè)實(shí)體向量,按照一定的自注意力權(quán)重比例線(xiàn)性組合成具備相當(dāng)表達(dá)能力的用戶(hù)向量。

        為了權(quán)衡歷史對(duì)話(huà)數(shù)據(jù)與目標(biāo)對(duì)話(huà)數(shù)據(jù)之間的重要程度,避免目標(biāo)對(duì)話(huà)中的信息被豐富的歷史對(duì)話(huà)數(shù)據(jù)所淹沒(méi),本文依據(jù)“目標(biāo)對(duì)話(huà)為主,歷史數(shù)據(jù)為輔”的原則,采用層次化自注意力編碼結(jié)構(gòu)對(duì)兩類(lèi)信息進(jìn)行編碼。

        首先對(duì)修正后的歷史物品矩陣Mhc進(jìn)行編碼,得到與歷史有關(guān)的用戶(hù)向量表示 th= S( Mhc) ?Rd,再將其與上下文實(shí)體矩陣堆疊進(jìn)一步得到用戶(hù)矩陣Mu= [ th; Mc] ?R(|Ec|+1)×d。對(duì)Mu使用自注意力編碼器編碼得到最終的用戶(hù)向量表示 tu= S( Mu) ?Rd。層次化自注意力編碼結(jié)構(gòu)的設(shè)計(jì)體現(xiàn)了對(duì)兩類(lèi)數(shù)據(jù)重要性的權(quán)衡,相當(dāng)于先驗(yàn)知識(shí)的輸入,限制了歷史信息發(fā)揮作用的空間。

        最后通過(guò)對(duì)比用戶(hù)與實(shí)體的相似性來(lái)進(jìn)行推薦。具體來(lái)說(shuō),通過(guò)向量的內(nèi)積操作來(lái)得到各實(shí)體與用戶(hù)的相關(guān)性打分,并使用歸一化函數(shù)softmax 來(lái)獲得物品實(shí)體最終出現(xiàn)的概率:

        其中的mask 操作將所有非物品實(shí)體的打分置為-∞,避免向用戶(hù)推薦非物品實(shí)體。

        4.4 用戶(hù)信息增強(qiáng)的對(duì)話(huà)生成

        本文使用Transformer[29]來(lái)完成系統(tǒng)的對(duì)話(huà)生成任務(wù)。這是一類(lèi)能夠?qū)π蛄行畔⑦M(jìn)行建模的編碼器-解碼器模型框架,其中編碼器能夠?qū)斎氲脑~向量序列進(jìn)行編碼得到序列的高維表示,然后將其輸入解碼器解碼得到輸出的詞向量序列。輸出的詞向量再經(jīng)過(guò)一層仿射變換分類(lèi)器得到單詞表上的概率分布。具體來(lái)說(shuō),令o ?Rdw表示輸出的詞向量, dw為詞向量維度,最終得到的句子中詞匯概率分布為softmax(W o + b ) ?R|V|,其中| V |為詞表大小,W ?R|V|×dw和b ?R|V|分別為權(quán)重矩陣和向量。

        為了使生成的對(duì)話(huà)與當(dāng)前推薦任務(wù)和用戶(hù)偏好更為契合,本文采用與KBRD[6]相一致的做法,將用戶(hù)向量轉(zhuǎn)化為詞匯偏置,再疊加到詞概率分布的計(jì)算公式中。形式化地講,定義映射 F:Rdw→R|V|,它能夠?qū)⒂脩?hù)向量tu轉(zhuǎn)化為詞偏置 bu=F(tu),最終的詞匯概率分布如下所示:

        至此,一個(gè)端到端的個(gè)性化對(duì)話(huà)推薦算法框架PCR 構(gòu)建完成。推薦模塊能夠綜合利用用戶(hù)的歷史對(duì)話(huà)數(shù)據(jù)和目標(biāo)對(duì)話(huà)數(shù)據(jù),通過(guò)注意力機(jī)制和層次化的編碼權(quán)衡和利用兩類(lèi)信息,完成對(duì)用戶(hù)偏好的精細(xì)建模;對(duì)話(huà)模塊能夠利用推薦模塊構(gòu)建的用戶(hù)向量表示來(lái)生成更加符合用戶(hù)偏好的回復(fù)信息。

        5 實(shí)驗(yàn)

        這一部分將詳細(xì)介紹與實(shí)驗(yàn)相關(guān)的細(xì)節(jié), 包括數(shù)據(jù)集的選用、不同任務(wù)評(píng)測(cè)指標(biāo)的確定、系統(tǒng)實(shí)現(xiàn)的具體設(shè)定、所采用的基線(xiàn)模型類(lèi)別, 以及對(duì)比實(shí)驗(yàn)的結(jié)果。

        5.1 數(shù)據(jù)集

        本文使用數(shù)據(jù)集ReDial[5]來(lái)對(duì)模型進(jìn)行訓(xùn)練和評(píng)測(cè), 這是一個(gè)電影推薦場(chǎng)景下的對(duì)話(huà)推薦數(shù)據(jù)集,標(biāo)注者們?cè)谝欢ǖ闹笇?dǎo)下進(jìn)行以電影推薦為主題的對(duì)話(huà), 從而生成相應(yīng)的數(shù)據(jù)。經(jīng)過(guò)預(yù)處理后, 數(shù)據(jù)集總共有10347 個(gè)對(duì)話(huà), 每個(gè)對(duì)話(huà)都有相應(yīng)的電影尋求者和推薦者, 這些對(duì)話(huà)分別屬于738 位電影尋求者, 其中90%以上的尋求者都有5個(gè)及以上的對(duì)話(huà)記錄, 為完成個(gè)性化對(duì)話(huà)推薦任務(wù)提供了數(shù)據(jù)基礎(chǔ)。

        為了緩解推薦中可能遇到的冷啟動(dòng)問(wèn)題, 并為模型構(gòu)建可靠的實(shí)體向量表示, 本文使用外部知識(shí)庫(kù)DBpedia[26]來(lái)構(gòu)建模型所需的圖結(jié)構(gòu)。在完成對(duì)話(huà)數(shù)據(jù)集到知識(shí)庫(kù)的實(shí)體鏈接任務(wù)后, 共計(jì)得到64362個(gè)實(shí)體, 其中的電影實(shí)體有6924 個(gè)。

        5.2 評(píng)測(cè)指標(biāo)

        本文采用不同的指標(biāo)來(lái)分別對(duì)推薦任務(wù)和對(duì)話(huà)任務(wù)進(jìn)行評(píng)測(cè)。對(duì)于推薦任務(wù), 使用 Hit@K、MRR@K、NDCG@K 來(lái)評(píng)價(jià)系統(tǒng)的表現(xiàn), 分別反映了推薦結(jié)果的命中準(zhǔn)確度和排序準(zhǔn)確度。對(duì)于對(duì)話(huà)任務(wù), 使用BLEU[30]指標(biāo)來(lái)評(píng)價(jià)生成的對(duì)話(huà)文本與目標(biāo)的相似性, 使用Distinct[31]指標(biāo)來(lái)衡量生成結(jié)果的多樣性, 以避免生成信息量不大、各處適用的文本。

        5.3 實(shí)驗(yàn)設(shè)定

        本文使用CRSLab[8]框架來(lái)實(shí)現(xiàn)模型, 這是一個(gè)基于PyTorch 實(shí)現(xiàn)的, 用于構(gòu)建對(duì)話(huà)推薦系統(tǒng)的開(kāi)源工具包, 其提供了易于使用的數(shù)據(jù)接口和大規(guī)模的標(biāo)準(zhǔn)評(píng)測(cè)機(jī)制, 便于對(duì)模型進(jìn)行全方位的評(píng)測(cè)。

        在推薦模塊, 將實(shí)體向量和用戶(hù)向量的維度設(shè)置為128 維, R-GCN 模塊的層數(shù)設(shè)置為1, 歸一化因子Ze,r設(shè)定為|r|eE 。訓(xùn)練時(shí)的批處理大小設(shè)置為2048, 使用Adam[30]優(yōu)化器進(jìn)行優(yōu)化, 學(xué)習(xí)率定為0.003。

        在對(duì)話(huà)模塊, 將詞向量的維度定為300 維, 其Transformer 模塊編碼器、解碼器設(shè)置為2 頭自注意力, 層數(shù)為2。從用戶(hù)向量轉(zhuǎn)化為詞偏置的映射F 定義為一個(gè)兩層的前饋神經(jīng)網(wǎng)絡(luò), 其中間層的大小為512 維。訓(xùn)練時(shí)的批處理大小為32, 同樣使用Adam優(yōu)化器進(jìn)行優(yōu)化, 學(xué)習(xí)率設(shè)定為0.001。

        5.4 對(duì)比實(shí)驗(yàn)結(jié)果

        由于本文主要關(guān)注對(duì)話(huà)推薦系統(tǒng)中的推薦模塊,故選用如下四個(gè)模型作為基線(xiàn)模型進(jìn)行比較, 來(lái)驗(yàn)證PCR 模型在推薦任務(wù)上的高效性。

        (1) Popularity: 將物品在數(shù)據(jù)集中出現(xiàn)的次數(shù)視為其受歡迎程度, 根據(jù)物品的受歡迎程度向用戶(hù)進(jìn)行推薦。

        (2) AutoRec[31]: 基于自編碼器的協(xié)同過(guò)濾方法。

        (3) TextCNN[32]: 使用基于CNN 的模型抽取文本特征來(lái)構(gòu)建用戶(hù)向量表示。

        (4) KBRD[6]: 一個(gè)端到端的對(duì)話(huà)推薦算法模型,其推薦模塊結(jié)構(gòu)如圖1 右側(cè)所示, 它在構(gòu)建用戶(hù)向量時(shí)只使用了上下文實(shí)體進(jìn)行預(yù)測(cè)。而本文的方法則考慮了歷史對(duì)話(huà)中與用戶(hù)發(fā)生交互的物品。

        其中Popularity、AutoRec 和TextCNN 為推薦模型, 而KBRD 同時(shí)具備處理推薦和對(duì)話(huà)任務(wù)的能力。

        下面將列出實(shí)驗(yàn)結(jié)果, 包括在推薦任務(wù)和對(duì)話(huà)任務(wù)中, 本文的方法與基線(xiàn)模型效果的比較。

        在推薦任務(wù)上的實(shí)驗(yàn)結(jié)果如表2 所示, 本文使用Hit@50、MRR@50、NDCG@50 三個(gè)指標(biāo)來(lái)評(píng)價(jià)模型的推薦結(jié)果, 第一個(gè)指標(biāo)反映推薦結(jié)果的命中程度, 后兩個(gè)指標(biāo)反映推薦結(jié)果的排序精度??梢?jiàn)在三個(gè)指標(biāo)上, 本文的方法相對(duì)于基線(xiàn)模型均有所提升, 且顯著性統(tǒng)計(jì)檢驗(yàn)(t-test)結(jié)果表明, 本文工作相對(duì)于最佳基線(xiàn)模型KBRD 提升效果明顯(p-value <0.05)。

        表2 推薦任務(wù)評(píng)測(cè)Table 2 Results on recommendation task

        6 討論

        本節(jié)將對(duì)模型結(jié)構(gòu)的設(shè)計(jì)、數(shù)據(jù)集的可靠性和超參數(shù)的選取進(jìn)行討論。

        6.1 模型結(jié)構(gòu)設(shè)計(jì)

        模型的結(jié)構(gòu)實(shí)現(xiàn)中有兩處最為關(guān)鍵的設(shè)計(jì), 一是如何衡量歷史對(duì)話(huà)數(shù)據(jù)與當(dāng)前任務(wù)的關(guān)聯(lián)程度,也就是說(shuō)應(yīng)該采用什么樣的注意力打分函數(shù)來(lái)評(píng)估歷史物品的權(quán)重; 二是如何權(quán)衡歷史對(duì)話(huà)數(shù)據(jù)與目標(biāo)對(duì)話(huà)數(shù)據(jù)的重要性, 本文采用的方法是進(jìn)行層次化編碼。

        在注意力機(jī)制中,通過(guò)注意力打分函數(shù)對(duì)向量之間的匹配程度進(jìn)行打分,從而得到注意力分布權(quán)重。表3 展示了常見(jiàn)的注意力打分函數(shù),其中x 為輸入向量,q 為查詢(xún)向量,D 為向量的維度,W 為雙線(xiàn)性模型打分函數(shù)中的可訓(xùn)練權(quán)重矩陣。

        表3 常見(jiàn)的注意力打分函數(shù)Table 3 Common attention scoring functions

        本文工作中注意力打分函數(shù)的選擇并不是一個(gè)由經(jīng)驗(yàn)支配的決定, 而是由實(shí)驗(yàn)結(jié)果所指引的。為了判斷選擇何種表達(dá)式能夠更高效地提取歷史對(duì)話(huà)數(shù)據(jù)中有用的信息, 僅使用歷史物品進(jìn)行推薦結(jié)果的預(yù)測(cè)。圖2 展示了采用不同的注意力打分函數(shù)完成這一任務(wù)時(shí)所取得的評(píng)測(cè)結(jié)果??梢园l(fā)現(xiàn), 使用雙線(xiàn)性模型時(shí)所取得的結(jié)果最好。

        圖2 不同注意力打分函數(shù)的表現(xiàn)Figure 2 Performances against different attention scoring functions

        在權(quán)衡歷史和目標(biāo)對(duì)話(huà)數(shù)據(jù)的重要程度時(shí), 本文采取的原則是“目標(biāo)對(duì)話(huà)為主, 歷史數(shù)據(jù)為輔”,并設(shè)計(jì)了層次化自注意力編碼結(jié)構(gòu)對(duì)各類(lèi)信息進(jìn)行整合, 這種設(shè)計(jì)也來(lái)源于實(shí)驗(yàn)結(jié)果的指引。表4 展示了使用層次化結(jié)構(gòu)和非層次化結(jié)構(gòu)(也就是歷史物品和上下文實(shí)體直接進(jìn)行整合)兩種方法時(shí), 模型在推薦任務(wù)上的表現(xiàn)。

        表4 不同編碼結(jié)構(gòu)的表現(xiàn)Table 4 Performances against different encoding structure

        可見(jiàn)在使用層次化編碼結(jié)構(gòu)時(shí), 模型能夠更精確地權(quán)衡各類(lèi)信息之間的重要性, 從而得到更準(zhǔn)確的推薦結(jié)果。

        6.2 數(shù)據(jù)集的可靠性

        事實(shí)上, 已有的對(duì)話(huà)推薦系統(tǒng)[5-7]假設(shè)數(shù)據(jù)集中的對(duì)話(huà)數(shù)據(jù)是獨(dú)立同分布的, 而個(gè)性化對(duì)話(huà)推薦任務(wù)則要求對(duì)話(huà)數(shù)據(jù)是對(duì)于用戶(hù)的條件分布。只有滿(mǎn)足后一條件的數(shù)據(jù)集才能夠證實(shí)本文工作的有效性,否則本文實(shí)驗(yàn)結(jié)果中的效果提升可能只是一種假陽(yáng)性效應(yīng)。

        由于本文所采用的ReDial[5]數(shù)據(jù)集是由數(shù)據(jù)標(biāo)注平臺(tái)的工人生成的數(shù)據(jù), 而非普通用戶(hù)在不受干預(yù)的日常生活環(huán)境下生成的數(shù)據(jù), 因此, 對(duì)話(huà)中的信息是否真實(shí)地反映了用戶(hù)內(nèi)在的興趣偏好是值得懷疑的。本文設(shè)計(jì)了一個(gè)實(shí)驗(yàn)來(lái)驗(yàn)證ReDial 數(shù)據(jù)集中的數(shù)據(jù)滿(mǎn)足對(duì)于用戶(hù)的條件分布。

        實(shí)驗(yàn)中, 僅使用歷史對(duì)話(huà)數(shù)據(jù)來(lái)預(yù)測(cè)用戶(hù)可能喜歡的影片。在對(duì)照組中, 保持歷史對(duì)話(huà)數(shù)據(jù)不變,完全打亂它們對(duì)應(yīng)的目標(biāo)對(duì)話(huà), 再進(jìn)行預(yù)測(cè)。如果對(duì)話(huà)數(shù)據(jù)符合獨(dú)立同分布的假設(shè), 則對(duì)照組相對(duì)于實(shí)驗(yàn)組的結(jié)果不會(huì)有明顯的差別; 如果對(duì)話(huà)數(shù)據(jù)符合對(duì)用戶(hù)的條件分布, 則對(duì)照組的結(jié)果相對(duì)于實(shí)驗(yàn)組應(yīng)該有明顯的下降, 這是因?yàn)闅v史對(duì)話(huà)數(shù)據(jù)與目標(biāo)對(duì)話(huà)數(shù)據(jù)所屬的用戶(hù)不一致。

        驗(yàn)證實(shí)驗(yàn)的結(jié)果如表5 所示。對(duì)照組的結(jié)果相對(duì)于實(shí)驗(yàn)組發(fā)生了明顯的下降, 因此數(shù)據(jù)集可以用于個(gè)性化對(duì)話(huà)推薦任務(wù)。實(shí)驗(yàn)也間接地驗(yàn)證了本文方法在基于多對(duì)話(huà)進(jìn)行用戶(hù)建模時(shí)的有效性。

        表5 數(shù)據(jù)集可靠性驗(yàn)證結(jié)果Table 5 Verification results of dataset reliability

        6.3 歷史對(duì)話(huà)數(shù)量選取

        在實(shí)際應(yīng)用場(chǎng)景中, 由于用戶(hù)的歷史對(duì)話(huà)數(shù)量可能非常多, 無(wú)法將所有的數(shù)據(jù)都加以利用。因此,只能選取一定數(shù)量以?xún)?nèi)的歷史對(duì)話(huà)進(jìn)行利用。

        歷史對(duì)話(huà)數(shù)量太少可能導(dǎo)致相關(guān)信息匱乏, 數(shù)量過(guò)多會(huì)增加系統(tǒng)的計(jì)算負(fù)擔(dān), 甚至可能帶來(lái)一定的噪音影響。為了確定實(shí)驗(yàn)所選用的歷史對(duì)話(huà)數(shù)量,需要將其作為變量對(duì)系統(tǒng)進(jìn)行測(cè)試, 尋找合適的拐點(diǎn)值作為本文實(shí)驗(yàn)所采用的值。

        圖3 展示了ReDial 數(shù)據(jù)集中用戶(hù)的對(duì)話(huà)數(shù)量分布, 展現(xiàn)出明顯的長(zhǎng)尾效應(yīng), 大多數(shù)用戶(hù)的對(duì)話(huà)數(shù)量都在50 以?xún)?nèi), 個(gè)別用戶(hù)的對(duì)話(huà)數(shù)量超過(guò)了100 個(gè)。基于該統(tǒng)計(jì)結(jié)果, 設(shè)置歷史對(duì)話(huà)數(shù)量從5~100, 間隔為5, 實(shí)驗(yàn)測(cè)試不同歷史對(duì)話(huà)數(shù)對(duì)系統(tǒng)推薦結(jié)果的影響。為了避免目標(biāo)對(duì)話(huà)信息造成影響, 僅使用歷史對(duì)話(huà)數(shù)據(jù)進(jìn)行預(yù)測(cè), 結(jié)果如圖4 所示。

        圖3 用戶(hù)的對(duì)話(huà)數(shù)量分布Figure 3 Distribution of user conversation numbers

        圖4 歷史對(duì)話(huà)數(shù)對(duì)推薦結(jié)果的影響Figure 4 Performances against different historical conversation numbers

        歷史對(duì)話(huà)數(shù)小于40 時(shí), 推薦任務(wù)評(píng)測(cè)指標(biāo)與歷史對(duì)話(huà)數(shù)呈現(xiàn)正相關(guān)關(guān)系; 在歷史對(duì)話(huà)數(shù)超過(guò)40 之后, 推薦任務(wù)評(píng)測(cè)指標(biāo)呈現(xiàn)不穩(wěn)定的波動(dòng)狀態(tài)。前半部分的結(jié)果是符合直覺(jué)的, 當(dāng)歷史對(duì)話(huà)數(shù)量越多,能夠被利用的歷史信息越充足, 對(duì)推薦結(jié)果的提升作用也越明顯。繼續(xù)增加歷史對(duì)話(huà)數(shù), 信息在變得充足的同時(shí)也變得冗余, 甚至引入噪音, 導(dǎo)致推薦結(jié)果的準(zhǔn)確度在一定范圍內(nèi)波動(dòng)。據(jù)此, 本文的實(shí)驗(yàn)選取歷史對(duì)話(huà)數(shù)量為40。

        7 總結(jié)

        本文提出了一個(gè)面向用戶(hù)偏好建模的個(gè)性化對(duì)話(huà)推薦算法框架PCR, 它能夠甄別用戶(hù)歷史對(duì)話(huà)數(shù)據(jù)中有價(jià)值的信息, 通過(guò)層次化的自注意力編碼結(jié)構(gòu)得到用戶(hù)向量表示, 從而完成對(duì)候選物品的排序與推薦。實(shí)驗(yàn)結(jié)果表明, 本文方法得到的結(jié)果在推薦任務(wù)和對(duì)話(huà)任務(wù)上相對(duì)于基線(xiàn)模型均有所提升。

        接下來(lái)的工作中, 可以進(jìn)一步從歷史對(duì)話(huà)數(shù)據(jù)中挖掘與用戶(hù)偏好相關(guān)的信息, 例如利用更普遍和豐富的文本信息對(duì)用戶(hù)進(jìn)行建模; 同時(shí)引入更豐富的外部信息, 緩解冷啟動(dòng)問(wèn)題, 并為用戶(hù)提供更具多樣性的推薦結(jié)果。

        猜你喜歡
        歷史用戶(hù)信息
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        關(guān)注用戶(hù)
        新歷史
        全體育(2016年4期)2016-11-02 18:57:28
        關(guān)注用戶(hù)
        關(guān)注用戶(hù)
        歷史上的6月
        歷史上的八個(gè)月
        歷史上的4月
        如何獲取一億海外用戶(hù)
        展會(huì)信息
        亚洲伊人av综合福利| 国产高潮国产高潮久久久| 黑人玩弄极品人妻系列视频| 精品露脸国产偷人在视频| 女人扒开屁股爽桶30分钟| 欧美日韩性视频| 日韩久久免费精品视频| 久久精品国产亚洲av四叶草| 伊人中文字幕亚洲精品乱码| 天天鲁在视频在线观看| 提供最新的在線欧美综合一区| 一片内射视频在线观看| 亚洲情精品中文字幕99在线| 蜜桃成熟时在线观看免费视频| 最近在线更新8中文字幕免费 | 久久天天躁狠狠躁夜夜96流白浆| 久久久亚洲精品午夜福利| 一区二区三区亚洲免费| 亚洲va视频一区二区三区| 国产又粗又黄又爽的大片| 亚洲AV成人无码久久精品老人| 蜜桃视频免费在线视频| 亚洲综合自拍偷拍一区| 亚洲av永久无码精品古装片| 免费观看黄网站| 亚洲中文一本无码AV在线无码| 国产成人精品久久二区二区91| 人妻精品视频一区二区三区| 中文字幕被公侵犯的漂亮人妻| jjzz日本护士| 亚洲一区亚洲二区中文字幕| 亚洲欧洲av综合色无码| 午夜理论片yy44880影院| 最新国产日韩AV线| 亚洲视频在线视频在线视频| 女优av一区二区三区| 伊人久久五月丁香综合中文亚洲| 色综合88| 一区二区三区在线观看视频| 18禁免费无码无遮挡不卡网站| 日日噜噜夜夜爽爽|