宋 蕊 李 童 董 鑫 丁治明
(北京工業大學信息學部 北京 100124)
隨著信息技術和移動應用平臺的快速發展,用戶在使用移動應用的同時產生了海量的用戶數據.這些用戶數據蘊含用戶與移動應用的交互信息,表達了用戶需求偏好.因此,用戶數據是分析用戶需求偏好的重要數據源[1].
為了理解用戶對移動應用的需求,已經有很多學者基于用戶數據來挖掘需求偏好,進而為用戶實現個性化的移動應用推薦.典型的推薦方法通常使用基于協同過濾(collaborative filtering, CF)和基于內容(content-based, CB)的技術[2].然而,傳統推薦技術的相關工作集中分析用戶對產品的評分[3],而用戶評分只是用戶表達其需求偏好的一個維度,未能有效利用多維度的特征信息(如用戶評論、用戶使用記錄等).此外,還有工作基于用戶的歷史數據分析產品之間的相似性來滿足用戶偏好[4],但這樣的思路不易發現用戶和移動應用之間的關聯,無法準確全面地刻畫用戶需求偏好.
本文認為移動應用的類別、功能描述信息以及用戶評論等都是有價值的數據源.尤其是用戶評論數據,它包含了大量的隱式信息,如用戶對移動應用的態度、情感等[5].上述不同類型的多維信息可以形成異構的信息網絡[6].對多維信息網絡的有效表征能準確地刻畫用戶對移動應用的需求偏好.圖嵌入技術已被證明是挖掘數據相互聯系的有效方法[7].根據現有研究,元路徑(meta-path)可以捕獲異構信息網絡中的語義結構[8].因此,在多維數據異構信息網絡中,合理設計元路徑能有效地表達用戶需求偏好的語義.
本文提出了一種基于元路徑嵌入的移動應用需求偏好分析方法,進而為用戶推薦個性化的移動應用來評估方法的有效性.具體地,我們首先分析移動應用的文本信息中的語義主題,深入挖掘用戶需求偏好的分析維度.其次,本文基于移動應用需求分析領域的概念和關系構建概念模型,來表征用戶偏好的多維度信息(包括用戶、移動應用、應用類別、功能描述、用戶評論信息).然后,本文根據概念模型設計了一組具有特殊語義的元路徑,來精準地刻畫用戶需求偏好的語義.最后,本文利用元路徑嵌入技術為用戶行為畫像,為用戶推薦滿足需求偏好的移動應用.圖1展示了本文的方法框架,具體貢獻分為4個部分:
1) 基于語義相似性分析移動應用文本信息(功能描述、用戶評論)的語義,從非結構化的文本中提取語義主題詞,豐富用戶需求偏好分析的特征.
2) 針對移動應用多維信息設計了一組包含特定語義的元路徑,有效關聯不同類型的信息,實現對用戶需求偏好準確全面的表征.
3) 基于元路徑嵌入技術分析用戶對移動應用的需求偏好.通過采用元路徑的引導,將用戶需求信息嵌入到模型中.利用個性化的移動應用推薦效果探究用戶對移動應用的需求偏好.
4) 在蘋果應用商店的真實數據集上評估,數據集包括1 507個移動應用和153 501條用戶評論.結果表明本文提出的方法在4個指標上均優于基線模型,其中平均F1值提升0.02,平均歸一化折損累計增益(normalized discounted cumulative gain,NDCG)提升0.1.

