語言分析與資料科學
  • 本書規劃
  • 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
  • Tokenization
  • 中文斷詞(分詞)
  • Stemmatization
  • 詞類自動標記 POS tagging

Was this helpful?

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

自動分詞與詞類標記

tokenization, word segmentation and POS tagging

Previous文本清理Next文本標記

Last updated 5 years ago

Was this helpful?

Tokenization

  • 決定文本分析最小【單位】的過程。

  • 中文分詞(斷詞) Chinese word segmentation 可以看成是 tokenization 的一個特例,但是涉及更深一層的語言與認知互動。

    • 中文分詞演算法從早期的 最大匹配查找一直到隨著巨量訓練語料庫出現後的各種統計機器學習模式 (e.g., Conditional Ramdom Field) 已經有很大的進展。(如果不管語言學的討論)

    • 主要面對的兩大問題是

      • 結構性的歧義消解

      • 新詞識別

中文斷詞(分詞)

是一個用於中文斷詞的 (Python) 套件。 則是 jieba 的 R 版本。使用 jiebaR 進行斷詞只須兩個步驟:

  1. 使用 worker() 初始化斷詞設定

  2. 使用 segment() 將文本斷詞

  • jiebaR::segment() 回傳一個 character vector,vector 內的每個元素都是一個被斷出來的詞:

library(jiebaR)
seg <- worker()
txt <- "失業的熊讚陪柯文哲看銀翼殺手" 
segment(txt, seg)

#> [1] "失業" "的熊" "讚"   "陪"   "柯文" "哲看" "銀翼" "殺手"
熊讚
柯文哲
銀翼殺手

如此在 worker() 中設定自訂辭典,jiebaR 就不會將這些詞彙斷開:

seg <- worker(user = "user_dict.txt")
segment(txt, seg)

#> [1] "失業"     "的"       "熊讚"     "陪"       "柯文哲"   "看"      
#> [7] "銀翼殺手"

Stemmatization

  • 詞幹 (stem)

libray(SnowballC)

詞類自動標記 POS tagging

  • 詞類是句法的概念。在文本解析的重要性上可以用 named entity recognition 來解釋。比方說, "the word general can be a job title as in the highest-ranking general, but in the general opinion it is not a job title. In the first example general is a noun, and in the second it is an adjective. If a part-of- speech tagger has already added these annotations, the named entity recognizer can use them to improve its precision."(Wilcock, 2009).

  • 實作上, English part of speech tagging withopenNLP(which implements the Penn Treebank tag set.)

可以看出 jiebaR 的斷詞有時會不太精準,尤其是遇到專有名詞或是特殊詞彙時,這些詞彙時常會被錯誤地斷開。若想避免這種情況,可以新增一份自訂辭典 (儲存在一份純文字檔,每個詞佔一行),例如 的內容如下:

See .

jieba
jiebaR
user_dict.txt
http://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html