NLP(自然语言处理) - Tricks Dataset 集合
前言
這是一篇NLP tricks的集合,在自然語言處理的模型中,有很多優化模型效果的技巧,其中很多技巧已經稱為默認設置,不再文章中額外說明。
技巧列表
- 前言
- Weight Average
- Adaptive Embedding
- Variational Dropout
- Sampled Softmax
- GLUE
Weight Average
Weight Average是一種自動集成方式,指的是在最終進行模型測試前,取前面每個checkpoint模型權重的平均值作為最終的測試模型。
Adaptive Embedding
Adaptive embedding 是一種自適應詞頻的詞嵌構建方法,通常用于詞表較大的數據集(PTB這種小集就不用了)。這種方法的出發點是詞頻越高的詞往往越容易出現一詞多義的現象,同時其本身的含義也越豐富。
同時伴隨的一般是一組Cut-off值,這個值將詞頻分為了幾個區間,比如[300000, 60000, 2000]。這時,在不同區間的詞有不一樣大小的詞嵌矩陣。對任意一個詞進行詞嵌操作,會首先根據不同詞頻映射為不同大小的詞嵌向量,再通過線性映射,統一投影為規定維度大小。如下圖所示:
高頻詞The和little通過高頻詞表轉化為維度為d的詞向量,而低頻詞dog轉化為維度為dkn?1\fracze8trgl8bvbq{k^{n-1}}kn?1d?的詞向量,而后再將這些向量映射到d維的向量作為輸入的token。
Variational Dropout
依據AWD-LSTM給出的解釋,Variational Dropout不同于標準的Dropout,在每層,每次傳遞信息時使用Dropout都會隨機生成一個Dropout mask。Variational Dropout會在第一次執行時就確定一個固定的Dropout mask。這個mask只會在下一個mini-batch時改變。
Sampled Softmax
當我們在做語言模型或其他NLP任務時,每一步的輸出很有可能是一個詞。一般來說,我們輸出這個詞的策略是在最后一層輸出一個詞表大小的向量,然后使用softmax函數對這個向量的每一個元素打分,根據打分(或概率)的結果輸出這個詞。而這樣做有一個很大的弊端,就是當詞表非常大的時候,我們每一次進行輸出都要遍歷一遍詞表。
Bengio(原文章)提出我們可以針對每個mini-batch匯總一次詞表,以減小每次輸出時遍歷造成的高額運算,這就是Sampled Softmax。
GLUE
GLUE全稱為General Language Understanding Evaluation,可以訪問其benchmark官網。 其中分為了多個任務,以下表格詳細說明:
| Task name | 中文翻譯 | 數據集說明 | 評估矩陣 |
|---|---|---|---|
| CoLA (The Corpus of Linguistic Acceptability) |
評估數據集語法接受程度 | 單句的二分類問題, 判斷一個英文句子在語法上是不是可接受的 | Matthew’s Corr |
| SST-2 (The Stanford Sentiment Treebank) |
標準情感數據集 | 單句的二分類問題, 句子的來源于人們對一部電影的評價 判斷這個句子的情感傾向為 Positive/Negative |
Accuracy |
| MRPC (Microsoft Research Paraphrase Corpus) |
微軟復述語料庫 | 句子對來源于對同一條新聞的評論 判斷這一對句子在語義上是否相同 |
F1/Accuracy |
| STS-B (Semantic Textual Similarity Benchmark) |
語義文本相似度數據 | 類似回歸問題,給出一對句子 使用1~5的評分評價兩者在語義上的相似程度 |
Pearson-Spearman Corr |
| QQP (Quora Question Pairs) |
Quara問題對 | Quora 上的問題答案數據集, 目的是判斷兩個來自于Quora的問題句子在語義上是否是等價的 | F1 / Accuracy |
| MNLI (MultiNL - matched/mismached) |
多自然語言句型/跨句型匹配 | 推斷兩個句子是意思相近, 矛盾, 還是無關 | Accuracy |
| QNLI (Question NLI) |
自然語言問題推斷 | 二分類問題, 兩個句子是一個QA對 正樣本為Answer是對應Question的答案, 負樣本為不是 |
Accuracy |
| RTE (Recognizing Textual Entailment) |
文本蘊含識別 | 二分類問題, 判斷兩個句子是否意思相近, 但是數據量較少 | Accuracy |
| WNLI (Winograd NLI) |
自然語言推理數據集 | 推斷兩個句子是意思相近, 矛盾, 還是無關 | Accuracy |
總結
以上是生活随笔為你收集整理的NLP(自然语言处理) - Tricks Dataset 集合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ImportError: No modu
- 下一篇: ./include/caffe/util