粟 勇,謝裕清,孫華成,王 遠(yuǎn),王永利
(1.南瑞集團(tuán)有限公司(國(guó)網(wǎng)電力科學(xué)研究院有限公司),江蘇 南京 211100;2.江蘇瑞中數(shù)據(jù)股份有限公司,江蘇 南京 211100;3.國(guó)網(wǎng)浙江省電力有限公司信息通信分公司,浙江 杭州 310000;4.南京理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 南京 210094)
隨著大數(shù)據(jù)的快速發(fā)展,推薦系統(tǒng)已經(jīng)被成功應(yīng)用到電商大數(shù)據(jù)領(lǐng)域,用以挖掘用戶(hù)的歷史行為、用戶(hù)生成內(nèi)容,并在此基礎(chǔ)上建模來(lái)推測(cè)用戶(hù)偏好[1-3],并向其推薦可能符合需求的信息。在推薦系統(tǒng)中,用戶(hù)的主觀(guān)評(píng)價(jià)和商品的特征信息并不是以一種約定俗成的形式或者結(jié)構(gòu)存在于評(píng)論之中,更多的是以非結(jié)構(gòu)化形式存在,在構(gòu)建用戶(hù)畫(huà)像并將其運(yùn)用于推薦系統(tǒng)這一方面,對(duì)于如何挖掘這些非結(jié)構(gòu)化信息中實(shí)際可用的價(jià)值,很多學(xué)者提出了很多方法。例如,Sheng Feng等[4]提出一種選取合適的用戶(hù)評(píng)論用于產(chǎn)品推薦的方法,但是該方法并沒(méi)有區(qū)分主題產(chǎn)品和非主題產(chǎn)品各自的特征。Valliyammai C[5]提出了一種基于用戶(hù)評(píng)論的旅游推薦系統(tǒng),根據(jù)其他用戶(hù)的歷史評(píng)價(jià)推薦最佳的旅游方案,但這種方式所采用的支持向量機(jī)(support vector machine,SVM)占用了大量?jī)?nèi)存并且其個(gè)性化程度高度依賴(lài)于同義詞庫(kù)。Chakraverty等[6]提出了一種跨領(lǐng)域推薦方法。當(dāng)一個(gè)領(lǐng)域中的可用數(shù)據(jù)缺少時(shí),可以使用來(lái)自其他領(lǐng)域的數(shù)據(jù)(用戶(hù)評(píng)分和評(píng)價(jià))進(jìn)行跨領(lǐng)域推薦。
為了有效區(qū)分主題產(chǎn)品特征和非主題產(chǎn)品特征,加強(qiáng)對(duì)用戶(hù)語(yǔ)言模式的本體研究,在現(xiàn)有研究[7-14]的基礎(chǔ)上,該文將非結(jié)構(gòu)化的評(píng)論信息提取成結(jié)構(gòu)化的多維用戶(hù)體驗(yàn)信息,提出了一種在評(píng)論中提取用戶(hù)體驗(yàn)的方法。詳細(xì)介紹了該方法具體的步驟和算法,有利于推薦系統(tǒng)提供更準(zhǔn)確的個(gè)性化推薦結(jié)果。實(shí)驗(yàn)結(jié)果表明該方法能夠?qū)崿F(xiàn)較高的準(zhǔn)確率和豐富的多樣性。
文獻(xiàn)[15]提出了一種能夠提取用戶(hù)體驗(yàn)的自動(dòng)化方法(AEUE)。其中,該方法定義的用戶(hù)體驗(yàn)是由提取并過(guò)濾后的產(chǎn)品特征詞和特征描述詞組成。進(jìn)一步給出用戶(hù)體驗(yàn)的定義如下:
定義1 用戶(hù)體驗(yàn)(E):用戶(hù)體驗(yàn)由一個(gè)五元組表示:<體驗(yàn)特征(En),程度副詞(Eadv),修飾語(yǔ)(Ea),情感極性(Ev),權(quán)重(Ew)>,用該五元組標(biāo)簽表示用戶(hù)的體驗(yàn)信息,例如“價(jià)格很實(shí)惠”、“實(shí)用性很強(qiáng)”等。En表示名詞,如上述中的“價(jià)格”、“實(shí)用性”,Ea表示修飾詞,如“實(shí)惠”、“強(qiáng)”等。Eadv表示修飾Ea的副詞,如“很”、“較”。Ev為情感極性的數(shù)值。Ew表示用戶(hù)體驗(yàn)權(quán)重。
基于評(píng)論的挖掘的目的是在非結(jié)構(gòu)性的用戶(hù)評(píng)價(jià)語(yǔ)中通過(guò)將產(chǎn)品的特征提取出來(lái),構(gòu)建成特征向量。該文在實(shí)際處理過(guò)程中將產(chǎn)品特征劃分為功能性特征和描述性特征兩個(gè)方面,下面對(duì)這兩類(lèi)特征做簡(jiǎn)單的介紹:
(1)功能性特征:產(chǎn)品本體元數(shù)據(jù),如 “電量持久”、“前置攝像清晰”、“運(yùn)行內(nèi)存大”等就是平板電腦的功能性特征描述。
(2)描述性特征:對(duì)功能特征的描述,如“8 000 mA電池容量”、“2 500萬(wàn)前置攝像”、“8 G運(yùn)行內(nèi)存”等。
受Schein等人[14]的啟發(fā),該文將用戶(hù)體驗(yàn)提取過(guò)程總結(jié)為如下幾個(gè)主要步驟:
(1)構(gòu)建種子詞集;
(2)提取體驗(yàn)特征;
(3)匹配出產(chǎn)品特征的修飾性短語(yǔ)或語(yǔ)段;
(4)采用一定方法分析出(3)中短語(yǔ)或語(yǔ)段的情感傾向,主要分為褒義和貶義;
(5)計(jì)算用戶(hù)體驗(yàn)的權(quán)重并篩選排序。
下面對(duì)上述步驟和其中牽涉的主要算法進(jìn)行詳細(xì)的介紹。
1.2.1 構(gòu)建種子詞集
在預(yù)處理過(guò)程中,分詞之后根據(jù)詞性標(biāo)注和詞頻統(tǒng)計(jì)排序,再人工選出相關(guān)度高的詞,由此產(chǎn)生種子。表1列舉了部分種子詞。
表1 種子詞集合
1.2.2 提取體驗(yàn)特征
短語(yǔ)結(jié)構(gòu)文法主要是完成對(duì)句子各成分結(jié)構(gòu)化關(guān)系的構(gòu)建。依存文法則是通過(guò)句子中詞語(yǔ)之間的依存關(guān)系來(lái)描述句子的結(jié)構(gòu),主要是中心詞和其他句子成分之間的關(guān)系。依存文法中具體包含的關(guān)系種類(lèi)由表2給出。
表2 句子依存關(guān)系分類(lèi)及解釋
續(xù)表2
定義2 體驗(yàn)特征標(biāo)簽(T)。體驗(yàn)特征標(biāo)簽由一個(gè)三元組表示,即:<體驗(yàn)特征(En),程度副詞(Eadv),修飾語(yǔ)(Ea)>,這個(gè)三元組作為中間提取結(jié)果。
依存分析后,挖掘每個(gè)產(chǎn)品的候選標(biāo)簽集合T,即有:
T={T1,T2,…,Tn}
Ti={t1,t2,…,tm}
ti=
其中,n為產(chǎn)品p評(píng)論數(shù),Ti為第i個(gè)評(píng)論的特征標(biāo)簽。此外還需對(duì)三元組做顯式去重操作。
基于評(píng)論的特征提取方法由算法1描述。
算法1:基于評(píng)論的特征提取方法。
輸入:產(chǎn)品集合S;產(chǎn)品S的評(píng)論集合rS;種子詞集合W
輸出:T:
1:forsinSdo
2: forrinrSdo
3: preprocess()
4: DP←DependencyParser(rs) //依存文法分析
5: if DP includes
6: //獲取
和包含種子詞的ADV、SBV依存關(guān)系
7:Tpr←
8:end if
9:end for
10:end for
1.2.3 情感極性計(jì)算
定義3 情感極性(Ev):指根據(jù)Ea與Eadv的情感分析得到的、并經(jīng)過(guò)歸一化處理后的語(yǔ)義傾向。
Ev計(jì)算方法由算法2給出:
算法2:情感極性計(jì)算方法。
輸入:T:
輸出:E,包括En、Eadv、Ea、Ev、Ew的五元組。
1:fortinTdo
2:calculate PMI(t,wordpositive)
3:calculate PMI(t,wordnegative)
4:x←SO(t)//計(jì)算語(yǔ)義傾向
5:ifx≥threshold1andx≤threshold2
then //根據(jù)閾值篩選體驗(yàn)標(biāo)簽
6:E(w)pr=
7:end if
8: end for
9: Normalization(E)
算法2整體的算法復(fù)雜度為O(|W||T|), |T|為用戶(hù)體驗(yàn)特征標(biāo)簽的數(shù)目, |W|為種子詞的數(shù)目。
1.2.4 用戶(hù)體驗(yàn)聚類(lèi)方法
該文主要采用基于隱含狄利克雷分布(latent Dirichlet allocation,LDA)的主題方式進(jìn)行聚類(lèi)。使用聚類(lèi)的目的是讓提取的用戶(hù)體驗(yàn)具有多樣性,同時(shí)聚類(lèi)之后還要確保類(lèi)簇之間保持獨(dú)立性。
圖1 LDA的概率圖模型
如圖1中表述的是LDA的概率圖模型,其中N表示訓(xùn)練語(yǔ)料庫(kù)中出現(xiàn)的所有詞,Z表示隱藏的主題,M表示文檔數(shù)目,W表示可觀(guān)測(cè)詞,K表示主題個(gè)數(shù),α、β分別表示每篇文檔中主題和每個(gè)主題曲的先驗(yàn)狄利克雷分布的超參數(shù),θ∈RM×K表示第m篇文章中的主題分布,φ表示第k個(gè)主題中的主題詞分布。
由圖可知,LDA聯(lián)合概率為:
p(θ,z,w|α,β)=
(1)
算法3描述了主題聚類(lèi)算法詳細(xì)過(guò)程。
算法3:LDA主題聚類(lèi)算法。
輸入:主題數(shù)目L;文章集合D,即標(biāo)簽詞;超參數(shù)α、β;
輸出:每隔主題下的詞概率分布φ;每篇文章的主題概率分布θ;每個(gè)主題下φ概率從高到低topN個(gè)特征詞WtopN
1: for topicsl∈[1,L] do
3: end for
4: for documentsm∈[1,M] do
6: sample document lengthNm~Poiss(ξ)
7: for wordsn∈[1,Nm] do
10: end for
11: end for
1.2.5 用戶(hù)體驗(yàn)權(quán)重計(jì)算方法
本節(jié)介紹權(quán)重的計(jì)算和處理。經(jīng)過(guò)上述聚類(lèi)后就可以得到類(lèi)簇,再根據(jù)類(lèi)簇的權(quán)重大小提取用戶(hù)體驗(yàn)。最后將歸一化權(quán)重值賦給Ew。權(quán)重計(jì)算公式如下:
(2)
其中,|T|為產(chǎn)品中體驗(yàn)特征標(biāo)簽總數(shù),zi為ti標(biāo)簽所屬的主題,|zi|為主題中主題詞的數(shù)目。
實(shí)驗(yàn)在python2.7環(huán)境下完成。分詞使用的是jieba分詞,版本號(hào)為0.39。依存文法分析使用的是哈工大語(yǔ)言技術(shù)平臺(tái)的開(kāi)發(fā)接口,采用gensim3.7.3作為L(zhǎng)DA主題聚類(lèi)模型庫(kù)。
從淘寶的天貓商城選取50個(gè)不同種類(lèi)的產(chǎn)品數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),該文展示的主要是八種部分商品,包括“iPhone X”、“OPPO R11S”、“拜耳電動(dòng)牙刷”、“吉利剃須刀”、“零食禮包”等等。
為了驗(yàn)證提出方法的有效性,采用準(zhǔn)確率(precision)和召回率(recall)來(lái)評(píng)估體驗(yàn)提取的效果。對(duì)于產(chǎn)品i∈I,TP(i)表示該算法對(duì)于產(chǎn)品評(píng)論集合中提取出的用戶(hù)體驗(yàn)符合產(chǎn)品特征的集合,F(xiàn)P(i)表示提取出的用戶(hù)體驗(yàn)與產(chǎn)品特征不相關(guān)的集合。推薦結(jié)果的precision和recall的定義分別為:
(3)
(4)
并采用F1來(lái)評(píng)價(jià)分類(lèi)模型的好壞:
(5)
該文采用修正召回率,計(jì)算方式如表3所示。
表3 查重率計(jì)算
將修正召回率計(jì)算得到的F1值稱(chēng)為修正的F1值,記為Fw,傳統(tǒng)的F1值記為Ft。當(dāng)滿(mǎn)足C1≥C2時(shí):
(6)
在實(shí)驗(yàn)過(guò)程中,result1作為提取結(jié)果,result2作為對(duì)比方法提取的結(jié)果。多樣性使用語(yǔ)義多樣性計(jì)算:
(7)
其中,Nindepn表示用戶(hù)體驗(yàn)的實(shí)際標(biāo)簽數(shù),Nrightn表示用戶(hù)體驗(yàn)的正確標(biāo)簽數(shù)。
表4 體驗(yàn)信息特征標(biāo)簽提取結(jié)果
為了分別驗(yàn)證體驗(yàn)信息提取的準(zhǔn)確性和多樣性,設(shè)計(jì)了兩組實(shí)驗(yàn)。第一組實(shí)驗(yàn)的標(biāo)簽提取結(jié)果如表4所示。每類(lèi)產(chǎn)品選取前5個(gè)最相關(guān)的體驗(yàn)信息標(biāo)簽,比如對(duì)于iPhone X的5個(gè)標(biāo)簽為“正品行貨”、“操作方便”、“性能強(qiáng)勁”、“屏幕清晰”、“款式漂亮”。實(shí)驗(yàn)結(jié)果表明文中方法的平均準(zhǔn)確率為92.5%。
第二組實(shí)驗(yàn)的實(shí)驗(yàn)結(jié)果由表5給出。表5中方法1代表文中提出的基于推薦系統(tǒng)的用戶(hù)評(píng)論體驗(yàn)提取方法,方法2表示文獻(xiàn)[15]中用戶(hù)體驗(yàn)信息自動(dòng)提取的方法??梢钥吹?,文中方法最終準(zhǔn)確率平均值為0.872 5,略高于AEUE方法的準(zhǔn)確率(0.832 5),但是修正召回率和修正F-measure值低于AEUE。所以AEUE在修正召回率計(jì)算上更具優(yōu)勢(shì)。而采用的LDA聚類(lèi)保證類(lèi)簇之間的獨(dú)立性,故文中方法在多樣性上更具優(yōu)勢(shì)。
表5 用戶(hù)體驗(yàn)提取結(jié)果對(duì)比
為了提高推薦準(zhǔn)確度,改善推薦質(zhì)量,提出一種基于評(píng)論的用戶(hù)體驗(yàn)提取算法。實(shí)驗(yàn)結(jié)果證明了該算法的有效性,并且能夠?qū)崿F(xiàn)較高的準(zhǔn)確率與查全率。