文本探勘實作 / Text Mining
這是我在2020年「大數據基本演算」系列課程中教授的「文本探勘實作」課程內容。以下是投影片跟相關教材的整理,供有需要的朋友參考。
投影片 / Slide
https://docs.google.com/presentation/d/1260ZzGB2QyjkAH8w_x_V0xdLsRMOmhI_mGEK3Rg9i9g/edit?usp=sharing
- Google簡報線上檢視
- PDF格式下載
- Power Point (.pptx) 格式備份:Google Drive、SlideShare、GitHub、One Drive、Mega、Box、MediaFire、pCloud、Degoo、4shared
投影片大綱 / Outline
本次投影片包含了以下主題:
- 文本探勘:比較
- 文本探勘:預測
- 學習單作業的說明
課程目標如下:
- 能夠比較不同類型的文本用詞差異的規則
- 能夠建立預測不同類型文本的分類器,並預測未知類型的文本
相關教材 / Materials
https://pulipulichen.github.io/jieba-js/
本次會用到的教材相當多,讓我們一個一個來看。
首先是Weka軟體的部分:
課堂教學使用資料集:
- 中文小說讀者評論資料集 說明
- comments-train-raw.ods (線上檢視)
- comments-train-seg.ods (線上檢視)
- comments-unknown-seg.ods (線上檢視)
- comments-unknown-raw.ods (線上檢視)
中文自然語言處理分析工具:
學習單 / Learning sheet
https://docs.google.com/document/d/1J6MtgpaukDQU5u0ZWHqmTY4w7boxFJUhu4V8VHND5LU/edit?usp=sharing
- Google文件線上檢視
- PDF格式下載
- OpenDocument Text (.odt) 格式備份:Google Drive、GitHub、One Drive、Mega、Box、MediaFire、pCloud、Degoo、4shared
學習單會用到的資料集:
小結 / In closing
本次課程可以分成三大部分:
- 使用Jieba-JS為中文斷詞,使其成為可以輸入到Weka的形式;
- 接著是使用Weka將文字字串向量化;
- 最後是在Weka裡的應用。這裡使用的是熱點分析進行比較。
然而實際上,整個教學會在Weka的設定上花上相當多時間,字串向量化跟熱點分析都有很許多細節需要調整。儘管結果來看,這的確是相當有趣的分析方式,但過程手續過於複雜,這就不利於教學了。
這也是為什麼2023年會準備「解釋性文字探勘」的原因。這篇就是改用Python在Colab中重新實作了這篇中的整個過程,操作上變得簡單許多。可是這也帶來另一個問題,那就是同學比較沒有機會去理解Python裡面運作的過程。後來我才發現大家比較喜歡用眼睛看到整個資料的處理流程,可能是覺得這樣比較能夠瞭解原理吧。
https://blog.pulipuli.info/2019/07/weka-discover-topic-of-text-collection.html
另一方面,文本探勘之後的應用也有很多組合。這篇是用HotSpot進行比較,之前我也講過使用分群來進行分析的做法。光是Weka中基本的分群、分類、關聯式規則,就已經可以展現出各種分析方式了。不過最後大家的問題依然會是「這個分析的結果到底代表了什麼意思?」這就是我們下一步需要處理的問題了。
總之,這段期間我也陸陸續續講過很多次以文本探勘為主題的教學,這篇就是做個記錄啦。
最後的問題是:你通常是如何分析文本的呢?
- 1. 從第一個字讀到最後一個字就好了。
- 2. 能不能從文本中找到什麼規律呢?
- 3. 這份文本跟那一份有什麼差別?
- 4. 其他。
歡迎在下面留言區分享你的看法喔!