關(guān)鍵詞:用戶興趣社區(qū);主題關(guān)系圖譜;主題挖掘;六度空間
0 引言
伴隨著互聯(lián)網(wǎng)的快速普及和用戶的大規(guī)模使用,各大平臺和系統(tǒng)的使用過程中產(chǎn)生了海量的數(shù)據(jù),且這些數(shù)據(jù)大多以文本形式保存?;谶@些數(shù)據(jù)進(jìn)行信息挖掘,對研究網(wǎng)絡(luò)社區(qū)可以提供極大的幫助。對用戶的興趣進(jìn)行分析與研究具有重要意義:用戶的行為、興趣愛好等,具有很高的社會研究價(jià)值,它們常常作為社交關(guān)系、信息傳播等相關(guān)學(xué)科的基礎(chǔ)研究對象。在復(fù)雜的社交網(wǎng)絡(luò)中發(fā)現(xiàn)社區(qū)結(jié)構(gòu),將有助于提高社交網(wǎng)站的個(gè)性化推薦系統(tǒng)、商家市場營銷活動、各類媒體新聞推薦的精準(zhǔn)性,從而提升用戶體驗(yàn)。
針對上述研究,本文提出了一種基于知識圖譜構(gòu)建主題關(guān)系圖譜以實(shí)現(xiàn)用戶興趣社區(qū)發(fā)現(xiàn)的方法。主要貢獻(xiàn)如下:首先,利用TF-IDF(詞頻-逆向文件頻率)算法提取出訓(xùn)練集中所有主題詞,并將其與非主題詞一同存儲至Neo4j圖數(shù)據(jù)庫中,構(gòu)建主題關(guān)系圖譜。其次,基于六度空間理論及Neo4j最短路徑算法,提出短文本主題挖掘算法,該算法利用主題關(guān)系圖譜對短文本進(jìn)行主題關(guān)系恢復(fù),實(shí)現(xiàn)短文本到長文本的逆向轉(zhuǎn)化,繼而挖掘主題。再次,在短文本主題挖掘過程中,使用主題遞歸相似度算法計(jì)算單詞之間的關(guān)聯(lián)度,并預(yù)訓(xùn)練出主題關(guān)聯(lián)度矩陣,最終實(shí)現(xiàn)用戶興趣社區(qū)關(guān)聯(lián)度的計(jì)算。
1 系統(tǒng)功能介紹
本文基于用戶發(fā)布的文本信息和社交關(guān)系等,分析用戶興趣愛好的主題相似度及關(guān)聯(lián)度,并對用戶的興趣愛好進(jìn)行挖掘和建模。
1.1 用戶信息分析與建模
想要挖掘用戶的興趣信息,較為有效的方式是直接分析用戶的信息。通過文本形式挖掘用戶的興趣并進(jìn)行建模,提取出相關(guān)文本的關(guān)鍵詞、進(jìn)行主題分析,從而描述用戶的興趣傾向。常用方法有TF-IDF(Term Frequency-Inverse Document Frequency) 和LDA(Latent Dirichlet Allocation) [1]等,也包括基于圖模型的詞語排序算法TextRank。TF-IDF 算法通過統(tǒng)計(jì)詞頻,并以頻率越低越重要的思想選取關(guān)鍵詞,其判斷方法簡單,但忽略了文本中的語義信息。LDA模型被廣泛應(yīng)用于文本語義相似度計(jì)算中,作為一種三層貝葉斯模型,它可以提取主題作為用戶特征,但在處理短文本時(shí)效果并不理想。
社交平臺具有文本內(nèi)容短小的特點(diǎn),“文檔-詞”的映射關(guān)系比較稀疏。對此,主題模型的改進(jìn)思路如下:一是引入外部文本對原始文本進(jìn)行“擴(kuò)容”,Hong 從詞語出發(fā),將含有相同單詞的短文本進(jìn)行聚合;Phan則利用大量的額外知識(如Wiki) 豐富短文本的信息。二是基于同義詞關(guān)系進(jìn)行建模,BTM模型構(gòu)建全局的詞對集合,代替原始文本中的詞語,從而豐富了文本中的主題映射關(guān)系。
1.2 用戶群體發(fā)現(xiàn)與興趣挖掘
在社交網(wǎng)絡(luò)中,用戶群體可以稱為社區(qū)(commu?nity) 或簇(cluster) [2]。從網(wǎng)絡(luò)結(jié)構(gòu)來看,社區(qū)包括了用戶節(jié)點(diǎn)及用戶關(guān)系。通常,社區(qū)的發(fā)現(xiàn)有三種方式:以節(jié)點(diǎn)連接、以節(jié)點(diǎn)屬性連接,或者是將兩者進(jìn)行結(jié)合。通過內(nèi)容發(fā)現(xiàn)社區(qū)的方法有:Zhou[3]提出了一種融合用戶和話題的概率模型,用于挖掘與社區(qū)相關(guān)的話題語義。然而,僅僅從各自的角度來劃分社區(qū),其結(jié)果可能無法完整準(zhǔn)確地反映實(shí)際情況。部分研究者基于此問題,將用戶連接關(guān)系和信息內(nèi)容進(jìn)行結(jié)合,并應(yīng)用于社區(qū)發(fā)現(xiàn)。Yan等[4]研究了綜合LDA和Link模型的方法,從主題語義和文檔關(guān)聯(lián)關(guān)系兩個(gè)角度對話題和作者群體進(jìn)行了建模。Yang等[5]組合使用條件模型和判別模型,分析了用戶連接關(guān)系和節(jié)點(diǎn)內(nèi)容,并提出了一種兩階段優(yōu)化算法用于社區(qū)發(fā)現(xiàn)。Qi 等[6]提出了一種改進(jìn)的矩陣分解算法(Edge-InducedMatrix Factorization,EIMF) 。Sachan 等對Pathak[7] 的“社區(qū)-作者-接收者-主題”模型提出了改進(jìn),結(jié)合交互話題和網(wǎng)絡(luò)結(jié)構(gòu)用于識別社區(qū)。
現(xiàn)有的很多社區(qū)發(fā)現(xiàn)方法主要包括基于連接關(guān)系的方法、基于信息內(nèi)容的方法以及兩者的結(jié)合。然而,由于社交網(wǎng)絡(luò)用戶可能存在于多個(gè)不同群體或社區(qū),使得社交網(wǎng)絡(luò)的類型多樣且關(guān)系復(fù)雜。因此,想要單純通過連接信息來判斷關(guān)系類型或基于這些關(guān)系組成的群體是非常困難的。過去,谷歌發(fā)布了其基于知識圖譜(Knowledge Graph,KG) 的搜索引擎產(chǎn)品。知識圖譜的本質(zhì)包含知識表示(Knowledge Representa?tion) 和知識庫(Knowledge Base) 。知識庫來源于知識構(gòu)建、知識抽取和知識融合,可用于語義搜索和知識問答,非常適合文本語義推理和用戶社區(qū)發(fā)現(xiàn)。Neo4j圖數(shù)據(jù)庫最早在2010年發(fā)布,它是NoSQL數(shù)據(jù)庫的一種類型。圖數(shù)據(jù)庫中主要存儲節(jié)點(diǎn)(Node) 和連接節(jié)點(diǎn)的關(guān)系(Relationship) 。節(jié)點(diǎn)、關(guān)系和屬性的數(shù)據(jù)存儲方式非常適合社交網(wǎng)絡(luò)的存儲和分析。
2 主題關(guān)系圖譜構(gòu)建及短文本主題挖掘算法
2.1 數(shù)據(jù)集預(yù)處理
本文通過使用來自非社交網(wǎng)絡(luò)的長文本進(jìn)行主題關(guān)系圖譜的建模。由于用戶發(fā)布的文本信息并不會脫離外部語境,因此基于這些外部文本進(jìn)行訓(xùn)練,可以得到更完整的主題關(guān)系圖譜。主題關(guān)系圖譜主要由普通單詞、主題單詞及單詞間關(guān)系組成。結(jié)合圖數(shù)據(jù)庫的存儲原理,在主題關(guān)系圖譜中,單詞作為節(jié)點(diǎn)存儲,主題則作為屬性存儲在關(guān)系之上。本文所提出的主題區(qū)別于傳統(tǒng)概念上的“主題”,前者具有標(biāo)簽或代號的含義,用于標(biāo)記兩個(gè)單詞之間的關(guān)系,以實(shí)現(xiàn)高關(guān)聯(lián)度單詞(即出現(xiàn)在同一文本中概率較高的單詞)的聚類。因此,主題可以使用文本中的關(guān)鍵詞進(jìn)行表示。
2.2 分詞及主題選取
本文使用Jieba分詞工具將每條新聞進(jìn)行分詞,并去除停用詞。然后,使用TF-IDF算法對分詞后的關(guān)鍵詞進(jìn)行排序,選取權(quán)重最高的關(guān)鍵詞作為主題。
2.3 主題關(guān)系圖譜訓(xùn)練
在自然語言中,單詞間通過各種排列組合構(gòu)成句子,從而表達(dá)語義。因此,單詞間存在特定的聯(lián)系。分詞后,本文選擇Neo4j圖數(shù)據(jù)庫對單詞進(jìn)行存儲。由于單詞之間存在多對多的組合關(guān)系,在語料訓(xùn)練過程中,需要通過創(chuàng)建關(guān)聯(lián)表的方式來記錄不同單詞間的關(guān)系,并且需要將語料中的主題信息保存到單詞的關(guān)系中,以增強(qiáng)語義信息的維度。而圖數(shù)據(jù)庫正好符合上述存儲單詞和主題的要求。本文利用圖數(shù)據(jù)庫構(gòu)建主題關(guān)系圖譜(WordGraph) ,用于存儲單詞及單詞間的關(guān)系。具體來說,本文為每個(gè)單詞創(chuàng)建一個(gè)節(jié)點(diǎn),單詞的文本內(nèi)容作為節(jié)點(diǎn)的屬性。每兩個(gè)相連的詞,依據(jù)前后順序使用有向關(guān)系進(jìn)行連接,主題的文本信息則作為關(guān)系的屬性。相同關(guān)系出現(xiàn)的次數(shù),也同樣作為關(guān)系的屬性進(jìn)行存儲。
在新聞?wù)Z料(NewsList) 的累計(jì)訓(xùn)練過程中,每個(gè)計(jì)算周期處理相鄰的兩個(gè)單詞,若WordGraph中已存在當(dāng)前單詞,則圖譜中不新增對應(yīng)單詞。單詞間的關(guān)系具有方向性,由文本中單詞的前后位置決定。后續(xù)訓(xùn)練中,若WordGraph中已存在相同方向的關(guān)系,則將關(guān)系中的rct屬性加1(rct表示同方向單詞對出現(xiàn)的次數(shù))。若兩個(gè)單詞所屬主題不包含在kw屬性中,則額外增加,例如原主題為kw1,當(dāng)前主題為kw2,則屬性r的表示方式為:r:{kw:’kw1|kw2’,rct:2}。
另外,主題詞同樣作為節(jié)點(diǎn)存儲于WordGraph 中。而判斷主題關(guān)聯(lián)度的重點(diǎn),便是在WordGraph中查找主題間的最優(yōu)路徑(BP, Best Path) 。由于兩個(gè)關(guān)聯(lián)度極低的單詞,在BP的查找上會遍歷近整個(gè)Word?Graph,因此在查找層數(shù)上需要設(shè)置閾值來提高性能。本文引入“六度空間理論”為閾值的設(shè)定提供理論依據(jù)。六度空間理論(Six Degrees of Separation) 指出,在社會網(wǎng)絡(luò)中,任何一個(gè)人通過6個(gè)中間人就能夠認(rèn)識任何一個(gè)陌生人。WordGraph擁有與社會網(wǎng)絡(luò)相似的結(jié)構(gòu),因此可以假設(shè),任何兩個(gè)不同的單詞,總能夠通過6層以內(nèi)的路徑產(chǎn)生聯(lián)系。在Neo4j中可通過以下公式查詢兩個(gè)單詞間的最短路徑:
其中:w1、w2 代表需要查詢最短路徑的兩個(gè)單詞;F 代表shortestPath函數(shù)。p 是最短路徑的結(jié)果集,包含連接兩個(gè)單詞之間的所有單詞和關(guān)系,[*...6]表示要求所查詢路徑中關(guān)系層數(shù)不超過6。通過測試和統(tǒng)計(jì)后發(fā)現(xiàn),WordGraph詞匯量在1 000以上時(shí),80% 單詞間最短路徑在2~3層,且隨著詞匯量的上升,最短路徑將趨向于1~2層。
2.4 短文本逆轉(zhuǎn)換及主題挖掘
社交網(wǎng)絡(luò)中用戶發(fā)布的短文本信息存在稀疏性問題,即文本層面的主題信息不明確或缺失?;谥黝}關(guān)系圖譜,可將短文本逆向轉(zhuǎn)換為關(guān)聯(lián)主題詞袋,繼而使用TF-IDF從詞袋中挖掘真正主題。
在主題關(guān)系圖譜中,以兩個(gè)相鄰單詞的最短路徑為中心存在一個(gè)局部主題關(guān)系圖譜。假設(shè)存在一個(gè)由單詞W1和W2之間的2層最短路徑構(gòu)成的局部主題關(guān)系圖譜。短文本主題挖掘過程如下:查找短文本中每兩個(gè)相鄰單詞間的局部主題關(guān)系圖譜,記為sWG,主題詞袋記為kwB。使用TF-IDF算法從主題詞袋中查找最終主題詞:
2.5 主題關(guān)聯(lián)度計(jì)算及其矩陣構(gòu)建
主題關(guān)聯(lián)度的計(jì)算思路為:兩個(gè)單詞間路徑的層數(shù)越少,則關(guān)聯(lián)度越高,階數(shù)越少,關(guān)聯(lián)度越高。
主題關(guān)聯(lián)度計(jì)算流程如下:通過Neo4j最短路徑算法查詢W1和W2間的首階單詞集合{W11,W12,…,W1n},然后按照詞順序計(jì)算所有單詞間主題關(guān)聯(lián)度的加權(quán)和平均。最終每兩個(gè)單詞x1,x2的主題關(guān)聯(lián)度結(jié)果為relx1x2:
2.6 詞主題關(guān)聯(lián)度矩陣構(gòu)建(WTRM)
由主題關(guān)聯(lián)度的計(jì)算過程可知,每計(jì)算一次兩個(gè)單詞之間的主題關(guān)聯(lián)度,將消耗大量的計(jì)算資源,因此需要在預(yù)訓(xùn)練過程中對圖譜中的所有單詞進(jìn)行主題關(guān)聯(lián)度的預(yù)計(jì)算并存儲。由此,可以得到詞主題關(guān)聯(lián)度矩陣(Word Topic Relevance Matrix,WTRM) ,矩陣中的每一行代表一個(gè)單詞的詞向量(relxnx1,...,relxnxm)。本研究選取了微博平臺的特定數(shù)據(jù)集,該集合包含1000位用戶的詳細(xì)信息及他們之間超過2萬條的互動連接。為深化對用戶興趣特性的理解,實(shí)驗(yàn)采用人工標(biāo)注法,對這1 000名用戶中的900人進(jìn)行了精細(xì)標(biāo)注。標(biāo)注依據(jù)的興趣分類體系涵蓋了50種不同的二級興趣子類別,旨在全面描繪用戶的多元興趣結(jié)構(gòu)。實(shí)驗(yàn)選擇的對比方法為SocDim、wvRN和LGC。在探究用戶興趣聚類的不同策略中,SocDim方法首先依據(jù)用戶間的社交連接來辨別并劃分關(guān)系群體,繼而運(yùn)用One-vs-Rest Support Vector Machine (SVM) 算法從這些群體中提取其典型興趣特征。另外,wvRN算法采取了一種基于局部鄰近節(jié)點(diǎn)的共識機(jī)制,通過節(jié)點(diǎn)間相互投票來量化單個(gè)用戶的興趣偏好。相比之下,LGC方法采用了生成式概率模型框架,其核心在于先以概率原則分割出用戶群體,然后將群體成員身份這一屬性視為關(guān)鍵特征,用于后續(xù)的模型訓(xùn)練過程。
針對上述方法,本文所提出的創(chuàng)新方案立足于WTRM模型,旨在通過計(jì)算用戶興趣與各類標(biāo)簽在社區(qū)層面的相關(guān)性,以此揭示并提煉出用戶群體共享的興趣模式。為了驗(yàn)證所提方法的有效性,設(shè)計(jì)了如下實(shí)驗(yàn):利用已標(biāo)注興趣且歸屬群體明確的用戶數(shù)據(jù)集進(jìn)行訓(xùn)練,目的在于評估各方法對群體內(nèi)未標(biāo)注用戶興趣預(yù)測的準(zhǔn)確性。邏輯上,預(yù)測結(jié)果與實(shí)際興趣貼合度越高,則表明該方法在揭示群體共性興趣方面的效能越顯著。在此過程中,實(shí)驗(yàn)選用Macro-F1作為主要評價(jià)指標(biāo)。該指標(biāo)的計(jì)算邏輯包括兩步:首先,對每個(gè)類別獨(dú)立計(jì)算其精確率與召回率,并據(jù)此得出各自的F1分?jǐn)?shù);其次,對所有類別得到的F1分?jǐn)?shù)求平均值,從而得到最終的Macro-F1值,以此綜合反映模型在多類別興趣預(yù)測上的均衡性能。設(shè)yi,y'ki∈ {0,1}分別為用戶i 的真實(shí)興趣標(biāo)簽和預(yù)測標(biāo)簽,對于類別k的準(zhǔn)確率、召回率和F1的計(jì)算方法如下:
逐步提升了已標(biāo)注用戶樣本在總樣本中的比例,由初始的10%遞增至90%,旨在觀察各方法在不同標(biāo)注比例下對未標(biāo)注用戶興趣預(yù)測的效果變化。
3 結(jié)束語
本文所提出的基于WTRM的興趣相似度計(jì)算方法,綜合考慮了主題關(guān)聯(lián)度和詞向量相似度對用戶文本主題表達(dá)的影響,避免了僅考慮詞頻等單一特征所帶來的誤差,能進(jìn)一步提高興趣發(fā)現(xiàn)的能力。首先,通過TF-IDF提取語料中的主題詞;其次,配合圖數(shù)據(jù)庫,將分詞后的單詞一起構(gòu)建成詞關(guān)系網(wǎng)絡(luò)。然后,基于六度空間理論及NEO4J的最短路徑算法,提出基于主題關(guān)系圖譜的短文本主題挖掘算法,并構(gòu)建詞主題關(guān)聯(lián)度矩陣。最后,從詞主題關(guān)聯(lián)度矩陣中得到詞向量,并計(jì)算相似度,從而獲得用戶社區(qū)文本信息的主題關(guān)聯(lián)度,進(jìn)而應(yīng)用于挖掘用戶群體興趣。