作者:楊夕
項目地址:https://github.com/km1994/nlp_paper_study
個人介紹:大佬們好,我叫楊夕,該項目主要是本人在研讀頂會論文和復現經典論文過程中,所見、所思、所想、所聞,可能存在一些理解錯誤,希望大佬們多多指正。
大綱
目錄
l 【關於 NLP】 那些你不知道的事
¡ 目錄
¡ 介紹
n 【關於 論文工具】那些你不知道的事
n 會議收集篇
n NLP 學習篇
¨ 經典會議論文研讀篇
¡ 理論學習篇
¨ 經典論文研讀篇
¨ 【關於 transformer 】 那些的你不知道的事
¨ 【關於 預訓練模型】 那些的你不知道的事
¨ 【關於 信息抽取】 那些的你不知道的事
¡ 【關於 實體關係聯合抽取】 那些的你不知道的事
¡ 【關於 命名實體識別】那些你不知道的事:
¡ 【關於 關係抽取】那些你不知道的事:
¡ 【關於 文檔級別關係抽取】那些你不知道的事
¨ 【關於 知識圖譜 】 那些的你不知道的事
¡ 【實體鏈指篇】
¡ 【【關於 實體消歧 】 那些的你不知道的事】
¡ 【【關於KGQA 】 那些的你不知道的事】
¡ 【【關於Neo4j 】 那些的你不知道的事】
¨ 【關於 細粒度情感分析】 那些的你不知道的事
¨ 【關於 主動學習】 那些的你不知道的事
¨ 【關於 對抗訓練】 那些的你不知道的事
¨ 【關於 GCN in NLP 】那些你不知道的事:
¨ 【關於 文本預處理】 那些的你不知道的事
¨ 【關於問答系統】 那些的你不知道的事
¨ 【關於 文本摘要】 那些的你不知道的事
¨ 【關於 文本匹配】 那些的你不知道的事
¨ 【關於 機器翻譯】 那些的你不知道的事
¨ 【關於 文本生成】 那些的你不知道的事
¨ 【關於 實體消歧】 那些的你不知道的事
¨ 【關於 對話系統】 那些的你不知道的事
¨ 【關於 Rasa 】 那些的你不知道的事
¨ 【關於 半監督學習】 那些的你不知道的事
¨ 【關於 NLP分類任務】那些你不知道的事
¡ 實戰篇
¨ 重點推薦篇
¨ 推薦篇
¡ 視頻學習篇
n Elastrsearch 學習篇
n 推薦系統 學習篇
n 競賽篇
n GCN_study學習篇
n ML 小白入門篇
n 資源篇
n CV 入門 實戰篇
介紹
【關於 論文工具】那些你不知道的事
l 問題
¡ 作為一名 scholar,你是否和我一樣,在剛入門 NLP 時,對於陌生領域有種無從下手,心存畏懼?
¡ 作為一名 scholar,你是否還在發愁如何找好的論文?
¡ 作為一名 scholar,你是否還在為 自己 的 英文閱讀 能力跟不上 很煩惱?
¡ 作為一名 scholar,你是否還在為 看到 一篇好paper,但是復現不出 code 而心累?
¡ 作為一名 scholar,你是否還在為 有Good idea,Outstanding Experimental results,Beautiful Chinese manuscript,結果 Bad English manuscript, Poor Journal 而奔潰?
¡ 作為一名 scholar,你是否在為搞科研沒人交流而自閉?
l 當你看到這一篇文檔,你將不在為這些問題而煩惱,因為我們為你準備了一整套免費的從 論文查找->論文翻譯->論文理解->相關代碼搜索->寫英文稿->科研學術交流 的路徑。
¡ 論文不會找怎麼辦?
n 頂會資訊
n 論文搜索和分析工具
¡ 外文讀不懂怎麼辦?
n 論文翻譯神器 ———— 通天塔
n 論文翻譯小助手 ———— 彩雲小譯
¡ 外文沒 code 怎麼辦?
n papers with code
n OpenGitHub 新項目快報
¡ 外文寫起來麻煩怎麼辦
n Overleaf
n Authorea
n Code ocean
¡ 搞科研沒人交流怎麼辦?
n Shortscience
n OpenReview
n Scirate
會議收集篇
l ACL2020
l SIGIR2020
NLP 學習篇
經典會議論文研讀篇
l ACL2020
¡ 【關於 CHECKLIST】 那些你不知道的事
n 閱讀理由:ACL2020 best paper ,利用 軟體工程 的 思想 思考 深度學習
n 動機:針對 train-val-test 分割方法 評估 模型性能容易出現 不全面、偏向性、可解性差問題;
n 方法:提出了一種模型無關和任務無關的測試方法checklist,它使用三種不同的測試類型來測試模型的獨立性。
n 效果:checklist揭示了大型軟體公司開發的商業系統中的關鍵缺陷,表明它是對當前實踐的補充好吧。測試使用 checklist 創建的模型可以應用於任何模型,這樣就可以很容易地將其納入當前的基準測試或評估中管道。
理論學習篇
經典論文研讀篇
l 那些你所不知道的事
¡ 【關於Transformer】 那些的你不知道的事
¡ 【關於Bert】 那些的你不知道的事
【關於 transformer 】 那些的你不知道的事
l 【關於Transformer】 那些的你不知道的事 transformer 論文學習
¡ 【關於Transformer】 那些的你不知道的事
i. 為什麼要有 Transformer?
ii. Transformer 作用是什麼?
iii. Transformer 整體結構怎麼樣?
iv. Transformer-encoder 結構怎麼樣?
v. Transformer-decoder 結構怎麼樣?
vi. 傳統 attention 是什麼?
vii. self-attention 長怎麼樣?
viii. self-attention 如何解決長距離依賴問題?
ix. self-attention 如何並行化?
x. multi-head attention 怎麼解?
xi. 為什麼要 加入 position embedding ?
xii. 為什麼要 加入 殘差模塊?
xiii. Layer normalization。Normalization 是什麼?
xiv. 什麼是 Mask?
xv. Transformer 存在問題?
xvi. Transformer 怎麼 Coding?
¡ 【關於 Transformer-XL】 那些的你不知道的事
n 動機
¨ RNN:主要面臨梯度消失或爆炸(gradient vanishing and explosion),解決方法集中在優化方法、初始化策略、輔助記憶單元的研究上。
¨ vanilla Transformer:最長建模長度是固定的,無法捕捉更長依賴關係;等長輸入序列的獲取通常沒有遵循句子或語義邊界(出於高效考慮,往往就是將文本按長度一段段截取,而沒有採用padding機制),可能造成上下文碎片化(context fragmentation)。
n 方法
¨ 引入循環機制(Reccurrence,讓上一segment的隱含狀態可以傳遞到下一個segment):將循環(recurrence)概念引入了深度自注意力網絡。不再從頭計算每個新segment的隱藏狀態,而是復用從之前segments中獲得的隱藏狀態。被復用的隱藏狀態視為當前segment的memory,而當前的segment為segments之間建立了循環連接(recurrent connection)。因此,超長依賴性建模成為了可能,因為信息可以通過循環連接來傳播。
¨ 提出一種新的相對位置編碼方法,避免絕對位置編碼在循環機制下的時序錯亂:從之前的segment傳遞信息也可以解決上下文碎片化的問題。更重要的是,本文展示了使用相對位置而不是用絕對位置進行編碼的必要性,這樣做可以在不造成時間混亂(temporal confusion)的情況下,實現狀態的復用。因此,作為額外的技術貢獻,文本引入了簡單但有效的相對位置編碼公式,它可以泛化至比在訓練過程中觀察到的長度更長的注意力長度。
¡ 【關於 SHA_RNN】 那些的你不知道的事
n 論文名稱:Single Headed Attention RNN: Stop Thinking With Your Head 單頭注意力 RNN: 停止用你的頭腦思考
¡ 【關於 Universal Transformers】 那些你不知道的事
¡ 【關於Style_Transformer】 那些你不知道的事
¡ 【關於 Linformer 】 那些你不知道的事
n 論文標題:《Linformer: Self-Attention with Linear Complexity》
n 來源:ACL 2020
n 連結:https://arxiv.org/abs/2006.04768
n 參考:https://zhuanlan.zhihu.com/p/149890569
¡ 【關於 Performer 】 那些你不知道的事 【推薦閱讀】
n 閱讀理由:Transformer 作者 Krzysztof Choromanski 針對 Transformer 問題的重新思考與改進
n 動機:Transformer 有著巨大的內存和算力需求,因為它構造了一個注意力矩陣,需求與輸入呈平方關係;
n 思路:使用一個高效的(線性)廣義注意力框架(generalized attention framework),允許基於不同相似性度量(核)的一類廣泛的注意力機制。
n 優點:該方法在保持線性空間和時間複雜度的同時準確率也很有保證,也可以應用到獨立的 softmax 運算。此外,該方法還可以和可逆層等其他技術進行互操作。
【關於 預訓練模型】 那些的你不知道的事
l 【關於Bert】 那些的你不知道的事:Bert論文研讀
¡ 【關於Bert】 那些的你不知道的事
n 閱讀理由:NLP 的 創世之作
n 動機:word2vec 的多義詞問題 && GPT 單向 Transformer && Elmo 雙向LSTM
n 介紹:Transformer的雙向編碼器
n 思路:
¨ 預訓練:Task 1:Masked LM && Task 2:Next Sentence Prediction
¨ 微調:直接利用 特定任務數據 微調
n 優點:NLP 所有任務上都刷了一遍 SOTA
n 缺點:
¨ [MASK]預訓練和微調之間的不匹配
¨ Max Len 為 512
¡ 【關於 XLNet 】 那些你不知道的事
n 閱讀理由:Bert 問題上的改進
n 動機:
¨ Bert 預訓練和微調之間的不匹配
¨ Bert 的 Max Len 為 512
n 介紹:廣義自回歸預訓練方法
n 思路:
¨ 預訓練:
¡ Permutation Language Modeling【解決Bert 預訓練和微調之間的不匹配】
¡ Two-Stream Self-Attention for Target-Aware Representations【解決PLM出現的目標預測歧義】
¡ XLNet將最先進的自回歸模型Transformer-XL的思想整合到預訓練中【解決 Bert 的 Max Len 為 512】
¨ 微調:直接利用 特定任務數據 微調
n 優點:
n 缺點:
¡ 【關於 RoBERTa】 那些你不知道的事
n 閱讀理由:Bert 問題上的改進
n 動機:
¨ 確定方法的哪些方面貢獻最大可能是具有挑戰性的
¨ 訓練在計算上是昂貴的的,限制了可能完成的調整量
n 介紹:A Robustly Optimized BERT Pretraining Approach
n 思路:
¨ 預訓練:
¡ 去掉下一句預測(NSP)任務
¡ 動態掩碼
¡ 文本編碼
¨ 微調:直接利用 特定任務數據 微調
n 優點:
n 缺點:
¡ 【關於 ELECTRA 】 那些的你不知道的事
n 閱讀理由:Bert 問題上的改進 【不推薦閱讀,存在注水!】
n 動機:
¨ 只有15%的輸入上是會有loss
n 介紹:判別器 & 生成器 【但是最後發現非 判別器 & 生成器】
n 思路:
¨ 預訓練:
¡ 利用一個基於MLM的Generator來替換example中的某些個token,然後丟給Discriminator來判別
¨ 微調:直接利用 特定任務數據 微調
n 優點:
n 缺點:
¡ 【關於 Perturbed Masking: Parameter-free Probing for Analyzing and Interpreting BERT】 那些你不知道的事
n 論文連結:https://arxiv.org/pdf/2004.14786.pdf
n 代碼連結:https://github.com/bojone/perturbed_masking
n 動機
¨ 通過引入少量的附加參數,probe learns 在監督方式中使用特徵表示(例如,上下文嵌入)來 解決特定的語言任務(例如,依賴解析)。這樣的probe tasks 的有效性被視為預訓練模型編碼語言知識的證據。但是,這種評估語言模型的方法會因 probe 本身所學知識量的不確定性而受到破壞
n Perturbed Masking
¨ 介紹:parameter-free probing technique
¨ 目標:analyze and interpret pre-trained models,測量一個單詞xj對預測另一個單詞xi的影響,然後從該單詞間信息中得出全局語言屬性(例如,依賴樹)。
n 整體思想很直接,句法結構,其實本質上描述的是詞和詞之間的某種關係,如果我們能從BERT當中拿到詞和詞之間相互「作用」的信息,就能利用一些算法解析出句法結構。
¡ 【關於 GRAPH-BERT】 那些你不知道的事)
n 論文名稱:GRAPH-BERT: Only Attention is Needed for Learning Graph Representations
n 論文地址:https://arxiv.org/abs/2001.05140
n 論文代碼:https://github.com/jwzhanggy/Graph-Bert
n 動機
¨ 傳統的GNN技術問題:
¡ 模型做深會存在suspended animation和over smoothing的問題。
¡ 由於 graph 中每個結點相互連接的性質,一般都是丟進去一個完整的graph給他訓練而很難用batch去並行化。
n 方法:提出一種新的圖神經網絡模型GRAPH-BERT (Graph based BERT),該模型只依賴於注意力機制,不涉及任何的圖卷積和聚合操作。Graph-Bert 將原始圖採樣為多個子圖,並且只利用attention機制在子圖上進行表徵學習,而不考慮子圖中的邊信息。因此Graph-Bert可以解決上面提到的傳統GNN具有的性能問題和效率問題。
¡ 【關於自訓練 + 預訓練 = 更好的自然語言理解模型 】 那些的你不知道的事)
n 論文標題:Self-training Improves Pre-training for Natural Language Understanding
n 論文地址:https://arxiv.org/abs/2010.02194
n 動機
¨ 問題一: do pre-training and self-training capture the same information, or are they complementary?
¨ 問題二: how can we obtain large amounts of unannotated data from specific domains?
n 方法
¨ 問題二解決方法:提出 SentAugment 方法 從 web 上獲取有用數據;
¨ 問題一解決方法:使用標記的任務數據訓練一個 teacher 模型,然後用它對檢索到的未標註句子進行標註,並基於這個合成數據集訓練最終的模型。
l 【關於 Bert 模型壓縮】 那些你不知道的事
¡ 【關於 Bert 模型壓縮】 那些你不知道的事
n 閱讀理由:Bert 在工程上問題上的改進
n 動機:
¨ 內存佔用;
¨ 功耗過高;
¨ 帶來很高的延遲;
¨ 限制了 Bert 系列模型在移動和物聯網等嵌入式設備上的部署;
n 介紹:BERT 瘦身來提升速度
n 模型壓縮思路:
¨ 低秩因式分解:在輸入層和輸出層使用嵌入大小遠小於原生Bert的嵌入大小,再使用簡單的映射矩陣使得輸入層的輸出或者最後一層隱藏層的輸出可以通過映射矩陣輸入到第一層的隱藏層或者輸出層;
¨ 跨層參數共享:隱藏層中的每一層都使用相同的參數,用多種方式共享參數,例如只共享每層的前饋網絡參數或者只共享每層的注意力子層參數。默認情況是共享每層的所有參數;
¨ 剪枝:剪掉多餘的連接、多餘的注意力頭、甚至LayerDrop[1]直接砍掉一半Transformer層
¨ 量化:把FP32改成FP16或者INT8;
¨ 蒸餾:用一個學生模型來學習大模型的知識,不僅要學logits,還要學attention score;
n 優點:BERT 瘦身來提升速度
n 缺點:
¨ 精度的下降
¨ 低秩因式分解 and 跨層參數共享 計算量並沒有下降;
¨ 剪枝會直接降低模型的擬合能力;
¨ 量化雖然有提升但也有瓶頸;
¨ 蒸餾的不確定性最大,很難預知你的BERT教出來怎樣的學生;
¡ 【關於 AlBert 】 那些你不知道的事
n 模型壓縮方法:低秩因式分解 + 跨層參數共享
n 模型壓縮方法介紹:
¨ 低秩因式分解:
¡ 動機:Bert的參數量大部分集中於模型的隱藏層架構上,在嵌入層中只有30,000詞塊,其所佔據的參數量只佔據整個模型參數量的小部分;
¡ 方法:將輸入層和輸出層的權重矩陣分解為兩個更小的參數矩陣;
¡ 思路:在輸入層和輸出層使用嵌入大小遠小於原生Bert的嵌入大小,再使用簡單的映射矩陣使得輸入層的輸出或者最後一層隱藏層的輸出可以通過映射矩陣輸入到第一層的隱藏層或者輸出層;
¡ 優點:在不顯著增加詞嵌入大小的情況下能夠更容易增加隱藏層大小;
¨ 參數共享【跨層參數共享】:
¡ 動機:隱藏層 參數 大小 一致;
¡ 方法:隱藏層中的每一層都使用相同的參數,用多種方式共享參數,例如只共享每層的前饋網絡參數或者只共享每層的注意力子層參數。默認情況是共享每層的所有參數;
¡ 優點:防止參數隨著網絡深度的增加而增大;
n 其他改進策略:
¨ 句子順序預測損失(SOP)代替Bert中的下一句預測損失(NSP):
¡ 動機:通過實驗證明,Bert中的下一句預測損失(NSP) 作用不大;
¡ 介紹:用預測兩個句子是否連續出現在原文中替換為兩個連續的句子是正序或是逆序,用於進一步提高下遊任務的表現
n 優點:參數量上有所降低;
n 缺點:其加速指標僅展示了訓練過程,由於ALBERT的隱藏層架構採用跨層參數共享策略並未減少訓練過程的計算量,加速效果更多來源於低維的嵌入層;
¡ 【關於 FastBERT】 那些你不知道的事
n 模型壓縮方法:知識蒸餾
n 模型壓縮方法介紹:
¨ 樣本自適應機制(Sample-wise adaptive mechanism)
¡ 思路:
n 在每層Transformer後都去預測樣本標籤,如果某樣本預測結果的置信度很高,就不用繼續計算了,就是自適應調整每個樣本的計算量,容易的樣本通過一兩層就可以預測出來,較難的樣本則需要走完全程。
¡ 操作:
n 給每層後面接一個分類器,畢竟分類器比Transformer需要的成本小多了
¨ 自蒸餾(Self-distillation)
¡ 思路:
n 在預訓練和精調階段都只更新主幹參數;
n 精調完後freeze主幹參數,用分支分類器(圖中的student)蒸餾主幹分類器(圖中的teacher)的概率分布
¡ 優點:
n 非蒸餾的結果沒有蒸餾要好
n 不再依賴於標註數據。蒸餾的效果可以通過源源不斷的無標籤數據來提升
¡ 【關於 distilbert】 那些你不知道的事
¡ 【關於 TinyBert】 那些你不知道的事
n 模型壓縮方法:知識蒸餾
n tinybert的創新點:學習了teacher Bert中更多的層數的特徵表示;
n 模型壓縮方法介紹:
¨ 基於transformer的知識蒸餾模型壓縮
¡ 學習了teacher Bert中更多的層數的特徵表示;
¡ 特徵表示:
n 詞向量層的輸出;
n Transformer layer的輸出以及注意力矩陣;
n 預測層輸出(僅在微調階段使用);
¨ bert知識蒸餾的過程
¡ 左圖:整體概括了知識蒸餾的過程
n 左邊:Teacher BERT;
n 右邊:Student TinyBERT
n 目標:將Teacher BERT學習到的知識遷移到TinyBERT中
¡ 右圖:描述了知識遷移的細節;
n 在訓練過程中選用Teacher BERT中每一層transformer layer的attention矩陣和輸出作為監督信息
l 【關於 Perturbed Masking】那些你不知道的事
¡ 論文:Perturbed Masking: Parameter-free Probing for Analyzing and Interpreting BERT
¡ 論文連結:https://arxiv.org/pdf/2004.14786.pdf
¡ 代碼連結:https://github.com/bojone/perturbed_masking
¡ 動機:通過引入少量的附加參數,probe learns 在監督方式中使用特徵表示(例如,上下文嵌入)來 解決特定的語言任務(例如,依賴解析)。這樣的probe tasks 的有效性被視為預訓練模型編碼語言知識的證據。但是,這種評估語言模型的方法會因 probe 本身所學知識量的不確定性而受到破壞。
¡ 方法介紹:
n Perturbed Masking
¨ 介紹:parameter-free probing technique
¨ 目標:analyze and interpret pre-trained models,測量一個單詞xj對預測另一個單詞xi的影響,然後從該單詞間信息中得出全局語言屬性(例如,依賴樹)。
¡ 思想:整體思想很直接,句法結構,其實本質上描述的是詞和詞之間的某種關係,如果我們能從BERT當中拿到詞和詞之間相互「作用」的信息,就能利用一些算法解析出句法結構。
【關於 信息抽取】 那些的你不知道的事
【關於 實體關係聯合抽取】 那些的你不知道的事
l 【關於 A Frustratingly Easy Approach for Joint Entity and Relation Extraction】 那些你不知道的事 【強烈推薦】
¡ 論文:A Frustratingly Easy Approach for Joint Entity and Relation Extraction
¡ 閱讀理由:反直覺!陳丹琦用pipeline方式刷新關係抽取SOTA
¡ 方法:建立兩個 encoders,並獨立訓練:
n encoder 1:entity model
¨ 方法:建立在 span-level representations 上
n encoder 2:relation model:只依賴於實體模型作為輸入特徵
¨ 方法:builds on contextual representations specific to a given pair of span
¡ 優點:
n 很簡單,但我們發現這種流水線方法非常簡單有效;
n 使用同樣的預先訓練的編碼器,我們的模型在三個標準基準(ACE04,ACE05,SciERC)上優於所有以前的聯合模型;
¡ 問題討論:
n Q1、關係抽取最care什麼?
¨ 解答:引入實體類別信息會讓你的關係模型有提升
n Q2、共享編碼 VS 獨立編碼 哪家強?
¨ 解答:由於兩個任務各自是不同的輸入形式,並且需要不同的特徵去進行實體和關係預測,也就是說:使用單獨的編碼器確實可以學習更好的特定任務特徵。
n Q3:誤差傳播不可避免?還是不存在?
¨ 解答:並不認為誤差傳播問題不存在或無法解決,而需要探索更好的解決方案來解決此問題
n Q4:Effect of Cross-sentence Context
¨ 解答:使用跨句上下文可以明顯改善實體和關係
l 【關於 實體關係聯合抽取】那些你不知道的事
l Incremental Joint Extraction of Entity Mentions and Relations
l 【關於 Joint NER】那些你不知道的事
¡ 論文名稱:Joint Extraction of Entities and Relations Based on a Novel Decomposition Strategy
l 【關於 GraphRel】 那些的你不知道的事
¡ 論文名稱:論文名稱:GraphRel: Modeling Text as Relational Graphs for Joint Entity and Relation Extraction
¡ 動機
n 想要自動提取特徵的聯合模型
¨ 通過堆疊Bi-LSTM語句編碼器和GCN (Kipf和Welling, 2017)依賴樹編碼器來自動學習特徵
¨ 用以考慮線性和依賴結構
¡ 類似於Miwa和Bansal(2016)(一樣是堆疊的)
n 方法
¨ 每個句子使用Bi-LSTM進行自動特徵學習
¨ 提取的隱藏特徵由連續實體標記器和最短依賴路徑關係分類器共享
n 問題
¨ 然而,在為聯合實體識別和關係提取引入共享參數時:
¡ 它們仍然必須將標記者預測的實體提及通過管道連接起來
¡ 形成關係分類器的提及對
¨ 考慮重疊關係
¨ 如何考慮關係之間的相互作用
¡ 2nd-phase relation-weighted GCN
¡ 重疊關係(常見)
n 情況
¨ 兩個三元組的實體對重合
¨ 兩個三元組都有某個實體mention
n 推斷
¨ 困難(對聯合模型尤其困難,因為連實體都還不知道)
n 方法:
¨ 學習特徵
¡ 通過堆疊Bi-LSTM語句編碼器和GCN (Kipf和Welling, 2017)依賴樹編碼器來自動學習特徵
¨ 第一階段的預測
¡ GraphRel標記實體提及詞,預測連接提及詞的關係三元組
¡ 用關係權重的邊建立一個新的全連接圖(中間圖)
¡ 指導:關係損失和實體損失
¨ 第二階段的GCN
¡ 通過對這個中間圖的操作
¡ 考慮實體之間的交互作用和可能重疊的關係
¡ 對每條邊進行最終分類
¡ 在第二階段,基於第一階段預測的關係,我們為每個關係構建完整的關係圖,並在每個圖上應用GCN來整合每個關係的信息,進一步考慮實體與關係之間的相互作用。
l 【關於 HBT】 那些的你不知道的事
¡ 論文名稱:A Novel Hierarchical Binary Tagging Framework for Relational Triple Extraction
¡ 動機:
n pipeline approach
¨ 思路
¡ 識別句子中的所有實體;
¡ 對每個實體對執行關係分類。
¨ 問題
¡ 由於早期階段的錯誤無法在後期階段進行糾正,因此這種方法容易遭受錯誤傳播問題的困擾。
n feature-based models and neural network-based models
¨ 思路
¡ 通過用學習表示替換人工構建的特徵,基於神經網絡的模型在三重提取任務中取得了相當大的成功。
¨ 問題
¡ 大多數現有方法無法正確處理句子包含多個相互重疊的關係三元組的情況。
n 基於Seq2Seq模型 and GCN
¨ 思路:提出了具有複製機制以提取三元組的序列到序列(Seq2Seq)模型。他們基於Seq2Seq模型,進一步研究了提取順序的影響,並通過強化學習獲得了很大的改進。
¨ 問題:它們都將關係視為要分配給實體對的離散標籤。這種表述使關係分類成為硬機器學習問題。首先,班級分布高度不平衡。在所有提取的實體對中,大多數都不形成有效關係,從而產生了太多的否定實例。其次,當同一實體參與多個有效關係(重疊三元組)時,分類器可能會感到困惑。沒有足夠的訓練示例,分類器就很難說出實體參與的關係。結果,提取的三元組通常是不完整且不準確的。
¡ 方法:
n 首先,我們確定句子中所有可能的 subjects;
n 然後針對每個subjects,我們應用特定於關係的標記器來同時識別所有可能的 relations 和相應的 objects。
【關於 命名實體識別】那些你不知道的事:
l 【關於 LEX-BERT】 那些你不知道的事【強烈推薦】
¡ 推薦理由:在 query 中 引入 標籤信息的方法,秒殺 Flat NER,登上 2021 年 Chinese NER SOTA。
¡ 論文名稱:《Lex-BERT: Enhancing BERT based NER with lexicons》
¡ 動機:儘管它在NER任務中的表現令人印象深刻,但最近已經證明,添加詞彙信息可以顯著提高下遊性能。然而,沒有任何工作在不引入額外結構的情況下將單詞信息納入BERT。在我們的工作中,我們提出了詞法BERT(lex-bert),這是一種在基於BERT的NER模型中更方便的詞彙借用方法
¡ 方法:
n LEX-BERT V1:Lex BERT的第一個版本通過在單詞的左右兩側插入特殊標記來識別句子中單詞的 span。特殊標記不僅可以標記單詞的起始位置和結束位置,還可以為句子提供實體類型信息
n LEX-BERT V2:對於在句子中加寬的單詞,我們沒有在句子中單詞的周圍插入起始和結束標記,而是在句子的末尾附加一個標記[x]。請注意,我們將標記的位置嵌入與單詞的起始標記綁定
l 【關於 Biaffine Ner 】 那些你不知道的事
¡ 動機:NER 研究 關注於 扁平化NER,而忽略了 實體嵌套問題;
¡ 方法:在本文中,我們使用基於圖的依存關係解析中的思想,以通過 biaffine model 為模型提供全局的輸入視圖。biaffine model 對句子中的開始標記和結束標記對進行評分,我們使用該標記來探索所有跨度,以便該模型能夠準確地預測命名實體。
¡ 工作介紹:在這項工作中,我們將NER重新確定為開始和結束索引的任務,並為這些對定義的範圍分配類別。我們的系統在多層BiLSTM之上使用biaffine模型,將分數分配給句子中所有可能的跨度。此後,我們不用構建依賴關係樹,而是根據候選樹的分數對它們進行排序,然後返回符合 Flat 或 Nested NER約束的排名最高的樹 span;
¡ 實驗結果:我們根據三個嵌套的NER基準(ACE 2004,ACE 2005,GENIA)和五個扁平的NER語料庫(CONLL 2002(荷蘭語,西班牙語),CONLL 2003(英語,德語)和ONTONOTES)對系統進行了評估。結果表明,我們的系統在所有三個嵌套的NER語料庫和所有五個平坦的NER語料庫上均取得了SoTA結果,與以前的SoTA相比,實際收益高達2.2%的絕對百分比。
l 【關於 NER trick】 那些你不知道的事
l 【關於TENER】 那些你不知道的事
¡ 論文名稱:TENER: Adapting Transformer Encoder for Name Entity Recognition
¡ 動機:
n 1. Transformer 能夠解決長距離依賴問題;
n 2. Transformer 能夠並行化;
n 3. 然而,Transformer 在 NER 任務上面效果不好。
¡ 方法:
n 第一是經驗發現。引入:相對位置編碼
n 第二是經驗發現。香草變壓器的注意力分布是縮放且平滑的。但是對於NER,因為並非所有單詞都需要參加,所以很少注意是合適的。給定一個當前單詞,只需幾個上下文單詞就足以判斷其標籤。平穩的注意力可能包括一些嘈雜的信息。因此,我們放棄了點生產注意力的比例因子,而使用了無比例且敏銳的注意力。
l 【關於DynamicArchitecture】 那些你不知道的事
¡ 介紹:Dynamic Architecture範式通常需要設計相應結構以融入詞彙信息。
¡ 論文:
n 【關於 LatticeLSTM 】那些你不知道的事
¨ 想法:在 char-based 的 LSTM 中引入詞彙信息
¨ 做法:
¡ 根據大量語料生成詞典;
¡ 若當前字符與前面的字符無法組成詞典中詞彙,則按 LSTM 的方法更新記憶狀態;
¡ 若當前字符與前面的字符組成詞典中詞彙,從最新詞彙中提取信息,聯合更新記憶狀態;
¨ 存在問題:
¡ 計算性能低下,導致其不能充分利用GPU進行並行化。究其原因主要是每個字符之間的增加word cell(看作節點)數目不一致;
¡ 信息損失:
n 1)每個字符只能獲取以它為結尾的詞彙信息,對於其之前的詞彙信息也沒有持續記憶。如對於「大」,並無法獲得『inside』的「長江大橋」信息。
n 2)由於RNN特性,採取BiLSTM時其前向和後向的詞彙信息不能共享,導致 Lattice LSTM 無法有效處理詞彙信息衝突問題
¡ 可遷移性差:只適配於LSTM,不具備向其他網絡遷移的特性。
n 【關於 LR-CNN 】那些你不知道的事
¨ 動機
¡ 詞信息引入問題;
n lattice LSTM 問題:
¨ 基於 RNN 結構方法不能充分利用 GPU 並行計算資源;
¡ 針對句子中字符計算;
¡ 針對匹配詞典中潛在詞
¨ 很難處理被合併到詞典中的潛在單詞之間的衝突:
¡ 一個字符可能對應詞典中多個潛在詞,誤導模型
n 方法:
¡ Lexicon-Based CNNs:採取CNN對字符特徵進行編碼,感受野大小為2提取bi-gram特徵,堆疊多層獲得multi-gram信息;同時採取注意力機制融入詞彙信息(word embed);
¡ Refining Networks with Lexicon Rethinking:由於上述提到的詞彙信息衝突問題,LR-CNN採取rethinking機制增加feedback layer來調整詞彙信息的權值:具體地,將高層特徵作為輸入通過注意力模塊調節每一層詞彙特徵分布,利用這種方式來利用高級語義來完善嵌入單詞的權重並解決潛在單詞之間的衝突。
n 【關於 CGN 】那些你不知道的事
¨ 動機
¡ 中文命名實體識別中,詞邊界 問題;
¡ 如何 引入 詞邊界信息:
n pipeline:CWS -> NER
¨ 問題:誤差傳遞
n CWS 和 NER 聯合學習
¨ 問題:標註 CWS 數據
n 利用 詞典 自動構建
¨ 優點:比 CWS 標註數據 更容易獲得
¨ 問題:
¡ 第一個挑戰是整合自我匹配的詞彙詞;
n 舉例:「北京機場」 (Beijing Airport) and 「機場」 (Airport) are the self-matched words of the character 「機」 (airplane)
¡ 第二個挑戰是直接整合最接近的上下文詞彙詞;
n 舉例:by directly using the semantic knowledge of the nearest contextual words 「離開」 (leave), an 「I-PER」 tag can be predicted instead of an 「I-ORG」 tag, since 「?希爾頓」 (Hilton Hotels) cannot be taken as the subject of the verb 「離開」
¡ 論文思路:
n character-based Collaborative Graph:
¨ encoding layer:
¡ 句子信息:
n s1:將 char 表示為 embedding;
n s2:利用 biLSTM 捕獲 上下文信息
¡ lexical words 信息:
n s1:將 lexical word 表示為 embedding;
¡ 合併 contextual representation 和 word embeddings
¨ a graph layer:
¡ Containing graph (C-graph):
n 思路:字與字之間無連接,詞與其inside的字之間有連接;
n 目的:幫助 字符 捕獲 self-matched lexical words 的邊界和語義信息
¡ Transition graph (T-graph):
n 思路:相鄰字符相連接,詞與其前後字符連接;
n 目的:幫助 字符 捕獲 相鄰 上下文 lexical 詞 的 語義信息
¡ Lattice graph (L-graph):
n 思路:通相鄰字符相連接,詞與其開始結束字符相連;
n 目的:融合 lexical knowledge
¡ GAT:
n 操作:針對三種圖,使用Graph Attention Network(GAN)來進行編碼。最終每個圖的輸出
n > 其中 為第k個圖的GAN表示,因為是基於字符級的序列標註,所以解碼時只關注字符,因此從矩陣中取出前n行作為最終的圖編碼層的輸出。
¨ a fusion layer:
¡ 目的:融合 三種 graphs 中不同 的 lexical 知識
¨ a decoding layer:
¡ 操作:利用 CRF 解碼
n 【關於 LGN 】那些你不知道的事
¨ 動機:
¡ 在 char-base Chinese NER 中,同一個字符可能屬於多個 lexicon word,存在 overlapping ambiguity 問題
n 舉例(如下圖)
¨ 字符流 和 流經;
¡ Lattice LSTM這種RNN結構僅僅依靠前一步的信息輸入,而不是利用全局信息
n 舉例
¨ 字符 度 信息,從而造成標註衝突問題
¡ Ma等人於2014年提出,想解決overlapping across strings的問題,需要引入「整個句子中的上下文」以及「來自高層的信息」;然而,現有的基於RNN的序列模型,不能讓字符收到序列方向上 remain characters 的信息;
¨ 方法:
¡ Graph Construction and Aggregation
¡ Graph Construction
¡ Local Aggregation
¡ Global Aggregation
¡ Recurrent-based Update Module
n 【關於 FLAT】 那些你不知道的事
¨ 動機
¡ 方法一:設計一個動態框架,能夠兼容詞彙輸入;
n 代表模型:
¨ Lattice LSTM:利用額外的單詞單元編碼可能的單詞,並利用注意力機制融合每個位置的變量節點
¨ LR-CNN:採用不同窗口大小的卷積核來編碼 潛在詞
n 問題:
¨ RNN 和 CNN 難以解決長距離依賴問題,它對於 NER 是有用的,例如:coreference(共指)
¨ 無法充分利用 GPU 的並行計算能力
¡ 方法二:將 Lattice 轉化到圖中並使用 GNN 進行編碼:
n 代表模型
¨ Lexicon-based GN(LGN)
¨ Collaborative GN(CGN)
n 問題
¨ 雖然順序結構對於NER仍然很重要,並且 Graph 是一般的對應物,但它們之間的差距不可忽略;
¨ 需要使用 LSTM 作為底層編碼器,帶有順序感性偏置,使模型變得複雜。
¨ 方法:將Lattice結構展平,將其從一個有向無環圖展平為一個平面的Flat-Lattice Transformer結構,由多個span構成:每個字符的head和tail是相同的,每個詞彙的head和tail是skipped的。
l 【關於 ACL 2019 中的NER】那些你不知道的事
¡ named entity recognition using positive-unlabeled learning
¡ 【關於 GraphRel】那些你不知道的事
n 論文名稱:GraphRel: Modeling Text as Relational Graphs for Joint Entity and Relation Extraction
¡ Fine-Grained Entity Typing in Hyperbolic Space(在雙曲空間中打字的細粒度實體)
¡ 【關於 TENER】那些你不知道的事
n 論文名稱:TENER: Adapting Transformer Encoder for Name Entity Recognition
l 【關於 EMNLP 2019 中的NER】那些你不知道的事
¡ CrossWeigh從不完善的注釋中訓練命名實體標註器
¡ 利用詞彙知識通過協同圖網絡進行中文命名實體識別
¡ 一點注釋對引導低資源命名實體識別器有很多好處
【關於 關係抽取】那些你不知道的事:
l End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures【2016】
l 【關於 ERNIE】那些你不知道的事
l 【關於 GraphRel】那些你不知道的事
l 【關於 R_BERT】那些你不知道的事
l 【關於 Task 1:全監督學習】那些你不知道的事
¡ Relation Classification via Convolutional Deep Neural Network
¡ Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification
¡ Relation Classification via Attention Model
l 【關於 Task 2:遠程監督學習】那些你不知道的事
¡ Relation Classification via Convolutional Deep Neural Network
¡ NRE_with_Selective_Attention_over_Instances
【關於 文檔級別關係抽取】那些你不知道的事
l 【關於 Double Graph Based Reasoning for Document-level Relation Extraction】 那些的你不知道的事
【關於 知識圖譜 】 那些的你不知道的事
【實體鏈指篇】
l 【關於 Low-resource Cross-lingual Entity Linking】 那些你不知道的事
¡ 論文名稱:Design Challenges in Low-resource Cross-lingual Entity Linking
¡ 論文地址:https://arxiv.org/pdf/2005.00692.pdf
¡ 來源:EMNLP 2020
l 【關於 GENRE】 那些你不知道的事
¡ 論文名稱:AUTOREGRESSIVE ENTITY RETRIEVAL
¡ 論文地址:https://openreview.net/pdf?id=5k8F6UU39V
¡ 來源:EMNLP 2020
【【關於 實體消歧 】 那些的你不知道的事】
l 【關於 DeepType 】 那些的你不知道的事
¡ 論文:DeepType: Multilingual Entity Linking by Neural Type System Evolution
¡ 論文地址:https://arxiv.org/abs/1802.01021
¡ github:https://github.com/openai/deeptype
【【關於KGQA 】 那些的你不知道的事】
l 【關於KGQA 】 那些的你不知道的事
¡ 一、基於詞典和規則的方法
¡ 二、基於信息抽取的方法
l 【關於 Multi-hopComplexKBQA 】 那些你不知道的事
¡ 論文:Lan Y, Jiang J. Query Graph Generation for Answering Multi-hop Complex Questions from Knowledge Bases[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. 2020: 969-974.
¡ 會議:ACL2020
¡ 連結:https://www.aclweb.org/anthology/2020.acl-main.91/
¡ 代碼:https://github.com/lanyunshi/Multi-hopComplexKBQA
【【關於Neo4j 】 那些的你不知道的事】
l 一、數據導入
【關於 細粒度情感分析】 那些的你不知道的事
l 【關於 LCF】 那些的你不知道的事
¡ 論文名稱:A Local Context Focus Mechanism for Aspect-Based Sentiment Classification
¡ 論文動機:沒有考慮情感極性和局部上下文間關係
n LCF:利用自注意力機制同時捕獲局部上下文特徵和全局上下文特徵,以推斷 targeted aspect 的情感極性
n SRD:評估上下文詞與 aspect 間的獨立性,SRD對於弄清局部上下文具有重要意義,並且SRD閾值中的上下文單詞的特徵將得到保留和重點關注。
n CDM 和 CDW 層:強化 LCF,使其對 特殊 aspest 的局部上下文提供 更多 注意力。CDM層通過掩蓋語義相對較少的上下文詞的輸出表示,將重點放在局部上下文上。CDW 層根據 SRD 削弱語義相對較少的上下文詞的特徵;
【關於 主動學習】 那些的你不知道的事
l 【關於 Proactive Learning for Named Entity Recognition(命名實體識別的主動學習)】 那些的你不知道的事
【關於 對抗訓練】 那些的你不知道的事
l 【關於 生成對抗網絡 GAN 】 那些的你不知道的事
l 【關於 FreeLB 】 那些的你不知道的事
¡ 論文名稱: FreeLB: Enhanced Adversarial Training for Language Understanding 加強語言理解的對抗性訓練
¡ 動機:對抗訓練使保留標籤的輸入擾動的最大風險最小,對於提高語言模型的泛化能力是有效的。
¡ 方法:提出了一種新的對抗性訓練算法—— freeb,它通過在字嵌入中添加對抗性的幹擾,最小化輸入樣本周圍不同區域內的對抗性風險,從而提高嵌入空間的魯棒性和不變性。
【關於 GCN in NLP 】那些你不知道的事:
l 【關於 GCN in NLP 】那些你不知道的事
¡ 構圖方法:
n 句法依賴樹;
n TF-IDF;
n PMI;
n 序列關係;
n 詞典
【關於 文本預處理】 那些的你不知道的事
l 【關於 過採樣】 那些的你不知道的事
【關於問答系統】 那些的你不知道的事
l 【關於 FAQ Trick】那些你不知道的事
l 【關於 文本匹配和多輪檢索】那些你不知道的事
l 【關於 FAQ】那些你不知道的事
¡ 【關於 LCNQA】那些你不知道的事
n 論文名稱:Lattice CNNs for Matching Based Chinese Question Answering
¡ LSTM-based Deep Learning Models for Non-factoid Answer Selection
¡ 【關於 Denoising Distantly Supervised ODQA】那些你不知道的事
n 論文名稱:Denoising Distantly Supervised Open-Domain Question Answering
¡ FAQ retrieval using query-question similarity and BERT-based query-answer relevance
¡ 【DC-BERT】 那些的你不知道的事
n 論文名稱:DC-BERT : DECOUPLING QUESTION AND DOCUMENT FOR EFFICIENT CONTEXTUAL ENCODING
l 【關於 KBFAQ】那些你不知道的事
l 【關於 MulFAQ】那些你不知道的事
¡ 【關於 MSN】 那些你不知道的事
n 論文名稱:Multi-hop Selector Network for Multi-turn Response Selection in Retrieval-based chatbots
n 論文地址:https://www.aclweb.org/anthology/D19-1011.pdf
n 論文項目:https://github.com/chunyuanY/Dialogue
n 動機:
¨ 1. 上下文拼接問題:將候選回復與上下文utterance在多粒度級別進行匹配,這種方式忽略了使用過多的上下文信息帶來副作用。
¨ 2. 根據直接,一般來說距離回復越近的utterance,越能夠反應最終輪對話的意圖。所以,我們首先使用最後一個utterance作為key去選擇word級別和sentence級別上相關的上下文回復。然而,我們發現許多樣本中最後一個utterance都是一些短句並且很多都是無效信息(比如good, ok)
n 方法:提出一種多跳選擇網絡(multi-hop selector network, MSN)
¨ s1 :採用 多跳選擇器從 上下文集 中 選取最相關的上下文 utterances,並生成 k 個 不同的上下文;
¨ s2 : 融合 k 個 上下文 utterance ,並與候選回復做匹配;
¨ s3 : 匹配截取,採用 CNN 提取匹配特徵,並 用 GRU 學習 utterance 間的臨時關係;
【關於 文本摘要】 那些的你不知道的事
l 【關於 Bertsum】 那些的你不知道的事 【推薦閱讀】
¡ 論文名稱:Fine-tune BERT for Extractive Summarization
¡ 會議:EMNLP2019
¡ Bert 在抽取式文本摘要中的應用
n 問題:
¨ 如何獲得每個句子向量?
¨ 如何將向量用於二分類問題?
¨ 如何判斷每個句子的去留?
¡ 思路:定義文檔, 表示文檔中的第個句子,Extractive summarization 定義為 給每個分配一個標籤,用於判斷該句子是否包含於 摘要 中。
n 方法介紹
¨ Extractive Summarization with BERT
¡ 動機:
n Bert 作為 一個 masked-language model,輸出向量基於標記而不是句子;
n Bert 只包含 兩個標籤(sentence A or sentence B),而不是多個句子;
¡ 方法
n Encoding Multiple Sentences:在每個句子之前插入一個CLS token
n Interval Segment Embeddings
¨ 我們使用區間段嵌入來區分文檔中的多個句子。
例如:對於$sent_1,sent_2,sent_3,sent_4,sent_5
由向量 表示,是來自頂部BERT層的第個[CLS]符號的向量。
l 【關於Pointer-Generator Networks 指針網絡】 那些的你不知道的事
¡ 論文名稱:Get To The Point: Summarization with Pointer-Generator Networks
¡ 會議:ACL2017
¡ 動機:
n 文本摘要類別
¨ extractive 抽取式
¡ 方式:直接從原文抽取一些段落
¡ 優點:簡單
¡ 問題:無法生成高質量的摘要,因為不具備一些複雜的摘要能力(如釋義(paraphasing), 概括(generalization), 與現實世界知識的融合(incorporation of real-world knowledge))
¨ abstractive 生成式
¡ 方式:根據長文本 生成 摘要
¡ 代表:seq2sq架構
¡ 問題:
n 難以準確複述原文細節;
n 無法處理原文中的未登錄詞(OOV);
n 在生成的摘要中存在一些重複的部分;
¡ 方法:
n 編碼器(encoder)
¨ 方式:BiLSTM
¨ 作用:將文章中每個詞的詞向量編碼為 隱狀態 ht
n 解碼器(decoder)
¨ 方式:單向 LSTM
¨ 作用:每一時刻 t,將上一時刻 生成 的 詞的詞向量作為輸入,得到 Decoder Hidden State st,該狀態被用於計算attention分布和詞的預測
n Attention
¨ 作用:每個時間步t,考慮當前序列的注意力分布,注意力分布用於生成編碼器隱藏狀態的加權總和,轉化為上下文向量,與解碼器t時刻的隱狀態進行concatenated然後餵到兩個線性層來計算詞彙分布P(一個固定維度的向量,每個維度代表被預測詞的概率,取argmax就能得到預測的單詞)。
¨ 目的:告訴模型在當前步的預測過程中,原文中的哪些詞更重要
【關於 文本匹配】 那些的你不知道的事
l 【關於 語義相似度匹配任務中的 BERT】 那些你不知道的事 【推薦閱讀】
¡ 閱讀理由:BERT 在 語義相似度匹配任務 中的應用,可以由很多種方式,然而,你真的了解這些方式的區別和優缺點麼?
¡ 動機:BERT 在 語義相似度匹配任務 中的應用,可以常用 Sentence Pair Classification Task:使用 [CLS]、cosine similairity、sentence/word embedding、siamese network 方法,那麼哪種是最佳的方式呢?你是否考慮過呢?
l 【關於 MPCNN】 那些你不知道的事
¡ 論文:Multi-Perspective Sentence Similarity Modeling with Convolution Neural Networks
l 【關於 RE2】 那些你不知道的事
¡ 論文:Simple and Effective Text Matching with Richer Alignment Features
¡ 動機: 可以使用多個序列間比對層構建更強大的模型。 代替基於單個對準過程的比較結果進行預測,具有多個對準層的堆疊模型將保持其中間狀態並逐漸完善其預測。但是,由於底層特徵的傳播效率低下和梯度消失,這些更深的體系結構更難訓練。
¡ 介紹:一種快速強大的神經體系結構,具有用於通用文本匹配的多個對齊過程。我們對以前文獻中介紹的文本匹配方法中許多慢速組件的必要性提出了質疑,包括複雜的多向對齊機制,對齊結果的大量提煉,外部句法特徵或當模型深入時用於連接堆疊塊的密集連接。這些設計選擇會極大地減慢模型的速度,並且可以用重量更輕且效果相同的模型代替。同時,我們重點介紹了有效文本匹配模型的三個關鍵組成部分。這些組件(名稱為RE2代表)是以前的對齊特徵(殘差矢量),原始點向特徵(嵌入矢量)和上下文特徵(編碼矢量)。其餘組件可能儘可能簡單,以保持模型快速,同時仍能產生出色的性能。
l 【關於 DSSM】 那些你不知道的事
¡ 論文:Deep Structured Semantic Model
¡ 論文會議:CIKM2013
¡ 問題:語義相似度問題
n 字面匹配體現
¨ 召回:在召回時,傳統的文本相似性如 BM25,無法有效發現語義類 Query-Doc 結果對,如"從北京到上海的機票"與"攜程網"的相似性、"快遞軟體"與"菜鳥裹裹"的相似性
¨ 排序:在排序時,一些細微的語言變化往往帶來巨大的語義變化,如"小寶寶生病怎麼辦"和"狗寶寶生病怎麼辦"、"深度學習"和"學習深度";
n 使用 LSA 類模型進行語義匹配,但是效果不好
¡ 思路:
n 利用 表示層 將 Query 和 Title 表達為低維語義向量;
n 通過 cosine 距離來計算兩個語義向量的距離,最終訓練出語義相似度模型。
¡ 優點
n 減少切詞的依賴:解決了LSA、LDA、Autoencoder等方法存在的一個最大的問題,因為在英文單詞中,詞的數量可能是沒有限制,但是字母 n-gram 的數量通常是有限的
n 基於詞的特徵表示比較難處理新詞,字母的 n-gram可以有效表示,魯棒性較強;
n 傳統的輸入層是用 Embedding 的方式(如 Word2Vec 的詞向量)或者主題模型的方式(如 LDA 的主題向量)來直接做詞的映射,再把各個詞的向量累加或者拼接起來,由於 Word2Vec 和 LDA 都是無監督的訓練,這樣會給整個模型引入誤差,DSSM 採用統一的有監督訓練,不需要在中間過程做無監督模型的映射,因此精準度會比較高;
n 省去了人工的特徵工程;
¡ 缺點
n word hashing可能造成衝突
n DSSM採用了詞袋模型,損失了上下文信息
n 在排序中,搜尋引擎的排序由多種因素決定,由於用戶點擊時doc的排名越靠前,點擊的概率就越大,如果僅僅用點擊來判斷是否為正負樣本,噪聲比較大,難以收斂
l 【關於 ABCNN 】那些你不知道的事
¡ 論文:ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs
¡ 會議:TACL 2016
¡ 論文方法:採用了CNN的結構來提取特徵,並用attention機制進行進一步的特徵處理,作者一共提出了三種attention的建模方法
l 【關於 ESIM 】那些你不知道的事
¡ 論文:Enhanced LSTM for Natural Language Inference
¡ 會議:TACL2017
¡ 自然語言推理(NLI: natural language inference)問題:
n 即判斷能否從一個前提p中推導出假設h
n 簡單來說,就是判斷給定兩個句子的三種關係:蘊含、矛盾或無關
¡ 論文方法:
n 模型結構圖分為左右兩邊:
n 左側就是 ESIM,
n 右側是基於句法樹的 tree-LSTM,兩者合在一起交 HIM (Hybrid Inference Model)。
n 整個模型從下往上看,分為三部分:
¨ input encoding;
¨ local inference modeling;
¨ inference composition;
¨ Prediction
l 【關於 BiMPM 】那些你不知道的事
¡ 論文:Bilateral multi-perspective matching for natural language sentences
¡ 會議:IJCAI2017
¡ 方法:
n Word Representation Layer:其中詞表示層使用預訓練的Glove或Word2Vec詞向量表示, 論文中還將每個單詞中的字符餵給一個LSTM得到字符級別的字嵌入表示, 文中使用兩者構造了一個dd維的詞向量表示, 於是兩個句子可以分別表示為 P:p1,⋯,pm.
n Context Representation Layer: 上下文表示層, 使用相同的雙向LSTM來對兩個句子進行編碼. 分別得到兩個句子每個時間步的輸出.
n Matching layer: 對兩個句子PP和QQ從兩個方向進行匹配, 其中⊗⊗表示某個句子的某個時間步的輸出對另一個句子所有時間步的輸出進行匹配的結果. 最終匹配的結果還是代表兩個句子的匹配向量序列.
n Aggregation Layer: 使用另一個雙向LSTM模型, 將兩個匹配向量序列兩個方向的最後一個時間步的表示(共4個)進行拼接, 得到兩個句子的聚合表示.
l Prediction Layer: 對拼接後的表示, 使用全連接層, 再進行softmax得到最終每個標籤的概率.
l 【關於 DIIN 】那些你不知道的事
¡ 論文:Densely Interactive Inference Network
¡ 會議:TACL2017
¡ 模型主要包括五層:嵌入層(Embedding Layer)、編碼層(Encoding Layer)、交互層(Interaction Layer )、特徵提取層(Feature Extraction Layer)和輸出層(Output Layer)
l 【關於 DC-BERT】 那些你不知道的事
¡ 論文名稱:DC-BERT : DECOUPLING QUESTION AND DOCUMENT FOR EFFICIENT CONTEXTUAL ENCODING
¡ 閱讀理由:Bert 在 QA 上面的應用
¡ 動機:Bert 無法處理傳入問題的高吞吐量,每個問題都有大量檢索到的文檔;
¡ 論文方法:具有雙重BERT模型的解耦上下文編碼框架:
n 一個在線BERT,僅對問題進行一次編碼;
n 一個正式的BERT,對所有文檔進行預編碼並緩存其編碼;
l 【關於 tBERT 】那些你不知道的事
¡ 論文:tBERT: Topic Models and BERT Joining Forces for Semantic Similarity Detection
¡ 會議:ACL2020
¡ 論文地址:https://www.aclweb.org/anthology/2020.acl-main.630/
¡ 論文代碼:https://github.com/wuningxi/tBERT
¡ 動機:未存在將主題模型和BERT結合的方法。語義相似度檢測是自然語言的一項基本任務理解。添加主題信息對於以前的特徵工程語義相似性模型和神經網絡模型都是有用的其他任務。在那裡目前還沒有標準的方法將主題與預先訓練的內容表示結合起來比如 BERT。
¡ 方法:我們提出了一種新穎的基於主題的基於BERT的語義相似度檢測體系結構,並證明了我們的模型在不同的英語語言數據集上的性能優於強神經基線。我們發現在BERT中添加主題特別有助於解決特定領域的情況。
【關於 機器翻譯】 那些的你不知道的事
l Neural Machine Translation of Rare Words with Subword Units 論文學習
【關於 文本生成】 那些的你不知道的事
l 【關於 SLCVAE 安裝 】那些你不知道的事
【關於 實體消歧】 那些的你不知道的事
l 【關於 DeepType】 那些你不知道的事
¡ 閱讀理由:這篇論文屬於 實體消歧 領域 比較經典的論文,而且調研了很多相關競賽,很多 Top 大佬 都會用到它,所以想學習一下!【目前還沒看完!!!】
【關於 對話系統】 那些的你不知道的事
1. 【關於 Domain/Intent Classification 】那些你不知道的事
2. 【關於 槽位填充 (Slot Filling)】那些你不知道的事
3. 【關於 上下文LU】那些你不知道的事
4. 【關於 自然語言生成NLG 】那些你不知道的事
5. 【關於 DSTC 】那些你不知道的事
6. 【關於 E2E 】那些你不知道的事
a. 【關於 TC_Bot(End-to-End Task-Completion Neural Dialogue Systems) 】那些你不知道的事
【關於 Rasa 】 那些的你不知道的事
1. 【關於 rasa 安裝 】那些你不知道的事
2. 【關於 rasa 基本架構 】那些你不知道的事
3. 【關於 rasa中文對話系統】那些你不知道的事
4. 【關於 rasa中文對話系統構建】那些你不知道的事
5. 【關於 rasa->NLU 】那些你不知道的事
6. 【關於 rasa -> Core -> FormAction 】那些你不知道的事
7. 【關於 rasa -> Core -> Stories 】那些你不知道的事
8. 【關於 rasa -> Core -> Action 】那些你不知道的事
【關於 半監督學習】 那些的你不知道的事
l Unsupervised Data Augmentation (UDA)
¡ 【關於 UDA】 那些你不知道的事
n 閱讀理由:UDA(Unsupervised Data Augmentation 無監督數據增強)是Google在2019年提出的半監督學習算法。該算法超越了所有現有的半監督學習方法,並實現了僅使用極少量標記樣本即可達到使用大量標記樣本訓練集的精度。
n 動機:深度學習的模型訓練通常依賴大量的標籤數據,在只有少量數據上通常表現不好;
n 思路:提出了一種基於無監督數據的數據增強方式UDA(Unsupervised Data Augmentation)。UDA方法生成無監督數據與原始無監督數據具備分布的一致性,而以前的方法通常只是應用高斯噪聲和dropout噪聲(無法保證一致性)。UDA方法利用了一種目前為止最優的方法生成更加「真實」的數據。
n 優點:使用這種數據增強方法,在極少量數據集上,六種語言任務和三種視覺任務都得到了明顯的提升。
l 【關於 「髒數據」處理】那些你不知道的事
¡ 一、動機
n 1.1 何為「髒數據」?
n 1.2 「髒數據」 會帶來什麼後果?
¨ 二、「髒數據」 處理篇
n 2.1 「髒數據」 怎麼處理呢?
n 2.2 置信學習方法篇
¨ 2.2.1 什麼是 置信學習方法?
¨ 2.2.2 置信學習方法 優點?
¨ 2.2.3 置信學習方法 怎麼做?
¨ 2.2.4 置信學習方法 怎麼用?有什麼開源框架?
¨ 2.2.5 置信學習方法 的工作原理?
【關於 NLP分類任務】那些你不知道的事
l 【關於 NLP分類任務】那些你不知道的事
l 【關於 Knowledge in TextCNN】那些你不知道的事
¡ 論文:Combining Knowledge with Deep Convolutional Neural Networks for Short Text Classification
¡ github:https://zhuanlan.zhihu.com/p/183852900
¡ 介紹:文本分類是NLP應用程式中的一項基本任務。現有的大多數工作都依靠顯式或隱式文本表示來解決此問題。
¡ 問題:雖然這些技術對句子很有效,但由於其簡短和稀疏,因此無法輕鬆地應用於短文本。
¡ 方法:提出了一個基於卷積神經網絡的框架,該框架結合了短文本的顯式和隱式表示形式進行分類
n 首先使用大型分類學知識庫將短文本概念化為一組相關概念。
n 然後,通過在預訓練的單詞向量之上合併單詞和相關概念來獲得短文本的嵌入。
n 我們進一步將字符級功能集成到模型中,以捕獲細粒度的子詞信息。
¡ 實驗結果:在五個常用數據集上的實驗結果表明,我們提出的方法明顯優於最新方法。
l 【關於 LOTClass】那些你不知道的事
¡ 論文名稱:《Text Classification Using Label Names Only: A Language Model Self-Training Approach》
¡ 會議:EMNLP2020
¡ 論文地址:https://arxiv.org/pdf/2010.07245.pdf
¡ 論文源碼地址:https://github.com/yumeng5/LOTClass
¡ 動機
n 監督學習:標註數據昂貴
n 半監督學習:雖然減少了對標註數據的依賴,但還是需要領域專家手動進行標註,特別是在類別數目很大的情況下
n 關鍵詞積累:關鍵詞在不同上下文中也會代表不同類別
¡ 方法:
n 提出了一種基於預訓練神經 LM 的弱監督文本分類模型 LotClass,它不需要任何標記文檔,只需要每個類的標籤名稱。
n 提出了一種尋找類別指示詞的方法和一個基於上下文的單詞類別預測任務,該任務訓練LM使用一個詞的上下文來預測一個詞的隱含類別。經過訓練的LM很好地推廣了基於未標記語料庫的自訓練文檔級分類
¡ 在四個分類數據集上,LOTClass明顯優於各弱監督模型,並具有與強半監督和監督模型相當的性能。
實戰篇 【續】