zoukankan      html  css  js  c++  java
  • NLP的几种任务

    NLP任务
    根据判断主题的级别, 将所有的NLP任务分为两种类型:

    token-level task: token级别的任务. 如完形填空(Cloze), 预测句子中某个位置的单词; 或者实体识别; 或是词性标注; SQuAD等.
    sequence-level task: 序列级别的任务, 也可以理解为句子级别的任务. 如情感分类等各种句子分类问题; 推断两个句子的是否是同义等.
    token-level task
    Cloze task

    即BERT模型预训练的两个任务之一, 等价于完形填空任务, 即给出句子中其他的上下午token, 推测出当前位置应当是什么token.

    解决这个问题就可以直接参考BERT在预训练时使用到的模型: masked language model. 即在与训练时, 将句子中的部分token用[masked]这个特殊的token进行替换, 就是将部分单词遮掩住, 然后目标就是预测[masked]对应位置的单词.

    这种训练的好处是不需要人工标注的数据. 只需要通过合适的方法, 对现有语料中的句子进行随机的遮掩即可得到可以用来训练的语料. 训练好的模型, 就可以直接使用了.

    SQuAD(Standford Question Answering Dataset) task

    这是一个生成式的任务. 样本为语句对. 给出一个问题, 和一段来自于Wikipedia的文本, 其中这段文本之中, 包含这个问题的答案, 返回一短语句作为答案.

    因为给出答案, 这是一个生成式的问题, 这个问题的特殊性在于最终的答案包含在语句对的文本内容之中, 是有范围的, 而且是连续分布在内容之中的.

    因此, 我们找出答案在文本语句的开始和结尾处, 就能找到最后的答案. 通过对文本语句序列中每个token对应的所有hidden vector做softmax判断是开始的概率和是结束的概率, 最大化这个概率就能进行训练, 并得到输出的结果.

    Named Entity Recognition

    本质是对句子中的每个token打标签, 判断每个token的类别.

    常用的数据集有:

    NER(Named Entity Recognition) dataset: 对应于Person, Organization, Location, Miscellaneous, or Other (non-named entity).
    sequence-level task
    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)
    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, 但是数据量少很多.
    Single Sentence Classification tasks

    SST-2(Stanford Sentiment Treebank): 单句的二分类问题, 句子的来源于人们对一部电影的评价, 判断这个句子的情感.
    CoLA(Corpus of Linguistic Acceptability): 单句的二分类问题, 判断一个英文句子在语法上是不是可接受的.
    SWAG(Situations With Adversarial Generations)

    给出一个陈述句子和4个备选句子, 判断前者与后者中的哪一个最有逻辑的连续性, 相当于阅读理解问题.

    原文链接:https://blog.csdn.net/weixin_42398658/article/details/94149726

  • 相关阅读:
    【转】前端防止 JS 调试技巧
    反爬虫 js怎样判断是真实点击事件还是模拟点击事件?
    js 前端 滑动验证
    【转】pyspider运行卡死在result_worker starting 的解决办法
    【转】pyspider all命令报错如下:ImportError: cannot import name 'DispatcherMiddleware' from 'werkzeug.wsgi'
    【转】pyspider中async关键字问题
    【转】Windows python3.7 下安装运行pyspider
    如何修改11g RAC集群名称
    Exadata健康检查工具EXAchk
    XD刷机中执行reclaimdisks.sh的作用
  • 原文地址:https://www.cnblogs.com/wisir/p/12519222.html
Copyright © 2011-2022 走看看