李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

AI前線發表於2018-06-25
李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值
編譯 | 馬卓奇
編輯 | Natalie、Debra
AI 前線導讀:提取缺失屬性值是指從自由文字輸入中找到描述興趣屬性的值。過去大多數關於提取缺失屬性值的工作都是在封閉的假設下進行,即事先已知一組可能的屬性值,或者使用屬性值字典和手工提取的特徵。那麼怎樣才能發現新的屬性值?能用有限的人工標註或監督來做到這一點嗎?

AI 前線第 37 篇論文解讀,給大家帶來的是李飛飛團隊最新提出的 OpenTag 模型論文。OpenTag 是目前第一個端到端的開放式屬性值提取框架,在這項工作中,李飛飛團隊利用產品配置檔案資訊,如標題和描述,來提取缺失的產品屬性值。他們開發了一種新的深度標註模型 OpenTag,從建模、推斷和學習三個方面解決了現實生活中屬性值提取面臨的挑戰。

更多幹貨內容請關注微信公眾號“AI 前線”,(ID:ai-front)

李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

這篇論文有以下貢獻:

(1)將問題形式化為序列標註任務,並提出利用遞迴神經網路(雙向 LSTM)捕獲上下文和語義的聯合模型,並且利用條件隨機場(CRF)來約束標註連貫性;

(2)提出了一種新的注意力機制,為我們的模型決策提供瞭解釋;

(3)提出了一種新的取樣策略,利用主動學習來減少人類標註的負擔。與以前的工作不同的是,OpenTag 不使用任何字典或手動提取的特徵。作者在不同領域的真實資料集做了大量實驗,證明具有主動學習策略的 OpenTag 僅從 150 個標註樣本中就可以發現新的屬性值(減少了 3.3 倍的標註工作量),並且 F 分數高達 83%,優於目前最先進的模型。

背景介紹

產品目錄是電子商務零售商的寶貴資源,他們可以通過產品目錄來組織、規範並且釋出資訊給客戶。然而,這個目錄資訊經常是嘈雜的、不完整的,有很多缺失的產品屬性值。一個有趣而重要的挑戰就是從產品描述和其他相關產品資訊中補充目錄中缺失的屬性值,特別是我們以前從未見過的屬性。

非正式問題 1:給定一組目標屬性(例如,品牌、味道、氣味)和非結構化的產品配置資訊(如標題、描述和要點):如何從文字中提取屬性值?如果一些屬性值是新的,比如新興品牌,該如何做?

李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

圖 1

圖 1 給出了一張亞馬遜網站上一款狗糧的產品配置資訊。產品標題“多包菲力牛柳和 T 骨牛排狗糧(12 小包)”中包含了兩個屬性:尺寸和味道,我們想提取這些屬性對應的值,例如“12 包”(尺寸)、“菲力牛柳”(味道)和“T 骨牛排”(味道)。

這一問題提出瞭如下挑戰:

(1)開放性預測(Open World Assumption,OWA)。之前的屬性值提取研究都是封閉式估測,使用有限的、預定義的屬性值詞典。因此無法發現新發布產品的新的屬性值。

(2)屬性疊加與不規則結構。標題和描述中的產品配置資訊通常是非結構性的,與產品細節緊密排列在一起。因此,鑑別和分割特定的屬性值是很困難的。除此之外,有些產品資訊十分簡略。資料集中 75% 的產品標題不超過 15 個詞,而超過 60% 的重點內容不超過 10 個詞。

(3)有限的標註資料。現有的基於神經網路的屬性值提取方法需要大量的標註樣例,因此不能擴充套件至某些只有數百個標註樣例的領域。這也引出了第二個非正式問題。

非正式問題 2:我們是否可以開發只需要有限的人工註釋的監督模型?另外,我們能開發出對其決策能給出完整解釋的模型嗎?

論文貢獻

在這篇論文中,我們提出了幾個新的技術來解決上述問題。我們將問題表述為序列標註任務,與命名實體識別(named entity recognition,NER)任務類似。命名實體識別的任務目標是從非結構化文字中識別人、組織或位置的名字。

