【機器學習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
- 機器學習PAI全新功效——實時新聞熱點OnlineLearning實踐機器學習AI
- 【機器學習PAI實踐三】霧霾成因分析機器學習AI
- 【機器學習PAI實踐十】深度學習Caffe框架實現影象分類的模型訓練機器學習AI深度學習框架模型
- 【機器學習PAI實踐四】如何實現金融風控機器學習AI
- 【機器學習PAI實踐十二】機器學習實現男女聲音識別分類(含語音特徵提取資料和程式碼)機器學習AI特徵
- 《機器學習:演算法原理和程式設計實踐》2:中文文字分類機器學習演算法程式設計文字分類
- Bert文字分類實踐(一):實現一個簡單的分類模型文字分類模型
- 【機器學習PAI實踐十二】機器學習演算法基於信用卡消費記錄做信用評分機器學習AI演算法
- 【機器學習PAI實踐九】如何通過機器學習實現雲端實時心臟狀況監測機器學習AI
- 《機器學習實戰》基於樸素貝葉斯分類演算法構建文字分類器的Python實現機器學習演算法文字分類Python
- 【機器學習PAI實踐五】機器學習眼中的《人民的名義》機器學習AI
- 【機器學習PAI實踐二】人口普查統計機器學習AI
- 【機器學習PAI實踐八】用機器學習演算法評估學生考試成績機器學習AI演算法
- Spark機器學習實戰 (十一) - 文字情感分類專案實戰Spark機器學習
- 【機器學習PAI實踐六】金融貸款發放預測機器學習AI
- 貝葉斯實現文字分類C++實現文字分類C++
- 【機器學習PAI實踐十一】機器學習PAI為你自動寫歌詞,媽媽再也不用擔心我的freestyle了(提供資料、程式碼機器學習AI
- 【機器學習PAI實踐一】搭建心臟病預測案例機器學習AI
- NLP概述和文字自動分類演算法詳解演算法
- 利用 Python、SciKit 和文字分類來實現行為分析Python文字分類
- Spark MLlib SVM 文字分類器實現Spark文字分類
- 第七篇:Logistic迴歸分類演算法原理分析與程式碼實現演算法
- 演算法實踐:KNN分類(day08)演算法KNN
- 如何用機器學習對文字分類機器學習文字分類
- 【機器學習】--xgboost初始之程式碼實現分類機器學習
- 機器學習之貝葉斯分類(python實現)機器學習Python
- 教程 | 用Scikit-Learn實現多類別文字分類文字分類
- Online Learning場景下實時新聞熱點機器學習訓練實踐機器學習
- CNN+pytorch實現文字二分類CNNPyTorch
- 限流器演算法實現(JUC原子類使用實踐)演算法
- 機器學習PAI快速入門與業務實戰機器學習AI
- 如何透過Scikit-Learn實現多類別文字分類?文字分類
- 如何通過Scikit-Learn實現多類別文字分類?文字分類
- 【NLP】TensorFlow實現CNN用於文字分類(譯)CNN文字分類
- 機器學習(一):5分鐘理解機器學習並上手實踐機器學習
- 七、Qt Creator實現文字查詢QT
- 圖卷積實戰——文字分類卷積文字分類