課程名稱 |
R語言與文字探勘:公共議題之應用 R Language and Text Mining: An Application of Public Issues |
開課學期 |
110-1 |
授課對象 |
社會科學院 政治學系 |
授課教師 |
王 貿 |
課號 |
PS5691 |
課程識別碼 |
322 U2090 |
班次 |
|
學分 |
2.0 |
全/半年 |
半年 |
必/選修 |
選修 |
上課時間 |
星期二6,7(13:20~15:10) |
上課地點 |
社科研607 |
備註 |
限本系所學生(含輔系、雙修生) 總人數上限:10人 |
|
|
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
文字資料(text as data)是目前最多的一種資料儲存形式,以往受限於分析工具,較常是透過質性分析方式來詮釋、理解文字,但隨著電腦運算能力的大幅提升以及分析模型的演進,將文字資料進行模型運算已不再是遙不可及的想法。就公共議題的分析而言,文字探勘可以協助我們理解:不同傳播媒介對公共議題的報導取向與態度立場有何不同?不同時空環境下對公共議題的討論趨勢與解讀有何不同?公共政策有哪些不同的論述架構?不同利害關係人對政策論述是否有不同的偏好?但前提是,必須精熟一門可以處理文字資料的程式語言,以及理解各種文字分析模型的原理。本課程主要在介紹R語言以及文字探勘技術的操作演練,並與公共議題的分析結合,提供學生分析公共議題的另一種研究工具。
學習程式設計已不再是理科生的專利,隨著程式語言愈趨接近人用語言、應用面向逐漸擴及人文社會科學、線上學習資源的易得性等因素,都使得學習門檻越來越低。但作為一名人文社會科學的學生而言,如何挑選適合的程式語言及學習資源,反而會是邁開學習之路的第一個挑戰。R語言是由統計學家所創造,對沒有程式設計背景的學生而言,其動態語言與物件導向的性質,會讓編寫程式更容易上手。另外,R語言本身具有開放的技術支持社群、詳細的套件使用說明等優勢,都使得R語言相當適合作為人文社會科學學生的第一門程式語言課。
本課程講授R語言基礎,主要的內容包含R語言基本簡介、資料篩選與整理、資料探索與分析、程式設計基礎外,會從文字資料前處理(preprocessing)開始,也就是當拿到一份文字資料時,在分析前所必須要做的資料清理程序。此外,還包括基礎的斷詞、資料視覺化與爬蟲技術的介紹。奠定好這些基礎後,將正式進入文字探勘的世界,介紹各種常用的文字分析技術與模型,並讓同學能夠實際操作演練。當然,此次課程並無法全面地介紹R語言及其在文字探勘的各種應用,但希望透過對於R語言與文字探勘的基本認識,修課同學能夠將R語言作為後續執行各種研究分析的工具,或是進一步涉獵進階統計分析、機器學習、社會網絡分析、空間分析等領域。 |
課程目標 |
1. 熟悉R語言基礎及運用其進行文字資料前處理。
2. 型塑研究問題,並挑選適切的文字資料與分析方法回答該問題。
3. 透過視覺化的方式呈現,有效地與人溝通研究成果。 |
課程要求 |
1. 請自備筆電,並依照課程指示安裝R、RStudio及相關套件。
2. 作業請以R Markdown及html檔繳交。
3. 作業可與同學討論,但請各自撰寫,不得抄襲作業。
4. 將使用Piazza(https://piazza.com/)線上討論平臺。
本課程對學生課後學習之要求:
1. 將使用DataCamp for the Classroom (https://www.datacamp.com) 的功能,提供修課同學搭配本課程進度,完成相關之線上課程。
2. 每週上課之程式碼皆會提供修課學生,至下周上課前,請至少複習過程式碼一次。若有不清楚之處,可至線上討論。 |
預期每週課後學習時數 |
|
Office Hours |
每週一 15:10~16:00 |
指定閱讀 |
將於第一週上課時公布。 |
參考書目 |
將於第一週上課時公布。 |
評量方式 (僅供參考) |
No. |
項目 |
百分比 |
說明 |
1. |
課堂作業 |
60% |
|
2. |
期末口頭報告 |
10% |
|
3. |
期末書面報告 |
25% |
|
4. |
線上討論 |
5% |
|
|
週次 |
日期 |
單元主題 |
第1週 |
9/28 |
課程概覽 |
第2週 |
10/5 |
R語言基礎:簡介 |
第3週 |
10/12 |
R語言基礎:資料篩選與整理 |
第4週 |
10/19 |
R語言基礎:資料探索與分析 |
第5週 |
10/26 |
R語言基礎:程式設計基礎 |
第6週 |
11/2 |
文字資料前處理(regex, tm, stringr) |
第7週 |
11/9 |
文字資料前處理:斷詞(tidytext, jiebaR) |
第8週 |
11/16 |
資料視覺化(ggplot2) |
第9週 |
11/23 |
爬蟲(web scraping) |
第10週 |
11/30 |
期末報告主題說明 |
第11週 |
12/7 |
詞袋(bag of words)模型 |
第12週 |
12/14 |
情緒分析(sentiment analysis) |
第13週 |
12/21 |
主題模型(topic models) |
第14週 |
12/28 |
自然語言處理(Natural Language Processing, NLP) |
第15週 |
1/4 |
詞嵌入(word embedding)模型 |
第16週 |
1/11 |
資料溝通(shiny) |
第17週 |
1/18 |
期末口頭報告 |
第18週 |
1/25 |
期末口頭報告 |
|