陳可嘉 鄭晶晶
(福州大學 經濟與管理學院,福建 福州 350116)
近年來,由于互聯(lián)網的高速發(fā)展,人們可以在網上自由地發(fā)表對產品的觀點,給商家和意向購買者帶來了很大的影響。對商家而言,評論自由為其同時帶來了機遇和挑戰(zhàn),用戶評論影響著意向購買者的購買決策,而商家也能在評論中挖掘用戶的需求,更有針對性地促進產品的革新;對意向購買者而言,可以通過評論的閱讀來判斷產品是否滿足自己的真正需求,從而減少由于商家單方面信息傳遞而造成的錯誤購買決策。然而,商家如何從大量的評論中挖掘用戶的真正需求,意向購買者又該如何從千萬條評論中快速了解產品是否真正滿足自己的需求,成為近年的學術研究熱點[1-4]。目前大多數(shù)意見挖掘的研究主要包括兩部分:產品屬性提取和評論情感分類[5-6]。在產品屬性提取的相關研究中,有的文獻表述為產品屬性提取或抽取[7-8],有的文獻表述為產品特征提取[9-10],實際上研究對象一致,都是為了提取出產品屬性,進而可以將評論按照描述屬性的不同進行分類展示,從而意向購買者可以根據自己的需求進行選擇性瀏覽,提高閱讀效率,而商家也可以根據用戶對不同產品屬性的需求進行分析。因此,產品屬性提取是一項關鍵的工作。
目前有學者使用基于詞頻和共現(xiàn)的方法提取產品屬性。如劉臣等[9]利用特征詞和觀點詞共現(xiàn)的關系,構建二分網絡,并且創(chuàng)新性地提出了加權二分網絡,以特征詞-觀點詞對按照節(jié)點重要性進行排序,從而找出特征-觀點詞。劉通等[10]利用邊界平均信息熵的方法提取產品特征(即認為一個詞的左右邊界的信息熵越大,該詞左右兩邊的詞的種類越多,那么該詞作為一個獨立的詞的概率越大),并基于該方法自動提取具有名詞短語(BNP)模式的候選產品特征,之后應用子串過濾方法篩選產品特征。周清清等[7]基于詞頻提取高頻名詞并作為候選屬性詞,接著基于神經網絡訓練出的詞向量進行屬性詞聚類,從而得到產品屬性集。
還有學者提出利用依賴規(guī)則提取產品屬性。如郗亞輝[11]發(fā)現(xiàn)句子中產品的特征詞和描述這個特征的觀點詞存在一定的共現(xiàn)規(guī)則,因此通過對句子的分析,發(fā)現(xiàn)兩者之間的共現(xiàn)規(guī)則后,可以對句子進行雙向循環(huán)提取,即利用觀點詞發(fā)現(xiàn)它所描述的特征詞,再利用特征詞尋找描述它的觀點詞,直至無法發(fā)現(xiàn)新詞時結束循環(huán)。Rana等[12]通過研究用戶行為發(fā)現(xiàn)產品特征和觀點詞之間的依賴關系,并采用序列模式挖掘算法提取產品特征。
借助機器學習方法提取產品屬性,同樣備受學者們的關注。余琦瑋等[13]提出利用條件隨機場對產品特征詞進行提取,首先分析句法結構,然后設計出規(guī)則作為條件隨機場的特征模板,最后證實該方法有效。Poria等[14]結合卷積神經網絡和文本語義來標記文本中的屬性詞,通過實驗證實使用該方法提取產品屬性能夠有效提高準確率。
在基于詞頻和共現(xiàn)的研究中,由于沒有考慮文本的語義關系,常常將相同產品屬性視為不同;在基于句法依存關系的研究中,雖然考慮了文本的語義,但由于人們評論的隨意性且無法羅列所有的句法結構,導致部分產品的屬性和觀點詞對的提取比較困難;在基于機器學習方法的研究中,需要大量的人工標注,耗費人工成本。因而近年來,很多學者使用隱含 Dirichlet分布(LDA)模型進行產品屬性提取。LDA模型屬于無監(jiān)督模型,無需耗費人工成本,同時還能根據詞語共現(xiàn)的頻率,將具有相同語義的文本進行主題歸類,因此LDA模型在產品屬性詞提取領域具有顯著的優(yōu)勢。
學術界在經典LDA模型基礎上進行多角度改進,不斷提高屬性提取的準確性。彭云等[15]通過句法分析、詞義理解等獲取詞語之間的語義關系,構建語義關系圖,將語義約束關系作為LDA模型訓練的條件,使得相同主題下的詞語語義更加一致。蔡永明等[16]先構建詞匯社交網絡,并在傳統(tǒng)LDA模型的吉布斯采樣過程中加入共詞網絡的約束,使得相同搭配關系的詞語盡可能分配在同一主題下。陳琪等[17]利用支持向量機對移動應用評論按照問題類型的不同進行分類,并在此基礎上使用LDA模型分別對不同類型的問題進行主題提取。仇光等[8]提出了基于正則化LDA模型的隱式產品屬性抽取方法。
現(xiàn)有關于LDA模型的研究主要存在如下問題:①對長評論文本進行建模時,由于評論者往往同時對多個產品屬性進行描述,而LDA模型會將這些頻繁共現(xiàn)的不同屬性類別詞歸為一類,容易出現(xiàn)多屬性類共現(xiàn)問題。因而有學者提出對句子級別的評論(短文本)進行建模[18],但短文本過于稀疏,詞共現(xiàn)較少,LDA模型的處理效果并不理想[19]。②LDA模型在吉布斯采樣過程中,沒有任何約束,詞-主題分配具有隨機性,因此訓練結果準確性不高。③LDA模型生成的主題具有重復性,即存在多個主題描述同一屬性類別的情況,不適合直接作為產品屬性提取的結果。
針對這些問題,本文引入文檔重組思路[20],構建基于種子約束的LDA模型(SC-LDA),提出了基于SC-LDA的產品屬性提取方法。首先,針對中文數(shù)據集,在文檔初次重組基礎上,提出利用Apriori算法進行文檔二次重組,使二次重組后的文檔只對一個產品屬性進行描述,以解決長文本多屬性類共現(xiàn)以及短文本稀疏性問題,提高文檔重組率,挖掘出更多的產品屬性類別;然后,利用must-link和cannot-link[21]兩種種子約束定義概率擴縮值,通過對吉布斯采樣過程的約束,使相同類別的種子盡可能分配到相同的主題,不同類別的種子盡可能分配到不同的主題,從而使主題分布更具有現(xiàn)實意義,提高訓練結果的準確性,并在此基礎上對SC-LDA模型的吉布斯采樣過程進行推斷,得到模型參數(shù);最后,將SC-LDA模型生成的主題映射到先驗屬性類別上,以避免出現(xiàn)屬性類別重復以及歸類不清的情況。
本文主要通過對經典LDA模型進行改進,從而達到更好提取產品屬性的目的。產品屬性提取的流程如圖1所示。
圖1 產品屬性提取的流程圖Fig.1 Flow chart of product attributes extraction
(1)產品評論處理。首先,利用爬蟲軟件在各大電子商務網站爬取同一類產品的評論。然后對評論句子進行分割。由于長評論常常可能含有對多個產品屬性的描述,這種多屬性共現(xiàn)的情況會影響LDA模型的訓練結果。因此需要進行句子分割,分割出句子級評論,使得每條評論只對一個產品屬性進行描述。由于人工進行句子分割,工作量大,因此本文使用機器自動分割,即利用Python技術,對從電子商務網站爬取的評論以句號、分號、感嘆號等作為斷句標準重新分割出句子級評論。具體的句子分割過程偽代碼如下:
{輸入:需進行句子分割的評論文本
輸出:完成句子分割的各句子級評論
分割后句子集評論=[]
for 字符 in評論文本 do
拼接后字符+=當前字符
if 當前字符已是評論文本最后一位 then
分割后句子集評論.append(拼接后字符)
break
if 當前字符 in 分割字句標識符 then
分割后句子集評論.append(拼接后字符)
拼接字符=“”}
最后,用結巴分詞工具包[22]對斷句后的句子級評論進行分詞。結巴分詞是基于詞典的一種方法,具體步驟如下:①事先構造詞典,再利用詞典對句子進行分詞,獲取一個句子所有可能的分詞結果,并構造有向無環(huán)圖;②基于動態(tài)規(guī)劃法找到最大概率路徑,獲取基于詞頻的最大切分組合;③利用基于漢字成詞能力的隱馬爾可夫模型處理未登錄詞,并使用維特比(Viterbi)算法進行計算及詞性標注。
(2) 產品詳細參數(shù)處理。首先人工從各大電子商務網站獲取產品詳細參數(shù)(產品說明書)。產品詳細參數(shù)一般都是按照產品屬性類別對產品參數(shù)進行分類描述且已分好屬性類別,因而作為屬性種子的生成來源具有專業(yè)性和針對性等優(yōu)勢。然后將描述相同產品屬性類別的參數(shù)匯總在一起。最后用結巴分詞工具包對所有詳細參數(shù)分類匯總后的文檔進行分詞。
TF-IDF算法[23]是一種基于統(tǒng)計的方法,可以算出一個詞對一篇文檔的重要程度,即可以獲取一篇文檔的主題。如果一個詞在一篇文檔中多次出現(xiàn),而又很少出現(xiàn)在其他文檔中,那么可以說這個詞是這篇文檔的關鍵詞。因此,一個詞的VTF-IDF值越大,說明該詞對該文檔的代表性越強,其計算公式如下:
VTF-IDF=rTFrIDF
(1)
rTF=Nwd/Nd
(2)
(3)
式中,rTF為詞語w在文檔d中出現(xiàn)的頻率,rIDF為詞語w的逆向文件頻率,Nwd為詞語w在文檔d中出現(xiàn)的次數(shù),Nd為文檔d中所有的詞語數(shù),NT為語料庫的文檔總數(shù),NT,w為語料庫中包含詞語w的文檔數(shù)。
將所有分詞后的產品屬性參數(shù)的分類匯總文檔作為TF-IDF算法的輸入,計算出每個屬性類別的關鍵詞,作為每個屬性類別的初始屬性種子,分類匯總后得到初始屬性種子集。如此生成的屬性種子,對其相應屬性類別有很強的代表性,可以作為文檔重組的依據。
將初始屬性種子作為文檔初次重組的依據,對分詞后的評論進行初次重組,即將含有相同初始屬性種子的句子級評論重組成一個文檔。這樣能夠保證初次重組后文檔只對某一產品屬性進行描述,同時還擴大文檔的長度。因此,文檔重組能夠解決長文本多屬性類共現(xiàn)問題和短文本稀疏性問題。
將所有重組后的文檔匯整為初次重組文檔集;另一部分句子級評論由于不含有初始屬性種子而無法重組,匯整為未重組評論集。
初始屬性種子大多屬于專業(yè)術語,而人們在評論時往往隨意且口語化,常常對專業(yè)術語用不同的詞語進行描述,導致文檔重組時很大一部分評論由于不含屬性種子而無法重組,從而造成信息缺失。因此,需要對未重組評論集進行文檔二次重組,具體步驟如下:
(1)采用Apriori算法[24]提取頻繁項。先使用結巴詞性解析工具去除未重組評論集中的非名詞,再利用Apriori算法提取未重組評論集中的頻繁項集(在支持度排序下的前300個項集),從而獲得未重組評論集中出現(xiàn)較為頻繁的詞語,作為下一輪文檔二次重組的依據。頻繁出現(xiàn)的詞語具有較好的代表性,且作為二次重組依據能夠提高文檔的重組率。
(2)去除非屬性詞。由頻繁項集生成的高頻詞中會含有非屬性詞,如“爸媽”、“男朋友”、“兒子”等,這些詞具有干擾性,需要將這些詞語去除,生成最終頻繁種子集。
(3)二次重組文檔。根據最終頻繁種子集對未重組評論集進行二次重組,即將含有相同頻繁種子的句子級評論重組成一個文檔,并將二次重組后的文檔匯整為二次重組文檔集。
(4)匯總兩次文檔重組結果。匯總兩次重組得到的文檔,作為SC-LDA的輸入。
1.5.1 種子約束
加入種子約束,可以使得相同主題(產品屬性類別)下的主題詞(產品屬性詞)盡可能描述同一類產品屬性,不同主題下的主題詞盡可能描述不同類產品屬性,提高LDA的主題理解力。
種子約束類型有must-link和cannot-link兩種。將初始屬性種子集作為種子約束的依據,屬于同一屬性類別的種子具有must-link約束,屬于不同屬性類別的種子具有cannot-link約束。兩種約束的關系如圖2所示。具有must-link約束的屬性種子在訓練過程中盡可能分配相同主題;具有cannot-link約束的屬性種子在訓練過程中盡可能分配不同主題。
圖2 must-link和cannot-link的關系Fig.2 Relationship between must-link and cannot-link
(4)
1.5.2 SC-LDA模型的構建
LDA模型的原理是模擬文檔的生成過程,首先是從一堆主題中確定以哪個主題為中心,然后選擇中心主題的相關詞語,最后生成文檔。LDA模型的訓練過程采用吉布斯算法進行采樣,在已知文檔的情況下,得到生成文檔的主題分布和每個主題的詞語分布。LDA模型常常作為淺層語義分析的工具,能夠用于提取評論中的主題詞即產品屬性詞。為了提高LDA模型的提取效果,本文對經典LDA模型進行改進,加入種子約束。本文種子約束LDA(SC-LDA)模型如圖3所示,圖中α為文檔-主題的Dirichlet參數(shù),β為非種子詞主題-詞語的Dirichlet參數(shù),φs為種子約束下主題-詞語分布,zm,n為第m篇文檔第n個詞語的主題,θm為第m篇文檔-主題分布,φ為無種子約束下主題-詞語分布,S為屬性種子集,wm,n為第m篇文檔的第n個詞語。
圖3 SC-LDA模型Fig.3 SC-LDA model
SC-LDA模型的文檔生成過程如下:
(1)選擇主題zm,n,即先選擇第m篇文檔的主題分布θm~Dirichlet(α),再選擇第m篇文檔的第n個詞語的主題zm,n~θm。
(2)選擇詞語wm,n,即
ifwm,n∈Sthen
選擇主題-詞語分布φs~ηDirichlet(β);
∥η是種子約束因子
選擇詞語wm,n~φs;
else ifwm,n?Sthen
選擇主題-詞語分布φ~Dirichlet(β);
選擇詞語wm,n~φ。
1.5.3 SC-LDA模型的參數(shù)推斷
由于SC-LDA模型中加入了種子約束,即模型訓練過程受到了概率擴縮值的影響,因此需要對吉布斯采樣過程進行推斷,從而獲得SC-LDA模型的參數(shù)。SC-LDA模型的參數(shù)推斷過程如下:
(5)
p(θm|z,w)p(wζ=t|φk)p(φk|z,w)dθmdφk=ζ=(m,n),是一個二維下標,wζ為第m篇文檔的第n個詞語,w為除ζ以外的所有詞語;zζ為第m篇文檔的第n個詞語的主題;為第m篇文檔第n個詞語分配給主題k的概率擴縮值;w為所有詞語;z為除了ζ以外所有詞語分配的主題;φk為主題k的詞語分布;θm為第m篇文檔的主題分布;D(θm|Nm,ζ+α)和D(φk|Nk,ζ+β)為兩個Dirichlet后驗分布,Nm,ζ為第m篇文檔中所有主題的數(shù)量分布(除去ζ),Nk,ζ為主題k中所有詞語的數(shù)量分布(除去ζ);θmk為第m篇文檔屬于主題k的后驗概率,φkt為主題k出現(xiàn)詞語t的后驗概率,這兩個后驗概率在貝葉斯框架下的參數(shù)估計為
(6)
Word2Vec是用來訓練詞向量的雙層神經網絡模型,其中CBOW和Skip-gram是兩個常用模型。根據文獻[25]對CBOW模型和Skip-gram模型的性能對比結果,本文采用整體效果更好的Skip-gram模型來訓練詞向量。
主題模型生成的每個主題都與每個先驗屬性類別(初始屬性種子集中的屬性類別)計算相似度,具體方法如下:①將某主題中的一個主題詞與某先驗屬性類別中的每個屬性詞計算相似度,選擇相似度最大值作為該主題詞與該先驗屬性類別的相似度值;②按照相同方式計算該主題中的所有主題詞與先驗屬性類別的相似度值;③將每個主題詞的相似度值與其權重相乘后累加得到該主題和先驗屬性類別的相似度,其中詞向量間的余弦相似度作為詞語間的相似度,主題模型訓練結果中主題詞在其對應主題下出現(xiàn)的概率作為該主題詞的權重。
由于主題模型生成的主題中,存在多個主題描述同一屬性類別或者主題不屬于先驗屬性類別等情況,因此需要對主題模型生成的主題進行屬性類別映射。一般來說,屬性類別映射將生成的主題映射到與其相似度最高的先驗屬性類別上。但由于主題模型可能會生成一些新的、不屬于先驗屬性類別的主題,如果采用相似度最高法進行映射會導致錯誤歸類。因此,需要計算生成主題與先驗屬性類別相似度的方差,對于方差小于0.005的生成主題,進行人工歸類;對于方差大于0.005的生成主題,直接映射到與其相似度最高的先驗屬性類別上。這樣可以很好地處理生成主題的錯誤歸類問題。
利用八爪魚軟件,采集京東平臺上截至2019年11月7日關于手機類產品的評論2萬條。其中涉及時下最熱門的10款手機的相關評論,考慮到單款手機可能會出現(xiàn)片面的屬性描述,通過獲取多款手機產品的評論數(shù)據來較為全面地獲取手機類產品的屬性詞,從而使得本文的屬性提取結果更具代表性。在線評論數(shù)據統(tǒng)計結果如表1所示。部分語料樣例如表2所示。為了使每條評論只對一個產品屬性進行描述,利用Python技術,以句號、分號、感嘆號等作為斷句標準重新分割出句子級評論40 753條。
表1 在線評論語料統(tǒng)計Table 1 Online reviews corpus statistics
表2 部分語料樣例Table 2 Examples of some corpora
從中關村在線的網站上獲取手機產品的詳細參數(shù)描述20篇,這些參數(shù)描述即手機專家對手機產品的說明書,具有專業(yè)性,因而有一定的參考價值。其中手機屬性參數(shù)分為包括屏幕、性能、相機、外觀、功能,部分屬性的詳細參數(shù)描述樣例如表3所示。
表3 部分屬性的詳細參數(shù)描述樣例Table 3 Examples of detailed parameter description of some attributes
利用TF-IDF算法對分詞后的產品屬性參數(shù)分類匯總文檔進行關鍵詞提取,生成初始屬性種子集,如表4所示。
表4 初始屬性種子集Table 4 Initial attribute seed sets
斷句后的40 753條句子級評論,含有相同初始屬性種子的重組到一個文檔中,生成58個初次重組文檔,但是仍有20 846條句子級評論由于不含有初始屬性種子而無法進行重組。
本文首先使用Apriori算法提取20 846條未重組評論集中的前300個頻繁項集,并去除頻繁項集中的一些非屬性詞,如爸媽、女朋友、男朋友、兒子、女兒等,進而生成143個頻繁種子,構成最終頻繁種子集。
然后,根據最終頻繁種子集對20 846條未重組評論集進行二次重組,將含有相同頻繁種子的評論重組到一個文檔,最后生成143個二次重組文檔。
匯總兩次文檔重組結果,共有201個重組文檔。
在主題模型訓練過程中,需要人工按照經驗確定最終主題數(shù)(即K值),而K值的不同將影響模型的訓練效果,因此本文采用文獻[26]方法確定K值:首先用主題的詞概率分布表示主題,接著利用余弦距離計算主題間的相似度(見式(7)),最后由所有主題間的平均相似度(見式(8))確定主題模型的穩(wěn)定性。平均相似度越小,說明主題模型越穩(wěn)定,此時的K值越合適。
(7)
(8)
本文對不同的K值進行模型訓練,結果如圖4所示。從圖中可以看出,當K=11時,模型最穩(wěn)定。因此,主題模型訓練過程中K值取為11。
圖4 不同K值下主題模型的訓練結果Fig.4 Training results of topic models under different K values
將爬取的2萬條評論分詞后作為詞向量訓練文檔。在Python 3.7環(huán)境下,詞向量維度設定為200,采樣值設定為0.000 01,窗口大小設定為5,其他參數(shù)均采用默認設定。經過Skip-gram模型訓練后,把文本形式的單詞轉化成200維向量形式。映射前主題生成結果如表5所示。從表中可以看出,未映射前主題個數(shù)為11,主題1和主題5屬于相同的屬性類別,主題3、9、10不屬于任何先驗屬性類別。部分主題與先驗屬性類別的相似度如表6所示。
表5 映射前主題生成結果Table 5 Generation results of topic before mapping
表6 部分主題與先驗屬性類別的相似度Table 6 Similarity of some topics and prior attribute categories
經過方差計算知道:主題1相似度的值間方差為0.005 1,大于0.005 0,因此將相似度值最大的先驗屬性類別作為主題1的映射類別,即主題1描述的都是“外觀”這個產品屬性類別;主題10相似度的值間方差為0.002 0,小于0.005 0,因此需要人工判定其所屬類別,由于其主題詞大多數(shù)為耳機、殼、膜、貼膜等手機配件,不屬于任何先驗屬性類別,故將主題10定義為一個新類別“配件”。
經過屬性類別映射后SC-LDA的屬性詞提取結果如表7所示,即SC-LDA最終生成的屬性類別有8個,分別為屏幕、性能、相機、外觀、功能、配件、性價比、服務。從表中可以明顯看出,經過屬性類別映射后,不再存在重復類別且類別歸屬清晰,讓人一目了然。
表7 映射后屬性類別提取結果Table 7 Extraction results of attribute category after mapping
將本文方法(SC-LDA)與LDA[27]、AP聚類[7]、LDA+初次重組、LDA+二次重組方法進行對比分析。經典的LDA模型沒有進行文檔重組也沒對主題分配過程進行約束;AP聚類[7]是對屬性詞進行聚類的方法,它是對詞向量化后的候選屬性詞進行聚類,聚類過程沒有進行約束;LDA+初次重組是將文檔進行初次重組后輸入LDA模型;LDA+二次重組是在初次重組的基礎上對文檔進行二次重組后輸入LDA模型;SC-LDA方法是將二次重組后的文檔輸入基于種子約束的LDA模型。
2.6.1 定性分析
5種方法經過屬性類別映射后各屬性類別下前5個屬性詞提取結果如表8所示。從表8可以發(fā)現(xiàn),由SC-LDA生成的屬性類別有8類,即除了5個先驗屬性類別外,還生成了配件、服務、性價比3個新類別。先驗屬性類別是手機產品的詳細參數(shù)描述中手機專家分好的屬性類別,在本文方法下,這5個類別能夠被生成,說明本文方法符合實際。文獻[28]生成的屬性中也存在服務、性價比、配件,進一步說明本文方法生成的屬性類別符合實際。
從表8可以看出:LDA+初次重組方法只生成了5個先驗屬性類別,沒有生成其他新類別;其他4種方法除了生成5個先驗屬性類別外,還生成了配件、服務、性價比3個新類別。主要原因如下:
表8 映射后屬性類別下前5個屬性詞提取結果Table 8 Extraction results of the top five attribute words under the attribute category after mapping
(1)LDA+初次重組方法不存在二次重組步驟,只對含有初始屬性種子的句子級評論進行重組并輸入模型。由于初始屬性種子只含有“屏幕”、“性能”、“相機”、“外觀”、“功能”5個類別的屬性詞,這種情況下重組的文檔會忽視非初始屬性種子的屬性詞,如含有與“服務”相關的屬性詞的句子無法被重組,因此最終無法生成“配件”、“性價比”、“物流”等新的屬性類別,只有5個先驗屬性類別。
(2)LDA+二次重組方法中,文檔二次重組后,輸入模型的文檔基本涵蓋了所有評論信息,因而可以生成更多的新的屬性類別。
(3)SC-LDA方法雖然存在種子約束,但不影響其生成新類別,與LDA、AP聚類等生成類別一樣。如用戶會比較關心的“物流”、“服務態(tài)度”等屬性,雖然不屬于先驗屬性類別,但依舊可以被獲取,說明本文方法在提高準確率的同時,可以獲取非專業(yè)領域的屬性詞,因而本文方法具有領域適應性。
(4)LDA直接將爬取的評論作為模型輸入,無重組、無刪減、無屬性種子集引導,因此屬性類別生成不受限制,生成8個屬性類別。
(5)AP聚類是對高頻名詞進行聚類,高頻名詞可能來自不同的屬性類別,因此在無人工干預情況下,和LDA一樣生成8個屬性類別。
從表8可以發(fā)現(xiàn),5種方法提取的前5個屬性詞中,相比其他方法,SC-LDA方法出現(xiàn)錯誤歸類的屬性詞(表中加粗詞)最少。不論是LDA方法還是文獻[7]中利用Word2Vec詞向量進行AP聚類的方法,都和文本語義、文本共現(xiàn)有關,文本語義越相近,共現(xiàn)頻率越高,歸為一類的概率就越高。如“外觀”和“屏幕”兩個類別的屬性詞常?;ハ鄽w類錯誤,主要是因為這兩個類別的屬性詞共現(xiàn)頻率較高。而本文方法在這方面的表現(xiàn)優(yōu)于其他方法,說明加入種子約束可以有效解決非同類屬性詞頻繁共現(xiàn)而導致的錯誤歸類問題。LDA+初次重組方法雖然只生成了5個屬性類別,但其出現(xiàn)錯誤歸類的屬性詞比LDA+二次重組方法少,這可能是由于未進行二次重組,從而排除了其他新屬性類別的影響。
京東、淘寶平臺會對用戶評論中比較關注的屬性評價進行標簽提取,以方便消費者有針對性地瀏覽評論,部分樣例如圖5所示。從圖中可以發(fā)現(xiàn),提取的標簽和表8中提取的屬性詞是比較吻合的,這進一步說明本文方法提取的屬性詞符合實際情況。
圖5 電商平臺中手機產品評論標簽提取部分樣例Fig.5 Some examples of mobile phone product review tag extraction in e-commerce platform
2.6.2 定量分析
為了對5種方法的性能作出有效定量評估,本文選取3個評估指標:準確率(A)、熵值[20](e)、純度[20](P),
(9)
(10)
(11)
(12)
式中:Na為正確歸類的屬性詞數(shù);Ne為錯誤歸類的屬性詞數(shù);pul=cul/cu,為聚類類別第u類的成員屬于真實類別第l類的比重;cul為聚類類別第u(u=1,2,…,U)類的成員(屬性詞)屬于真實類別第l(l=1,2,…,L)類的個數(shù);cu為聚類類別第u類中所有成員的個數(shù);U為聚類類別數(shù);L為真實類別數(shù);c為整個聚類劃分所涉及的成員個數(shù);pu為聚類u中的成員屬于不同真實類別的最大比重。
5種方法提取前5(top5)、前10(top10)、前15(top15)、前20個(top20)屬性詞的準確率、熵值和純度比較如表9所示,從表中可以發(fā)現(xiàn):
表9 5種方法提取產品屬性結果的準確率、熵值和純度比較Table 9 Comparison of accuracy,entropy and purity of product attribute extraction results by five methods
(1) SC-LDA方法的準確率最高。這主要是因為SC-LDA方法加入了種子約束,進而大大提高了準確率。LDA和AP聚類方法在沒有任何約束的情況下,非屬性類別詞由于共現(xiàn)頻繁而被歸于一類的情況不可避免,因此這兩種方法的準確率低于本文方法;LDA+初次重組方法的準確率雖然在top5上有較好的表現(xiàn),但隨著提取的屬性詞越多,準確率下降明顯,這主要是因為只進行初次重組,重組率低,忽略了很大部分其他方面的有效評論,而加入二次重組后可以彌補這項不足。
(2)不論是將前5個還是前20個屬性詞作為計算熵值的依據,SC-LDA方法的熵值都低于其他方法(熵值越大,說明聚類結果越雜亂,聚類效果越差)。這主要是因為經過種子約束后,每個主題下的主題詞大都只描述同一屬性類別,較少出現(xiàn)一個主題下的主題詞描述多個屬性類別的情況;AP聚類在熵值上的表現(xiàn)和LDA差不多,每個聚類類別中,含有較多其他不同類別的屬性詞,因此熵值較大,聚類效果不如本文方法;LDA+初次重組方法的熵值在top5上表現(xiàn)良好,但在提取更多的屬性詞時,效果不如LDA+二次重組方法,說明文檔二次重組對聚類效果有一定的影響。
(3)不論是將前5個還是前20個屬性詞作為計算純度的依據,SC-LDA方法的純度都優(yōu)于其他方法(純度越高,聚類效果越好)。這同樣是因為加入了種子約束,使得每個主題大都只描述同一屬性類別。
產品屬性提取是意見挖掘研究中的一項關鍵工作。本文提出了基于種子約束LDA的產品屬性提取方法。首先,通過TF-IDF算法自動提取關鍵詞,作為初始屬性種子集;接著,對文檔進行初次重組和二次重組,使二次重組后的文檔只對一個產品屬性進行描述,解決長文本多屬性類共現(xiàn)問題和短文本稀疏性問題;然后,應用must-link和cannot-link兩種種子約束定義概率擴縮值,通過對吉布斯采樣過程的約束來影響LDA的主題分配,使得訓練結果更加合理,提高主題提取的準確性;最后,將種子約束LDA生成的主題映射到先驗屬性類別上,避免出現(xiàn)重復屬性類別以及歸類不清的情況。實驗結果表明,不論是從屬性類別、屬性詞進行的定性分析,還是從準確率、熵值、純度進行的定量分析,本文方法都優(yōu)于經典LDA等其他方法,具有較好的實用性和有效性。