摘 要: 設計了一個基于API技術的淘寶商品評價分類系統。利用淘寶開放平臺提供的API接口獲取商品評價信息,然后將這些評價信息按照質量、物流以及服務態度等屬性分別分出好評和差評,通過對典型操作實例的理論分析和實驗結果,驗證了該方法的有效性。
淘寶開放平臺是一個綜合性、商業性的開放平臺[1]。TOP發布的API涵蓋了商品、產品、類目、用戶、交易、評價和物流等不同專業領域的開放接口。使用這些預先定義好的函數,可以更加方便、快捷地調用這些接口來完成一些有關處理工作。
淘寶網作為國內最大的電商網站,每月每天甚至每小時的交易量都是相當大的,而作為買家在淘寶網上購買商品之后,無論對商品滿意與否,都可以通過淘寶網提供的商品評價系統對所購買的商品作出自己的評價,這就產生了大量的評價信息。這些評價對今后購買同種商品的買家可以產生重要的指導作用;評價信息里反映出的買家對商品比較關注的一些問題也為賣家不斷改進商品提供了方向。
但是目前淘寶評價系統只是單純地將買家的評價羅列在產品信息頁面上,這些評價包含了買家對該商品在做工、款式、服務態度、發貨速度和物流速度等相關評價屬性的信息反饋,這對想查看該商品某種評價屬性信息的買家和賣家帶來了很大的困難。有些商品評價信息較少,可以通過逐條查看的方法來獲取需要的信息。但是對于有幾千條甚至上萬條評價信息的商品來說,逐條查看必定會耗費大量的精力,也無法取得較好的效果。同時,淘寶提供的好評、中評和差評都是由買家人工選擇的。有時候買家對商品并不很滿意,但是由于賣家服務態度較好等原因也給出了好評;而有些差評則是因為賣家服務態度不好或者物流送貨不及時等原因,但是商品本身質量并沒有問題,這就對信息獲取造成了誤差。針對上面的問題設計并實現的淘寶商品評價屬性分類系統,利用淘寶開放平臺提供的API技術獲取相關評價信息,然后按質量、物流和服務這3項關注度最高的屬性將評價信息進行分類,并對每種屬性按評價內容情感傾向度分別判別出好評和差評。本系統實現了買家在淘寶網意向商品的大量評價中篩選出自己希望了解的關于商品某屬性的評價信息,同時也幫助賣家了解在售商品各個屬性的買家反饋信息,更好地改進商品。
1 相關工作
本系統通過評價API接口獲取商品評價信息作為基本的數據來源。系統中的商品評價主要分為兩類。(1)按照商品屬性進行分類。商品的屬性特征都是由它的特征詞來表現的,主要是能夠定義屬性的名詞或者名詞短語。本系統將評價信息按照質量、服務、物流3個屬性進行分類。(2)按照情感傾向度進行分類。本系統提取評價信息中的情感詞并按照一定規則組成短語模型與事先建立好的短語模型情感傾向庫進行匹配,開發了一種計算情感傾向度的算法,按照此算法將商品的每個屬性都分為了好評和差評。
2 系統的具體設計
2.1 評價API獲取評價內容
該模塊主要是獲取評價文本和文本轉存兩個功能。使用API要先創建一個ITopClient對象,向接口地址http://gw.api.taobao.com/router/rest發起連接請求,請求成功后,建立TraderatesGetRequest評價文本查詢請求對象,設置請求的字段和參數,再建立TraderatesGetResponse對象接收返回的數據,把獲得評價文本內容保存到文本文件。格式是Json字符串。
2.2 建立商品屬性特征詞庫
商品特征詞的抽取主要有分詞標注和按規則抽取特征詞兩個步驟。
(1)要抽取特征詞,必須要用分詞工具先把句子分成詞語,然后對詞性進行標注,才能分析每個詞語的意義。使用SHARPICTCLAS分詞工具分詞標注,例如:衣服/n很/d/a!/w很/d合身/a!/w店家/n服務/vn態度/n也/d很/d好/a,/w雖然/c中間/f出/v了/ul點/q小/a插曲/n,/w但是/c很/d快/a都/d給/v解決/v了/y。/w店家/n工作/vn相當/d給/p力/n。/w快遞/vn也/d很/d給/p力/n!/w贊/vg一個/m!/w
(2)分詞標注之后,還要過濾掉一些沒有意義或者不是想要的詞。首先就是根據詞性過濾。例如店家/n服務/vn態度/n也/d很/d好/a,這個是標注完畢的句子,看到“服務態度”這個名詞短語其實就是商品服務的一個特征,也可以簡化成“態度”。前面提過,只有名詞或名詞短語才能表示商品的屬性特征,所以可以把名詞短語以外的非名詞詞語過濾掉,上面的例子過濾后就是“店家/n服務/vn態度/n”,其他詞性就不要了。然后再根據手工收集的一些無意義詞文件,過濾掉無意義詞,最后去除詞性標注,合并同類項,再利用Apriori算法中的頻繁項定義,過濾掉噪音詞,屬性特征詞庫就建立了[2]。將需要分類的評價信息分詞標注之后與屬性特征詞庫進行匹配,實現按照商品評價屬性分類。
2.3 基于構造短語模型的情感分類方法設計
文本中能表達情感傾向的詞語組成的短語模型是判斷文本情感傾向的基礎,文本最終的情感傾向和短語模型所表達出的情感傾向是一致的。本文的情感分類方法包括兩部分。(1)建立情感詞詞庫和短語模型庫,其中情感詞詞庫就是抽取的有情感傾向的詞,短語庫是從訓練文本中選取的比較有代表性的短語模型,計算它們的情感傾向值,組成一個短語模型的匹配庫[3]。(2)進行情感分類,對一個新文本進行分析,得出其情感傾向。
2.3.1 建立情感詞詞庫
一篇文本中有很多詞語都能表達情感,需要知道哪幾個詞的情感傾向性最強?,F在已經有了不少成熟的提取情感詞的算法,由于本系統是針對淘寶網這個特定領域的評價信息,這些評價信息情感詞的精確度比較高而且量也不太大,所以采用人工選取的方法從200篇好評樣本和200篇差評樣本中人為地選出情感詞[4],并與中國知網情感詞庫共同組成情感詞庫。
2.3.2 建立短語模型
在分析文本時,僅僅依靠情感詞的情感傾向性來判斷文本的情感傾向性是不準確的,需要找出情感詞對應的評價對象,把情感詞和評價對象組成情感模型,然后把這些情感模型作為判斷文本情感傾向的基本元素[5]。
首先找出樣本中出現的情感模型,同時找出與之相關的連詞、副詞、否定詞,然后把他們組合成短語模型,利用這些短語模型去分析情感傾向。基于短語模型的情感分類的方法目前有很多,本系統選用了如表1的短語模型[2,6]。
抽取的短語模型不是一般語法意義上的短語,而是從文本中選取能表達情感的詞按照短語模型規則組合成的。
把從樣本中選出的情感詞以及相關的連詞、副詞、否定詞和評價對象進行二次標注[3,7],約定:
?。?)在好評情感詞前面加注“@!”;
(2)在差評情感詞前面加注“@?”;
(3)在連詞、代詞前面加注“@”;
?。?)在評價對象前面標注“@*”;
?。?)在否定詞前面標注“@~”。
根據表1所示的短語模型,用以下選取短語模型的算法。
(1)尋找標注為“@*”的短語;
?。?)如果沒有找到標注為“@*”的短語,則跳到(6);
?。?)如果找到標注為“@*”的短語,則尋找標注為“@!”、“@?”的短語;
?。?)如果沒有找到標注為“@!”、“@?”的短語,則跳到(6);
?。?)取出標注為“@”的短語,加上(2)和(3)中找到的短語,把這些短語按原來的順序組成一個短語模型;
?。?)處理下一個訓練語料,重新從(1)開始執行,循環。
2.3.3 計算短語模型情感傾向
通過上面介紹的方法,已經建好了短語模型,然而每個短語模型表達的情感傾向以及強度是不盡相同的。人工將傾向于好評的短語模型賦值1,傾向于差評的短語模型賦值-1的話,最后的分析結果誤差明顯比較大,無法得到比較好的效果。
本文采用的短語模型情感傾向值的計算方法為統計一個短語模型在好評情感短語模型中出現的次數(記為Gi)和在差評情感短語模型中出現的次數(記為Bi),然后計算Gi與Bi的比值,具體計算公式如式(1)所示:
V=log2(Gi/Bi) Gi≠0andBi≠0 log2((Gi+1)/Bi+1)) Gi=0orBi=0 (1)
由計算出來的表2和公式(1)可知:
?。?)當0<Gi<Bi時,V<0,該短語模型表達的是差評的情感傾向;
?。?)當Gi>Bi>0時,V>0,該短語模型表達的是好評的情感傾向;
(3)當Gi=Bi時,V=0,無法確定該短語模型的情感傾向,需要根據實際情況進行判斷;
(4)當Gi=0,Bi≠0時,V<0,該短語模型表達的是差評的情感傾向;
?。?)當Gi≠0,Bi=0時,V>0,該短語模型表達的是好評的情感傾向。
2.3.4 計算評價文本情感傾向值
有了短語模型的情感傾向值,就可以分析評價文本的情感傾向了。評價文本都是由一個個句子組成,而句子可以分詞標注后組成短語模型,所以評價文本的情感傾向值是由其分解出的短語模型情感傾向值加成得到的。具體公式如下:
S=Vi(i≥0)(2)
?。?)如果S>0,判定這條評價文本為好評;
?。?)如果S<0,判定這條評價文本為差評;
?。?)如果S=0,判定這條評價文本為中評。
3 實驗結果分析
通過淘寶評價API接口獲取某女裝的好評、差評各300條評價作為測試的數據來源如表3所示。
經過簡單過濾,過濾掉一些無意義的評價,如“好!”,“good”,“……”等無意義的評價,然后手工分別篩選出224條好評和224條差評,選取數目相等,是為了比較直觀。將獲取的評價數據導入系統中,首先進行分詞標注:
0衣服/n很/d好/a!/w很/d合身/a!/w店家/n服務/vn態度/n也/d很/d好/a,/w<br/>/nx雖然/c中間/f出/v了/ul點/q小/a插曲/n,/w但是/c很/d快/a都/d給/v解決/v了/y。/w<br/>/nx店家/n工作/vn相當/d給/p力/n。/w<br/>/nx快遞/vn也/d很/d給/p力/n!/w贊/vg一個/m!/w<br/>/nx
經過初步的分詞標注,整個評價內容結構已經清晰,然后按照上文中的約定對評價內容進行二次標注。標注結果如下:
衣服/@*n很/d好/@!a。很/d合身/@!a。店家/@*n服務/@*vn態度/@*n也/d很/d好/@!a。<br/>/nx雖然/@c中間/f出/v了/ul點/q小/@?a插曲/@*n。但是/@c很/d快/@!a都/d給/v解決/v了/y。<br/>/nx店家/@*n工作/@*vn相當/@!d給/p力/@*n。<br/>/nx快遞/@*vn也/d很/d給/p力/@*n。贊/vg一個/m。<br/>/nx。
根據“二次標注”結果,抽取評價文本的每個句子的短語模型,與短語模型情感傾向庫對比,匹配極性情感值,將每個短語模型的情感值相加,就是整個文本的情感值。同時還要對照分類特征詞,如果評價文本中句子含有上述特征詞的,就把這個文本劃分到對應的分類,做上標記,同時,這個句子的情感傾向值也是這個文本在這個分類上的情感傾向表示。
表4所示是本項目在實踐過程中的實驗結果。
經過人工排除異類,盡可能保證測試文本類別正確的情況下,看到差評的查準率有83.9%,要比好評的查準率82.6%高,而且中評數量上的判斷結果(28>17)也高。這是由于在淘寶上顧客表達厭惡和憤怒的情感要更明確一些,有些顧客有不滿意的地方,但是可能還是給予好評,只是表達勉強,所以好的情感表達上就會模糊,相比之下,差評更容易判斷。
通過表4可以看出,兩類評價由情感傾向值累加得出的情感傾向值的方法的查準率都達到80%以上,說明采用情感傾向值累加的方法效果還不錯,在抽取少量樣本的情況下,能比較準確細致地判斷文本的真實情感傾向。但是效果還不夠好,如何選取準確的評價對象,抽取真正的短語模型,使方法結果逼近真實將是繼續研究的方向。
參考文獻
[1] 孫穎.淘寶開放平臺[J].程序員,2009(8):43-45.
[2] TURNEY P D. Thumbs up or thumbs down: semantic orientation applied to unsupervised classification of reviews[C]. Proceedings of the 40th Annual Meeting on Association for Computational Linguistics, Association for Computational Linguistics, 2002.
[3] TURNEY P D, LITTMAN M L. Measuring praise and criticism: Inference of semantic orientation from association[J]. ACM Transactions on Information Systems(TOIS), 2003, 21(4): 315-346.
[4] XU K, LIAO S S, LI J, et al. Mining comparative opinions from customer reviews for competitive intelligence[J]. Decision support systems, 2011,50(4):743-754.
[5] LIU B. Opinion mining and sentiment analysis[M]. Web Data Mining. Springer Berlin Heidelberg, 2011.
[6] 方美玉,鄭小林,陳德人,等.商品評論聚焦爬蟲算法設計與實現[J].吉林大學學報(工學版),2012(51):1.
[7] 陳濤,徐睿峰,吳明芬,等.一種基于情感句模的文本情感分類方法[J].中文信息學報,2013,27(5):67-74.
[8] 李綱,王忠義,寇廣增.情感分類中情感詞的情感傾向度的計算方法研究[J].情報學報,2011,30(3):292-298.
[9] LI S S, HUANG C R, ZONG C Q. Multi-domain sentiment classification with classifier combination[J]. Journal of Computer Science and Technology, 2011,26(1):25-33.