魯程逸,代子正,王艷紅
(武漢科技大學 恒大管理學院,湖北 武漢 430065)
隨著互聯網的普及,網絡購物逐漸興起。并盛行《中國互聯網絡發展狀況統計報告》[1]顯示,截至2022年12月,我國網絡支付用戶規模達9.11億,成為推動消費擴容的重要力量。但面對琳瑯滿目的商品,消費者如何快速購買到滿意的商品,成為了網絡購物市場快速擴張的新問題。
基于此,各大電商平臺都在用戶搜索商品時使用了推薦算法,如表1所示。現階段電商平臺所使用的推薦算法在大體上可以劃分為以下幾個類別[2]。

表1 電商平臺所使用的推薦算法
近年來隨著國內外學者不斷地提出并改進算法,推薦系統的實用性大大提高,但也存在一些問題。目前大多數算法都是從商品的價格、銷量以及商家的描述入手,而忽視了消費者購買商品后的感想。而消費者在挑選商品時,比起參考商家提供的描述,往往會更傾向于參考其他買家的意見。有學者從用戶視角的商品推薦角度進行研究,提出了針對商品評論的情感分析算法。周立柱等[3]綜合闡述了當前國內外情感分析技術的研究成果,并從用戶評論數據挖掘入手探討了情感分析技術的多個應用領域。張紫瓊等[4]針對在線評論情感分析提出了一種動態歸納算法,根據用戶近期習慣來動態列舉用戶情感偏向。杜姝等[5]提出了一個基于WordNet 和互信息 PMI 算法淘寶評論評分算法,探討從評論出發的商品推薦系統的搭建。
總體來說,通過用戶評論情感分析的推薦算法仍處于探索階段,采用互聯網語言將基于情感分析的推薦算法應用于電商平臺的應用中更是剛剛起步。
本文結合爬蟲等相關技術,提出了基于情感分析的電商平臺商品評論有用性的分析方法,并基于此實現了一個基于淘寶的商品評論的推薦系統,其可以根據用戶輸入的關鍵字,向用戶推薦商品。在網絡購物高速發展,用戶的評論反饋越發受重視的當下,對契合互聯網用語的情感分析算法,無疑十分具有研究意義。
本文從電商平臺的評論信息獲取、情感詞典的制作、情感分析模型搭建、分析結果展示等方面進行評論有用性研究。采用Selenium爬蟲技術挖掘獲取電商平臺用戶評論信息,采用word2vec技術制作一個適用于網絡商品評論語言環境的精確情感詞典,并基于淘寶評論的評分算法模型,對該算法模型進行了相應實踐。
商品評論的獲取方式是通過Selenium爬蟲獲取,首先需要向Selenium輸入需要爬取商品的商品鏈接,Selenium通過商品鏈接打開瀏覽器并通過商品鏈接進入商品頁面,在瀏覽器完成服務器所發送的網頁信息處理后,Selenium會通過模擬點擊,尋找標簽等方式在網頁源代碼中獲取商品評論信息。在尋找到評論信息位置后,按照一定格式計入文檔中,之后,在本頁評論爬取完畢后會進入下一頁,繼續進行爬取,直至爬取到所設定的頁數。
Selenium能打開瀏覽器模擬真實用戶操作,通過這些操作,可以減少被所爬取網站的反爬蟲程序識別風險,增強爬蟲程序的穩定性。因為許多網頁中的內容是被隱藏的,普通的爬蟲方法難以獲取動態或加密的內容,而Selenium能夠模仿用戶點擊、認證等一系列操作獲取加密內容,并通過網頁中的一系列標簽內容來爬取所需內容[6]。
2.2.1 情感詞典分析處理工具
(1)情感詞典。情感詞典是判斷詞語和文本情感傾向的重要工具,多數主觀文本均包含情感詞,情感詞是情感分析的重要依據,所以找出情感詞,正確判斷其情感極性,從而構造高準確率和覆蓋率的情感詞典,具有至關重要的意義[7]。在中文文本的情感分析中,知網Hownet、臺灣大學NTUSD、清華大學李軍中文褒貶義詞典,波森自然語言處理公司推出的BosonNLP情感詞典被廣泛使用。
(2)Word2vec。Word2vec是谷歌公司于2013年運用Deep Learning技術開發出來用于解析語義的一款開源學習工具,其模型是基于神經網絡模型實現的.它可以將文本內容的處理簡化為向量空間中的向量運算,計算出向量空間上的相似度,用空間向量的相似來表示文本語義的相似度。Word2vec輸出的詞向量可以用來做很多NLP(Neuro—Linguistic Programming)相關的研究,比如詞聚類、找同近義詞、詞性分析等。
2.2.2 情感詞典制作
本文采用基于詞典的情感傾向挖掘方法,如圖1所示,首先將基于BosonNLP情感詞典制作情感詞詞典,基于知網Hownet詞典與臺灣大學NTUSD詞典制作程度詞詞典。將兩個詞典合并后完成基礎情感詞典。同時,使用Python爬蟲程序獲得一定量的評論信息,通過Word2vec訓練得出詞向量模型。通過詞向量模型完善基礎情感詞典,得到精確的情感詞典[8]。

