课程向:深度学习与人类语言处理 ——李宏毅,2020 (P17) 任务精简

Overview of NLP Tasks

李宏毅老师2020新课深度学习与人类语言处理课程主页:
http://speech.ee.ntu.edu.tw/~tlkagk/courses_DLHLP20.html
视频链接地址:
https://www.bilibili.com/video/BV1RE411g7rQ
图片均截自课程PPT、且已得到李老师的许可:)



前言

到目前为止,我们讲解了很多与语音有关的任务,接下来要进入与文字有关的任务,也就是大家所熟知的NLP任务,请注意本篇类似科普类,不涉及任何技术模型等,可以用来归纳总结,而且李宏毅老师的分类清晰有序,还是很值得参考的。

而在本篇中,我们继续将讲述NLP任务概述,虽然NLP应用非常广泛、模型变化多端,但是总归起来来说,不脱以下几个变化:
文字->类别、文字->文字

本篇为 NLP任务精简版,不会再有任何图示,仅有文字,详细版请参考17-1和17-2

I Summary NLP任务概述

在这里插入图片描述

虽然NLP任务多种多样,但是根据模型的输入和输出就可以很清晰地进行NLP任务的分类,如上图所示的9大类。

接下来,将简略地描述这些任务,将不会有图片,详细版请参考 17-1 和 17-2,以下很多定义与例子均是笔者理解所写,不是官方定义,只希望能帮住大家理解任务。

II Category NLP任务分类

2.1 词性标注

Part-of-Speech (POS) Tagging
输入: sequence ,一个句子
输出: class for each token,句子中的每一个词的种类

例子:词性标注是把句中的每一个token进行词性的标注。“ John saw the saw” -> (John,PN) (saw,V) (the,D) (saw,N) ,如第一个saw被分类为V动词,第二个saw被分类为N名词锯子。

2.2 分词

Word Segmentation
输入: sequence,一个句子
输出: class for each token,句子中的每一个词的种类

例子:分词是将类似中文的一句话分成一组组有意义的词汇。“台湾大学简称台大” -> (台,N) (湾,N) (大,N) (学,Y) (简,N) (称,Y) (台,N) (大,Y) ,其中输出为N的代表不是词汇的边界,Y代表是词汇的边界,因此被分词为 台湾大学|简称|台大。

2.3 语法分析

Parsing:Constituency Parsing + Dependency Parsing
输入: sequence,一个句子
输出: tree-structure,句子中的树状结构

分类: 成分句法分析 和 依存句法分析
例子: 成分句法分析是把句子组织成短语的形式,同一个带有特殊标记的节点的子树根就是一个短语;依存句法分析是揭示了句子中词的依赖关系,同一个带有特殊标记的节点的子树根之间存在一定的关系。 其中这个特殊标记是指句法分析中常用的类别,如短语级别的标记符号、词语级别的标记符号。

2.4 指代消解

Coreference Resolution
输入:sequence or document,一个句子或是一篇文章
输出:pairs in sequence or document,句中或文中,代名词与其所指代的名词的数据对

例子: 指代消解是将输入的一段话甚至是一篇文章,找出句中所有的代名词与其所指代的名词。如“Xiao Hong is a gril, who is beautiful ”,模型将输出(who,Xiao Hong)。

2.5 摘要

Summarization:Extractive summarization + Abstractive summarization
输入: sequences or document,多个句子或是一篇文章
输出: Extractive:class for each sequence 对于抽取式摘要 输出每个句子是否被选(Y/N);Abstractive :sequence 对于生成式摘要 输出一段由模型自己生成的句子

分类: 抽取式摘要 和 生成式摘要
例子: 抽取式摘要是强制复制输入的一个个句子,会从给出的文章中选几个句子作为摘要直接输出;生成式摘要是seq2seq问题加复制输入的每个句子的一部分,会用神经网络的模型来生成一篇相较于原文更短的摘要。

2.6 机器翻译

Machine Translation
输入: sequence or sequences,某一语种的一个或多个句子
输出: sequence or sequences,另外一语种的一个或多个对应翻译的句子

例子: “How are you?” -> 你好吗?,甚至可以是跨语言的语音翻译。是典型的seq2seq问题,另外,无监督学习方法应用于机器翻译也是一个研究热点。

2.7 语法纠错