論文提出的新技術總結如下:

  • 模型:我們將屬性值提取建模為序列標註任務,滿足開放性預測(OWA)並且適用於產品配置檔案中的非結構化文字和稀疏文字。我們提出 OpenTag 模型,利用條件隨機場(CRF)和 LSTM,並且增加了一個注意力機制來解釋模型的預測結果。

  • 學習: 探索了主動學習和新的取樣方法來減少對人工標註的依賴。

  • 實驗: 我們在不同領域的真實場景資料集上進行了大量實驗來驗證 OpenTag 的有效性。它可以僅從 150 個標註樣例中發現新屬性,並且 F 分數高達 83%,超過了目前最好的方法。

問題定義

給定一組以非結構的文字資料形式出現的產品配置資訊(標題、描述和要點),以及一組預定義的目標屬性值(例如品牌、口味、尺寸),我們的目標是從非結構的文字資料中提取對應的屬性值。

例如輸入為:目標屬性:品牌、口味和尺寸產品標題:“5 包裝塞薩爾犬類美食多樣包菲力牛柳和 T 骨牛排狗糧(12 小包)”產品描述:“多樣包裝包括:6 盤菲力牛排味”我們想提取的是“塞薩爾”(品牌),“菲力牛柳”和“T 骨牛排”(口味)以及“6 盤”(尺寸)作為對應的模型輸出。

正式問題定義:開放式屬性值提取。給定一系列產品 I,對應的產品配置檔案 X={xi:i 屬於 I},以及屬性值 A={a1, a2, …, am},用開放式估測提取所有的屬性值 Vi=<{vi,j,1, …, vi,j,lij }, aj>。我們用 vij 來表示第 i 個產品的 aj 屬性的值。產品配置檔案(標題、描述、重點)由單詞或詞條序列組成:xi={wi,1, wi,2, …, wi,n}。

序列標註方法

傳統的方法將這個任務視為多分類問題,將任意目標屬性值作為一個類標,會產生以下問題:(1)標註擴充套件問題;(2)封閉式估測;(3)標註獨立估測。基於以上的觀察,我們採用序列標註來對該任務建模。

1. 序列標註

為了更好的對屬性和屬性值之間的依賴關係建模,我們採取序列標註的方法。我們將給定的標註集中的一個標註與輸入序列的每個詞條進行關聯。目標是聯合預測輸入序列中的所有標註。在命名實體識別(NER)中,目標是標註給定輸入序列中實體的名字。我們的問題可以視作是 NER 的一種特殊場景,我們要做的是給定輸入詞條序列,標註屬性值。我們的想法是利用分散式語義,即相似的詞條標註序列能夠識別相似的概念。

2. 序列標註方法
“BIOE”是最常用的序列標註方法。“B”代表一個屬性的開始,“I”代表屬性的內部,“O”代表屬性的外部,“E”代表屬性的結尾。其他的方法包括“UBIOE”和“IOB”。“UBIOE”的“U”代表單元詞條標註,區分一個詞的屬性和多個詞的屬性。而對於“IOB”標註,由於“B”和“I”已經足以表達一個屬性的邊界,所以省略了“E”。
李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

表 1

表 1 給出了上述標註方法的示例。給定一個序列,“鴨肉、菲力牛排和牧羊羔口味”(duck, fillet mignon and ranch raised lamb flavor),由 9 個單片語成(包括逗號),BIOE 標註方法提取出了 3 個味道屬性的值,“鴨肉”、“菲力牛排”和“牧羊羔”,分別由“B”、“BE”和“BIE”表示。

3. 序列標註的優勢

序列標註方法有以下三個優點:

(1) 開放式預測和標註擴充套件。一個標註與一個詞條相關,而不是一個特定的屬性值,因此可以很好的擴充套件至新的屬性值。

(2) 發現多詞屬性值。上述方法可以提取詞條序列(多詞屬性值),而不是隻能識別單個詞屬性值。

(3) 發現多個屬性值。如果多個屬性值分別根據對方進行了不同標註,標註方法可以同時發現多個屬性值。

我們將原始的開放式屬性值提取問題簡化為 如下序列標註任務

假設 Y 是包含所有標註的標註集。如果我們選擇 BIOE 作為標註方法。那麼 Y={B, I, O, E}。我們的目標是學習一個標註模型 F(x) —> y,能夠將第 i 個產品配置的輸入序列 xi 的每個詞條 wij 對映到一個對應的標註 yij。該監督分類任務的訓練集為 S={xi, yi}。這是一個全域性性的標註模型,能夠捕捉標註之間的關係,並且將整個序列作為一個整體建模。我們將這個模型稱作 OpenTag。

