99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀情境大數(shù)據(jù)建模及其在用戶行為預(yù)測中的應(yīng)用
情境大數(shù)據(jù)建模及其在用戶行為預(yù)測中的應(yīng)用
2017-02-21
收藏

情境大數(shù)據(jù)建模及其在用戶行為預(yù)測中的應(yīng)用

隨著信息技術(shù)的快速發(fā)展,人類社會進(jìn)入了全面的信息化時代。伴隨著大量網(wǎng)絡(luò)應(yīng)用的出現(xiàn),人們的生活方式發(fā)生了改變,越來越多的時間被投入在信息平臺上,如個人電腦、智能手機(jī)、平板電腦、智能電視等,同時人們的行為方式和習(xí)慣也很大程度上被傳感器、智能監(jiān)控等設(shè)備收集。隨著平臺系統(tǒng)收集信息的能力不斷增強(qiáng),大數(shù)據(jù)時代正在到來。

信息系統(tǒng)中收集了用戶主動或者被動留下的大量行為數(shù)據(jù),同時也收集了大量與用戶行為相關(guān)的海量情境信息,如社交媒體上的輿情信息、自然環(huán)境信息(天氣、空氣、溫度等)、生產(chǎn)經(jīng)濟(jì)信息(GDP、生產(chǎn)價格指數(shù)、CPI、證券)等數(shù)據(jù)。

在大數(shù)據(jù)時代的用戶分析應(yīng)用中,越來越多的情景信息能夠提供豐富的用戶行為細(xì)節(jié),更細(xì)致更全面地刻畫行為發(fā)生的背景,有效地輔助用戶行為建模。從另一個角度來看,大規(guī)模情境建模是一種處理大數(shù)據(jù)的趨勢,它將關(guān)聯(lián)的大數(shù)據(jù)直接轉(zhuǎn)換為特定目標(biāo)任務(wù)所處環(huán)境的復(fù)雜情境信息,其作用也越來越重要。

在大數(shù)據(jù)場景下,當(dāng)傳統(tǒng)行為數(shù)據(jù)收集極為充分之后,進(jìn)一步收集行為數(shù)據(jù)在當(dāng)前的模型框架下可能無法帶來預(yù)測性能的大幅度提升。因為當(dāng)前模型建模的假設(shè)大多是針對用戶和對象本身,而忽略外在情境因素對用戶和對象的影響,更多的用戶行為數(shù)據(jù)也不能擬合出更好的模型參數(shù)進(jìn)而得到更好的算法效果。

此時,引入豐富的情境大數(shù)據(jù),進(jìn)一步揭示行為發(fā)生的機(jī)制則更為重要。目前數(shù)據(jù)分析領(lǐng)域已經(jīng)開始重視情境建模,越來越廣泛的研究領(lǐng)域在具體任務(wù)建模上引入情境大數(shù)據(jù),大幅度提升了預(yù)測任務(wù)的性能。谷歌趨勢(Google Trend)將搜索引擎的檢索數(shù)據(jù)引入流感傳播的建模過程中[1]。它曾經(jīng)構(gòu)建了一套流感預(yù)測的系統(tǒng),通過搜索引擎的檢索數(shù)據(jù)來預(yù)估各個時間點流感的狀況,在存在外部突發(fā)事件時,這套系統(tǒng)的預(yù)測結(jié)果會因為外部某個事件的刺激而遠(yuǎn)遠(yuǎn)偏離真實。

后期回到利用疾控中心數(shù)據(jù)進(jìn)行預(yù)測上,將外部的用戶檢索數(shù)據(jù)作為情境信息,獲得了更加準(zhǔn)確穩(wěn)定的結(jié)果。金融領(lǐng)域也利用經(jīng)濟(jì)和社會輿論等情境大數(shù)據(jù)來輔助建模股價、債券走勢的預(yù)測,例如美國斯坦福大學(xué)和谷歌研究人員訓(xùn)練了一個長短期記憶網(wǎng)絡(luò)(long-short term memory network,LSTM)模型來預(yù)測標(biāo)準(zhǔn)普爾500指數(shù)的走勢[2]。

