日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【论文阅读】自然语言生成(NLG)——基于plan思想的Data2Text任务实现

發布時間:2023/12/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【论文阅读】自然语言生成(NLG)——基于plan思想的Data2Text任务实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

NLG方向可以算是NLP的一個分支,即自然語言生成,理解上data2text,image2text,doc2text都在這個范疇內。相對來說data2text是較為容易的一個任務,可以作為很多復雜NLG任務中處于最終一步的任務,因此它的重要性不言而喻。本文摘自ACL 2019錄取的30篇知識圖譜論文之一1904.03396,筆者做了較為詳細的閱讀標注僅供參考。

最近間歇性腦殼疼,是真的腦殼疼,生理上的疼。

論文標題:Step-by-Step: Separating Planning from Realization in Neural Data-to-Text Generation
論文下載地址:https://arxiv.org/abs/1904.03396
項目地址:https://github.com/AmitMY/chimera

Step-by-Step: Separating Planning from Realization in Neural Data-to-Text Generation
論文下載地址:https://arxiv.org/abs/1904.03396
項目地址: https://github.com/AmitMY/chimera

目錄

  • Abstract 摘要
  • 1. 引語 Introduction
  • 2. 方法概述 Overview of the Approach
    • 2.3 總體應用 General Applicability
  • 3. 文本計劃 Text Planning
    • 3.1 訓練數據添加plan
    • 3.2 測試時間計劃選擇 Test-time Plan Selection
  • 4. 計劃實現 Plan Realization
  • 5. 實驗配置 Experimental Setup
  • 6. 實驗與結果 Experiments and Results
    • 6.1 自動化評價機制
    • 6.2 手工評價機制
    • 6.3 計劃實現連貫性 Plan Realization Consistency
  • 7. 相關工作 Related Work
  • 8. 總結