Fig. 1 The user preference analysis of mobile applications based on meta-path embedding圖1 基于元路徑嵌入的移動應用需求偏好分析方法
本節介紹與研究內容相關的現有工作,包括用戶評論需求挖掘、移動應用推薦和圖嵌入技術3部分.
1) 用戶評論需求挖掘.隨著用戶需求的不斷變化,移動應用的數量和種類越來越多.各類應用平臺都允許用戶以評分和評論的形式對其所使用的軟件應用進行評價.用戶對于應用軟件的評論中蘊含豐富的用戶需求偏好信息[5].因此,用戶評論信息是移動應用需求偏好分析任務的重要數據源.
目前已有很多研究工作致力于從用戶評論中分析用戶需求偏好.一部分研究者發現用戶評論的內容可以分為不同的類別.Pagano等人[1]研究了蘋果應用商店的超過100萬條用戶評論,研究發現,用戶評論通常包含多個主題,例如用戶體驗、錯誤報告和功能需求.Guzman等人[9]對Twitter平臺上有關移動應用的推文進行描述性統計,使用機器學習技術自動識別和收集需求信息.隨后文獻[10]采用機器學習和主題建模技術,進一步分析移動應用的推文,并完成自動分類、分組和排序.
另一部分研究工作在用戶評論分類的基礎上提取用戶需求偏好信息,便于進一步應用其他分析任務.Iacob等人[11]針對移動應用的在線評論研究了功能需求的自動檢索系統,該系統分為評論檢索、需求信息挖掘、需求信息概述以及數據可視化4個部分.Guzman等人[12]提出了一種挖掘用戶評論中需求偏好信息的方法.該方法根據用戶評論中的詞語出現頻率來提取特征,然后通過情感分析來確定用戶需求偏好.Zhang等人[13]提出一個顯式因子模型(explicit factor model)來實現推薦任務,他們分析用戶評論中的情感,發現了用戶評論中存在情緒差異.在文獻[14]中,作者從用戶評論中提取用戶需求偏好,進而完成個性化推薦任務.
以上的工作都說明用戶評論中蘊含豐富的用戶需求偏好信息,影響他人對移動應用的選擇.本文將用戶評論信息應用于移動應用的需求分析任務,便于為用戶推薦滿足需求偏好的移動應用.
2) 移動應用推薦.目前許多研究人員已經對移動應用推薦任務進行了廣泛的研究.個性化移動應用推薦是為了對用戶需求偏好進行建模,形成一種可解釋的、高效的推薦方法.傳統的推薦技術有基于協同過濾(CF)和基于內容(CB)的方法.現有的CF方法可以分為3種類型:基于用戶的方法、基于項目的方法和基于模型的方法.Amazon提出了一種基于項目的協同過濾算法,目的是尋找相似的商品[4].矩陣分解(matrix factorization, MF)是一種基于模型的協同過濾推薦方法[15].Kim等人[16]提出了一種個性化的應用推薦方法,他們探究了用戶與其使用的移動應用的語義關系.Xu等人[17]提出了基于應用-許可的二部圖模型來計算對移動應用的評分.Cheng等人[18]將短期上下文、共安裝模式和隨機選擇作為用戶需求偏好的影響因素,基于隱馬爾可夫模型實現移動應用推薦.
盡管有各種模型可以應用于移動應用推薦,但以上的工作考慮的因素仍然不夠全面,例如用戶評論.為此,有研究人員采用圖來清晰地表達各種知識之間的關聯.Zhang等人[19]劃分了用戶評論的類型,并結合評論中的情感因素形成本體概念,為用戶推薦合適的產品.文獻[20]通過將用戶-產品的權重矩陣轉換為關聯圖來分析用戶畫像,并將其用于推薦系統.
① https://stanfordnlp.github.io/CoreNLP/
本文側重融合移動應用的多維信息,形成含用戶需求偏好語義的表示方法,以獲得更好的推薦性能.
3) 圖嵌入技術.嵌入學習是指通過特定的方法學習對象在另一個度量空間中的向量表示,如LINE[21],DeepWalk[22],Node2vec[23]等.LINE解決了將大型信息網絡嵌入低維向量空間的問題.DeepWalk利用網絡中節點的隨機游走路徑來模擬文本生成過程,然后基于自然語言模型實現節點向量化.Node2vec是對DeepWalk的改進,通過優化節點轉移概率來改進隨機游走策略.DeepWalk和Node2vec技術對圖結構進行轉化,具體是通過在網絡中隨機游走得到節點路徑,然后應用skip-gram模型[24]實現節點嵌入.其中skip-gram模型是一種用于自然語言處理的神經網絡模型.這些嵌入工作將節點路徑視為句子,將每個節點視為一個單詞,然后使用skip-gram模型計算節點的嵌入向量.這些嵌入學習技術可以學習節點的上下文關系,便于計算節點之間的相似度.本文將嵌入學習技術應用于移動應用需求偏好分析領域,可以挖掘用戶和移動應用間的潛在聯系.
由于嵌入學習技術在數據挖掘方面具有巨大潛力,許多研究者已經將嵌入技術應用到了推薦領域.例如文獻[25-27]都采用了圖嵌入技術實現興趣點推薦.Shi等人[28]通過在異質網絡中的元路徑嵌入技術,實現電影推薦.淘寶、阿里的電商平臺也采用圖嵌入技術進行商品推薦[29-30].
本文研究的移動應用多維信息類型不同,可以構成含不同類型節點的圖網絡——異構信息網絡.已有研究表明,異構信息網絡中的許多數據挖掘任務都得益于元路徑[31].元路徑可以看作是異構信息網絡中的結構.相比于DeepWalk等沒有引用元路徑的方法,元路徑引導的隨機游走,可以捕獲不同類型節點之間的語義和結構相關性,促進異構節點的轉換,具有推薦可解釋性.Dong等人[32]構建了作者發表論文的異構信息網絡,并采用元路徑嵌入技術對學術領域的作者和會議進行分類.Zhao等人[28]設計了元路徑捕獲用戶觀看電影的語義,完成了電影推薦任務.但是他們的工作關注的特征信息較少,且適用于移動應用領域的多維信息.因此,本文基于移動應用的多維信息,設計了不同的元路徑以捕獲用戶需求偏好,并基于對需求偏好分析的理解來實現個性化推薦.
移動應用的文本信息蘊含用戶與移動應用之間的交互情況,如應用功能描述、用戶評論等.這些交互信息影響用戶對移動應用的需求偏好.例如,用戶會選擇含有特定功能的移動應用來下載,也會根據用戶評論的內容來挑選更心儀的軟件.因此,本文認為有必要從移動應用的文本信息中提取語義主題,這樣能夠多維度地分析用戶對移動應用的需求偏好.
在本節中,我們主要介紹移動應用文本信息的語義分析,文本信息包括移動應用的功能描述以及用戶評論2部分.本文語義分析的思路是通過詞向量模型計算語義相似性,并提取文本語義主題詞.因此,語義分析包括語義詞向量模型訓練和詞向量模型應用2個階段.在訓練階段,本文首先對文本信息進行自然語言處理形成語料庫,然后基于Word2vec[33]技術訓練詞向量模型.在應用階段,基于詞向量模型自動提取本文信息的語義主題.圖2為語義分析的整體框架,下文將詳細描述每個部分.
本文分別處理移動應用的描述文本和用戶評論文本.首先基于自然語言處理技術對原始數據預處理,包括去停用詞、詞性標注、詞形還原,以保證分析得到的語義主題詞具有實際意義.然后利用Word2vec模型分析語義,最終得到2個詞向量模型,分別用于功能描述和用戶評論.
1) 去停用詞.本文根據常用的停用詞列表,刪除本文信息中的停用詞,如“the” “I”“is”“%”“#”.這些停用詞不影響文本信息的語義,刪除它們可以減少噪音.而只保留其他的信息詞,如“account(賬戶)”或“monitor(監控)”會更有意義,因為這些詞能提高后續模型的學習效果.

