js將長文字加密成短文本 層級性多元標籤文字分類

2021-10-13 16:20:51 字數 2438 閱讀 4632

在文字分類任務中,根據每個樣本對應的標籤數量,可分為單標籤分類(樣本僅有乙個對應標籤)和多元標籤分類(樣本對應的標籤數量可能乙個或多個)。在多元標籤分類任務中,根據標籤的層級關係:可分為層級性多元標籤分類和平行性多元標籤分類(一般多元標籤分類都預設是平行的)。舉幾個應用例子,如一部電影可能是「喜劇片」,又是「愛情片」,而這電影的種類標籤是平行的,沒有層級結構;如乙個電視產品,它屬於「大家電」,也屬於「家用電器」,而「大家電」標籤是"家用電器"標籤的子類,這產品所屬種類標籤是有層級結構,所以該類任務稱為層級性多元標籤分類。

今天分享一篇關於層級性多元標籤文字分類的*****, 題目為: hft-cnn: learning hierarchical category structure for multi-label short text categorization。**是發表在2023年cemnlp會議上,對應的**也開源了:

從**題目理解:作者提出了hft-cnn模型,該模型主要是解決層級性多元標籤的短文本分類任務,其核心是標籤的層級性,其次是多元標籤和短文本。hft是hierarchical fine-tuning縮寫,其意思就是在學習層級資訊的時候,使用fine-tuning這種微調的技術,將上層標籤資訊微調的方式傳到下層標籤的學習中。作者提出該方法的原因是:覺得在處理有結構的多元標籤分類任務上,現有很多模型都是non-hierarchical flat mode,只是平行化的利用標籤的層級關係資訊,而作者的模型是hierarchical mode,乙個有層級結構的模型。

從模型圖上看,的確體現了模型的層級結構,這是作者的主要創新點。模型的主要思想是:按照hierarchical structure(也就是label的層級結構)進行一層層來利用cnn來**學習;

參考模型中標籤的結構,來說下其樣本訓練學習的思路: 1)輸入的是樣本一段短文本sentence,將sentence轉換成詞embedding,文中利用的fasttext; 2)接著先訓練樣本的頂層label(a,b),具體是在embedding層後加乙個卷積層(convoluational layer),最大池化層(maxpooling layer),全連線層+dropout,最後加個sigmoid層,用的二元交叉熵(binary cross-entorpy loss)進行a,b標籤**,這乙個cnn分類框架; 3)在**下一層標籤時(a1,a2,b1,b2),採用的仍是cnn結構,只是在embedding layer和convoluational layer不重新生成,而是繼承上一層學習的結果,然後在這個基礎上進行微調學習; 4)按照2,3步驟,遍歷整個層級標籤;

以上是**模型的基本思想,我個人的看法是:這個想法是好的,在embedding layer和convoluational layer進行微調,理論上是說的通的,因為子類標籤所涵蓋的特徵資訊應該也屬於父類標籤所涵蓋的特徵資訊。然後,這兩類特徵資訊必須有個差異,如何把這類差異資訊有效捕捉出來才是關鍵,當然這個也不好衡量,也是由於深度學習本質所決定,不能很好解釋真正起作用的原因。

再從主觀上說,應該決定子類標籤的特徵資訊更細化些,但這類特徵對父類的影響不是很大;拿前面說的產品電視的例子,它的父類標籤是「家用電器」,子類標籤是「大家電」,父類標籤的特徵資訊應該是家電,電器類的特徵,子類標籤特徵應該是加上父類標籤特徵,還要有體積大,容量大等特徵資訊,而這些子類差異化的特徵資訊是對父類標籤影響很小的。

然後,我再想:若以父類的特徵進行初始化,理論上是儲存了父類特徵,但那些影響子類標籤的差異性特徵能學到嗎,可能在父類標籤學習的過程中就過濾掉或者弱化掉了這些差異性特徵。不過這些僅是我的個人思考,讀者可以結合自己的理解和實踐去判斷。

接著說說**的實驗部分,實驗資料集用了兩個公開的多標籤分類任務的資料集:rcv1 and amazon670k;

表中顯示為兩個資料集的資料情況,其中#l代表標籤的層級深度,tr與te訓練和測試資料量,c是標籤的總體數量; 在實驗對比中,作者主要對比是xml-cnn,這個方法是針對標籤數量特別大的多元標籤分類任務,它沒有考慮標籤的層級性,但在這類任務中,它是作者實驗前表現最好的模型;在實驗評價中,用了f1值,此外使用資訊檢索領域的p@k和ndcg@k兩個評價指標;下圖是模型的一些超引數和試驗結果,可以看看。

因為我一直對多元標籤分類任務很感興趣,這方面也看了不少*****和**;本篇**給我的啟發就是:標籤層級化微調思路是好的,值得可以深入研究。但是也存在一些問題,乙個問題就是我剛才說的關於差異性特徵抽取,另乙個就是,按照作者這種遍歷遞進思路,本來多元標籤數量就特別多,層級也比較高,則模型會變得異常複雜,訓練的速度也是很慢。

標籤,短文本引用 標籤,長文字引用

引用文字,預設顯示雙引號,不需要在文字中新增 標籤,長文字引用 瀏覽器對標籤的解析是縮排樣式。在 html 中輸入回車 空格都是沒有作用的。在html文字中想輸入回車換行,就必須輸入 空格 需要幾個空格就加幾個 新增水平線 1,聯絡位址資訊 2,在瀏覽器上顯示的樣式為斜體 加入 1,var i i ...

將層級結構的文字轉換為json資料

結構a 結構b1 結構c1 結構d1 結構e1 結構f1 結構f2 結構f3 結構f4 結構c2 結構d2 結構d3 結構d4 結構c2 結構b2將類似這種以 為層級標誌的文字轉換為json格式資料 以自底向上的方式,先對最後一行的子節點向上進行遍歷,遍歷過程中依次尋找其父親,直到最後的父節點遍歷完...

對設定成ReadOnly的文字框,JS無法改變其值

對設定成readonly的文字框,後台無法取得js設定的值 究其原因,從msdn中得知 發生回發時,textbox 控制項 其 readonly 屬性設定為 true 的 text 值被傳送到伺服器,但是伺服器不處理唯讀文字框。這樣可以防止惡意使用者更改唯讀的 text 值。在回發之間,text 屬...