首页/文章/ 详情

Transformers的Text2TextGeneration管道(Pipeline)测试

1年前浏览866

1 引言

2021年7月26日,Transformers V4.9.1发布了,因此tfs4虚拟环境更新到了最新版本。Transformers的任务(Tasks)如下所示, 这些任务都可以通过管道(Pipeline)来调用。默认的管道模型都是小模型,因而精度相对较差。如果要提高精度,则必须在管道中显式地指定模型。

过去,我们已经完成过部分任务:






from transformers import pipelineunmasker = pipeline("fill-mask")question_answering = pipeline("question-answering") summarizer = pipeline("summarization")translation = pipeline("translation_en_to_zh")

(1) Fill-Mask 

完形填空---遮蔽式语言模拟(Masked Language Modeling

(2) Question Answering

阅读理解回答问题(Question Answering)---一个更强的BERT预训练模型

Transformers之问题对答(Question Answering)

(3) Summarization

生成摘要(Summarization)的新方法

(4) Translation

中英文机器翻译模型(Machine Translation)

今天要完成的任务是Text2TextGeneration。

Text2TextGeneration简介

如上所述,Text2TextGeneration是Transformers的其中一个管道或任务,这个管道可以用于各种各样的NLP任务,如问题回答(question answering)、情感分类(sentiment classification)、问题生成(question generation)、翻译(translation)、转述(paraphrasing)、总结(summarization)等。它使用seq2seq模型进行文本到文本生成(text to text generation)。

从pipeline()中加载Text2TextGenerationPipeline管道,任务标识为"text2text-generation"。



from transformers import pipelinetext2text = pipeline("text2text-generation")

3 任务处理管道(Pipeline)方法

3.1 问题回答(question answering)

如果给定一个问题(question)和回答(content)对(pair), 模型能够正确解析出答案,例如:

question: What are machine learning models based on?

context: Machine learning (ML) is the study of computer algorithms that improve automatically through experience.

回答是computer algorithms,回答正确。对于一些简单的问题,不给content只问问题也能根据预训练模型给出答案,但在很多情况下是错误的。例如:Which is capital city of China? 回答是Beijing, 回答正确,但如果问Which is capital city of Cnanda?回答是Toronto,显然是错误的。另一个例子问Where is Chuquicamata mine located? 回答是California,显然也是错误的。

3.2 问题生成(question generation)

问题生成是由给定的一个句子产生出问题。在这个试验里,测试了两个模型:tuner007/pegasus_paraphrase ; valhalla/t5-base-e2e-qg

这两个模型都需要安装protobuf库把Google的数据格式转化为Transformers可识别的数据格式:




pip install protobufInstalling collected packages: protobufSuccessfully installed protobuf-3.17.3

经过测试,显示第一个模型不如第二个模型的效果好,因此目前使用第二个模型valhalla/t5-base-e2e-qg,测试结果如下:

例子1:

描述问题: Beijing is China's capital.

生成问题:What is the capital of China?

例子2:

描述问题: The Chuquicamata mine in northern Chile has one of the largest open pits in the world. (位于智利北部的丘基卡马塔矿是世界上最大的露天矿之一。)

生成问题: Where is the Chuquicamata?

例子3: 

描述问题: The rock fall hazard assessment, generally based on surface geological observations and on a simple geomechanical model, suffers from the lack of information on the 3D geometry and the properties of the joints. (岩石坠落灾害评估通常基于地表地质观测和简单的地质力学模型,由于缺乏三维几何形状和节理的属性信息而受到影响。)

生成问题: What is the rock fall hazard assessment based on?<sep> What is the rock fall?

特别注意的是在这个例子中,生成了两个问题。

3.3 转述(paraphrasing)

转述的目标是给定一个输入句子,生成一个在语义上与输入句子相同的输出句子,但在词汇或句法上有所变化。在这个测试中,除了使用上面的两个模型外,还使用了Vamsi/T5_Paraphrase_Paws模型。测试句子:This paper presents a novel method for estimating rock bridges using a searching algorithm that identifies potential failure pathways through realistic Discrete Fracture Network (DFN) models with no limitations on fracture orientation, length scale or spacing variations. (本文提出了一种新的方法,通过真实的离散断裂网络(DFN)模型,利用搜索算法来估计岩桥,该算法对断裂方向、长度尺度或间距变化没有限制,可以确定潜在的破坏途径。)

结果显示这三个模型都没有达到预想的效果,最大仅把novel改变为new.

3.4 其他功能

其它功能包括翻译(translation): 在默认的管道中不支持中文,好像只支持法语和德语的翻译;总结(summarization):在默认的管道中这个功能非常差,远远比不上管道 "summarization"; 情感分类(sentiment classification): 情感分类很简单,只有两个回答: positive 和negative,这个功能在我们目前的工作中用不上。

4 结束语

本文对Text2TextGeneration管道进行了测试,结果表明只有问题生成(question generation)功能相对好,其他功能略显逊色,因此需要在模型和算法上持续改进。

来源:计算岩土力学
断裂试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-11-20
最近编辑:1年前
计算岩土力学
传播岩土工程教育理念、工程分析...
获赞 143粉丝 1043文章 1776课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