# ニつの時系列データの関係を記述する自然言語文生成への 取り組み

中野由加子 1 小林一郎 1
1 お茶の水女子大学
\{g1920532,koba\}@is.ocha.ac.jp

## 概要

近年，表やグラフなど様々な数值データの表現形式を対象にした Data-to-Text の研究が盛んに行われ ている. 多くの研究は対象ドメインにおけるイベン 卜を説明するための自然言語文生成の中に数値デー タを取り込んだものとなっており，数値データその ものが表現する意味や複数の数値データ間の関係な どを捉えるような自然言語文生成はほとんどない.本研究では，二つの時系列データの関係性を捉え，記述する自然言語文生成手法の開発を目的とする。 データセットとして, 関連した動きをする部分があ る二つの時系列データ, その関係を記述した自然言語文, カテゴリを作成した。作成したデータセット の訓練データで学習したモデルを用いて評価データ について文生成を行い，モデルの評価を行なった.

## 1 はじめに

近年，様々な分野における数値データの収集が 容易になり, 表や時系列チャートなど多様な表現形式での数値データについて自然言語で記述する Data-to-Text の研究が注目されている. 多くの先行研究は, 数値データが観測されたドメインに特化した 自然言語記述と同様な自然言語文を生成することを 対象にしている. そのため, 数値データ以外にもそ の数値が観測されたイベントを表す表題や発話者な どのデータ発生の情報源といったコンテクスト情報 を追加した自然言語文生成が提案されている [1].

一方で，分析した数值解析結果を可視化ではな く言語化することによって, そのデータの内容を容易に把握することが可能になり, また対話システム や分析システムに組み込むことも可能になると考 えられる.しかし, そのような数值解析に基づいた Data-to-Text はほとんど見受けられない. ドメインに こだわらず，時系列データの動きのみを説明する手法として，Jhamtani ら [2] は, 時系列データ中に特定のパターンが出現するかについての真理条件に基 づいてキャプションを生成する手法（以下'TRUCE' と呼ぶ）を提案している. TRUCE は，一つの時系列データにおいて特定のパターンが見つかった場合 にそのパターンについて文を生成を行う。つまり，時系列データ特有のドメインを含んだ自然言語文生成を行うのではなく，時系列データそのものの動き を捉えた文生成を行っている。

本研究では，これに対して一つの時系列データに 関する振る舞いを説明する自然言語文生成ではな く，二つの時系列データの関係性を説明する文生成 を対象とする。

## 2 複数時系列データの関係性記述

記述対象の関係性 時系列データにおいて人が顕著に感じる動きとして，「増加（increase)」，「減少 (decrease)」，「頂上（peak）」，「凹み（dip)」の 4 つ が挙げられる (cf. [2]).二つの時系列データの振る 舞いの組み合わせをこれらの 4 種類の動きで考え ることも可能であるが，本研究では，二つの時系列 データが共に増加，減少，頂上，凹みである場合の 関係を捉え，それを自然言語で説明することを対象 とする。また，時系列データについて説明する際に は,「初期（beginning）」「中期（middle）」，「末期 (end)」などの時期についても言及する傾向がある ため (cf. [2])，対象とする 4 種類の動きに関する関係が見られる時期についても学習し, 二つの時系列 データの動きと発生時期について説明する文生成を 行う.

## 単一の時系列データと複数の時系列データ説明文生成の相違点 複数の動きが見られる一つの時系列 データの動きと時期について説明する場合には，ど の動きに対する文生成を行なっても，その動きと時期を捉え, 説明することが求められる. しかし, 複

図 1 データセット 1

図 2 データセット 2

数の動きが見られる複数の時系列データの関係につ いて説明する場合は，時系列データ間の関係性を捉 えた上で，関係がある動きと時期についての説明を 求められる。そのため本研究では，予め関係性のあ る二つの時系列データの動きを学習させることで， モデルが関係性のある動きを捉えやすくした。

## 3 データセット構築

二つの時系列データの関係性を説明するために，二つの時系列データの動きが共に増加，減少，頂上,凹みである場合の動きを学習させ，動きと時期を正 しく捉えた文が生成できているかについて評価を行 う. 捉えたい二つの時系列データの動きをモデルに 学習させるためのデータセット 1 と, 学習させた動 きを捉えることができているかの評価のためのデー タセット 2 を作成した。その内容を以下に示す.