Fig. 2 The semantic analysis framework for text information of mobile applications圖2 移動應用文本信息的語義分析框架
2) 詞性標注.本文的目的是選擇用戶評論和應用描述的語義主題,副詞和代詞不能很好地代表文本的意義,而名詞、形容詞或者動詞則能更好地表達文本的特征.因此,為了確保選擇的關鍵詞具有代表性并涵蓋大部分單詞,本文選擇名詞、動詞和形容詞來篩選語料.在自然語言處理工具①中,“NN”代表名詞,如“cost(成本)”“time(時間)”和“payment(支付)”等;“JJ”代表形容詞,如“high(高的)”“special(特殊的)”“local(本地的)”等;“VB”代表動詞,如“spend(花費)”“drive(驅動)”“assess(評估)”等.此外,這些詞語也包括不同的形態變化.
3) 詞形還原.詞形還原是將一個詞的不同形式還原為它們的基本詞根,作為一個單詞進行分析的過程.這一步識別了單詞的不同形式,解決了單詞冗余的問題.在分析過程中,出現在不同文本信息中的不同單詞,只要被識別為相同詞根,就按照同一個單詞進行訓練.具體來說,本文將單詞復數形式(ess)、過去式(ed)、現在時(ing)、副詞(ly)等多形式轉換為基本形式.例如“fixing”“fixed”以及“fixes”都會還原成原型“fix(修復)”.詞形還原有助于模型統一語義相同但語言形式不同的關鍵詞,從而保證關鍵詞的質量.
4) 基于Word2vec訓練模型.通過上述1)~3)過程,本文分別構建應用描述的語料庫以及用戶評論的語料庫,然后采用Word2vec模型提取語義主題詞.相比于傳統的TF-IDF模型根據單詞出現頻率計算關鍵詞,Word2vec能夠進一步分析文本的語義信息.它的原理是通過單詞的上下文預測中心詞,或者通過中心詞預測上下文.利用條件概率建模和神經網絡模型將詞語嵌入到高維空間中,形成單詞的向量化表示.單詞轉化為數值型的數據有利于后續計算.本文對已形成的語料庫進行詞向量訓練,最終得到2個模型.
我們的目的是提取每一個應用描述或者用戶評論文本的語義關鍵詞.在這個步驟,我們首先對文本數據進行去停用詞、詞性標注、詞形還原的預處理,然后載入訓練好的模型,計算詞語間相似性,進而提取語義主題詞.
1) 計算詞語間相似性.我們根據功能描述或者用戶評論文本中的每一個單詞,從對應的模型中獲取該單詞的向量表示.通過Word2vec計算的詞向量能夠在語義空間中得到數值和方向上的表示,即:2個詞向量在空間中越接近,說明2個單詞的語義越相似.基于這個原理,本文利用向量數量積的方式計算2個詞語間的相似性:
similar(u,w)=u·w,
(1)
其中u,w代表2個單詞的向量.
2) 語義關鍵詞提取.對于每一個待分析的文本,我們計算文本中每個單詞與其他單詞的相似性.然后我們將結果按照相似性數值從高到低排序,選取前3個相似性高的單詞作為該文本的語義主題詞.例如,一個移動應用的功能描述為“Through our Alliance Media app, access the latest videos, podcasts, and photos from The Alliance, as well as blog messages from Andy Albright, President & CEO of National Agents Alliance.”,它的中文含義是:“通過我們的聯盟媒體應用軟件,可以訪問聯盟最新的視頻、播客和照片,以及聯盟總裁兼首席執行官Andy Albright的博客信息”.這段文本經過我們的語義分析處理后,會提取到“Alliance(聯盟)”“President(總裁)”以及“video(視頻)”,這3個詞表達了該移動應用的關注對象和內容,能夠代表語義主題.
① 本文使用單引號‘’表示概念.使用斜體表示概念間的關系.
本節詳細介紹基于移動應用多維信息的概念模型構建以及元路徑的設計方式.概念模型能夠關聯融合移動應用的多維信息,為元路徑的設計提供知識基礎.元路徑用于捕捉用戶需求偏好,有助于為用戶推薦滿足需求偏好的移動應用.
移動應用的多維信息(例如應用類別、功能描述、評論)都影響著用戶的下載和使用意愿.這些信息形式不一,類型不同.為了同時考慮移動應用的多維信息,我們認為有必要建立一個概念模型來關聯不同類型的數據.
概念模型的作用是整合多個概念和關系,有助于精確地觀察數據之間的聯系,和發現更有意義的路徑或結構.我們構建的概念模型為后續的用戶需求偏好分析提供理論基礎.此外,只要明確概念以及關系的定義,就可以擴展概念模型以進一步豐富信息,這體現了我們方法的泛化能力.
本文使用概念建模技術[34]有效地建立移動應用多維信息概念模型.概念建模技術能夠表達異構實體之間的語義關系,挖掘數據中的特定概念,并處理概念之間的關系.我們將多維信息集成到概念模型中,能夠豐富用戶需求偏好的分析維度.為此,針對移動應用的需求偏好分析任務,我們研究多維信息間的關聯,構建了一個概念模型來統一動態的用戶需求偏好.圖3展示了我們設計的概念模型.