OpenTag 模型:通過序列標註提取屬性值

OpenTag 模型基於最先進的命名實體識別系統,使用雙向 LSTM 和條件隨機場,但是我們沒有使用任何字典和手動設計的特徵。在下面的章節中,我們首先回顧這些模組,以及我們如何改進它們以適應屬性值提取任務。隨後,我們介紹了使用注意力機制的端到端的 OpenTag 結構,以及主動學習來減少對標註資料的依賴。

雙向 LSTM 模型

雙向 LSTM 模型能夠分別通過前饋和反饋狀態來捕捉之前時間點和未來時間點的特徵。在序列標註任務中,我們通常需要聯合考慮左邊和右邊的文字以得到更好的預測模型。使用從前向和反向 LSTM 中獲得的隱向量表示,以及非線性變換,我們可以建立一個新的隱向量。最後,我們通過增加一個 softmax 函式來預測輸入序列 x 中每個詞條 xt 的標註。

雖然雙向 LSTM 考慮了輸入序列的序列特性,但是沒有考慮輸出標註的性質。因此,該模型在預測時不能考慮標註的連貫性。每個標註是獨立於其他標註完成預測的。為了解決這個問題,作者使用 CRF 來約束預測標註的序列特性。

條件隨機場和雙向 LSTM(BiLSTM)標註序列建模

在 NER 任務中,傳統的 CRF 模型使用人為定義的語義特徵。我們將 LSTM 和 CRF 結合起來,利用類似於分散式詞表示的語義特徵。我們將 BiLSTM 模型產生的隱狀態作為 CRF 模型的輸入特徵。我們加入一個非線性層來計算隱狀態的權重,從而捕捉不同狀態對於最終決策的重要性。

BiLSTM-CRF 網路可以利用(1)之前和之後時間點的特徵,(2)經由 BiLSTM 模型編碼入隱狀態的輸入序列的語義資訊,(3)通過 CRF 約束的標註連續性,考慮了輸出標註之間的依賴性。

注意力機制

引入注意力機制的目的是讓模型強調重要的資訊,而不是關注所有的資訊。使用這種機制,我們可以強調輸入序列中對於模型的預測和進行特徵選擇有重要性的詞條。

在自然語言處理領域,注意力機制在神經機器翻譯(Natural Language Processing, NMT)中廣泛使用。NMT 系統包括一個序列到序列的編碼解碼器。引入注意力機制後,解碼器可以將源序列的不同部分作不同處理。更重要的是,我們讓模型基於輸入序列和當前輸入來學習需要注意的部分。

在我們的模型設定中,解碼器是 BiLSTM,產生隱狀態表示。我們引入一個注意力層,用注意力矩陣來計算輸入序列中任意詞條與所有相鄰詞條的相似性。這使得模型可以根據詞條的重要性來產生最終的標註決策。

詞嵌入(Word Embedding)

神經詞嵌入是將在相似上下文中出現的單詞對映到內嵌空間的相近點。這一操作形成了 OpenTag 的第一層。我們以屬性標籤為條件學習詞表示,並且為不同的屬性產生不同的詞表示。

OpenTag 結構
李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

圖 2

圖 2 給出了 OpenTag 的整體結構。第一層是詞嵌入層,為輸入序列 x 的每個詞條 xt 產生一個內嵌向量。該向量作為雙向 LSTM 層的輸入,產生其對應的隱狀態表示,作為前向和後向 LSTM 狀態的連線。BiLSTM 的輸出作為注意力層的輸入,學習需要特別關注的狀態,隨後產生帶有注意力關注的隱狀態表示。這些表示作為 CRF 層的輸入特徵,來約束標註的連續性,以捕捉輸出標註和詞條隱狀態表示在每個時間點的依賴性。

主動學習

主動學習適用於有大量無標註資料的場景,我們可以讓學習器從無標註資料池中選擇樣本,然後再進行標註。學習器用一個很小的標註例項集作為初始訓練集 L。隨後學習器使用某種搜尋策略 Q 不斷的從未標註資料池中選擇資料進行標註。主動學習的挑戰在於如何設計一個好的搜尋策略 Q,能夠從無監督例項集中選擇出資訊增益最高的樣本。

