李宏毅DLHLP.16.NLP tasks

文章目录

  • 介绍
  • Category
  • Part-of-Speech (POS) Tagging
  • Word Segmentation
  • Parsing
  • Coreference Resolution
  • Summarization
  • Machine Translation
  • Grammar Error Correction
  • Sentiment Classification
  • Stance Detection
  • Veracity Prediction
  • Natural Language Inference (NLI)
  • Search Engine
  • Question Answering
  • Dialogue
  • Knowledge Graph
    • Name Entity Recognition (NER)
    • Relation Extraction
  • GLUE
    • Super GLUE
    • DecaNLP

介绍

本门课程是2020年李宏毅老师新课:Deep Learning for Human Language Processing(深度学习与人类语言处理)
课程网站
B站视频
公式输入请参考:在线Latex公式
本节主要涉及下面两种任务
李宏毅DLHLP.16.NLP tasks_第1张图片
先来看任务的分类:

Category

对于吃文字,吐类别任务,这个类任务可以分两种:
一种是将句子进行分类,例如情感识别
李宏毅DLHLP.16.NLP tasks_第2张图片
另外一种是按token进行分类,例如NER
李宏毅DLHLP.16.NLP tasks_第3张图片
对于吃文字,吐文字任务一般都是attention+seq2seq模型,而且这个attention通常还可以有copy mechanism,可以将输入的部分内容copy到输出。
李宏毅DLHLP.16.NLP tasks_第4张图片
以上是只有单个sequence作为输入的情况,当有多个sequence作为输入的时候:
在这里插入图片描述
有两种解决方案:
第一种比较简单,就直接把多个sequence进行concat操作后,视为一个sequence,进入模型
李宏毅DLHLP.16.NLP tasks_第5张图片
第二种是将不同的sequence进入各自对应的模型中,并对sequence直接进行attention,也就是模型与模型直接要有交互。
李宏毅DLHLP.16.NLP tasks_第6张图片
总结起来根据输入和输出的种类可以把NLP任务分为8类,就是下面的表格:

One Sequence Multiple Sequences
One Class Sentiment Classification
Stance Detection
Veracity Prediction
Intent Classification
Dialogue Policy
NLI
Search Engine
Relation Extraction
Class for each Token POS tagging
Word segmentation
Extraction Summarization
Slotting Filling
NER
Copy from Input Extractive QA
General Sequence Abstractive Summarization
Translation
Grammar Correction
NLG
General QA
Task Oriented Dialogue
Chatbot

Other: Parsing, Coreference Resolution

Part-of-Speech (POS) Tagging

Annotate each word in a sentence with a part-ofspeech (e.g. Verb, Adjective, Noun)
词性标注。
李宏毅DLHLP.16.NLP tasks_第7张图片
Input: sequence
Output: class for each token

Word Segmentation

分词,这个任务是针对中文而言的,英文是有空格进行分割的。
李宏毅DLHLP.16.NLP tasks_第8张图片
Input: sequence
Output: class for each token

Parsing

根据sequence产生树状结构。Parsing有两种类型,属于other类型。
李宏毅DLHLP.16.NLP tasks_第9张图片

Coreference Resolution

指代消解,如下图所示,同样结果可以用于下游任务,属于other类型。
李宏毅DLHLP.16.NLP tasks_第10张图片

Summarization

抽取式摘要
Extractive summarization,Here a token is a sentence。模型可以看做是Binary classification的任务,把每个句子都进行二分类,是否做为摘要,当然这样的原文进行摘要比较low。
李宏毅DLHLP.16.NLP tasks_第11张图片
Input: sequence
Output: class for each token
Abstractive summarization:
Input: sequence
Output: sequence
为了不失原义,通常都是从原文中copy关键字,然后进行改写,因此模型需要有copy的能力。
李宏毅DLHLP.16.NLP tasks_第12张图片

Machine Translation

机器翻译
Input: sequence
Output: sequence
如果某个语言没有文字,那么第三种模型就非常适用。
李宏毅DLHLP.16.NLP tasks_第13张图片
Unsupervised machine translation is a critical research direction.由于语言种类太多,无监督学习非常重要。

Grammar Error Correction

语法纠错
Input: sequence
Output: sequence
这个任务也需要模型有copy的能力。
李宏毅DLHLP.16.NLP tasks_第14张图片
还可以把这个任务看做是分类问题,例如把每个token分为几个类别,先对比different,然后R代表replace,A代表add:
李宏毅DLHLP.16.NLP tasks_第15张图片
李宏毅DLHLP.16.NLP tasks_第16张图片

Sentiment Classification

情感分析,在电商评论分析用得较多。
Input: sequence
Output: class
李宏毅DLHLP.16.NLP tasks_第17张图片
李宏毅DLHLP.16.NLP tasks_第18张图片

Stance Detection

立场检测
Input: two sequences
Output: a class
李宏毅DLHLP.16.NLP tasks_第19张图片
Many systems use the Support, Denying, Querying, and Commenting (SDQC) labels for classifying replies
这个任务可以用在Veracity Prediction

Veracity Prediction

