文本摘要之前缀语言模型-GLM
文本摘要之前缀语言模型-GLM 文本摘要相关内容查阅 预训练模型实战之文本摘要 1 导入相关包12345import osos.environ["CUDA_VISIBLE_DEVICES"] = "1" import torchfrom datasets import Datasetfrom transformers import AutoTokenizer, AutoModelForSeq2SeqLM, DataCollatorForSeq2Seq, Seq2SeqTrainer, Seq2SeqTrainingArguments 2 加载数据集123456789import json# train.json有140w数据,dev.json只有1w数据,with open('./LCSTS_new/train.json','r') as f: lines = f.readlines() train_data = [json.loads(line) for line in lines[:...
文本摘要之序列到序列模型-t5
文本摘要之序列到序列模型-t5 文本摘要相关内容查阅预训练模型之文本摘要 1 导入相关包12345import osos.environ["CUDA_VISIBLE_DEVICES"] = "1" import torchfrom datasets import Datasetfrom transformers import AutoTokenizer, AutoModelForSeq2SeqLM, DataCollatorForSeq2Seq, Seq2SeqTrainer, Seq2SeqTrainingArguments 2 加载数据集1234567import json# train.json有140w数据,dev.json只有1w数据,with open('./LCSTS_new/train.json','r') as f: lines = f.readlines() train_data = [json.loads(line) for line in lines[:10000...
预训练模型实战之文本摘要
预训练模型实战之文本摘要任务描述文本摘要是指通过各种技术,对文本或者是文本的集合,抽取、总结或是精炼其中的要点信息,用以概括和展示原始文本的主要内容或大意。作为文本生成任务的主要方向之一,从本质上而言,这是一种信息压缩技术。文本摘要技术是信息爆炸时代,提升人们获取有效信息效率的关键技术之一,如何从冗余、非结构化的长文本中提炼出关键信息,构成精简通顺的摘要,是文本摘要的核心问题。 实验概述在之前的文章预训练模型实战中,介绍到了四种预训练语言模型,四种语言模型都可以做文本摘要任务,但像bert这种掩码语言模型效果就相对差一点儿。本文选取四种语言模型,在文本摘要任务上做对比试验。 实验配置数据集LCSTS_new中文短摘要生成数据集2015年发布的生成式短摘要数据集,以微博原文为输入,1~2句话的短摘要为输出。 预训练模型 鉴于资源限制,本文选择的模型在一方面要支持中文,另一方面要模型体积尽可能小,所以本实验的结果并不能代表模型的性能。 hfl/chinese-macbert-base 掩码语言模型 Langboat/mengzi-t5-base seq2s...
整数与罗马数字之间的转换
整数与罗马数字之间的转换转换规则题目来源于Leetcode,整数与罗马数字之间的转换规则大致如下: 12.整数转罗马数字 13. 罗马数字转整数罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值I 1V 5X 10L 50C 100D 500M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况: I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。 X 可以放在 L (5...
预训练模型分类及其代码实战
预训练模型分类及其代码实战 本文是带你手把手对预训练模型进行继续训练。 预训练模型分类对于什么预训练模型,以及预训练模型的由来,可以参考知乎上的“请问深度学习中预训练模型是指什么?如何得到?”,一个比一个好。本文主要是以代码的角度进行解析如何与对这些预训练模型进行继续训练。目前预训练模型的分类以及适用任务: 序列到序列(Transformer):机器翻译,阅读理解,文本生成任务,文本摘要 因果语言模型(Causal Language Model, CLM):文本生成任务 掩码语言模型(Masked Language Model, MLM):自然语言理解,如:信息抽取,完型填空,情感分析等 前缀语言模型(Prefix language model):文本生成任务,文本摘要 预训练模型详解序列到序列模型序列到序列模型,其实就是Encoder-Decoder模型,也就是最简单的Transformer架构。Encoder 部分是 Masked Multi-Head Self-Attention,Decoder 部分是 Casual Multi-Head Cross-Attentio...
基于BERT+LSTM+CRF的命名实体识别
基于BERT+LSTM+CRF的命名实体识别定义参数12345678910111213141516171819202122232425262728293031class CommonConfig: bert_dir = "hfl/chinese-macbert-base" output_dir = "./checkpoint/" data_dir = "./data"class NerConfig: def __init__(self): cf = CommonConfig() self.bert_dir = cf.bert_dir self.output_dir = cf.output_dir # self.output_dir = os.path.join(self.output_dir) if not os.path.exists(self.output_dir): os.mkdir(self.out...
基于BERT的命名实体识别
基于BERT的命名实体识别先配置一下模型路径 1model_path="/data1/model/chinese-macbert-base" Step1 导入相关包1234import evaluatefrom datasets import load_datasetfrom transformers import AutoTokenizer, AutoModelForTokenClassification, TrainingArguments, Trainer, DataCollatorForTokenClassificationfrom seqeval.metrics import classification_report Step2 加载数据集123456# 如果可以联网,直接使用load_dataset进行加载ner_datasets = load_dataset("peoples_daily_ner")# 如果无法联网,则使用下面的方式加载数据集# from datasets import DatasetDict# ner_da...
Transformers框架实战——商品评价的情感分析实战
Transformers框架实战——商品评价的情感分析实战 Transformers框架基础教程及更多实战内容 以商品评价数据集为例,使用bert进行情感分析。数据集来源:https://github.com/SophonPlus/ChineseNlpCorpus Step1 导包12from transformers import AutoTokenizer, AutoModelForSequenceClassification, Trainer, TrainingArgumentsfrom datasets import load_dataset,load_from_disk Step2 加载数据集1dataset = load_dataset("csv", data_files="./JD.com_comments.csv", split='train') 这个数据集共包含720 万条评论,包含用户ID,商品ID,评分,时间,评论标题,评论内容这六个字段。看一下第一条数据。 12345678{'...
ValueError too many dimensions 'str'
ValueError: too many dimensions ‘str’使用Bert进行训练时,报错如题。具体如下: 12345ValueError: too many dimensions 'str'The above exception was the direct cause of the following exception:ValueError: Unable to create tensor, you should probably activate truncation and/or padding with 'padding=True' 'truncation=True' to have batched tensors with the same length. Perhaps your features (`labels` in this case) have excessive nesting (inputs type `list` where type `int` is expected). 解...
Transformers框架之Trainer组件
Transformers框架之Trainer组件Trainer参数解读在学习完Tokenizer、Datasets、Model、Evaluate组件后,Trainer组件是用来训练模型的,也是最简单的。以下是一个最基础的Trainer的参数示例: 123456789trainer = Trainer( model=model, # 模型 args=training_args, # 训练参数 train_dataset=train_dataset, # 训练集 eval_dataset=eval_dataset, # 验证集 tokenizer=tokenizer, # 分词器 data_collator=data_collator, # 数据收集器 compute_metrics=compute_metrics, # 评估函数) 接下来,以**情感分析(外卖评价)**为...