Fig. 3 The conceptual model of mobile applications’ multidimensional information圖3 移動應用的多維信息概念模型
下文將詳細說明設計細節.
1) 概念定義.本文分析了現有的移動應用需求偏好分析工作[35-37]中的數據,總結了常用的多維信息,包括用戶、移動應用、應用類別、功能描述、用戶評論、評分信息.我們將這些多維信息總結為3個核心概念:‘用戶’①‘移動應用’‘評價’.具體來說,從用戶對移動應用的需求偏好分析任務本身的角度來看,‘用戶’和‘移動應用’的概念必不可少.從影響用戶需求偏好分析效果的角度來看,用戶與移動應用之間的交互信息——評價,會影響用戶需求偏好,因此需要定義‘評價’概念.這3個概念存在于許多數據集中,具有廣泛的應用價值.
此外,根據3個核心概念,本文衍生了其他相關概念.具體地,‘用戶’具有‘姓名’概念(研究人員可以根據需求考慮用戶的性別、年齡等其他概念);‘移動應用’具有‘名稱’‘類別’‘功能描述’,以及根據功能描述提取的語義‘主題’等概念.‘評價’包括用戶的‘評分’‘評論’以及提取到的評論語義‘主題’.
2) 關系設計.這些不同的概念依靠不同的關聯關系連接.在核心概念中,用戶與移動應用間是使用關系,用戶會發表對移動應用的評價,然后移動應用擁有了評價信息.對于用戶概念來說,用戶擁有姓名;對于移動應用概念來說,它擁有名稱,屬于某個類別,擁有描述信息,其中描述信息包含我們提取得到的語義主題;對于評價概念來說,它包括評分和用戶評論,同理,評論信息包含了我們提取到的語義主題.
最后我們得到了如圖3所示的概念模型,以便于挖掘概念間的語義關系和用戶需求偏好信息.
概念模型包含了領域中經常出現和可解釋的路徑,路徑具有特定的語義.通過定義和分析路徑能有效地描述用戶需求偏好.因此,本文基于概念模型,將用戶的行為信息提取到元路徑中,從而設計了不同的元路徑.目的是抽象地表達用戶和移動應用之間的語義結構,來分析用戶對移動應用的需求偏好.下面首先給出元路徑的定義:
定義1.元路徑.元路徑m是一條包含關系的路徑,這些關系定義在不同的概念之間.元路徑是定義在一個圖網絡G(V,E)中的結構S(A,R),其中V表示節點集,E表示邊關系集,A∈V,R∈E,m可以表示為A1→A2→…→An(簡寫為A1A2…An),其中“→”用R連接[38].例如,圖4給出了用戶使用移動應用的簡單示例,其中“小趙—微信—小錢”就是一條元路徑,含義是小趙和小錢都使用微信,說明小趙和小錢具有一定的相似行為.