該模型結(jié)合了反映公眾情緒和宏觀經(jīng)濟(jì)的谷歌趨勢情境大數(shù)據(jù),包含經(jīng)濟(jì)類關(guān)鍵詞檢索結(jié)果,獲得了遠(yuǎn)超傳統(tǒng)模型的預(yù)測效果。

在信息檢索和數(shù)據(jù)挖掘領(lǐng)域的用戶行為預(yù)測場景中,情境大數(shù)據(jù)也非常豐富,其中用戶行為常常隨著這些情境信息的變化而發(fā)生改變。例如,當(dāng)一個用戶與小孩在一起時,他可能會傾向于看動畫片;當(dāng)與愛人在一起時,他可能會傾向于看浪漫電影。

將情境大數(shù)據(jù)因素納入模型構(gòu)建,能夠細(xì)致地刻畫出用戶行為的場景,間接反映出產(chǎn)生用戶行為的原因,顯著提升行為預(yù)測的效果。目前,研究工作主要針對特定的情景信息進(jìn)行建模,并應(yīng)用到特定的任務(wù)中。例如分析社交媒體上的用戶行為,參考文獻(xiàn)[3]提出一種結(jié)合當(dāng)前情境下輿情的主題模型,主要運用到與用戶興趣主題相關(guān)的領(lǐng)域。

本文主要從兩個角度描述情境大數(shù)據(jù)的建模及其在用戶行為預(yù)測中的應(yīng)用。首先,闡述了兩種使用表達(dá)學(xué)習(xí)策略建模一般化情境信息的框架,介紹了情境操作張量建模策略[4,5],同時解釋如何將分層表達(dá)框架[6]應(yīng)用在一般化的情境建模場景中。然后,針對情境大數(shù)據(jù)中最常見、最重要的時序情境建模問題,介紹基于循環(huán)神經(jīng)網(wǎng)絡(luò)建模的框架,該框架可用到時序情境建模[7]中,也可用在復(fù)雜時序行為建模[8]上。

2 基于表達(dá)學(xué)習(xí)的情境建??蚣?

在情境信息下預(yù)測用戶行為最常用的是基于矩陣分解的方法,如張量分解(tensor factorization,TF)[9]和因子分解機(jī)(factorization machine,F(xiàn)M)[10],它假設(shè)把一種特定的情境信息當(dāng)作用戶對象之外的另一種實體,并將這種情境信息轉(zhuǎn)化為單獨的一個維度,與傳統(tǒng)方法中用戶對象實體的維度一起進(jìn)行分解。這類方法僅僅建模了實體和情境信息間的相似度,但這種相似度往往不是很合理。比如,一個用戶與工作日這個情境要比與周末這個情境的距離近,同時這類方法難以把握實體和情境交互后的共同潛在特性。

一些基于多領(lǐng)域關(guān)系預(yù)測的模型[11]也可以被用來進(jìn)行情境感知,它們使用轉(zhuǎn)換矩陣將實體潛在向量從一種情境映射至另一種情境環(huán)境下。但是這類方法需要為一個特定的情境信息提供一個轉(zhuǎn)換矩陣,在處理情境大數(shù)據(jù)時會遇到擴(kuò)展上的困難。

針對傳統(tǒng)模型假設(shè)不合理和擴(kuò)展不足的缺陷,筆者認(rèn)為實體和情境之間的關(guān)系可以使用向量來描述,而不再使用單一的值來表達(dá)。

這種建模方式能夠解決傳統(tǒng)框架下的假設(shè)局限性,同時利用模型的擴(kuò)展性可對情境大數(shù)據(jù)進(jìn)行建模。本節(jié)將介紹兩類最新的基于表達(dá)學(xué)習(xí)的情境建??蚣埽旱谝粋€框架通過建模情境信息對用戶對象實體的操作,得到實體在當(dāng)前情境下的表達(dá);第二個框架構(gòu)建實體和情境信息的層次表達(dá),將它們的交互建模到統(tǒng)一模型中。

2.1 情境信息的表達(dá)

