while (1): study();

[논문 리뷰] Table-to-text Generation by Structure-aware Seq2seq Learning 본문

논문 리뷰

[논문 리뷰] Table-to-text Generation by Structure-aware Seq2seq Learning

전국민실업화 2022. 1. 14. 02:26
728x90

링크: https://arxiv.org/abs/1711.09724

 

Table-to-text Generation by Structure-aware Seq2seq Learning

Table-to-text generation aims to generate a description for a factual table which can be viewed as a set of field-value records. To encode both the content and the structure of a table, we propose a novel structure-aware seq2seq architecture which consists

arxiv.org


Table-to-Text Generation에 있어 중요한 것 중 하나는 fidelity(신뢰성)입니다. 이를 보장하기 위해 기존의 모델들은 content selecting과 generation을 모듈화하기도 하였습니다. 이 논문에서는 end-to-end 방식으로 fidelity가 보장된 table-to-text generation을 위해 structure-aware seq2seq을 제안합니다.

1. Introduction

 Structure-aware seq2seq은 테이블의 내용과 구조를 모두 파악하는 것을 목표로 합니다. 논문에서 벤치마크 데이터셋으로 Wikibio를 이용하기 때문에, 위키에 있는 infobox를 토대로 사람이 biography description을 작성하는 경우를 생각해봅시다. 우선 어떤 컨텐츠를 어떻게 ordering할 지 결정하고, 이후에 어떤 단어에 집중해야 할지 결정하는 것이 이상적일 것입니다. 논문에선 후자를 local addressing, 전자를 global addressing이라고 합니다.

local addressing은 decoder가 생성할 때 테이블의 어떤 단어에 집중해야 하는지를 결정합니다. 

Local addressing determines which particular word in the table should be focused on while generating a piece of description at certain time step

반면 global addressing은 생성 시 테이블의 어떤 field-value쌍(record; 테이블의 한 row)에 집중해야 할지 결정합니다.  예를 들어 description 생성 시 특정 record가 유의미할 수도, 유의미하지 않을 수도 있겠죠. 또한 record가 나열된 순서에 따라서 성능이 영향을 받을 수 있습니다. 이런 경우 record간 관계를 파악하여 어떤 record에 집중해야 할지 파악하는 것은 필수적이라고 할 수 있습니다.

Global addressing is proposed to determine which records of the table should be more focused on while generating corresponding description

 

2. Task Definition

테이블은 n개의 레코드로 이루어져 있습니다. 즉 $T = { R_{1}, R_{2}, ..., R_{n} }$입니다. 각각의 레코드는 m개의 단어로 이루어진 sequence입니다. 이때 각각의 단어는 대응하는 field representation을 가집니다. 즉 $R_{t} = {d_{1}, d_{2}, ..., d_{t}}$이며 각각의 d는 대응하는 field representation ${ Z_{d_{1}}, Z_{d_{2}}, ..., Z_{d_{t}} }$를 가집니다.

이때 목적함수는 다음과 같이 레코드와 이전까지의 단어가 주어질 때 이번 타임스탭에 나올 단어의 확률을 최대화하는 것입니다.

 

3. Structure-Aware Seq2seq

앞서 언급한 Field representation은 다음과 같이 정의됩니다.

Field representation

$f_{w}$는 field embedding이며, $p_{w}$는 각각 value sequence에서 해당 단어가 가장 앞에서 몇번째 단어인지, 뒤에서 몇번째 단어인지를 의미하는 positional index입니다.

field representation을 활용하는 기존 방법론은 word embedding에 concatenation시키는 것이지만, 이렇게 되면 구조적인 의미가 사라지고 라벨링하는 것에 불과하게 됩니다. 구조적인 의미를 살리기 위해서 논문에선 lstm의 cell state에 field-gating을 통해 field representation을 주입하는 방법론을 채택합니다.

기존 LSTM 구조는 다음과 같습니다.

여기에 $z_{t}$로 표현되는 field representation을 gating합니다. $l_{t}$는 필요에 따라 field 정보를 수용 혹은 망각합니다.

 $l_{t}$∈[0,1] is the field gate to determine how much field information should be kept in the cell memory.

Field-gating encoder를 통해 테이블의 구조를 encoder가 파악할 수 있게 되었습니다. 이젠 decoder가 테이블 구조를 파악하기 위해서 dual-attention을 도입합니다. 간단하게 말하면 word-level attention과 field-level attention을 각각 도입하여 둘의 조합을 attention weight로 사용하겠다는 말입니다. 당연히 전자가 local addresssing, 후자가 global addressing을 담당하겠습니다.

 기존 attention weight가 $\alpha_{t_{i}}$라고 할때, field-level attention weight가 $\beta_{t_{i}}$이고, 이를 적절히 조합한 최종 weight가 $\gamma_{t_{i}}$입니다.

 정리하자면 dual-attention의 word-level attention이 local addressing을, dual-attention의 field-level attention과 field-gating lstm이 global addressing을 담당합니다. 이렇게 테이블의 구조를 적절히 파악함으로써 서로 다른 레코드에 같은 단어가 발생한다고 하더라도 다르게 이해할 수 있으며, 또한 레코드의 순서에도 덜 영향받을 수 있습니다.

Structure-aware seq2seq

 

4. Experiment

wikibio training set에서 가장 출현빈도가 높은 20000단어를 vocab으로 선정하였고, 100회 이상 발생한 field 1480개를 field vocab으로 선정하였습니다. field represenation에 있어 position index가 30을 넘어가는 경우는 모두 30으로 쳤고, 생성 시에 특정 max-length를 넘기면 생성을 중단하도록 하였습니다. oov에 대처하기 위해 unk토큰은 dual-attention matrix에서 가장 연관성이 높은 단어로 대체하였고, test 시에는 beam search를 사용했습니다.

우선 vanilla seq2seq만으로도 기존 통계기반 모델들을 가볍게 찍어누르는 성능을 보입니다. 이때 baseline seq2seq에는 word embedding과 field embedding을 concatentation하는 방식으로 input이 주어졌는데, field-gating 방식이 BLEU과 ROGUE 모두 약간 더 우세한 것을 확인할 수 있습니다. 주목할 것은 dual-attention입니다. 생성 시에 dual-attention을 적용할 경우 BLEU와 ROGUE가 거의 1 정도 모두 오르는 것을 확인할 수 있습니다. decoder가 encoder에 비해 상대적으로 생성 task의 성능 향상에 지대한 영향을 미친다는 것을 암시하는 것 같습니다.

 추가적으로 레코드 순서의 영향을 파악하기 위해서 레코드의 순서를 무작위로 섞어 실험도 해본 듯 합니다.

To cope with various schemas of different tables, it’s essential to model inter-record information within the tables by global addressing.

Vanilla seq2seq의 저하된 성능에 비해 Structure-aware seq2seq의 성능 저하가 상대적으로 미약합니다. 결과적으로 레코드의 ordering에 더 robust한 모델이라고 할 수 있습니다.

정성적으로 평가했을 때는 vanilla seq2seq에서 value error, missing value 등의 문제가 있었습니다. 그러나 proposed model에서는 상대적으로 필요한 모든 정보를 포함하며 잘 생성해냈다고 합니다.

728x90
Comments