張藝璇 郭 斌 劉佳琪 歐陽(yáng)逸 於志文
(西北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 西安 710029)
隨著智能手機(jī)的普及,數(shù)以萬(wàn)計(jì)的移動(dòng)app在應(yīng)用市場(chǎng)中發(fā)布并服務(wù)于人們生活中的多個(gè)方面,例如社交通信、在線購(gòu)物和日常娛樂等.有數(shù)據(jù)顯示,截至2018年8月,Google Play可供用戶下載的app多達(dá)280萬(wàn)款[1].而受手機(jī)內(nèi)存和使用習(xí)慣的限制,每個(gè)用戶在手機(jī)上安裝并使用的app數(shù)量十分有限,1項(xiàng)來自雅虎團(tuán)隊(duì)的研究表明每個(gè)移動(dòng)設(shè)備平均安裝96款app[1].面對(duì)應(yīng)用市場(chǎng)中如此激烈的競(jìng)爭(zhēng)與app日趨同質(zhì)化的傾向,app開發(fā)商需要不斷提高各自產(chǎn)品的流行度和曝光率,從而吸引更多的用戶下載使用,避免產(chǎn)品被淘汰而帶來的巨大經(jīng)濟(jì)損失.所以針對(duì)app的流行度演化進(jìn)行建模和預(yù)測(cè)具有較強(qiáng)的應(yīng)用價(jià)值.其中,流行度作為抽象的指標(biāo)具有多種量化方式,例如日下載量、市場(chǎng)排名和日活躍用戶數(shù)等,本文采用日下載量這一直觀反映用戶接受程度的指標(biāo)來量化流行度.
具體來說,對(duì)于app開發(fā)者而言,預(yù)先知道流行度的變化趨勢(shì)能夠助力運(yùn)營(yíng)決策,當(dāng)未來流行度表現(xiàn)不佳時(shí)便于提前制定計(jì)劃、采取措施以及時(shí)提高app產(chǎn)品的人氣.從長(zhǎng)遠(yuǎn)來看,長(zhǎng)期掌握app的流行度變化就相當(dāng)于了解其在生命周期內(nèi)的演化過程,這能為app的長(zhǎng)期運(yùn)營(yíng)與維護(hù)提供積極導(dǎo)向,避免產(chǎn)品因各種原因被下架,盡可能延長(zhǎng)app的上架時(shí)間.對(duì)于廣告商和投資者來說,及時(shí)掌握目標(biāo)app的未來流行度表現(xiàn)有利于正確選擇短期合作或投資對(duì)象,促使收益最大化并有效規(guī)避投資風(fēng)險(xiǎn).而持續(xù)關(guān)注流行度變化能夠掌握app市場(chǎng)的風(fēng)向變化,發(fā)掘潛在商機(jī).對(duì)于應(yīng)用市場(chǎng)來說,預(yù)知流行度有助于更新市場(chǎng)排名信息,提高用戶對(duì)于推薦服務(wù)的體驗(yàn).另外掌握app的流行度演化趨勢(shì)有利于應(yīng)用市場(chǎng)的管理和app生態(tài)系統(tǒng)的發(fā)展.
近年來,通過從應(yīng)用市場(chǎng)獲取豐富的用戶交互和使用數(shù)據(jù)來進(jìn)行app分析預(yù)測(cè)成為研究熱點(diǎn),相關(guān)工作包括:app流行度預(yù)測(cè)[2-4]、使用預(yù)測(cè)[5]、使用推薦[6-7]和應(yīng)用市場(chǎng)分析與挖掘[8]等.其中,流行度建模與預(yù)測(cè)并不是app領(lǐng)域的特有問題,它更廣泛地應(yīng)用于社交媒體內(nèi)容的領(lǐng)域,例如新聞[9]、微博[10]、圖像[11]和視頻[12]等.但是,app的流行度預(yù)測(cè)工作仍然存在2個(gè)難點(diǎn)從而需要進(jìn)一步探索研究方法.
1) app流行度的影響因素非常復(fù)雜.現(xiàn)有的研究方法多是手動(dòng)設(shè)計(jì)特征或針對(duì)原數(shù)據(jù)提取統(tǒng)計(jì)特征,再利用有限的模型構(gòu)建特征與流行度之間的線性關(guān)系或是預(yù)定義的非線性關(guān)系.這無(wú)疑會(huì)在建模過程中丟失原數(shù)據(jù)中的隱含依賴關(guān)系.
2) app個(gè)體差異大,生命周期沒有共性規(guī)律.不同于線上社交內(nèi)容的單一性和時(shí)效性,app可能反復(fù)迭代更新并且長(zhǎng)時(shí)間地存在于應(yīng)用市場(chǎng)中,也可能因?yàn)榻?jīng)營(yíng)不善在上架一段時(shí)間后被市場(chǎng)淘汰,且不同app所受影響因素及其側(cè)重差異較大.所以線上內(nèi)容的流行度預(yù)測(cè)方法并不適用于不斷更新的app.另外,現(xiàn)有研究方法的預(yù)測(cè)精度仍存在較大的提升空間,如何探索并設(shè)計(jì)更加強(qiáng)大的模型以全面建模眾多影響因素是研究人員共同面對(duì)的挑戰(zhàn).
近年來深度神經(jīng)網(wǎng)絡(luò)以其強(qiáng)大的計(jì)算能力和良好的實(shí)驗(yàn)性能而被廣泛應(yīng)用于各個(gè)領(lǐng)域,其中就包括時(shí)間序列預(yù)測(cè)工作[13].在時(shí)序預(yù)測(cè)工作中最常見的內(nèi)容包括循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)和注意力機(jī)制.RNN獨(dú)有的記憶單元可以捕獲歷史信息與當(dāng)前輸入的相關(guān)性,并且具有多種變體例如門控循環(huán)單元(gated recurrent unit, GRU)、長(zhǎng)短期記憶網(wǎng)絡(luò)(long short-term memory, LSTM)用于應(yīng)對(duì)長(zhǎng)期依賴問題等.注意力機(jī)制能夠針對(duì)不同特征進(jìn)行加權(quán)變換并為神經(jīng)網(wǎng)絡(luò)提供一定可解釋性.由于app流行度建模本質(zhì)為探索時(shí)序特征與流行度間的相關(guān)性并完成多步時(shí)序預(yù)測(cè),所以本文探索分析app流行度的多種影響因素,并提出基于注意力機(jī)制的多級(jí)GRU網(wǎng)絡(luò),預(yù)測(cè)未來一段時(shí)間app的流行度演化.
具體來說,本文設(shè)計(jì)3個(gè)模塊用于捕獲不同層級(jí)的相關(guān)性,并利用注意力機(jī)制來解釋不同特征的影響力差異.
1) 時(shí)間級(jí)自序列相關(guān)性.設(shè)計(jì)基于注意力機(jī)制的GRU網(wǎng)絡(luò)Att-GRU捕獲先前時(shí)刻的流行度與目標(biāo)預(yù)測(cè)時(shí)刻流行度的相關(guān)性,利用流行度時(shí)序進(jìn)行時(shí)間依賴層級(jí)的預(yù)測(cè).歷史流行度決定了app的曝光率和累積人氣,對(duì)未來流行度產(chǎn)生重要影響.
2) 特征級(jí)局部相關(guān)性.這是獨(dú)立于時(shí)間層級(jí)的特征級(jí)模塊之一:app局部特征相關(guān)性Inner-app.Inner-app用于捕獲app自身相關(guān)特征包括評(píng)論、評(píng)分和用戶情感等與流行度的動(dòng)態(tài)相關(guān)性,這些特征代表用戶的使用反饋,很大程度代表了已有用戶的使用感受,并影響正在瀏覽的潛在用戶是否下載.
3) 特征級(jí)全局相關(guān)性.作為特征層級(jí)內(nèi)的另一模塊,Inner-Class表征同類功能的其他app的流行度序列與目標(biāo)預(yù)測(cè)app流行度間的相關(guān)性,從應(yīng)用市場(chǎng)全局捕獲與目標(biāo)相關(guān)的流行度序列作為動(dòng)態(tài)特征輸入.該層級(jí)反映了市場(chǎng)競(jìng)爭(zhēng)對(duì)于流行度的影響,同功能app中用戶只會(huì)下載最具吸引力的產(chǎn)品,并且不會(huì)把這種情感傾向反映在他們沒有下載的app的評(píng)論中.
概括來說,本文的主要貢獻(xiàn)有3個(gè)方面:
1) 影響因素的分級(jí)表示.本文研究了app的流行度動(dòng)態(tài)建模與預(yù)測(cè)問題,并探究了流行度的時(shí)間層級(jí)和局部、全局特征層級(jí)等復(fù)雜因素對(duì)流行度的動(dòng)態(tài)相關(guān)性影響.
2) 多層級(jí)注意力網(wǎng)絡(luò)DeePOP的提出.它從以上2個(gè)層級(jí)自適應(yīng)地捕獲最相關(guān)的歷史狀態(tài)(特征),并聚合不同的特征表示以預(yù)測(cè)動(dòng)態(tài)流行度和揭示演化的本質(zhì).
3) 真實(shí)數(shù)據(jù)集的驗(yàn)證.實(shí)驗(yàn)結(jié)果顯示,DeePOP在預(yù)測(cè)精度上優(yōu)于現(xiàn)有其他流行度預(yù)測(cè)方法,有效降低均方根誤差至0.089.
本節(jié)回顧與app流行度建模與預(yù)測(cè)最相關(guān)的3類工作:移動(dòng)app分析、流行度預(yù)測(cè)和深度學(xué)習(xí)中的時(shí)序預(yù)測(cè).
app應(yīng)用市場(chǎng)提供關(guān)于app的豐富信息,包括類別、下載量、用戶評(píng)論和評(píng)分等.移動(dòng)app分析工作發(fā)現(xiàn)了app發(fā)展的重要影響特征,并為建模預(yù)測(cè)等工作提供特征提取的思路.這里著重介紹近年來幾篇具有代表性的先進(jìn)研究.
文獻(xiàn)[8]通過分析來識(shí)別應(yīng)用市場(chǎng)中不同app至關(guān)重要的更新版本,并發(fā)現(xiàn)更新版本的描述內(nèi)容對(duì)app是否成功起決定性作用;文獻(xiàn)[14]著力于優(yōu)化app的新版本發(fā)布策略.他們使用更新時(shí)間間隔表征發(fā)布模式,并確定了包括市場(chǎng)排名、用戶評(píng)分在內(nèi)的影響更新結(jié)果的多種因素;文獻(xiàn)[15]從app流行度演化的角度對(duì)評(píng)論進(jìn)行分類,其中包括4個(gè)類別:錯(cuò)誤報(bào)告、功能請(qǐng)求、用戶體驗(yàn)和用戶評(píng)分;通過分析應(yīng)用市場(chǎng)中的用戶評(píng)論和評(píng)分,文獻(xiàn)[16]明確了用戶喜歡或不喜歡某個(gè)app的原因.他們提出了分析方法以識(shí)別用戶對(duì)不同類型app的主要關(guān)注點(diǎn)和偏好.
以上利用應(yīng)用市場(chǎng)數(shù)據(jù)進(jìn)行多角度分析的工作為本文開拓思路.上述工作已經(jīng)闡述了應(yīng)用市場(chǎng)中特征數(shù)據(jù)的重要性,但涉及的特征基本都是依靠人工構(gòu)建,難以挖掘到原始數(shù)據(jù)之間的隱含關(guān)聯(lián)關(guān)系.而對(duì)于上述工作中的傳統(tǒng)機(jī)器學(xué)習(xí)方法,即使直接利用原始特征數(shù)據(jù)也存在預(yù)測(cè)效果不佳、結(jié)果不具有解釋性等問題.為了更好地建模app流行度演化過程并得到優(yōu)良的預(yù)測(cè)準(zhǔn)確度,本文將特征工程與原始數(shù)據(jù)挖掘相結(jié)合運(yùn)用,在參考以上工作中著重分析人工特征的同時(shí),采用模型自動(dòng)學(xué)習(xí)的方法探索原始數(shù)據(jù)中流行度(即下載量)在時(shí)間層級(jí)、個(gè)體層級(jí)和群組層級(jí)3方面的隱含關(guān)聯(lián)關(guān)系,從而獲得高預(yù)測(cè)精度并挖掘影響流行度演化的復(fù)雜因素.
流行度預(yù)測(cè)一直是研究社交內(nèi)容演化的重要工作,而app流行度預(yù)測(cè)作為一個(gè)新的研究領(lǐng)域,近年來也有研究人員開展了一些開創(chuàng)性的工作.這里先回顧app流行度預(yù)測(cè)的已有工作,再總結(jié)有關(guān)線上社交內(nèi)容流行度演化的典型研究方法.
文獻(xiàn)[17]將app的流行度定義為市場(chǎng)排名、用戶評(píng)分和用戶評(píng)論,并提出基于流行度的隱馬爾可夫模型PHMM來建模和預(yù)測(cè)app流行度量化的3個(gè)指標(biāo);文獻(xiàn)[18]考慮不同app之間的競(jìng)爭(zhēng)模式并提出了一個(gè)演化層級(jí)競(jìng)爭(zhēng)模型EHCM來預(yù)測(cè)app的下載量;文獻(xiàn)[19]將流行度定義為下載量的排名,旨在探索app的價(jià)格、評(píng)分與流行度間的關(guān)系.通過統(tǒng)計(jì)分析,他們發(fā)現(xiàn)用戶評(píng)分與流行度之間存在強(qiáng)相關(guān)性,免費(fèi)app的評(píng)分顯著高于付費(fèi)app;文獻(xiàn)[20]研究了影響app是否存在于蘋果應(yīng)用商店最受歡迎列表中的可能性因素.研究發(fā)現(xiàn)免費(fèi)app更有可能在列表中存在,頻繁的功能更新和積極正面的評(píng)論是保證其排名的關(guān)鍵因素.
關(guān)于線上社交內(nèi)容的流行度預(yù)測(cè)工作十分豐富,包括新聞[9,21]、微博或推文[22-24]和視頻[12,25-26].關(guān)于新聞,文獻(xiàn)[9]使用從新聞內(nèi)容中提取的特征預(yù)測(cè)新聞的流行度,其中包括4個(gè)特征:新聞來源、類別、語(yǔ)言的主觀性和提及的命名實(shí)體;關(guān)于微博,文獻(xiàn)[23]提出了一個(gè)帶有時(shí)間映射的擴(kuò)展加強(qiáng)泊松過程來模擬轉(zhuǎn)發(fā)動(dòng)力學(xué)并預(yù)測(cè)微博的流行度;關(guān)于視頻,文獻(xiàn)[25]提出一種劃分流行度階段的表示模型來描述視頻的生命周期,并使用階段信息來預(yù)測(cè)未來流行度.
本文所研究的工作區(qū)別于以上2類流行度預(yù)測(cè).對(duì)比已有的app流行度預(yù)測(cè)方法,3點(diǎn)原因促使這項(xiàng)工作還需繼續(xù)推進(jìn):1)預(yù)測(cè)的準(zhǔn)確度仍需提高.現(xiàn)有方法可能受模型的限制,其實(shí)驗(yàn)性能仍需進(jìn)一步提升,力求得到更加接近真實(shí)值的預(yù)測(cè)結(jié)果.2)人工特征容易遺失重要信息.面對(duì)多模態(tài)數(shù)據(jù),現(xiàn)有方法多是人工構(gòu)建一些便于理解的影響特征用于預(yù)測(cè),容易丟失原始數(shù)據(jù)中的隱含信息和關(guān)聯(lián)關(guān)系,所以需要設(shè)計(jì)自動(dòng)提取特征的方法來全面探索影響流行度演化的原因.3)現(xiàn)有模型方法表達(dá)能力不足.如若直接將多模態(tài)的海量數(shù)據(jù)作為輸入,現(xiàn)有方法受模型計(jì)算能力限制往往難以全面捕獲其中的非線性隱含關(guān)聯(lián),從而影響流行度建模過程的全面性.對(duì)比線上社交內(nèi)容的流行度預(yù)測(cè)問題,app具有2個(gè)特征而不能沿用已有方法的思路:1)app不受時(shí)效約束.新聞、微博等社交內(nèi)容生命周期十分短暫,隨著時(shí)間推移其熱度必定衰落,生命長(zhǎng)度可觀測(cè)得到.但是app生命周期長(zhǎng),隨著用戶規(guī)模的增大其流行度會(huì)逐漸上升.長(zhǎng)時(shí)期的演化過程會(huì)受到更多不確定因素影響,因而為傳統(tǒng)預(yù)測(cè)方法帶來難度.2)app自身不斷變化.新聞、視頻等一旦被發(fā)布其內(nèi)容就無(wú)法改變,其流行度的變化更多取決于大眾的偏好變化.但app只要在架就可以通過更新版本來修復(fù)問題、擴(kuò)展功能,其自身也處于演化之中,所以固定的影響因素難以全面地刻畫app演化過程,這為預(yù)測(cè)帶來難度.
近年來越來越多的研究嘗試?yán)蒙疃葘W(xué)習(xí)方法進(jìn)行時(shí)間序列的預(yù)測(cè)工作,在諸如空氣污染預(yù)測(cè)[13]、人群移動(dòng)預(yù)測(cè)[27]和共享單車站樁流量預(yù)測(cè)[28-29]等方面取得成功.這里回顧深度學(xué)習(xí)中最常用于時(shí)序預(yù)測(cè)的神經(jīng)網(wǎng)絡(luò)RNN的應(yīng)用實(shí)例.文獻(xiàn)[30]設(shè)計(jì)考慮周期性的卷積循環(huán)神經(jīng)網(wǎng)絡(luò)以準(zhǔn)確捕獲時(shí)空相關(guān)性,學(xué)習(xí)并結(jié)合顯式周期性表示,并且可以通過多步驟優(yōu)化來優(yōu)化預(yù)測(cè);文獻(xiàn)[27]使用殘差神經(jīng)網(wǎng)絡(luò)來模擬人群流量的時(shí)間接近度、周期和趨勢(shì)屬性,并為不同區(qū)域分配不同權(quán)重,從而實(shí)現(xiàn)不同區(qū)域間人群移動(dòng)情況的預(yù)測(cè);文獻(xiàn)[31]提出了一個(gè)基于注意力機(jī)制的雙階段循環(huán)神經(jīng)網(wǎng)絡(luò),用以適當(dāng)?shù)夭东@長(zhǎng)期時(shí)間依賴性并選擇相關(guān)的輸入特征,該模型在股票價(jià)格預(yù)測(cè)上顯示出良好性能.
以上方法為app流行度預(yù)測(cè)提供了研究思路.首先,app的流行度及其影響特征本身均為動(dòng)態(tài)時(shí)間序列,當(dāng)前時(shí)刻的表現(xiàn)必然受歷史表現(xiàn)的影響,這體現(xiàn)從時(shí)間層級(jí)捕獲相關(guān)性的重要性.其次,app是否受歡迎既受自身功能、口碑影響,又因同類競(jìng)爭(zhēng)app的表現(xiàn)而產(chǎn)生波動(dòng),此消彼長(zhǎng)的現(xiàn)象廣泛存在,這體現(xiàn)不同特征層級(jí)相關(guān)性的重要影響.另外,面對(duì)較長(zhǎng)歷史時(shí)間影響和眾多特征影響時(shí),引入注意力機(jī)制的RNN網(wǎng)絡(luò)能夠自適應(yīng)地提取相關(guān)特征,解決了RNN難以捕獲長(zhǎng)時(shí)間依賴等問題.
本節(jié)主要闡述app流行度建模的基本問題,提出app流行度和流行度預(yù)測(cè)的問題定義,分析不同影響特征與流行度序列的相關(guān)性.
本節(jié)提出app流行度形式化定義,并介紹用以建模的影響特征的含義.
定義1.app流行度.給定1組appA={a1,a2,…,aN},每個(gè)appai(i=1,2,…,N)的流行度為具有N個(gè)時(shí)間點(diǎn)T={1,2,…,N}的序列.appai在第t(t∈T)天的流行度pi(t)量化為第t天的下載量,則appai的流行度演化序列為Pi={pi(1),pi(2),…,pi(N)}.
app流行度受眾多因素影響,包括app歷史流行度表現(xiàn)、用戶評(píng)論和市場(chǎng)競(jìng)爭(zhēng)等,這些因素可以量化為具有N個(gè)時(shí)間點(diǎn)T={1,2,…,N}的不同特征序列.
2) 評(píng)論量.對(duì)于appai,其在T={1,2,…,N}的N天的每日評(píng)論數(shù)量可以表示為Vi={Vi(1),Vi(2),…,Vi(N)}.評(píng)論數(shù)量在一定程度上反映了app的受關(guān)注度,一般來說評(píng)論數(shù)量越多,該app越受歡迎.
3) 評(píng)分.對(duì)于appai,其在T={1,2,…,N}的N天的每日平均評(píng)分可以表示為Si={Si(1),Si(2),…,Si(N)}.評(píng)分能夠直觀反映用戶對(duì)app的態(tài)度和使用感受,高評(píng)分代表了高受歡迎程度.
4) 評(píng)論情感.對(duì)于appai,其在T={1,2,…,N}的N天的每天中的評(píng)論情感可以被量化為具體數(shù)值,表示為Mi={Mi(1),Mi(2),…,Mi(N)}.評(píng)論情感得分表達(dá)了用戶對(duì)app的喜愛程度,得分越高代表用戶對(duì)app的使用感受越具積極性和樂觀性.
5) 市場(chǎng)競(jìng)爭(zhēng).appai在應(yīng)用市場(chǎng)中的功能類別為lj,對(duì)于同類別標(biāo)簽的1組appA={a1,a2,…,aN}內(nèi),ai的流行度序列Pi受到其他app的流行度C={P1,P2,…,PN}的影響.當(dāng)app的功能類別相同時(shí),用戶只會(huì)選擇其中有限個(gè)下載使用.同類產(chǎn)品中某些app的流行度升高將為其他app帶來競(jìng)爭(zhēng)沖擊.
在本文的app流行度建模中,上述不同特征被輸入不同層級(jí)中以捕獲特征與流行度間的依賴關(guān)系,為預(yù)測(cè)提供依據(jù).具體來說,時(shí)間級(jí)自序列模塊捕獲歷史流行度與待預(yù)測(cè)值的相關(guān)性,局部特征級(jí)模塊捕獲app自身影響因素評(píng)論量、評(píng)分和情感與流行度的隱含關(guān)聯(lián),全局特征級(jí)模塊編碼應(yīng)用市場(chǎng)中同類產(chǎn)品間的競(jìng)爭(zhēng)關(guān)系,捕獲此消彼長(zhǎng)的互斥關(guān)聯(lián).
為了驗(yàn)證不同特征與流行度之間的相關(guān)性,采用最大信息系數(shù)(maximal information coefficient, MIC)[32]來衡量以上單特征與流行度之間的相關(guān)性大小.MIC是2011年發(fā)表在“Science”上的一篇文章提出的一種可用于度量單變量與相應(yīng)變量之間的非線性關(guān)系的算法.
2.2.1 局部特征相關(guān)性
通過計(jì)算評(píng)論量、評(píng)分和評(píng)論情感與流行度之間的MIC,從而分析得到不同粒度下局部特征對(duì)流行度的影響.在應(yīng)用市場(chǎng)中,app具有不同的功能標(biāo)簽.功能標(biāo)簽分為一級(jí)標(biāo)簽和二級(jí)標(biāo)簽,一級(jí)標(biāo)簽指示更大范圍的功能類別,其下包括若干二級(jí)功能標(biāo)簽.表1是應(yīng)用市場(chǎng)中的標(biāo)簽示例.一般來說,同一一級(jí)標(biāo)簽的app具有類似的市場(chǎng)環(huán)境和應(yīng)用需求,可能在流行度演化方式上類似,所以先根據(jù)一級(jí)標(biāo)簽對(duì)app分類,計(jì)算每類中局部特征的相關(guān)性均值.相關(guān)性計(jì)算結(jié)果如圖1所示.
Table 1 Level 1 and Level 2 Labels in App Market表1 應(yīng)用市場(chǎng)中一級(jí)、二級(jí)標(biāo)簽示例
Fig. 1 Correlation between local features and popularity of first label apps圖1 不同一級(jí)標(biāo)簽app的局部特征與流行度間相關(guān)性
從圖1分析可得:1)對(duì)于不同一級(jí)標(biāo)簽,app的局部特征相關(guān)性差異較小,基本都處于0.17~0.21之間.3種特征均來自于用戶的使用反饋,所反映的內(nèi)容具有相似性.2)3種局部特征在同一類app中相關(guān)性差異不大,評(píng)論量的相關(guān)系數(shù)略高于評(píng)分和情感,可能是因?yàn)樵u(píng)論量的增長(zhǎng)可以間接理解為用戶下載量增大,流行度呈上升趨勢(shì),而評(píng)分和情感是來自使用app一段時(shí)間的用戶反饋,其對(duì)潛在用戶的影響較小.3)局部特征的相關(guān)系數(shù)均較小,說明局部特征不足以刻畫流行度演化過程,流行度的變化不止受用戶使用感受影響.
為了細(xì)化局部特征與流行度之間的關(guān)聯(lián)關(guān)系,圖2以多媒體類app為例,詳細(xì)表示了各二級(jí)標(biāo)簽之間局部特征相關(guān)系數(shù)的不同.圖2中,橫坐標(biāo)為多媒體類app的二級(jí)標(biāo)簽,這里計(jì)算了各二級(jí)標(biāo)簽下所有app的平均每日流行度,并從左至右依次遞增排列,即卡拉OK類app流行度最低,視頻類app的流行度最高.隨著流行度的逐漸升高,局部特征的相關(guān)系數(shù)出現(xiàn)非線性變化,說明說明流行度高的app其特征相關(guān)性不一定強(qiáng),流行度的建模需要考慮計(jì)算性能良好的非線性模型.另外可觀察得出,不同特征的相關(guān)系數(shù)在流行度變化時(shí)的變化趨勢(shì)基本一致.這也表明流行度的變化影響因素復(fù)雜,只捕獲用戶反饋進(jìn)行特征工程難以良好預(yù)測(cè)流行度演化過程.
Fig. 2 Correlation between local features and popularity of second label apps圖2 不同二級(jí)標(biāo)簽app的局部特征與流行度間相關(guān)性
2.2.2 全局特征相關(guān)性
Fig. 3 Correlation between top 3 global features and popularity of second label apps圖3 app的前3個(gè)全局特征與流行度相關(guān)性
通過計(jì)算全局特征即同一二級(jí)標(biāo)簽下其他app的流行度與某一特定app之間的MIC系數(shù),從而分析全局特征對(duì)流行度的影響.為了與圖2形成對(duì)比,同樣選定多媒體類app下的二級(jí)標(biāo)簽app,計(jì)算其與全局特征的MIC差異,并選定MIC最高的前3個(gè)特征呈現(xiàn)如圖3所示.相較于局部特征的相關(guān)系數(shù),全局特征中的前3名相關(guān)系數(shù)均有大幅度提升,但隨著流行度的增加,變化沒有規(guī)律性,不具備線性關(guān)系.可見本文設(shè)定的全局特征較好地捕獲了市場(chǎng)競(jìng)爭(zhēng)與流行度演化間的依賴關(guān)系.這也證實(shí)了相似功能的app間的市場(chǎng)競(jìng)爭(zhēng)確實(shí)存在,且與app形成競(jìng)爭(zhēng)的對(duì)象并不唯一.
本節(jié)將詳細(xì)介紹DeePOP模型組成和各模塊構(gòu)成.圖4顯示了DeePOP的整體架構(gòu).它包含3類輸入:歷史流行度演化序列、局部特征和全局特征,分別對(duì)應(yīng)于時(shí)間級(jí)自序列模塊、特征級(jí)局部和全局模塊.每個(gè)模塊由含有注意力機(jī)制的GRU進(jìn)行編碼,并在輸入中自適應(yīng)地選擇最相關(guān)的歷史狀態(tài)或者相關(guān)特征.在預(yù)測(cè)多步流行度時(shí),連接先前3個(gè)模塊的輸出并通過多層感知機(jī)輸出app流行度的預(yù)測(cè)結(jié)果.模型中的不同編碼模塊可以使用標(biāo)準(zhǔn)反向傳播共同訓(xùn)練.
該模塊主要由具有時(shí)間注意力機(jī)制的GRU組成,從而能夠在輸入的時(shí)間步中自適應(yīng)地選擇最相關(guān)的歷史狀態(tài).對(duì)于本節(jié)涉及的app流行度序列預(yù)測(cè)問題,經(jīng)典的差分整合移動(dòng)平均自回歸模型[17](autoregressive integrated moving average model, ARIMA)及其相關(guān)變體并不適用.ARIMA算法適用于表現(xiàn)穩(wěn)定的序列數(shù)據(jù),本質(zhì)上只能捕獲數(shù)據(jù)間的線性關(guān)系.而app流行度受多種可變因素影響,自身序列變化復(fù)雜且目前尚未有研究得到其固定的變化規(guī)律,所以本文采用GRU與注意力機(jī)制結(jié)合的算法來捕獲流行度序列的自相關(guān)性.GRU作為RNN變體之一,既能夠?qū)W習(xí)當(dāng)前時(shí)間狀態(tài)對(duì)于歷史狀態(tài)的非線性依賴,相比于LSTM又具有參數(shù)更少、能夠較快收斂的優(yōu)勢(shì).注意力機(jī)制的引入為當(dāng)前狀態(tài)對(duì)歷史狀態(tài)的依賴性大小提供一定的可解釋性.所以本文在綜合考慮以上問題后,設(shè)計(jì)了時(shí)間級(jí)子序列模塊用以捕獲歷史狀態(tài)對(duì)流行度的影響作用.具體來說,基于隱藏狀態(tài)zt-1和輸入狀態(tài)yt-1可得當(dāng)前時(shí)刻輸入的注意力權(quán)重:
(1)
為了保證所有注意力權(quán)重加和為1,這里使用Softmax函數(shù)對(duì)式(1)進(jìn)行歸一化.
(2)
在得到注意力權(quán)重之后,就可以計(jì)算得到時(shí)刻t的輸出權(quán)重?cái)?shù)值為
(3)
Fig. 4 Framework of DeePOP圖4 DeePOP架構(gòu)圖
之后采用GRU來學(xué)習(xí)時(shí)間自序列的表示.GRU由重置門和更新門來控制信息的更新狀態(tài).重置門控制歷史狀態(tài)對(duì)候選狀態(tài)的貢獻(xiàn)程度,更新門決定保留歷史信息成分和添加新信息.GRU的更新過程為
(4)
為了捕獲不同局部特征對(duì)于流行度影響程度的動(dòng)態(tài)變化,該模塊編碼特征表示并通過Att-GRU自適應(yīng)選擇相關(guān)特征,以提高流行度的預(yù)測(cè)準(zhǔn)確度.通過對(duì)隱藏狀態(tài)zt-1和當(dāng)前輸入狀態(tài)xt-1編碼,可得當(dāng)前時(shí)刻局部特征的注意力權(quán)重:
(5)
歸一化權(quán)重系數(shù)得:
(6)
在得到注意力權(quán)重之后,上下文向量可以計(jì)算得到:
(7)
同樣,這里的輸出向量將作為式(4)中GRU的輸入進(jìn)行計(jì)算,這里不再贅述.
對(duì)于全局特征,同樣適用Att-GRU自適應(yīng)地捕獲當(dāng)前時(shí)刻最相關(guān)的全局特征進(jìn)行編碼,通過對(duì)隱藏狀態(tài)zt-1和當(dāng)前輸入狀態(tài)xt-1編碼,可得當(dāng)前時(shí)刻全局特征的注意力權(quán)重:
(8)
對(duì)權(quán)重進(jìn)行歸一化得:
(9)
在得到注意力權(quán)重之后,上下文向量可以計(jì)算得到:
(10)
之后將得到的向量輸入到式(4)中進(jìn)行GRU計(jì)算.
在預(yù)測(cè)過程中,通過將以上多個(gè)模塊的輸出進(jìn)行聚合并饋送至多層感知機(jī)(multi-layer perceptron, MLP)[33]中以聚合不同編碼,從而獲得多步流行度預(yù)測(cè)值,其中的參數(shù)均可通過學(xué)習(xí)獲得.
此外,DeePOP模型包含2類可學(xué)習(xí)參數(shù):網(wǎng)絡(luò)層連接系數(shù)(W*,b*)和注意力機(jī)制參數(shù)(V*,W*,U*,b*),它們可以通過反向傳播學(xué)習(xí)得到.實(shí)驗(yàn)中,可以通過調(diào)整一系列超參數(shù)包括學(xué)習(xí)率、網(wǎng)絡(luò)層數(shù)和神經(jīng)元數(shù)等來提高模型預(yù)測(cè)準(zhǔn)確度.模型的損失函數(shù)為平均絕對(duì)誤差(mean absolute error, MAE):
(11)
本節(jié)將針對(duì)實(shí)驗(yàn)數(shù)據(jù)集、對(duì)比方法和評(píng)價(jià)指標(biāo)等進(jìn)行介紹,并通過實(shí)驗(yàn)結(jié)果分析評(píng)估DeePOP的預(yù)測(cè)性能.
本文從包括華為應(yīng)用商店、應(yīng)用寶、豌豆莢和小米應(yīng)用商店等9個(gè)當(dāng)下熱門的應(yīng)用市場(chǎng)獲取了共12類一級(jí)標(biāo)簽的app各項(xiàng)數(shù)據(jù)(1)http://www.kuchuan.com/,包括名稱、一級(jí)和二級(jí)標(biāo)簽、日下載量和用戶評(píng)論等.為了綜合考慮社交媒體中app的評(píng)論信息,這里以不同app名稱作為關(guān)鍵詞爬取了微博中不同app的評(píng)論信息,并按照時(shí)間標(biāo)簽和app標(biāo)簽與應(yīng)用市場(chǎng)中的評(píng)論進(jìn)行合并.各項(xiàng)數(shù)據(jù)的時(shí)間跨度為2017-01-01—2018-01-01.表2是共計(jì)1 023個(gè)app的數(shù)據(jù)統(tǒng)計(jì).
Table 2 Parameter Index of the Dataset表2 數(shù)據(jù)集的參數(shù)指標(biāo)
對(duì)于應(yīng)用市場(chǎng)獲取的數(shù)據(jù),需要預(yù)處理為能夠輸入至模型的標(biāo)準(zhǔn)格式.首先,針對(duì)app的下載量序列需要?dú)w一化成流行度演化序列的標(biāo)準(zhǔn)格式.而局部特征的構(gòu)造則是針對(duì)app的評(píng)論文本進(jìn)行計(jì)數(shù)統(tǒng)計(jì)、評(píng)分歸一化和SnowNLP(2)https://github.com/isnowfy/snownlp情感分析,分別得到評(píng)論量、評(píng)分和情感3類局部特征.對(duì)于全局特征并不需要再進(jìn)行特殊處理,只要提取與目標(biāo)app同二級(jí)標(biāo)簽下其他app的流行度演化序列作為輸入即可.
這里選用了當(dāng)前最新的app流行度預(yù)測(cè)模型和DeePOP模型的變體(部分架構(gòu))與DeePOP模型進(jìn)行對(duì)比,這些方法包括:
1) 支持向量回歸(support vector regression, SVR)模型[34],使用影響特征訓(xùn)練支持向量機(jī)以完成回歸任務(wù).
2) 隱Markov模型PHMM[17]是文獻(xiàn)[17]建模app流行度信息的方法.要將PHMM應(yīng)用于本文數(shù)據(jù)集,應(yīng)首先將數(shù)據(jù)離散,用離散范圍替換具體數(shù)值;然后應(yīng)用PHMM來預(yù)測(cè)未來的流行度;最后,通過比較流行度的真實(shí)范圍和預(yù)測(cè)的范圍來測(cè)量PHMM的預(yù)測(cè)準(zhǔn)確度.
3) 演化分級(jí)競(jìng)爭(zhēng)模型EHCM[18],模擬app之間隨時(shí)間演化的分級(jí)競(jìng)爭(zhēng)并預(yù)測(cè)未來的下載量.為了將該方法應(yīng)用于本文數(shù)據(jù)集,首先對(duì)app之間的演化競(jìng)爭(zhēng)進(jìn)行建模,其次預(yù)測(cè)未來的app下載量.
4) LSTM模型,結(jié)構(gòu)較GRU復(fù)雜,參數(shù)數(shù)量更多.這里采用較簡(jiǎn)單的LSTM模型,不包含3個(gè)層級(jí)模塊,采用與DeePOP模型相同的輸入特征.
5) DeePOP-Ti模型,即不包含時(shí)間級(jí)自序列模塊的模型.
6) DeePOP-Lo模型,即不包含特征級(jí)局部模塊的模型.
7) DeePOP-Gl模型,即不包含特征級(jí)全局模塊的模型.
8) DeePOP-Se模型,即不包含用戶情感特征的模型.
另外,用于評(píng)價(jià)DeePOP模型和其他對(duì)比方法的預(yù)測(cè)性能,選取2種評(píng)估指標(biāo):
1) 均方根誤差(root mean square error, RMSE)[35].通過公式計(jì)算預(yù)測(cè)的流行度與實(shí)際的流行度之間的差異.RMSE越小意味著流行度預(yù)測(cè)性能越好.
(12)
2) MAE[35].通過公式計(jì)算預(yù)測(cè)的流行度和實(shí)際的流行度之間的MAE.MAE越小意味著預(yù)測(cè)性能越好.
4.3.1 不同模型的對(duì)比
所有app利用不同方法預(yù)測(cè)流行度的RMSE如表3所示.由圖觀察得知,DeePOP模型的計(jì)算誤差低于所有對(duì)比方法,預(yù)測(cè)性能最優(yōu).對(duì)比于其他方法可知:1)與現(xiàn)有app流行度預(yù)測(cè)方法相比,DeePOP模型具有更強(qiáng)的計(jì)算性能,能夠自適應(yīng)捕獲復(fù)雜的非線性關(guān)系,其中包括流行度演化的歷史依賴和隱含特征的相關(guān)關(guān)系.2)與不含層級(jí)的LSTM模型相比,DeePOP模型的優(yōu)勢(shì)在于它從不同層級(jí)捕獲特征與流行度的相關(guān)性,并且能在不同時(shí)刻自適應(yīng)提取相關(guān)性強(qiáng)的特征用于編碼計(jì)算,而面對(duì)多特征輸入,LSTM模型在計(jì)算過程中容易遺忘和丟失信息,且受到運(yùn)算時(shí)間的限制.
Table 3 Experimental Results of Different Models表3 不同模型的實(shí)驗(yàn)結(jié)果
DeePOP模型變體的預(yù)測(cè)性能能夠側(cè)面反映不同層級(jí)對(duì)于建模流行度的重要性.可以看出,缺失全局特征模塊的模型DeePOP-Gl和缺失局部特征模塊的模型DeePOP-Lo的總體預(yù)測(cè)誤差略低于缺失時(shí)間自序列模塊的模型DeePOP-Ti,而DeePOP-Lo模型的預(yù)測(cè)誤差略低于DeePOP-Gl模型,更加接近DeePOP模型的預(yù)測(cè)性能.這與第2節(jié)中MIC的計(jì)算結(jié)果相吻合,說明對(duì)于逐漸同質(zhì)化的app來說,市場(chǎng)競(jìng)爭(zhēng)更加影響流行度,用戶不選擇下載使用某款app更可能是因?yàn)樗麄冇懈玫倪x擇,而不是因?yàn)閍pp自身性能的優(yōu)劣等.其中DeePOP-Se模型變體的預(yù)測(cè)效果最貼近DeePOP模型,可能的原因是僅僅去除用戶情感得分特征并不會(huì)對(duì)最終的流行度預(yù)測(cè)結(jié)果產(chǎn)生重大影響,DeePOP模型更加關(guān)注多粒度特征在多級(jí)建模后對(duì)流行度的影響.
4.3.2 特征層級(jí)的注意力機(jī)制
這里以視頻類app為例,利用全局特征的注意力機(jī)制解釋不同特征在預(yù)測(cè)過程中的權(quán)重影響,為預(yù)測(cè)模型提供可解釋性.圖5顯示了多媒體類中二級(jí)標(biāo)簽為視頻類的10款app在參與預(yù)測(cè)其他app流行度時(shí)的注意力權(quán)重.如圖5所示,縱坐標(biāo)顯示了二級(jí)標(biāo)簽中10款熱門視頻軟件,即預(yù)測(cè)流行度的目標(biāo)app.對(duì)于每款軟件其橫軸代表了該軟件在全局特征中注意力權(quán)重排在前10名的其他軟件.所以橫坐標(biāo)的app序號(hào)只在對(duì)應(yīng)每款視頻軟件(諸如愛奇藝)時(shí)特指某app.觀察圖5可知,不同app的市場(chǎng)競(jìng)爭(zhēng)現(xiàn)象各有不同.以愛奇藝iQIYI為例,其存在市場(chǎng)競(jìng)爭(zhēng)現(xiàn)象,且競(jìng)爭(zhēng)較為激烈的是app是優(yōu)酷視頻、嗶哩嗶哩動(dòng)畫和迅雷視頻.對(duì)于app樂視視頻LETV來說,其他同類app競(jìng)爭(zhēng)較小,說明存在其他主要因素影響app的流行度演化過程.由于篇幅所限,這里不再列舉其他app以及與其競(jìng)爭(zhēng)的app的注意力權(quán)重.由此可見,注意力機(jī)制的引入能夠在不同時(shí)間步自適應(yīng)地捕獲最相關(guān)特征,從而為理解模型預(yù)測(cè)結(jié)果提供一定的解釋性.
Fig. 5 Attention weight of video apps圖5 視頻類app的注意力權(quán)重
4.3.3 DeePOP模型不同變體的對(duì)比
為了更加細(xì)致地顯示不同變體的作用和影響,分別計(jì)算不同一級(jí)標(biāo)簽的app在不同變體模型下的預(yù)測(cè)性能,結(jié)果如圖6所示.
Fig. 6 The prediction performance of variants圖6 DeePOP變體模型的預(yù)測(cè)性能
在圖6中,不同DeePOP模型變體的模型在12類一級(jí)標(biāo)簽的app下預(yù)測(cè)性能差異穩(wěn)定,對(duì)于新聞、教育等類別的app,不同變體的預(yù)測(cè)性能都表現(xiàn)良好,低于平均值;而對(duì)于金融、購(gòu)物等類別的app,不同變體的性能都表現(xiàn)一般.另外,在不同類別的app中,變體之間的性能差異在一定程度上反映了不同特征對(duì)流行度演化的影響和作用不同.例如在照相類app中,性能較好的DeePOP-Gl模型反而誤差最高,這可能是因?yàn)檎障囝恆pp產(chǎn)品間同質(zhì)化現(xiàn)象較為嚴(yán)重,存在激烈的市場(chǎng)競(jìng)爭(zhēng),流行度演化的過程受app自身特征的影響較小.但從整體來看,DeePOP模型仍然在各類app中獲得最優(yōu)預(yù)測(cè)性能.
本文提出了一種多層級(jí)注意力網(wǎng)絡(luò)以進(jìn)行app流行度預(yù)測(cè),并針對(duì)復(fù)雜影響因素進(jìn)行分級(jí)建模.通過時(shí)間級(jí)自序列模塊捕獲對(duì)歷史流行度的長(zhǎng)期依賴,利用特征級(jí)局部、全局模塊構(gòu)建影響特征與流行度的非線性關(guān)系.同時(shí),注意力機(jī)制的引入為不同模塊提供自適應(yīng)能力,以捕獲與流行度變化最相關(guān)的歷史狀態(tài)并針對(duì)預(yù)測(cè)結(jié)果提供一定的解釋.實(shí)驗(yàn)結(jié)果表明,該方法能夠快速高效地進(jìn)行app流行度建模與預(yù)測(cè).