我們採用的基線方法是最小置信度法(Least Confidence, LC)。它選擇出分類器給的置信度最低的樣本。在我們的序列標註任務中,CRF 的置信度通過條件概率得到。然而這一方法有以下兩個缺點:(1)整個序列的條件概率與產品的連續標註轉換率成比例,因此任意詞條標註的錯誤置信度都會降低整個序列的概率,從而無法實現有價值的搜尋,(2)儘管這個方法能夠反應詞條標註的置信度,但是隻能影響少數幾個標註,對整個序列的影響較小。標註跳躍方法(Tag Flip)根據上述侷限性,我們提出了一個新的搜尋策略,將標註分給一個序列的不同詞條的困難程度來判斷這個序列的資訊增益。

我們模擬一個 OpenTag 學習器的叢集來代表與標註資料集 L 一致的不同假設。資訊增益最高的樣本便是與叢集成員分歧最大的樣本。在訓練過程中,對於每一個 epoch,OpenTag 學習一組不同的模型和引數,來模擬學習器叢集的一個成員。每一個 epoch 之後,我們將學到的模型和引數應用於未標註樣本池,然後記錄下系統給每個樣本分配的最佳標註序列。我們定義一次“跳躍”為連續的 epoch 中給定序列的詞條標註變化的次數。如果樣本序列詞條的標註在連續的 epoch 之間不停地變化,則說明 OpenTag 對於這個樣本不能確定,模型也是不穩定的。因此,我們將標註跳躍次數(TF)作為衡量樣本的不確定性和模型不穩定性的標準,然後搜尋標註跳躍次數最高的樣本進行標註。下圖給出了利用標註跳躍作為搜尋策略的主動學習演算法。

李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

表 2 給出了不同取樣策略:最小置信度和標註跳躍選擇的序列結果。

李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

從表中可以看出,標註跳躍演算法選擇的序列 S2 有許多錯誤標註,對該次搜尋進行標註的為學習器調整引數帶來的影響要明顯大於對 S1 進行標註帶來的影響。

實 驗
資料集

我們對 3 類產品進行試驗:(1)狗糧,(2)和(3)照相機。表 3 給出了不同資料集的描述和實驗設定。

李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

表 3

屬性值提取表現

基線模型: 我們首先考慮了 BiLSTM 作為第一個基線模型。第二個是採用 BiLSTM 和 CRF 用於 NER 的序列標註模型。

標註方法: 我們採用{B, I, O, E}標註方法。

屬性值提取結果:

李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

表 4

我們對比了 OpenTag 和上述兩個基準模型在判斷來自不同產品配置檔案、不同屬性組在不同領域的屬性值的效果。表 4 給出了對比結果。我們發現 OpenTag 的 F 分數連續高於其他方法,達到了 82.8%。在產品描述上,OpenTag 比 BiLSTM-CRF 的表現有最大提高,提高了 5.3%。

開放式預測發現新屬性值實驗結果:

李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

表 5

在這個實驗中,我們測試了 OpenTag 發現新屬性值的效果。我們將測試資料和訓練資料完全分開,確保它們不共享任何屬性值。從表 5 中可以看到,OpenTag 在非聯合設定下表現良好,在發現新屬性值的實驗中 F 分數為 82.4%。

聯合提取多屬性值:

OpenTag 能夠通過改變標註策略聯合提取多屬性值。在實驗中,我們從狗糧產品標題中聯合提取了品牌、味道和容量這三個屬性值。從表 4 可以看出,OpenTag 相比於 BiLSTM-CRF 基線的 F 分數提高了 2%。

李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

表 6

由於聯合提取多屬性值能夠利用他們的分散式語義資訊,因此比單獨提取的效果要好,如表 6 所示。儘管品牌和容量這兩個屬性值的聯合提取分數提高了,但是味道屬性的提取分數略有下降。

注意力機制與可解釋性

利用注意力給出解釋:

李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

圖 3 給出了 OpenTag 在訓練過程中學習生成的注意力矩陣 A 的熱圖。