Grammar Error Correction
输入: sequence,一个语法错误的句子
输出: sequence,一个语言正确且语义与输入相同的句子

例子: “I are good.” -> “I am good.” ,seq2seq问题,语法纠错也是要求模型要具有直接复制输入的能力的,在语法纠错中,可能只有几个部分是错误的,其余的保持不变即可。另外,还有另外一种解法,对输入的每个词进行分类,C:保持,R:替换,A:后插入。

2.8 情感分类

Sentiment Classification
输入: sequence,一个句子
输出: class,句子的情感类别

例子: “柯南剧场版《绀青之拳》虽然槽点很多,但还蛮有趣的” -> “Good” ;“柯南剧场版《绀青之拳》虽然有趣很多,但还蛮槽点的” -> “Bad”。二分类问题。

2.9 立场侦测

Stance Detection
输入: two sequences,一个句子是博文,另一个句子是对应的评论或回复
输出: class,评论对于博文的立场

例子: “李宏毅是个型男”和后面的评论“他真的是个型男” -> Support。四分类问题。
这个立场可以分四类:(SDQC)

  1. Support:赞同
  2. Denying:反对
  3. Querying:疑问
  4. Commenting:说明

2.10 事实侦测

Veracity Prediction
输入: several sequences,一篇文章或一篇twitter
输出: class,这篇文章或twitter是否是真实的

例子: “某位国家领导人病危“ -> True,表明这条消息是真实的,二分类问题。但是,只看一篇twitter是远远不够做到事实侦测的,即使是人,也可能被假新闻误导认为是真新闻。所以有人提出要将对应的评论和互联网有关搜索的讯息等等都加入到模型的输入中。

2.11 自然语言推理

Natural Language Inference (NLI)
输入: two sequences,前提+假设
输出: class,判断假设与前提的关系

例子: 前提:“有一个人骑着一匹马,跳过了一架飞机” + 假设:”这个人在吃完晚饭“ -> contradiction,三分类问题,这三个类别分别是:

  1. contradiction:矛盾,从前提不可能推到假设。
  2. entailment:蕴含,从前提很有可能推到假设。
  3. neutral:中立,无法判断从前提能否推到假设。

2.12 搜索引擎

Search Engine
输入: two sequences,一句是搜索问题+另一句是搜索引擎给出的首推答案
输出: class,问题和答案,相关还是不相关

例子: 其实,搜索引擎是一个非常复杂的问题了,就模型而言,它是输入sequence输出class的类型。

2.13 问答系统

Question Answering (QA) = Reading comprehension + Extractive QA
输入: sequences,问题
输出: sequence,答案

例子: 过去 通过多模块处理QA问题,如Waston。如今阅读理解是指QA模型是能够处理来自搜索引擎根据问题得到的搜索结果类似网页的非结构化数据和输入的问题进行学习。而抽取式问答系统是强制复制输入的,它直接输出两个数字分别代表s和e(start起始位置、end终止位置),正确答案就是从s到e的所有词汇。

2.14 对话系统

Dialogue = Chatting + Task-oriented
输入: sequences
输出: sequences

例子: Chatting 闲聊机器人,用途与人闲聊,如cleverbot。Task-oriented 任务导向对话系统,注意这里涉及了多模组(若想了解其中的模型请参考17-2),它所解决的是对话是为了帮人完成某件事请,比较常见的应用就是定票、定旅馆等,其实这个在Rasa中有比较成熟的框架来实现这种订票类。解法:seq2seq模型,将所有的对话历史输入到模型中,输出下一个应该询问的问题或完成任务的提示语。

2.15 知识图谱

Knowledge Graph
输入: sequences
输出: entity + relation

例子: Knowledge Graph 知识图谱,是由node 和 edge,在知识图谱中每个node是一个entity 实体,edge是两个实体之间的relation关系。可通过NER得到node,Relation Extraction 得到edge。对于 Knowledge Graph 知识图谱 有两个主要的方向:

  1. 给模型一个知识图谱,模型该如何用整个图谱来解决对应的任务
  2. 能不能从大量的文字中,抽取出知识图谱

GLUE 、 Super GLUE、 DecaNLP 是评测模型的NLP任务合集。

至此,NLP任务概述到此结束,如有任何疑问欢迎留言。

猜你喜欢

转载自blog.csdn.net/qq_44574333/article/details/108289693