:::

文本探勘實作 / Text Mining

2023-0726-121046.png

這是我在2020年「大數據基本演算」系列課程中教授的「文本探勘實作」課程內容。以下是投影片跟相關教材的整理,供有需要的朋友參考。


投影片 / Slide

2023-0726-102004.png

https://docs.google.com/presentation/d/1260ZzGB2QyjkAH8w_x_V0xdLsRMOmhI_mGEK3Rg9i9g/edit?usp=sharing

投影片大綱 / Outline

2023-0726-102057.png

本次投影片包含了以下主題:

  1. 文本探勘:比較
  2. 文本探勘:預測
  3. 學習單作業的說明

課程目標如下:

  • 能夠比較不同類型的文本用詞差異的規則
  • 能夠建立預測不同類型文本的分類器,並預測未知類型的文本

相關教材 / Materials

2023-0726-102327.png

https://pulipulichen.github.io/jieba-js/ 

本次會用到的教材相當多,讓我們一個一個來看。

首先是Weka軟體的部分:

課堂教學使用資料集:

中文自然語言處理分析工具:

學習單 / Learning sheet

2023-0726-102858.png

https://docs.google.com/document/d/1J6MtgpaukDQU5u0ZWHqmTY4w7boxFJUhu4V8VHND5LU/edit?usp=sharing

學習單會用到的資料集:


小結 / In closing

2023-0726-103141.png

本次課程可以分成三大部分:

  1. 使用Jieba-JS為中文斷詞,使其成為可以輸入到Weka的形式;
  2. 接著是使用Weka將文字字串向量化;
  3. 最後是在Weka裡的應用。這裡使用的是熱點分析進行比較。

然而實際上,整個教學會在Weka的設定上花上相當多時間,字串向量化跟熱點分析都有很許多細節需要調整。儘管結果來看,這的確是相當有趣的分析方式,但過程手續過於複雜,這就不利於教學了。

2023-0726-103738.png

這也是為什麼2023年會準備「解釋性文字探勘」的原因。這篇就是改用Python在Colab中重新實作了這篇中的整個過程,操作上變得簡單許多。可是這也帶來另一個問題,那就是同學比較沒有機會去理解Python裡面運作的過程。後來我才發現大家比較喜歡用眼睛看到整個資料的處理流程,可能是覺得這樣比較能夠瞭解原理吧。

2023-0726-104447.png

https://blog.pulipuli.info/2019/07/weka-discover-topic-of-text-collection.html 

另一方面,文本探勘之後的應用也有很多組合。這篇是用HotSpot進行比較,之前我也講過使用分群來進行分析的做法。光是Weka中基本的分群、分類、關聯式規則,就已經可以展現出各種分析方式了。不過最後大家的問題依然會是「這個分析的結果到底代表了什麼意思?」這就是我們下一步需要處理的問題了。

總之,這段期間我也陸陸續續講過很多次以文本探勘為主題的教學,這篇就是做個記錄啦。


最後的問題是:你通常是如何分析文本的呢?

  • 1. 從第一個字讀到最後一個字就好了。
  • 2. 能不能從文本中找到什麼規律呢?
  • 3. 這份文本跟那一份有什麼差別?
  • 4. 其他。

歡迎在下面留言區分享你的看法喔!