## 3.1 データセット 1

捉えたい二つの時系列データの動きをモデルに 学習させるために，入力として与える二つの時系列 データ，訓練用の時系列データの正解カテゴリ, 出力として期待される正解文のペアデータを 96,000 個作成した．その内，85\%を訓練用データ，5\%を評価用データ，10\%をテスト用データとした．5,000step 訓練を行なった内，1,000step ごとに評価データを 用いて文生成を行い，BLUE スコアが最大の時のモ デルを実験に使用した。モデルの学習用に訓練用・評価用データを使用し，モデルが訓練データを学習 し，正しく文生成ができているかを評価するため に，後述する実験 1 でテスト用データを使用した.

時系列データ 対象とする時系列データの関係と なる 4 種類の動きとそれが生起する 3 種類の時期 の 12 通りのデータを作成した. 全体の時間幅を 27 と設定し，「初期」の場合は，0-8「中期」の場合は 9-17,「末期」の場合は 18-26 の範囲に二つの時系列 データの関係を示す挙動が収まるようにしてデータ を構築した。

選ばれた時期以外では，時系列データにほとんど 変動がないようにした．動きが「増加」，時期が「中表 1 訓練設定

期」である場合は，9-17 の範囲内で増加傾向がある 時系列データを作成する (図 1 参照). 作成したデー タは，二つの時系列データの值が $[0,1]$ に収まるよ うに正規化を行ってからモデルに入力する.

カテゴリ 二つの時系列データの関係性を捉えら れるようにエンコーダを訓練をするために，カテゴ リを用意した. エンコーダの出力からカテゴリ判定 を行う．上述した，動き 4 種類，時期 3 種類の組み 合わせ 12 種類を 0-11 の数字で表したものをカテゴ リラベルとして用いる.

正解文 動きと時期について言及する文を生成文の正解としている，データセットの作成を簡単 にするために， "Both series1 and series2 (trend) in the (period).”というテンプレートを使用し, 動き (trend) 4 種類と時期 (period) 3 種類についての単語を置き換 えることで正解文を生成した。

## 3.2 データセット 2

3.1 のデータセットで捉えたい動きと時期を学習 したモデルを用いて，捉えたい動きの他にそれ以外 の動きが含まれる時系列データについて説明文を生成する。評価用のデータセットのため，入力として 時系列データ, 出力として期待される正解文のペア を 10,800 生成し, 全てを後述する実験 2 用のテスト データとした.

時系列データ 捉えたい動きを 'target trend'，捉え たい動きの時期を 'target period’とする. target trend 以外の 3 種類の動きから 1 つを選択し，片方の時系列データに target period 以外の時期のどちらかに選 んだ動きを加え，合計 288 種類の二つの時系列デー タのペアを生成した. 図 2 は， target trend が凹み, target period が中期で， series1 (青色の時系列データ) に増加の動きが初期に追加された例となっている。

正解文 捉えたい動きと時期のぺア 1 つに対し て，片方の時系列データに target trend 以外の 3 種類 の動きを target period 以外の 2 種類から選んだ時期
表 2 実験結果

に追加し，二つの時系列データを入れ替えたデータ も作成した. この 12 種類について，同じ正解文を 作成した。

## 4 提案モデル

## 4.1 概要

提案するモデルの概要を図 3 に示す.

図 3 提案モデルの概要

モデルは Transformer [3] をべースに構築されてい る. 入力は二つの時系列データであり, Transformer を用いた多次元時系列データの異常検知を行う手法 である TranAD [4] を参考に形式を決めている（4.2 節にて後述).また，二つの動きの比較を可能にす るために positional embedding をそれぞれに追加する ことにより時刻を共通化している。時系列データの 特徴を上手くエンコーディングするために，先行研究 [1] のエンコーダの訓練手法を参考に，エンコー ダからの出力を受け，上述した時系列データの動き と時期によって表される 12 種類のカテゴリを識別 する層（図 3 中の Prediction Layer）を導入し，カテ ゴリの識別を訓練することにより，時系列データの 関係を正しく捉えた埋め込み表現をデコーダに渡し ている. デコーダは Transformer のデコーダを採用 している. エンコーダとデコーダをわけて訓練をし ており，エンコーダおよびデコーダの訓練時のハイ パーパラメータの設定を表 1 に示す.

