iT邦幫忙

2023 iThome 鐵人賽

DAY 1
1
AI & Data

用R語言玩轉文字探勘系列 第 1

[Day 1] 前言 - 用R語言如何玩轉文字探勘

  • 分享至 

  • xImage
  •  

文字探勘簡介

這個系列的文章以文字探勘為主題,會介紹文字探勘的原理、在文字探勘過程中要注意的事情,並以R語言為背景,帶大家實作,而且會有很貼近生活的案例。

文字探勘是什麼

文字探勘(Text Mining)是一種資料探勘技術,專注於從大量的文字資料中提取有用的資訊和知識。這種技術通常用於分析未經結構化的文字資料,例如新聞文章、網頁內容、社交媒體帖子、文件等。文字探勘的主要目的是將文字資料轉化為有結構的資訊,以便於後續的分析和應用。

文字探勘有何用途

文字探勘的主要應用和技術包括:

  • 資訊檢索(information retrieval):幫助用戶找到他們所需要的資訊,例如搜尋引擎、或是文件搜尋,這個概念非常大。
  • 主題模型(topic model):辨識文件集的主題與趨勢,在傳播研究中時常遇到,是一種非監督的貼標方式,例如準備一百篇新聞文章,接著利用程式判斷常出現的詞彙,藉此「猜測」這是政治新聞、那是娛樂新聞。
  • 文本分類(text classification):將文件分類到事先決定的類別中,是一種監督式的貼標方式,例如準備一百篇新聞文章,事先標注好它們分別屬於哪些類別,訓練模型後再拿模型去貼另外一百篇新聞的分類標籤。
  • 情緒分析(snetiment analysis):判斷文本中的情感或情緒,例如評論是為正面或者負面;也有人用人工標記的方式做情緒貼標,但情緒分析現在大都是利用機器貼的。
  • 命名實體識別(named entity recogmition):找出文本中的「實體」(entity),人是一種實體、地區是一種實體、國家和組織也都是一種實體,它們都有名字、文字中和其他名詞動詞意思並不相同,找出這些 named enetity 很重要。中研院開發的ckip模組就有提供NER的功能。

文字探勘會牽涉好幾個流程,包括清理文本、預處理、提取特徵(不一定)和建立模型,但也可能直接完成特定任務,例如尋找政治人物講過的話,這種就沒有建立模型。

生成式AI出現在大眾面前以後,很多上面的技術都可以改用它搞定了,例如分類、情緒分析,以前要寫一大堆程式碼,現在call GPT API就可以了。不過,還是從頭了解這些技術比較好,畢竟 GPT API 不是免費的~

在R語言裡玩轉文字探勘

R語言一直以免費、開源、使用者樂於貢獻著稱,光是在Google搜尋text mining with R,就能夠查到大量相關套件(library),有專門為特定分析服務的套件,也有努力滿足文字探勘整體流程的套件。

這個系列文章,會奠基於兩個R語言當中常用且好用的套件,因為它們的發展相對成熟,已經足夠用框架(framework)稱呼,分別是tidytextquanteda

寫作特色與架構

寫作特色

這個系列的文章會有幾個特色

  • 有程式碼,不會只有文字描述,要不然就不叫IT邦幫忙了
  • 以中文語料為主,貼近台灣在地,要不然讀者可以直接去看text mining with R
  • 會真的舉出真實資料與現實案例,要不然一直拿Trump Tweet舉例會有些無聊

寫作架構

以下就是系列文章的寫作架構,等日後完成後會放上每篇連結。
你可以注意到,有些我還沒有很確定是不是能夠成一篇,所以有多留一些quota!

背景介紹:4

  • 介紹文字探勘與R語言環境下的文字探勘流派
  • 套件介紹: tidytext
  • 套件介紹: quanteda
  • R語言中的文字資料

資料處理:9

  • 正規表達式: 基本概念
  • 正規表達式: 進階語法與練習
  • 在斷詞之前: 字串處理利器 stringr
  • tokenization 01: 英文套件(應該就 tidytext)
  • tokenization 02: quanteda
  • tokenization 03: jiebaR、ckip
  • word stemming: 中文沒有用英文舉例
  • 資料格式的轉換: DTM、dataframe
  • 搜集中文語料的幾種方式

分析方法:10

  • frequency analysis: count
  • key term extraction
  • co-occurrence analysis: text network
  • sentiment analysis
  • content analysis 01: 分類貼標 -> 最無趣
  • content analysis 02
  • topic model: LDA、STM
  • Part-of-Speech tagging / Named Entity Recognition
  • word embeddings: gensim、word2vec
  • 分類?回歸?

具體應用案例:4

  • 中央社分析總統
  • article populairty prediction
  • 抓網軍
  • 資料新聞實例之法院判決書

未來延伸:6

  • GPT API 對文字探勘的影響
  • 網路上的實例觀摩、技術不足之處
  • 視覺化
  • 圖表類型
  • 在R語言裡面顯示中文
  • wrap up

本文就到這裡了,我們一起用R語言玩轉文字探勘吧!


下一篇
[Day 2] 使用R語言的文字探勘框架 - tidytext
系列文
用R語言玩轉文字探勘30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言