劉 莎 陳艷平
(貴州大學 貴陽 550025)
近些年來,隨著互聯網及電子商務平臺的迅速發展,在線評論的有用性成為影響消費者決策的一大重要影響因素。在線評論是用戶在體驗商業產品和服務后的評估和體驗,并為其他用戶提供有價值的信息。用戶可以通過在線評論了解商家的產品和服務,這有助于他們做出更好的消費決策,并降低產品和服務的參考成本。著名Jupiter Re?search公司通過多年調查分析,研究發現75%的消費者在餐廳用餐、旅游住宿、購買商品、親子游樂場等多項消費之前,會參考互聯網上的用戶體驗后的評論信息。國內也一樣,比如淘寶、京東、美團、去哪兒等平臺。
由于網絡的開放性,發布在線評論的成本很低,許多垃圾郵件和虛假信息使得評論中的信息質量參差不齊,導致評論數量多,噪音大,難以區分,而且評論方式有很多,語言表達也不同,有些評論并不能給我們帶來有用的參考價值,如何從大量評論中找到有價值的信息是我們研究的重點和難點。
文中提出了評論有用性投票的低頻關鍵詞提取方法。主要是從餐廳的評論中找出低頻關鍵詞,通過研究有用性投票來給消費者提供更多的選擇和決策,而不是僅僅看用戶給這家餐廳打的星級來作為評判指標(一般是五顆星)。因此,低頻關鍵詞的識別和提取就成了我們所面臨的一大困難,它主要存在以下三個問題。
1)低頻關鍵詞的各個部分之間的內聚性弱,無法計算它們之間的相互信息。
2)由于低頻關鍵詞之間的組合從概率的角度評價具有隨機性,難以采用標注的方式來使用機器學習的方法。
3)低頻關鍵詞也存在表示方面的問題,由于出現次數少,缺少上下文信息,難以通過現有表示方法(如:Word2Vector)來對其進行表示。
基于以上困難,目前仍沒有較多關于評論有效性投票方面的研究,這將成為我們重點研究的課題,它能更好地解決目前存在信息量大、查找感興趣的主題困難,后期信息利用也很困難的問題,便于用戶在信息化時代更加容易且方便地查找有用性信息。
關于在線評論有用性投票方面的研究,大多是管理學、經濟學、社會學研究的相對較多。在國外,2011年,Lotte M.Willemsen[1]等通過分析Amazon.com上發布的經驗和搜索產品的評論,發現此內容分析的見解和消費者收到的評論的比例相關聯。2012年,Racherla,Pradeep等通過實驗發現評論者和評論者的特征對于理解評論的有用性至關重要。在國內,2010年,郝媛媛[3]等從文本特征、建立模型并進行有用性分類提出了在線影評的有用性。2013年,廖成林[4]等認為評論的等級和評論者的排名與評論的有用性成反比,評論的深度和購買經驗與評論的有用性成正比。
在國外,較早就開始研究關鍵詞提取了。美國紐約大學開展的Linguistic String項目[5]開始于60年代中期并一直延續到80年代。該項目的主要研究內容是建立一個大規模的英語計算語法庫,與之相關的應用是從醫療領域的X光報告和醫院出院記錄中抽取關鍵詞。2008年,Frans Coenen[6]研究了許多替代關鍵詞生成方法和短語構建策略,結果表明該方法使得分類準確性提高了。在國內,2007年,張敏[7]等提出了以KeyGraph算法思想,構建詞網絡的自動抽取關鍵詞的理論機制,并通過實驗得到了較好的實驗效果。2014年,黃磊等[8]又提出了改進方法,即DI-TTFIDF算法,它的準確度高于傳統的TTFIDF算法。
本文中,我們討論低頻關鍵詞的識別及提取。將數據集文檔中的評論先分割成句子,通過神經網絡模型訓練、聚類生成關鍵詞的詞義結構,緊接著進行詞義結構排序、關鍵詞抽取,再根據餐廳評論的主題相關性對相同短語模式中的低頻關鍵詞排序,從而達到我們所要提取的低頻關鍵詞。具體框架如圖1。

