無監督的機器學習算法
無監督的機器學習算法屬於 ML 算法系列,它們嘗試從數據的各種屬性的特征中發現其中潛在的、隱藏的結構和模式。此外,一些無監督學習算法也用來減少特征空間,通常是將高緯度的特征空間轉變為低緯度的特征空間。這些算法所運行的數據基本上是沒有預先分類的為標記數據。應用這些算法的目的是尋找模式並識別特征,這有助於將各種數據點分成組或類。這些算法通常稱為聚類算法。
聚類
信息檢索
信息檢索(Information Retrieval,IR)是根據某些需求從存儲信息的語料庫或實體中檢索或獲取相關信息源的過程。例如,它可以是用戶在搜索引擎中駛入查詢或搜索,然后獲取與其查詢相關的搜索項的過程。實際上,搜索引擎是 IR 最受歡迎的應用。
文檔和信息與用戶需求的相關性可以通過集中方式進行衡量。它包括從搜索文本中查找特定關鍵字,或使用一些相似度度量來查看文檔與輸入查詢的相似度排名或得分。這與字符串匹配或正則表達式匹配完全不同,因為相對於文檔(實體)集合中的字符串,搜索字符串中的單詞常常具有不同的順序、上下文和語義,而這些單詞的含義基於同義詞、反義詞和否定修飾符可以有多重可能的結果。
文檔
文檔通常是一個包含完整文檔數據的實體,包含可選的標題和其他元數據信息。語料庫通常由一系列文檔組成。這些文檔可以是簡單的句子或完整的文本信息段落。分詞語料庫指的是每個文檔被分詞化或分解成標識的語料庫,其中標識通常是單詞。
文本規范化
文本規范化是通過技術來清洗、規范化和標准化文本數據的過程,譬如刪除特殊符號和字符、去除多余的 HTML 標簽、移除停用詞、拼寫校正、詞干提取和詞形還原。
特征提取
特征提取是從原始文本數據匯總提取有意義的特征或屬性,以將其提供給統計或機器學習算法的過程。這個過程也稱為向量化(vectirization),因為該過程的轉換結果通常是來自原始文本標識的數值向量。其原因是常規算法可以對數值向量奏效,並不能直接在原始文本數據上處理。有各種不同的特征提取方法,包括:基於詞袋的二進制特征可以告訴我們文檔中是否存在一個單詞或一組單詞,基於詞袋的頻率特征可以告訴我們文檔中一個單詞或者一組單詞的出現頻率,以及詞頻或逆文檔頻率或 TF-IDF 加權特征在計算每個詞項權重時考慮了詞頻和逆文檔頻率。
特征矩陣
特征矩陣通常是指充文檔集合到特征的映射,其中每行表示文本,每列表示具體特征,特征通常是一個單詞或一組單詞。將通過特征提取后的特征矩陣來表達文檔或句子的集合。
特征工程
詞袋、TF-IDF 和詞向量模型等技術通常用於以數值向量的形式表示文檔對文檔建模,以便於更加方便的應用數學或機器學習技術。通過這些特征提取技術,可以得出各種文檔的數字表示,甚至可以將每個字母或單詞映射到與之相應的唯一數字標識符。
相似度測量
在文本相似度分析和聚類中經常使用相似度測量。相似度或距離測量值通常是用來衡量兩個實體之間的接近程度的,其中實體可以是任何文本形式,例如文檔、句子甚至是短語。這種相似度測量在識別類似實體並將不同實體加以區分時十分有用。相似度測量是十分有效的,有時選擇正確的度量方式可能會對最終分析系統的性能產生很大的影響。基於距離測量,人們還發明了各種評分或排名算法。實體之間的相似度由兩個主要因素決定:
- 實體的固有屬性或特征。
- 測量公式及其特征。
請記住一個重要的知識點,那就是不是所有的距離測量值都是相似度的距離度量(distance metric)。A. Huang 在一篇優秀的論文 “Similarity Measures fox Text Document Clustering (文本文檔聚類的相似度測量)” 中詳細介紹了這一點。可以考慮距離測量值 d 和兩個實體(如文檔)x 和 y。x 和 y 之間的距離用於確定它們之間的相似度,可以表示為 d(x,y),當且僅當滿足以下四個條件時,測量值 d 才可以稱為一個相似度的距離度量:
- 任何兩個實體之間的測量距離(如 x 和 y 的距離)必須始終為非負數,及d(x,y) >= 0。
- 當且僅當兩個實體相同時,距離為零,即 d(x,y) = 0 iff x = y。
- 這個距離測量值應該是對稱的,這意味着從 x 到 y 的距離總是和從 y 到 x 的距離相同,數學上表示為 d(x,y) = d(y,x)。
- 該距離測量值應該滿足三角不等式特性,在數學上可以表示為 d(x,z) <= d(x,y) + d(y,z)。
以上條件是重要的衡量標准,也是一個良好的框架,可以用它來檢查距離測量方法是否可以用作測量相似度的距離度量。
TF-IDF
TF-IDF(term frequency–inverse document frequency)是一種用於資訊檢索與資訊探勘的常用加權技術。TF-IDF是一種統計方法,用以評估一字詞對於一個文件集或一個語料庫中的其中一份文件的重要程度。字詞的重要性隨着它在文件中出現的次數成正比增加,但同時會隨着它在語料庫中出現的頻率成反比下降。TF-IDF加權的各種形式常被搜尋引擎應用,作為文件與用戶查詢之間相關程度的度量或評級。除了TF-IDF以外,因特網上的搜尋引擎還會使用基於連結分析的評級方法,以確定文件在搜尋結果中出現的順序。
詞頻 (term frequency, TF) 指的是某一個給定的詞語在該文件中出現的次數。這個數字通常會被歸一化(分子一般小於分母 區別於IDF),以防止它偏向長的文件。(同一個詞語在長文件里可能會比短文件有更高的詞頻,而不管該詞語重要與否。)
逆向文件頻率 (inverse document frequency, IDF) 是一個詞語普遍重要性的度量。某一特定詞語的IDF,可以由總文件數目除以包含該詞語之文件的數目,再將得到的商取對數得到。
某一特定文件內的高詞語頻率,以及該詞語在整個文件集合中的低文件頻率,可以產生出高權重的TF-IDF。因此,TF-IDF傾向於過濾掉常見的詞語,保留重要的詞語。
TFIDF的主要思想是:如果某個詞或短語在一篇文章中出現的頻率TF高,並且在其他文章中很少出現,則認為此詞或者短語具有很好的類別區分能力,適合用來分類。TFIDF實際上是:TF * IDF,TF詞頻(Term Frequency),IDF反文檔頻率(Inverse Document Frequency)。TF表示詞條在文檔d中出現的頻率。IDF的主要思想是:如果包含詞條t的文檔越少,也就是n越小,IDF越大,則說明詞條t具有很好的類別區分能力。如果某一類文檔C中包含詞條t的文檔數為m,而其它類包含t的文檔總數為k,顯然所有包含t的文檔數n=m+k,當m大的時候,n也大,按照IDF公式得到的IDF的值會小,就說明該詞條t類別區分能力不強。但是實際上,如果一個詞條在一個類的文檔中頻繁出現,則說明該詞條能夠很好代表這個類的文本的特征,這樣的詞條應該給它們賦予較高的權重,並選來作為該類文本的特征詞以區別與其它類文檔。這就是IDF的不足之處.
在一份給定的文件里,詞頻(term frequency,TF)指的是某一個給定的詞語在該文件中出現的頻率。這個數字是對詞數(term count)的歸一化,以防止它偏向長的文件。(同一個詞語在長文件里可能會比短文件有更高的詞數,而不管該詞語重要與否。)對於在某一特定文件里的詞語 來說,它的重要性可表示為:
以上式子中 是該詞在文件
中的出現次數,而分母則是在文件
中所有字詞的出現次數之和。
逆向文件頻率(inverse document frequency,IDF)是一個詞語普遍重要性的度量。某一特定詞語的IDF,可以由總文件數目除以包含該詞語之文件的數目,再將得到的商取對數得到:
其中
- |D|:語料庫中的文件總數
:包含詞語
的文件數目(即
的文件數目)如果該詞語不在語料庫中,就會導致被除數為零,因此一般情況下使用
然后
某一特定文件內的高詞語頻率,以及該詞語在整個文件集合中的低文件頻率,可以產生出高權重的TF-IDF。因此,TF-IDF傾向於過濾掉常見的詞語,保留重要的詞語。