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