【李宏毅课程笔记】NLP任务概览

Video: https://www.youtube.com/watch?v=tFBrqPPxWzE&feature=youtu.be
Slides: http://speech.ee.ntu.edu.tw/~tlkagk/courses/DLHLP20/TaskShort%20(v9).pdf

可以根据输入(One Sentence/Multiple Sentences)和输出(One Class/Class for each Token/Copy from Input/General Sequence)对NLP任务进行分类。

  • Part-of-Speech(POS)Tagging 词性标注任务

    • Why POS?预处理。例如句子John saw the saw(John看见了锯子),对词性加以标注,连同词性一同输入下游任务(Down-stream Task)有助于模型分辨两个saw的意思,从而使任务完成得更好。而现在很多Down-stream Model(如Bert)本身就带有POS Tag的能力,此时就无须再做一个POS的预处理。
    • Input:sequence;Output:class for each token
  • Word Segmentation 分词(especially for Chinese)

    • 存在ambiguity:如“北京大学”是单独作为一个词汇还是切分为“北京”和“大学”两个词汇。
    • 可以通过binary classification,对于输入中的每个token,输出Yes表示这是该token为一个词汇边界(boundary),如输入“北京大学简称北大”输出“NNNYNYNY”。
    • Why Word Segmentation?预处理。以词汇作为处理单位,输入到下游任务中。然而BERT一类的模型在处理中文时仍是以字为处理单位,所以它很有可能在模型内部已具备分词的能力,因此是否需要对中文做分词的预处理仍是一个需要讨论的问题。
    • Input:sequence;Output:class for each token
  • Parsing 语法解析(给定句子产生树状结构):

    • Why Parsing:预处理。结果作为额外的feature同样可以用于下游任务。BERT中是否学到了Parsing同样是一个需要讨论的问题。
    • Constituency Parsing
    • Dependency Parsing
  • Coreference Resolution(指代消解:哪些词汇指的是同样的entity)

    • Why Coreference Resolution:结果作为额外的feature作为下游任务的输入
  • Summarization 摘要

    • Extractive Summarization:一篇文章包含多个句子,从中挑选若干句子拼接起来作为summary,也是一个Binary Classification的问题(Input:sequence;Output:class for each token,here a token is a sentence)。但该方法很难产生好的摘要。
    • Abstractive Summarization:seq2seq(Input:long sequence;Output:short sequence),copy is encouraged,此时可采用Pointer Network的架构,使其有能力从原文中直接拷贝词汇到输出的摘要中。
  • Machine Translation

    • Seq2seq
    • Unsupervised Machine Translation是一个很关键的研究方向
    • Input:sequence;Output:Sequence
  • Grammar Error Correction 语法纠错

    • Seq2seq,copy is encouraged
    • Input:sequence;Output:sequence
  • Sentiment Classification

    • 如电影评价、商品评价
    • Input:sequence;Output:class
  • Stance Datection 立场侦测

    • 输入Post和Reply,大多数系统采用Support、Denying、Querying和Commenting(SDQC)四类标签
    • Input:two sentences;output:a class
    • 常被用于事实侦测(Veracity Prediction),如果第一时间的reply大多是Denying,那么这则post很有可能是假消息。还可以辅助输入其他信息(如Wikipedia),以输出新闻的真实性(True or False)。
  • Natural Language Inference(NLI)

    • 给定前提(premise)、假设(hypothesis),判断能否由前提推出假设。输出包括三类:contradiction矛盾、entailment蕴含、neutral中立。
    • Input:two sequences;output:a class
  • Search Engine

    • 给定关键字、文章,输出两者是否有关系
    • Input:two sequences;output:a class
  • Question Answering(QA)

    • 输入question和knowledge source(有结构的资料库/无结构的文章),输出answer
    • Input:several sequences;output:sequence
    • 对于输入无结构的文章的场景,该任务通常又被称为Reading Comprehension
    • Extractive QA:Answer in document,copy from input,该模型通常输出两个数字s和e,对应答案为从第s个单词到第e个单词。
  • Dialogue

    • chatting:模型需要记录之前对话的记录
    • Task-oriented:客服
      ‣ Natural Language Generation(NLG):指定Action,先根据对话得到action,再通过NLG将action转化为文字输出
      ‣ Policy & State Tracker:首先根据已发生的对话生成State(what has happened in this dialogue),其目的是仅记录与任务有关的信息,可视为生成摘要;再根据state决定现在要做的事情(Policy)即输出action,若此时的输出是有限的,则policy是一个分类的问题;再将action输入NLG生成下一段对话。
      ‣ Dialogue可经由Natural Language Understanding(NLU)进行预处理。
      ‣ 综上,该过程为【Dialogue(Preprocessing by NLU) -> State Tracker -> State -> Policy -> Action -> NLG -> Dialogue】
  • Natural Language Understanding(NLU)

    • Intent Classification 目标分类,如provide information、ask questions等等
    • Slot Filling:类似于POS Tagging任务,侦测每个token属于哪个slot
  • Knowledge Graph 知识图谱

    • 由entity(node)、edge(relation)组成
    • 如何抽取Knowledge Graph?Step1: Extract Entity Step2: Extract Relation
      ‣ 使用Name Entity Recognition(NER)抽取entity,类似于POS tagging、slot filling
      ‣ Relation Extraction:输入several sentences、entity1、entity2,输出relation,如果relation是有限的,则这是一个classification Problem;
    • 如何使用Knowledge Graph?Graph-based methods
  • General Language Understanding Evaluation(GLUE)

    • https://glurbenchmark.com
    • Chinese version:clue(https://www.cluebenchmarks.com)
    • 评估机器整体而言了解人类的能力,集合了很多语言任务。
    • 任务分成三大类:
      ‣ 判断语句是否出错(CoLA)、情感分类(SST-2)
      ‣ 给定两个句子,判断两个语句是否语义相同(MRPC、QQP、STS-B)
      ‣ NLI相关,对前提和假设之间进行三分类(MNLI、QNLI、RTE、WNLI)
  • Super GLUE

    • https://super.gluebenchmark.com
    • 包含八个任务,基本都与QA相关,属于分类问题
  • DecaNLP

    • https://decanlp.com
    • 由salesforce maintain,包含10个NLP任务,期待用同一模型解决这些任务,包含需要输出完整句子的任务,所有任务都可视为QA问题,从而有机会使用统一模型解决任务。

你可能感兴趣的:(【李宏毅课程笔记】NLP任务概览)