【机器学习PAI实践七】文本分析算法实现新闻自动分类
一、背景
新聞分類是文本挖掘領域較為常見的場景。目前很多媒體或是內容生產商對于新聞這種文本的分類常常采用人肉打標的方式,消耗了大量的人力資源。本文嘗試通過智能的文本挖掘算法對于新聞文本進行分類。無需任何人肉打標,完全由機器智能化實現。
本文通過PLDA算法挖掘文章的主題,通過主題權重的聚類,實現新聞自動分類。包括了分詞、詞型轉換、停用詞過濾、主題挖掘、聚類等流程。
二、數據集介紹
具體字段如下:
| category | 新聞類型 | string | 體育、女性、社會、軍事、科技等 |
| title | 標題 | string | 新聞標題 |
| content | 內容 | string | 新聞內容 |
數據截圖:
三、數據探索流程
首先,實驗流程圖:
實驗可以大致分為五個模塊,分別是增加序號列、停用詞過濾、分詞及詞頻統計、文本主題挖掘、結果分析和評估。
1.增加序號列
本文的數據源輸入是以單個新聞為單元,需要增加ID列來作為每篇新聞的唯一標識,方便下面的算法進行計算。
2.分詞及詞頻統計
這兩步都是文本挖掘領域最常規的做法,首先利用分詞控件對于content字段,也就是新聞內容進行分詞。去除過濾詞之后(過濾詞一般是標點符號及助語),對于詞頻進行統計。
如下圖:
3.停用詞過濾
停用詞過濾功能用于過濾輸入的停用詞詞庫,一般過濾標點符號以及對于文章影響較少的助語等。
4.文本主題挖掘
使用PLDA文本挖掘組件需要先將文本轉換成三元形式,append_id是每篇新聞的唯一標識,key_value字段中冒號前面的數字表示的是單詞抽象成的數字標識,冒號后面是對應的單詞出現的頻率。三元組組件生成結果如下:
在上一步完成了文本轉數字的過程,下一步數據進入PLDA算法。PLDA算法又叫主題模型,算法可以定位代表每篇文章的主題的詞語。本次試驗設置了50個主題,PLDA有六個輸出樁,第五個輸出樁輸出結果顯示的是每篇文章對應的每個主題的概率。如圖:
5.結果分析和評估
上一步把文章從主題的維度表示成了一個向量。接下來就可以通過向量的距離實現聚類,從而實現文章分類。我們這里可以簡單看一下分類的結果。查看K均值聚類組件的結果,cluster_index表示的是每一類的名稱。找到第0類,一共有docid為115,292,248,166四篇文章。
通過過濾與映射組件查詢115,292,248,166四篇文章。結果如下:
效果并不十分理想,將一篇財經、一篇科技的新聞跟兩個體育類新聞分到了一起。主要原因是細節的調優沒有做,也沒有做特征工程,同時數據量太小也是一個主要的因素。本文只是一個簡單的案例,商業合作可以私下聯系我們,我們在文本方面我們有較完善的解決方案。
四、其它
作者微信公眾號(與我聯系):
總結
以上是生活随笔為你收集整理的【机器学习PAI实践七】文本分析算法实现新闻自动分类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习业务实践之路-李博-专题视频课程
- 下一篇: AI 趋势