周金澤
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院,云南 昆明 650500)
智能手機(jī)和移動(dòng)互聯(lián)網(wǎng)的普及促進(jìn)了APP 的蓬勃發(fā)展,APP已經(jīng)成為人們生活不可或缺的一部分。然而,APP 市場(chǎng)競(jìng)爭(zhēng)激烈,為了在激烈的市場(chǎng)中獲得成功,開發(fā)者需要深入了解用戶需求,優(yōu)化APP 功能和用戶體驗(yàn)。在這個(gè)背景下,APP用戶知識(shí)圖譜[1-2]應(yīng)運(yùn)而生。通過APP用戶知識(shí)圖譜有望幫助開發(fā)者更好地理解用戶需求,提高APP的品質(zhì)和用戶滿意度。本文旨在介紹這種方法的實(shí)現(xiàn)原理和應(yīng)用效果,并探究其未來發(fā)展的潛力和前景。
目前,已經(jīng)有很多學(xué)者對(duì)知識(shí)圖譜構(gòu)建方法提出自己的構(gòu)建算法。文獻(xiàn)[3]在2018 年提出了一種名為“Event-Centric Temporal Knowledge Graph(EventKG)”的多語言時(shí)序知識(shí)圖譜,該圖譜以事件為中心。文獻(xiàn)[4]提出了一種金融事件知識(shí)的語義表示方法,該方法可自動(dòng)處理和分析金融事件的意義,以協(xié)助決策。
然而,這些研究在知識(shí)圖譜構(gòu)建的過程中并沒有充分挖掘數(shù)據(jù)可用性與細(xì)化實(shí)體行為。因此,本文提出一種基于用戶行為分析的APP 用戶知識(shí)圖譜構(gòu)建方法,為APP 開發(fā)提供更加全面和有效的支持和保障。
本文提出了一種基于用戶行為分析[5-6]的用戶構(gòu)建方法。為了構(gòu)建APP 用戶知識(shí)圖譜,首先要進(jìn)行APP 用戶行為分析;接著,根據(jù)APP 用戶分析結(jié)果進(jìn)行用戶關(guān)系抽??;最后,根據(jù)用戶關(guān)系屬性抽取結(jié)果構(gòu)建APP 用戶知識(shí)圖譜。整體算法的流程框圖如圖1 所示。
圖1 整體流程框圖
APP 用戶行為[7-8]指的是用戶在使用特定應(yīng)用程序時(shí)所展現(xiàn)出來的行為或活動(dòng),這些行為可以被記錄在APP 的日志中,并為APP 開發(fā)者或運(yùn)營(yíng)者提供有用的數(shù)據(jù)和見解。然而,本文提到的APP 用戶行為并不涉及軟件的用戶操作[9],而是APP 用戶在應(yīng)用市場(chǎng)網(wǎng)站發(fā)生的各項(xiàng)行為。
定義1:APP 用戶行為。本文提出的APP 用戶行為指的是APP 用戶在軟件應(yīng)用市場(chǎng)的用戶行為,常見的APP 用戶在軟件應(yīng)用市場(chǎng)的行為有:評(píng)論、點(diǎn)贊、推薦、下載等。
評(píng)論是用戶最直觀的一種行為表現(xiàn),但本文還可以從用戶評(píng)論內(nèi)容、點(diǎn)贊、評(píng)價(jià)次數(shù)和下載的軟件種類等數(shù)據(jù)中抽取更深層的、粒度更細(xì)的用戶行為。通過分析大量評(píng)論數(shù)據(jù),本文定義了四種細(xì)化的APP用戶行為。
定義2:用戶評(píng)價(jià)前后邏輯一致性。用戶針對(duì)一款軟件隨著時(shí)間推移會(huì)進(jìn)行多次的評(píng)價(jià)。對(duì)于一些APP用戶,因?yàn)槠錄]有實(shí)際使用過軟件,所以不能真實(shí)地給出軟件使用反饋,其評(píng)論內(nèi)容就可能會(huì)出現(xiàn)前后矛盾的情況。
定義3:用戶評(píng)價(jià)時(shí)間重合度。用戶對(duì)軟件會(huì)有多次的評(píng)價(jià),一些用戶往往通過程序進(jìn)行集中的評(píng)論發(fā)表,相反,一些用戶發(fā)表評(píng)論的時(shí)間就比較分散。
定義4:用戶評(píng)價(jià)軟件次數(shù)。針對(duì)APP 用戶會(huì)出現(xiàn)對(duì)軟件進(jìn)行多次評(píng)價(jià)的情況,用戶評(píng)價(jià)軟件次數(shù)能很好地反映用戶活躍度。
定義5:用戶好評(píng)占比。用戶針對(duì)每一款軟件會(huì)給出自己的好評(píng)或者差評(píng),所以,用戶好評(píng)占比也能很好地體現(xiàn)用戶之間的差異性。
本文定義了4 種APP 用戶行為,并用一個(gè)三元組來描述:例如(用戶1,評(píng)價(jià)4 次,軟件1)、(用戶2,100%好評(píng),軟件2)、(用戶2,前后評(píng)價(jià)不一致,軟件2)。本文將用戶行為映射為用戶與軟件之間的關(guān)系,并且用戶與用戶、軟件與軟件也可以通過某種關(guān)系屬性相互關(guān)聯(lián)。綜上所述,本文定義了用戶與用戶、用戶與軟件、軟件與軟件之間的關(guān)系屬性。
定義6:用戶與軟件關(guān)系屬性。用戶與軟件之間的關(guān)系屬性包括用戶實(shí)體、軟件實(shí)體和關(guān)系屬性。其中,關(guān)系屬性包括四種類型:首先,通過統(tǒng)計(jì)用戶對(duì)軟件的評(píng)論時(shí)間段的重合度來量化用戶與軟件之間的關(guān)系屬性;其次,通過計(jì)算用戶對(duì)軟件的好評(píng)占總評(píng)價(jià)的比例來獲得另一條關(guān)系屬性;接著,考慮用戶多條評(píng)論的觀點(diǎn)傾向是否一致,若存在明顯態(tài)度轉(zhuǎn)變,則將其表示為{用戶,評(píng)價(jià)前后邏輯一致性(一致/不一致),軟件};最后,通過統(tǒng)計(jì)用戶對(duì)軟件的評(píng)價(jià)次數(shù)來得到另一條關(guān)系屬性。
定義7:用戶與用戶關(guān)系屬性。用戶與用戶的關(guān)系屬性包含三個(gè)部分:用戶實(shí)體1、用戶實(shí)體2、關(guān)系屬性。其中,關(guān)系屬性為用戶實(shí)體1 與用戶實(shí)體2 的用戶名的相似度,用三元組可以表示為(用戶1,用戶名相似,用戶2)。
定義8:軟件與軟件關(guān)系屬性。軟件與軟件的關(guān)系屬性包含三個(gè)部分:軟件實(shí)體1、軟件實(shí)體2、關(guān)系屬性。其中,關(guān)系屬性為軟件實(shí)體1 與軟件實(shí)體2 之間是否為同一個(gè)類別的軟件,用三元組可以表示為{軟件1,(同類/不同類)軟件,軟件2}。
結(jié)合上述的用戶與軟件、用戶與用戶、軟件與軟件的關(guān)系屬性定義,就可以對(duì)實(shí)體間關(guān)系屬性進(jìn)行抽取,如表1 所示。
表1 實(shí)體關(guān)系屬性定義
基于上述關(guān)系屬性的定義,對(duì)用戶與用戶、用戶與軟件、軟件與軟件之間的關(guān)系抽取提出下列關(guān)系屬性抽取算法。
2.2.1 用戶-軟件(評(píng)價(jià)前后邏輯一致性)
在用戶-軟件關(guān)系中,評(píng)價(jià)的前后邏輯一致性對(duì)于構(gòu)建用戶關(guān)系至關(guān)重要。首先,可以計(jì)算一個(gè)用戶表達(dá)的多個(gè)評(píng)價(jià)觀點(diǎn)的情感傾向[10-11],并將所有情感傾向值放入一個(gè)集合中,如公式(1)所示:
式中ci代表每個(gè)觀點(diǎn)的情感傾向值。隨后,可以使用公式(2)計(jì)算該用戶所有情感傾向值的平均值。
基于上述兩個(gè)算法公式計(jì)算出來的Consistency 計(jì)算多個(gè)情感傾向值的標(biāo)準(zhǔn)差,當(dāng)標(biāo)準(zhǔn)差小于等于時(shí),將其量化為1(表示用戶前后觀點(diǎn)一致);當(dāng)標(biāo)準(zhǔn)差大于時(shí),將其量化為0(表示用戶前后觀點(diǎn)不一致),具體的抽取算法如算法1所示。
算法1:評(píng)價(jià)前后邏輯一致性關(guān)系抽取
上述算法通過情感分析[12-13]對(duì)用戶評(píng)價(jià)觀點(diǎn)進(jìn)行量化。
2.2.2 用戶-用戶(用戶名相似度)
在比較用戶名之間的相似度時(shí),簡(jiǎn)單的語義相似度并不能滿足需求。因此,本文將用戶名劃分為三個(gè)類別進(jìn)行比較,分別是中文名、英文名和無關(guān)字符。本文使用余弦相似度來衡量?jī)蓚€(gè)用戶名之間的相似度。對(duì)于兩個(gè)向量VA 和VB,余弦相似度可以使用式(3)來計(jì)算。
式中:“·”表示兩個(gè)向量的點(diǎn)積;“‖ ?‖”表示向量的歐幾里德范數(shù)。更高的余弦相似度值表示兩個(gè)向量之間具有更高的相似度,該值的范圍在-1~1 之間。為了統(tǒng)一量化區(qū)間,通過線性變換公式(4)將區(qū)間[-1, 1]映射到[0, 1]。
式中:Mapped 表示變換后的區(qū)間;Oringal 表示變換前的區(qū)間。通過對(duì)每個(gè)類別的相似度進(jìn)行比較,本文能夠更準(zhǔn)確地判斷用戶名之間的相似程度。抽取算法如算法2 所示。
算法2:用戶名相似度關(guān)系抽取
2.2.3 用戶-軟件(評(píng)價(jià)時(shí)間重合度)
一些APP 用戶往往會(huì)選擇在相對(duì)集中的時(shí)間段內(nèi)進(jìn)行評(píng)價(jià),以增加其評(píng)論的影響力。相反,一些用戶的評(píng)價(jià)時(shí)間分布較為分散。評(píng)價(jià)時(shí)間重合度的計(jì)算方法如公式(5)所示:
式中:min(ti2)代表所有評(píng)價(jià)時(shí)間間隔的最小結(jié)束時(shí)間;max(ti1)代表所有評(píng)價(jià)時(shí)間間隔的最大開始時(shí)間;和分別代表所有評(píng)價(jià)時(shí)間間隔的開始時(shí)間和結(jié)束時(shí)間的總和。
具體的抽取算法如算法3 所示。
中國(guó)科學(xué)院院士賈承造認(rèn)為,推動(dòng)我國(guó)天然氣高質(zhì)量發(fā)展首先需要加快天然氣產(chǎn)供儲(chǔ)銷體系建設(shè),以保證天然氣安全平穩(wěn)供應(yīng),滿足人民日益增長(zhǎng)的用氣需求。
算法3:評(píng)價(jià)時(shí)間重合度關(guān)系抽取
2.2.4 其他關(guān)系屬性
首先,針對(duì)用戶與軟件之間的好評(píng)占比這一關(guān)系屬性,通過計(jì)算好評(píng)次數(shù)占總點(diǎn)評(píng)次數(shù)的占比,可以由公式(6)得到:
式中:P表示好評(píng)占比;Pi表示第i條評(píng)論的好評(píng)或者差評(píng)情況(好評(píng)為1,差評(píng)為0);n表示評(píng)論總數(shù)。
接著,軟件與軟件之間的軟件間類別是否相似可以由計(jì)算語義相似度得到。
最后,用戶與軟件之間的用戶評(píng)價(jià)軟件次數(shù)通過統(tǒng)計(jì)累加得到。
定義9:APP 用戶知識(shí)圖譜。APP 用戶知識(shí)圖譜是一種特殊類型的用戶關(guān)系圖,用于表示一個(gè)APP 軟件應(yīng)用市場(chǎng)中用戶與用戶、用戶與軟件、軟件與軟件之間的關(guān)系。由用戶節(jié)點(diǎn)、軟件節(jié)點(diǎn)和關(guān)系屬性組成。用戶節(jié)點(diǎn)表示APP 應(yīng)用市場(chǎng)中的注冊(cè)用戶,每個(gè)用戶節(jié)點(diǎn)包括用戶IP、用戶名兩種信息。軟件節(jié)點(diǎn)表示APP 軟件本身,用APP 的名稱來表示,每個(gè)軟件節(jié)點(diǎn)包括軟件名稱與軟件類別兩種信息。關(guān)系屬性包括用戶與用戶、用戶與軟件、軟件與軟件之間的關(guān)系屬性類型和權(quán)重。
通過將APP 用戶行為映射為用戶關(guān)系屬性,從而構(gòu)建APP 用戶關(guān)系圖將多個(gè)用戶關(guān)聯(lián)起來。APP 用戶知識(shí)圖譜可以挖掘用戶之間的共性和差異,為開發(fā)人員提供良好的用戶反饋。
根據(jù)本文提出的APP 用戶知識(shí)圖譜構(gòu)建方法,隨機(jī)選擇106 604 條APP 用戶數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)進(jìn)行實(shí)體關(guān)系屬性抽取。抽取的結(jié)果如表2~表5 所示。
表2 用戶節(jié)點(diǎn)抽取結(jié)果
表2 展示了抽取出的部分用戶節(jié)點(diǎn)信息,通過三個(gè)字段進(jìn)行定位,分別是Id、Name、Label。
表3 展示了用戶與軟件之間的部分關(guān)系屬性,通過StartId、Name、EndId、Type 字段定位APP 用戶知識(shí)圖譜中的一條邊。
表3 用戶與軟件關(guān)系抽取結(jié)果
在表3 中,抽取了用戶與軟件之間的四種關(guān)系屬性,分別是:評(píng)價(jià)前后邏輯一致性(EvalConsistency)、評(píng)價(jià)時(shí)間重合度(EvalCoincidence)、用戶評(píng)價(jià)軟件次數(shù)(EvalTimes)和好評(píng)占比(ProComments)。表4 展示了軟件與軟件之間的相似度關(guān)系屬性,通過StartId、Name、EndId、Type 字段定位APP 用戶知識(shí)圖譜中的一條邊。
表4 軟件與軟件關(guān)系抽取結(jié)果
表5 展示了用戶與用戶之間的關(guān)系屬性,通過StartId、Name、EndId、Type 定位APP 用戶知識(shí)圖譜中的一條邊。
表5 用戶與用戶關(guān)系抽取結(jié)果
由表5 中可以發(fā)現(xiàn),用戶與用戶之間的關(guān)系屬性為用戶名相似度(Similarity)。結(jié)合上述抽取結(jié)果可知,通過StartId 定位知識(shí)圖譜的頭節(jié)點(diǎn),通過EndId 定位尾節(jié)點(diǎn),通過Type 以及Name 定位邊屬性關(guān)系。
本文使用了106 604 條APP 用戶數(shù)據(jù)構(gòu)建APP 用戶知識(shí)圖譜,并將數(shù)據(jù)存儲(chǔ)到了非關(guān)系型數(shù)據(jù)庫(kù)Neo4j[14]中。本文共抽取出95 067 個(gè)節(jié)點(diǎn)(用戶節(jié)點(diǎn)+軟件節(jié)點(diǎn))和456 965 條邊關(guān)系屬性,圖2 對(duì)該APP 用戶知識(shí)圖譜進(jìn)行了局部展示。
圖2 APP 用戶知識(shí)圖譜
綜上所述,本文提出了一種基于用戶行為分析的APP 用戶知識(shí)圖譜構(gòu)建方法,通過對(duì)用戶行為的細(xì)化和關(guān)系屬性的抽取,成功構(gòu)建了一個(gè)信息更為豐富的APP用戶知識(shí)圖譜。這種方法有望幫助開發(fā)者更好地理解用戶需求,優(yōu)化APP 功能和體驗(yàn),提高用戶滿意度。未來,將繼續(xù)深入探究該方法的潛力和適用性,并進(jìn)一步完善和優(yōu)化APP 用戶知識(shí)圖譜的構(gòu)建算法,為APP 開發(fā)和用戶體驗(yàn)提供更加有力的支持和保障。