語言分析與資料科學
  • 本書規劃
  • PART I:基礎知識
    • 導論
    • 語言學
      • 語言的實證研究方法
    • 數學與統計
      • 統計
        • 機率與機率分佈
          • 推論統計
        • 迴歸模型
      • 線性代數
    • 自然語言處理
      • 語料庫
    • 機器學習
      • kNN
      • Probabilistic learning using Naive Bayes
      • 決策樹 Decision Trees
      • 支持向量機 Support Vector Machines
      • 迴歸分析 Regression models
      • 神經網路與深度學習 Neural Network and Deep Learning
      • 關聯規則挖掘 Association Rules
      • k-means 分群 Clusterings
      • 社會網路分析
    • 資料科學的 OSEMN 模式
  • PART II: 文本分析:資料處理、表徵與語意計算
    • 文本分析是什麼
      • 程式處理架構
    • 文本前處理
      • 文本收集
      • 文本清理
      • 自動分詞與詞類標記
      • 文本標記
    • 文本數據探索性分析
    • 文本語意與統計
      • 語意表徵
      • 文本訊息視覺化
      • 文本相似與關聯
    • 文本知識抽取
  • PART III:文本分析:模型應用與專案
    • 文本迴歸預測
    • 文本分類
      • 情緒分析
      • 垃圾訊息偵測
    • 文本自動生成
      • 自動摘要
    • 文本聚類
    • 主題模型
    • 立場、意圖與價值
    • 個人文體風格
    • 文本真實性
      • 重複文本偵測
    • 資料科學報告與部署
  • 附錄
    • R 存活指令
    • Python 存活指令
    • Git and Github 入手
    • Linux 存活指令
    • 正則表示法
    • 參考書目
Powered by GitBook
On this page

Was this helpful?

  1. PART II: 文本分析:資料處理、表徵與語意計算
  2. 文本前處理

文本清理

  • 可以利用指令列。

  • 可以利用 tm 來做。

    • 接續前一節的 character vector, 利用 tm 的 Corpus() 建立語料庫向量物件。

      docs <- Corpus(VectorSource(files))
    • 檢視語料庫中的特定文件

      writeLines(as.character(docs[[30]]))
  • 視需要進行各種前處理

    • 拼音文字轉小寫

      docs <-tm_map(docs,content_transformer(tolower))
    • 移除可能有問題的符號

      toSpace <- content_transformer(function(x, pattern) {
        return (gsub(pattern, " ", x))
        }
      )
      docs <- tm_map(docs, toSpace, "-")
      docs <- tm_map(docs, toSpace, "’")
      docs <- tm_map(docs, toSpace, "‘")
      docs <- tm_map(docs, toSpace, "•")
      docs <- tm_map(docs, toSpace, "”")
      docs <- tm_map(docs, toSpace, "“")
    • 移除標點符號 (punctuation)、數字 (digits)、空白 (white space)

      docs <- tm_map(docs, removePunctuation)
      docs <- tm_map(docs, removeNumbers)
      docs <- tm_map(docs, stripWhitespace)
    • 停用詞 (stop words)

      docs <- tm_map(docs, removeWords, stopwords("english"))

      可自訂詞表

      myStopwords <- c("can", "it","may","might","great","kind")
      docs <- tm_map(docs, removeWords, myStopwords)

      選擇「停用詞」這是個大學問。

    • 語詞詞幹化 (stemmization)

      docs <- tm_map(docs,stemDocument)

      注意養成資料分析好習慣:隨時看看修改後的資料樣子。writeLines(as.character(docs[[30]]))

    • 語詞詞形化 (lemmatisation)

  • 表情符號 (Emoticon)

    表情符號在社群媒體的意義重大,是當代語言使用的一大特點。可參考

Previous文本收集Next自動分詞與詞類標記

Last updated 5 years ago

Was this helpful?

Emoticons decoder for social media sentiment analysis in R