圖1 低頻關鍵詞提取框架圖
詞義結構生成基于自然語言處理中的詞聚類或分類的方法。常用的有以下三種:1)利用外部知識庫(如WorldNet、HowNet和Cyc等)直接獲得詞的語義類別。該方法的缺點是知識庫構建困難且難以更新。2)利用機器學習中的分類器識別單詞的詞類。該方法需要標注一定數量的數據集,對分類器進行訓練。當單詞的類別比較多時,該方法難以適用。3)采用無監督聚類的方法。該方法利用大規模無標注的數據集進行訓練,利用單詞出現的上下文信息將單詞自動聚為不同的類別。相對來說,聚類的方法性能較弱,但是訓練數據容易獲取,詞類別數量的選擇也比較靈活。
我們采用的是基于自然語言處理中的詞聚類方法,將評論中單個的詞映射到一個帶語義的向量空間。在該空間中,語義上相近的詞其歐拉距離也很接近。然后,利用歐拉距離進行單詞的聚類,屬于同一詞類的詞,語義上也相近。每個詞類用一個標簽表示,代表該類詞在語義空間中的語義。然后,利用標簽替換候選關鍵詞中的所有單詞,生成關鍵詞的語義結構。具體表示由式(1)給出:

其中,w(t)和y(t)分別表示輸入層和輸出層,s(t)=f(Uw(t))表示隱藏層。
在文檔中,相對于低頻關鍵詞,其詞義結構具有較高的出現頻率,可以用來判斷一個語義機構是否有效。通過詞義結構生成,可以得到關鍵詞的語義結構,表示關鍵詞的使用模式。如果詞聚類的個數為K,允許的語義結構長度為n,則可能參數的語義結構的數量為Kn個。為了減少噪音,需要對其進行排序。
在所有評論中,低頻關鍵詞的出現次數非常少,上下文信息稀疏。每個低頻關鍵詞所對應的詞義結構包含很多關鍵詞。語義結構的排序可以使用多種排序方法。我們主要采用每個語義結構所對應的關鍵詞的數量作為評價的指標。
因為低頻關鍵詞的上下文信息稀疏,難以利用其上下文信息對單個詞義結構下的不同低頻關鍵詞進行排序。我們采用低頻關鍵詞中的各個單詞在文檔集中的上下文信息對低頻關鍵詞進行排序。比如餐廳評論中出現“這家餐廳的花生很好吃…牛奶的味道也很好。”假如“花生牛奶”為低頻關鍵詞,出現頻率低,上下文信息稀疏。但是單詞“花生”和“牛奶”在文檔中的出現頻率卻比較高。利用這些單詞在整個文檔集中的上下文信息,可以根據其同文檔主題的相關性進行排序。為了對低頻關鍵詞進行排序,首先生成該關鍵詞對應的向量Vi,該向量由式(2)給出:

其中Pi表示當前排序的關鍵詞,Wi表示構成該關鍵詞中的單詞,表示單詞Wi在文檔集中的上下文信息(該詞多次出現的周圍的詞特征)所構成的向量。則,對Vi的評分可以由式(3)給出:

其中Vt為文檔聚類后人工選擇的文檔簇所生產的詞頻向量,表示和餐廳有用性相關的主題。Vb表示用全部文檔集中的詞頻生成背景向量。分別計算每個關鍵詞對向量Vi的評分,即可得到低頻關鍵詞的排序。
本次實驗我們主要從Yelp.com中提取數據,Yelp是美國最大的商戶點評網站,其中包含各地餐館、購物中心、酒店、旅游等23個領域,用戶可以在Yelp網站中給商戶打分,提交評論,交流購物體驗等,每條評論都會有一個分數表明其有用性。
Yelp數據包含984,502條餐廳評論和584,762條非餐廳評論,我們主要聚焦在Yelp數據集中與餐廳有關的評論,并根據收集的評論的有用性將其分為兩類:第一類,有用性評論,其中有用值>0有449,437條評論;第二類,無用性評論,其中有用值=0有535,065條評論。
文中我們主要通過候選詞生成、短語過濾、短語評分這三個方面來進行實驗。最終通過判斷提取出的低頻關鍵詞占評論里有用性比例,看它是否對用戶選擇和決策具有有用性,從而驗證我們的實驗效果。以下將分為三部分進行詳細介紹。
4.2.1 候選詞生成
在現代生成語言學中,很難將功能詞與內容相關的詞分隔開來。我們的主要工作是將功能詞作為邊界形成候選詞。具體步驟如下:
1)在文檔中,首先將每條評論通過標點符號來進行分隔,比如{,。;!?:};
2)LIWC2015詞典中包含了19,281個停用詞,我們用LIWC2015詞典來檢查分隔開的評論,如果在詞典中,就將其作為邊界以生成候選短語;
3)輸出生成的候選短語以獲得整個語料庫的候選短語。
在整個評論中,會出現一些拼寫錯誤、符號錯誤或使用不當及地方方言識別等問題,為了減少噪音,降低實驗復雜度,我們通過lexicon詞典來檢查是否會出現上述問題(lexicon詞典的單詞列表包含67,725個單詞),如果候選短語不在此列表中,直接將其丟棄。我們通過以上兩大篩除步驟,最終Yelp數據集中短語共1,078,414個,出現次數為31,093,419次。短語類型的分布如圖2所示。

