鐘 泉
(淮南電視臺(tái)技術(shù)中心, 安徽 淮南 232001)
如今手機(jī)各種功能層出不窮,許多不了解手機(jī)各性能的消費(fèi)者對手機(jī)有購買需求,他們通常采用線下咨詢經(jīng)銷商或網(wǎng)絡(luò)查詢的方式了解手機(jī)內(nèi)存、處理器等重要屬性,但這些方法存在兩個(gè)突出問題:(1)單一的從銷售商那里獲得基礎(chǔ)參數(shù)可能存在于實(shí)際情況不符的問題,容易造成對消費(fèi)的誤導(dǎo);(2)在網(wǎng)絡(luò)中有海量的評論數(shù)據(jù),這些數(shù)據(jù)具有力量大、類型多、價(jià)值密度低的特點(diǎn)[1-3],因此,從各大測評網(wǎng)站尋求資料會(huì)浪費(fèi)過多的時(shí)間和精力,并且很多消費(fèi)者不懂得如何從網(wǎng)絡(luò)中獲得有用的信息。
為解決上述問題,本文提出了一種針對太平洋手機(jī)測評網(wǎng)站的手機(jī)推薦方法,太平洋手機(jī)測評是一個(gè)較為全面且權(quán)威的手機(jī)測評網(wǎng)站,從網(wǎng)站中可以獲取手機(jī)屏幕尺寸、攝像頭像素、電池容量等重要參數(shù),還可以獲取用戶的在線評論,在線評論是消費(fèi)者的主動(dòng)行為,具有較高的可信度。該推薦方法主要分為以下兩個(gè)步驟:
(1) 計(jì)算手機(jī)在線評論情感得分。從太平洋測評網(wǎng)站獲取評論文本,對文本進(jìn)行預(yù)處理,構(gòu)建手機(jī)領(lǐng)域評論用語、程度副詞、否定詞等詞典,并結(jié)合基礎(chǔ)情感詞典分析評論的褒貶含義,根據(jù)本文提出的情感值計(jì)算公式計(jì)算評論文本的情感值[4-5]。
(2) 依據(jù)手機(jī)特征矩陣結(jié)合求余弦相似度方法推薦手機(jī)。定義手機(jī)五項(xiàng)指標(biāo)特征向量,定義手機(jī)型號(hào)和手機(jī)五項(xiàng)指標(biāo)特征矩陣,運(yùn)用求余弦相似度的方法計(jì)算出特征矩陣中每款手機(jī)指標(biāo)和消費(fèi)者喜好的相似度[6-9],并排序選出top-k款與消費(fèi)者喜好相似度較高的機(jī)型推薦給消費(fèi)者。
基于在線評論情感分析的手機(jī)推薦方法的工作框架如圖1所示。
本文組織如下:第2節(jié)構(gòu)建四部情感詞典;第3節(jié)給出根據(jù)情感詞典計(jì)算在線評論情感得分的方法;第4節(jié)推薦手機(jī)評分與消費(fèi)者購買意愿的相似度較高的機(jī)型;第5節(jié)給出推薦方法的實(shí)驗(yàn)分析;第6節(jié)對本文進(jìn)行總結(jié)。
圖1 基于在線評論情感分析的手機(jī)推薦方法的工作框架
情感詞典是分析詞語情感的基礎(chǔ),不同的應(yīng)用方向情感詞典有所不同,常用的基礎(chǔ)情感詞典有知網(wǎng)發(fā)布的詞典HowNet,臺(tái)灣大學(xué)整理發(fā)布的NTUSD,大連理工大學(xué)發(fā)布的中文情感詞匯本體庫。本節(jié)的主要任務(wù)是整合去重以上三種經(jīng)典詞典,同時(shí)構(gòu)建否定詞詞典、程度副詞詞典、手機(jī)領(lǐng)域評論用語詞典,從而得到適合分析手機(jī)屬性的情感詞典。
以HowNet中英文情感詞典為基礎(chǔ),與NTUSD和大連理工大學(xué)的中文情感詞匯本體庫消重組合[10-11],得到新的基礎(chǔ)情感詞典Dict。規(guī)則為:
(1) 若三個(gè)詞典中有詞匯情感傾向不同時(shí),人工標(biāo)注詞匯強(qiáng)度和極性;
(2) 情感強(qiáng)度(E-intensity)量級(jí)分為1,3,5,7,9五個(gè)級(jí)別,9級(jí)表示強(qiáng)度最大,1級(jí)為強(qiáng)度最小,情感強(qiáng)度參考大連理工大學(xué)中文情感詞匯本體庫,若中文情感詞匯本體庫未給出情感強(qiáng)度標(biāo)識(shí)的,則默認(rèn)此詞語情感強(qiáng)度為3級(jí);
(3) 情感極性(E-polarity)中性詞語用0表示,貶義詞用-1表示,褒義詞用+1表示,兼有褒義和貶義的詞語用±1標(biāo)注。
(4) 在具體評論語句分析中應(yīng)根據(jù)整體語句情感判斷情感極性,不允許存在±1標(biāo)注情感極性。
合并去重后新的基礎(chǔ)情感詞典含有褒義詞12 226個(gè),貶義詞11 089個(gè),中性詞5 423個(gè),兼有褒義和貶義的詞語有85個(gè)(見表1)。
表1 部分基礎(chǔ)情感詞典實(shí)例
程度副詞是對一個(gè)形容詞或副詞在程度上加以限定和修飾的副詞,一般位置在形容詞或者副詞之前,至于整體語句的語氣和情感傾向則是由后面的詞決定的。
本文程度副詞詞典選自知網(wǎng)的HowNet詞典,共有程度副詞219詞,強(qiáng)度分為6個(gè)等級(jí),從強(qiáng)度6遞減至強(qiáng)度1分別為“超-6”、“極其-5”、“很-4”、“較-3”、“稍-2”、“欠-1”(見表2)。
表2 部分程度副詞詞典實(shí)例
否定詞詞典包括否定詞和反問詞兩部分。一個(gè)句子中若含有“不”、“沒有”等否定詞或者反問句時(shí),就很有可能導(dǎo)致句子的情感傾向與用計(jì)算機(jī)語言判斷的意義不一致,語句中的單重否定代表著反轉(zhuǎn)句子情感極性,雙重否定則代表肯定的意思。否定詞詞典中的每個(gè)詞的極性均為-1包括否定詞和反問詞,本詞典收錄來源于作者從新華詞典中人工整合的39個(gè)詞語,部分否定詞詞典實(shí)例如表3所示。
表3 部分否定詞詞典實(shí)例
手機(jī)參數(shù)評分詞典主要涵蓋用戶多次用于評論手機(jī)性能的詞語,為構(gòu)建此詞典,首先使用爬蟲技術(shù)獲取太平洋測評網(wǎng)站中的前200條評論,人工篩選出形容手機(jī)屬性的詞語并標(biāo)注極性和強(qiáng)度,將詞語分為3和5兩個(gè)強(qiáng)度級(jí)別,若手機(jī)參數(shù)評分詞典中的詞匯與基礎(chǔ)情感詞典中詞匯重復(fù),則刪除基礎(chǔ)情感詞典中相同的詞匯。本文所構(gòu)建手機(jī)參數(shù)評分詞典共包含931個(gè)詞匯,手機(jī)參數(shù)評分詞典實(shí)例如表4所示。
表4 手機(jī)領(lǐng)域評論用語詞典實(shí)例
文本情感分析是對文本的主客觀性、觀點(diǎn)、情緒、極性的挖掘和分析,首先對文本進(jìn)行預(yù)處理,包括分詞、去除停用詞,然后判斷詞語詞性和情感極性,篩選出語句關(guān)鍵詞并將帶權(quán)重的文本特征整合,最后對文本的情感傾向做出分類判斷,將情感分為褒貶兩類或者更加細(xì)致的情感類別。
算法1:單個(gè)子句的情感得分算法
輸入:單個(gè)子句評論文本內(nèi)容(V)
輸出:該子句評論文本的情感值(S)
1.通過NLPIR工具將子句分割成若干個(gè)詞語,去除停用詞
2.S=0;
3.for(i=1;i++;i<=4 );
4.Si=0 ;
5.if(子句中僅含有基礎(chǔ)情感詞典中詞匯)
6.S1=W1+W2+…+Wk;
7.if(子句中情感詞匯前出現(xiàn)程度副詞)
8.S2=W×D;
9.if(子句中情感詞匯前出現(xiàn)否定詞或反問詞)
10.S3=(-1)N×W;
11.if(子句中情感詞匯前出現(xiàn)手機(jī)參數(shù)評分)
12.S4=W×C;
13.S=S+S;
14.end for;
在本文中,已經(jīng)構(gòu)建了四類情感詞典,情感詞語已經(jīng)標(biāo)注了極性和強(qiáng)度。為了計(jì)算子句情感值,首先使用中科院NLPIR漢語分詞工具將評論分詞并標(biāo)注詞匯的詞性,再分析子句中可能含有的語法,對僅有基礎(chǔ)情感詞的語句將詞語情感值累加;對有修飾詞和情感詞的語句采用相乘法則。用S表示子句的情感值,用W表示基礎(chǔ)情感詞典中詞匯的權(quán)值,用D表示程度副詞詞典中詞匯的強(qiáng)度,用N表示否定詞出現(xiàn)的個(gè)數(shù),用C表示手機(jī)參數(shù)評分詞典中詞匯的權(quán)值,極性和強(qiáng)度的乘積即為權(quán)值。單個(gè)子句的情感得分算法見算法1。
算法說明:
(1) 第1-14步用于計(jì)算子句的情感值S;
(2) 第2-13步是一個(gè)循環(huán)語句,用于計(jì)算單個(gè)子句的情感值;
(3) 第4-11步是判斷句子中可能含有的詞語組成情況,并針對4種情況給出相應(yīng)的計(jì)算公式;
(4) 本算法的時(shí)間復(fù)雜度為O(n)。
用E(V)表示評論手機(jī)某屬性段落的情感得分,每個(gè)子句的情感得分為S1,S2,…Sn,E(V)計(jì)算公式見公式(1)。
(1)
最終E(V)結(jié)果共有三種情況,如果E(V)>0,代表此用戶對該手機(jī)性能表示滿意,如果E(V)<0,代表此用戶對該手機(jī)性能表示不滿意,如果E(V)=0,代表此用戶對該手機(jī)性能持中立態(tài)度。某用戶的在線評論文本情感值的算法見算法2:
算法2:段落評論情感得分算法
輸入:段落評論文本內(nèi)容(V)
輸出:該段評論文本的情感值E(V)
1. for (i=1;i++;i<=n)
2.E(V)=E(V)+Si;
3. end for;
4. if(E(V)>0)
5. 用戶對該手機(jī)性能表示滿意;
6. else if (E(V)<0)
7. 用戶對該手機(jī)性能表示不滿意;
8. else
9. 用戶對該手機(jī)性能持中立態(tài)度;
10. end if;
11. end if;
12. 輸出該段評論情感值E(V)和用戶是否滿意;
算法說明:
(1) 第1-12步用于計(jì)算評論的情感值并判斷用戶對手機(jī)的滿意程度;
(2) 第1-3步是一個(gè)循環(huán)語句,通過累加每個(gè)子句的情感得分計(jì)算出該段評論的情感值,n表示該評論中子句的數(shù)量;
(3) 第4-11步是一個(gè)判斷語句,通過判斷E(V)是否大于0或等于0,得出用戶對手機(jī)性能是否滿意的結(jié)論;
(4) 本算法的時(shí)間時(shí)間復(fù)雜度為O(n)。
在本節(jié)中,分別定義手機(jī)指標(biāo)特征向量和特征矩陣,然后根據(jù)客戶對各性能指標(biāo)的喜好,運(yùn)用求余弦相似度的方法計(jì)算top-k款最符合消費(fèi)者需求的品牌及型號(hào)。
定義1:手機(jī)指標(biāo)特征向量(Mobilephone Index Feature Vector,MIFV)
從評論的角度來看,每項(xiàng)手機(jī)評測指標(biāo)均代表消費(fèi)者側(cè)重的一個(gè)方向,手機(jī)指標(biāo)特征向量是包含五項(xiàng)特征值的向量,定義見公式(2)。
AMIFV={I1,I2,I3,I4,I5}
(2)
式中:I表示用戶評論手機(jī)屬性的情感得分,I1表示做工外觀、I2表示配置性能、I3表示系統(tǒng)流暢度、I4表示拍照效果、I5表示其他評論。這五項(xiàng)指標(biāo)是太平洋測評網(wǎng)站中的五大評論要素,對比消費(fèi)者的關(guān)注度,使用這五項(xiàng)指標(biāo)構(gòu)建特征向量是合理的。定義手機(jī)指標(biāo)特征向量的目的一方面是為了更直觀的看到用戶對手機(jī)每項(xiàng)屬性的滿意度,另一方面是為了方便求出手機(jī)各屬性評論的平均值,從而構(gòu)建手機(jī)指標(biāo)特征矩陣。
定義2:手機(jī)指標(biāo)特征矩陣(Mobilephone Index Feature Matrix,MIFM)
假設(shè)在數(shù)據(jù)集中,C和I分別表示所有手機(jī)型號(hào)以及手機(jī)五項(xiàng)指標(biāo)的集合。由于價(jià)格相差過多的手機(jī)不具備可比性,本文提出將購手機(jī)款以500元為一個(gè)區(qū)間將手機(jī)集合分為若干個(gè)集合,在每個(gè)集合中,手機(jī)C和I指標(biāo)的數(shù)值由該款手機(jī)MIFV向量中該指標(biāo)的平均值所得。以集合C中的每款手機(jī)型號(hào)Ci做行坐標(biāo),I1表示做工外觀、I2表示配置性能、I3表示系統(tǒng)流暢度、I4表示拍照效果、I5表示其他評論做列坐標(biāo)定義矩陣MIFM,如公式(3)所示。
(3)
定義手機(jī)指標(biāo)特征向量的目的一方面是為了更直觀的看到每款手機(jī)的五項(xiàng)指標(biāo)的評價(jià)值,另一方面是為了方便采用余弦相似度的方法計(jì)算出消費(fèi)者的需求和不同款手機(jī)評價(jià)值的相似度,從而推薦出相似度較高的k款機(jī)型。
由于計(jì)算出每款手機(jī)的情感值數(shù)據(jù)是稀疏而且沒有上下限的,導(dǎo)致了很難比較每款手機(jī)之間的相似和區(qū)別,為了解決這個(gè)問題,可以采用對MIFM特征矩陣的列做歸一化處理[12],通過公式(4)將手機(jī)的情感評分換算為[0,1]區(qū)間的數(shù)值,將數(shù)值四舍五入精確到小數(shù)點(diǎn)后一位。數(shù)值歸一化公式如公式(4)所示。
Y=[(X-minValue)÷(maxValue-minValue)]
(4)
公式(4)中X、Y分別為轉(zhuǎn)換前、后的值,maxValue、minValue分別表示每列的最大值和最小值。
通過交互的方式可以知道用戶對手機(jī)的個(gè)性化偏好,計(jì)算用戶對手機(jī)各屬性要求的情感得分,使用公式(4)對各屬性情感值歸一化,構(gòu)建基于用戶需求的AMIFV,然后根據(jù)此AMIFV計(jì)算與BMIFM特征矩陣中各款手機(jī)的相似度,最后基于相似度排名進(jìn)行top-k推薦,計(jì)算相似度的公式有很多,因?yàn)槲闹幸讯x特征向量,因此選擇一種方便計(jì)算向量之間相似度的計(jì)算方式,余弦相似度(Cosine Similarity)公式如公式(5)所示。
(5)
結(jié)合重要參數(shù)評分和在線評論情感分析的手機(jī)推薦方法見算法3:
算法3:依據(jù)個(gè)性化偏好求解相似度
輸入:消費(fèi)者對手機(jī)的需求
輸出:top-k款推薦機(jī)型
1. 根據(jù)需要價(jià)位尋找符合價(jià)格區(qū)間的手機(jī);
2. for 每款手機(jī)C;
3. 提取消費(fèi)者有關(guān)C的評價(jià)并拼接成文本;
4. 根據(jù)文本計(jì)算出向量C-AMIFV;
5. end for;
6. 將手機(jī)的向量C-AMIFV組合成矩陣BMIFM;
7. 根據(jù)數(shù)值歸一化對矩陣BMIFM列歸一化;
8. for 消費(fèi)者對手機(jī)的個(gè)性化偏好;
9. 根據(jù)個(gè)性化偏好計(jì)算出向量P-AMIFV;
10. end for;
11. 根據(jù)數(shù)值歸一化對向量P-AMIFV行歸一化;
12. for 矩陣BMIFM的每一行;
13. 計(jì)算每一行與向量P-AMIFV的余弦相似度;
14. end for;
15. 根據(jù)所求得余弦相似度進(jìn)行冒泡排序;
16. 輸出top-k款相似度較高的手機(jī)給消費(fèi)者;
算法說明:
(1) 第1~16步用于計(jì)算分析消費(fèi)者的個(gè)性化偏好和手機(jī)的相似度,然后推薦top-k款相似度較高的手機(jī)品牌及機(jī)型;
(2) 第2~5步是一個(gè)循環(huán)語句,用于構(gòu)建每款手機(jī)C的手機(jī)指標(biāo)特征向量C-BMIFV;
(3) 第8~10步是一個(gè)循環(huán)語句,用于構(gòu)建消費(fèi)者個(gè)性化偏好的手機(jī)指標(biāo)特征向量P-BMIFV;
(4) 第12~14步是一個(gè)循環(huán)語句,用于計(jì)算矩陣AMIFV中每行與消費(fèi)者P-BMIFV的余弦相似度;
(5) 本算法的時(shí)間時(shí)間復(fù)雜度為O(n2)。
本文采用準(zhǔn)確率(Precision)和召回率(Recall)作為評估推薦結(jié)果的指標(biāo),由于P和R指標(biāo)有時(shí)會(huì)出現(xiàn)的矛盾的情況,因此使用F1-Measure指標(biāo)綜合考慮它們[13]。具體見公式(6)(7)(8):
(6)
(7)
(8)
U表示用戶的總數(shù),V表示推薦手機(jī)被采納的總次數(shù),k表示推薦的手機(jī)數(shù)量。
從太平洋測評網(wǎng)站征求1 000名消費(fèi)者的購車意向,使用本文提出的推薦算法推薦top-k款手機(jī),消費(fèi)者可以選擇任意0至k款滿足條件的手機(jī)。為從多方面考慮本推薦算法的效果,本文將以兩類消費(fèi)者群體,對比傳統(tǒng)使用單一情感詞典的推薦結(jié)果進(jìn)行實(shí)驗(yàn)分析:
(1) 第1組實(shí)驗(yàn):注重外觀和攝影的人群。要求價(jià)格2 000~2 500元區(qū)間,最看重外觀,其次是照相功能,其它要求不多。分別取k=1,2,3,計(jì)算準(zhǔn)確率、召回率和F1值,實(shí)驗(yàn)結(jié)果如圖2所示。
(2) 第2組實(shí)驗(yàn):注重手機(jī)性能的人群。要求價(jià)格2 500~3 000元區(qū)間,最看重配置性能和系統(tǒng)流暢度,其次是照相功能,其它要求不多。分別取k=1,2,3,計(jì)算準(zhǔn)確率、召回率和F1值,實(shí)驗(yàn)結(jié)果如圖3所示。
圖2 注重外觀和攝影的人群
圖3 注重手機(jī)性能的人群
從圖2和圖3可以看出:
(1) 本文提出的推薦算法各項(xiàng)指標(biāo)均優(yōu)于傳統(tǒng)的使用單一情感詞典進(jìn)行推薦的算法,特別是在消費(fèi)者給出的需求越詳細(xì)的時(shí)候,區(qū)分度更明顯。
(2) 本文推薦算法具有較高的召回率(>70%),并且隨著k值的增加,召回率不斷增加,保證了大多數(shù)用戶能夠查詢到滿意的手機(jī),同時(shí)準(zhǔn)確率和F1值有明顯下降,但從下降程度可以分析出存在沒有選擇相似度最高而選擇其它推薦手機(jī)的消費(fèi)者。
(3) 從兩個(gè)消費(fèi)者群體的指標(biāo)對比結(jié)果可以分析出,對手機(jī)的個(gè)性化偏好越詳細(xì)則推薦結(jié)果采納度越高。
本文立足于分析在線評論的情感傾向和用戶偏好的角度,結(jié)合手機(jī)各方面屬性提出了一種用于太平洋測評網(wǎng)站的手機(jī)推薦方法。首先,需要將評論文本的隱含情感轉(zhuǎn)化為具體的數(shù)據(jù),其次需要結(jié)合消費(fèi)者的個(gè)性化偏好計(jì)算出最優(yōu)的推薦結(jié)果。
為達(dá)到這些目的,本文首先構(gòu)建四部情感詞典,并有效的利用詞典計(jì)算已購買手機(jī)的消費(fèi)者對手機(jī)的評價(jià)得分,然后依據(jù)評價(jià)手機(jī)的八個(gè)要素構(gòu)建特征向量矩陣,采用求余弦相似度的方法計(jì)算出符合消費(fèi)者喜好的機(jī)型并推薦給他們。綜合考慮消費(fèi)者對該推薦算法的采納度,在較大規(guī)模數(shù)據(jù)中驗(yàn)證了本文提出的算法的可行性,同時(shí)被推薦的手機(jī)其采納度也是有保證的。