天天看點

谷歌Docs,現在已經可以自動生成文本摘要了!

機器之心報道

編輯:陳萍、杜偉

雖然很友善,但遺憾的是,谷歌 Docs 的自動摘要生成功能僅向企業客戶開放。希望個人使用者也能盡快用到。

對我們很多人來說,每天都需要處理大量的檔案。當收到一份新檔案時,我們通常希望檔案包含一個簡要的要點總結,以便使用者最快的了解檔案内容。然而,編寫文檔摘要是一項具有挑戰性、耗時的工作。

為了解決這個問題,谷歌宣布 Google Docs 現在可以自動生成建議,以幫助文檔編寫者建立内容摘要。這一功能是通過機器學習模型實作的,該模型能夠了解文本内容,生成 1-2 句自然語言文本描述。文檔編寫者對文檔具有完全控制權,他們可以全部接收模型生成的建議,或者對建議進行必要的編輯以更好地捕獲文檔摘要,又或者完全忽略。

使用者還可以使用此功能,對文檔進行更高層次的了解和浏覽。雖然所有使用者都可以添加摘要,但自動生成建議目前僅适用于 Google Workspace 企業客戶(Google Workspace 是 Google 在訂閱基礎上提供的一套雲計算生産力和協作軟體工具和軟體)。基于文法建議、智能撰寫和自動更正,谷歌認為這是改善工作場所書面交流又一有價值的研究。

如下圖所示:當文檔摘要建議可用時,左上角會出現一個藍色的摘要圖示。然後,文檔編寫者可以檢視、編輯或忽略建議的文檔摘要。

模型細節

過去五年,特别是 Transformer 和 Pegasus 的推出,ML 在自然語言了解 (NLU) 和自然語言生成 (NLG)方面産生巨大影響。

然而生成抽象文本摘需要解決長文檔語言了解和生成任務。目前比較常用的方法是将 NLU 和 NLG 結合,該方法使用序列到序列學習來訓練 ML 模型,其中輸入是文檔詞,輸出是摘要詞。然後,神經網絡學習将輸入 token 映射到輸出 token。序列到序列範式的早期應用将 RNN 用于編碼器和解碼器。

Transformers 的引入為 RNN 提供了一個有前途的替代方案,因為 Transformers 使用自注意力來提供對長輸入和輸出依賴項的更好模組化,這在文檔中至關重要。盡管如此,這些模型仍需要大量手動标記的資料才能充分訓練,是以,僅使用 Transformer 不足以顯着提升文檔摘要 SOTA 性能。

Pegasus 的研究将這一想法又向前推進了一步, 該方法是在論文《PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization 》中提出,通過引入一個預訓練目标自定義來抽象摘要。在 Pegasus 預訓練中,也被稱為 GSP(Gap Sentence Prediction ),未标記的新聞消息和網絡文檔中的完整句子在輸入中被 mask 掉,模型需要根據未被 mask 掉的句子重建它們。特别是,GSP 試圖通過不同的啟發式把對文檔至關重要的句子進行 mask。目标是使預訓練盡可能接近摘要任務。Pegasus 在一組不同的摘要資料集上取得了 SOTA 結果。然而,将這一研究進展應用到産品中仍然存在許多挑戰。

谷歌Docs,現在已經可以自動生成文本摘要了!

PEGASUS 基礎架構是标準的 Transformer 編碼器 - 解碼器。

将最近的研究進展應用到 Google Docs

資料

自監督預訓練生成的 ML 模型具有通用的語言了解和生成能力,但接下來的微調階段對于該模型适應于應用領域至關重要。谷歌在一個文檔語料庫中對模型早期版本進行了微調,其中手動生成的摘要與典型用例保持一緻。但是,該語料庫的一些早期版本出現了不一緻和較大變動,其原因在于它們包含了很多類型的文檔以及編寫摘要的不同方法,比如學術摘要通常篇幅長且詳細,而行政摘要簡短有力。這導緻模型很容易混淆,因為它是在類型多樣的文檔和摘要上訓練的,導緻很難學習彼此之間的關系。

幸運的是,谷歌開源 Pegasus 庫(用于自動生成文章摘要)中的關鍵發現之一是:有效的預訓練階段在微調階段需要更少的監督資料。一些摘要生成基準隻需要 1000 個 Pegasus 的微調示例即能媲美需要 10000 + 監督示例的 Transformer 基線性能,這表明我們可以專注于模型品質而非數量。

谷歌精心地清理和過濾了微調資料,以包含更一緻且更代表連貫摘要的訓練示例。盡管訓練資料量減少了,但生成了更高品質的模型。正如資料集蒸餾等其他領域最近的工作一樣,我們可以得到以下這個重要教訓,即更小的高品質資料集要優于更大的高方差資料集。

服務

一旦訓練了高品質模型,谷歌轉向解決在生産中為模型提供服務時面臨的挑戰。Transformer 版本的編碼器 - 解碼器架構是為摘要生成等序列到序列任務訓練模型的主流方法,但該方法在實際應用中提供服務時效率低且不實用。效率低主要歸咎于 Transformer 解碼器,它利用自回歸解碼來逐 token 地生成輸出摘要。當摘要更長時,解碼過程變得很慢,這是因為解碼器在每一步都要處理之前生成的所有 token。循環神經網絡(RNN)是更高效的解碼架構,這得益于它不像 Transformer 模型那樣對之前的 token 施加自注意力。

谷歌使用知識蒸餾(将知識從大模型遷移到更小更高效模型的過程)将 Pegasus 模型提煉為包含 Transformer 編碼器和 RNN 解碼器的混合架構。為了提高效率,谷歌還減少了 RNN 解碼器層的數量。生成的模型在延遲和記憶體占用方面有顯著改善,而品質仍與原始模型相當。為了進一步改善延遲和使用者體驗,谷歌使用 TPU 為摘要生成模型服務,這實作了顯著加速并允許單台機器處理更多請求。

持續的挑戰

雖然谷歌對迄今為止取得的進展感到興奮,但仍要繼續應對以下一些挑戰:

文檔覆寫率:由于文檔之間存在顯著差異,是以在微調階段開發一組文檔很難。推理階段也存在同樣的挑戰。此外,谷歌使用者建立的一些文檔(如會議記錄、食譜、課程計劃和履歷)不适合總結或難以總結。

評估:抽象摘要需要捕捉文檔的本質,保持流暢且文法正确。一個特定的文檔可能存在許多可被認為正确的摘要,不同的使用者也可能喜歡不同的摘要。這使得僅使用自動名額評估摘要變得困難,使用者回報和使用情況統計對于谷歌了解和不斷提高模型品質至關重要。

長文檔:模型最難生成長文檔的摘要,因為它更難捕獲所有要點并抽象(總結)在一個摘要中。此外,長文檔的訓練和服務期間記憶體占用顯著增加。但是,長文檔對于模型自動生成摘要這一任務而言可能最有用,因為它可以幫助文檔編寫者在這項繁瑣的任務中搶占先機。谷歌希望可以應用最新的 ML 進展來更好地應對這一挑戰。

https://ai.googleblog.com/2022/03/auto-generated-summaries-in-google-docs.html

繼續閱讀