圖1 情感詞典制作過程
(1)基礎情感詞典。在商品評論分析模型中,往往會將詞語分為表達情感強度的程度詞與表達情感傾向的情感詞兩部分,程度詞(例如“非常”“特別”)往往會被用來修飾情感詞(“好”“不好”)。①情感詞詞典。正確地識別情感詞是對評論進行情感分析的基礎,而一個詞典的收錄范圍將決定情感分析地精確程度。BosonNLP情感詞典是從微博、新聞、論壇等數據來源的上百萬篇情感標注數據當中自動構建的情感極性詞典,并將情感詞分為正向與負向兩個部分。這一詞典的詞匯收集量大,且收錄了部分網絡用語,并且每一個情感詞都有其對應的情感分值,可以作為情感分析中的計算權重使用,如表2所示。本文以BosonNLP情感詞典為基礎,構建帶有權重的基礎情感詞詞典。

表2 情感詞詞典
②程度詞詞典。在一段評論中,有用于表達情感傾向的情感詞,也有不帶情感傾向,用于修飾情感詞,表達不同情感強度的程度詞。程度詞的修飾程度同樣有強弱之分,因此對其所修飾情感詞的影響強度也不同。本文在參考知網Hownet、臺灣大學NTUSD詞典的基礎上,將程度詞分為稍微、輕度、更加、特別、最、否定六類,并進行權值標記如表3所示。權值大于l表示對情感有加強作用,小于l則表示對情感有削弱作用,-1則代表否定作用。