类似信息、新闻的真假判别。
Input: several sequences
Output: class
李宏毅DLHLP.16.NLP tasks_第20张图片
李宏毅DLHLP.16.NLP tasks_第21张图片
这里模型吃新闻、评论以及维基百科相关内容,然后输出判断结果。

Natural Language Inference (NLI)

自然语言推断
Input: two sequences
Output: a class(矛盾、包含、中立)
例如:
李宏毅DLHLP.16.NLP tasks_第22张图片
根据上面的图片,下面有三个说法,要给出判断。
李宏毅DLHLP.16.NLP tasks_第23张图片

Search Engine

Input: two sequences
Output: a class
输入搜索的关键字,以及对比的文章,然后计算结果是否相关。
下面的例子来自谷歌,在使用BERT之前,搜索引擎将stand和stand-alone混为一谈,而BERT出现后,模型就可以正确区分词义了。
李宏毅DLHLP.16.NLP tasks_第24张图片

Question Answering

问答系统
Input: several sequences
Output: sequence
图中表示得非常清楚,不多说。
李宏毅DLHLP.16.NLP tasks_第25张图片
还有一种Extractive QA: Answer in the document
李宏毅DLHLP.16.NLP tasks_第26张图片
一般从原文中copy答案,s代表开始位置,e代表结束位置
李宏毅DLHLP.16.NLP tasks_第27张图片

Dialogue

最常见的就是Chatting(chat bot)
一般的Chatting就是尬聊,好一点的就是会根据聊天对象的Personality、Empathy、Knowledge等进行不同的交流
当然还有Task-oriented的Dialogue
例如自动订房机器人:
李宏毅DLHLP.16.NLP tasks_第28张图片
这里要涉及Natural Language Generation (NLG)
先定义一些Action
李宏毅DLHLP.16.NLP tasks_第29张图片
在聊天的过程中,不能尬聊别的东西,要按照动作列表进行聊。
李宏毅DLHLP.16.NLP tasks_第30张图片

更具体一点要构造Policy & State Tracker
State: What has happened in this dialogue.
李宏毅DLHLP.16.NLP tasks_第31张图片
这里 State Tracker 不能直接处理对话,而是吃NLU处理的结果
Natural Language Understanding (NLU)分为两大块,一块是Intent Classification,用于识别客户是提供信息还是询问问题。
李宏毅DLHLP.16.NLP tasks_第32张图片

另外一块是Slot Filling,输入sequence,输出得到每个token对应的类别

李宏毅DLHLP.16.NLP tasks_第33张图片
整个对话系统结构如下:
李宏毅DLHLP.16.NLP tasks_第34张图片

Knowledge Graph

(warning: The following description oversimplifies the task)
Step 1: Extract Entity
Step 2: Extract Relation
李宏毅DLHLP.16.NLP tasks_第35张图片
李宏毅DLHLP.16.NLP tasks_第36张图片
抽取Node的技术叫做:

Name Entity Recognition (NER)

Name Entity没有非常严谨的定义,通常是指句子中包含的任务所关心的实体,常见的有:people, organizations, places
Input: sequence
Output: class for each token
just like POS tagging, slot filling
李宏毅DLHLP.16.NLP tasks_第37张图片
抽取边的技术叫:

Relation Extraction

例如上面的例子在标记出三个实体之后,需要对这三个实体两两之间进行关系标注,如果关系是事先定好了的,例如有30种关系,那么这个问题就可以用分类的思想来求解。
Input: sequence
Output: class
李宏毅DLHLP.16.NLP tasks_第38张图片
李宏毅DLHLP.16.NLP tasks_第39张图片

GLUE

General Language Understanding Evaluation (GLUE)一个集合,用来评价机器理解人类语言的程度。
根据句子判断类别,第一个判断语法,第二个判断情感
• Corpus of Linguistic Acceptability (CoLA)
• Stanford Sentiment Treebank (SST-2)

下面三个都是给两个句子,需要判断两个句子意思是否一样。
• Microsoft Research Paraphrase Corpus (MRPC)
• Quora Question Pairs (QQP)
• Semantic Textual Similarity Benchmark (STS-B)

下面四个属于NLI的任务,给两个句子,一个句子是描述,另外一个是需要根据描述需要判别的内容。
• Multi-Genre Natural Language Inference (MNLI)
• Question-answering NLI (QNLI)
• Recognizing Textual Entailment (RTE)
• Winograd NLI (WNLI)

GLUE also has Chinese version (https://www.cluebenchmarks.com/)

Super GLUE

BERT出现后,GLUE对于机器而言太简单了,因此出现了更加难的任务集合,叫Super GLUE,共有八个任务,基本都和QA有关。都可以转换为分类的问题来解。
https://super.gluebenchmark.com/
李宏毅DLHLP.16.NLP tasks_第40张图片
李宏毅DLHLP.16.NLP tasks_第41张图片
还有一个类似的任务集合

DecaNLP

Decathlon是十项全能的意思,这个任务集合有10个任务,都用同一个模型来解,以此来评测机器理解人类语言的程度。
可以把这些所有的任务都转换为QA任务,再进行求解。

你可能感兴趣的:(李宏毅.DLHLP2020)