熱圖中的每個元素代表了一個詞對於相鄰上下文的重要程度,以及它是如何影響最終決策的。例如圖中心 4 個白色的方塊,它們表明對應的“with”和“and”對於詞條“beef”和“liver”的標註決策是很重要的,因為這些連線詞連線了兩個相鄰的味道屬性值。

這個例子表明我們的模型學習到了連線詞的語義,以及它們對於屬性值提取的重要性。

更好的概念聚類:

李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

圖 4 OpenTag 取得了更好的概念聚類結果。

子圖按順序顯示了注意力對輸入資料的操作得到了更好的概念聚類結果。圖 4(a)顯示了在引入注意力之前詞語嵌入表示的分佈。每一個點代表一個詞條,它的顏色代表一個標註{B, I, O, E}。我們發現不同標註的詞語最開始在內嵌空間隨機分佈。

我們通過累積對應的注意力權重為每個詞計算兩個重要性度量:(1)它對屬性詞的重要程度(估測屬性值內詞條的{B, I, E}標註);(2)它對外部詞的重要程度(估測屬性值外部詞條{O}的標註)。對於每一次計算,我們取樣前 200 個最重要的單詞,圖 4(b)給出了它們的分佈。我們發現語義相關的詞在位置上也比較相近。

圖 4(c)顯示了注意力機制如何將隱向量投射到新的空間。圖中的每一個藍點代表原始隱空間的一個單詞。紅點表示注意力機制將這個單詞投影到一個新空間。同樣,我們發現類似的概念在投射之後變得更近了。

圖 4(d)給出了經過注意力機制的操作後詞向量的分佈。與圖 4(a)對比發現,使用注意力機制之後,類似的概念(標註)有了更好的聚類和區分度。

主動學習

用保留測試集進行主動學習

李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

圖 5

為了對主動學習框架進行嚴格的評估,我們使用一個保留測試集來驗證主動學習的效果。我們以少量的標註例項(50 個隨機取樣的例項)作為初始標註集 L。圖 5 給出了兩個任務的結果:(1)從調味品的產品標題中提取氣味屬性值;(2)從狗糧產品標題中提取多屬性值(品牌、容量和味道)。採用標註跳躍取樣策略的 OpenTag 將單屬性值提取的精度從 59.5% 提高到 91.7%,召回率從 70.7% 提高到 91.5%。我們也發現,標註跳躍方法比最小置信度方法對於單屬性值提取的 F 分數提高了 5.6%,對於多屬性值提取的 F 分數提高了 2.2%。

沒有保留資料的主動學習:

李飛飛團隊提出OpenTag模型:減少人工標註,自動提取產品屬性值

圖 6

下面我們探索主動學習在多大程度上可以減輕人為標註的負擔。我們用很少的標註例項(50 個)作為初始訓練集 L。我們想發現需要多少輪主動學習才能匹配初始訓練集大小為 500 的 OpenTag 的表現。如圖 6 所示,我們僅用了大概 150 個訓練例項就達到了類似的表現水平。這一結果表明,OpenTag 結合採用 TF 策略的主動學習可以大量減少對標註資料的需求。

總 結

這篇論文介紹了 OpenTag——一個端到端的標註模型,利用了 BiLSTM、CRF 和注意力機制,從產品配置資訊例如標題、描述和重點內容中提取缺失屬性值。OpenTag 不使用任何字典或者手工提取的特徵。它對資料結構也不做任何預估,因此可以用於任意一種文字資料。

OpenTag 其他的優勢在於:

(1)開放式估測(OWA):它可以發現系統未見過的新屬性,並且可以提取多詞屬性值以及多屬性提取;

(2)不規則結構和稀疏文字:它可以處理非結構文字,例如產品配置資訊這種缺乏規則語法結構、只是屬性值堆疊的文字,以及稀疏文字;

(3)有限標註資料:與其他有監督模型和神經網路不同,OpenTag 所需訓練資料較少。它利用主動學習來減輕人工標註的負擔;

(4)可解釋性:OpenTag 利用注意力機制來解釋它的決定。論文在不同領域的真實資料集上進行了實驗,實驗證明 OpenTag 可以僅從 150 個標註樣本中發現新的屬性值(降低了 3.3 倍的人工標註量),F 分數高達 83%,超過了當前最先進的模型。

論文原文連結:

https://arxiv.org/abs/1806.01264v1


相關文章