## 4.2 時系列データの入力形式

時系列データの振る舞いを捉えるために，「ス ライディングウィンドウ (sliding window)」と呼ば れる，ある程度の範囲を時間方向に少しずつシ フトさせた特徴量によって時系列データを表現表 3 実験 1 のカテゴリ・生成文の正解率

することが多い. 本研究においてもそのことを 踏襲し, 入力形式として時系列データにスライ ディングウィンドウを適用したものを採用する. ウィンドウサイズを $K$ とし, 時刻 $t$ における值を $\boldsymbol{W}_{\boldsymbol{t}}=\left.\{x_{t-K+1}, x_{t-K+2}, \ldots, x_{t}\right.\}$ とする. このとき,入力は, $w_{t}$ のリストとなり, 長さ $T$ の時系列データ の場合， $\boldsymbol{W}=\left.\{W_{1}, W_{2}, \ldots, W_{T}\right.\}$ と表される. この形式をとることで，変化量がわかりやすくなり，時系列データの動きが捉えやすくなる.

## 5 実験

実験 1 で，学習モデルが 3.1 の訓練用データで学習した通りに，二つの時系列データの動きを捉えて 正しく文生成ができているか，データセット 1 のテ ストデータを用いて評価を行う．実験 2 では，捉え たい動きの他にそれ以外の動きが含まれる時系列 データについて説明文を生成することで，より複雑 な時系列データについても正しく文生成が行えるか を評価する。

## 5.1 評価方法

生成文の質を評価するために，BLEU [5] と perplexity (ppl)を用いた. 動き・時期を捉えられてい るかを確認するために，生成した文と正解文におい て，動き，時期，その両方を表す単語が一致してい るかどうかを判定した。これらに加えて, Prediction Layer におけるカテゴリ判定と生成文の単語におけ るより詳細な評価も行う。

## 5.2 実験結果及び考察

実験 1 BLEU Score が非常に高くなっているが，今回はテンプレートを用いて正解文を生成している ため文同士に大差がなく，また動きと時期を $94 \%$ 以上の確率で正しく捉えられているためだと考えられ る (表 2 参照).

カテゴリ判定と生成文の正解率について 正し くカテゴリ判定ができたデータは全体の $94.5 \%$ とな り，生成文において動きと時期の両方について正し く文生成ができている確率 $94.4 \%$ とほぼ一致した.

生成結果: Both series1 and series2 increase in the beginning.(増加 $\cdot$ 初期)正解: Both series1 and series2 increase in the beginning.(増加 $\cdot$ 初期)生成結果: Both series1 and series2 peak in the middle.(頂上・末期)正解: Both series1 and series2 peak in the middle. (頂上 - 中期)

生成結果: Both series1 and series2 peak in the middle.(頂上 ・ 初期)正解: Both series1 and series2 peak in the beginning. (頂上 ・ 初期)生成結果: Both series1 and series2 dip in the middle.(凹み・中期)正解: Both series1 and series2 dip in the end.(凹み・末期)

図 4 実験 1 の生成文と (生成カテゴリ)/正解文と (正解カテゴリ) の例

表 4 実験 2 のカテゴリ・生成文の正解率

図 5 動きが小さい例表 5 動きの大きさが異なる

正解率 $\quad 0.517 \quad 0.268$
エンコーダの出力から文生成を行うため，カテゴリ 判定の結果が生成される文における動きと時期の 単語に直結すると考えた. しかし，頂上と凹みにつ いては，カテゴリ判定と生成文の正解率が異なった (表 3 参照). カテゴリ判定が正しくできていても，文生成が正しくできない場合 (図 4 の右上) や，逆に カテゴリ判定が正しくできていなくても，文生成が 正しくできている場合 (図 4 の左下) が確認された.

実験 2 実験 1 と比べて全体的に精度が下がっ ている (表 2 参照). 原因の 1 つとして, 実験 2 にお けるデータのうち $50 \%$ が，捉えたい動きが小さく なったデータとなっていることが考えられる (表 5 参照). 実験 2 で用いたデータセットの時系列デー タは，加えた動きによっては正規化した際に，捉え たい動きを訓練時の半分ほどまで小さくしてしま う. 例えば，図 5 においては，初期に頂上の動きを 加えることで，末期の減少の動きの縦幅が全体の半分ほどまで小さくなっている．縦幅が小さくなって いないデータのうち $51.7 \%$ は動きと位置について正 しく文生成ができていたが，縦幅が小さくなってい るデータについて正しく文生成が行えていたものは $26.8 \%$ とどまった (表 5 参照). 正規化をすること で，捉えたい動きの幅が小さくなってしまい，モデ ルが捉えたい動きだと判断することが難しくなった