Fig. 4 The example of graph data for users using mobile applications圖4 用戶使用移動應用的圖數據示例
圖5展示了本文設計的4條有意義的元路徑(M1,M2,M3,M4).從基礎的需求任務角度出發,只涉及用戶和移動應用2個概念,我們設計了基礎路徑M1,它表示的含義是2個用戶都使用了同一個移動應用.這條元路徑能夠發現使用相同應用的用戶需求偏好相似性.

Fig. 5 The meta-path designed in this paper圖5 本文設計的元路徑
從探究影響用戶需求偏好效果的角度來看,我們分別根據應用類別、應用描述、用戶評論3個概念設計了3條元路徑(M2,M3,M4):

Fig. 6 The example of requirements analysis model圖6 需求分析模型示例
考慮到應用類別的影響,我們設計了元路徑M2,它表示的是2個用戶使用了不同的移動應用,這2個不同的應用屬于同一個類別.這解釋了使用相同類別應用的用戶需求偏好相似性.例如,小趙使用微信,小孫使用QQ,微信和QQ都屬于社交類別的應用,說明小趙和小孫在應用類別選取上有相似性.
考慮到應用描述的影響,為了方便對比不同應用描述的相似程度,我們使用提取到的描述語義主題代表描述文本.因此我們設計了元路徑M3,用來表示2個用戶使用了含有相似主題的不同移動應用.這解釋了使用相似功能移動應用的用戶需求偏好相似性.
考慮到用戶評論的影響,同理使用提取到的評論語義主題代表評論文本.我們設計了元路徑M4,用來表示2個用戶對同一個應用發表了相似的評論.這解釋了2個用戶對同一個應用的需求偏好相似性.
基于概念模型,移動應用的多維信息有效地關聯在一起,真實的數據能被轉化為一個圖網絡.嵌入技術能將圖網絡中的數據節點計算為低維向量表示[39],便于在需求分析任務中計算.元路徑是圖網絡中具有特殊意義的結構,便于表征用戶需求偏好.因此,本文提出了基于元路徑嵌入的移動應用需求偏好分析模型.
在本節中,我們詳細介紹模型的細節,包括3部分,圖6給出了模型示例.
1) 基于元路徑的隨機游走.目的是挖掘用戶的歷史需求偏好.利用改進的元路徑引導的隨機游走策略,將移動應用的圖數據轉化為一系列有意義的節點序列.輸入是用戶數據和元路徑,輸出是節點序列.
2) 基于skip-gram的嵌入學習.目的是學習節點序列的語義,將節點轉化為向量表示,便于后續計算.采用skip-gram模型,輸入為一系列節點序列,輸出為每個節點的向量表示,這些向量能夠概括元路徑中的多維信息.
3) 基于嵌入向量的移動應用推薦.目的是驗證模型是否能有效分析用戶的需求偏好.本文基于向量設計打分公式,根據每個用戶需求偏好提供個性化的移動應用推薦列表.輸入是節點嵌入向量,輸出是用戶的移動應用推薦列表.
隨機游走技術能模擬一個節點在圖網絡中可能的路徑.由一個節點開始的多次隨機游走,則能模擬出該節點在圖網絡中的鄰域.2個節點在圖網絡中的領域越相似,說明2個節點越相似.節點的鄰域被表示為一系列有意義的節點序列,這些序列能作為后續嵌入模型的輸入得到向量化的表示.通過對節點鄰域的學習,我們能很容易地發現圖中相似的節點.
根據上述原理,本文基于元路徑改進隨機游走策略,模擬出每個節點的具有用戶需求偏好語義的鄰域.具體來說,元路徑限制了每一次游走的節點類型.以元路徑M1(U-A-U)為例,若用戶節點U為起始節點,下一個必須游走到移動應用節點A,接著必須是用戶節點U,依次類推,直至達到設置好的路徑長度L結束.最終得到U-A-U-A-U-A…的序列,長度為L.
本文規范化基于元路徑隨機游走的節點轉移概率,給定一個圖網絡G(V,E)和元路徑m,轉移概率公式為
(2)
其中,φ(·)計算節點的類型,φvi-1(vi)表示vi-1之后的節點vi的類型,Nφvi-1(vi)是類型為φvi-1(vi)的節點數量.如果vi?V, 轉移概率為 0.
對于含有語義主題詞的元路徑(M3,M4),本文做出了進一步改進.為了挖掘相似的節點信息,我們希望在隨機游走出的路徑中,語義主題詞節點具有相似性.因此,本文在隨機游走過程中限制主題詞節點的相似性.如果當前的主題詞節點與上一個主題詞節點的相似性滿足設定的閾值,則保留當前主題詞節點并繼續隨機游走,否則將當前節點更換為其他的主題詞節點,再次判斷閾值.其中,語義主題詞相似性依據詞向量模型和余弦公式計算.算法1給出了本文基于元路徑的隨機游走過程.
算法1.基于元路徑的隨機游走算法.
輸入:圖網絡G(V,E)、元路徑m、隨機游走路徑長度L、每個節點隨機游走路徑條數n、主題詞相似性閾值s;
輸出:記錄節點序列的文件path.txt.
① for eachvinVdo
② fori←0 tondo
③path=[v];*路徑初始節點為v*
④ forj←0 toLdo
⑤ 按照元路徑的節點轉移概率,隨機游走到nv節點;
⑥ if (φ(nv)==“主題詞”且
similar(nv′,nv)
⑦path.append(nv);
⑧ end if
⑨ end for
⑩ end for
通過元路徑引導的隨機游走,我們能得到每個節點的鄰域序列.該部分的目標是將節點轉化為向量,為后續計算做鋪墊.
具體來說,給定一個圖網絡G(V,E),嵌入的任務是將節點計算為維數為d的潛在向量X∈R|V|×d(也稱為嵌入向量).在本文中,我們選擇skip-gram模型來學習節點的嵌入向量.該模型已在現有工作中得到有效性驗證[22-23].依據文獻[40],skip-gram在上下文窗口為w的條件下,通過最大化節點v的上下文節點“Context(v)”出現的概率來學習節點的嵌入向量:

(3)
其中,Context(v)屬于節點v的鄰域,由元路徑引導的隨機游走序列得到.P(v′|v;θ)通過softmax函數歸一化.為了加速訓練,本文參考文獻[40],采用負采樣的方式:
(4)

本文設計了4條不同的元路徑,分別是基線元路徑(M1)、蘊含類別信息的路徑(M2)、蘊含功能描述的路徑(M3)以及蘊含用戶評論的路徑(M4).本文將融合多條路徑綜合考慮用戶的需求偏好,為用戶提供個性化的移動應用.步驟分為2部分:基于單條元路徑計算用戶對移動應用的需求偏好打分、融合路徑計算綜合得分.
1) 基于單條路徑計算用戶對移動應用的需求偏好打分.通過嵌入技術,我們已經計算了每條元路徑的節點嵌入向量.節點的嵌入向量在空間中越接近,說明節點的相似性越高.因此,用戶對移動應用的需求偏好可以轉化為2個節點之間的相似度計算.相似性越高,需求偏好程度越高,說明用戶選擇該移動應用的可能性越大.用戶對移動應用的需求偏好由節點嵌入向量的數值大小和方向決定.向量數量積公式能考慮向量的大小和方向,因此,本文使用數量積來計算節點的相似性.具體來說,給定查詢用戶節點uq,對每個移動應用打分:
score(uq,aq)=uq·aq,
(5)
其中,uq為用戶節點向量,aq為移動應用節點向量.
2) 融合路徑計算綜合得分.對于每個用戶,我們分別基于除基線(M1)外的3條元路徑(M2,M3,M4),計算用戶對候選移動應用的打分值score2,score3和score4(分別基于元路徑M2,M3和M4計算).用戶對移動應用的綜合打分為s=score2+score3+score4.然后我們對候選移動應用的所有綜合得分(s值)進行排序,選擇得分最高的前k個移動應用來個性化推薦.
在本節中,我們使用本文提出的方法構建了一個移動應用需求偏好分析模型,并使用真實數據集測試和評估.下面詳細介紹實驗設置以及實驗結果.
本文的實驗關注2個研究問題:
1) 本文提出的基于元路徑嵌入的移動應用需求偏好分析方法是否能夠對用戶需求偏好進行有效的分析,并提高個性化推薦的準確性?
2) 本文的方法融合了3條單一的元路徑,路徑融合是否比單一路徑的效果更好?
我們利用網絡爬蟲技術獲取了蘋果應用商店的移動應用數據以及用戶評論數據,并將其作為原始數據集.原始數據集包含7 214 條移動應用記錄(包括應用編號、應用名稱、應用功能描述、應用類別編號、應用類別名稱),以及164 670條用戶評論記錄(包括應用編號、評論者姓名、評分、評論標題,評論內容).其中,應用編號和用戶名是唯一的,數據表可通過應用編號關聯.由于本文分析的文本信息為英文,且需要用戶使用移動應用的真實數據來進行實驗,因此本文要對原始數據按需求進行過濾.本文利用“應用編號”字段關聯數據,然后分為2步過濾數據:1)篩選英文文本.剔除無法識別、含亂碼、含非英文文本、不含英文文本的記錄.2)篩選用戶使用移動應用的記錄.剔除沒有用戶評論的移動應用,剔除沒有移動應用信息的用戶評論記錄.經過數據的篩選,最終得到1 507個移動應用,包含來自153 501條用戶評論.
我們收集每個用戶使用移動應用的情況,對每個用戶,隨機選取80%的使用移動應用的記錄構成訓練集,其余20%的使用記錄構成測試集.
為了評估本文模型,我們采用需求分析和推薦領域中主流的評價指標:前k個結果的查準率(Precision@k)、查全率(Recall@k)、F1值(F1@k)以及歸一化折損累計增益(NDCG@k)[36,41].其中,Precision@k衡量結果的準確性;Recall@k衡量結果召回情況,即推薦的移動應用與實際使用移動應用的比例;F1@k綜合考慮查準率和查全率;NDCG@k衡量推薦的排名質量,即排名越高,得分越高.對于每個用戶的移動應用推薦列表,我們分別計算這4個指標,最后取各指標的平均值作為最終結果:
(6)
(7)
(8)
其中,topku表示為用戶u推薦的前k個移動應用列表,Dtestu表示的是測試集中用戶u真實使用的移動應用列表.

