MobData:用深度學(xué)習(xí)模型提取商品評論中的典型意見
我們在日常消費的決策中,比如選擇去哪家餐廳吃飯、是否購買某一件商品時,除了自身的感覺之外,我們常常會參考別人,尤其是已經(jīng)消費過、體驗過的人是什么評價?,F(xiàn)在的電商平臺上某件商品的評論數(shù)動輒就上千甚至上萬,人工逐條看精力有限,在短暫的決策時間窗口中,最多只能抽樣查看不超過20條評價,這樣的抽樣結(jié)果總結(jié)出來的結(jié)論大概率存在偏差,無法反應(yīng)整體的真實情況。
那有沒有大數(shù)據(jù)的方法,可以保證獲得最全面最客觀的評價,而不是管中窺豹呢?
幸運的是打分機制很早就被發(fā)明出來了,所有人都可以對某一件商品的整體情況在1-5分的評分體系中,給出一個綜合評價,再按一人一票制取平均值,用得到的平均分來反映商品在所有人群中的整體評價,簡潔民主。
但這樣簡單粗暴的評分方式無法體現(xiàn)出用戶對商品的詳細(xì)評價,舉個簡單的例子,同樣是5分的評價餐廳,有的人覺得是因為菜品口味好,對自己的胃口,有的人覺得是因為用餐環(huán)境舒適,和女神度過了一個浪漫的夜晚。所以本文就分享一個深度學(xué)習(xí)的方法,從評論中提取出用戶的觀點,比如從某火鍋店的評價“環(huán)境蠻好,沒有很重的香料味道,上菜快,不用調(diào)料也好吃”中提取出“環(huán)境好,上菜快”的評價標(biāo)簽,并和其他有類似標(biāo)簽的評價聚類。
本文分享一種用word2vec模型,將詞語訓(xùn)練成詞向量,作用就是將人類使用的自然語言(相對于計算機可理解的編程語言)中的字詞,轉(zhuǎn)換為計算機可以理解的稠密向量(Dense Vector)。在word2vec出現(xiàn)之前,自然語言處理經(jīng)常把字詞轉(zhuǎn)為離散的單獨的符號(One-hot Vector)
比如上圖的例子,在語料庫中,四個城市各對應(yīng)一個向量,向量中有且只有一個值為1,其他位置都為0
但是用One-hot Vector會有兩個問題,***,城市編碼是隨機的,向量之間相互獨立,看不出城市之間可能存在的關(guān)聯(lián)關(guān)系。其次,向量維度的大小取決于語料庫中字詞的多少。如果將世界所有城市名稱對應(yīng)的向量合為一個矩陣的話,那這個矩陣過于稀疏,占用大量空間。Word2Vec可以將One-hot Vector轉(zhuǎn)化為低維度的連續(xù)值,也就是稠密向量,并且其中意思相近的詞將被映射到向量空間中相近的位置。
上圖是將訓(xùn)練好的詞向量降維后映射到二維平面的城市間的關(guān)系,可以看出亞洲的城市聚集在右上方而美國的城市聚集在左下方
Word2vec模型訓(xùn)練好后,每個詞都有與其對應(yīng)的一個多維向量,向量的維數(shù)可以作為參數(shù)人工設(shè)定,一般情況下維數(shù)越高,詞與詞之間的關(guān)系就可以被描述的越準(zhǔn)確,當(dāng)然訓(xùn)練模型所需的硬件和時間成本自然也更高,與其他模型一樣,需要在表現(xiàn)和成本之間人工確定一個平衡點。以訓(xùn)練某手機游戲的評論文本為例,用python genism包提供的Word2vec模塊作為訓(xùn)練工具,預(yù)測“畫面”,“音效”兩個詞的top20近義詞結(jié)果如下
在模型結(jié)果的基礎(chǔ)上進(jìn)行人工篩選后,可以總結(jié)出“畫工”,“畫面質(zhì)量”,“音響效果”,“音樂感”,“節(jié)拍”等詞都可以作為近義詞添加到人工建立的近義詞詞典中。
除了近義詞之外,word2vec模型還支持預(yù)測與輸入詞出現(xiàn)概率***的協(xié)同詞,下圖顯示的是與“畫面”,“音效”一同出現(xiàn)頻率***的top20協(xié)同詞,可以再模型結(jié)果的基礎(chǔ)上篩選出“精美”,“唯美”,“細(xì)膩”等形容畫面的評價,和“震撼”,“逼真”等形容音效的評價。
再重復(fù)向模型輸入類似“畫面”,“音效”等可以用來評價游戲的維度后,就可以將構(gòu)建完整的近義詞詞典作為依據(jù),聚類具有相似觀點的評論文本。
整個流程可以整理為以下這張流程圖
做過模型的同學(xué)都知道,模型只是工具,人工的部分才是區(qū)分整套系統(tǒng)質(zhì)量和表現(xiàn)的關(guān)鍵。這套觀點提取系統(tǒng)中需要人工處理的地方包括,數(shù)據(jù)(語料庫)的選擇,數(shù)據(jù)預(yù)處理,其中預(yù)處理又分分詞,去停詞,去除噪音數(shù)據(jù)等細(xì)節(jié),人工提供評價維度的種子詞(上文提到的“畫面”,“音效”等),篩選模型輸出的近義詞和協(xié)同詞結(jié)果(所有的結(jié)果保存在人工構(gòu)建的詞典中)。
這套系統(tǒng)建立完成后,將新的評論文本經(jīng)過預(yù)處理后作為輸入,匹配文本中是否包含詞典中所有的評價維度的近義詞和協(xié)同詞,將匹配結(jié)果作為觀點標(biāo)簽標(biāo)注在該條評論上。這樣我們就可以用模型批量的為評論文本打上標(biāo)簽,***將所有標(biāo)簽的結(jié)果匯總相加,就能得到無偏差的,全量的關(guān)于商品的評論,全面參考評論意見,輔助購買決策。