NLP中任务总结
1. token-level task:
1.1 Cloze task
1.2. SQuAD(Standford Question Answering Dataset) task
1.3 Named Entity Recognition(NER)
2. sequence-level task
2.1 NLI(Natural Language Inference) task
2.2. Sentence Pair Classification tasks
2.3. Single Sentence Classification tasks
2.4. SWAG(Situations With Adversarial Generations)
1. token-level task:
token级别的任务. 如完形填空(Cloze), 预测句子中某个位置的单词; 或者实体识别; 或是词性标注; SQuAD等.
1.1 Cloze task
即BERT模型预训练的两个任务之一, 等价于完形填空任务, 即给出句子中其他的上下午token, 推测出当前位置应当是什么token.
解决这个问题就可以直接参考BERT在预训练时使用到的模型: masked language model. 即在与训练时, 将句子中的部分token用[masked]这个特殊的token进行替换, 就是将部分单词遮掩住, 然后目标就是预测[masked]对应位置的单词.
这种训练的好处是不需要人工标注的数据. 只需要通过合适的方法, 对现有语料中的句子进行随机的遮掩即可得到可以用来训练的语料. 训练好的模型, 就可以直接使用了.
1.2. SQuAD(Standford Question Answering Dataset) task
这是一个生成式的任务. 样本为语句对. 给出一个问题, 和一段来自于Wikipedia的文本, 其中这段文本之中, 包含这个问题的答案, 返回一短语句作为答案.
因为给出答案, 这是一个生成式的问题, 这个问题的特殊性在于最终的答案包含在语句对的文本内容之中, 是有范围的, 而且是连续分布在内容之中的.
因此, 我们找出答案在文本语句的开始和结尾处, 就能找到最后的答案. 通过对文本语句序列中每个token对应的所有hidden vector做softmax判断是开始的概率和是结束的概率, 最大化这个概率就能进行训练, 并得到输出的结果.
1.3 Named Entity Recognition(NER)
本质是对句子中的每个token打标签, 判断每个token的类别.
常用的数据集有:
NER(Named Entity Recognition) dataset: 对应于Person, Organization, Location, Miscellaneous, or Other (non-named entity).
2. sequence-level (Segment-level) task
序列级别的任务, 也可以理解为句子级别的任务. 如情感分类等各种句子分类问题; 推断两个句子的是否是同义等.
2.1 NLI(Natural Language Inference) task
自然语言推断任务, 即给出一对(a pair of)句子, 判断两个句子是entailment(相近), contradiction(矛盾)还是neutral(中立)的. 由于也是分类问题, 也被称为sentence pair classification tasks.
在智能问答, 智能客服, 多轮对话中有应用.
常用的数据集有:
MNLI(Multi-Genre Natural Language Inference): 是GLUE Datasets(General Language Understanding Evaluation)中的一个数据集. 是一个大规模的来源众多的数据集, 目的就是推断两个句子是意思相近, 矛盾, 还是无关的.
WNLI(Winograd NLI)
2.2. Sentence Pair Classification tasks
两个句子相关性的分类问题, NLI task是其中的特殊情况. 经典的此类问题和对应的数据集有:
QQP(Quora Question Pairs): 这是一个二分类数据集. 目的是判断两个来自于Quora的问题句子在语义上是否是等价的.
QNLI(Question Natural Language Inference): 也是一个二分类问题, 两个句子是一个(question, answer)对. 正样本为answer是对应question的答案, 负样本则相反.
STS-B(Semantic Textual Similarity Benchmark): 这是一个类似回归的问题. 给出一对句子, 使用1~5的评分评价两者在语义上的相似程度.
MRPC(Microsoft Research Paraphrase Corpus): 句子对来源于对同一条新闻的评论. 判断这一对句子在语义上是否相同.
RTE(Recognizing Textual Entailment): 是一个二分类问题, 类似于MNLI, 但是数据量少很多.
2.3. Single Sentence Classification tasks
SST-2(Stanford Sentiment Treebank): 单句的二分类问题, 句子的来源于人们对一部电影的评价, 判断这个句子的情感.
CoLA(Corpus of Linguistic Acceptability): 单句的二分类问题, 判断一个英文句子在语法上是不是可接受的.
2.4. SWAG(Situations With Adversarial Generations)
给出一个陈述句子和4个备选句子, 判断前者与后者中的哪一个最有逻辑的连续性, 相当于阅读理解问题.
3. 其它
1. Sequence Classification
2. Extractive Question Answering
3. Language Modeling
3.1. Masked Language Modeling
3.2. Causal Language Modeling
3.3. Text Generation
4. Named Entity Recognition
Text Classification
Text Classification(文本分类) 是一项常见的 NLP 任务,它为文本分配标签或类别。一些最大的公司在生产中运行文本分类以用于广泛的实际应用。最流行的文本分类形式之一是情感分析,它为文本序列分配一个标签,如 🙂 正面、🙁 负面或 😐 中性。
Token classification
Token classification (标记分类)为句子中的单个标记分配标签。最常见的标记分类任务之一是命名实体识别 (NER)。 NER 试图为句子中的每个实体找到标签,例如人、地点或组织。
Question answering tasks
Question answering tasks(问答任务)返回给定问题的答案。如果你曾经问过像 Alexa、Siri 或谷歌这样的虚拟助手天气如何,那么你之前就使用过问答模型。有两种常见的问答任务类型:
Extractive (提取):从给定的上下文中提取答案。
Abstractive (抽象的):从正确回答问题的上下文中生成答案。
Causal language modeling
有两种类型的语言建模,因果和屏蔽。本指南说明了因果语言建模。因果语言模型经常用于文本生成。您可以将这些模型用于创意应用,例如选择您自己的文字冒险或 Copilot 或 CodeParrot 等智能编码助手。
Causal language modeling(因果语言建模)预测标记序列中的下一个标记,模型只能关注左侧的标记。这意味着该模型看不到后面的标记。 GPT-2 是因果语言模型的一个例子。
Masked language modeling
Masked Language modeling(掩码语言建模)预测序列中的掩码标记,模型可以双向处理标记。这意味着模型可以完全访问左侧和右侧的令牌。掩码语言建模非常适合需要对整个序列有良好上下文理解的任务。 BERT 是屏蔽语言模型的一个例子。
Translation
Translation(翻译)将一系列文本从一种语言转换为另一种语言。这是您可以制定为序列到序列问题的几个任务之一,这是一个强大的框架,用于从输入返回一些输出,如翻译或摘要。翻译系统通常用于不同语言文本之间的翻译,但它也可以用于语音或文本到语音或语音到文本之间的某种组合。
Summarization
NLP Summarization (总结)研究计算机编程的方法,以便它们可以用自然语言处理大量数据。它的目标是在不改变文档含义的情况下减少文档中单词或句子的数量。
这可以通过两种方式完成:Extractive(提取式)和Abstractive(抽象式)。
Extractive model (提取模型) 选择 NLP 文本中最重要的单词和短语。它不一定理解这些术语的含义。这种方法使用传统和简单的算法来总结给定的文本。例如,它可以对某些词的出现频率起作用。根据高频词,它确定哪些句子应该出现在最终的摘要中。
Abstractive model (抽象模型) 使用高级机器学习来理解文本的含义或语义以提取信息并相应地创建有意义的摘要。显而易见,抽象模型更难实施,但生成的结果更准确。
总结有几个好处:
节省时间并允许人们快速提取有用的信息。
通过使用户能够非常快速地浏览大文本来提高工作效率。
确保在深度学习的帮助下涵盖所有事实。手动浏览文档可能会遗漏一些重要的细节。
Multiple choice
A multiple choice(多项选择任务)类似于问答,不同之处在于提供了几个候选答案以及上下文,并且训练模型以选择正确答案。