Abstract 摘要

  • data2text生成任務在概念上可以分為兩部分:
    • 排序(ordering)
    • 信息結構化(structuring)
    • 最終生成用于描述data的流暢text
  • 先進的神經生成系統將這兩部分合并在一個end2end的可區分的(differentiable)系統中
  • 本文提出將生成過程分割到一個象征性的“文本計劃”(text-planning)階段(stage)中
    • 該階段對本階段輸入完全信任
    • 之后再跟進一個神經生成階段中, 主要用于實現對data的描述
    • 為了訓練plan2text的生成器, 本文提出一種篩選高質量“文本計劃”(text plans)的方法
    • 本文基于WebNLG語料數據集的benchmark進行實現與驗證
  • 本文實驗結果具有可依賴性與適當性, 并保持了流暢的輸出結果
    • 模型在BLEU-score與手動驗證上都取得了更好的結果
    • 模型可以對同一輸入做到不同輸出
    • 為文本生成架構的研究鋪路

    1. 引語 Introduction

  • WebNLG語料數據集的結構:
    • 輸入: John, birthPlace, London; John, employer, IBM;
    • 輸出:
      • John, who was born in London, works for IBM;
      • John, who works for IBM, was born in London;
      • London is the birthplace of John, who works for IBM;
      • IBM employs John, who was born in London;
    • 難點: 按照什么順序描述所有data, 按照什么樣的方式表示每條data
    • 當然也可以分成兩個句子: John works for IBM. John was born in London;
    • 總體來說, 如何排序data, 排序entity, 以及句子分割可以引出12種不同的架構
    • 另一個維度的變體是在給定架構下如何將信息動詞化:
      • John works for IBM and was born in London;
      • John is employed by IBM. He was born in London;
  • 對于這兩個維度, 本文的解決方案:
    • 如何信息結構化: 本文使用“文本計劃”(text planning)
    • 如何動詞化一個plan: 本文使用“計劃實現”(plan realization)
  • planning與realization的區別是傳統自然語言生成(NLG)是否生效的核心問題
    • 不過目前的潮流傾向于忽視這個區別
    • 而將問題轉為end2end, 即將data作為輸入映射成輸出text, 使用encoder-decoder架構
  • 神經方法在輸出流暢性上表現卓越, 但是仍然應當考慮長句輸出的內聯性
    • 這往往可能導致輸出結果與輸入并非一個意思, 如省略, 重復, 甚至改變原來的facts
    • NLG社區將這種錯誤視為adequacy或correctness的問題
    • 與模板方法相比:
      • 神經方法的輸出的置信度往往較低, 即不能完全表示原意, 且很難控制輸出的結構
      • 但是在語言細節的捕捉上做得好
  • 我們提出一種直接的, 象征性的, text-planning階段
    • 該階段的輸出用于輸入神經生成系統
    • text planner決定信息結構并清楚表達出來, 本文將使用一個序列的的排好序的樹來表示
    • 該階段是象征性的, 用于確保模型輸出保持置信度并且完成輸入fact的全部內容
    • 一旦plan被決定, 神經生成系統就會將它輸出為流暢的自然語言文本
    • 我們的方法在WebNLG語料庫上的表現與一般的神經系統一樣流暢, 但是具有更高的置信度與完成度
    • 模型可以控制輸出的結構并且可以有多種不同的輸出
    • 項目地址在本markdown文件第二行

    2. 方法概述 Overview of the Approach

  • 任務描述 Task Description
    • 我們的方法用于從RDF集合的輸入生成文本
    • 所有用于輸入的RDF三元組可以視為圖: entity為節點, RDF關系是有向且已標注的邊
    • 每一條RDF三元組與一條或多條參考text對應, 用于描述該RDF三元組的信息
      • 參考text為單獨的句子或句子序列
      • 抽象化表示:
        • 輸入的圖G有三元組(s_i,r_i,o_i)的集合構成, 分別表示subject, relation, object
        • s_i與o_i屬于DBPedia實體集合, r_i屬于已標注的DBPedia關系集合
        • (G,參考text)為輸入輸出對, 同樣的G可能有多個reference
  • 方法概述 Method Overview
    • 生成過程分為兩部分:
      • 文本計劃(text planning)
      • 句子實現(sentence realization)
    • 給定輸入G, 生成一個計劃plan(G)用于分割G中的所有fact得到若干句子, 該data2plan的步驟是非神經的, 可以使用數據驅動的打分函數來排序可能的建議, 然后選取打分高的結果
    • 根據plan申城一個個句子, plan2sentence步驟使用NMT系統
    • 基于plan的架構中, 對于(G,參考text)的輸入輸出對會額外添加一個對應的plan, 構成新的數據集, 用于訓練plan2text與plan-selection方法

    2.3 總體應用 General Applicability

    3. 文本計劃 Text Planning

  • 計劃架構 Plan structure
    • plan捕捉fact2sentence的分割以及sentence的順序
      • sentence中不同fact的順序
      • fact中不同entity的順序, 稱relation的方向(direction)
        • 如(A,location,B)可以視為A is located in B或者B is the location of A
      • 不同fact共用同一entity時的語句架構, 有鏈式, 平行(sibling), 混合架構三種
        • 鏈式架構: John lives in London, the capital of England
        • 平行架構: John lives in London and works as a bartender
        • 混合架構: John lives in London, the capital of England, and works as a bartender
    • 文本計劃使用一個序列的句子計劃建模, 再按順序實現
    • 每個句子計劃使用排序樹建模, 確定信息實現的架構, 使用樹的架構便于不同fact間共享entity的連貫性
    • 文本計劃假設每個entity僅在一句話中出現一次, 這也是WebNLG語料庫的特點
    • plan的示例在Figure 1.b
      • (h,l_1,m),(m,l_2,x)代表一組連貫的facts共享中間的entity
        • John lives in London, the capital of England
      • (h,l_1,m1),(h,l_2,m_2)代表一組連貫的facts共享同樣的entity
        • John lives in London and works as a bartender
  • 窮舉生成 Exhaustive generation
    • 對于小的輸入圖G可以直接把所有可能的計劃全部列舉出來, 如在每個節點做一次DFS來得到各種不同順序的子女節點排序方式
      • 特別地如果圖G存在環(WebNLG語料庫中有0.4%的圖存在環, 本文對這些進行忽略), 一定要確保是無環圖

    3.1 訓練數據添加plan

  • 訓練集中只有references而沒有plans, 因此需要設計一種方法以恢復潛在的plans, 得到新數據集(G,ref,T)三元組, 即原始數據, 參考文本以及文本計劃
  • 定義參考文本ref與文本計劃T是一致的, 當且僅當
    • ref中每一個句子的facts都是用T中的計劃組合的
    • 對應的句子與句子計劃, entity的順序是相同的
  • 將ref與plan匹配基于如下結論:
    • 確認參考文本中的entities以及輸入中的entities相對于fact是獨特的, 這件事是相對容易的
    • 確認句子分割相對容易
    • 參考文本與它的匹配計劃一定共享相同的entities以相同的順序和相同的句子分割
  • 句子分割一致性 Sentence split consistency
    • 定義三元組集合與句子是潛在一致(potentially consistent)的, 當且僅當每個三元組包含至少一個來自句子的entity(要么是主語要么是賓語), 且每個句子中的每個entity至少被一個三元組覆蓋到
    • 給定參考文本, 使用NLTK分詞后, 尋找G的一個不交的劃分, 使得每個劃分的集合與一個對應的句子一致
      • 對于G的一個不交的劃分, 考慮窮舉法
  • 事實排序一致性 Facts order consistency
    • 定義一個參考文本與一個來自對應RDF的句子計劃是匹配的, 當且僅當句子中的entities集合與plan是相同的, 且所有的entity以相同順序出現
      • 事實上還需要指定G集合中中任意兩個entity間只能有一個關系, 這在WebNLG6940的樣本中僅15個不滿足該條件, 因此可以忽略
    • 基于此可以將每個句子和計劃都視為entity的序列, 確認序列匹配即可
    • 但是這種規則的問題在于映射text與plan中的entity并非平凡
      • entity存在變體: A.F.C Fylde v.s. AFC Fylde
      • entity同義但需要外部知識: UK conservative party v.s. the Tories
      • entity存在代詞指代相同情況: them, he, the former
    • 因此需要放款匹配的規則, 本文考慮文本中可能的未知entity ???
    • 具體地, 句子計劃用一個entity序列(pe_1,…,pe_k)表示, 每個句子用(se_1,…,se_m)表示, m<=k
      • 注意我們將plan中的entity與sentence中的entity匹配使用Levenshtein方法, 手動調整閾值來模糊匹配
      • 特別地匹配日期型的entity時使用chrono-python包來將日期轉為自然語言文本
    • 然后定義句子與句子計劃一致, 若以下兩個條件成立:
      • (se_1,…,se_m)是(pe_1,…,pe_k)的一個子序列
      • plan中剩下的entity都已經在plan中之前出現過了
        • 該條件考慮這樣一個事實: 大部分未明確的entity都是代詞或者相似的非詞匯話的指代表達(如the former, the latter)
        • 這種情況下就一定是指代前文中的某個詞匯了

    3.2 測試時間計劃選擇 Test-time Plan Selection

  • 設計打分機制來選擇最可能的那個plan來用于最終實現
  • 打分機制是一種Product-of-Experts(PoE)模型
    • 每個experts是一個針對plan中某個property的條件概率估計
    • 條件概率是訓練集上plan的MLE估計
    • 本文使用了如下幾個experts:
      • 關系方向 Relation direction
        • WebNLG中的manager有68%的表示為is managed by, 此外還可能表示為is the manager of
        • 基于此表示為P_dir(d=<–)|manager)=0.68
      • 全局方向 Global direction
        • 雖然逆向的關系出現概率普遍低于50%, 但是長句中仍然有一兩個的關系是逆向的
        • 考慮條件概率p_gd(nr=n|G), 即觀察n條逆向邊在一個輸入G中, 包含|G|個三元組
      • 分割趨勢 Splitting tendencies
        • 對于每個輸入size, 我們跟蹤所有可能將facts集合分割成特定大小子集的方法
        • 如統計p_s(s=[3,2,2]|7)的值, 即輸入size為7, 后來分成了3+2+2
      • 關系轉移 Relation transitions
        • 考慮每個句子計劃作為一個關系類別的序列: (r_1,r_2,…,r_k,EOS), EOS用于標記序列末
        • 計算這個序列的markov轉移概率: p_trans(r_1,r_2,…,r_k,EOS) = 連乘k個轉移概率
        • 所有可能的plan都用上述轉移公式計算概率
          • 注意一個包含n個三元組的輸入將會生成O(2^(2n)+n*n!)個可能的plan
          • 但是對于WebNLG中大部分n<=7, 效率尚可, 當n很大時即圖G很大, 仍需要更優的打分機制, 留作未來工作
        • 打分機制用于抽取較優的plan
      • 可能替代 Possible Alternatives
        • 除了單一的plan選擇, 也可以實現多個plan, 如多個高分plan
        • 引入用戶控制, 即用戶決定需要多少個句子, 需要強調的entity以及順序等, 這些留作未來工作
        • 同一張圖不同輸出的示例, 各有不同的強調:
          • The Dessert Bionico requires Granola as one of its ingredients and originates from the Jalisco region of Mexico
          • Bionico is a food found in the Mexico region Jalisco. The Dessert Bionico requires Granola as an ingredient.
          • Bionico contains Granola and is served as a Dessert. Bionico is a food found in the region of Jalisco, Mexico.

    4. 計劃實現 Plan Realization

  • 計劃實現本文使用現成的vanilla-NMT系統來將plans翻譯成文本
  • 文本計劃輸入NMT系統, 需要將預先排序遍歷樹, 這邊不是很明白, 總之這個現成的NMT系統的輸入是有要求的
  • 訓練細節:
    • NMT系統使用了復制注意力機制(copy-attention mechanism)與預訓練的Glove.6B詞向量
    • 預訓練的詞向量是用于初始化plans中的關系節點, 以及參考文本中的節點
  • 生成細節:
    • 每個句子計劃單獨翻譯
    • 一旦文本生成, 在輸入圖G中用完整的entity字符串替換掉entity節點;
    • 所有日期型字符串轉化成July 4th, 1776的形式
    • 所有帶單位的數字型字符串刪除引號和括號, “5”(minutes)轉為5 minutes

    5. 實驗配置 Experimental Setup

  • WebNLG挑戰包含將RDF三元組集合映射成文本, 包括表達生成, 聚合, 非詞匯化, 表面實現, 句子分割
    • 每個樣本輸入不超過7個三元組
    • 測試集分為AB兩部分, 前者用于調優, 后者用于打榜
  • WebNLG語料庫包含18102個RDF文本三元組
  • plan-enhenced語料庫包含13828個plan2text對
  • 對比系統 Compared Systems
    • 本文在WebNLG挑戰里最好的提交結果與Melbourne(一個end2end的系統取得了最高評分在所有類別的自動評價機制下以及UPF-FORGe, 一種傳統的基于語法的NLG系統評分)比較
    • 此外本文還構建了一個end2end的基線模型
      • 該模型使用一個set編碼器, LSTM解碼器, 注意力機制, 復制注意機制, 一個神經checklist模型
    • entity-dropout和checklist兩大元素是與之前其他系統關鍵的不同之處
    • 本文稱之為強神經(StrongNeural)

    6. 實驗與結果 Experiments and Results

    本文的模型稱為BestPlan

    6.1 自動化評價機制

  • 主流的自動化評價機制:
    • BLEU
    • Meteor
    • ROUGE_L
    • CIDEr
  • 實驗結果表明本文的模型表現都是最好, 詳見Table 1
  • 6.2 手工評價機制

  • 置信度 Faithfulness
  • 流暢度 Fluency
  • 詳見Figure 4
  • 6.3 計劃實現連貫性 Plan Realization Consistency

  • 實現每個句子計劃并用兩個標準來檢驗
    • 是否所有plan中的entity都出現在了realization中
    • plan與realization中的entity是否以相同順序出現
  • 詳見Table 4
  • 7. 相關工作 Related Work

  • 文本計劃是傳統NLG中的一個主要成分
  • Stent e al(2004)展示了一種窮舉所有plan并使用RankBoost算法來排序的方法
    • 本文的plan selection算法相較太平實, 可以改進
  • 很多生成系統都基于"黑盒子"NMT系統
  • 從結構化數據生成文本往往需要知識基礎(如知識圖譜), 我們的模型以后可以用checklist模型進一步改進
  • 更復雜的任務: 文檔級別的planning
  • 8. 總結

  • 一言以蔽之, 我們做得比別人好
  • 總結

    以上是生活随笔為你收集整理的【论文阅读】自然语言生成(NLG)——基于plan思想的Data2Text任务实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。