(9)
其中,
(10)
其中,reli表示的是在排名結果中的第i個位置的相關性.在我們的方法中,如果推薦的移動應用是真實值,那么rel=1,否則rel=0.折損累計增益(discounted cumulative gain,DCG@k)表示對于k個候選排名結果列表,懲罰排名靠后的結果相關性數值,用于衡量一個推薦結果的排名質量.理想折損累計增益(ideal discounted cumulative gain,IDCG@k)表示理想的DCG@k結果,即首先將k個排名結果按相關性從高到低排序,再計算DCG@k.NDCG@k表示對結果歸一化,用于衡量不同推薦結果的排名質量.
在本文中,我們計算了所有用戶Precision@k,Recall@k,F1@k和NDCG@k(k=5,10,20,30,50)的平均值,作為最終的評估指標.這4個指標的數值范圍都為[0,1],且數值越高,推薦的效果越好.
本文的模型涉及多個參數.我們采用控制變量法進行了不同參數的實驗.以主題詞相似性閾值的設置為例,當其他參數不變時,我們調整不同的閾值來觀察我們方法的結果變化.圖7展示了k=10時4個指標的變化情況.從結果中看,Recall@10的變化起伏較大,其他指標的變化程度較小.3個指標都在0.75處取得了峰值.因此本文將相似性閾值設置為0.75.

