《Improving Document Clustering by Eliminating Unnatural Language》閱讀筆記

轉載請註明出處:西土城的搬磚日常

論文鏈接:Improving Document Clustering by Eliminating Unnatural Language

來源:arxiv(CVPR 2017?)

問題:

本文研究的主要問題是非自然語言(unnatural language)的識別問題.這裡的非自然語言指的是文本(尤其是技術類文本)中出現的表格、數學表達式、代碼以及其他非自然語言文本.這些文本會影響現有NLP工具的效果。作者這裡將非自然語言的識別任務採用類似信息檢索的思想解決,對於PDF,PPT,HTML格式的等非自然語言信息較為豐富的文本,提取相關特徵,設計多類分類器,將這些文本分為上述四個類別,並通過實驗分析了非自然語言文本對於文本聚類的影響(負面)

背景介紹:

非自然語言指的是包含前述四種組成成分的文本行和塊(block)。現有的自然語言分析工具,往往基於自然語言文本,如果可以將文檔的非自然語言部分去掉,可以提高現有分析工具的分析效果。

文檔布局分析(Document Layout Analysis)通過將文檔中的各個塊分類為圖片,表格等成分,對文檔布局進行分析。主要研究對象是PDF,OCR等格式的等基於圖的文檔。

非自然語言會對文檔分析產生負面影響。作者在下圖中,以二分查找和合併排序為例。這兩者之間應該差異較大,但由於代碼中變數的命名及關鍵字等相同的很多,如果基於傳統的文檔相似計算方法分析的話,會被其所影響(即黃色部分)。

現有提取技術:

表格部分,現有技術往往基於圖片信息進行識別。但是,現有技術並未涉及純文本(plain text)(圖片信息已經被破壞)情況下,表格的提取工作。下圖右側的圖反映的就是表格在純文本中的一般表現形式

數學表達式, 現有方法主要基於字元級特徵或者格式特徵進行判斷。本文採用的方法為字元級特徵,根據符號,相對位置,運算符,字元串長度等特徵進行判斷。

代碼段,現有方法有三種:規則,機器學習,兩者結合。有人將代碼段的主要特徵總結為:字體特徵(font-style features),上下文特徵,內容特徵,結構特徵。

其他,下面是其他非自然語言的例子。這些內容會引入無關的雜訊。

實驗:

1、問題定義

本文研究的主要對象是PDF,PPT等抽取得到的純文本.目的是為文本中的每一行打相應的標籤:普通自然語言,或者非自然語言中的一種(表格,表達式,代碼段,其他)。這裡預測每一行的類別,是因為這樣可以觀察其語義結構,語法結構是否穩定,同相鄰行的格式對比情況。為因為圖片一般很難直接轉換為文字,本文不考慮它的分類問題。

2、準備工作

從Table2中可以看出,slides與ACL論文相比,各個組分的百分比是不同的,這也是,作者在Table1的分類器訓練部分,將兩者結合的主要原因之一。

採用Apache Tika獲取原始文本。這一工具支持PDF,PPT,HTML等格式文檔的提取。

3、特徵

  • N-gram(N).每一行的Unigrams與Bigrams特徵
  • 句法特徵

非自然語言文本經過句法解析後,難以生成常規的句法結構。因此本文主要關心生成句法樹的標籤,各個標籤的比例,和每個句法樹頭對(dependent-head pair)的標籤。

  • 表字元串格式(Table String Layout)

雖然純文本中不包含表格的可視格式(行列,單元格等),但由於表格的某行某列的數據類型一般相同。因此如果某行文本具有相同的模式,其就很有可能是為表格的一部分。這裡將每行的字元替換為S(字元串)與N(數字)。之後根據編輯距離,及條件概率,判斷行與行之間的相似程度。判斷其是否為表格的一部分。

這裡有些疑問,如果表格表頭和某一行的編輯距離,一般來說會比較大(如sss->snn)。但表格中的兩行(如snn->snn的編輯距離為0),但並不能否認上述三行都是表格的一部分。上面的表達式似乎有問題。作者提供的源碼也暫時無法打開,不太清楚工程中是怎麼做的。

  • 詞向量特徵

作者基於30餘萬個詞,訓練詞向量。由於這裡是基於行進行預測的,這裡採用1)平均、2)paragraph vector 3)兩者結合三種方法。

  • 序列特徵

由於非自然語言模塊一般具有連續性,這裡的序列特徵,就是基於前一行標註或預測得到的標籤。

4、分類實驗

這裡採用SVM(Liblinear)進行分類,進行了5則交叉檢驗。文中自己提出了兩種baseline:一種是基於組分的比重進行隨機分配(W-Random),另一種是基於語言模型,採用貝葉斯的思想預測對應標籤的可能性的大小(CLM)。下面,列出一些主要的結果。

上表中不同數據集由於非自然語言組分比例不同,訓練得到的分類器對於不同組分的預測效果有好有壞,下面的結果時將上面兩個數據集融合的結果,可以看到效果有了明顯提升。

5、分析

下面是主要的分析結果。本文採用seed-kmeans進行聚類。作者這裡除分析行向量的學習方式外,主要對去除非自然語言部分,對於聚類效果的提升,進行了分析說明。

總結:

這篇論文是偏工程向的。論文在特徵提取方面的工作,值得借鑒。這裡作者將非自然語言直接捨棄後,用於文本聚類任務。筆者認為,這部分內容也包含有一定的語義信息,直接捨棄有些可惜,比如表格的題目等,這其中似有挖掘的空間。文檔中的圖片內容,也是可以融合的目標之一。

推薦閱讀:

為什麼word2vec出來以後,大家還在用distributional hypothesis找近義詞?
Galactic Dependencies依存關係數據集+細粒度語言類型學預測 | 實錄·PhD Talk
自然語言處理是計算機實現通用人工智慧的最難挑戰嗎?

TAG:机器学习 | 自然语言处理 | 文本挖掘 |