黎偉健 胡斌 李威 唐健玲 肖西西
關鍵詞 非結構化文本;情感分析;分類分析
中圖分類號 G2 文獻標識碼 A 文章編號 2096-0360(2021)08-0008-03
根據IDC報告,當下數據以每年50%左右的速度快速增長,非結構化文本數據占比很高。因此,非結構化文本數據的挖掘分析顯得尤為迫切和重要。
文本挖掘(Text Mining)又稱為文本數據挖掘(Text Data Mining)或文本知識發(fā)現(Knowledge Discovery in Texts,KDT),是指從大量非結構化文本數據中抽取未知的、可理解的、最終可用的知識,并運用這些知識更好地組織信息,進而獲取用戶感興趣或有用模式的過程[1-2]。文本挖掘流程大致可以描述為基于網頁、文檔、字符等非結構化文本數據,利用自然語言處理技術實現非結構化文本數據結構化,再結合機器學習、統計分析、可視化分析等技術進行挖掘分析,進而實現搜索引擎、輿情分析、新聞分類等。
目前,文本挖掘作為信息時代的重要研究領域,逐漸成為國內外學者的重點研究方向。本文將基于大數據視角,通過對文本挖掘分析方法進行梳理,總結海量文本分析流程,以期能有助于對海量文本開展情感分析和問題分類。
采用“樸素貝葉斯算法”(Naive Bayes Classifier)和機器學習[3],對客戶反饋的意見進行情感正負向判斷,將客戶反饋標記為1(正向)、0(中性)、-1(負向)3類。通過人工標注分類規(guī)則、機器運行相結合的方法對客戶意見進行分類,發(fā)現用戶反饋意見的主要內容,分析完成后會通過不斷的人工校驗優(yōu)化分類規(guī)則,提高分析準確性。
2.1 客戶情感傾向分析
在行業(yè)已有的情感分析模型[4]基礎上進行優(yōu)化,應用于客戶反饋意見的情感傾向分析,具體分析過程(圖1)如下。
2.1.1 確定模型
使用機器學習方法對文本進行處理需要將文本編碼為計算機容易處理的形式,本次采用One-Hot編碼對文本進行處理。One-Hot編碼,又稱一位有效編碼,其方法是使用N位狀態(tài)寄存器對N個狀態(tài)進行編碼,每個狀態(tài)都有它獨立的寄存器位,并且在任意時候,其中只有一位有效。在本次分析中,寄存器的每一個狀態(tài)即是一個詞匯,如果文本中存在相應的詞匯則為1,不存在則表記為0,最終將文本轉換為由0和1組成的長度為N的數組,稱為N維特征向量。其維度N為對訓練數據進行分詞、去重并去除停用詞后的詞匯數量。
在分類算法的選擇上選用樸素貝葉斯分類器,在工業(yè)上廣泛應用于垃圾郵件的分類。其基于貝葉斯定理,依據先驗概率和似然函數對后驗概率進行估計。在貝葉斯分類器中,訓練的過程即是通過統計獲取先驗概率和似然函數取值的過程。在訓練完成后,對特定文本進行情感判斷即是計算在當前條件下特定情感的后驗概率,并選取后驗概率最大的情感類別作為分類器的輸出。
2.1.2 訓練模型
機器學習模型的表現受訓練過程的影響較大。為了讓訓練集保持對全量數據的代表性,盡量保證訓練集的分布與全量數據一致,在打亂原始數據后抽取了1萬條數據進行人工標注。在權衡人力消耗等因素后,引入約2萬條內容較為相似的開源數據集,總計約3萬條數據對模型進行訓練。
2.1.3 優(yōu)化模型
使用訓練好的分類器對小批量數據進行分類,并根據分類結果對分類錯誤的樣本進行失效分析。有針對性地對分類器特征提取方面進行優(yōu)化,提升模型的準確性。在實踐中主要有以下情況。
1)由于訓練集中未包含類似表述的文本,導致未能提取到任何特征,判斷失敗。這種情況需要添加一定數量的相似數據到訓練集中。
2)文本特征被停用詞表過濾導致未能提取到特征,或者無意義的詞匯特征過多干擾判斷。這種情況需要對停用詞表進行修改,盡量避免無意義詞匯進入特征和有意義詞匯被過濾的情況。
3)文本被不恰當的分詞導致判斷錯誤。這種情況需要精細調整分詞工具的用戶詞典,由于中文文本經常存在可被多種分詞方式劃分的情況,這時需要調整詞典詞頻確保劃分貼合實際含義。另外將否定詞與其后緊接的詞匯連起來劃分為一個單獨詞匯也可提高模型準確性。
2.1.4 情感分析
應用優(yōu)化后的模型對全量客戶反饋的回答進行情感分類。
2.1.5 人工校驗
深入分析行業(yè)前沿的情感分類AI模型,開展輔助驗證(如訊飛等)。通過優(yōu)化測試模型的算法源碼,調整模型參數等手段,將情感分類模型的準確性的從82%提升至89.22%。
2.1.6 數據分析
通過分析客戶反饋回答的情感傾向占比,及其與客戶對產品的整體滿意度評價等其他指標間的關系,可多維度客觀地反映客戶對產品的真實評價,此外可預測不同滿意度客戶的反饋回答的情感傾向。鑒于通??蛻粽{研均以滿意度、NPS等量化問卷調研客戶對產品的滿意度,答題成本相對較低,客戶可能未認真回答,或未按照內心真實想法回答,而開放性問題答題成本相對較高,其反饋的意見通常為客戶的真實評價,故對開放性問題的回答進行分析可更真實的獲取客戶的評價。
2.2 客戶意見分類分析
通過人工標注分類規(guī)則、機器運行相結合的方法,對客戶反饋的回答進行問題分類,聚焦客戶反饋的問題類型,具體分析過程(圖2)如下。
2.2.1 數據清洗
鑒于客戶反饋意見中存在部分無意義的回答,故采用人工分析方式對客戶反饋的回答進行清洗。正向評價的客戶通常表達對產品的好評意見,回答可能會相對簡單,存在3個字符以下的回答,如“好、滿意、很滿意”等,故正向評價的客戶反饋回答的數據清洗標準為:刪除全部為標點符號的回答;負向評價的客戶更傾向于表達對產品的差評、使用產品遇到的問題、對產品的優(yōu)化建議等,若字符太少,則無法有效表達,故負向評價的客戶反饋回答的數據清洗標準為:刪除全部為標點符號、少于3個字符的回答。
2.2.2 意見分類
通過機器分詞與人工抽樣查看相結合的方式對客戶反饋的回答進行。通過機器分詞,確定正負向評價的有效數據中客戶提到的高頻詞匯,及其出現的頻率,同時隨機抽取總樣本的5%逐個人工查看客戶的回答,對客戶的反饋進行分析歸類。通??蓪⒖蛻舻姆答伔譃楹迷u類、差評類、建議類3大類,好評類可具體分析客戶反饋的回答中好評集中在哪些方面,相關的關鍵詞是什么;差評類和建議類客戶的反饋內容相對翔實,可分析客戶反饋的回答中差評、建議集中在哪些方面,具體表現及相關關鍵詞是什么。
2.2.3 制定分類規(guī)則
通過機器分詞篩選出的高頻關鍵詞,以及人工查看確認的相關關鍵詞,對比全量有效的客戶反饋回答,確定客戶的回答的具體類型,提取歸納客戶意見類型的關鍵詞及其邏輯關系,通過“and”“or”“not”等邏輯關系詞制定相應的分類規(guī)則。同時,在制定規(guī)則的過程中,通過查看全量有效數據,不斷增加新的觀點進行迭代優(yōu)化。制定分類規(guī)則時,需明確每個意見類型的定義,挖掘該意見類型的核心特質,并根據核心特質確定分類規(guī)則。如制定客戶對客服服務態(tài)度的規(guī)則時,首先需確定客服相關的關鍵詞,如“人工”“話務員”等,然后確定服務態(tài)度相關的關鍵詞,如“態(tài)度”“語氣”等,二者通常需同時出現才可進行篩選,可以“and”進行連接,此外撰寫關鍵詞時,除了提取客戶原話中的關鍵詞,也可通過日常表達選擇關鍵詞的近似詞,如近義詞等方法擴大關鍵詞的詞庫。此外需注意,客戶填寫答案時易出現錯別字,需將高頻的錯別字也放入規(guī)則,如“太度”等。
2.2.4 開發(fā)腳本
使用Python編寫分類腳本與規(guī)則檢查腳本。腳本讀取編寫好的分類規(guī)則進行詞法分析,將規(guī)則由字符序列轉換為標記(Token)序列,包含關鍵詞,運算符(and、or與not)和界符(用于改變優(yōu)先級的括號)三種標記。在分類時,先提取出標記序列中所有的關鍵詞,逐一判斷待分類文本中是否存在關鍵詞,如存在則替換為布爾值“真”,否則替換為布爾值“假”。經過上述過程,此時的規(guī)則已經轉換為一條邏輯表達式,表達式的運算結果即為待測文本是否符合該條規(guī)則。腳本開發(fā)完畢后,對全部開放性客戶的回答進行問題分類,提升效率。
2.2.5 人工校驗
通過不斷的人工校驗優(yōu)化分類規(guī)則,主要是通過抽取部分的分類結果,人工對歸類結果的準確性進行統計,同時查看歸類錯誤、未納入歸類的客戶原話,不斷迭代優(yōu)化分類規(guī)則,將歸類準確性從最初的50%左右提升至76.51%。
2.2.6 數據分析
通過分析客戶反饋的回答中的問題、建議等具體類型的占比,確定客戶關注重點,若客戶反饋了具體問題或建議,則根據意見占比確定優(yōu)先級;若客戶未反饋具體問題或建議,則可輔助其他方式,如競品對標等挖掘客戶評價的真實原因,有效利用客戶的反饋挖掘有意義的信息。
鑒于客戶回答開放性問題時,通常是有具體問題才會較有動力回答,故客戶開放性問題回答中,主要以負向評價為主,本次分析27萬的客戶反饋中,僅14.62%為正向評價,且正向評價主要為無具體指向的好評,以人工分析為主,故不分析正向評價的分類分析的合理性;負向評價高達83%,分類分析主要應用于負向評價分析,故以負向數據的結果進行方法合理性分析。
3.1 情感分析方法準確性分析
隨機抽取1 000條情感分析的數據結果,人工判斷其情感傾向,與機器判斷結果進行對比,發(fā)現客戶的情感分類準確性從最初的82.00%提升至89.22%。
3.2 分類分析方法合理性和準確性分析
對所有負向評價的有效數據進行問題歸類后,統計納入歸類分析的數據占比,分析問題歸類的合理性,有效數據量為206 316,納入問題歸類的數據量為162 082,有效率為78.56%。針對有效數據占比低的問題進行抽樣統計,發(fā)現未被納入歸類的問題中,確實無法被歸類的占比為93%,主要原因為反饋內容無意義、非針對開放性問題對象的回答等。
對所有負向評價的有效數據進行問題歸類后,統計納入歸類分析的問題的準確性,分析問題歸類的準確性,共抽取2 065個樣本,其中準確歸類的數據量為1 580,準確率為76.51%。
以上梳理和總結的海量文本分析流程,可以應用于知識管理、客戶服務、社交媒體數據分析等各類場景。
4.1 知識管理
管理大量文本文檔時,一個很大的問題就是無法快速地找到重要的信息。例如,對于醫(yī)療行業(yè)來說,研發(fā)一個新的產品可能同時需要近十年的基因組學和分子技術研究報告。此時,基于文本挖掘的知識管理軟件為此種“信息過?!鼻闆r提供了有效的解決方案。
4.2 客戶服務
文本挖掘和自然語言處理是在客戶服務領域常被使用的技術。如今,利用調查、故障單、用戶反饋等有效信息,文本挖掘技術可以用來改善客戶體驗,為客戶提供快速高效的解決方案,以期減少客戶對幫助中心的依賴程度。
4.3 社交媒體數據分析
如今,社交媒體是大多數非結構化數據的產源地,企業(yè)可以使用這些非結構化數據去分析和預測客戶需求并了解客戶對其品牌的看法。通過分析大量非結構化數據,文本分析能夠提取意見,了解情感和品牌之間的關系,以幫助企業(yè)發(fā)展。
目前,按照分類分析流程開展的海量非結構化文本問題歸類過程中,發(fā)現歸類準確性不高的原因主要在于:一是樣本量較大,客戶反饋的開放性問題相對較為分散;二是非結構性文本、口語化表述較多,關鍵詞不明顯,導致分類規(guī)則無法包含全部用戶的反饋;三是項目開展時間較短,模型及算法仍需完善,后續(xù)將通過經驗沉淀繼續(xù)優(yōu)化分類規(guī)則。
根據每年的發(fā)文量來看,文本挖掘在近幾年得到了快速發(fā)展[5]。隨著文本挖掘研究的深入,其應用領域還將不斷拓展,同時,隨著大數據、云計算、人工智能等智能化的發(fā)展,未來將文本挖掘應用于大數據處理將面臨更大的挑戰(zhàn)。如何將文本挖掘與大數據、人工智能等更好地結合起來,是研究者所需面對的問題。
參考文獻
[1]徐德金,張倫.文本挖掘用于社會科學研究:現狀、問題與展望[J].科學與社會,2015,5(3):75-89.
[2]李尚昊,朝樂門.文本挖掘在中文信息分析中的應用研究述評[J].情報科學,2016,34(8):153-159.
[3]程顯毅,朱倩著.文本挖掘原理[M].北京:科學出版社,2010.
[4]趙剛,徐贊.基于機器學習的商品評論情感分析模型研究[J].信息安全研究,2017,3(2):166-170.
[5]譚章祿,彭勝男,王兆剛.基于聚類分析的國內文本挖掘熱點與趨勢研究[J].情報學報,2019,38(6):578-585.