您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何用Siamese和Dual BERT來做多源文本分類,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
使用不同的方式來使用BERT模型。
在NLP中不斷的研究產生了各種各樣的預訓練模型。對于各種任務,例如文本分類、無監督主題建模和問題回答等,不斷的在刷新業界最佳。其中,最偉大的發現之一是在神經網絡結構中采用了注意力機制。這種技術是所有稱為transformers的網絡的基礎。他們應用注意力機制來提取關于給定單詞上下文的信息,然后將其編碼到一個學習到的向量中。
作為數據科學家,我們可以調用很多transformers架構,并使用它們對我們的任務進行預測或微調。在這篇文章中,我們喜歡讀經典的BERT,但是同樣的推理也適用于其他所有的transformer結構。我們使用了siamese結構,這是一個雙路BERT,用于多文本輸入的分類。
我們從Kaggle上收集數據集。新聞類別數據集:https://www.kaggle.com/rmisra/news-category-dataset包含從HuffPost上獲得的2012年至2018年的約20萬條新聞標題。我們需要根據兩種不同的文本來源對新聞文章進行分類:標題和簡介。我們總共有40多種不同類型的新聞。為了簡單起見,考慮到工作流的計算時間,我們只使用了8個類的一個子組。
我們不應用任何預處理和數據清洗,我們讓BERT表演所有的魔法。我們的工作框架是Tensorflow與Huggingface的transformer庫。更詳細地說,我們使用了原始的Bert模型transformer,它的輸出就是原始的隱藏狀態,沒有任何特定的頭。它可以像Tensorflow模型的子類一樣訪問,并且可以很容易地在我們的網絡架構中進行調優。
作為第一個競爭者,我們引入了單個BERT的結構。它只接收一個文本輸入,這是兩個文本源拼接的結果。這是正常操作:任何模型都可以接收拼接起來的特征作為輸入。對于transformers,這個過程將輸入與特殊tokens結合起來。
BERT期望輸入數據以特定的格式:有特殊的tokens來標記句子/源文本的開頭([CLS])和結尾([SEP])。與此同時,tokenization包括將輸入文本拆分為詞匯表中可用的tokens列表。對詞匯表外的單詞進行word-piece的處理,一個單詞被逐步分解為子單詞,這些子單詞是詞匯表的一部分。該過程可以通過預先訓練好的Huggingface的Tokenizer輕松實現,我們只需要注意填充。
我們最后從源文本的輸入中得到了三個矩陣(標記、掩碼、序列id)。它們是我們的transformers的輸入。在單個BERT的情況下,我們只有一個矩陣的元組。這是因為我們同時將兩個文本序列傳遞給我們的tokenizer,這兩個文本序列被自動拼接起來(使用[SEP] token)。
我們的模型結構非常簡單:transformer直接與我們在上面構建的矩陣相連接。最后,通過平均池操作減少了transformer的最終隱藏狀態。概率分數是由最終的dense層計算出來的。
我們的簡單BERT對測試數據的準確率達到83%。性能報告在下面的混淆矩陣中。
我們的第二個結構可以定義為雙路BERT,因為它使用了兩個不同的transformers。他們有相同的組成,但訓練用不同的輸入。第一個接收新聞標題,另一個接收簡介。輸入被編碼為兩個矩陣元組(token, mask, sequence ids),每個輸入一個。對于兩個數據源,我們的transformers的最終隱藏狀態都使用平均池來聚合。它們被拼接起來,并通過一個全連接層傳遞。
通過這些設置,我們可以獲得測試數據84%的準確度。
我們最后的模型是一種Siamese的結構。可以這樣定義它,因為兩個不同的數據源是在同一個可訓練的transformer結構中同時傳遞的。輸入矩陣與Siamese BERT的情況相同。對于這兩個數據源,transformer的最終隱藏狀態是通過平均操作聚合的。產生的連接在一個全連接層中傳遞,該層將它們組合在一起并產生概率。
我們的siamese結構在我們的測試數據上達到82%的準確度。
我們應用BERT結構來執行一個多類分類任務。我們實驗的附加價值是使用transformers 以不同的方式處理多個輸入源。我們從只有一個源中的所有輸入的經典拼接結構開始,并以為模型提供分開的文本輸入作為結束。雙路BERT和siamese BERT都能夠實現良好的性能。由于這個原因,它們可以被認為是經典的單變壓器結構的良好替代品。
看完上述內容,你們對如何用Siamese和Dual BERT來做多源文本分類有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。