生成結果: Both series1 and series2 dip in the middle.(凹み・中期)正解: Both series1 and series2 increase in the end.(頂上 $\cdot$ 初期)

図 6 時期だけでなく動きも正しく捉えられていない例

## と考えられる。

カテゴリ判定と生成文の正解率について 正し くカテゴリ判定ができたデータは全体の $57.1 \%$ とな り，実験 1 に比べて大幅に下がった. カテゴリ判定 において，時期だけでなく動きも正しく捉えられて いないデータも見られた (図 6). これは，追加した データの動きの影響を受けていることによると考え られる。また，全体的に生成文の正解率がカテゴリ 判定の正解率からさらに下がっている (表 4). 実験 1 よりも，エンコーダで動きが正しく捉えられてい ても文生成がうまくいっていないデータが多いとわ かった. 生成文と生成カテゴリ/正解文と正解カテ ゴリのペアを Appendix に記載した。

## 6 おわりに

本研究では二つの時系列データの関係性を捉えた 文生成を行うモデルを提案し，作成したデータセッ トを用いてモデルの評価を行なった. 実験 1 では，高い精度で二つの時系列データにおける，学習した 動きを捉えた文生成を行うことができることが確認 できた. 実験 2 では，時系列データの動きがより複雑になり，動きの縦幅が学習時と異なる場合に動き を捉えることがより難しくなることが確認できた.正規化をすることで捉えたい動きが小さくなってし まうため，捉えたい動きをうまく捉えて文生成がで きるような工夫を考えたい。また，特に時期につい ての精度が下がってしまったので，訓練の手法等を 検討して精度を高めていきたい。

## 参考文献

[1] Jason Obeid and Enamul Hoque. Chart-to-text: Generating natural language descriptions for charts by adapting the transformer model, 2020. https://arxiv.org/abs/ 2010.09142 .

[2] Harsh Jhamtani and Taylor Berg-Kirkpatrick. Truthconditional captions for time series data. In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, pp. 719-733, Online and Punta Cana, Dominican Republic, November 2021. Association for Computational Linguistics.

[3] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, L ukasz Kaiser, and Illia Polosukhin. Attention is all you need. In I. Guyon, U. Von Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett, editors, Advances in Neural Information Processing Systems, Vol. 30. Curran Associates, Inc., 2017.

[4] Shreshth Tuli, Giuliano Casale, and Nicholas R. Jennings. Tranad: Deep transformer networks for anomaly detection in multivariate time series data. Proc. VLDB Endow., Vol. 15, No. 6, p. 1201-1214, jun 2022.

[5] Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. Bleu: A method for automatic evaluation of machine translation. In Proceedings of the 40th Annual Meeting on Association for Computational Linguistics, ACL '02, p. 311-318, USA, 2002. Association for Computational Linguistics.

## A 生成例

以下に実験 2 の生成例を示す.

・カテゴリ判定も生成文も正解

生成結果: Both series1 and series2
increase in the beginning. (増加・初期)
正解: Both series1 and series2
increase in the beginning. (増加・初期)
生成結果: Both series1 and series2
peak in the middle. (頂上・中期)
正解: Both series1 and series2
peak in the middle. (頂上・中期)

・カテゴリ判定は正解だが生成文は不正解

生成結果: Both series1 and series2
peak in the beginning. (增加・初期)
peak in the middle. (減少・末期)
正解: Both series1 and series2
increase in the beginning. (增加・初期) Both series1 and series2
peak in the middle. (頂上・初期)
decrease in the end. (減少・末期)
dip in the end. (凹み・初期)
peak in the beginning. (頂上・初期)

・カテゴリ判定は不正解だが生成文は正解

・カテゴリ判定も生成文も不正解


 中野由加子 1 小林一郎 1 1 お茶の水女子大学 \{g1920532,koba\}@is.ocha.ac.jp  