[DLHLP 2020] Overview of NLP Tasks
本週課程內容主要是要介紹處理NLP任務:包含文字輸出文字、文字輸出類別
有關文字輸出類別,有兩種模式:
- 一段文字輸出一個類別
- 每個Token各屬於什麼類別
再談到輸入一段文字,輸出一段文字,我們所需要的模型則是Seq2Seq
前面所提到的輸入,都是一段文字,但是我們的輸入是兩個以上的句子時該如何處理?
解法一:兩句分別Encode,並在兩句話進行attention,然後整合兩句的Encode。
解法二:兩句拼接後,直接Encode,此用法目前比較流行。
總結上述的NLP任務,下面整理為八個類別。
Part-of-Speech (POS) Tagging
Annotate each word in a sentence with a part-of-speech (e.g. Verb, Adjective, Noun)
Word Segmentation
主要是用在中文的詞彙分割,因為英文的詞和詞之間有空白分隔。不過近年來由於有Bert模型來說沒有絕對必要進行斷詞,因為Bert 切割的是每個“字”,而不是詞。
Parsing
Parsing出的結果常常作為訓練模型時的特徵。
Coreference Resolution (指代消解)
在文章中哪些Entity(詞彙)是指出同樣的東西。
Summarization
- Extractive summarization : 感覺有點像是針對每一句話,都進行一個binary classification,如此即可將是/否為摘要的句子,然後再拼接起來。
- Abstractive summarization : 由於近年來Seq2Seq的盛行,也開始出現摘要式彙整。
Machine Translation
*非監督式機器翻譯是目前相當重要的一個研究方向。
Grammar Error Correction
Sentiment Classification
Stance Detection
一般來說有四個立場:Support, Denying, Querying, and Commenting (SDQC)。常用的場景是事實偵測 (Veracity Prediction)
Natural Language Inference (NLI)
判斷敘述是屬於Contradiction, Entailment, Neutral。
Search Engine
先輸入使用者的問題,然後去將系統搜尋的結果確認兩者間的相關性,並匯出。
Question Answering
Watson 最為經典,會先進行問題處理,分類出文字資源中可找出的內容、還有有結構的資料表來找尋答案。
Extractive QA:問題和答案就在文章中
Dialogue
- Chatting: Cleverbot(非單純的Seq2Seq模型,因為他會記得之前的問題)
- Task-orientated:夠過對話,擷取資訊協助人們完成指定的任務。不過這樣的對話資訊複雜,會拆分成多個模組來訓練:
Natural Language Generation (NLG)
Policy & State Tracker:其中重要的概念包含State, Policy, Slot Filling, Intent Classification
Knowledge Graph
如何將Entity抽出來? → Name Entity Recognition (NER)
如何偵測Relation? → Relation Extraction
General Language Understanding Evaluation (GLUE)
網址:gluebenchmark.com
傳統用來評估機器理解人類語言的重要任務,但是目前因為BERT以降的模型,這類工作都已經沒有什麼難度了。
Super GLUE
DecaNLP
過去的任務都是一個模型對應一個任務,但是現在是希望一個模型,可以達到十項全能的能力。