聽懂用戶們在說什么——UGC文本分析怎么做?
編輯導語:文本分析對于用戶研究來說十分重要,本文作者分享了UGC文本分析的具體方法邏輯,從獲取評論數據、預處理評論數據、分析評論數據、主題分析展開闡述,感興趣的一起來學習一下吧,希望對你有幫助。
如果你的評論區僅有10條用戶評論,你可以很輕松地了解他們對這個產品/商品的態度如何以及表達了什么想法。但是,如果是100條,是不是需要稍微花點時間,變得吃力了?
如果是1000條,恐怕需要附上一些數據篩選的方式,一條一條看就不太適合了。即使1000條可以勉強人力處理,但問題是,如果評論的數量擴大到了10000條,別說讀懂了,就連翻頁都得好長時間,人力就捉襟見肘了。
這時候你需要運用一些文本分析的方法,來幫助你讀懂海量的評論文本究竟在表達什么。
一、獲取評論數據
最樸實無華的方式當然是Crtl C+Crtl V,將每一條數據手動復制到Excel表格當中。但正如上文所言,人力是有上限的,請讓我結合自身經驗來分享一下高效點的方法。
1. 如果你想通過編程的方法
在大家都是技術大佬的內網,我不敢班門弄斧,只簡單地推薦一下學習路徑、科普一下相關概念。
做網絡爬蟲最易用的語言應該非python莫屬,因為上手的門檻很低,在掌握了一系列基本語法,會定義函數后,就可以安裝beautiful soup庫來開始爬蟲之旅。網絡上的免費課程非常地多,讓人眼花繚亂。
如果你自制力足夠,學習能力夠強,其實隨便一搜,python的基礎語法對你來說一定不算難。但如果你學習的時候需要一些交互,趣味對你來說是必要的話,我會推薦你選擇風變編程的課程,在線編程,即學即反饋是它的最大優點。學習時間上來看,30小時是足夠了的。
2. 如果你想通過無代碼的方法
市面上越來越多的不用使用代碼就可以實現網絡爬取的工具,讓本懶人很是快樂。
1)八爪魚采集器
八爪魚應該是目前中文互聯網曝光度最高的網絡抓取工具。
- 優點:具有一定數量現成的采集模版,有專門的問題解決qq群。
- 缺點:自定義采集做得并不是很好用,具有一定的上手門檻。
2)后羿采集器
很低調但是很好用的一款網絡爬蟲工具。
- 優點:智能采集很智能,識別準確度高,同時自定義流程上手也較為簡單。
- 缺點:價格昂貴,免費版的網速實在令人汗顏。
3)集搜客
- 優點:集文本分析的部分功能于一體,可以一站式實現較多需求;
- 缺點:爬蟲功能實在不好用,遠不如后裔采集器。
如果你的爬取要求不是很復雜的那種,個人推薦使用后羿采集器來爬取,慢就慢點,大不了,開著電腦給它掛一晚上?
二、預處理評論數據
1. 評論內容分詞與去詞
1)分詞是什么,為什么這樣做
Why?我爬取下來了咋還要分詞,「分詞」又是個什么東東?速速聽我說來,我們都知道,計算機和人腦的區別在于理性與感性,計算機為了更高效地處理數據,需要做出一些更符合計算機運行邏輯的加工,分詞就是其中一種。
舉個栗子:我今天駕駛寶馬的汽車前往商場了。
經過分詞處理后:我/今天/駕駛/寶馬/的/汽車/前往/商場/了。
就是這樣,經過了分詞的文本,將更利于計算機來進行統計分析。
在分詞系統的推薦上,我認為NLPIR-ICTCLAS漢語分詞系統會比較好使,這是它的官網,有下載地址以及簡單的功能介紹。
2)去詞呢
與分詞同一步調的,是「去詞」。去詞一般來說是去除停用詞(Stopwords),意指可以忽略的詞。在文本分析中,一些特定的詞語或字不提供信息價值(或提供很少),而為了提高效率,產出更可直接用于解讀的分析結果,我們會選擇在正式的文本分析前,將它們去除掉。
同樣舉個栗子,這里經過分詞的句子:我/今天/駕駛/寶馬/的/汽車/前往/商場/了。
經過去除停用詞后,它變成了:我/今天/駕駛/寶馬/汽車/前往/商場(一些停用詞表中,「我」以及「今天」都在其列,為了方便理解,舉的例子并未去除這兩個詞)。
就是這樣,去除停用詞的目的在于提高信息密度,提高計算機分析產生結果的效率以及方便人為解讀結果。
去詞一般不會成為一項專門的流程,而是被混在分詞過程中。停用詞表是需要額外準備(一般分詞的系統中也會自帶停用詞表),百度一搜,會有很多的停用詞表,csdn和github上也可以隨意下載,不做贅述。
三、分析評論數據
做完評論文本數據的預處理后,就進入到具體的分析階段了。文本分析的方法與目的是高度相關的,因此難以全部囊括,就簡單聊幾個通用的、容易上手的。
注:下文幾個分析方法并不存在直接的次序關系。
1. 情感分析
「情感分析」,顧名思義是用來判斷文本情感傾向的,一般來說會分為積極、中性與消極情感,也可以根據打分的高低,分一分極端積極/消極的情況。
但是如果想要細化到喜怒哀懼悲嗔愛就難以通過簡單的三方工具做到了,需要自己構建詞庫,暫且不提,菜鳥本人也在修煉ing。
用一些工具/平臺來實現情感分析,那么精度只能說差強人意而已,不能做到盡善盡美,簡單推薦罷。
- 首先是很古老的一個軟件,rost cm6。是由武漢大學在很久之前編寫的,據我所知往后的(十)幾年里并沒有進行任何更新。
- 上文提到的可以用于網絡爬取的集搜客也可以進行情感分析,而且據它介紹,自己的情感分析準度要比rost cm6高上不少以期獲得用戶的青睞。
好用的軟件只推薦這兩個,因為市面上能直接拿來用的工具實在太少。但是如果加一步調用api的話,其實百度開放平臺/訊飛開放平臺/騰訊云智以及一些大神們都有很成熟的解決方案,想必精度也會更高。
2. 詞頻分析
講道理,詞頻分析很難稱得上什么高大上的分析方法,只是把詞語出現的頻率直白地展現出來而已。一段文本在經歷過去除停用詞、分詞之后,便都是落單的詞語了,數數數出來就行。上文提到的NLPIR分詞系統、rost cm6、集搜客都能很輕松地做到。
額外提一嘴,在這個過程中,詞頻分析的精度取決于分詞的精度。如果你發現詞頻分析的結果不是很讓人滿意,不妨多試試幾套分詞系統,然后也可以自定義一下詞庫,避免特定的詞語被分開。
舉個栗子:「夏日泳池」「冬日泳池」作為某個酒店專門的兩個泳池,我們會更期待他們以組合的形式而非「夏日」「冬日」以及「泳池」的形式出現。
至于如何讓詞頻分析可視化一點,好看一點,自然是做一張大家都熟悉的詞云圖,這里推薦Wordart
https://wordart.com/create,純凈免費無廣告,便民實用。
3. 網絡語義共現
「語義網絡共現」的目的在于可視化的展現詞語與詞語之間的關系。而生成一個語義網絡共現圖的的基礎在于建立起詞語的共現矩陣。行文至此,感受到不動用編程手段的話,能使用的工具越發寥寥。
關于語義網絡共現,仍然需要祭出rost cm6,它有一個很方便的功能,可以一鍵式生成語義網絡。
一鍵生成的語義網絡會有兩個問題:
- 一是精度不夠好,因為rost cm6本身的分詞做得不是很好,自然影響到后續的共現矩陣的構建,可以導入已經分好詞的文件代替它,可以做到一定程度上的優化;
- 第二個是圖片不夠美觀,這個問題的優化措施是,將rost cm6生成的共現矩陣導出,再將這個表格導入到Gephi軟件中生成語義網絡共現圖,會好看很多。
(圖源google)
四、主題分析
或許再難避開編程手段,我做到主題分析的這一步,使用的是Python的現成代碼,做簡單的調參來滿足自己的需求。功能實現的主要過程離不開一個模型,其名為「lda」。
「lda」的功能描述為試圖找到兩類物體或事件的特征的一個線性組合,以能夠特征化或區分它們(據百度)。
親測在短文本分析的領域,無論是中文還是英文都表現地挺差的,搜索了解到,原因可能出現在
短文本的特征稀疏性上。
因此,在面對短文本居多的評論領域,不太推薦使用lda來做主題聚類分析。
所以,如果是游記類的長文本,可以嘗試用lda主題聚類來做分析,但在短文本的數據集中,lda的表現難稱優秀。而我在這一方面也并未具備見解性的看法,便不斗膽做推薦分享了。
本文由 @ 我叫徐知魚 原創發布于人人都是產品經理,未經作者許可,禁止轉載
題圖來自 unsplash,基于 CC0 協議
嗚嗚嗚,大佬寫的好清楚。