傳統(tǒng)神經(jīng)網(wǎng)絡(luò)語言模型將詞表達(dá)為連續(xù)的語義向量,稱之為詞嵌入。類似地,也將情境信息轉(zhuǎn)換為向量來表達(dá)。同時真實場景中有大量不同類型值的情境信息,如類屬型、類屬集型和數(shù)值型,筆者為它們設(shè)計了相應(yīng)的轉(zhuǎn)換策略。

如類屬型的情境信息,為每一個特定的情境值學(xué)習(xí)一個表達(dá);對于類屬集型的情境信息,計算出所有元素的平均值作為其表達(dá);對于數(shù)值型的情境信息,就為這個情境學(xué)習(xí)一個表達(dá),任意一個對應(yīng)的情境值都可以通過乘積操作而得到。

有了這3種類型情境信息的向量表達(dá),很多其他類型的情境信息都可以轉(zhuǎn)換為它們的一種,從而得到最終的表達(dá)。當(dāng)用戶項目交互中,不同類型值的情境值都被轉(zhuǎn)換為連續(xù)值的情境向量之后,需要將交互中的一類情境向量使用加權(quán)的方式計算為單一向量,這種向量描述的是當(dāng)前交互環(huán)境中某一類情境信息整體的表達(dá)。

2.2 情境操作張量建模框架

受自然語言領(lǐng)域研究的啟發(fā),提出一種情境建模方法,稱之為情境操作張量(contextual operation tensor,COT)[4, 5],情景操作張量建模框架如圖1所示。在自然語言處理的語義分析研究中,名詞語義常常被表達(dá)為向量,形容詞被描述為名詞上的操作語義,由操作矩陣來表達(dá)這種屬性。

比如“優(yōu)質(zhì)產(chǎn)品”中的名詞“產(chǎn)品”被表達(dá)為潛在向量,形容詞“優(yōu)質(zhì)”被表達(dá)為矩陣,“優(yōu)質(zhì)產(chǎn)品”的聯(lián)合表達(dá)就是矩陣和向量相乘得到的向量表達(dá)。假設(shè)在用戶行為預(yù)測中的情境信息具有類似形容詞的這種操作屬性,能夠操作實體的潛在屬性,使得情境下的實體新屬性不僅能體現(xiàn)出其原始屬性,也能反映出在特定情境下實體表達(dá)上的改變。比如一個用戶因為和小孩在一起,這個陪伴的情境信息就改變了用戶當(dāng)下的屬性,使其樂意去看動畫片。

不同于傳統(tǒng)模型中用戶和對象都有其固定的不隨著情境信息而改變的潛在向量表達(dá),為了描述這種隨情境變化的用戶和對象的潛在屬性,為用戶和對象提供了特定情境下的潛在表達(dá)。同時將情境信息的潛在語義描述為操作矩陣,它說明對應(yīng)情境信息有著改變用戶對象等實體潛在屬性的能力。

因為不同的情境信息常常具有類似的語義,即在對實體屬性操作上非常類似,比如人們周末或者在家都會想看小說而非專業(yè)書籍。因此通過多個基本的操作矩陣生成情境操作矩陣,這些基本的操作矩陣稱為情境操作張量,它們描述的是一些共同的情境語義操作。每個特定情境下的操作矩陣,都可以由它們而產(chǎn)生。因為使用了共有的情境操作張量,這種方式能夠有效地減少模型需要擬合參數(shù)的數(shù)量。

2.3 分層表達(dá)情境建??蚣?

在獲取實體和情境表達(dá)后,除了將情境信息轉(zhuǎn)換為情境操作矩陣直接作用在實體表達(dá)上,也在探索是否有更具擴(kuò)展性的方式,建模更廣泛的情境信息。因此,提出了分層交互表達(dá)(hierarchical interaction representation, HIR)模型[6],將實體之間或者實體和情境之間的交互建模成一個共同的表達(dá),使用一種分層交互表達(dá)來描述這種交互,如圖2所示。

當(dāng)每種實體和情境信息都使用向量進(jìn)行表達(dá)時,除了待交互的實體和情境表達(dá)之外,使用一個三階張量來獲取它們之間的高階交互。HIR構(gòu)建了交互的向量表達(dá),利用張量乘法生成兩個實體或者實體和情境的共同表達(dá),然后將這個過程迭代進(jìn)行,以得到所有實體和情境的最終分層交互表達(dá)。