Fig. 7 The impact of similarity threshold on results圖7 相似性閾值對結果的影響
通過對不同參數的實驗,本文給出了最佳的參數設置.其中,學習率learningrate=0.01,上下文窗口w=5,隨機游走路徑長度L=30,每個節點隨機游走路徑條數n=20.主題詞相似性閾值s=0.75.在本文中,針對所有的嵌入方法都使用相同的參數.
實驗1.針對研究問題1,為了驗證需求偏好分析方法的有效性,本文將我們提出的基于元路徑的移動應用模型與現有的模型對比.從推薦任務和圖嵌入技術2個角度考慮,本文采用的對比模型包括推薦模型(SVDFeature[42]和FM[43])以及圖嵌入模型(DeepWalk[22]).SVDFeature是一種基于特征的,可以添加輔助信息的推薦模型.本文使用移動應用的類別、功能描述主題以及用戶評論主題作為SVDFeature的輔助信息.FM模型是基于矩陣分解的推薦模型,它通過構建特征交叉來考慮特征之間的聯系.為保證數據的一致性,本文將用戶編號、移動應用編號、應用類別、功能描述主題、用戶評論主題作為FM模型的特征.DeepWalk模型不使用元路徑技術,直接通過節點轉移概率隨機游走,進而學習嵌入向量.為保證結果可比性,本文使用相同數據實驗.
實驗2.針對研究問題2,本文在相同的參數下,對比融合路徑與單元路徑的推薦效果.元路徑M1為基線路徑,表示不同用戶使用了同一個移動應用;元路徑M2表示不同用戶使用同類別的不同移動應用;元路徑M3表示不同用戶使用功能相近的不同移動應用;元路徑M4表示不同用戶對同一個應用有相近的評論含義.因此本文設計的元路徑M2,M3,M4能夠分別表示應用類別、應用描述主題以及用戶評論主題的語義.融合路徑(即模型MetaPath)包括這3種信息,通過對比實驗結果來分析各路徑的影響情況.
實驗1.本文提出的元路徑(MetaPath)方法與其他模型的對比結果如表1所示.從指標平均值可以看出,我們的方法在4個指標中都展示了最優的結果.仔細分析結果,發現的結論為:
1) 與推薦模型相比,MetaPath的F1@k平均值為0.086 88,比基線模型中表現最佳的SVDFeature提升了0.02左右.在NDCG@k平均結果上,MetaPath的值為0.301 05, 比FM模型提升了0.1左右.與圖嵌入模型相比,本文方法的結果更佳,說明引入元路徑的技術對推薦結果有積極影響.
2) 從Precision@k,F1@k和NDCG@k這3個指標來看,對于本文模型k=10時效果最佳.在真實情況中,用戶使用的移動應用數量有限,推薦列表中過多的移動應用數量會降低準確性,且可視化方法不易查看.過少的移動應用數量無法盡可能覆蓋用戶的需求偏好.因此,當任務的目標是追求推薦的準確性時,為每個用戶推薦10個候選的移動應用列表,這樣能最大程度地滿足用戶需求偏好.
3) 對于Recall@k來說,隨著k的增大,推薦效果越好,用戶需求偏好分析越準確.
對于研究問題1,總結來說,本文提出的基于元路徑的移動應用需求偏好分析方法,能有效分析用戶的需求偏好,并完成更優的個性化推薦.

Table 1 The Comparison Results of Our Method (MetaPath) with Others Models
實驗2.不同元路徑的對比結果如圖8所示.仔細分析結果,我們發現的結論為:
1) 總體來看,融合路徑的方法(MetaPath)在各指標結果上優于其他單獨的路徑.融合路徑綜合了移動應用類別、功能描述以及用戶評論信息,這說明融合多維信息的方法能更全面地捕捉用戶對移動應用的需求偏好.
2) 從整體看,MetaPath,MetaPath-M2,MetaPath-M3以及MetaPath-M4在各指標結果上均優于基線MetaPath-M1,這說明應用類別、功能描述以及用戶評論能有效挖掘用戶對移動應用的需求偏好,并提高結果的準確性.
3) 對于MetaPath-M2,MetaPath-M3和MetaPath-M4這3條單一路徑來說,在Precision@k,Recall@k和F1@k指標上,當k>5時MetaPath-M2效果最好,MetaPath-M4優于MetaPath-M3.當k=5時,MetaPath-M4有最優值.這說明在用戶的移動應用需求偏好分析任務中,推薦列表數量較小時,用戶更看重評論信息.而推薦列表數量大于5時,移動應用的類別信息占主要影響因素,其次是用戶評論信息,最后是功能描述信息.對于NDCG@k指標,k≤20時,MetaPath-M4優于MetaPath-M2;k>20時,MetaPath-M2的效果更優.說明從排名質量的角度看,推薦列表數量小于等于20時,用戶優先根據評論下載使用移動應用.因此,在后續工作中,針對不同的指標和任務,我們可以調整不同維度信息的權重來獲取更優結果.
對于研究問題2,總結來說,本文通過融合路徑綜合多個信息,能更全面地分析用戶需求偏好.移動應用的類別主要影響用戶的需求偏好,其次是用戶評論信息,最后是功能描述信息.
本節將對本文的方法和實驗細節深入討論,包括數據集、元路徑設計和路徑融合方式3個方面.
本文使用的數據集是來自蘋果應用商店的真實數據集.我們根據用戶使用移動應用的記錄來分析用戶行為背后的隱式需求偏好.用戶記錄數量的不同可能對結果產生影響.在一般情況下,大多數用戶不會頻繁下載多個移動應用.本文使用的數據集中,同一個用戶最多使用7個移動應用,這符合實際情況.因此本文模型目前在用戶記錄相差不大的數據集上得到有效性證明.今后我們將探索有更大差異的數據集來開展實驗,進一步驗證方法的有效性.
基于概念模型的元路徑設計方式多種多樣,不同的元路徑具有不同的語義,推薦的效果和意義也是不同的.元路徑數量每增加一條,模型的時間代價將增加一倍.元路徑的數量越多,模型越耗時.本文的首要目的是驗證元路徑引導的用戶需求偏好分析是否有效.因此,我們選取了有語義的且最重要的4條元路徑來開展實驗.實驗表明本文的模型能有效分析用戶的需求偏好.在未來工作中,我們將探索并設計更多的元路徑來優化模型.
本文的目標是驗證元路徑引導的用戶需求偏好分析是否有效.在此基礎上,我們初步研究了融合路徑方式以及不同的單一路徑對結果的影響.相加求和是最基本和最直接的融合方法,實驗結果也表明融合路徑能夠提升效果.事實上,元路徑的融合方式是一個需要深入探索的問題,例如在嵌入空間融合、對分值設置權重融合,這將涉及嵌入模型的優化、權重量化等多個問題.這并不是本文的研究重點,因此我們未深入分析打分相加的權重以及權重量化問題.基于融合路徑效果更佳這一初步結果,我們將在未來工作中重點研究高效的路徑融合方式.
本文提出了一種基于元路徑嵌入的移動應用需求偏好分析方法.首先提取了應用功能描述、用戶評論的語義關鍵詞;然后綜合移動應用的多維信息構建概念模型,進而設計一系列含有特殊語義結構的元路徑;最后基于元路徑改進隨機游走策略,利用嵌入技術學習節點向量,完成用戶對移動應用需求偏好的分析任務.實驗結果表明:本文提出的基于元路徑嵌入的移動應用需求偏好分析是可行且有效的.