首頁 云計算

谷歌開源項目飛馬(PEGASUS):可以自動進行文章摘要


   

谷歌于去年年底發布了一個精簡型的機器語義分析項目:飛馬(PEGASUS):預先機器學習及訓練后的自動文章摘要項目。近期這個項目迎來的新的版本,這個小型項目可以非常精準的自動提取出文章中的摘要,并且只用一千個訓練模型就可以生成媲美人類的摘要內容。

1592178235005

 



當對包括文本摘要在內的下游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。


官方微博/微信

每日頭條、業界資訊、熱點資訊、八卦爆料,全天跟蹤微博播報。各種爆料、內幕、花邊、資訊一網打盡。百萬互聯網粉絲互動參與,TechWeb官方微博期待您的關注。

↑掃描二維碼

想在手機上看科技資訊和科技八卦嗎?

想第一時間看獨家爆料和深度報道嗎?

請關注TechWeb官方微信公眾帳號:

1.用手機掃左側二維碼;

2.在添加朋友里,搜索關注TechWeb。

手機游戲更多

时幸运28