HIR具有很好的擴(kuò)展性,在獲得了兩個實體或者實體和情境的聯(lián)合表達(dá)之后,可以在框架下建模更多實體和情境的交互。這樣的循環(huán)操作可以獲取所有實體和情境交互作用下的最終表達(dá),這種層次化構(gòu)建方式得到的交互表達(dá),稱之為層次化交互表達(dá)。

在獲得了最終的層次交互表達(dá)之后,可以在其后增加多個隱含層,以挖掘交互的深層隱藏特性,從而進(jìn)一步增強(qiáng)實體和情境層次交互的表達(dá)能力。不同應(yīng)用中的不同任務(wù)都可以基于隱含層的最終表達(dá)而構(gòu)建,根據(jù)應(yīng)用場景運用多種機(jī)器學(xué)習(xí)方法實現(xiàn)預(yù)測。在普通推薦、上下文推薦、協(xié)同檢索、廣告點擊預(yù)測等多個場景進(jìn)行了實驗,實驗效果均超過了之前相關(guān)領(lǐng)域的最好方法。

3 基于循環(huán)神經(jīng)網(wǎng)絡(luò)的時序情境建模

情境大數(shù)據(jù)中的時序情境信息描述的是事件發(fā)生最基本的因素,是實際應(yīng)用系統(tǒng)中建模用戶行為的基礎(chǔ),也是最廣泛存在的情境信息。較之特定領(lǐng)域的情境信息,時序情境建模更為根本和重要。這類時序情境建模方法具有一般性,可以被引入其他包含時序情境的特定應(yīng)用領(lǐng)域,例如預(yù)測用戶簽到數(shù)據(jù),也可以預(yù)測交通堵塞或恐怖組織的攻擊行為等。本節(jié)將針對時序情境建模展開介紹。

傳統(tǒng)的時序情境建模問題受到了廣泛的關(guān)注,很多研究者開展了一系列研究,相關(guān)方法主要包括因子分解方法[9]和基于馬爾科夫鏈[12]的方法。張量因子分解模型將時間當(dāng)作實體外新的維度,并通過分解得到用戶、對象和時間箱體等潛在向量。

這類方法在預(yù)測那些從來沒有或很少出現(xiàn)在訓(xùn)練數(shù)據(jù)的時間箱體時,會面臨冷啟動問題。另一方面,基于馬爾科夫鏈的方法已成為最受歡迎的時序預(yù)測方法,如個性化因子分解馬爾可夫鏈(factorizing personalized markov chain,F(xiàn)PMC)[12]等。該類基于馬爾可夫鏈的方法都基于馬爾可夫假設(shè),只能建模局部序列行為,即相鄰行為之間的關(guān)系,但序列行為之間常常有著更復(fù)雜的關(guān)系,需要獲取序列高層階的交互關(guān)系,由行為的全局序列特征來做用戶行為的預(yù)測。

最近循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)不僅成功應(yīng)用于自然語言處理領(lǐng)域中的詞嵌入(word embedding)[13], 同時也被應(yīng)用到信息檢索領(lǐng)域建模順序點擊預(yù)測行為[14]。

循環(huán)神經(jīng)網(wǎng)絡(luò)由輸入層、輸出層和多個隱藏層組成,其中隱藏層的表示能夠動態(tài)地隨著行為歷史而變化,適合用來建模序列信息。然而,該模型只能考慮行為之間的順序關(guān)系,而忽略行為之間的時間間隔信息,這使其在建模具有連續(xù)值的時間信息時常遇到困難,而這些具有連續(xù)值的時序情境對用戶行為的建模往往非常重要。

3.1 時空情境一體化建模

空間和時間描述的是事件的基本因素,即什么時間和什么地點,它們是實際應(yīng)用中建模用戶行為的基礎(chǔ)。這些具有連續(xù)值的空間和時間情境,對于揭示用戶當(dāng)下的屬性有決定性作用,在行為建模上的作用非常重要。因為空間信息的屬性非常類似時間信息,將在同一個框架下為它們建模。構(gòu)建基于RNN的方法建模具有連續(xù)值的時空序列信息,稱之為時空循環(huán)神經(jīng)網(wǎng)絡(luò)(spatial temporal recurrent neural network,ST-RNN)[7]。