圖2 短語類型分布
其中A表示整個語料庫,B表示餐廳有用性的數據評論,C表示餐廳無用性數據評論。從中可以看出候選短語出現超過9次所占的比率分別是6.27%、6.98%、7.49%,而只出現過1次所占的比率分別是71.7%、71.12%、70.01%。由此表明刪除低頻短語將會失去很多有用的的信息,不利于更好地發掘文本信息,也不利于餐廳評論有用性投票的評估。
4.2.2 短語過濾
本次實驗主要研究餐廳的評論有用性。為了驗證低頻關鍵詞的含有很多重要的信息和很大的研究意義,以下將采用三個過程來進行候選短語的過濾。
1)高頻率的單詞可以增加表示的精確性。因此,為了支持詞分組,將刪除少于N(本文N=300)次單詞出現的短語。
2)實驗中,為了簡化討論,只研究過濾后評論包含兩個詞構成的短語。
3)由于實驗目標是研究低頻關鍵詞,因此,只討論出現一次的短語。
通過以上短語過濾,最終在A、B、C三個數據集上分別剩余327,345、120,828、78,247個短語,它們所占比率分別是30.35%、25.61%、23.58%。最終過濾結果如圖3所示。

圖3 短語過濾分布
4.2.3 短語評分
短語評分對于整個關鍵詞提取非常重要。通過以上短語過濾,最終得到在文中只出現一次的,只包含兩個詞的餐廳短語含有199,075個。整個Yelp語料庫中訓練單詞分布式表示,并進行k-means聚類,即根據相似性原則,將具有較高相似度的數據對象劃分至同一類簇,將具有較高相異度的數據對象劃分至不同類簇。其中k代表類簇個數,means代表類簇內數據對象的均值。將其聚類為200個組,每個組由“C000-C199”的標簽范圍標識。為了減少噪音、降低實驗處理難度,達到更好分類效果,通過詞標簽替換提取出來的關鍵詞,最終生成餐廳有用性短語20,277個,生成餐廳無用性短語16,362個。因為我們主要關注餐廳評論的有用性,在此,只列舉有用性分類。具體如表1所示。

表1 短語分組舉例
其中C15表示水果類食品,C155表示甜品類,C51表示味道類短語,C63表示肉類或谷類,C125表示情緒副詞,C152表示價格或效果的形容詞,C149大多表示描述環境的詞。
本文收集2013-2014年餐廳有用性評論,為了對相同短語模式的低頻詞進行排序,我們定義一個目標向量Vt,表示數據集的文本主題相關性,有關低頻關鍵詞的識別算法如表2所示。

表2 模型相應算法
從實驗中可以得出關于餐廳有用性評論的分布表,如此可以看出出現次數為5以上有用性投票只占了整個餐廳評論的6.08%,而出現次數為1的卻占了整個有用性投票的52.78%。提取其中一部分有用性評論,低頻詞大多是客觀表示用餐感受類的詞,比如“相當實惠、難以忘懷、十分冷清”等。“有用性”投票越高,這個評論越有價值,所包含的短語也就越有用;高頻詞大多是關于餐廳實體的詞,比如“牛排沙拉、餐廳座椅、芝士面包”等。“有用性”投票越低,這個評論價值越低,所包含的短語也就越無用。具體“有用性”投票分布如表3所示。

表3 “有用性”投票分布
這個實驗不僅表明忽略低頻關鍵詞將會失去很多重要的信息,而且驗證了我們提出的方法在處理低頻關鍵詞這一塊取得了很大的進展,并且在餐廳有用性投票處取得了很好的效果,更加客觀地為消費者提供準確而有用的信息。
本文提出了基于評論有用性投票的低頻關鍵詞提取方法研究。首先,通過LIWC2015詞典找出評論里相應的邊界詞并對其進行分割生成候選詞;其次,過濾短語,提煉出低頻的、與餐廳文本主題相關性大的短語,并且這些短語在餐廳評論中只出現一次;最后,為了減少噪音、降低實驗處理難度,我們采用類別標簽替換,將每一類短語進行短語評分,從而選出出現頻率低且有用性投票高的短語。從整個實驗中可以看出通過提取餐廳評論的低頻關鍵詞,可以獲取更多評論的有用信息,根據我們所提出來的有用性投票能夠更加客觀地表示人們對這條評論的看法,用戶可以更加準確地了解商戶,這有助于他們做出更好的消費決策。