祝亮



摘要:隨著內容人工智能分發系統的不斷成熟,各社交新媒體平臺采用千人千面的分發機制,滿足了廣大用戶的線下興趣閱讀需求,讓不同年齡和階層的人群都成為自媒體文章的消費者。在經濟效益的驅動下,越來越多的團隊和個人在內容創作上的持續增加投入,產生了巨量的自媒體文章。對自媒體文章的文本分類研究,在輿情監控、廣告投放、情感分析和商業推薦上都有很重要的意義。用經典的文本分類方案來做自媒體文章分類,存在很多挑戰。因此有必要對自媒體文章分類進行針對性的探究,為自媒體文章提供更好的文本分類器以滿足進一步的應用。該文比較了經典的貝葉斯算法和基于深度學習的CNN算法在自媒體文章分類上的性能差異,并引入了word2vec /FastText/Glove等詞向量工具來優化CNN算法,通過實驗驗證了這種優化帶來的效果優勢。
關鍵詞:文本分類;CNN;深度學習;word2vec;FastText;GloVe;貝葉斯
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)21-0097-04
開放科學(資源服務)標識碼(OSID):
1 背景介紹
近年來,移動設備、大數據和人工智能不斷向消費市場發展。大量的不同年齡不同階層的用戶,習慣于通過Web、H5、輕應用(包括小程序/快應用等)和App來獲取信息,甚至進行重度學習。為了提高平臺用戶的黏性,各產品都采用了千人千面的智能推薦算法,主動給用戶推送符合其興趣口味的內容。這種智能內容推送機制,進一步解決了小眾領域創作者的內容分發問題,刺激了作者的創作熱情。這種分發機制激勵了各垂直領域的創作者持續進場,持續產生了海量的自媒體文章。為了對這些海量的自媒體文章進行定量研究,需要對這些自媒體文章進行NLP處理,例如常見的主題模型分析、無監督的聚類和有監督的文本分類技術處理。
在這里我們主要研究自媒體文章的文本分類問題。自媒體文章的寫作和內容與傳統出版類媒體存在不小的差異。對于傳統媒體來說,自媒體的內容有以下特點:1)語言平民化,多用描述性的語言來表示概念;2)時效性強,所有的受眾都可以是內容的創作者,內容中也可能存在較多未曾收錄的新詞和所謂的“網絡熱詞”和“梗”;3)內容中純文本的成分可能很小,創作者用較多的表情、漫畫圖片等形式來表達情緒和觀點,造成文字信息含量比較低;4)用語不夠規范,可信性可能比較低,文章質量良莠不齊。
2 遇到的挑戰
由于這些業余的創作者并不全都經過新聞和寫作訓練,也沒有專業的審稿把關內容,所以這些創作內容和傳統新聞媒體文章的調性有很大差異。在傳統的新聞文本中,使用經典的貝葉斯模型,加上一些語料選擇和技術性的改進,已經可以訓練出令人滿意的分類器[1]。但在自媒體環境下,文本分類算法面對很多新的情況:水平參差不齊的創作者不斷涌入導致文章質量良莠不齊;偏向使用更多尚未穩定收錄的新詞匯造成缺詞問題;短文本的比例過大等。導致文本分類的分類算法和評估算法都要面臨新的挑戰。貝葉斯分類器抽取的分類特征一般是文本中的出現詞匯,并認為一段文本的不同詞匯的出現概率是滿足條件獨立性的假設的:詞匯A出現的概率和詞匯B出現的概率是相互獨立的。這個獨立性假設在自媒體文本中就存在比較嚴重的挑戰。盡管有一些通過原詞匯重新構建特征的方法來改善這個問題[2],但這樣做會導致分類器的時間復雜度產生較大增幅。
另外,對于短文本的分類已經有了一些可行的解決方案。張志飛等人使用LDA模型來分類微博短文本[3],取得了比傳統的VSM模型和基于主題相似度的模型更好的性能和效果。但其使用6步的方法去計算文本的相似度,在海量文章數據下會有一定程度的性能問題,對于口語化和不規范用語,也難以歸一化處理。 LDA的主要優點是可以處理語義相對明確的短文本,也可以處理文本篇幅較長的問題,而且是無監督的算法,可以處理大規模的文檔集合和語料庫[4]。但其問題是LDA方法采用了BoW詞袋模型,沒有考慮詞和詞之間的順序關系。這種簡化再加上無監督算法帶來的不確定性,在實際的使用中也較難取得令人滿意的結果。
從上面的分析中不難看出,對于靈活多變的自媒體內容,淺層學習建立的分類模型基礎上的分類器,在自媒體文章場景下的運行性能雖然不錯,但實際效果是非常局限的。在新聞文本內容分類任務上有極好表現的貝葉斯、SVM等淺層學習模型,在自媒體內容上的分類效果往往難以達到實用水平。本文研究基于深度學習的模型來解決自媒體文本分類中的若干挑戰。
3 深度學習和文本分類相關技術問題
3.1 深度學習的優勢
上文中我們提到,淺層學習建立的分類器在自媒體文本分類上的表現不夠穩定。而深度學習方法可以在文本分類算法上提供一個全新的解決思路。
深度學習脫胎于機器學習的一個分支:人工神經網絡(ANN)。人工神經網絡最初是從生物神經系統的研究中得到靈感的。在人工神經網絡中,神經元和神經元之間連起了一個與生物神經系統類似的多層的網絡結構。人工神經網絡的判定過程,是將一個輸入經過各層神經元的運算處理,最后得出一個輸出結果。人工神經網絡的訓練過程,是將訓練的樣本輸入預設的神經網絡架構,不斷對神經元之間的鏈接的權值進行修正的一個迭代的過程。
早期的人工神經網絡系統,由于訓練的時間復雜度要求遠遠高于計算機算力,所以幾乎沒有應用價值。直到反向傳播算法(Backpropagation)[5]的發明,可以使用梯度下降法來訓練人工神經網絡,讓訓練過程可以在合理的時間內完成收斂。人工神經網絡才能較大規模地應用于實際生產。在實際應用中,淺層的人工神經網絡,通常表現為效果中規中矩,但模型的可解析性比較差。依然是很難于大規模應用。