時空一體化建??蚣苋鐖D3所示。傳統(tǒng)RNN中每層只考慮一個元素作為輸入, ST-RNN將時空序列情境納入考量,將一個固定時間段內(nèi)的行為作為一層的輸入來建模局部時序信息。同時ST-RNN利用循環(huán)結(jié)構(gòu)捕獲時序情境信息的周期屬性。

另一方面,很難給所有的具有連續(xù)值的時空信息擬合出對應(yīng)的轉(zhuǎn)換矩陣,將空間和時間切分為離散的區(qū)間。對于某個離散區(qū)間中的一個特定時間點,依靠其上界和下界對應(yīng)的轉(zhuǎn)換矩陣通過線性插值的方式來計算其所對應(yīng)的轉(zhuǎn)換矩陣,這樣ST-RNN就能夠使用轉(zhuǎn)換矩陣來表征具有連續(xù)值的動態(tài)時序信息。類似地,對于一個具有連續(xù)值的特定空間信息,也可以通過同樣方法生成其轉(zhuǎn)換矩陣。


圖3 時空一體化建??蚣?

3.2 復(fù)雜時序情境建模

除了上述的傳統(tǒng)時序情境場景外,在現(xiàn)實世界中時序情境往往更為復(fù)雜,例如客戶常常在同一時刻一次性購買一籃子物品。如何對這種復(fù)雜時序情境建模以有效預(yù)測用戶一籃子購買行為?上述時空情境一體化建模的方法只能實現(xiàn)簡單時序場景下用戶行為的建模,不能很好地把握單次購買行為中多種物品之間復(fù)雜的關(guān)聯(lián)關(guān)系。

為了挖掘復(fù)雜時序場景中全局序列特征,并揭示用戶興趣的動態(tài)變化,依然將循環(huán)神經(jīng)網(wǎng)絡(luò)作為建??蚣芤脒@項工作[8]。雖然循環(huán)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)可以捕獲所有籃子上用戶的全局時序特征,但為了有效建模每次行為內(nèi)部的復(fù)雜情境,將卷積神經(jīng)網(wǎng)絡(luò)中的池化操作用于建?;@子本身,提出了動態(tài)循環(huán)神經(jīng)網(wǎng)絡(luò)籃子模型。

它的輸入實例是由一個特定用戶的交易行為組成,每次交易行為由多個對象組成。引入的卷積神經(jīng)網(wǎng)絡(luò)中的池化操作能用來獲取這些對象整體的表達(dá),能提取出復(fù)雜行為對象包含的關(guān)鍵特征信息。筆者使用了最大池化和平均池化兩種操作,分別提取所有對象在對應(yīng)維度上最大值和平均值作為對象整體表達(dá)的維度值,復(fù)雜情境建模框架如圖4所示。

在獲得了對象整體表達(dá)之后,它將作為輸入被放進(jìn)循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,然后和輸入矩陣進(jìn)行操作,并與用戶之前的隱含狀態(tài)一起得到下一個狀態(tài)的用戶表達(dá)。每個用戶的動態(tài)表示描述用戶屬性隨著時間推移和與不同籃子進(jìn)行交互之后潛在屬性的變化。池化操作能獲得復(fù)雜時序行為上最重要的語義屬性,同時循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)可以從所有用戶整體歷史交易數(shù)據(jù)上,獲得用戶全局序列行為特征。這個框架能取得比傳統(tǒng)RNN和基于馬爾可夫方法更好的實驗效果。

4 結(jié)束語

本文介紹了使用表達(dá)學(xué)習(xí)策略建模一般化的情境信息,情境操作張量模型將情境信息看作操作語義,能改變實體在當(dāng)下情境下的向量表達(dá)。分層表達(dá)模型使用層次模型來建模實體和情境的交互,獲得聯(lián)合表達(dá)。然后,針對最常見的時序情境,介紹如何使用循環(huán)神經(jīng)網(wǎng)絡(luò)來建模這類信息,并獲得當(dāng)前時序情境建模最好的實驗效果。

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時表示是新驗證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }