天天看點

面向機器學習的自然語言标注1.3 語言資料和機器學習

<b>1.3 語言資料和機器學習</b>

<b></b>

我們已經介紹了語言标注方法及其語言資料标注格式的例子,接下來将描述基于這些标注語料庫的計算架構,即機器學習。機器學習是人工智能的一個分支,研究如何根據經驗和已有資料學習和改善性能的算法。它們學習(或生成)一個函數,将具體的輸入資料映射為想要的輸出。就我們的目标而言,機器學習算法處理的“資料”是自然語言,最常見的格式是文本,更典型的是标注突顯具體特征的标簽,這些特征與學習任務相關。正如我們将要看到的,前面所讨論的标注為機器學習流程(訓練階段)提供了豐富的輸入資料。

當在自然語言進行中使用标注資料集進行工作時,通常有3種類型的ml算法:

監督學習

監督學習是指任何通過生成一個函數将輸入映射到一個預先設定的标簽集合(想要的輸出)的技術。标簽通常是中繼資料标簽,由人通過标注語料庫的方式提供,其目的是用于機器學習中的訓練過程。

無監督學習

無監督學習是指任何嘗試從未标注資料輸入集合中發現結構的技術。

半監督學習

半監督學習是指任何通過生成一個函數從已标注資料和未标注資料的輸入進行映射的技術,是監督學習和無監督學習的結合。

表1-4列出了機器學習算法的概覽以及經常使用這些機器學習算法的一些标注任務。我們将在第7章詳細讨論為什麼要用這些算法處理不同的任務。

表1-4:标注任務和與之相伴的機器學習算法

算法 任務

聚類 題材分類、垃圾郵件标注

決策樹 語義類型或本體類别标注、指代消解

樸素貝葉斯 情感分類、語義類型或本體類别标注

最大熵(maxent) 情感分類、語義類型或本體類别标注

結構化模式歸納(hmm、crf等) 詞性标注、情感分類、詞義消歧

你可能會注意到有些任務可以使用多種算法。這是因為不同方法已經成功地用于多個标注任務,而且不同的算法可能會更加有效或效果更差,這取決于你自己語料庫中可以使用的相關特征。為了對表中所列的算法有一個初步的認識,本節下面将對主要類别的機器學習方法予以概要介紹。

1.3.1 分類

分類(classification)是為資料集中的單個實體指派類别标簽。例如,為了區分電子郵箱中的郵件是垃圾郵件還是非垃圾郵件,一個稱為分類器的算法将在一組已标注資料上進行訓練。在該已标注資料中,每一個郵件被賦予[+spam]或[-spam]的标簽。某些特定(已知)單詞或短語的出現有助于識别一個垃圾郵件。本質上,這些詞将被視為特征,分類器将用它們來對垃圾郵件的正例以及非垃圾郵件的正例進行對比并模組化。另一個分類的例子是根據已知症狀和其他屬性對疾病進行診斷。此時我們将根據來自病曆或其他文檔的具體特征,識别病人是否罹患特定的疾病a,并在該病曆上标注[+disease-a]或[-disease-a]。這些特征可能包括血壓、體重、性别、年齡、症狀等。用于解決這些分類任務的最常用算法是最大熵(maximum entropy,maxent)、樸素貝葉斯、決策樹和支援向量機(support vector machine,svm)。

1.3.2 聚類

聚類是指無需任何标注或訓練從輸入資料中尋找自然分組和模式的機器學習算法。該類問題通常被視為無監督學習任務,要麼資料集合沒有标簽,要麼标簽在聚類過程中被忽略。形成的每個類的成員“在某些方面相似”,而不同類的成員“不相似”。常用的聚類算法包括k均值(k-mean)、層次聚類(hierarchical clustering)、核主成分分析(kernel principle component analysis)和模糊c均值(fuzzy c-means, fcm)。

1.3.3 結構化模式歸納

結構化模式歸納不僅要學習單個實體的标簽或類别,還要學習标簽序列或标簽項之間的其他結構化依存關系。例如,在語音信号中标簽序列可能是音素流(在語音識别中);對應于句法單元(短語)的句子中的詞性序列;電話交談中的對話序列;或者諸如句法分析、指代消解或文法歸納之類的任務中的步驟。用于這些問題的算法包括隐馬爾科夫模型(hmm)、條件随機場(conditional random field, crf)和最大熵馬爾科夫模型(maximum entropy markov model, memm)。

我們将在第7章中更加深入地詳細讨論這些機器學習方法。

繼續閱讀