bert、roberta、ernie在中文mlm任务上效果查看

# -*- coding: utf-8 -*-
import torch
from transformers import BertTokenizer, BertForMaskedLMdef get_mlm_model(list_):ret = []for path in list_:tokenizer = BertTokenizer.from_pretrained(path)model = BertForMaskedLM.from_pretrained(path)ret.append((path, tokenizer, model))return retdef gen_text(input_tx, tokenizer, model):tokenized_text = tokenizer.tokenize(input_tx)indexed_tokens = tokenizer.convert_tokens_to_ids(tokenized_text)tokens_tensor = torch.tensor([indexed_tokens])segments_tensors = torch.tensor([[0] * len(tokenized_text)])with torch.no_grad():outputs = model(tokens_tensor, token_type_ids=segments_tensors)predictions = outputs[0]predicted_index = [torch.argmax(predictions[0, i]).item() for i in range(0, (len(tokenized_text) - 1))]predicted_token = [tokenizer.convert_ids_to_tokens([predicted_index[x]])[0] for x inrange(1, (len(tokenized_text) - 1))]predicted_token = ''.join(predicted_token)print('raw token is:', input_tx)print('Predicted token is:', predicted_token)return predicted_tokenif __name__ == '__main__':list_ = get_mlm_model(['bert-base-chinese','nghuyong/ernie-1.0','hfl/chinese-roberta-wwm-ext',# 'voidful/albert_chinese_tiny',  # albert有点问题,有些层没参数,使用的是初始化参数])inputs = ["[CLS]清华大学[MASK][MASK]在哪里[SEP]","[CLS] [MASK] [MASK] [MASK] 是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。[SEP]","[CLS][MASK][MASK][MASK]是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。[SEP]","[CLS]今天的股票会[MASK]吗[SEP]","[CLS]今天的股票会[MASK][MASK][SEP]",]for input_ in inputs:for name, tokenizer, model in list_:print(name)gen_text(input_, tokenizer, model)print()

结果
bert-base-chinese
raw token is: [CLS]清华大学[MASK][MASK]在哪里[SEP]
Predicted token is: 。华大学校址在哪里

nghuyong/ernie-1.0
raw token is: [CLS]清华大学[MASK][MASK]在哪里[SEP]
Predicted token is: 清华大学大华在哪里

hfl/chinese-roberta-wwm-ext
raw token is: [CLS]清华大学[MASK][MASK]在哪里[SEP]
Predicted token is: 清华大学究底在哪里

bert-base-chinese
raw token is: [CLS] [MASK] [MASK] [MASK] 是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。[SEP]
Predicted token is: 《庸》是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。

nghuyong/ernie-1.0
raw token is: [CLS] [MASK] [MASK] [MASK] 是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。[SEP]
Predicted token is: 西游记是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。

hfl/chinese-roberta-wwm-ext
raw token is: [CLS] [MASK] [MASK] [MASK] 是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。[SEP]
Predicted token is: 西游梦是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。

bert-base-chinese
raw token is: [CLS][MASK][MASK][MASK]是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。[SEP]
Predicted token is: 《庸》是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。

nghuyong/ernie-1.0
raw token is: [CLS][MASK][MASK][MASK]是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。[SEP]
Predicted token is: 西游记是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。

hfl/chinese-roberta-wwm-ext
raw token is: [CLS][MASK][MASK][MASK]是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。[SEP]
Predicted token is: 西游梦是中国神魔小说的经典之作,与《三国演义》《水浒传》《红楼梦》并称为中国古典四大名著。

bert-base-chinese
raw token is: [CLS]今天的股票会[MASK]吗[SEP]
Predicted token is: 。天的股票会跌?

nghuyong/ernie-1.0
raw token is: [CLS]今天的股票会[MASK]吗[SEP]
Predicted token is: 今天的股票会涨吗

hfl/chinese-roberta-wwm-ext
raw token is: [CLS]今天的股票会[MASK]吗[SEP]
Predicted token is: 今天的股票会涨吗

bert-base-chinese
raw token is: [CLS]今天的股票会[MASK][MASK][SEP]
Predicted token is: 。天的。票会吗?

nghuyong/ernie-1.0
raw token is: [CLS]今天的股票会[MASK][MASK][SEP]
Predicted token is: 今天的股票会怎样

hfl/chinese-roberta-wwm-ext
raw token is: [CLS]今天的股票会[MASK][MASK][SEP]
Predicted token is: 今天的股票会涨吗

预训练模型mlm阅读理解任务相关推荐

  1. 『NLP经典项目集』08: 使用预训练模型完成阅读理解

    基于BERT预训练模型的阅读理解任务 阅读理解是自然语言处理中的一个重要的任务,最常见的数据集是单篇章.抽取式阅读理解数据集.具体的任务定义为:对于一个给定的问题q和一个篇章p,根据篇章内容,给出该问 ...

  2. 论文浅尝 | 如何利用外部知识提高预训练模型在阅读理解任务中的性能

    论文笔记整理:吴桐桐,东南大学博士生,研究方向为自然语言处理. 链接:https://www.aclweb.org/anthology/P19-1226/ 近年来,机器阅读理解已经逐渐发展为自然语言理 ...

  3. 论文泛读记录(多模情感分析/探测;厌恶语音探测;属性级情感分析;CVPR2022和ACL2022 三元组/对比学习/视觉语言预训练/机器翻译/预训练模型/机器阅读理解)

    文章目录 1.1 CTFN: Hierarchical Learning for Multimodal Sentiment Analysis Using Coupled-Translation Fus ...

  4. 『NLP经典项目集』10:使用预训练模型优化快递单信息抽取

    使用PaddleNLP语义预训练模型ERNIE完成快递单信息抽取 注意本项目代码需要使用GPU环境来运行:命名实体识别是NLP中一项非常基础的任务,是信息提取.问答系统.句法分析.机器翻译等众多NLP ...

  5. M6-中文多模态预训练模型

    M6:一种中文的多模式预训练机 目录: 回顾 方法 下游应用程序 可扩展到具有万亿个参数的模型 1. 回顾 多模态预训练 模型架构: l 基于transformer l 单流或者双流 图像特征: l ...

  6. 刷新中文阅读理解水平,哈工大讯飞联合发布基于全词覆盖中文BERT预训练模型...

    作者 | HFL 来源 | 哈工大讯飞联合实验室(ID:rgznai100) 为了进一步促进中文自然语言处理的研究发展,哈工大讯飞联合实验室发布基于全词覆盖(Whole Word Masking)的中 ...

  7. 将预训练模型应用于长文本阅读理解

    摘要: 基于transformers预训练模型(如BERT.RoBERTa)的表现突出,预训练模型基本作为模型的baseline,但是由于self-attention的矩阵计算时间复杂度为,导致输入长 ...

  8. 【自然语言处理(NLP)】基于预训练模型的机器阅读理解

    [自然语言处理(NLP)]基于预训练模型的机器阅读理解 作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源建设专 ...

  9. 智能文档理解:通用文档预训练模型

    预训练模型到底是什么,它是如何被应用在产品里,未来又有哪些机会和挑战? 预训练模型把迁移学习很好地用起来了,让我们感到眼前一亮.这和小孩子读书一样,一开始语文.数学.化学都学,读书.网上游戏等,在脑子 ...

最新文章

  1. 如何为模型选择合适的损失函数?所有ML学习者应该知道的5种回归损失函数
  2. 深度学习框架的评估与比较
  3. Excel获得焦点变色
  4. 我的世界minecraft-Python3.9编程(3)-创建一根柱子
  5. P2597-[ZJOI2012]灾难【DAG支配树】
  6. UIView常见方法总结
  7. jQuery css
  8. mkpasswd命令使用方法
  9. the catalina_home environment variable
  10. robust scene text recognition with automatic rectification
  11. XML:体验学习的乐趣之XML总结
  12. 面试官:说说Java对象的四种引用方式
  13. 4——编码规则以及vim的使用和虚拟环境
  14. vnc 序列号在哪输入_VNC Viewer Plus 1.2.3 注册机
  15. Lyndon Word学习笔记
  16. 20210312 plecs外部模式把示波器视野扩大
  17. ViT为何引入cls_token
  18. 《系统与网络管理实践》(第三版)作者访谈
  19. 【你好,windows】Win10 x64 1709 X64企业G纯净版2019.7.28
  20. java telephony jar_编译错误解决方法

热门文章

  1. 【Unity游戏开发教程】零基础带你从小白到超神15——声音、音效和视频播放
  2. docker + redis 配置主从
  3. SQL 转换函数和条件表达式
  4. 大文件传输软件哪一个好?
  5. 哈夫曼编码及文本文件的压缩解压(c++SourceCode)
  6. 费尽周折,终于在华为watch3上成功运行hello world
  7. 解决在mac上压缩文件后,在window上解压后多个__MACOSX文件夹
  8. 路由器mw320虚拟服务器,水星MW320R路由器的桥接设置步骤
  9. html input选中样式,CSS 伪类修改input选中样式的示例代码
  10. matlab画服装版,教你画一手漂亮的服装款式图!(手绘款式图模板)