表3 程度詞詞典
(2)精確基礎情感詞典。 精確情感詞典通過詞向量模型完善基礎情感詞典而得到。由于網絡用語相對于傳統語言表達存在差異,網絡時代的海量信息客觀上要求網絡交流實現最大程度的迅速和快捷,傳統的語言表達無法滿足信息的最簡捷輸入輸出,由此應運而生了一種由符號、數字、漢字和英字母等雜糅使用的網絡語言,這種表述方式因其簡單方便、幽默詼諧、使用起來方便時尚而網絡上以驚人的速度迅速普及和傳播。電商平臺消費者的評論也是如此,隨著消費者的評論用詞不斷變化,上文中基于現有情感詞典搭建的基礎情感詞典,并不契合對于電商平臺商品評論的分析需求。面對這一問題,本文使用Word2vec對現有的商品評論用語進行分析,并根據訓練得出的詞向量模型搭建更加契合現今互聯網用戶用詞方式的精確情感詞典。在向Word2vec輸入訓練用的評論信息后,它可以將評論信息的文本內容的處理簡化為向量空間中的向量運算,并得出詞向量模型,其中,兩個詞匯的余弦值越接近一,說明兩個詞匯越相似。在評論中篩選出基礎情感詞典中未出現的詞語,并將其輸入詞向量模型,得出與輸入詞匯余弦值接近1的一組詞匯,篩選出余弦值最接近1基礎情感詞典中已有的詞匯后,并根據得出詞匯在基礎情感詞典中的分類,將新詞匯賦予在情感詞典中相同的位置與權重,其具體步驟如下:
①使用Python編寫Selenium爬蟲程序,采集淘寶網各類商品的評論信息,獲取用戶評論約20 000條;
②對獲取的評論信息進行處理,進行分詞、去除標點符號,去除停用詞等操作;
③使用處理后的評論信息進行訓練,得到記錄每個詞詞向量的數據模型;
④將詞典中未出現詞匯輸入詞向量模型,得出與輸入詞匯余弦值接近1的一組詞匯,篩選出余弦值最接近1基礎情感詞典中已有的詞匯后,并根據得出詞匯在基礎情感詞典中的分類,將新詞匯賦予在情感詞典中相同的位置與權重;
⑤重復第四步,將所有新詞匯加入基礎情感詞典后,最終得出精確的情感詞典。如表4所示。
互信息是信息論中的一個概念,是計算兩個隨機變量之間相互共有的信息量的大小,在NLP領域廣泛應用于語義消歧、搭配、以及聚類[9]。
Fano提出的點互信息概念,是用來計算兩個特定樣本之間的互信息,及確定兩個元素之間的關聯程度,他提出兩個樣本詞x和y,他們出現的概率分別是p(z),p(y)。
Turney提出,對于詞ω1和ω2,它們的點互信息可以表示為:
(1)
(2)
(3)
基于互信息SO—PMI算法,得出商品評論分析的具體思路[10]:在上文所述結合知網Hownet、臺灣大學NTUSD、BosonNLP情感詞典并通過Word2vec處理后的精確情感詞典中,存在正向(Pos)與負向(Neg)兩類情感詞與六類程度詞,且每個詞語都有其對應的權重。以此為基礎,得出商品評分計算模型CS-model(Commodity Scoring Model),該算法的基本思想是:一個商品中擁有多個評論,每個評論中有多個語句(Words)。在每個語句中,將情感詞與程度詞(EMO)一一對應,根據其在詞典中的對應權重求得其乘積。將所得乘積求和,匯總出單個評論的得分(PuSC)。計算公式如下:

(4)
在得出商品每個評論的得分后,需要對得分進行匯總,得出總分(PuASC)。由于在電商平臺中,好評總是多種多樣,而對于商品的差評往往是千篇一律,著重于指出商品的缺點,所以好評得分的絕對值往往遠高于差評。針對這一情況,算法需要重視差評的影響,從而更高效的計算出單個商品的得分。在統計單個商品評分大于0的好評數(NFC)與評分小于0的差評數(NNC)后,使用計算公式如下:
(5)
得出的總分P即為商品評價的得分,通過該模型對多個商品進行評分排序后,使用者可在大量商品中快速找出優秀的商品,而不必花費大量時間去挑選。
程序通過Python運行,其具體計算流程如下。
在爬蟲程序獲取到一定數量的評論數據后,將其打包發送給商品評論分析程序。程序依次讀取每條評論,在讀取一條評論后,程序通過SentenceSplitter包中的功能將該評論分句,并創建列表Sentence_list,將每句作為一個數據項放入列表Sentence_list中。
例如,當爬蟲程序對一款玻璃罐商品的評論數據進行獲取時,得到的評論數據如下:①馬上就把咸金桔放進去啦!腌制的東西還是要玻璃罐才好。下次試試白蘿卜,放冰箱大小也合適,真的是買的很居家。四個,兩個小兩個大,裝什么都可以啦。②買這家的罐子要小心,我拍了八個罐子就發了六個再不發了,問客服也不答復,客服電話是關機狀態,這家是個騙子都小心一點!!!!③幾個月的時間里斷斷續續買了大大小小幾十個瓶子了,非常的實用,腌菜做醬裝調料啥的都很好!只要不被小孩打壞應該可以用很久!
......
在分句功能中,一段評論將以標點符號為間隔分為多段,以第一段評論為例,評論將被分為:①馬上就把咸金桔放進去啦!②腌制的東西還是要玻璃罐才好。③下次試試白蘿卜,放冰箱大小也合適,真的是買的很居家。④四個,兩個小兩個大,裝什么都可以啦
程序依次讀取列表Sentence_list中的句子,通過Jieba包中的功能對句子進行分詞,同時載入停用詞表,去除掉分詞結果中的停用詞。
分詞并去除停用詞的結果如下:①馬上 就 把 咸 金桔 放進去 啦 ! ②腌制 的 東西 還是 要 玻璃罐 才 好 。③下次 試試 白蘿卜 放 冰箱 大小 也 合適 真的 是 買 的 很 居家。
載入情感詞詞典中的正向詞Posdict詞典和負向詞Negdict詞典,通過與詞典中的正向詞與負向詞比對,識別出句子中的情感詞,并根據詞典中的權重對其賦予權重,如果結尾為感嘆號或者問號,表示句子結束,并且倒序查找感嘆號前的情感詞,將該詞所賦予的權重乘二。例如,在上述評論中,“合適”“居家”兩詞即為情感詞。
載入程度詞詞典,在每個在情感詞附近尋找對應程度詞,將程度詞與其對應的情感詞一一對應并記錄。在“合適”“居家”兩詞中,“合適”無配對的程度詞,與“居家”配對的程度詞為“很”,其在詞典中對應的權重為1.5。
將每一情感詞權重與其對應的程度詞權重相乘,并將所有結果相加,得出單句的分數,將所有的句子分數相加,得出一條評論的得分。例如,在“下次試試白蘿卜,放冰箱大小也合適,真的是買的很居家。”這一句中,“居家”與“很”的權重分別為2.088和1.5,因此該對詞語的計算結果為3.132。
在得出單條評論分數后,循環進行上述流程,得出該商品所有評論的分數。將所有評論分數帶入上述公式(5)中,進行計算,得出單個商品的得分。在得出多個商品的得分后,即可進行排序并推薦。效果如圖2所示。

圖2 結果示例
網絡購物已成為當今社會許多人的首選購物方式。面對網絡上繁多的商品,用戶需要一個完善的推薦系統來輔助其挑選商品。本文基于電商平臺中商品的評論信息,設計了一種推薦算法,旨在從海量的商品中為用戶甄選出心儀商品,以節省用戶的時間和精力。
本方法無疑在網絡購物中具有實際應用價值。通過基于商品評論信息的推薦算法,可以為用戶提供個性化的推薦結果,幫助用戶從眾多商品中篩選出符合其需求和興趣的商品,提高用戶的購物體驗和滿意度。而對于電商平臺來說,有效的推薦算法可以幫助電商平臺提高銷售額和用戶留存率,通過精準的推薦,促使用戶更多地購買商品并保持長期的使用習慣。此外,對于平臺商戶來說,使用基于評論的推薦算法也可以幫助其深入了解用戶的購物偏好和消費行為,為商家提供有價值的市場營銷信息和數據支持,從而提升商家的競爭力和盈利能力。
當然,本方法仍然存在一些需要進一步開發和完善的地方。例如,可以通過考慮研發更準確的情感分析模型,以提高對商品評論情感的識別和分析能力,從而減少誤判和漏判,以此提高推薦算法的準確性和效果。可以考慮結合商品的屬性和特征進行推薦,例如參考商品的價格、品牌、類別、銷量等屬性以及用戶的歷史購買記錄和瀏覽行為,從而實現更加精準和個性化的推薦。此外,可以考慮將推薦算法應用于更多不同類型的電商平臺,例如社交媒體電商、二手交易平臺等,以適應不同平臺不同的需求和特點。也可以考慮將其他信息源納入推薦算法,如用戶的社交網絡、地理位置、時間等信息,以進一步提升推薦的效果和用戶體驗。此外,還可以考慮引入深度學習、自然語言處理、圖像識別等先進技術,不斷改進和優化推薦算法的性能和效果。
網絡購物的發展離不開推薦算法的不斷改進和完善,希望未來能夠有更多的研究者加入進來,共同推動這一領域的發展。