NLP任務
前處理任務
前處理任務的結果可作為下游任務輸入的額外特征。
POSTa(詞性標注)
往模型中輸入句子,對每一個token進行詞性的識別。
識別出的詞性可以用於下游任務。
Word Segmentation(分詞)
對於英文,顯然句子有天然的分詞。所以分詞通常是針對中文句子。
分詞之后,模型的輸入就可以以詞匯作單位,而不再以字作單位。
以下面例子做說明:
將一個句子按字輸入模型,訓練模型來對每個字來進行二分類決定每個字的對應位置輸出N或者Y(N/Y是詞的邊界標識)
Parsing(語義分析)
給定句子產生樹狀結構——句子的語法結構。
Coreference Rosolution(共指消解)
從一段文章或者一段對話中找出指代同一個人或事物的所有詞匯。
具體NLP任務
Summarization(文本摘要)
抽取式摘要:基於二分類任務,每個句子分開考慮。
衡量文章中句子應不應該放到摘要里面,但是這么做遠遠不夠。
生成式摘要:屬於seq2seq模型,輸入長文本,模型用自己的語言進行短摘要的生成。
模型的copy能力:輸入文本序列和輸出摘要很有可能有很多共用詞匯,這些共用詞匯經過模型的修改整合形成摘要的文本。因此模型需要增加輸入copy能力,怎么實現?Pointer network(指針網絡)。
Machine Translation(機器翻譯)
seq2seq
audio2seq
audio2audio
Grammer Error Correction(語法糾正)
seq2seq?
不,殺雞焉用牛刀。
seq2class
輸入句子,做分類,輸出要對token要做的動作的標識(C/R/A/D)。
C——復制,保持不變
A——在后面增加詞匯
R——置換,把詞換個時態或者換成別的詞
D——刪除
Sentiment Classfication(情感分類)
輸入一段文本或者評論,訓練模型,輸出文本的情感分類(正面/負面)。
seq2class
Stance Detection(立場偵測)
seq2class
通過一則博文或者文章以及其下的評論回復來進行評論者所處立場的判斷。
立場通常有四類:SDQC(Support、Denying、Querying and Commenting)。
立場偵測經常被用於事實預測:
事實預測:
seq2class
根據新聞消息或者博文的評論立場以及外部的知識判斷消息或文章內容的真實性。
Natural Language Inference(自然語言推理)
seq2class
推理模型的文本輸入:premise(前提) + hypothesis(假設)
模型輸出:對假設是否成立的判斷結果,矛盾/包含(可推得)/中立(contradiction/entailment/neutral)
Question Answering(問答)
傳統的基於檢索的問答系統
簡單的(模組少):
-
問題處理——對問題進行格式化,檢測其答案的類別
-
檢索資料庫——進行文檔、文章的檢索選擇
-
答案的生成和評估——從候選文章中抽取答案,抽取的答案根據第一步檢測到的答案類別評估其正確性
復雜的(模組多):
和簡單架構的區別:
-
問題處理——模組更多
-
候選答案生成——綜合檢索文章得到的候選答案和從自帶的有結構資料庫中調取的答案
-
答案評分
-
融合對等答案,返回答案及其可信度
基於深度學習的QA
seq2seq
輸入問題文本和外部結構化/無結構化的知識(大多來自搜索引擎),訓練模型得到問題的答案。
但是要實現直接向模型輸入問題和外部知識就生成問題答案還有非常長的一段路要走。目前我們常做的只是從文本中抽取答案。
抽取式QA:
seq2seq
答案就在背景文章里面,向模型輸入背景文章和問題,其實就是做通常意義上的閱讀理解,模型產生抽取的答案文本在文章中的 start position 和 end position。
Dialogue(對話)
對話涉及到自然語言生成(NLG)和自然語言理解(NLU)
Chatting(閑聊)
seq2seq
聊天都是有背景的,所以模型的輸入應該是增量式的,模型的輸出是根據之前的對話內容產生的。
根據對話的需求可以進行定制:
Task-oriented(任務導向的對話)
seq2seq
需要實現一定的功能,比如提供訂票、訂餐廳、訂酒店等服務
系統架構
State Tracker記錄當前對話的狀態
知識圖
NER(命名實體識別)
seq2class
識別出句子中的人名、地名、組織等實體
RE(關系抽取)
seq2class
輸入文本和文本中兩個實體,訓練模型得到兩個實體之間的關系
關系的種類基本是固定的,因此關系抽取的模型往往是去做一個復雜的分類任務
綜合任務
綜合任務的意義:看模型是否是真的“理解”了人類語言,能“舉一反三”
GLUE
分為三大類
- 文本分類(語法錯誤檢查、文本情感分析)
- 文本相似度計算
- 自然語言推理
Super GLUE
包含8個NLP任務,大多和QA有關
DecaNLP
同一個模型解決10個NLP任務
怎么實現?往QA的方向改造這些任務
總結
根據這些NLP任務的輸入輸出,把這些任務和任務相關的一些技術手段進行梳理
one on one
seq2class
- 情感分析
- 立場檢測
- 文本內容辨真偽
- 文本意圖識別
- 對話決策
seq2tokenclass
- 詞性標注
- 分詞
- 抽取式摘要
- 命名實體識別
seq2seq
- 抽象式摘要
- 機器翻譯
- 文本語法矯正
- 自然語言生成
n on one
seq2class
- 自然語言推理
- 搜索引擎
- 關系抽取
copy from input
- 抽取式QA
seq2seq
- 常規QA
- 任務導向對話
- 聊天機器人
- State Tracker
others
- 語義分析
- 共指消解