谷歌开源项现在飞马(PEGASUS):能够自动进走文章提要
发布时间:2020-06-21

  谷歌于往年岁暮发布了一个精简型的机器语义分析项现在:飞马(PEGASUS):预先机器学习及训练后的自动文章提要项现在。近期这个项现在迎来的新的版本,这个幼型项现在能够特意精准的自动挑掏出文章中的提要,并且只用一千个训练模型就能够生成媲美人类的提要内容。

  当对包括文本提要在内的下游NLP义务进走微调时,比来针对大型文本语料库进走自吾学习的现在的的预训练做事已表现出重大的成功。

  但是,尚未探讨为抽象文本提要量身定制的预训练现在的。此外,匮乏跨差别周围的体系评估。在这项做事中,吾们挑出了在大周围文本语料库上行使新的自吾训练现在的对基于大型编解码器模型进走预训练的手段。在PEGASUS中,重要句子从输入文档中删除/袒护,并行为其余句子的一个输出序列一首生成,相通于摘录提要。

  吾们在涉及信休,科学,故事,表明,电子邮件,专利和立法法案的12个下游汇总义务中评估了最佳PEGASUS模型。

  实验外明,在经过ROUGE分数衡量的一切12个下游数据集上,它均达到了最先辈的性能。吾们的模型还表现了在矮资源汇总方面的令人惊讶的性能,超过了仅行使1000个学习后的6个数据集上的最新首先。

  末了,吾们行使人造评估验证了吾们的首先,并外明吾们的模型提要可在众个数据集上实现人造外现。

  附件:如何安放一个自动提要的环境

  项现在地址:https://github.com/google-research/pegasus

  设定 行使GPU在Google云端上创建实例(可选) 请先创建一个项现在并创建一个实例

  gcloud compute instances create \${VM_NAME} \--zone=${ZONE} \--machine-type=n1-highmem-8 \--accelerator type=nvidia-tesla-v100,count=1 \--boot-disk-size=500GB \--image-project=ml-images \--image-family=tf-1-15 \--maintenance-policy TERMINATE --restart-on-failure 安设库和倚赖项 在github上克隆库并安设请求。

  git clone https://github.com/google-research/pegasuscd pegasusexport PYTHONPATH=.pip3 install -r requirements.txt 依照表明安设gsutil。

  下载“同化与动态”模型的vocab,经过预训练和微调的检查点。

  mkdir ckptgsutil cp -r gs://pegasus_ckpt/ ckpt/ 对下游数据集进走微调 在现有数据集上 对现有数据集进走微调aeslc。

  python3 pegasus/bin/train.py --params=aeslc_transformer \--param_overrides=vocab_filename=ckpt/pegasus_ckpt/c4.unigram.newline.10pct.96000.model \--train_init_checkpoint=ckpt/pegasus_ckpt/model.ckpt-1500000 \--model_dir=ckpt/pegasus_ckpt/aeslc 评估经过微调的数据集。

  python3 pegasus/bin/evaluate.py --params=aeslc_transformer \--param_overrides=vocab_filename=ckpt/pegasus_ckpt/c4.unigram.newline.10pct.96000.model,batch_size=1,beam_size=5,beam_alpha=0.6 \--model_dir=ckpt/pegasus_ckpt/aeslc 请留心,上面的示例行使的是单个GPU,专业研发和生产造型设备所以batch_size远幼于本文通知的首先。

  增补新的微调数据集 声援两栽类型的数据集格式:TensorFlow数据集(TFDS)或TFRecords。

  本教程表明如何在TFDS中增补新的数据集。(期待对微调数据集进走监督,请supervised_keys在数据集信休中挑供)。

  Tfrecords格式请求每个记录都是的tf示例{"inputs":tf.string, "targets":tf.string}。

  例如,倘若您注册了一个new_tfds_dataset用于训练和评估的TFDS数据集,并且有一些文件名为tfrecord格式new_dataset_files.tfrecord*用于测试,则能够在中注册它们/pegasus/params/public_params.py。

  @registry.register("new_params")def my_param(param_overrides):return public_params.transformer_params({"train_pattern": "tfds:new_tfds_dataset,train","dev_pattern": "tfds:new_tfds_dataset,validation","test_pattern": "tfrecord:new_dataset_files.tfrecord*","max_input_len": 512,"max_output_len": 128,"train_steps": 10000,"learning_rate": 0.0001,"batch_size": 8,}, param_overrides) 评估指标。 评估首先可在中找到mode_dir。自动为每个评估点计算汇总指标。

  ROUGE是总结质量的重要指标。

  BLEU是替代说话生成的质量指标。

  挑取碎片隐瞒率和密度是衡量提要抽象性的指标。

  重复率测量代重复战败模式。

  长度统计数据比较黄金提要来测量解码的长度分布。

  能够在以下几栽类型的输出文件中找到model_dir

  text_metrics-*。txt:以上指标以文本格式表现。每走包含度量标准名称,95%下限值,平均值,95%上限值。 输入-.txt,现在的-.txt,展望-* .txt:模型输入/输出的原首文本文件。预训练 (在C4或任何其他语料库上)的预训练必要定制构建的tensorflow,其中包括进走实时解析的操作,这些操作将原首文本文档处理为模型输入并指定ID。相关详细信休,请参阅pegasus / ops / pretrain_parsing_ops.cc和pegasus / data / parsers.py。