# Langsmith: 人とシステムの協働による論文執筆

伊藤拓海 ${ }^{*, 1,2}$ 栗林樹生 ${ }^{*, 1,2}$ 日高雅俊 $*, 3$ 鈴木潤 1,4 乾健太郎 1,4
1 東北大学 ${ }^{2}$ Langsmith 株式会社 ${ }^{3}$ Edge Intelligence Systems ${ }^{4}$ 理化学研究所
\{t-ito, kuribayashi, jun.suzuki, inui\}@ecei.tohoku.ac.jp
hidaka@edgeintelligence.jp

## 1 はじめに

自然言語処理の有望な応用先として，エッセイや 物語，論文などの作成支援技術が盛んに研究されて いる $[1,2,3]$. 近年特に，効率的な支援の実現のた め，人とシステムがインタラクションを取りながら 協働的に言語活動を行う枠組みに期待が集まってい る $[4,5,6,7,8]$. 本研究では，表現が十分に練られ ていない草稿を人がシステムと協働的に推敲すると いう場面に焦点を当てる.

そもそも推敲とは，(人の頭の中にある）書きた い内容と現在書いている文章を比較し, 内容をわか りやすく，正確に伝えるために文章を練ることであ る. 推敲は語彙や文法, 修辞法などに対する深い知識が必要であり，人（特に未熟な書き手）にとって 負荷の高い作業である。一方システムは大規模コー パスから適切な表現や文章のパターンを獲得するこ とでき，表現に関する支援が期待できる. しかしな がら, システムが草稿から人の書きたい内容を推測 するのは困難であり，システムが自動で推敲を行う のは現実的でない. 推敲支援には，人がシステムに 書きたい内容を伝え，それに対してシステムが適切 な表現をフィードバックするというインタラクショ ンが重要であり，インタフェースの設計が鍵となる (図 1 ).

既存研究 $[4,5]$ では，「ここに単語を挿入して欲し い」や「この表現を書き換えて欲しい」といった指示を考慮して書き換えを行う生成モデルの開発がさ れている.しかしこれらの研究は, 人をシミュレー 卜した環境で，指示に従った生成ができるかどうか というモデルの性能に関する評価しか行っておら ず，人とシステムの協働的執筆が文章の質の向上に 繋がるのか，どういったインタラクションの取り方 が効率的なのかといった人を系に入れた議論が不足 している.
* 三者の貢献は同等である.

図 1 人とシステムによる協働的推敲の概要.

本研究では，自然言語処理分野の英語論文執筆支援を想定し，既存研究 $[4,5]$ の成果をもとに，人と システムが協働で文章を書く場として Langsmith エ ディタ1)を作成した. 英語を母語としない学生に利用してもらい，人とシステムの協働的な推敲に関す る事例研究を行った. 実験結果から，システムとの 協働的推敲によって文章の質の向上が確認された. また，ユーザ調査により実用的なインタフェースに 関する知見が得られた。

## 2 関連研究

文法誤りの訂正や言い換え表現の提案を行う執筆支援システムとして， ( Grammarly ${ }^{2)}$ や Beewriter ${ }^{3}$ が 挙げられる。これらのツールはシステムが一方的 にエラーを検知するいわば校正型であるのに対し， Langsmith エディタでは利用者がシステムの編集を 制御できるなどシステムとの協働を重視しており，協力して文章を書いていく執筆初期段階の支援を目指している点で Langsmith エディタはこれらのツー ルと異なる.

## Better Models for Grammatical Error Correction

図 2 Langsmithエディタのスクリーンショット.

## 3 Langsmit エディタ

## 3.1 協働による書き換え

人が与えた文に対してシステムが論文に適した流暢な文を提案する機能を実現する（図 2）.

人による制御可能性: 人とシステムの協働の効率化のため，利用者が書き換えを制御できるよう 2 つ の手段を提供する. 1 つ目は，重点的に書き換えて 欲しい箇所の選択機能（編集箇所指定）である. 利用者は自分が書いた文について「この表現が不自然」といった箇所を自覚している可能性があり，そ こを修正すべきか，またどう修正すべきかについて フィードバックが得られれば満足する場合が想定さ れる. 図 3 に示すように，本システムでは利用者が カーソルで選択した箇所に対して集中的に編集を加 える機能を実現した.

2 つ目は，表現を挿入してほしい位置の指定機能 （挿入箇所指定）である. 文脈付き索引のように，文脈に応じた自然な表現を探す時に役立つと考えられ る. 利用者は文中の特定の位置に特殊記号 “()”を 挿入でき，システムは特殊記号を適切な表現に置き 換えて文を書き換える（図 2）。

システムによる多様な提案: 流暢さやスタイルに関 わる修正では適切な推敲結果が一意に絞り込めない 場合があるため，複数の書き換え候補を提供する設計とした (図 2). 推論時の生成確率の上位数件を提示した場合非常に似たような候補が複数提示される 傾向が観察されたため，推論結果に多様さを促して いる [9].

モデルの実装: Ito ら [5] と同様に疑似学習データを 用いて Encoder-Decoder 型系列変換モデル [10] を訓練した. また編集箇所指定を実現するため，入力文
1 This formulation of the input and output promotes human-computer The design of the input and output promotes humancomputer interaction.

Such a formulation of the input and output promotes human-computer interaction. It supports the formulation of the input and output promotes human-computer interaction. The formulation of both the input and output promotes human-computer interaction.

(a) This formulation … output. に焦点を当てた書き換え.

1 This formulation of the input and output promotes human-computer This formulation of the input and output supports humancomputer interaction.

This design formulation of the input and output supports human-computer interaction.

This formulation of the input and output supports humancomputer interaction. The system This formulation of the input and output encourages human-computer interaction.

(b) promote. に焦点を当てた書き換え。

1 This formulation of the input and output promotes human-computer interaction.

Such a formulation of the input and output promotes the interaction between humans and computers.

This formula promotes the interaction of input and output in a human-computer interaction.

This formulation of the input and output promotes the interaction between human and computer.

(c) human-computer interaction. に焦点を当てた書き換え。

図 3 書き換え機能. カーソル選択した箇所が中心的に書 き換えられる。

中のスパンのうち参照文と比較して多くの編集が含 まれるものに特殊記号をつけて，編集箇所のヒント を与える形でモデルを学習した（付録 A）. システ ムは印がある箇所を重点的に編集するように学習さ れ (5.1 節)，エディタ上では利用者が印の位置を指
定することで編集箇所の指示が可能になっている.

エディタ上での実装: エディタ上では，執筆者が 文章の一部を範囲選択した際に書き換え機能が起動 する. モデルへの入力について，ユーザがカーソル 選択をした箇所に特殊記号が付与されることで編集箇所指定が実現される. システムによって提案され た候補は，各候補の違いを区別しやすくするため，入力文と比較して追加されたトークンは青く, 削除 されたトークンが存在した箇所は赤く強調表示さ れる。

## 3.2 その他の機能

補完機能: 文章中の適当な箇所から, 続く文章を 補完することができる. 文章内の先行文脈と共に論文タイトルやセクションを考慮することができる. エディタ上では，利用者が Tabキーを押すと補完機能が実行される. ACL Anthology から収集した論文データでチューニングしたニューラル言語モデ ル [11]を使用している。詳細は付録 B に記載する。誤り訂正機能: オープンソースの文法・経り誤り訂正ツールである LanguageTool ${ }^{4}$ を使用した. エディ タ上では検出された誤りが下線で強調表示される。

## 4 実験

人とシステムの協働を見据えて実装したエディタ が，想定利用者に対して有用であるかを調査する。

## 4.1 評価用データの作成

実際に論文執筆中の研究者を集めシステムの有効性を検証することは困難であるため，研究者が論文執筆の途中であるという状況を再現して実験を行 う. 執筆中の原稿として言語処理学会論文誌 LaTeX コーパス中の 8 つの日本語抄録を機械翻訳システ ム5)で英訳した文章（以降草稿と呼ぶ）を用い，草稿の推敲を英語を母語としない研究者に依頼する. また，翻訳業者() が英訳した抄録を参照訳とした。論文執筆者として自然言語処理の研究を行う 16 名 の学部生と修士課程の学生に推敲作業を依頼した。

## 4.2 実験設定

本エディタ上で実現される人とシステムの協働の 有効性を調査するため, (i) 本エディタが提供する書

4) https://github.com/languagetool-org/languagetool/ releases/tag/v3.2

5) https://translate.google.com/

6) https://www.ulatus.com/表 1

き換え・補完機能を使わずに推敲を行う場合7）（人 のみ)，(ii) 推敲に人が介入せず，入力に対して自動的に書き換え機能を適用した場合（システムのみ）, (iii) 人がエディタの機能を活用して推敲した場合 （協働）の 3 つの条件を比較する．システムのみの 設定では，入力の各文に対して編集箇所指定を行わ ずに書き換え機能を適用し，もっとも生成確率の高 い書き換え結果を採用した。

参加者には 2 つの草稿をそれぞれ人のみと協働設定で推敲してもらった. 参加者の半数が最初に人の みの設定で原稿を推敲し, その後協働設定で別の原稿を推敲した. 残りの半分の参加者は逆の順序で同 じ作業を行った．制限時間は設けず，参加者には草稿とともにオリジナルの日本語抄録を提示した. 完成した文章と参照訳を BLEURT [12] で比較した ${ }^{8)}$. なお，BLEURTが出力する値については $[0,1]$ といっ た值域が設定されておらず，参照訳と近いと値が大 きくなる.またべースラインとして草稿（編集な し）についても参照訳との BLEURTを計算した.

## 4.3 結果

表 1 に結果を示す. 協働の設定で書いた文章の方 が，人のみおよびシステムのみで書いたものよりも 有意にスコアが高く9)，本エディタにおける人とシ ステムの協働のための機能について，有用性が示唆 された. また付録 $\mathrm{C}$ に，各設定で推敲された文章の 統計を記載する。

## 5 分析

## 5.1 編集箇所指定機能の挙動

まず最初に 3.1 節で紹介した編集箇所指定機能 （図 3）について実装の妥当性を検証する。具体的に は，編集箇所として指定した範囲において，範囲指定されていない箇所と比べて頻繁に編集が行われて

7） 通常の執筆環境を想定し誤り訂正機能は使えるものとした.

8）BLEURT は文の比較に用いられる。完成した文章と参照訳 について予め文に分割し，BLEURT の値が最も大きくなる文 を組とみなして各文の BLEURT を計算した（付録 D).

9）ブートストラップ法による仮説検定 [13] $(p<0.05)$
表 2 質問 1-6 に対するユーザー調査の結果. 各值はその 選択肢を選んだ参加者の割合を示す.

 &  &  &  \\

表 3 各機能が執筆に役立ったかのアンケート結果.

いることを確認する.

$T$ 個のトークンからなる文 $\boldsymbol{x}=\left(w_{1}, \cdots, w_{T}\right)$ につ いて特定の範囲 $s=(i, j) \quad(1 \leq i<j \leq T, 1 \leq j-i \leq 5)$ を無作為に決め， $w_{i}$ の前と $w_{j}$ の後に編集範囲の開始と終了を示す特殊記号を挿入する．記号が挿入さ れた文を $\boldsymbol{x}^{\text {edit }}$ とする。 $\boldsymbol{x}^{\text {edit }}$ に対して書き換え機能を 適用し出力の生成確率上位 10 文 $\left(\boldsymbol{y}_{1}^{\text {edit }}, \cdots, \boldsymbol{y}_{10}^{\text {edit }}\right)$ を 得て，以下のスコアを算出する：

$
r=\left|\left.\{\boldsymbol{y}_{k}^{\text {edit }} \mid \boldsymbol{x}_{i: j} \in \operatorname{ngram}\left(\boldsymbol{y}_{k}^{\text {edit }}\right), 1 \leq k \leq 10\right.\}\right|
$

ここで $\boldsymbol{x}_{i: j}$ は編集範囲として指定された $\boldsymbol{x}$ の部分列 $\left(w_{i}, \cdots, w_{j}\right)$ である. また関数 $\operatorname{ngram}(\cdot)$ は与えられ た系列のすべての n-gram の集合を返す関数である。 $r$ は 10 個の出力のうち言い換えられていないものの 数を示し，r が小さいほど指定範囲で書き換えが生 じているとみなした. 特殊記号を挿入せずに書き換 え機能を適用した出力上位 10 文についても同様に 上記のスコア $r^{\prime}$ を計算し $r$ と $r^{\prime}$ を比較する. $r^{\prime}$ は 範囲指定しない場合に上位 10 出力に置いてその範囲が偶然書き換わる回数である.

草稿からランダムに収集した 1,000 文を用い， $r$ と $r^{\prime}$ の大小を比較する試行を 1000 回行った. 結果 は $r<r^{\prime}$ が 340 回， $r=r^{\prime}$ が 555 回， $r>r^{\prime}$ が 105 回 となった. $r^{\prime}$ より $r$ が小さくなることが有意に高頻度に起きた ${ }^{10)}$ ことから本アプローチによって書き換 え箇所の制御が行えているとみなした.

## 5.2 ユーザ調査

4.2 節の実験後, 参加者に以下の項目についてア ンケート調査を行った.
1. 協働の設定の方が執筆作業が快適.

2. 協働の設定の方が良い文章が作成できた.

3. 編集箇所指定機能が役立った.

4. 挿入箇所指定機能が役立った.

5. 書き換え機能で候補が複数提示されると役立った。

6. 補完機能で候補が複数提示されると役立った.

表 2 に結果を示す. 1 と 2 に対する回答から本エ ディタ上での協働の有効性が示唆された. 4 に対す る回答より，挿入箇所指定機能については比較的利用者が恩恵を受けていないことが示唆された. 複数 の多様な候補を提示することについては「どれを選 べばよいか分からない」といった利用者の負荷も懸念されていたが，5，6に対する回答結果から利用者 の印象は良かった.

また本エディタの各機能について，執筆で役立っ たかを回答してもらった（表 3）．書き換え機能が最 も役に立ったという評価を得ており，逆に言語モデ ルによる補完は比較的役立ったという回答が少な かった. 少なくとも本実験や実際の論文執筆では何 を書くかという内容は決まっており，言語モデルに よる内容レベルの補完は役立つ場面が少ないことが 示唆される。

## 6 おわりに

英語論文執筆支援システム Langsmith エディタを 開発した. 実験では. 英語非母語話者が英語論文を 推敲する際に本システムが有用であるかを検証し た. 16 名の被験者実験により本システムの有効性 が示唆された．ただし，本稿の実験は参加者が限定的で草稿も擬似的なものであるため，実情を把握す るためにはより大規模な実証実験が求められる. ま た，より効率的な支援システムの構築のため，人と システムの円滑なインタラクションの方法を模索し ていく必要がある.

現在, 医学・化学など様々な分野に特化したシス テムも公開中であり，今後さらにモデルや機能を開発・追加していく. 本エディタが学術界の言語的障壁の解決に寄与することを期待する.

## 謝辞

本研究は JSPS 科研費 JP19H04425，JP20J22697 の 助成を受けたものである.

## 参考文献

[1] Robert Dale and Adam Kilgarriff. Helping our own: The HOO 2011 pilot shared task. In Proceedings of the 13th European Workshop on Natural Language Generation (ENLG 2011), pp. 242-249, 2011.

[2] Chung-Ting Tsai, Jhih-Jie Chen, Ching-Yu Yang, and Jason S. Chang. LinggleWrite: a coaching system for essay writing. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: System Demonstrations (ACL 2020), pp. 127-133, 2020.

[3] Seid Muhie Yimam, Gopalakrishnan Venkatesh, John Lee, and Chris Biemann. Automatic compilation of resources for academic writing and evaluating with informal word identification and paraphrasing system. In Proceedings of the 12th Language Resources and Evaluation Conference (LREC 2020), pp. 5896-5904, 2020.

[4] David Grangier and Michael Auli. QuickEdit: Editing text $\&$ translations by crossing words out. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics (NAACL 2018), pp. 272-282, 2018.

[5] Takumi Ito, Tatsuki Kuribayashi, Hayato Kobayashi, Ana Brassard, Masato Hagiwara, Jun Suzuki, and Kentaro Inui. Diamonds in the rough: Generating fluent sentences from early-stage drafts for academic writing assistance. In Proceedings of the 12th International Conference on Natural Language Generation (INLG 2019), pp. 40-53, 2019.

[6] Qian Wang, Jiajun Zhang, Lemao Liu, Guoping Huang, and Chengqing Zong. Touch editing: A flexible one-time interaction approach for translation. In Proceedings of the 1 st Conference of the Asia-Pacific Chapter of the Association for Computational Linguistics and the 10th International Joint Conference on Natural Language Processing (AACL 2020), pp. 1-11, December 2020.

[7] Faeze Brahman, Alexandru Petrusca, and Snigdha Chaturvedi. Cue me in: Content-inducing approaches to interactive story generation. In Proceedings of the 1st Conference of the Asia-Pacific Chapter of the Association for Computational Linguistics and the 10th International Joint Conference on Natural Language Processing (AACL 2020), pp. 588-597, December 2020.

[8] Seraphina Goldfarb-Tarrant, Haining Feng, and Nanyun Peng. Plan, write, and revise: an interactive system for open-domain story generation. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics (NAACL 2019) : Demonstrations, pp. 89-97, June 2019.

[9] Ashwin K. Vijayakumar, Michael Cogswell, Ramprasaath R. Selvaraju, Qing Sun, Stefan Lee, David J. Crandall, and Dhruv Batra. Diverse Beam Search: Decoding Diverse Solutions from Neural Sequence Models. In Proceedings of the Thirty-Second AAAI Conference on Artificial Intelligence (AAAI 2018), pp. 7371-7379, 2018.

[10] Felix Wu, Angela Fan, Alexei Baevski, Yann Dauphin, and Michael Auli. Pay Less Attention with Lightweight and Dynamic Convolutions. In Proceedings of the 7th International Conference on Learning Representations (ICLR
2019), 2019

[11] Alec Radford, Jeff Wu, Rewon Child, David Luan, Dario Amodei, and Ilya Sutskever. Language Models are Unsupervised Multitask Learners. 2019.

[12] Thibault Sellam, Dipanjan Das, and Ankur Parikh. BLEURT: Learning robust metrics for text generation. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics (ACL 2020), pp. 78817892, 2020.

[13] Philipp Koehn. Statistical significance tests for machine translation evaluation. In Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing (EMNLP 2004), pp. 388-395, July 2004.

[14] Takumi Ito, Tatsuki Kuribayashi, Masatoshi Hidaka, Jun Suzuki, and Kentaro Inui. Langsmith: An interactive academic text revision system. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP 2020): System Demonstrations, pp. 216-226, Online, October 2020.

[15] Ari Holtzman, Jan Buys, Li Du, Maxwell Forbes, and Yejin Choi. The Curious Case of Neural Text Degeneration. In Proceedings of the 8th International Conference on Learning Representations (ICLR 2020), 2020.

## A 書き換え機能の詳細

Ito ら [5] と同様に疑似学習データを用いて書き 換えモデルを学習した. 具体的には，(i) 乱択削除 モデル，(ii) 文法誤り付与モデル，(iii) 文体変換モ デル，(iv) 含意文生成モデルの 4 種類の生成モデル を用いて，ACL Anthology Sentence Corpus ${ }^{11)} に ノ イ$ ズを加え疑似的な草稿を作成した. なお、Langsmith エディタでは誤り訂正機能が書き換え機能とは別に 実装されているため，文法誤り付与モデルで生成さ れたデータは使用していない，乱択削除モデルはラ ンダムに単語を削除したり，入れ替えたり，単語を “()”に置き換えたりするモデルである。この乱択削除モデルによる疑似的な草稿により，挿入箇所指定に実現した。編集箇所指定を実現するため，文体変換モデルで作成した草稿文と参照文を比較し，編集が必要な箇所を編集記号（<??>）で囲んだ。具体的には，参照文になく，草稿文にある表現に編集記号を挿入した. なお，草稿文と参照文に複数の編集箇所がある場合は，最長の編集箇所に編集記号を挿入する.より詳細な編集記号挿入アルゴリズムは文献 [14] の付録 Aを参照されたし.

また. 利用者に呈示される書き換え候補はニュー ラル言語モデルの生成確率によって, リランキング されている.ここで用いている言語モデルは補完機能で用いている言語モデルと同一である.

## B 補完機能の詳細

モデルには，事前訓練されたニューラル言語モ デル GPT-2 small（117M）を言語処理分野の論文で チューニングした.チューニング用のデータは, 2019 年までに ACL Anthology に掲載された 234,830 件の論文を使用した．学習のパラメータについては 文献 [14] の付録 B を参照されたし。また，補完機能 でもサンプリング [15]を用いて，複数の候補を呈示 している (図 4).

## C 4 節の評価用データと推敲後の文章の統計量

表 4 に 4 節で作成した評価用データと各実験設定で書かれた文章の統計情報を示す. 各値は平均値 で，“さ”に続く値は標準偏差を表している。

## Better Models for Grammatical Er

図 4 補完機能. これらの提案は, 左のコンテキストとセ クション名，論文タイトルによって条件づけられている。

表 44 節で作成した評価用データと各実験設定書かれた 文章の統計量.

## D 4 節の評価方法

WMT Metrics ratings data でチューニングされた BLEURT-Base を用いた. ${ }^{12)}$ BLEURT は文ぺアの類似度を評価する指標である．節 4 の実験では，実験参加者に抄録全体の推敲を依頼しており，文数や構成が参照訳と必ずしも一致しない. 推敲後の文章と 参照訳について文分割し，BLEURT の値が最も大き くなる文を組とみなして各文の BLEURT を計算し た.なお，文分割には $\mathrm{spaCy}^{13)}$ を用いた。


# Seq2Seq の組み合わせによる 問題文からの段階的プログラムコメント生成

大西朔永
岡山理科大学大学院総合情報研究科
i20im01os@ous.jp
}

椎名 広光
岡山理科大学総合情報学部
shiina@mis.ous.ac.jp

## 1 はじめに

第 4 次産業革命の中において，その核となる情報技術の理解を深める観点から，2020 年より，プログ ラミング教育 $[1,2]$ が小学校において，導入されて おり，情報技術に直接関わりのない大学においても 導入されている。また，エラーを可視化する学習支援ツールの研究 [3] や操作ログを用いた初心者向け 教育の研究 $[4,5]$, カードの操作を基本とした学習 システムの研究 [6] が行われている. プログラミン グ教育の主目的はプログラムの作成ではなく, 論理的思考力の育成である. 論理的思考力とは，課題を 解決するために必要な処理内容と処理の順序を考え る能力で，実際にプログラミングをせずとも，論理的思考力を習得することは可能であり, その方法と して，手続き学習を提案している.

手続き学習の研究として, 手作業によるアルゴ リズムの学習についての研究 [7] がある. 手続き 学習には，プログラムの概要を表す問題文と手続 きが必要となるが，人手によるプログラム手続き の作成は，コストが高く，困難である. そのため, Seq2Seq(Encoder-Decoder)[8, 9, 10]を用いたプログラ ムのソースコードからプログラム手続きを自動生成する手法 $[11,12,13]$ の開発を行っている. また, Java のソースコードからメソッドのコメントを生成 する研究 $[14,15,16]$ も行われている. これらの手法 ではプログラム手続きの生成にプログラムのソース コードが必要となる.

本研究では，図 1 に示すように，ソースコードを 必要としないプログラム手続きの生成を目的に，問題文から直接プログラム手続きの生成を試みてい る. しかし, 問題文から直接プログラム手続きにあ たる行コメントを生成することは難しいと考えてい る.プログラムを作成する際の人間の思考過程は，最初に問題文から大まかな処理の流れ (手順) を考

図 1 問題文からの段階的プログラムコメント生成の概要

え，次に手順をより詳細な行単位の処理に具体化す るという 2 段階であると考えられる。そのため，本研究では，問題文と行コメントの中間に大まかな処理の流れであるブロックコメントを加えた手法を提案している. GRU[17]を用いた Seq2Seqを組み合わ せたモデルを用いて，最初に問題文からブロックコ メントを生成し, 次に生成されたブロックコメント から詳細な行コメントを生成する 2 段階の生成手法 である。問題文から直接行コメントを生成する手法 と人間の思考過程に則った 2 段階生成の手法を自動機械翻訳評価指標である BLEU[18] やコメントの生成例で比較している。

## 2 手続き学習システム

プログラムには，プログラムの目的を達成するた めに必要な手続きとその手続きの順序を正しく記述 する必要がある，必要な手続きをプログラムが動作 する順序に並び替える問題を解くことにより，プロ グラムの手順を理解することが手続き学習の目的 である. 手続き学習システム [19] の流れは, 最初に プログラムの問題文と必要な手続きを表示し，次に ユーザに手続きをプログラムが動作する順序に並び 替えて貪い，最後に，手続きの順序の正解，不正解

並び替え前

図 2 手続き学習システム

## を表示する。

手続き学習システムを図 2 に示す. 例の為替のプ ログラムの場合，問題文は「お金を円の単位で入力 して、米ドル、ポンド、ユーロに変換するプログラ ムを作成しなさい。」であり，そのプログラムに必要な手続き 6 個が表示されている. 左の画面が並び 替える前の問題画面であり，右の画面はユーザが並 び替えた後の画面である.

## 3 プログラムコメントの生成

## 3.1 問題文から直接行コメントを生成する 直接生成手法

ベースラインとして，問題文から直接行コメント を生成する手法について述べる. プログラムの問題文と行コメントを対訳データとして，Seq2Seqを学習させる。問題文から直接行コメントを生成する手法の概要を図 3 に示す.

問題文という短い文章からプログラムの各行のコ メントである長い文章を生成する手法であり，英語 と日本語の翻訳等とは異なり，抽象的な情報をより 具体的な情報にする必要がある。 そのため，生成す る際に必要な情報が不足し，正しい行コメントの生成は難しいのではないかと考えられる。

## 3.2 段階的に行コメントを生成する 2 段階生成手法

問題文から直接行コメントを生成する手法の改善を目的に，ブロックコメントを間に挟むことで，行コメントを直接生成するのではなく，問題文から 処理の単位ごとのコメントであるブロックコメン トを生成し，ブロックコメントから更に具体的な 行コメントを生成する 2 段階生成手法を提案する.

図 3 問題文から直接行コメントを生成する手法の概要

図 42 段階生成モデルの学習の概要

図 52 段階生成モデルの生成の概要

Seq2Seq の組み合わせ方について以下に示す.

(1)2 段階で行コメントを生成する手法の学習の 概要を図 4 に示す. 2 段階生成モデルは 2 つの Seq2Seq で構成するが，各 Seq2Seq は独立して 学習を行う. 第 1 段階の Seq2Seq は問題文とブ ロックコメントを対訳データとして学習し，第 2 段階の Seq2Seq はブロックコメントと行コメ ントを対訳データとして学習する。

(2)2 段階で行コメントを生成する手法の生成の概要を図 5 に示す. 生成においては第 1 段階の学習済み Seq 2 Seq で問題文からブロックコメント を生成し，生成されたブロックコメントを第 2 段階の学習済み Seq $2 S e q$ の入力として用い, 行 コメントを生成する。

(3)2つの Seq2Seq を組み合わせ，段階的に行コメ ントを生成する 2 段階生成モデルの構造を図 6 に示す. 第 1 段階では問題文の単語 $x_{i}$ を順に Encoder 入入力し，変換された問題文の特徴を 捉えたべクトルを用いて，Decoder はブロック コメントの単語 $y_{i+1}$ を生成する. 第 2 段階では

$x_{i}$ : 問題文の $i$ 番目の単語

$y_{i}:$ ブロックコメントの $i$ 番目の単語

$\mathrm{z}_{i}:$ 行コメントの $i$ 番目の単語

図 6 段階的に行コメントを生成する 2 段階生成モデルの構造

第 1 段階で生成されたブロックコメントの単語 $y_{i+1}$ を順に Encoderへ入力し，変換されたブ ロックコメントの特徴を捉えたべクトルを用 いて, Decoder は行コメントの単語 $z_{i+1}$ を生成 する。

2 段階生成手法では，ブロックコメントを追加し ているため, モデルが利用可能な情報は増加してお り，問題文から直接行コメントを生成する手法に比 べ，生成される行コメントの精度が向上するのでは ないかと考えている. また, 生成の段階を分けるこ とで，第 1 段階の生成で副産物としてブロックコメ ントが生成される利点もある.

## 4 生成コメントの評価

## 4.1 実験環境

評価するモデルは，ベースラインとして問題文か ら直接行コメントを生成する直接生成モデル，問題文からブロックコメントを生成し，そのブロックコ メントから行コメントを生成する 2 段階生成モデ ルの 2 種類である. 対訳データとして，大学の情報科学科の講義で使用された $\mathrm{C}$ 言語のプログラム 26 個の問題文，ブロックコメント，行コメントを用い た. 生成されたコメントは，26 個のプログラムを学習と評価に 9 対 1 で分割し，オープンテストによ り，評価している．評価方式については，生成され たコメントを対象に自動機械翻訳評価指標である BLEUを用いた。

## 4.2 評価指標 BLEU を用いた評価

生成されたコメントの BLEU による全体評価を表 1 に示す. 評価に用いた 3 個のプログラムの問題文表 1 生成されたコメントの BLEU による全体評価

表 2 問題文から生成されたブロックコメントの例

 &  \\

から生成されたブロックコメントと行コメントを BLEU で評価している．直接生成モデルはブロック コメントを生成せずに，問題文から直接行コメント を生成するため，ブロックコメントの評価は存在し ない.

行コメントの評価では, 直接生成モデルと比較し て，2 段階生成モデルは BLEU が約 0.026 向上した 0.5871 となっており，段階的にコメントを生成す る 2 段階生成手法が有用であることが確認できる. また， 2 段階生成モデルの第 1 段階で生成されたブ ロックコメントの評価は 0.8093 となっており，高 い評価であるため，行コメントの精度向上に貢献し た可能性が考えられる. 2 段階生成モデルにおいて は，第 1 段階の評価と第 2 段階の評価が比例し，第 1 段階の評価が低い場合は第 2 段階の評価も低くな るのではないかと考えている.
表 3 プログラム B の行コメントの生成例と評価

 &  & 0.4592 &  &  & 0.5169 \\

## 4.3 コメントの生成例による評価

2 段階生成モデルの第 1 段階で問題文から生成さ れたブロックコメントの生成例を表 2 に示す. プロ グラム A は「浮動小数点」や「入力」，「条件」，「表示」等の問題文に対応するブロックコメントを生成 できている.プログラム B を確認すると，「行列の 和」や「表示」等の問題文に対応するブロックコメ ントは生成できているが，問題文の「行列の要素の 和」や「最小值」,「配列の添え字」に関するブロッ クコメントを生成できていない. 行列の和を計算 し，表示するプログラムに強く影響されたことが原因であると考えている。

プログラム B の行コメントの生成例とその評価を 表 3 に示す. プログラム A については直接生成モデ ル及び 2 段階生成モデル双方とも同じ行コメントを 生成しており，その BLEU も 0.7270 と高い評価と なっている. プログラム B は変数の宣言部分では直接生成モデルが「整数型変数」の宣言のみの生成で あるのに対して，2 段階生成モデルは「整数型変数 の配列」の宣言も生成できている。また，プログラ ム A は不必要な入力処理のコメントを生成してし まっている. どちらのプログラムにおいても複数の コメントの繰り返しが発生しているが，プログラム A が理解できないコメントの繰り返しであるのに対 して，プログラム B は行列の和を求める処理を連想 させる一連のコメントを繰り返している。

## 5 まとめと今後の課題

本研究では，手続き学習システムのためのプログ ラムコメントの生成を目的に，ソースコードを必要 としない手法として，問題文からのプログラム手続 きの生成を 2 種類の手法で試み，段階的にコメント を具体化する 2 段階生成モデルの有効性が確認でき た. Seq2Seqの組み合わせ方の改善やソースコード も絡めた手法の開発が今後の課題である.

## 参考文献

[1]Ministry of Education, Culture, Sports, Science and Technology. Elementary school programming education guide (2nd edition). https://www.mext.go.jp/a_menu/shotou/ zyouhou/detail/1403162.htm, 2018. Accessed May. 5, 2020 (in Japanse).

[2]Ministry of Education, Culture, Sports, Science and Technology. How to programming education at elementary school level (Summary of discussion). https://www.mext.go.jp/b_menu/shingi/chousa/ shotou/122/attach/1372525.htm, 2016. Accessed May. 5, 2020 (in Japanse).

[3]Haruki Kanamori, Takahito Tomoto, and Takako Akakura. Development of a Computer Programming Learning Support System Based on Reading Computer Program. In Human Interface and the Management of Information. Information and Interaction for Learning, Culture, Collaboration and Business, pp. 63-69, 2013. DOI:10.1007/978-3-642-39226$9 \_8$.

[4]Koki Okimoto, Shimpei Matsumoto, Shuichi Yamagishi, and Tomoko Kashima. Developing a source code reading tutorial system and analyzing its learning log data with multiple classification analysis. Artificial Life and Robotics, Vol. 22, No. 2, pp. 227-237, 2017. DOI:10.1007/s10015-017-0357-2.

[5]Shimpei Matsumoto, Koki Okimoto, Tomoko Kashima, and Shuichi Yamagishi. Automatic Generation of C Source Code for Novice Programming Education. In Human-Computer Interaction. Theory, Design, Development and Practice, pp. 65-76, 2016. DOI:10.1007/978-3-319-39510-4_7.

[6]Shimpei Matsumoto, Yusuke Hayashi, and Tsukasa Hirashima. Development of a Card Operation-Based Programming Learning System Focusing on Thinking between the Relations of Parts. IEEJ Transactions on Electronics, Information and Systems, Vol. 138, pp. 999-1010, 2018. DOI:10.1541/ieejeiss.138.999.

[7]Junko Shinkai, Yoshikazu Hayase, and Isao Miyaji. A Trial of Algorithm Education Emphasizing Manual Procedures. In Proceedings of Society for Information Technology \& Teacher Education International Conference 2016, pp. 113118, 2016.

[8]Ilya Sutskever, Oriol Vinyals, and Quoc V Le. Sequence to Sequence Learning with Neural Networks. In Advances in Neural Information Processing Systems 27 (NIPS 2014), pp. 3104-3112, 2014.

[9]Thang Luong, Hieu Pham, and Christopher D. Manning. Effective Approaches to Attention-based Neural Machine Translation. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 14121421, 2015. DOI:10.18653/v1/D15-1166.

[10]Alexander M. Rush, Sumit Chopra, and Jason Weston. A Neural Attention Model for Abstractive Sentence Summarization. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 379-389, 2015. DOI:10.18653/v1/D15-1044.

[11]Akiyoshi Takahashi, Hiromitsu Shiina, Ryunosuke Ito, and Nobuyuki Kobayashi. Procedure Generation for Algorithm Learning System using Comment Synthesis and LSTM.
International Journal of Service and Knowledge Management( IJSKM), Vol. 3, No. 2, pp. 48-61, 2019.

[12]Sakuei Onishi, Akiyoshi Takahashi, Hiromitsu Shiina, and Nobuyuki Kobayashi. Automatic comment generation for source code using external information by neural networks for computational thinking. International Journal of Smart Computing and Artificial Intelligence (IJSCAI). to appear.

[13]Sakuei Onishi, Fumihiro Yukimoto, and Hiromitsu Shiina. Program Comment Generation Through Distributed Representation Construction Using Parse Tree Information. In IIAI International Conference on Advanced Applied Informatics 2020, pp. 434-439, 2020. DOI:10.1109/IIAIAAI50415.2020.00093. Online.

[14]Xing Hu, Ge Li, Xin Xia, David Lo, and Zhi Jin. Deep Code Comment Generation. In 2018 IEEE/ACM 26th International Conference on Program Comprehension (ICPC), ICPC '18, p. 200-210, 2018. DOI:10.1145/3196321.3196334.

[15]Xing Hu, Ge Li, Xin Xia, David Lo, and Zhi Jin. Deep code comment generation with hybrid lexical and syntactical information. Empirical Software Engineering, Vol. 25, No. 3, pp. 2179-2217, 2019. DOI:10.1007/s10664-019-09730-9.

[16]Boao Li, Meng Yan, Xin Xia, Xing Hu, Ge Li, and David Lo. DeepCommenter: A Deep Code Comment Generation Tool with Hybrid Lexical and Syntactical Information. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, p. 1571-1575, 2020. DOI:10.1145/3368089.3417926.

[17]Kyunghyun Cho, Bart van Merriënboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 1724-1734, 2014. DOI:10.3115/v1/D14-1179.

[18]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 of the Association for Computational Linguistics, pp. 311-318, 2002. DOI:10.3115/1073083.1073135.

[19]Kohei Sakane, Nobuyuki Kobayashi, Hiromitsu Shiina, and Fumio Kitagawa. Kanji Learning and Programming Support System which conjoined with a Lecture. In IEICE Technical Report, Vol. 114 of ET2014-86, pp. 7-12, 2015.


# Commonsense Knowledge Aware Concept Selection For Diverse and Informative Visual Storytelling

Hong Chen ${ }^{1,3}$, Yifei Huang ${ }^{1}$, Hiroya Takamura ${ }^{2,3}$, Hideki Nakayama ${ }^{1,3}$
The University of Tokyo ${ }^{1}$, Tokyo Institute of Technology ${ }^{2}$
National Institute of Advanced Industrial Science and Technology, Japan ${ }^{3}$
\{chen, nakayama\}@nlab.ci.i.u-tokyo.ac.jp
hyf@iis.u-tokyo.ac.jp, takamura.hiroya@aist.go.jp
}

\begin{abstract}
Visual storytelling is a task of generating relevant and interesting stories for given image sequences. We propose to foster the diversity and informativeness of a generated story by using a concept selection module that suggests a set of concept candidates. Then, we utilize a large scale pre-trained model to convert concepts and images into full stories. To enrich the candidate concepts, a commonsense knowledge graph is created for each image sequence from which the concept candidates are proposed. To obtain appropriate concepts from the graph, we propose two novel modules that consider the correlation among candidate concepts and the image-concept correlation. Extensive automatic and human evaluation results demonstrate that our model can produce reasonable concepts.
\end{abstract
## 1 Introduction

Most previous works on Visual Storytelling (VST) constructed end-to-end frameworks $[19,18,10,21]$. However, their stories tend to be monotonous which contains limited lexical diversity and knowledge [6] (see the example in Figure 1). Recently, two-stage generation methods, also known as plan-write strategy, aroused much research attention in story generation tasks [20,14,1]. When adopted to the task of VST, Hsu et.al. [6] shows that this strategy is capable of generating more diverse stories compared with end-to-end methods.

In this work we aim to generate stories that are both diverse and informative for a given input image sequence. Taking the advantage of the previous two-stage models, we detect image concepts and construct concept graphs for proposing a set of concept candidates, and propose two novel methods for better selecting the appropriate concept for the second generation stage. After detecting the concept in each input image, we first extend the concepts into a larger commonsense graph using ConceptNet [13]. This extension step increases the informativeness of generated stories. Since selecting appropriate candidates from the concept graph is critical for generating stories of good qual-

[state-of-the-art] The basketball [state-of-the-art] It was a great day game was intense. The opposing for the baseball game. It was a lot of team was very competitive.The fun. The crowd was cheering game was intense. The fans on. The game was intense. It was a cheered. It was a great game . great day to see the game.

[Ours] The team was on the court [Ours] This was the baseball game. on the last night of the basketball The players were all excited to be game. The player on the team playing against each other in the was on a shot. The ball kept game. We all watched as the team getting blocked during the game. played together. The players got in Team fans on the sidelines were on the action and played hard. This cheering the team. The other was my favorite part of the game. team on the other shot was also The game was just too great. Our blocked. team won the game!

Figure 1 Stories generated by the existing work [10] and our proposed model using concept selection (red). The existing work tends to generate similar stories (blue) for different inputs.

Our model can generate more informative and diverse stories.

ity, a natural way is to use a graph attention network [17] to refine the node features.

For selecting the most adequate concept from the candidates as the input to the second stage of our model, two novel modules are proposed in this work. The first one, named Sequential Selection Module (SSM), operates in a straightforward manner that uses an encoder-decoder for selecting concepts for each image. Differently from SSM, the second module called Maximal Clique Selection Module (MCSM) processes the concept graph as a whole. It learns a probability for each concept in the training phase, and during inference it finds a maximal clique using the Bron Kerbosch algorithm [2]. The concepts within the clique are used for the next story generation step. Our experiments show that improved quality of concept selection can greatly help to increase the diversity of the generated stories while keeping the relevance with the input images.

The second stage of our model generates a story with the image features and the selected concepts. Other than using the same module for fair comparison with existing works, we also propose to modify the large scale pre-trained model BART [11] to input the images and concepts and output the full stories.

We conduct extensive experiments on the public VIST dataset [9]. Our experiments demonstrate that using our

Figure 2 An overview of our visual storytelling model. The image features are obtained by a pretrained CNN combined with a bi-LSTM layer. The concepts are obtained from a concept detection model and enriched by ConceptNet [13]. These concepts from the nodes in a graph and are connected according to the relationship in the knowledge base. Initialized by the word embedding vector, the concept features are then updated by a Graph Attention Network. Our proposed concept selection module is then applied to select concept words using the image and concept features. Finally, both image features and concept words are used to generate a full story.

proposed concept selection modules, our generated stories can achieve better performance on both automatic metric and multiple human evaluation metrics using the same generation module. When equipped with BART, the quality of the stories can be remarkably improved, with the generated story diversity similar to human writing.

In summary, our main contributions are listed as follows:
- We propose two novel modules SSM and MCSM to select concepts from the given candidates concepts under a plan-write two-stage visual storytelling system.
- We exploit modified BART as our story generation module to mitigate the problem caused by limited vocabulary and knowledge in the dataset.
- Large scale experiments using automatic metrics and human evaluation show that our model can outperform previous models by a large margin in both diversity and informativeness, while retaining the relevance and logicality as the previous work.

## 2 Related Work

Wang et.al. [18] proposed a visual storytelling framework which is widely used as a base model in the comingup studies. This framework uses an end-to-end structure that first converts the image into features and then transfers its information to the adjacent images by a BiLSTM layer. Finally, a decoder decodes the features separately and merges the sentences into a story. While many succeeding works $[8,10]$ can achieve high automatic scores, the story may not be interesting and informative [7] for humans as they often contain repetitive texts and limited information. On the other line of the research, to alleviate the low diversity problem, Hsu et.al. [6] proposed to generate several concepts before outputting the full stories. The discrete concept words can guide the decoder to produce more diverse stories. This plan-and-write strategy [20] can substantially increase the diversity of the stories.

## 3 Method

Figure 2 depicts an overview of our proposed model. Given a sequence of $N$ image features $I=\left.\{I_{1}, \ldots, I_{N}\right.\}$ as input, our model 1) construct a large commonsense graph for the images, 2) update concept feature in the graph, 3) select the concepts from the graph and 4), send concepts and image features into the decoder to output the full story. The details of each step are as follows.

## 3.1 Commonsense Graph Construction

We use clarifai [16] to obtain the top 10 seed concepts from each image. Each concept is used as a query to select relative commonsense concepts in the ConceptNet [13]. An undirected edge is established between concepts if they are related in ConceptNet. Also, a concept in one image will connect to the related concepts in the adjacent images to allow information flow between images.

## 3.2 Concept Features Update

Initialized with word embedding vectors, the concept features are updated by a two-layer Graph Attention Network, which passes information between connected concepts and image using attention mechanism.

## 3.3 Concept Selection Module

We propose two methods to select concepts given the concept features and the image features. To better formalize the procedure in the methods, we denote $c^{i, j}$ as the $j$-th concept of the $i$-th $(1 \leq i \leq N)$ image. we let $\mathcal{C}_{S}=\left.\{c_{S}^{1,1}, \ldots, c_{S}^{N, K}\right.\}$ and $\mathcal{C}_{G}=\left.\{c_{G}^{1,1}, \ldots\right.\}$ denote the concepts set in the source candidate concepts and the full word set in the gold story, respectively. The target concepts are their intersection: $\mathcal{C}_{T}=\mathcal{C}_{S} \cap \mathcal{C}_{G}$.

(a) Sequential Selection Module (SSM)

(b) Maximal Clique Selection Module (MCSM)

Figure 3 Concept selection modules: (a) Sequential Selection Module (b) Maximal Clique Selection Module

## 3.3.1 Sequential Selection Module (SSM)

One straightforward way of selecting concepts is to adopt an encoder-decoder model where we can forward the updated concept features into the encoder, and the decoder will output the selected concepts. Inspired by the Copy Mechanism [4], instead of generating a probability distribution with vocabulary size in each step, the SSM outputs are directly chosen from the inputs $\mathcal{C}_{S}$. As shown in Figure 3(a), we use a GRU [3] to first encode the concept embedding feature $v_{S}^{t-1}$ and the hidden state into a new hidden state $h^{t}$. We then use $h^{t}$ to query all the concepts in $\mathcal{C}_{S}$ to get a probability $p_{S}$ for each concept in the source set. Finally the concept with the highest probability is selected as the output concept, while its feature is directly copied for the generation of the next step:

$
\begin{aligned}
h^{t} & =\mathbf{G R U}\left(h^{t-1}, v_{S}^{t-1}\right), \\
p_{S} & =\operatorname{softmax}\left(\left(W_{h} h^{t}\right)^{\mathrm{T}} W_{c} V_{S}\right), \\
c_{S}^{t} & =\operatorname{argmax}\left(p_{S}\right)
\end{aligned}
$

Here $W_{h}$ and $W_{c}$ are trainable projection matrices. The objective function is to maximize the probability score of the concepts which locate in $C_{T}$.

$
\mathcal{L}_{s s m}=-\Sigma y_{S, T} \log \left(p_{S}\right)
$

where $y_{S, T}$ is an indicator of whether a concept in $\mathcal{C}_{S}$ is in $\mathcal{C}_{T}$. The sequence selection step stops when the module generates <end> token. This <end> token is added to the set of candidate concepts with a uniform random initialized feature without any update during the training phase. The same procedure is done to the <start> token except that it is not involved in the candidates.

## 3.3.2 Maximal Clique Selection Module (MCSM)

Different from SSM, this method aims to calculate the co-occurrence probability of all candidate concepts $c_{s}$ in the graph. An illustration of MCSM is shown in Figure 3(b). In the beginning, we calculate self-attention to compute a correlation matrix $M_{C} \in(N K \times N K)$ which contains the correlation between each pair of nodes. We also calculate another correlation matrix for each image $M_{I} \in(N \times K)$ indicating the correlation between the concept embedding feature $\left(v_{S}\right)$ and image features $(I)$.

$
\begin{aligned}
M_{C} & =\sigma\left(v_{S}^{\mathrm{T}} W_{a}^{\mathrm{T}} W_{b} v_{S}\right) . \\
M_{I} & =\sigma\left(I^{\mathrm{T}} W_{c}^{\mathrm{T}} W_{d} v_{S}\right) .
\end{aligned}
$

Here, $W_{a}, W_{b}, W_{c}, W_{d}$ is trainable weights, $\sigma$ denotes sigmoid activation function. Intuitively, the concepts that appear in a gold story should own high correlations with each other, and the image should be highly related to the gold concepts to describe it. Thus, our target correlation maps can be written as follow:

$
\begin{aligned}
& \hat{M}_{C}[i, j]= \begin{cases}1, & c_{i} \in \mathcal{C}_{T} \wedge c_{j} \in \mathcal{C}_{T} . \\
0, & \text { otherwise. }\end{cases} \\
& \hat{M}_{I}[i, j]= \begin{cases}1, & c_{j} \in \mathcal{C}_{T}^{i} . \\
0, & \text { otherwise. }\end{cases}
\end{aligned}
$

Then, the objective is to minimize the difference between predicted and target correlation maps:

$
\mathcal{L}_{m c s m}=\lambda_{1}\left.\|M_{C}-\hat{M}_{C}\right.\|_{2}^{2}+\lambda_{2}\left.\|M_{I}-\hat{M}_{I}\right.\|_{2}^{2}
$

In the testing phase, $M_{C}$ can be viewed as a fully connected graph in which the edge weights are the values in the matrix. Therefore, a low edge weight means less cooccurrence probability between two concepts. Based on this assumption, we set a threshold $\tau$ to remove the edges whose weight is less than $\tau$. Then we apply Bron Kerbosch algorithm [2] to find all maximal cliques from the remaining sub-graph. Finally, we score each of them with equation 6 and select a clique with maximum score $s$. The output concepts are the nodes within the selected cliques.

$
\begin{aligned}
s & =s_{C}+s_{I} . \\
s_{C} & =\frac{1}{\left(\left.\|\mathcal{C}_{P}\right.\|-1\right)\left.\|\mathcal{C}_{P}\right.\|} \sum_{i} \sum_{j \neq i} \log \left(M_{C}[i, j]\right) . \\
s_{I} & =\frac{1}{\left.\|\mathcal{C}_{P}\right.\|} \sum_{i=1}^{N} \sum_{c_{j} \in \mathcal{C}_{P}^{i}} \log \left(M_{I}[i, j]\right) .
\end{aligned}
$

Table 1 Human evaluation. Numbers indicate the percentage of annotators who believe that a model outperforms its opponent. Methods without (+BART) means using RNN as the story generation module. Cohen's Kappa coefficients ( $\kappa$ ) for all evaluations are in Moderate or Fair agreement, which ensures inter-annotator agreement. We also conduct a sign test to check the significance of the differences. The scores marked with * denotes $p<0.05$ and ** indicates $p<0.01$ in sign test.

Table 2 Diversity of generated stories by different methods. $\dagger$ denotes the story generation module is pre-trained with other dataset. it denotes the model is end-to-end trained.

where $\mathcal{C}_{P}$ denotes the concepts in a clique, and $\mathcal{C}_{P}^{i}$ denotes the concept of the $i$-th image in the clique.

## 3.4 Concept to Story Module

The selected concepts are assigned to its corresponding image to generate the sentences. We tried two kinds of encoder-decoder to decode the story: 1) RNN: a simple RNN based encoder-decoder module that uses multi-head pooling to encode the concept embedding, and decode the sentences with a RNN decoder. 2) BART: a large scale pre-trained encoder-decoder which both can encode the input and output the sentences.

## 4 Experiment

We conduct experiments on the widely used VIST dataset [9]. For fair comparison, we follow the same experiment setting as [10] except that we set the vocabulary size to 28,000 . All models use the same fixed random seed. We use the following baselines:

INet [10] uses a "hide-and-tell" strategy to train an end-toend model. In this method no concept is used.

KS [19] uses sigmoid attention to incorporate concept features into the model. We change the structure of the visual encoder and decoder the same as INet for fair comparison. KG-Story $\dagger$ [6] is a strong baseline that use two stage planwrite strategy and pre-train the decoder on RocStories Corpora [15]. †indicates the model uses a pre-trained model.

Image+BART $\dagger$ is an end-to-end baseline that uses BART on top of image features to directly generate the story. This baseline is one-stage that does not generate concepts.

We also change the concept selection module and story generation module in our model to validate the effectiveness of each component. Specifically, we compare: Rand+RNN, C_Attn+RNN, SSM+RNN, MCSM+RNN,

## and MCSM+BART $\dagger$.

Human Evaluation To better evaluate the quality of generated stories, we conduct human evaluation to compare pairwise outputs with several models via the Amazon Mechanical Turk (AMT). We sample 200 image sequences from the test set and generate stories using each model. For each sample pair, two annotators participate in the judgement and decide their preference on either story (or tie) in terms of Relevance, Informativeness, Logicality and Overall. Table 1 shows the human evaluation result. From the comparison between MCSM and INet and the comparison between MCSM and KS, we can see that our two-stage planning method greatly outperforms the end-to-end models, especially in the informativeness score. The MCSM module also outperforms the SSM module, which indicates positive correlation between the quality of concept selection and the overall quality of generated stories. Finally, using BART with MCSM can help to achieve further informativeness and generate even better stories.

Comparison on diversity We report Distinct-n scores [12] in Table 2 that calculate the percentage of unique $\mathrm{n}$-gram in all generated stories in the test data. Higher score means less inter-story repetition. From the table, two stage methods (KG-Story and ours) achieve significantly higher diversity scores. Our MCSM can generate the most diverse stories among all the methods without using external pre-trained models. When equipped with BART, we can achieve diversity close to human writing.

## 5 Conclusion

In this work we exploit concept selection for improving the diversity and informativeness of stories generated from image sequences. By constructing a commonsense graph and two novel modules for concept selection, our proposed model outperforms all previous works in diversity by a large margin while still preserving the relevance and logical consistency on the VIST dataset.

Acknowledgements This paper is based on the conference paper presented at AAAI2021 [5] and was based on the results from a project, JPNP20006, commissioned by the New Energy and Industrial Technology Development Organization (NEDO) and also supported by JSPS KAKENHI Grant Number JP19H04166.

## References

[1]P. Ammanabrolu, E. Tien, W. Cheung, Z. Luo, W. Ma, L. J. Martin, and M. O. Riedl. Story realization: Expanding plot events into sentences. In AAAI, 2020.

[2]C. Bron and J. Kerbosch. Algorithm 457: Finding all cliques of an undirected graph. 1973.

[3]K. Cho, B. Van Merriënboer, C. Gulcehre, D. Bahdanau, F. Bougares, H. Schwenk, and Y. Bengio. Learning phrase representations using rnn encoderdecoder for statistical machine translation. arXiv, 2014.

[4]J. Gu, Z. Lu, H. Li, and V. O. Li. Incorporating copying mechanism in sequence-to-sequence learning. arXiv, 2016.

[5]H. T. H. N. Hong Chen, Yifei Huang. Commonsense knowledge aware concept selection fordiverse and informative visual storytelling. AAAI, 2021.

[6]C.-C. Hsu, Z.-Y. Chen, C.-Y. Hsu, C.-C. Li, T.-Y. Lin, T.-H. Huang, and L.-W. Ku. Knowledge-enriched visual storytelling. arXiv, 2019.

[7]J. Hu, Y. Cheng, Z. Gan, J. Liu, J. Gao, and G. Neubig. What makes a good story? designing composite rewards for visual storytelling. In AAAI, pages 79697976, 2020

[8]Q. Huang, Z. Gan, A. Celikyilmaz, D. Wu, J. Wang, and X. He. Hierarchically structured reinforcement learning for topically coherent visual story generation. In $A A A I, 2019$.

[9]T.-H. Huang, F. Ferraro, N. Mostafazadeh, I. Misra, A. Agrawal, J. Devlin, R. Girshick, X. He, P. Kohli, D. Batra, et al. Visual storytelling. In ACL2016, 2016.

[10]Y. Jung, D. Kim, S. Woo, K. Kim, S. Kim, and I. S. Kweon. Hide-and-tell: Learning to bridge photo streams for visual storytelling. arXiv, 2020.

[11]M. Lewis, Y. Liu, N. Goyal, M. Ghazvininejad, A. Mohamed, O. Levy, V. Stoyanov, and L. Zettlemoyer. Bart: Denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension. arXiv, 2019.

[12]J. Li, M. Galley, C. Brockett, J. Gao, and B. Dolan. A diversity-promoting objective function for neural conversation models. arXiv, 2015.

[13]H. Liu and P. Singh. Conceptnet- a practical commonsense reasoning tool-kit. BT technology journal, 2004.

[14]L. J. Martin, P. Ammanabrolu, X. Wang, W. Hancock, S. Singh, B. Harrison, and M. O. Riedl. Event representations for automated story generation with deep neural nets. arXiv, 2017.

[15]N. Mostafazadeh, M. Roth, A. Louis, N. Chambers, and J. Allen. Lsdsem 2017 shared task: The story cloze test. In Proceedings of the 2nd Workshop on Linking Models of Lexical, Sentential and Discourselevel Semantics, 2017.

[16]G. Sood. clarifai: R Client for the Clarifai API, 2015.

[17]P. Veličković, G. Cucurull, A. Casanova, A. Romero, P. Lio, and Y. Bengio. Graph attention networks. arXiv, 2017.

[18]X. Wang, W. Chen, Y.-F. Wang, and W. Y. Wang. No metrics are perfect: Adversarial reward learning for visual storytelling. arXiv, 2018.

[19]P. Yang, F. Luo, P. Chen, L. Li, Z. Yin, X. He, and X. Sun. Knowledgeable storyteller: A commonsensedriven generative model for visual storytelling. In $I J$ CAI, 2019.

[20]L. Yao, N. Peng, R. Weischedel, K. Knight, D. Zhao, and R. Yan. Plan-and-write: Towards better automatic storytelling. In $A A A I, 2019$.

[21]L. Yu, M. Bansal, and T. L. Berg. Hierarchicallyattentive rnn for album summarization and storytelling. arXiv, 2017.

## 6 Appendix

## 6.1 Experiment on Concept Selection

Similar as Keyphrase generation tasks, we apply precision, recall and $f$ measure to evaluate the efficiency of concept selection methods. We compare among several methods:

Rand: A simple baseline where we randomly pick 3 concepts from the candidates for each image. On average, each image contains 2.65 gold concepts.

C_Attn: We extract the attended concepts where the attention score is larger than a threshold from the model of Yang et.al. [19]. This is an end-to-end model with sigmoid attention on concept words. We choose 0.8 as the threshold since this contributes the best $\mathrm{f}$-score.

Image to concept(I2C): This is a straightforward version of concept selection where the concepts are directly generated from the images. We simply add a projection layer on each hidden state to predict the concept words from the vocabulary size of the concepts, which is very similar to the model of Hsu et.al. [6].

SSM: Our proposal which uses a copy mechanism in each step of selection.

MCSM: Our proposal which calculates the correlation score for concept-concept and image-concept and uses maximal clique selection.

Qualitative results are shown in Table 3. We can see that our proposed SSM and MCSM can achieve significantly higher f-score than other methods. This helps our model to keep the story relevance to the input images while generating diverse stories.

Table 3 Concept selection performance of different methods. The results show that our MCSM achieved the best f-score among all methods.

## 6.2 Case Study

We show a qualitative result of a random test sample in Figure 4. This is a hard example because the last three images are very similar and the objects in all images are hard to recognize. We can see that INet generates monotonous and even irrelevant sentences. KS can generate better sentences but still low in lexical diversity. For the stories generated by two-stage strategy with RNN (SSM+RNN, MCSM+RNN), we can see that the story follows the selected concepts and the stories seem more reasonable than that of end-to-end training methods. When using BART, we compare three methods that represent no concept selection (Image+BART), bad concept selection (Rand+BART) and ours concept selection (MCSM+BART). We can see that without using concepts or using randomly selected concepts, the generated stories are of low quality and to a certain extent irrelevant to the images. However, when guided by the selected concept, the story becomes vivid, relevant and logical.

 \\
It was a nice day for a walk on the water. There were many birds in the \\
sky. There were some pretty white ones. the water was very calm. \\
There were also a lot of birds in the water.

Figure 4 The examples of generated stories by different methods. Our MCSM and SSM can generate better stories compared with other baselines that do not use BART. When using the pretrained BART, the concept selection with MCSM can produce vivid and informative story.


# 単語クラスタリングによって文書情報を整理する手法の改良

符 家俊*1 村田 真樹*1,2 馬 青*3
*1 鳥取大学大学院 工学研究科情報エレクトロニクス専攻
*2 鳥取大学工学部付属クロス情報科学研究センター
$* 3$ 龍谷大学 先端理工学部 数理・情報科学課程
${ }^{* 1,2}\{$ m20j4046h@edu. ,murata@ \}tottori-u.ac.jp
*3 qma@math.ryukoku.ac.jp

## 1 はじめに

近年,インターネットの発展と伴い, ネット上の情報 が急速的に増えている.これらの情報を上手く利用す るために, ネット上の文書の情報を利用して, 重要な情報を表に整理する研究が考えられている.このような 研究では重要な情報を表に整理して, 重要な情報を見 やすいようにする. 作文の際に書き漏らしの部分を検出することもできる. 赤野ら [1] の研究では, 文書を単語単位で整理する. まずは人手でクラスタ数を 1000 と 決定して, Wikipedia でのデータと Word2vec を用いて， クラスタリングする. そして,このクラスタリングの結果を用いて, 電子文書に出現するクラスタの単語を該当する行と列の箇所に埋めて, 表を作る. 岡崎ら [2] の 研究では, 情報を文単位で抽出して,これらの情報をク ラスタリングする際, 自動的に最適なクラスタ数や列 の重要度を決めて, 情報を表に整理する。

岡崎ら [2] の研究では文で情報を整理するので, 単語のように細かく情報を整理することはできない。一方, 赤野ら [1] の研究では重要な列が見つからない場合がある. 本研究ではこの欠点を改善するため, 単語レ ベルで情報を抽出しつつ, 岡崎らの研究を使って, 表の 埋まり具合と情報の密集度を用いて, クラスタリング の際の最適なクラスタ数を推定して, 重要な列を自動的に選択する. 本研究での主張点は以下の 3 点である.

## 新規性

赤野ら [1] の研究は人手でクラスタ数 1000 で設定し て, 人手で重要な列を選択する. 本研究では自動でクラ スタ数を決定して, 重要度の順に列を自動的に並べ替 える.

## 有用性

赤野ら [1] の研究では人手で重要な列を選択する必要 がある. 本研究では手作業がなくても, 自動的に重要な 列を選択することができる.

## 性能

本研究で整理した表の性能を $\mathrm{F}$ 值で評価すると, 平均值は 0.82 である. 異なるデータでの実験であるが $\mathrm{F}$ 值 で赤野ら [1] の研究を評価すると, その平均値は 0.75 である.

## 2 徒来手法

赤野ら [1] の研究では文書に含まれる情報を単語ご とに分割し, 種類ごとに分類し, 表に整理する手法を提案した. 表に整理する手順を以下に示す.

## 2.1 従来手法の手順

手順 1 抽出したい事柄を決定する. Wikipedia から, 抽出 したい事柄を含む文書を抽出する.

手順 2 Wikipedia の全データを用いて, Word2vec で単語 をクラスタリングする. 各クラスタにはクラスタ 番号をふる。

手順 3 クラスタリング結果に基づく単語のクラスタを 表の列とし, 文章を表の行とし, 文書に出現するク ラスタの単語を該当する行と列の箇所に埋める。

手順 4 表の各列にある単語の頻度を求める.この頻度 を用いて, 頻度の大きい列を左の方にするように ソートする. 頻度の少ないクラスタ番号の列を削除する.

手順 5 表のソート結果を基に人手で表の列を選択する.

## 2.2 従来手法の問題点

従来手法では Wikipedia の全データを使って, 人手 でクラスタ数を 1000 に設定してクラスタリングし,こ のクラスタリングの結果と整理したい文書を比較し 表を作るので, 列の数が多すぎて単語の頻度でソート しても重要な列を選択するのが難しいという問題が ある.

## 3 提案手法

従来手法では Wikipedia 全データを使って, 人手で クラスタ数を 1000 で設定してクラスタリングする. 本研究では岡崎ら [2] の研究を使って, 表の埋まり具合 と情報の密集度のバランスを最適にする方法でクラス 久数を推定し,クラスタリングする. 赤野ら [1] の研究 では人手で重要な列を選択する. 本研究では岡崎ら [2] が提案した情報を自動的に重要度で整理する方法を 使って, 文書中の重要な単語レベルの情報を自動的に 選択し, 表に整理する. 提案手法の手順を以下に示す.

## 3.1 提案手法の手順

複数文書に含まれる単語の情報を表に整理する手順 を以下に示す。

手順 1 文書に含まれる単語を MeCabで分割して, 品詞 が名詞かつ連続している単語を一つの単語として 扱う.このような単語は連続単語と呼ぶ. 名詞では ない単語を削除する。

手順 2 各文について, 文中の単語のベクトルを求め, 連続単語のベクトルはこの連続単語に含まれる単一 の単語のベクトルの和をこの連続単語のベクトル とする.

手順 3 単語ベクトルを基に単語を Ward 法による階層ク ラスタリングでクラスタリングする.

手順 4 階層クラスタリングによって得られた各クラス タ数でのクラスタリング結果を基に, 表を作る. 表 の埋まり具合と情報の密集度を使って, 最適なク ラスタ数を推定し, 最適な表を選択する。

手順 5 手順 4 で採用されたクラスタ数でのクラスタリ ングの結果を, 行を文書, 列をクラスタとする, 表 に整理する。

手順 6 表の各列について, 重要度を計算して, 重要度で 並べ替える。

## 3.2 文から単語への分割方法

手順 1 における複数文書を単語単位に分割する方法を説明する．文書を MeCabで単語ごとに分割する。例えば「本体の前後に 400 万画素 CMOS センサー内蔵カメラをそれぞれ搭載し、全方位撮影できるモデ ル。」のような文が存在する．この文を MeCabで分割 すると「本体の前後に 400 万 画素 CMOS セン サー内蔵カメラをそれぞれ搭載し、全方位撮影 できる モデル。」になるが, 分割しすぎる場合が
ある. 例えば「400」と「万」である.この問題を解決 するため連続した名詞を一つの名詞として扱う.この 方法で文を処理すると「本体 の 前後に 400 万画素 CMOS センサー内蔵カメラをそれぞれ搭載し、全 方位撮影 できるモデル。」となる. その後で, 名詞 ではない単語を全部削除する. 以下に手順を示す. 図 1 に例を示す.

手順 1 文を MeCabを用いて分割する。

手順 2 連続の名詞を一つの名詞として扱う.

手順 3 名詞ではない単語を削除する.

処理前

本体の前後に 400 万画素 CMOS センサー内蔵カメラを それぞれ搭載し、全方位撮影できるモデル。

分割して名詞のみ抽出

本体 前後 400 万画素 CMOS センサー内藏カメラそ れぞれ 搭載 方位撮影 モデル

図 1 処理結果の例

## 3.3 単語ベクトルの計算

連続の名詞を一つの名詞として扱うので, 連続の名詞ではない単語はそのまま Fasttext[3] を用いて, 単語 ベクトルを計算する. 連続名詞の場合では以下の手順 で単語ベクトルを計算する。

手順 1 連続の単語を $\mathrm{MeCab}$ で分割する。

手順 2 分割した単語を Fasttext[3] で単語ベクトルを求 める. 連続単語に含まれる単語のベクトルの和を その連続単語のベクトルとして扱う。

## 3.4 単語ベクトルモデル

単語ベクトルを求めるとき使ったモデルは Fasttext[3] によって Wikipedia 全データを学習させた ものである. Fasttext[3] は隠扎層と出力層からなる 2 層のニューラルネットワークで, CBOW や Skip-gram を用いて, 単語をベクトル化する。

## 3.5Ward 法による階層クラスタリング

階層クラスタリング [4] は最初一つのデータを一つ のクラスタとして扱う.そして距離が最も近いクラス タを統合する.この統合をそのまま設定したクラスタ 数になるまで繰り返す. Ward 法は二つのクラスタ間の 距離を推定する方法の一つである.

## 3.6 クラスタリング結果の score の計算方法

から求める. 情報の密集度 (density $k$ )を式 (2) からそれ ぞれ求める.クラスタ数 $\mathrm{k}$ での score $_{k}$ はこの 2 つの値 を掛け算して求めた值である.これらの数式に現れる 変数について説明する. $\mathrm{C}_{k}$ はクラスタ数 $\mathrm{k} て ゙ の$ 表で列 の総数である. $\mathrm{C}_{k i}$ はクラスタ数 $\mathrm{k}$ での表に $\mathrm{i}$ 番目の列 に含まれる単語の数である. $\mathrm{W}_{k i j}$ はクラスタ数 $\mathrm{k}$ での 表の $\mathrm{i}$ 番目の列で $\mathrm{j}$ 番目の単語のベクトルである. 単語の間の類似度は $\cos$ 類似度で求める。

$
\begin{gathered}
\text { cover }_{k}=\frac{\text { クラスタ数 } k \text { での表の空でないセルの数 }}{\text { クラスタ数 } k \text { での表のセルの総数 }} \\
\text { density }_{k}=\min \left(\cos \left(W_{k i j}, W_{k i h}\right)\right) \\
i=1,2, \ldots \ldots, C_{k} \quad j, h=1, \ldots \ldots, C_{k i}
\end{gathered}
$

ここで, cover と density のスケールが異なるため,ク ラスタ数 $\mathrm{k} て ゙ の$ 表の score を計算するとき影響を与え ないように,この二つの値の正規化した値を掛け算し たものをクラスタ数 $\mathrm{k}$ での表の score として扱う. そし て score が最も大きいクラスタリング結果を選択する.数式にある $\max (\mathrm{x}), \min (\mathrm{x})$ は $\mathrm{x}$ の最大值, 最小値を意味 する.

$
\begin{aligned}
& \text { norm }\left(\text { cover }_{k}\right)=\frac{\text { cover }_{k}-\min (\text { Cover })}{\max (\text { Cover })-\min (\text { Cover })}
\end{aligned}
$

$
\begin{aligned}
& \operatorname{score}_{k}=\operatorname{norm}\left(\text { cover }_{k}\right) * \operatorname{norm}\left(\text { density }_{k}\right)
\end{aligned}
$

## 3.7 列に重要度をつける方法

列の重要度の計算は score の計算と似ている. 列の 密集度と列のカバー率を掛け算した值をその列の重要度として扱う. 列の密集度は実際その列にある単語間 の最小類似度である.この値が高いほど, 列にある単語 の関連性が高い.この列の関連性と列のカバー率を掛 け算した結果の値が大きいと,この列の重要度も高い と思われる.数式は以下で示す.

$
\begin{gathered}
\text { cover }_{i}=\frac{\text { 表の } i \text { 番目の列の空でないセルの数 }}{\text { 表の } i \text { 番目の列のセルの総数 }} \\
\text { density }_{i}=\min \left(\cos \left(W_{i j}, W_{i h}\right)\right) \\
i=1,2, \ldots \ldots, C \quad j, h=1, \ldots \ldots, C_{i}
\end{gathered}
$
再現率 $=\frac{\text { 正解の表の列と実験結果の表の列に共通する文の数 }}{\text { 正解の表の列に含まれる文の数 }}$

$
F \text { 值 }=\frac{2 \times \text { 適合率 } \times \text { 再現率 }}{\text { 適合率 再現率 }}
$

列の重要度を評価することも重要なことである. 強盗 に関する記事で作成した表の最初の 48 列を人手で重要かどうかを評価した結果を表 5 に示す. 列名は列に 出現する頻度が最も高い単語とする。

表 3 強盗に関する記事の評価結果の精度

表 4 城に関する評価結果の精度

## 4.4 考察

表 3,4 のように, 強盗に関する記事の中で加害者, 被害者, 犯罪時間, 犯罪場所, 犯罪者の特徵などの重要な 情報を抽出できた。これらの情報の重要度が高いと思 われる. 城に関する記事の中で城の場所, 城が建てられ る時間などを抽出できたが, 有益ではない情報（例え ば, 指定, 国など）も多く抽出された. 有益ではない情報が抽出された原因はこれらの単語は何も有用な情報 を持っていないが, 出現する頻度か高かったからであ る. 強盗に関する事件で, 抽出された情報が重要かど うかを人手で評価した結果を表 5 に示す. 人手で重要 と判断したものに○を, 重要でないと判断したものに
×をつけている.列の重要度が高いほど, 重要と思わ れる確率が高いと見える. 表 5 を見ると, 最初の 48 列 について 12 列ごとに人が重要と思う列の比率を計算

果を見ると, 重要度が高いほど, 人が重要と思う比率 も高いことが確認できるが, 城に関する記事を使って，得られた表の列は少ないので, 8 列ごとに計算すると， 0.375,0.375,0.142,0.285である. 重要順になっていない.

## 5 終わりに

本研究の提案手法では文を単語レベルで分割して,名詞だけ残して, Fasttext を用いて, 単語をべクトル化 して, 階層クラスタリングを用いて, 表のカバー率と密集度のバランスによって, 最適なクラスタ数を推定し て, 最適なクラスタ数で単語をクラスタリングする.ク ラスタリングした結果の表の列の重要度を計算して，重要な列を自動的に選択する. 城に関する記事と強盗 に関する記事を用いて実験を行った. $\mathrm{F}$ 值で提案手法 の性能を計算すると, 平均值は 0.82 であった. 提案手法ではクラスタ数を自動的に推定することができる. さらに, 自動的に重要な列を選択することができる. 実験結果では列の重要度が高いほど, 人が重要と思う比率が高いことを強盗に関する記事を使った実験で確認 し, 提案手法の有効性を確認できた. 城に関する記事で の実験では抽出された列が少なく, 一部の結果は重要順になっていないという問題がある.これは今後の課題である.

## 参考文献

[1]Hokuto Akano, Masaki Murata, and Qing Ma. Detection of inadequate descriptions in Wikipedia using information extraction based on word clustering. IFSA-SCIS 2017, pp. 1-6, 2017.

[2]岡崎健介, 村田真樹, 馬青. 複数文書からの文レベルの情報の書き漏らしの検出. 言語処理学会第 25 回年次大会,
pp. 359-362, 2019.

[3]Piotr Bojanowski, Edouard Grave, Armand Joulin, and Tomas Mikolov. Enriching word vectors with subword information. In Transactions of the Association for Computational Linguistics, Vol. 5, pp. 135-146, 2017.

[4]Trevor Hastie, Robert Tibshirani, and Jerome Friedman. The Elements of Statistical Learning. Springer, 2009.


# Encoder-Decoder モデルを用いた 文章表現を豊かにする執筆支援システム

鈴木勘太
芝浦工業大学工学部
al17055@shibaura-it.ac.jp
}

杉本徹
芝浦工業大学工学部
sugimoto@shibaura-it.ac.jp

## 1 はじめに

小説や随筆といった文学作品の執筆において，豊 かで趣のある文章表現を推敲することは，良い作品 を作り上げるうえで重要な過程の一つである。その 中で，コロケーションや比喻表現，類語の辞典を参考にすることは，執筆者の表現の幅を広げる手助け となる.しかし, これらの辞典は多くの場合網羅的 であり，執筆者は多くの選択肢の中から最適なもの を選び出す必要がある. 執筆の手助けという点で は，実際に執筆者のつづった文の文脈に沿った文章表現を提案することが重要である.

そこで，ある系列データから別の系列データを生成するタスクに使われる Encoder-Decoder モデルの 応用を考える. 執筆者のつづった文から文章表現を 付加した文を生成することによって，文脈を考慮し た文章表現の提案が可能となる。

Encoder-Decoder モデルは，機械翻訳や文書要約，対話応答の生成といったタスクにおける研究が盛ん である。これらの主要なタスクは，基本的に 1 つの 答えを導き出すことが目的である．例えば，機械翻訳や文書要約は情報や意味内容を保持した生成を行 うため, 入力と出力は一対一または多対一の関係に ある．また，対話応答の生成は，目的によって多様性が重視される場合があるものの，ユーザへは最終的に 1 つの応答を返す.

一方，本システムのタスクでは，例えば「踊る」 という言葉を表現する場合，「軽やかに踊る」といっ た形容表現や「ウサギが跳ねるように踊る」といっ た比喻表現が考えられ，「踊る」という言葉自体も 「舞い踊る」や「音楽に摇られる」といったパラフ レーズが考えられるため, 答えが 1 つではない問題 を扱うこととなる。したがって, 提案の際には複数 の候補を提示し，ユーザに選択の自由を与える必要 がある.

図 1 システムの概要図

本研究では，執筆者のつづった文の文脈を考慮し て，豊かで趣のある文章表現を付加した複数の候補文を提案する執筆支援システムを構築し，答えが 1 つではない問題への Encoder-Decoder モデルの応用 について可能性の検討を行う.

## 2 関連研究

伊藤らの研究 [1] では，不完全な文から目的に 合った完全な文の候補を自動生成する情報補完型生成モデルを新しい言語生成課題として提案して おり，英語論文の執筆支援を想定したタスクにおい て，複数の評価指標でモデルのスコアが入力文のス コアより参照文のスコアに近づく傾向にあったと報告している。情報を付加して生成を行うという目標 は本研究と類似しているが，最適な 1 つの候補を求 めているという点で異なっている。また，完全な文 から不完全な文を疑似生成することによって大規模 な教師データを構築する手法を提案しており, 本研究でもその手法をべースにデータセットを構築して いる.

## 3 システムの概要

システムの概要を図 1 に示す. まず，実在する文学作品から文章表現の欠如した文を作成し, 元の文 と対にしたデータセットを構築する。次に，その データセットを教師データとして学習を行った生成

モデルを構築する. システムは，ユーザの作成した 文を入力としてモデルが生成した豊かで趣のある文章表現を付加した複数の候補文をユーザに提案する ことによって，執筆活動の支援を行う。

## 4 データセットの自動構築

実在する文学作品の文をターゲット，それらから 作成される文章表現の欠如した文をソースとしたパ ラレルコーパスを構築し，これをデータセットとす る. 文学作品の文書集合として新字体および現代仮名遣いで書かれた青空文庫 ${ }^{1)}$ の作品約 469 万文のテ キストデータを使用し，各文に対して機械的に文章表現を除去する変換を行うことによって，経験の少 ない執筆者を想定した文書集合を疑似的に作成す る. 青空文庫の作品をターゲットとすることによっ て，どのような文脈でどのような表現がふさわしい かを実際に存在する例から学習することが可能と なる。

まず，豊かで趣のある文章表現を，ストーリーを 端的に述べる文と比較して付け足されていたり，言 い換えられているフレーズと定義する。この定義か ら文章表現を，ものの性質や状態を形容する形容表現，事物を巧みに表現する修辞技法，日常的には用 いられない技巧的な言い回し（パラフレーズ）の 3 つに分類した.これらの文章表現をもとに，ター ゲット文に対して以下の 4 つの変換処理を行って ソース文の作成を行う. 各変換処理では予めター ゲット文の形態素解析および係り受け解析を行って おく。

形容語の除去 形容表現を担う単語の除去を行っ た文を作成する. 形容詞, 形容動詞, 副詞の 3 つの 品詞の単語を検出し, それを根とする係り受け木に 含まれる単語を削除する。また，修辞技法のひとつ である擬態法は副詞的用法が多いため, ここで除去 を行う。

直喻法の除去 修辞技法のひとつである直喻法の 除去を行った文を作成する。「〜ような」といった 直喻法のキーフレーズを検出し，それを根とする係 り受け木に含まれる単語を削除する。

反復法の除去 修辞技法のひとつである反復法 （畳語法）の除去を行った文を作成する，自立語か ら始まる繰り返しのフレーズを検出し，片方を削除 する.ただし複合語である場合は削除を行わない.

技巧的な言葉の平易化 文学作品で使われるよう

な技巧的な言葉を一般的によく使われる類義語へと 言い換えた文を作成する，ターゲット文の各形態素 に対し，体言を除く自立語を言い換えの対象単語と し，以下の手順でソース文を作成する.

1. 対象単語について日本語単語ベクトルデータ2) からコサイン類似度の高い単語を類義語として 取得し，これを言い換えの候補単語とする。

2. 類似度上位の候補単語から対象単語と品詞およ び活用が一致するものを探索する。

3. 候補単語が, $\mathrm{BCCWJ}^{3)}$ から作成した単語の出現頻度データ4)において対象単語より出現頻度の 高い単語であった場合，その単語をリストへ追加する．そうでなかった場合は 2. の探索を再開する。

4. 全ての対象単語に対し 1. から 3.を繰り返して リストを作成し，これをもとにターゲット文か ら対象単語の置換を行った文を作成する。

以上の変換処理を経て，合計約 333 万対のデータ セットを構築した. その内訳を表 1 に示す.

## 5 生成モデルの構築

構築したデータセットから訓練データ，検証デー タおよびテストデータを作成し, 生成モデルの構築 を行った. モデルには Transformer[3] を用いた. 語彙数は 50,000 語とし, それ以外のトークンは未知語 トークンとして処理をした。

## 6 候補提案システムの構築

構築した生成モデルを用いて，ユーザの入力か ら生成された出力をもとに候補文を提案するシス テムを構築する. 出力の未知語処理として Jean ら のコピーベースの手法 [4] を用いた.ソースとター ゲットの言語が同じであるため，コピーベースの未知語処理は有効であると考えられる。出力に含まれ る未知語トークンを, Transformer モデルから抽出し

表 2 形容語や擬態法が付加された出力例と文脈による出力の変化

表 3 直喻法や反復法が付加された出力例

表 5 自動評価によるスコア

た Attention スコアをもとに最も関連度の高い入力 のトークンへ置換することによって，未知語処理を 行う.

また，本システムでは複数の候補を提案すること が目的であるため，推論に 10 窓のビームサーチを 用い，スコア上位 6 つの出力を候補文としてユーザ に提案する．ただし，出力文が入力文と同じである か, 出力文に含まれる未知語トークンの数が入力文 より多い場合は候補に含めない。

## 7 実験と評価

## 7.1 モデルの自動評価

未知語処理を行っていないモデル (Transformer) と, 未知語処理を行った提案モデル（Transformer +copy）に対して自動評価を行った. その結果を表 5 に示す. 評価指標には ROUGE-1，2，L（R-1，2，L） を用いた。文長は文の平均トークン数である.

まず，全ての評価指標において未知語処理を行っ た提案モデルの方が行わなかったモデルよりもスコ アが参照文に近づいた。これは，Attention スコアを 用いたコピーベースの未知語処理の手法が有効で あったことを示している。また，R-1 のスコアは提案モデルが最も高かった. これは, 文章表現の付加 によって単語単位で出力文が参照文に近づいたこと表 4 言い換えが行われた出力例入力文 彼は海の幸を賛沢に使った料理を作った。出力文 1 彼は海の幸をふんだんに使った料理を作った。出力文 2 彼は海の幸を贅沢に使った料理をこしらえた。出力文 3 彼は海の幸をふんだんに使った料理をこしらえた。出力文 4 彼は海の幸をふんだんに使った料理をこさえた。出力文 5 彼は海の幸をリッチに使った料理を作った。出力文 6 彼は海の幸を贅沢に使った料理をこさえた。
を示している．それに伴って文長も提案モデルが参照文に最も近づいた。一方，R-2，R-L のスコアは入力文が最も高かった。これは，推論において参照文 と異なる部分に文章表現の付加が行われた場合，基本的に参照文の部分集合である入力文の方が出力文 よりもスコアが高くなるためだと考えられる。本シ ステムのタスクが答えの 1 つでない問題を扱ってい ることを考えると，これらの指標は適切ではない可能性がある.

## 7.2 出力の例

提案モデルを用いた出力の結果として，形容語や 擬態法が付加された例を表 2 に，直喻法や反復法が 付加された例を表 3 に，言い換えが行われた例を表 4 に示す.

また，表 2では，「摇れる」という単語に着目した 文脈の違いによる出力の変化の例を示した. 表左の 入力文における「摇れる」は「草木」を主語として 上下左右に動く動作を意味しており，出力では「ゆ らゆら」や「ざわざわ」といった文章表現が付加さ れた一方，表右の入力文における「摇れる」は「気持ち」を主語として不安定な状態になることを意味 しており，出力では「ひどく」や「少し」といった文章表現が付加された.この結果は, Encoder-Decoder モデルを用いることによって文脈を考慮した文章表現の提案が可能であることを示している.

## 7.3 システムの人手評価

調査票によって提案モデルを用いたシステムの人手評価を行った. 15 個の文を入力とし，それぞれに 対するスコア上位 6 つの出力を候補文として用意し
表 6 総合評価を目的変数とした回帰分析の結果

た. 被験者には, 入力文と各候補文を比較し, 候補文に対して豊かさ（付加された文章表現が豊かであ るか，乏しいか），流暢さ（文として自然か，不自然 か), 意味の保持（意味内容が保たれているか，ずれ ているか)，総合評価（小説や随筆の執筆支援シス テムとして，入力文からその文へ変更したいと思う か）の 4 つの評価尺度で 5 段階評価をしてもらった。

各評価尺度を 1 から 5 へと数値化し分析を行った 結果，第 1 候補文の総合評価の平均は 3.39 だった一方，これを含めた 6 つの候補文のうち，総合評価が 最も高かったものの平均は 4.51 であった. これは, 1 つの候補を提案するより複数の候補を提案する方 がより良い支援になることを示している.

また，提案された 6 つの候補文のうち，総合評価 が 3 （どちらともいえない）より高かった候補文の 数は平均で 3.6 個, 4 (やや選びたい) 以上だった候補文の数は平均で 2.4 個で，いずれにおいても総合的に見て選びたい候補文が複数あったことを示して おり，執筆支援としてユーザに選択の自由を与える ことができたと考えられる。

以上の結果は，本システムのタスクが，推論上最も適している第 1 候補が実際に求められてい る候補であるとは限らない問題であることを示 しており，同時に，答えが 1 つではない問題への Encoder-Decoder モデルの応用が可能であることを 示している.

次に，調査票の結果における総合評価を目的変数 とした回帰分析を行った結果を表 6 に示す.

豊かさ，流暢さ，意味の保持それぞれの評価尺度 は総合評価に強く関係し, ある候補を選ぶ基準とし ては流暢さ，豊かさ，意味の保持の順で影響がある ことが確認できる. 意味内容の保持の程度より文章表現の豊かさの方が最終的な評価に影響しているこ とは，文章表現の執筆支援である本システムの特徴 といえる.

## 8 インタフェースの提案

複数の候補の提案そのものは機械翻訳などでも書 き方の摇れへの対処として実装例があるが，本シス テムはさらに多くの候補を提案することを想定し ており，それによって，例えば「それは黒い猫だっ

図 2 Attention スコアのヒートマップの例

図 3 提案するインタフェースの例

た。」という入力に対し，第 6 候補を超える第 11 候補として「それは影のような黒い猫だった。」とい う文を提案可能である等，よりユーザの表現の幅を 広げる手助けが可能となる。しかし，候補文の数と ユーザへの負担はトレードオフの関係にあると考え られるため，実用性を考慮すると入力文から変化し た部分のみを提案する必要がある.

そこで，Attention スコアを利用したインタフェー スを提案する. 図 2 に示すように，入力から変化の あった出力のトークンは特定の入力のトークンとの Attention スコアが高くなる傾向があった。この例か らは，出力の「水」が入力の「冷たい」と強い関係 を持っていることを確認できる. そこで，入力文と 出力文のアライメント処理を行って変化した部分を 検出し， Attention スコアを用いてそれがどの単語に 対して付加された文章表現であるかを解析したの ち, 図 3 のように特定の単語にフォーカスした文章表現の提案を行う.

## 9 おわりに

Encoder-Decoder モデルを応用し，周辺文脈を考慮 して豊かで趣のある文章表現を付加した複数の候補文を提案する執筆支援システムを提案した。調査票による人手評価では執筆支援として総合的に 良い評価が得られた。また，以上の結果を踏まえ， Attention スコアを利用したインタフェースを提案し た. 将来的には，これを導入したより実用性のある 執筆支援システムの開発を目指す.

## 参考文献

[1] 伊藤拓海, 栗林樹生, 小林隼人, 鈴木潤, 乾健太郎. ライ ティング支援を想定した情報補完型生成. 言語処理学会第 25 回年次大会, pp. 970-973, 2019.

[2] 真鍋陽俊, 岡照晃, 海川祥毅, 高岡一馬, 内田佳孝, 浅原正幸. 複数粒度の分割結果に基づく日本語単語分散表現. 言語処理学会第 25 回年次大会, pp. 1407-1410, 2019.

[3] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. CoRR, Vol. abs/1706.03762, , 2017.

[4] Sébastien Jean, Kyunghyun Cho, Roland Memisevic, and Yoshua Bengio. On using very large target vocabulary for neural machine translation. CoRR, Vol. abs/1412.2007, , 2014.


# 大域的・局所的エントロピーに基づいた 特許文書中からの効果述語項構造の自動抽出

邊土名 朝飛 ${ }^{1}$ 野中 尋史 ${ }^{1}$ 河野 誠也 $^{2}$ 谷川 英和 ${ }^{3}$
${ }^{1}$ 長岡技術科学大学 2 奈良先端科学技術大学院大学 ${ }^{3}$ IRD 国際特許事務所
s173348@stn.nagaokaut.ac.jp, nonaka@kjs.nagaokaut.ac.jp,
kawano.seiya.kj0@is.naist.jp, htanigawa@ird-pat.com

## 1 はじめに

特許情報を分析することは，個人の投資活動，企業における技術開発戦略やM\&A，国や地方自治体 における政策立案に役立つなど，多大な利益をもた らす。特に特許文書データには重要な新技術の詳細 が含まれているため，大きな利用価値がある。しか し，特許文書は技術的な用語が多用されており，ま た一般的に記述量が多いため，人手で特許文書を読解して分析を実施するためには高度な専門知識と多 くの時間が必要となる. そのため, 自動的に技術情報を抽出し分析を行うためのテキストマイニング手法が数多く研究されてきた [1].

特許文書には様々な技術情報が含まれているが， その中でも発明がもたらす効果の情報は，その発明 が利用者に与える便益，すなわちニーズを示してい るため，技術開発戦略や知財戦略の策定において非常に有用である。そのため，発明の効果を抽出する 手法 $[2,3]$ や，抽出した効果を意味的にまとめあげ る手法 $[4,5]$ が研究されてきた. 発明の効果に基づ いた分析手法のひとつとして, 技術-効果パテント マップが挙げられる. 技術-効果パテントマップと は，技術シーズを表す発明の技術要素と，その技術要素によってもたらされる効果をそれぞれ軸として 特許出願状況を可視化したものであり，ニーズ（効果）とシーズ（技術要素）の両方を加味した特許分析を行うことが可能となる.

本研究では，特許文書中から発明の効果を抽出す ることを目的として, 発明の効果らしい述語項構造 （効果述語項構造）を自動的に抽出する手法を提案 する. 述語項構造とは, 述語とその項からなる構造 であり，複雑な構造を持つ文章であっても「何を， どうした」といった意味関係を明示的に表現するこ とができる．例えば，「本発明によれば、粘着性物質の付着を防止することができ、メンテナンスを最少限に済すことができる。」という文があったとき， その効果述語項構造は\{メンテナンス [項: Э格], 最小限 $[$ 項:二格] $\} \Rightarrow$ 済すことができる [述語] となる.述語項構造に基づいて効果を抽出することで，単語 や句単位で抽出した場合よりも，その効果の意味を より良く捉えることが可能となる。

また，本手法は，述語項構造の発明の効果らしさ を，抽出対象となる特許文書集合内での単語エント ロピーに基づいて推定する。これにより，効果 [項: ガ格] $\Rightarrow$ ある [述語] といった意味のない述語項構造 が抽出されるのを防ぎ，かつ分野によって効果の表現が大きく異なっていても対応することが期待で きる.

## 2 関連研究

特許文書から発明の効果を抽出する手法として，「〜ができる。」といった効果を表す文章に頻出する 表現（効果手がかり表現）をブートストラップ的に 獲得する研究 $[2,3]$ が挙げられる。また，酒井らの 手法で抽出された効果手がかり表現から，直接的に 効果を表す語（効果語）をパターンに基づいて抽出 する研究 [4] も存在する. しかし，これらのブート ストラップに基づいた先行研究の手法は，抽出対象 となる文章に記載されている効果の表現が，獲得し た手がかり表現と僅かにでも異なっていると効果が 抽出できなくなるという問題がある。

一方，谷中らは，特許文書から発明の効果の要点 を抽出するために，「本発明は... する」という形式 で記述された文章から，述語項構造解析を用いて 「本発明」を主語とする動詞と目的語を抽出してい る [5]. 谷中らの方法は，述語項構造に基づいてい るため，複雑な文であっても発明が技術課題に及ぼ す効果を明示的に表現することができ，かつ様々な

パターンの記述に対応できる. しかしながら，効果 を示す動詞，目的語が「本発明」を主語としない場合は抽出することができない．また，「ものである」「こととする」といった意味を持たない句を取り除 くために，「もの」「こと」「課題」などの形式的内容語 [6] を事前に収集する必要がある.

本研究では，特許明細書中の項目「発明の効果」 に含まれる文から最も効果らしい述語項構造を抽出 することで，文章の記述形式を限定することなく発明の効果を抽出する手法を提案する．また，本手法 では，述語項構造の効果らしさを単語エントロピー に基づいて推定するため，形式的内容語の収集を必要としない.

## 3 提案手法

特許文書中から発明の効果を抽出するために，特許明細書中の項目「発明の効果」に含まれる文（効果文) から最も効果らしい述語項構造（効果述語項構造）を自動的に抽出する手法を提案する. 提案手法の概要を図 1 に示し，手続きの詳細を以下に 示す.

Step 1: $L_{t=0} \longleftarrow-$ inf

Step 2:「発明の効果」に含まれている単語から大域的エントロピースコア $H_{G}\left(w_{i}\right)$ を計算

Step 3: 各効果文に対し述語項構造解析を行い，各効果文から効果述語項構造候補を抽出

Step 4: 効果述語項構造候補に含まれている単語から 局所的エントロピースコア $H_{L}\left(w_{i}\right)$ を計算

Step 5: 効果述語項構造候補集合の効果らしさ $L_{t}$ を 計算

Step 6: $L_{t}>L_{t-1}$ であればノイズ単語を除去 そうでなければ Step 9へ

Step 7: $t=t+1$

Step 8: Step 3 から繰り返す

Step 9: 各効果文から効果述語項構造を抽出

なお，Step 2，4 のエントロピーの計算に関しては 3.1 節で，Step 3 の効果述語項構造候補の抽出に関し ては 3.2 節で，ノイズ単語除去に関しては 3.3 節で それぞれ説明する。

本手法の特徴は，大域的な単語エントロピーで効果語らしさを, 局所的な単語エントロピーでノイズ 単語らしさを推定し，それに基づいて効果文から効果述語項構造を抽出する点にある.

単語 $w_{i}$ の大域的エントロピースコア $H_{G}\left(w_{i}\right)$ は,「発明の効果」に含まれる単語から求める。大域的 エントロピースコア $H_{G}\left(w_{i}\right)$ が高い単語は「発明の 効果」に出現しやすい単語であり，すなわち効果語 である可能性が高い. したがって，高エントロピー の単語を含む述語項構造も効果を表している可能性 が高いと考えられる. しかし，大域的エントロピー スコア $H_{G}\left(w_{i}\right)$ では，「発明の効果」に出現しやすい 「もの」「発明」「効果」などの意味を持たない単語の スコアも高くなり，「効果-ある」といった意味を持 たない述語項構造を抽出してしまう恐れがある.

このようなノイズ単語を除去するために，局所的 な単語のエントロピースコア $H_{L}\left(w_{i}\right)$ を利用する。単語 $w_{i}$ の局所的エントロピースコア $H_{L}\left(w_{i}\right)$ は，各効果文から抽出された効果述語項構造候補に含まれ る単語から求める.「効果」といったノイズ単語は,効果述語項構造候補における出現頻度が非常に高い と考えられるので，高エントロピーの単語をノイズ 単語として除去していく.

図 1 提案手法の概要図

## 3.1 大域的・局所的エントロピー

単語 $w_{i}$ の大域的エントロピースコア $H_{G}\left(w_{i}\right)$ は,以下の式で求める。

$
\begin{aligned}
H_{G}\left(w_{i}\right) & =-\sum_{d \in D} P_{d}\left(w_{i}\right) \log _{2} P_{d}\left(w_{i}\right) \\
P_{d}\left(w_{i}\right) & =\frac{f_{d}\left(w_{i}\right)}{\sum_{d^{\prime} \in D} f_{d^{\prime}}\left(w_{i}\right)}
\end{aligned}
$

ここで，D は各特許文書に記述されている「発明の 効果」文章の集合, $P_{d}\left(w_{i}\right)$ は特許文書 $d$ の「発明の 効果」内に単語 $w_{i}$ が出現する確率， $f_{d}\left(w_{i}\right)$ は特許文書 $d$ の「発明の効果」内に単語 $w_{i}$ が出現する頻度である。

単語 $w_{i}$ の局所的エントロピースコア $H_{L}\left(w_{i}\right)$ は,
以下の式で求める.

$
\begin{aligned}
H_{L}\left(w_{i}\right) & =-\sum_{s \in S_{E}} P_{S}\left(w_{i}\right) \log _{2} P_{S}\left(w_{i}\right) \\
P_{s}\left(w_{i}\right) & =\frac{f_{s}\left(w_{i}\right)}{\sum_{s^{\prime} \in S} f_{s^{\prime}}\left(w_{i}\right)}
\end{aligned}
$

ここで， $S_{E}$ は効果述語項構造候補集合である. 効果述語項構造候補は，効果文 1 文から 1 個抽出され る (3.2 節)。また, $P_{s}\left(w_{i}\right)$ は効果述語項構造候補 $s$ 内 に単語 $w_{i}$ が出現する確率, $f_{s}\left(w_{i}\right)$ は効果述語項構造候補 $s$ 内に単語 $w_{i}$ が出現する頻度である.

なお, 本研究では, 名詞, 動詞, 形容詞, 形状詞の 単語のみを使用してエントロピーを計算している.

## 3.2 効果述語項構造候補の抽出

効果文から効果述語項構造候補を抽出するため に，述語項構造のスコアリングを行う，スコアリン グした後, その効果文内で最も高いスコアを持つ述語項構造を，効果述語項構造候補として抽出する.

ある 1 つの効果文 $e$ に含まれる述語項構造の集合 を $S_{e}=\left.\{s_{1}, s_{2}, \cdots, s_{i}, \cdots, s_{N}\right.\}$ としたとき，前方から $i$ 番目の述語項構造 $s_{i}$ の大域的スコア Score $G_{G}\left(s_{i}\right)$ を 以下の式で定義する。

$
\operatorname{Score}_{G}\left(s_{i}\right)=\frac{1}{\left|S_{e}\right|-i+1} \max _{w_{j} \in \mathscr{V}\left(s_{i}\right)} H_{G}\left(w_{j}\right)
$

ここで， $\left|S_{e}\right|$ は効果文 $e$ に含まれている述語項構造 の個数, $\mathscr{V}\left(s_{i}\right)$ は述語項構造 $s_{i}$ に含まれている単語 の集合である。文中で効果について言及している箇所は一般的に文の後方に位置するため, 述語項構造 $s_{i}$ の後方からの位置の逆数 $\frac{1}{\left|S_{e}\right|-i+1}$ をエントロピー スコアにかけることで重み付けしている.

## 3.3 ノイズ単語の除去

効果述語項構造候補から, 効果 $\Rightarrow$ あるといった 意味を持たない述語項構造を抽出しないようにする ために，ノイズ単語を自動的に除去する.

まず，効果述語項構造候補を抽出（3.2 節）した 後, 単語の局所的エントロピースコア $H_{L}\left(w_{j}\right)$ を計算する (3.1 節). 次に, 各効果述語項構造候補 $s_{i}$ の 局所的スコア $\operatorname{Score}_{L}\left(s_{i}\right)$ を以下の式で求める.

$
\operatorname{Score}_{L}\left(s_{i}\right)=\max _{w_{j} \in \mathscr{V}\left(s_{i}\right)} H_{L}\left(w_{j}\right)
$

次に, 効果述語項構造候補集合 $S_{E}$ の効果らしさ を，以下の式で求める.

$
L_{t}=\sum_{s \in S_{E}} \operatorname{Score}_{G}(s)-\operatorname{Score}_{L}(s)
$

$L_{t}$ の值は，効果らしい効果述語項構造候補が多く抽出されている場合には高く, ノイズらしいものが多 く抽出されている場合には低くなる. このとき， $L_{t}$ が 1 step 前の $L_{t-1}$ より高くなれば，局所的エントロ ピースコア $H_{L}\left(w_{j}\right)$ が最も高い単語をノイズ単語と して除去し，再度ノイズ単語除去の処理を行う.こ の繰り返し処理により, 効果語らしい単語だけが残 り，効果述語項構造が抽出されやすくなると考えら れる。

## 4 評価実験

## 4.1 データセット

NTCIR-6 の日本語公開特許公報全文データ1）（期間：1993 2002 年，文書数：3,496,252 件）から，国際特許分類の $\mathrm{C} 22 \mathrm{C}$ (合金分野) に属する特許 97 件 を選択し，それらに記述されている「発明の効果」 の文 234 件を評価用データとして用いた。

正解データとして，上記の 234 件の文に対して効果を記述している箇所にタグ付けしたものを用い た. 文内に複数の効果が記述されている場合は，そ れぞれ独立してタグを付与している. タグ付け作業 は 2 名のアノテーターの合議により行われた。

## 4.2 実験条件

効果が正しく抽出されたかの判定は，2 名の合議に基づいて正否を判断する人手評価を実施し た. また，1 文に複数の効果が含まれていた場合， その全ての効果を抽出していれば正解とする評価 (all) と， 1 件でも効果が抽出できていれば正解と する評価 (partial) をそれぞれ行った。評価指標は， Precision( $\mathrm{P})$ ， Recall( $\mathrm{R}) ， \mathrm{~F}$ 値 $\left(F_{1}\right)$ を用いた。各評価指標の式を以下に示す.

$
P=\frac{|C|}{|E|}, R=\frac{|C|}{|T|}, F_{1}=\frac{2 P R}{P+R}
$

ここで， $C$ は正しく抽出できた効果の集合， $E$ は抽出した効果の集合， $T$ は効果が含まれている文の集合である。

本実験では，格フレーム [7] に基づく述語項構造解析ツールの $\mathrm{KNP}^{2}$ を使用した。また，単語エ ントロピーの計算時に用いる形態素解析器には Sudachi[8] を使用し，表記ゆれを吸収するために単語の正規化を行った。

比較手法として, 効果文の最末尾の述語項構造を抽出する手法 (LAST-PAS) と, 坂地らの Cross-Bootstrapping 法 [3] を採用した。

## 5 実験結果および考察

表 1 に評価結果を示す. 提案手法は, all, partial の両方で最も高い $\mathrm{F}$ 值を示した. 最末尾から述語項構造を抽出する手法を比較すると, all において F 值 が 1.5 ポイント, partial において 3.4 ポイント向上し ている。これは, 文末尾に存在する不要な述語項構造が，ノイズ単語が除去されたことにより抽出され なくなったためだと考えられる.

坂地らの手法は，Precision が最も高いものの，効果を抽出するために利用する手がかり表現を含ん だ文の件数は 59 文 $/ 242$ 文 (24.4\%) に留まっており， Recall は最も低い結果となった。一方，提案手法は 述語項構造解析結果に基づいて効果を抽出している ため，様々な記述パターンに対応することができ，結果として Recall と $\mathrm{F}$ 値が最も高くなったと考えら れる。

表 1 効果抽出の評価結果

## 5.1 エラー分析

提案手法 (partial) における誤抽出の分類および件数を表 2 に示す. 効果を含む文からの誤抽出では，部分的に失敗のケースが最も多かった。部分的失敗 とは，効果を表す一部語句が欠落したタイプの誤抽出であり，例えば「高率放電特性に優れた蓄電池を 得ることができる。」という文章から優れた蓄電池 $\Rightarrow$ 得ることができるのみが抽出され，効果として重要な「高率放電特性」が含まれていないケースであ る.この場合，述語項構造の項に係っている修飾節 の取得範囲を広げることで対処することで改善でき ると考えられる。

一方，効果を含まない文からの誤抽出は，完全に 失敗のケースが最も多く，次に非重要効果を抽出し たケースが多かった。「発明の効果」において，(1)最初に発明の構成を示し, 次に (2) 重要ではない細
かな効果を述べ，最後に (3) 重要な効果を述べる， という記述パターンが存在するが，先述の誤抽出は 主に (1)，(2)に属する文から抽出されたものである. この場合，「発明の効果」内の談話構造を考慮する ことで誤抽出を低減できると考えられる。

表 2 提案手法 (partial) における誤抽出の分類と件数

## 5.2 ノイズ単語

本手法により自動的に除去されたノイズ単語 29 個を以下に示す。

一自動的に除去されたノイズ単語

する,こと,できる, 合金, 製造, なる, 水素, 得る,吸蔵, ある, 可能, 発明, 金属, 材料, 優れる, 向上,化合, 有する, 効果, 特性, 用いる, 方法, 提供, コ スト, もの, 容易, 形状, 良好, 安価

上記のノイズ単語を見ると，後半に「安価」「コス 卜」という直接的に効果を表している語が除去され てしまっているものの，その他の単語は「する」「こ と」「効果」など，意味を持たない形式的内容語を 中心に除去されていることが分かる。また，「合金」「水素」「金属」など，分野特有の単語も除去されて いる. 今回対象としているのは合金分野の特許であ り，上記のような分野特有の単語を含む効果，例え ば「水素吸蔵合金を製造することができる」が抽出 されたとしても分析上有用な情報であるとはいえな いため，除去されたのは妥当と考えられる。

## 6 まとめ

本研究では, 特許文書の項目「発明の効果」から,単語の大域的・局所的エントロピーを利用して発明 の効果らしい述語項構造を自動的に抽出する手法を 提案した. 合金分野の特許を対象に評価実験を行っ た結果，提案手法は 2 種類の比較手法よりも高い $\mathrm{F}$値を示した. 今後の課題として, 抽出した効果述語項構造をクラスタリングし，効果をまとめ上げるこ とが挙げられる.

## 参考文献

[1] Longhui Zhang, Lei Li, and Tao Li. Patent mining: A survey. SIGKDD Explor. Newsl., Vol. 16, No. 2, p. 1-19, May 2015.

[2] 酒井浩之, 野中尋史, 増山繁. 特許明細書からの技術課題情報の抽出. 人工知能学会論文誌, Vol. 24, No. 6, pp. 531-540, 2009.

[3] 坂地泰紀, 野中尋史, 酒井浩之, 増山繁. Crossbootstrapping : 特許文書からの課題・効果表現対の 自動抽出手法. 電子情報通信学会論文誌. D, Vol. 93, No. 6, pp. 742-755, 2010.

[4] H. Nonaka, A. Kobayahi, H. Sakaji, Y. Suzuki, H. Sakai, and S. Masuyama. Extraction of the effect and the technology terms from a patent document. In The 40th International Conference on Computers Indutrial Engineering, pp. 1-6, 2010.

[5] 谷中瞳, 大澤幸生. 特許文献を利用した技術課題の抽象化方法の検討. 人工知能学会全国大会論文集, Vol. JSAI2016, pp. 1J32-1J32, 2016.

[6] 滝川和樹, 山本和英. 構文片の改良と評判分析への 適用. 言語処理学会第 17 回年次大会発表論文集, pp. 111-114, 2011

[7] 河原大輔, 黒橋禎夫. 自動構築した大規模格フレーム に基づく構文・格解析の統合的確率モデル. 自然言語処理, Vol. 14, No. 4, pp. 67-81, 2007.

[8] Kazuma Takaoka, Sorami Hisamoto, Noriko Kawahara, Miho Sakamoto, Yoshitaka Uchida, and Yuji Matsumoto. Sudachi: a japanese tokenizer for business. In Proceedings of the Eleventh International Conference on Language Resources and Evaluation (LREC 2018), Paris, France, 2018.


# 自動車免許試験自動解答における単語類似度の影響

的場 成紀 ${ }^{1}$ 田邊 豊 ${ }^{1}$ 小林 一郎 ${ }^{2}$ 平 博順 ${ }^{1}$
1 大阪工業大学大学院 情報科学研究科 2 お茶の水女子大学 基幹研究院 自然科学系
\{m1m19a31, m1m20a21\}@st.oit.ac.jp
koba@is.ocha.ac.jp
hirotoshi.taira@oit.ac.jp

## 1 はじめに

これまで我々は，与えられた文があらかじめ与え られた規則に適合するか否かを自動的に判定する規則適合判定技術の 1 つの例として，普通自動車免許試験問題の自動解答技術について研究を行ってき た [1][2]. 機械読解の研究においては，BERT [3] を はじめとする大規模汎用言語モデルを用いた手法 が高い正解率が得られ，広く用いられている. 免許試験問題は，他の多くの機械読解タスクと比べて，与えられる文章が 1 文程度と短いのが大きな特徴 である．BERT などの手法が適さない可能性もあっ たが，模擬問題を利用した BERTによる学習手法で は，免許試験問題においても一定の正解率が得られ ることを実験的に示されていた [1]. しかし，大規模汎用言語モデルを用いた手法では, 出現単語の並 びだけで正誤判定がされてしまっている可能性も考 えられ，実用的な規則適合判定に BERT 等の手法を そのまま使用できるのか疑問があった.

そこで，本研究では，単語の類似度だけでは正誤判定がしにくい評価用データを作成し，自動解答手法の評価を行って，文を構成する単語が類似してい ても規則を正しく判定できるのか評価を行った. 自動解答手法には, BERT [3], self-attention + BiLSTM [4], word2vec [5] の 3 つの手法を選び，性能の比較 を行った。

## 2 普通自動車免許学科試験問題

普通自動車免許の学科試験は，自動車を運転する ときに必要となる運転技術や交通規則に関する知識 や運転者のマナーなどが問われる試験である．学科試験で問われる内容として文章問題とイラスト問題 が出題され，文章問題は 90 問，イラスト問題は 5 問である. 文章問題は，正誤の二択問題である。
ラスト問題は，運転者から見た車外の様子が描かれ たイラストが与えられ，危険予測などに関する問題 に解答する問題である．各大問に対して二択問題 3 問が出題される. なお配点は，文章問題は各問 1 点， イラスト問題は各大問に対して完答で 2 点である.合計 100 点満点で，90 点以上が合格となる.

本研究では，学科試験の大部分を占める文章問題 を実験の対象とした．また，実際の文章問題には標識や説明のイラストが付与された問題も含まれてい るが，本研究では主に文章のみで表された規則につ いて扱い，イラストが付与された問題は今回は対象外とした。

## 3 評価用データセットの作成

単語の類似度だけでは規則適合判定が難しくなる ように，1）オリジナルの問題文，2）オリジナルの 問題文と単語類似度が高く，かつほぼ同じ内容で，正解もオリジナルと一致する問題 3) オリジナルの 問題文と単語類似度が高く，ほとんど同じだが，正解がオリジナルと異なる問題の 3 種類のデータが含 まれる評価用データセットを作成した。

具体的には, 以下の手順で作成を行った。まず，市販の問題集「試験によく出る普通免許 1000 題」 [6] や「大事なとこだけ総まとめ ポケット版 普通免許試験問題集」[7] を参考にし、問題セット A (7,992 問)，問題セット B（103 問，解説文を含む)，問題セット C（1,000 問）を作成した。

問題セット A，B，C は参考にした問題が異なるっ ている。また，問題セット A は，文末の言い回し のバリエーションを多くなるように作成され，問題セット B は，解説文を含んでいるという特徴が ある.

つぎに、問題セット $\mathrm{C}$ の先頭 300 問から，図が含 まれる問題を除いた 260 問を選び，テスト用問題
表 1 評価用データセットのサイズ

の候補とした. テスト用問題の候補 260 問それぞ れについて，問題セット A から文類似度が高い上位 20 問を抽出し，その中から人手で，テストセッ トの候補の問題と，a) 文意が同じ問題，b) 文意が極 めて近いが正解 $(\bigcirc \times)$ が異なる問題，の 2 種類が 存在するかどうかを確認した。 その結果，問題セッ ト Bにa),b) の 2 種類とも存在する問題は，260 問中，97 問であった. この97問を最終的なテスト用問題とした。なお，確認に用いた文類似度は，日本語 wikipedia に基づく word2vec ${ }^{1)}$ を用いた単語類似度の平均で求めた。

表 2 に作成されたテスト用問題の問題例を示す。

表 2 テスト用問題の問題例

 & 0 \\

訓練用データには，問題セット A と B を合わせた 8,095 問，開発用データには，問題セット $\mathrm{C}$ からテ スト用データを除き，図を含む問題も除いた 746 問 を用いた。

## 4 評価実験

3 章で作成したデータセットを使用して，免許試験の正誤判定問題について自動解答手法の性能評価を行った. 自動解答手法には大きく，word2vec， selfattention+BiLSTM，BERT の 3 つの手法を比較し た. word2vec について日本語モデル2)を利用した.形態素解析器には MeCabを使い, 辞書には NEologd を使った. word2vec を使った正誤問題の解き方とし て，先に訓練用データと評価用のデータのそれぞれ を word2vec で文べクトルに変換した. 文べクトル の変換方法は 1 文を MeCab で単語分割を行ったあ とに，word2vec に流して単語べクトルに変換し，文書に出現する全ての単語べクトルの加算平均をと

る.このときの加算平均を文ベクトルとして扱う. その後，評価用データを 1 文ずつ，訓練用データの 各文書と $\cos$ 類似度で類似度を測定して，一番類似度の高い問題文を検索する．最後に一番高い問題文 の正誤をモデルの出力として扱い，評価用データの ラベルと合致するか確認をする。

BERT は日本語 Wikipedia コーパスで事前学習モデルを転移学習した. 形態素解析器には MeCab+WordPiece [8] を使用した。

self-attention + BiLSTM では埋め込み層に BERT の 特徴量を取得する方法をとった. BERT の特徴量を 得るモデルは転移学習しておいたモデルと事前学習 のみのモデルを用意した．比較実験として BERT の 特徴量を使わずに学習データから得られる単語の特徴量で学習させた。

図 1 self-attention + BiLSTM（文献 [4] より引用）

## 4.1 実験結果

表 3 は評価用データ全体の正解率と小問 3 問で完答した正解率を表している。表 3 より最も正解率が 高かったのは，self-attention + BiLSTM であり，次い で word2vec で正解数が多かった。

## 5 手法による正解した問題の違い

ここでは，手法の違いによってを正解した問題の 違いを調べた。

## 5.1 word2vec の手法で正解が多かった 問題

表 4 は word2vec で有意な問題の例である. 問題 の例では，数字が「800」か「750」の違いによって 正誤が反転している. 問題例のように数字の違いに よって問題が正誤が反転している問題では完答がで きていなかった。
表 3 評価用データの正解率

表 4 word2vec の手法で正解が多かった問題の例

 & $x$ \\

## 5.2 言語モデルの手法で正解が多かった 問題

表 5 は言語モデルで解けて，word2vec で解けな かった問題の例である.この問題の例の「車に乗る 前には、車の前後に人がいないかどうかを確かめ ればよく、車体の下まで確かめる必要はない。」で， word2vec で最も類似度の高い問題では，類義語まで 見ることができずに答えることができなかった. 表 6 は類似度の高い順から検索された問題である。こ のように言語モデルは学習させる際に問題の類義語 などが読み取れていることが分かる.

表 5 言語モデルの手法で正解が多かった問題の例

 & 0 \\

## 5.3 BERT の単語を埋め込む手法で正解が 多かった問題

表 7 は BERT の単語埋め込みをした selfattention+BiLSTM で有意な問題である。この問題の例では「交差点の手前」と「交差点の直前にさ しかかったところ」でといった意味は同じである が，表現が違う問題も正解していることが分かる。

## 5.4 どの手法でも解けなかった問題

表 8 は，どの手法でも解けなかった問題である. この問題では，「中央」と「右端」のみの違いだけ で，問題の正誤が反転している。このように単語の みの変化で細かいところまでは読み解くことができ なかった.

## 5.5 言語モデルにおける出力による違い

評価用データで文意と正誤が同じ問題と正誤が違 う問題で，言語モデルによって出力結果が正解か不正解に関わらず意図していない問題を調べた。

## 5.5.1言語モデルの出力が反転していた問題

表 9 は，文意と正誤が同じ問題でありながら言語 モデルの出力結果が異なっている問題の例である. この問題の特徴として文章の構成が違うことがあげ られる。この問題を解く点として「交通整理が行わ れていない交差点」、「道の幅」、「優先道路」が鍵と なるが出現する順番が入れ替わっている。このよう な問題は言語モデルの出力結果が反転していた.

## 5.5.2言語モデルの出力が同じになった問題

表 10 は，文意が同じで正誤が反転しており，言語モデルの出力結果が同じである問題である. 上の 問題の解説を確認してみると「安全地帯がないとき は、1人もいなくなるまで、後方で停止します。」と なっており，安全地帯の有無によって徐行してよい かどうかが判断基準となっている. このように問題 の単語のみの違いで，問題の構成が類似している問題はモデルの出力結果が反転していなかった.

## 6 おわりに

本研究では，普通自動車免許試験の自動解答技術 について，規則適合性判定技術の観点から性能評価 を行うため，単語の類似度だけでは正誤判定がしに くい評価用データを作成し，自動解答手法の評価を
「車に乗る前には、車の前後に人がいないかどうかを確かめればよく、車体の下まで確かめる必要はない。」

のときの word2vec の上からの検索結果

 & 0.990 & 0 \\

表 7 BERT の単語を埋め込む手法で正解が多かった問題 の例

表 8 どの手法でも解けなかった問題

 & $x$ \\

行った. 自動解答手法として，BERT, self-attention + BiLSTM，word2vec などの手法を選び性能評価を 行ったところ，BERT や word2vec による手法は，単語類似度に依存して規則適合性判定を行っている傾向がみられ，self-attention を使った BiLSTM を用い た場合が，最も正解率が高くなった。

## 謝辞

本研究は JSPS 科研費 $18 K 11452$ の助成を受けたも のである.

## 参考文献

[1] 的場成紀, 古賀雅樹, 大塚基広, 小林一郎, 平博順. 運転免許試験で使用される語彙と省略語句の分析. 人表 9 言語モデルの出力が反転していた問題

 & 0 \\

## 表 10 言語モデルの出力が同じ問題

 & $x$ \\

工知能学会全国大会論文集 一般社団法人 人工知能学会, pp. 1N4J904-1N4J904. 一般社団法人 人工知能学会, 2019 .

[2] 的場成紀, 古賀雅樹, 吉村優志, 田邊豊, 小林一郎, 平博順. 運転免許試験自動解答における問題解説文の利用. 言語処理学会第 26 回年次大会 (NLP2020) 発表論文集, pp. 121-124, 2020.

[3] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018.

[4] Zhouhan Lin, Minwei Feng, Cicero Nogueira dos Santos, Mo Yu, Bing Xiang, Bowen Zhou, and Yoshua Bengio. A structured self-attentive sentence embedding. arXiv preprint arXiv:1703.03130, 2017

[5] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. Distributed representations of words and phrases and their compositionality. pp. 3111-3119, 2013.

[6] 倉宣昭. 試験によく出る普通免許 1000 題. 高橋書店, 2007.

[7] 学科試験問題研究所. ポケット版 普通免許試験問題集. 永岡書店, 2015 .

[8] Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V. Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, Jeff Klingner,

Apurva Shah, Melvin Johnson, Xiaobing Liu, Łukasz Kaiser, Stephan Gouws, Yoshikiyo Kato, Taku Kudo, Hideto Kazawa, Keith Stevens, George Kurian, Nishant Patil, Wei Wang, Cliff Young, Jason Smith, Jason Riesa, Alex Rudnick, Oriol Vinyals, Greg Corrado, Macduff Hughes, and Jeffrey Dean. Google's neural machine translation system: Bridging the gap between human and machine translation, 2016.


# Softmax 関数の出力を利用した 信頼度推定による記述式問題の誤採点の検出

横尾 拓未 $^{1}$ 作田 航平 ${ }^{1}$ 早川 純平 ${ }^{1}$ 倉田 基成 ${ }^{2}$ 森 康久仁 ${ }^{3}$ 須鎗 弘樹 3
1 千葉大学大学院融合理工学府
2 千葉大学工学部
3 千葉大学大学院工学研究院

## 1 はじめに

2020 年度から大学入試センター試験が廃止され,大学入学共通テストが開始された。大学入学共通テ ストに導入予定であった記述式問題だが，誤採点の 可能性を完全に解消することはできないなどの理由 から，導入は見送られた。記述式問題の誤採点とい う課題は大学入学共通テストに限った話ではなく,企業の実施する模試などにおいても不可避な問題 の 1 つである.そこで本研究では, 部分点の無い正解・不正解の記述式問題のデータを扱い, 機械学習 を用いて，採点済みの解答から誤採点を検出するシ ステムを提案する。

## 2 関連研究

近年，機械学習を用いた記述式問題における自動採点の研究は増えつつある. 寺田らは SVM や畳み 込みニューラルネットワーク (CNN) を用いた自動採点を提案した [1]. 化学 1 題, 生物 1 題, 世界史 1 題, 国語 4 題からなる計 7 題の問題に対してそれぞ れ約 250 から 460 解答の採点済みデータを用意し, SVM および n-gram を利用した CNN で leave-one-out 交差検定を用い，正解・不正解の二值分類を行った。 その結果, 全体で $90 \%$ 前後の精度, 最も良い結果 で $98.4 \%$ でのクラス分類に成功している. 高井らは LSTM と Attention を用いた自動採点を提案している [2]. 国語, 社会, 理科の計 3 題それぞれ約 1200 解答について約 7 割を学習データ, 約 3 割を検証デー タとし, 正解・不正解の 2 值分類を行なった結果,約 80\% 90\%の精度のクラス分類に成功した. 水本 らは部分点を持つ 50 字から 70 字程度の論筆 3 題,随筆 2 , 小説 1 題の計 6 題の国語の記述式問題の項目点予測に取り組んだ [3]. LSTM および Attention 機構を用い，項目点のついたデータを学習すること
で項目点を予測し，また全体点のデータを追加で学習することで項目ごとの性能の向上に成功した。し かし，自動採点の実用性を考えた時，現場では採点精度が限りなく $100 \%$ に近い精度を求められるが， いずれの研究も十分な精度とは言えず，依然として 実用レベルに達していない.

機械学習による自動採点では，あらかじめ人間が 採点した解答を学習データとして用いる．実際の現場では人によって採点のズレが生じたり，採点を誤 る場合がある．採点に摇れが存在する解答を学習 データとすることによって, 自動採点の精度向上の 妨げとなる可能性がある．そのため，モデルが高精度であればあるほど， $100 \%$ の採点精度に届かない 理由が学習データへの信頼性が不十分であるという 問題が浮かび上がる. 自動採点で精度を向上させる 観点からも，また，採点結果をチェックする観点か らも誤採点の検出は必須であると言える.

## 3 提案手法

本節では，採点済みの解答から誤採点を検出する アルゴリズムを提案する。はじめに，本研究では正解・不正解の二值分類となる記述式問題から人間の 誤採点を検出することを考える．人間による採点の ついた解答 $\left(A_{\text {human }}\right)$ を用意し, 4-fold cross validation にてモデルの学習を行う．学習したモデルによって テストデータに正解・不正解の分類結果 $\left(A_{\text {model }}\right)$ が 付与される. その後, $A_{\text {human }}$ と $A_{\text {model }}$ を比較し, $A_{\text {human }} \neq A_{\text {model }}$, すなわち, 人間の採点とモデル の分類が異なった場合に，その解答を誤採点予測 データとして抽出する．モデルの解答の分類では， softmax 関数の出力が [ 正解, 不正解 $]=[0.8,0.2]$ の ように出力され, 出力值の大きい方の正解・不正解 をモデルの結果としている．本手法では，以降，各解答ごとの softmax 関数の出力の大きい方を softmax
值と呼び, 擬似的に信頼度として扱い, 誤採点予測 データの絞り込みに利用する。抽出した誤採点予測 データには, 表 1 のように，実際に人間の採点が 誤っており, 誤採点である解答 (真陽性) だけでな く, モデルが間違って採点した解答 (偽陽性) が存在 する.

表 1 誤採点予測データの詳細

本手法では機械学習のモデルに BERT-NN モデル と LSTM-NN モデルの 2 種類のモデルを用い, 実験 にてモデルの評価を行った．以下にそのモデルを 示す.

・BERT-NN モデル

BRET-NN モデルのモデル図を図 1 に示す. BERT の日本語 Pretrained モデルを用い，文章ご とにベクトルを与える. その後文章ベクトルを 入力として学習を行い, 正解/不正解の分類を 行う.

図 1 BERT-NN のモデル構造

## ・LSTM-NN モデル

LSTM-NN モデルのモデル図を図 2 に示す.文章を Juman++によって形態素解析し, BERT の日本語 Pretrained モデルを用い，それぞれの 単語にベクトルを付与する. その後, 解答ご とに単語ベクトル群を入力とし, LSTM ネッ トワークで学習を行い, 正解/不正解の分類を 行う.

図 2 LSTM-NN のモデル構造

## 4 実験

提案手法の有効性を確認するために，中学生を対象に行われた記述式問題の解答データに対して実験 を行った。

## 4.1 実験データ

本研究では国語, 社会, 理科の 3 科目の問題計 3 問についてそれぞれ約 1200 人分の解答を用いた。 これらの解答には人間による正誤の採点結果のラべ ルがついている。また各教科のデータの詳細を表 2 に示す.ここで解答数については空欄のものを削除 した数となっている.

## 4.2 実験方法

本実験では，データセットからランダムに選んだ 10 個の解答に対して, 人間が採点した正解/不正解 のラベルを反転させ, 意図的に誤採点を作成した。誤採点とする解答に偏りをなくすため, 10 回実験を 行い，モデルが誤採点と指摘した解答数，また実際 に検出できた誤採点の解答数を比較し各モデルの評価を行った。評価指標は以下の 2 つを用いた
- 検出率

全 10 問の誤採点の内，実際に検出できた割合
- 指摘精度

誤採点と指摘した解答の内, 実際に誤採点の解
表 2 実験データの詳細

答の占める割合

$
\text { 指摘精度 }=\frac{\text { 真陽性数 }}{\text { 真陽性数 }+ \text { 偽陽性数 }}
$

誤採点と指摘する解答数を増やせば，一定量の偽陽性を認めることで検出率をあげることができる。 したがって誤採点と指摘する解答数を減らした時 に，検出率を維持し，指摘精度を向上できることが 理想的なモデルと言える。本実験では, BERT-NN モデルと LSTM-NN モデルの 2 つの機械学習のモデ ルについて，以下に示す実験 1 ，またその結果から モデルを改善した実験 2 を行った。

## 4.3 実験 1

誤採点予測データそのままでは偽陽性が多く存在 するため, モデルの出力結果の信頼度が高い解答を 選ぶことを考えた. softmax 值があるしきい値以上 の確率の解答についてのみを抽出することで絞り込 みを行う. softmax 值のしきい值を変え，誤採点と 指摘する解答数を変化させた時の, 検出率と指摘精度の関係を見た。

## 4.3.1 結果と考察

国語，社会，理科に対する，誤採点と指摘する解答数を変化させた時の検出率と指摘精度の関係を図 3, 図 4, 図 5 にそれぞれ示す. 最高の検出率は全教科で $80 \%$ を超えていることが見て取れる. また, LSTM-NN モデルの方が BERT-NN モデルよりも最高の検出率が若干高い.

最高の指摘精度は BERT-NN モデルが社会で $30.9 \%$ ，LSTM-NN モデルが国語で $22.1 \%$ とともに低 い. 大きい softmax 値を持つ解答を抽出することが， モデルの出力結果の信頼度が高い解答を抽出するこ とにはならず，偽陽性の削減に有効でないことが分 かった。また, どの科目でも, LSTM-NN モデルの 方が BERT-NN モデルより指摘精度が上がっていな いことがわかる．BERT-NN モデルが BERT の学習済みモデルによって均一な方法でベクトル化され るのに対して, LSTM-NN モデルはLSTM の学習に よって LSTM 内部の重みが決定され，その重みに
よって偏ったべクトル化が行われる. それによって 解答間で softmax 值に偏りができ，softmax 值を信頼度として扱うことに適さなかったと考えられる。

図 3 国語 : 検出率と指摘精度の関係 (実験 1)

図 4 社会 : 検出率と指摘精度の関係 (実験 1)

図 5 理科: 検出率と指摘精度の関係 (実験 1)

## 4.4 実験 2

実験 1 の結果を受け, 等しい条件で softmax 值 を評価することを考える。均一にベクトル化でき る BERT-NN モデルを用い, 学習データに依存した softmax 值を避けるために, 4-fold cross validation で はなく, 全ての解答でモデルを学習させ，その際 の各解答の softmax 値を評価する．検出率が高い LSTM-NN モデルを用いて誤採点予測データを用意 し，BERT-NN モデルで全ての解答を学習させた時 の, 誤採点予測データの解答それぞれに対応する softmax 值を利用して解答を絞り込む. 誤採点の解答を学習するということは本来したい分類の逆の学習であり, 正しい分類の解答の影響を受け, 誤採点 の解答の softmax 値は低くなると予想される。これ を利用し，あるしきい值以下の softmax 值を持つ解答を抽出することで誤採点以外の解答を除外し, 指摘精度を向上させる．しきい值となる softmax 值を 変え, 指摘する解答数を変化させた時の検出率と指摘精度の関係を見る。

## 4.4.1 結果と考察

国語, 社会, 理科に対し, 誤採点と指摘する解答数を変化させた時の検出率と指摘精度の関係を実験 1 の結果とともに, 図 6 , 図 7 , 図 8 に示す. 実験 2 の手法を手法 2 とする. 図 6 から国語は指摘精度の

図 6 国語 : 検出率と指摘精度の関係 (実験 2)

向上がほとんど見られない.これは国語の解答が表 2 からわかるように総単語数が 597 と多く, 解答ご とに様々なべクトル化がされるためと考えられる.全解答を学習した際, 誤採点の解答が周りの解答の 影響を受けることなく誤採点のまま学習されたた め, softmax 值が低くならず，しきい値を設けても 誤採点を抽出することに繋がらなかったと考えられ る. 図 7, 図 8 から社会と理科で実験 1 に比べて,

図 7 社会: 検出率と指摘精度の関係 (実験 2)

図 8 理科 : 検出率と指摘精度の関係 (実験 2)

指摘する解答数を減らした際に，検出率を維持した まま指摘精度を向上させることができた。

## 5 まとめ

実験 2 によって指摘精度の向上に成功した。本研究では全教科で約 90\%の高い誤採点の検出率を実現 し, また理科と社会においては誤採点と指摘する解答数を絞り込んだ際に指摘精度を理科で $51 \%$ ，社会では $41 \%$ まで向上させることができた．今後の課題として検出率向上のためのモデルの改善, また,依然残っている偽陽性の削減などが上げられる。ま た誤採点となる解答を今回はランダムに発生させ たが，実際に誤採点しやすいような解答を誤採点の データセットとするような条件下で再実験する必要 があると考える.

## 謝辞

本研究を進めるにあたり，研究を行うための貴重 なデータセットを提供してくださった株式会社進学研究会に深く感謝し，心より御礼申し上げます.

## 参考文献

[1]寺田凛太郎, 久保顕大, 柴田知秀, 黒橋禎夫, 大久保智哉 : ニューラルネットワークを用いた記述式問題の自動採点, 言語処理学会, 第 22 回年次大会 発表論文, pages 370-373, 2016

[2]高井浩平, 竹谷謙吾, 早川純平, 森康久仁, 須鎗弘樹 : LSTM と Attention を用いた自動採点及び採点支援の実用化に向けて，2I5-J-9-05(3 pages), 人工知能学会第 33 回全国大会論文集，2019

[3]Tomoya Mizumoto, Hiroki Ouchi, Yoriko Isobe, Paul Reisert, Ryo Nagata, Satoshi Sekine, Kentaro Inui : "Analytic Score Prediction and Justification Identification in Automated Short Answer Scoring", Proceedings of the Fourteenth Workshop on Innovative Use of NLP for Building Educational Applications, pages 316-325, 2019


# 隠れ層補間によるデータ拡張を用いた 障害レポート分類

山下 郁海 ${ }^{1}$ 小町 守 1 真鍋 章 2 谷本 恒野 ${ }^{2}$
1 東京都立大学 2 富士電機株式会社
yamashita-ikumi@ed.tmu.ac.jp, komachi@tmu.ac.jp
\{manabe-akira, tanimoto-kouya\}@fujielectric.com

## 1 はじめに

近年，小規模なラベルありデータしか存在しな いテキスト分類に対する研究が盛んに行われてい る $[1,2,3]$. これらの手法では対象となる分野のラ ベルなしデータを用意し, 事前学習やデータ拡張 に用いることで，大きな性能の向上が報告されて いる.

一方，本研究で扱う日本語の障害レポートはラベ ルありデータが少なく，また対象となる分野のラべ ルなしデータの用意も権利の関係で難しいデータ である。また，障害レポートは特定の分野に関して の記述であり，例えば Wikipedia のような大規模な データが入手可能なラベルなしデータとは大きく分野が異なる [4]. そのため，対象となる分野，もしく はそれに近い分野のラベルなしデータが必要になる ような手法を適用することが難しい.

そこで本研究では, Chen ら [5] による隠れ層線形補間を用いたデータ拡張手法 TMix を用いて実験を 行った. TMix は， 入力文の隠れ状態べクトルを線形補間することでデータ拡張を行う，追加のデータ を必要としないデータ拡張手法であり，本研究で扱 う障害レポートの分類問題に対しても適用が比較的容易である。

TMix を用いて障害レポートに対して分類実験を 行った結果，TMix を用いない場合と比較して性能 の向上が確認された．また，分類の対象とは異なる 分野のラベルなしデータを用意し，TMixをもとに した半教師あり学習を行うことで，さらなる性能の 向上を確認し, 対象分野のラベルありデータと, 対象となる分野とは異なる分野のラベルなしデータを 線形補間して学習に用いることで性能向上が可能で あることを示した。

## 2 関連研究

## 2.1 線形補間によるデータ拡張

線形補間によるデータ拡張は，近年画像分類の分野において盛んに研究されている. Zhang ら [6] は 入力画像のベクトルとそのラベルをそれぞれ線形補間した上で学習を行うことで，性能向上を図る手法 mixup を 2017 年に提案している. その後, Berthelot ら [7] は mixup を用いた半教師あり画像分類手法 MixMatch を提案し，Verma ら [8] はこれまで入力の ベクトルのみに行っていた線形補間を，隠れ状態べ クトルに拡張することで性能が向上することを報告 している。

これらの研究はどれも線形補間を用いたデータ拡張の研究ではあるが，本研究とは異なり，全て画像分類の分野の研究であり, 本研究では, これらの研究をもとにChen ら [5] の提案した，テキストデータ のための線形補間を用いたデータ拡張手法を用いて 実験を行う。

## 2.2 小規模なラベルありデータに対するテ キスト分類

小規模なラベルありデータに対するテキスト分類のための手法のうちの 1 つとして，ラベルなし データを用いた事前学習の研究が行われている。 Gururangan ら [3] は, 分類の対象となる分野のラべ ルなしデータを用いて，Variational autoencoderを事前学習し，そこから得られる embedding を入力文の 単語ベクトルと足し合わせて，テキスト分類の入力 として用いることで分類性能の向上を図っている.

また，別の手法として，ラベルなしデータを用 いた半教師あり学習の研究も行われている. Chen ら [1] と，Xie ら [2] は，どちらも対象となる分野の

図 1 TMix [5] の概要図.

ラベルなしデータに対して逆翻訳をすることでデー タ拡張を行い，それらのラベルなしデータを用いた 半教師あり学習の手法を提案している. これらの研究は本研究とは異なり，どれも性能向上のために対象となる分野のラベルなしデータが入手できること を想定している。

## 3 障害レポート分類のためのデータ 拡張

## 3.1 隠れ層の補間：TMix

本研究では，障害レポートの分類問題を解くにあ たって，画像分類の分野におけるデータ拡張手法 mixup [6] をとに，Chen ら [5] がテキストデータ を扱えるように改良したしたデータ拡張手法 TMix を用いている. TMix の概要図を図 1 に示す. TMix は，BERT [9]のような多層モデルを用いる際に，入力文の隠れ状態べクトルを線形補間することでテキ ストデータの拡張を行う手法である. 図 1 では，ま ず 2 の異なる文 $x, x^{\prime}$ を入力とし, 第 $m$ 層まで通常の手順でそれぞれの隠れ状態べクトル $h, h^{\prime}$ の計算を行う. 次に，2つの文の隠れ状態ベクトルを線形補間し，以下の式に示す $\tilde{h}$ を得る。

$
\tilde{h}=\lambda h+(1-\lambda) h^{\prime}
$

ここで補間係数 $\lambda$ はベータ分布 $\operatorname{Beta}(\alpha, \alpha)$ に基づい て選択される。 $\alpha$ は補間係数をコントロールするた めのハイパーパラメータである. その後の層での計算は，この新しく得た隠れ状態べクトル $\tilde{h} を$ 用いて行う。また，ラベルに関しても隠れ状態を線形補間 する際に用いた係数と同じ補間係数 $\lambda$ を用いて補間 を行い，以下の式に示す $\tilde{y}$ 計算する。

$
\tilde{y}=\lambda y+(1-\lambda) y^{\prime}
$

ここで $y, y^{\prime}$ はそれぞれ入力 $x, x^{\prime}$ に対応するラベル である.

学習データ中の入力文の組み合わせは無数に存在 するため，TMix を用いることで，追加のデータを 用いることなく，新しく拡張されたデータを多数作成することが可能である．また，学習文に対して全 てのデータを補間するだけでなく，ランダムで補間 するかどうかを選択することで，一部のデータに対 して元のデータの隠れ状態を用いて学習を行うこと も可能である．そのため本研究では，全てのデータ を補間する設定と，補間するかどうかをランダムに 選択し一部データを補間する設定の 2 つの設定で実験を行なっている.

## 3.2 TMix を用いた半教師あり学習

Chen ら [5] は TMix によるデータ拡張とラベルな しデータを組み合わせたテキスト分類に対する半教師あり学習の手法を提案しており, 本研究でもそれ にならい半教師あり学習を行う1).

この手法ではまず，ラベルなしデータに対してそ の時点での分類器でラベルの予測を行う. その後, ラベルを予測したこれらのデータを追加のラベル ありデータとして，通常のラベルありデータと同様 に TMix を用いて扱う。この際に，ラベルありデー タをもとに補間を行った場合と，新たにラベルを予測したラベルなしデータをもとに補間を行った場合で， loss の計算が異なる. すなわち，ラベルあり データを用いた場合は Cross-entropy が最小となるよ うに，ラベルなしデータを用いた場合は，線形補間 された入力文の隠れ状態ベクトルからモデルの予測 した確率分布と，線形補間されたラベルの間の KL ダイバージェンスが最小となるように学習を行う.

また，モデルがラベルなしデータのラベルを予測 する際に確信度の高いラベルを予測できるように，予測確率のエントロピー最小化を行い，以下のよう な Self-training loss を計算する。

$
L_{\text {self }}=\mathbb{E}_{\mathbf{x} \in \mathbf{X}_{u}} \max \left(0, \gamma-\left.\|\mathbf{y}_{u}\right.\|_{2}^{2}\right)
$
^{1)}$ Chen らの論文 [5] の記述と公開されている実装 （https://github.com/GT-SALT/MixText）には一部異なる部分や論文では言及されていない箇所があり，この節の記述は公開されて いる実装をもとにしている.
}

図 2 半教師あり学習の概要図.

表 1 障害レポートの各文とそれに対応するラベルの例障害レポートの文 状況 原因 措置その他

A 棟 $1 \mathrm{~F}$ の感知器より警 $\checkmark$報発報。

本箇所の感知器が頻繁

に誤作動しているとの

情報あり。

原因は污れだと思われ

るため、復旧及び感知

器の交換実施。

ここで， $\mathbf{X}_{u}$ はラベルなしテキストデータの集合で あり， $\mathbf{y}_{u}$ はラベルなしデータに対して予測されたラ ベルである．また， $\gamma$ は loss を調整するためのハイ パーパラメータである. 最終的な半教師あり学習の

テキストデータの集合であり， $\mathbf{y}_{l}$ はラベルありデー タに対して予測されたラベルである.

また，この手法ではラベルありデータとラベルな しデータを両方用いて補間を行うが，この際の補間 のやり方に関して，ラベルありデータとラベルなし データを混ぜて補間する設定と，別々にそれぞれの データの中で補間する設定の 2 つの設定が考えら れる. 本研究では，この 2 つの設定両方で実験を行 い，比較を行なっている。

## 3.3 障害レポート分類

本研究では障害レポートの各文に対してマルチラ ベル分類を行う．表 1 に実際の障害レポートの文の 例を示す。ラベルには状況，原因，措置，その他の 4 つが存在し，各文に対してそれぞれ付与されてい る. 例えば， 1 行目の文に対しては状況のラベルが， 2 行目の文に対してはその他のラベルが付与されて いる. 一方， 3 行目の文には原因と措置の 2 つのラ ベルが付与されている．このように，本研究で扱う 障害レポートデータはマルチラベルデータである.

本研究では，マルチラベル分類の手法として勝又 ら [4] と同じ，One-vs-Restを用いた。分類モデルに は BERT を用いた。具体的には，BERT の最終層に対して平均プーリングを行い，その後 2 層， 128 次元からなる多層パーセプトロンを通し，その出力を 用いて，各ラベルを付与するかしないかの確率を求 める. この確率を用いて各ラベルごとに 2 值分類を 行い，入力 $x$ に対して各ラベルを付与するかどうか を予測する。

## 4 実験

## 4.1 実験設定

本研究では、設備保全に関する障害レポートの データに対して実験を行う。このデータは今回新 たに人手でアノテーションを行ったデータであり， データ中の障害レポートは 194 件存在し，総文数は 1,365 文である. この障害レポートを分割し，学習 データに 869 文，開発データに 244 文，評価データ に 252 文用いた。

半教師あり学習に用いるラベルなしデータには, Wikipediaを用いた。実際に学習に用いるデータは，元のデータからランダムに 2,500 文を抽出したもの を用いた。このデータは，今回対象となる設備保全 の障害レポートとは分野の異なるラベルなしデー タである。これらのラベルありデータ，ラベルなし データの単語分割には，共に MeCab ${ }^{2)}$ を用い，辞書 として mecab-ipadic-2.7.0-20070801を用いた.

本研究では事前学習済みの BERT を単にラベルあ りデータでファインチューニングし，分類を学習し たものをべースラインとする.

本研究で使用する事前学習済み BERT モデル は Hugging Face ${ }^{3)} に よ る$ 自然言語処理ライブラリ Transformers ${ }^{4}$ において，東北大学の鈴木らが公開し ている事前学習済み $\mathrm{BERT}^{5}$ のモデルを使用した。分類には，Chen ら [5] の実装6)をもとに，マルチラ
^{2)}$ http://taku910.github.io/mecab, v.0.996.

${ }^{3)}$ https://huggingface.co/

${ }^{4)}$ https://github.com/huggingface/transformers

${ }^{5)}$ https://github.com/cl-tohoku/bert-japanese

 }^{6)} \mathrm{https://github.com/GT-SALT/MixText}$

表 2 分類実験の結果. 太字はその列内で最もスコアが高いものを示す.

ベル分類が行えるように修正を行った．TMix を用 いた学習の際の線形補間を行う層については，先行研究の結果をもとに 7, 9, 12 層目からランダムに選択を行った。また，言及していないハイパーパラ メータについては元の実装のものを用いた.

本研究では，マルチラベル分類を各ラベルに対し て付与されるかされないかの 2 值分類として扱い 実験を行っている．そのため，評価は各ラベルごと に行った. 具体的には，各ラベルに対して正しく ラベルが付与できた場合を正解として，Precision, Recall，F-score を計算した. モデルの選択は，開発 データに対して各ラベルに対する F-score の平均が 最も大きいモデルを最も良い分類モデルとして行っ た. また，全ての実験結果はシード値を変更して2 回実験を行い，平均したものである.

## 4.2 実験結果

実験結果を表 2 に示す. rnd と書かれているもの は，学習中にデータに対して補間を行うかどうか をランダムで選択するモデル, sep と書かれている ものは，学習中にラベルありデータとラベルなし データをそれぞれ別々に補間するモデルである。ま た，+Wiki と書かれているものはラベルなしデータ として Wikipedia のデータを用いて半教師あり学習 を行ったものである.

表 2 から，TMixを用いたモデルの平均 $\mathrm{F}$ がべー スラインの BERT の平均 $\mathrm{F}$ を回っており, 隠れ層線形補間によるデータ拡張を用いることで，性能が 向上していることが読み取れる．また，ラベルなし データを用いて半教師あり学習を行ったモデルの全 てがベースラインの BERT よりも平均 $\mathrm{F}$ が高く, 少量かつ対象となる分野とは異なる分野のラベルな
しデータを用いているのみにもかかわらず，性能が 向上していることが確認できる．加えて，その中で も，Wikipedia のデータを用いて半教師あり学習を 行ったモデル（TMix +Wiki）の平均 $\mathrm{F}$ が最も高いこ とが確認できる.

## 5 分析と考察

表 2 の実験結果から，ラベルありデータのみしか 用いない場合 (TMix, TMix (rnd)), 学習中にデータ に対して補間を行うかどうかをランダムで選択する 方が性能が向上していることが確認できる。一方，同様のラベルなしデータを用いたモデルの中では,全ての入力データをまとめて補間するモデル（TMix +Wiki）の平均 $\mathrm{F}$ が最も高いことがわかる. これら の結果から，信頼度の高いラベルありデータのみで 線形補間を行う場合は，全てのデータではなく一部 のデータで補間を行う方が性能向上に役立つのに対 して，信頼度の低いラベルなしデータはそれ単体で 用いるのではなく，常にラベルありデータと補間し て用いることで，より分類モデルの性能を向上させ ることができると考えられる.

## 6 おわりに

本研究では，対象となる分野のラベルありデータ が少ないテキスト分類において，隠れ層線形補間を 用いたデータ拡張を行うことで，追加のデータを用 いることなく性能が向上することを示した．また，隠れ層線形補間をもとにして少量のラベルなしデー タと共に半教師あり学習を行うことで，さらなる性能の向上が図れることを示した。

## 参考文献

[1] Jiaao Chen, Yuwei Wu, and Diyi Yang. Semi-supervised models via data augmentation for classifying interactive affective responses. In AffCon, AAAI, Vol. 2614, pp. 151-160, 2020.

[2] Qizhe Xie, Zihang Dai, Eduard Hovy, Minh-Thang Luong, and Quoc V Le. Unsupervised data augmentation for consistency training. In NeurIPS, p. 14, 2020.

[3] Suchin Gururangan, Tam Dang, Dallas Card, and Noah A. Smith. Variational pretraining for semi-supervised text classification. In $A C L$, pp. 5880-5894, 2019.

[4] 勝又智, 小町守, 真鍋章, 谷本恒野. 障害レポートの 分類問題に対するデータ選択を用いた BERT モデ ルの精度向上. 言語処理学会 第 26 回年次大会, pp. 645-648, 2020.

[5] Jiaao Chen, Zichao Yang, and Diyi Yang. MixText: Linguistically-informed interpolation of hidden space for semi-supervised text classification. In $A C L$, pp. 2147-2157, 2020.

[6] Hongyi Zhang, Moustapha Cissé, Yann N. Dauphin, and David Lopez-Paz. mixup: Beyond empirical risk minimization. CoRR, Vol. abs/1710.09412, , 2017.

[7] David Berthelot, Nicholas Carlini, Ian Goodfellow, Nicolas Papernot, Avital Oliver, and Colin A Raffel. MixMatch: A holistic approach to semi-supervised learning. In NeurIPS, Vol. 32, pp. 5049-5059, 2019.

[8] Vikas Verma, Alex Lamb, Christopher Beckham, Amir Najafi, Ioannis Mitliagkas, David Lopez-Paz, and Yoshua Bengio. Manifold mixup: Better representations by interpolating hidden states. In ICML, Vol. 97, pp. 6438-6447, 2019.

[9] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In $N A A C L$, pp. 41714186, 2019


# スケジュール登録のための発話文解析

藤井良介
鳥取大学工学部
jcyhbb@gmail.com
}

徳久雅人
鳥取大学工学部
tokuhisa@tottori-u.ac.jp
}

木村周平
鳥取大学工学部
kimura@tottori-u.ac.jp

## 1 はじめに

自動車の中などキーボードが使用しにくい状況に おいて，スケジュールのメモをとるためには音声に よる入力が一つの手段である. 運転の直前に追加さ れた予定は運転に集中していると忘れやすいため， メモをとることができていれば行き忘れることを防止できる.

スケジュールという情報は，「日時（開始, 終了）,場所 (出発, 到着), 用件」という 5 つの項目の組の 系列である. スケジュールの登録のための発話文の 解析においては, 日時や場所の表現抽出，および，開始／終了等の下位分類の判定が必要となる. 本稿 では，これらの解析を行う手法を示す。

## 2 スケジュール登録の発話

## 2.1 例題

スケジュールを登録する発話の例を見ながら，処理目標を解説する.

## 例)

設定日時：2020 年 5 月 13 日 8:12

設定場所：自宅駐車場

入力文 $1: 10$ 時半から大学でゼミがあります

入力文 $2: 16$ 時に自宅に帰ります

スケジュール表：

 & *** & 帰ります \\
& 自宅 & \\

$※$ 日時列上行 $=$ 開始, 日時列下行 $=$ 終了場所列上行 $=$ 出発, 場所列下行 $=$ 到着 \# はレコード番号
まず，発話時の設定として，発話の日時および場所が与えられるものとする。 次に，発話文が $2 \supset$ つ 力される. 文 1 の解析の際，日付は設定日時と同一と仮定する．時刻を文中から取得する。「〜から」 なので開始の日時とみなす. 場所は「大学」である.用件は「ゼミ」である. ゼミの間，場所の変化はな いので，「出発, 到着」の区別がない. スケジュール 表のレコード\#1 が埋められる. このレコード\#1を 基準として, 文 2 の解析を行う. 次に, 文 2 の開始日時は不明である。終了日時は「16時」である. 文 2 から直接的に得られる場所は「自宅」であり，到着場所と解釈する. こうしてレコード\# 2 が生成さ れる。

## 2.2 分析用コーパス

発話文とスケジュールを収録したコーパスは構築済みである [1]. 発話文には，日時タグ<tmg>，場所 タグ<loc>，および助詞タグ<p>が付与されている。

## 3 解析手法

## 3.1 概要

本稿では以下の手順で発話文の解析を行う.

手順 1 . 意図解析

手順 2. スロットフィリング

手順 3. 開始/終了, 出発/到着の判定

手順 1 および手順 2 を [2] の手法で解析する. 以下に 実行例を示す.

入力文：

10 時半から大学でゼミがあります

意図：

serviceScheduler . comInformEvent (loc, tmg)

スロット：

loc="大学"=[6,7]

tmg="10 時半" $=[0,1,2,3]$

ここで，意図は事象の伝達という意味である. スケ ジュールサービス (serviceScheduler) はドメイン

である. 次に loc および tmg がスロット名である.数値は文字番目である.

手順 3 についてはルールベースによる解析を行う （詳細は次節で述べる）。

「locで十あり」というパターンの適用により， loc の示す場所が「出発, 到着」の場所と判定され る.「 tmg から十あり」というパターンの適用により 「開始」の日時として解析される。

## 3.2 開始／終了，出発／到着の判定

助詞の意味は係先の動詞に依存することに注意し $\tau$, 「開始/終了, 出発/到着」という日時や場所の 下位分類の判定を行う. しかし, 日本語の基本用言 が約 6,000 語存在するため「助詞と動詞のペア」を 準備することは効率が悪い. 助詞だけで判断が可能 な場合は「助詞と動詞のペア」での判定を避けてお きたい. そのため本稿では次の 2 種類のルールセッ トを作成する。

・助詞十動詞によるルールセット

・助詞によるルールセット

ここで，処理の起点が，スロット $\mathrm{tmg}$ の下位分類を 求める，もしくは， スロット loc の下位分類を求め る，ということであるため，助詞の意味が時間的か 場所的かという判断は不要である.

分析用コーパスにおいて出現した表現について分析を行った結果を次節以降で説明する。

## 3.2.1 助詞十動詞によるルールセットの作成

時間的表現について動詞の考慮が必要であった助詞は「に」であった。例を示す.

例文 $1: 10$ 時に出発します（開始）

例文 $2: 12$ 時に到着します（終了）

出発や到着という動詞は, 移動の事象における端点を指す. その端点の時間を「に」で示すため，事象の時間帯の「開始」と「終了」という解釈がされ やすいと，本稿ではまとめた。

分析用コーパスから対応する表現を列挙したもの を表 1 に示す。なお，次節で示すが，「に」の時間的下位分類を「開始」とするので，運用上は終了のパ ターンのみを使用する。

場所について動詞の考慮が必要な助詞は存在しな かった.表 1 助詞十動詞型の時間的下位分類ルールセットの作成

 \\

## 3.2.2 助詞によるルールセットの作成

時間的表現について，分析用コーパスでは次の助詞が用いられていた.

「は,の,に,まで,から,には」

各助詞の下位分類を定める基準を次のとおりと する。

・助詞だけを見て開始/終了が明確であればその 通りとする。

・不明確であれば明確な助詞に置き換えて例文を 参照し判断する.

上記の基準に従うと，まず，時間の流れを表す助詞 として「から」，「まで」に注目する。「から」を「開始」「まで」を「終了」とする．次に，不明確であっ た助詞のうち，例えば「は」については次の文を参照する。

例文：あさっては東京に出張です.

例文の「あさっては」を「あさってから」に置き 換えてもスケジュールの内容は変化しない。「あ さってまで」に置き換えると異なる内容になる。ゆ えに「は」の時間的下位分類を「開始」と判断した.時間的下位分類を判定する助詞の分類を表 2 にま とめる.

表 2 助詞型の時間的下位分類ルールセット

場所について，分析用コーパスでは次の助詞が用 いられていた。

「から，を，に，まで，で，へ」

各助詞の下位分類を定める基準は，上記の時間的表現の場合と同様である。すなわち，まず，「から」 と「まで」はそれぞれ出発と到着を明確に表す助詞 と判断する。次に，不明確であった助詞を例文を見 ながら判断する。
例文：あした東京を出発します

例文の「東京を」を「東京から」に置き換えても スケジュールの内容は変化しない。「東京まで」に 置き換えると異なる内容になる。ゆえに「を」の場所的下位分類は「出発」と判断した.

次に「で」について例文を見ながら判断する。

例文 1 : 東京で用事があります

例文 2 : 東京で観光します

例文 1 の「用事 $\lrcorner$ ，例文 2 の「観光」の間，場所の変化がない，または，一定の範囲内である。「出発」と 「到着」のどちらにも属するものであると判断した.

例文 3 : 新宿で高速バスに乗ります

例文 3 ではバスの移動をイメージすると「新宿」 が出発点と解釈することになるが，「乗る」という 瞬間的な事象に対する解釈を行うので，「出発」と 「到着」のどちらにも属するものであると判断した。場所的下位分類を判定する助詞の分類を表 3 にま とめる.

表 3 助詞型の場所的下位分類ルールセット

到着まで,へ,に

出発, 到着 で

## 4 前処理

発話文解析の背景にある処理および発話文へのク リーニング処理について述べる。

## 4.1 場所名

発話文解析において場所を表す表現の抽出が一 つの問題となる. 本稿においては，場所名（店名な ど）が辞書に登録済みの状態で議論を進めた。

場所名が既知であることを前提にできる根拠は，本稿の解析手法がユーザ適応型の車載器での利用を 想定しているためである. 車載器には, 駐車地点の 名称を収集する機能が備わる。 ユーザが話題にする 場所名は蓄積される。また，スケジュール登録時に 新規の場所を話題にする際に場所名の登録を行う対話を開始することが可能である。

## 4.2 発話文のクリーニング

入力される発話文に対して次の処理を行う.

・漢数字や全角数字を半角アラビア数字に変換

・時間表現「hh:mm」を「hh 時 $\mathrm{mm}$ 分」に変換
・句読点の除去

## 5 実験

## 5.1 実験方法

分析用コーパスからタグを外したものを用いた 実験，すなわちクローズドテストを行う．入力文は 331 文である. 1 文につき 1 つの 5 つ組を目標出力 とする． 3.1 節の 3 つの手順で処理した結果につい て正答率を確認する。

## 5.2 実験結果

正答率は $79 \%$ （正解文数 263 /大力文数 331）と なった。

解析例を示す.文 1 において「ご飯に行きます」と ある.もし「ご飯」(抽象)を場所として抽出すると 誤りであるが，本処理では正しく処理されていた。文 2 において，「明日」という表現から日付の算出 ができており，「映画館」を到着場所として解析で きていた.

## 例）

設定日時：2020 年 5 月 13 日 8:12

設定場所 : 自宅駐車場

入力文 $1:$ 午後 7 時から友達とご飯に行きます

入力文 $2:$ 明日の午前 10 時から映画館に行きま す

スケジュール表：

 &  &  \\

## 5.3 誤り分析

誤り事例を分析した結果を表 4 に示す. 各誤りパ ターンについて説明する。

誤り $e 1$ について，相対的な時間的表現とは例え ば「部会後」というものがある. 例を以下に示す.例)

設定日時：2020 年 5 月 13 日 9:00

設定場所：自宅

入力文 1 : 今日の夕方 6 時から部会があります

入力文 $2:$ 部会後に先輩の家で遊びます

スケジュール表（出力）

 & $* * *$ & 部会が \\
あ** & あります \\

スケジュール表（目標）

 &  &  \\

スケジュール表の出力と目標を比較すると，レ コード\#2 の開始時刻が誤っていた。部会にかかる 時間を推定する必要があるが，文外情報であるので 解くことができなかった.

誤り $e 2$ について幅のある時間的表現とは例えば 「昼に」というものがある. 例を以下に示す.

例)

設定日時：2020 年 5 月 13 日 10:00

設定場所：自宅

入力文 $1:$ 昼に友達と遊びます

スケジュール表（出力）

スケジュール表（目標）

スケジュール表の出力と目標を比較すると，開始時刻が誤っていた。「昼の 1 時」に対して「13 時」 という変換は可能だが「(単に) 昼」に対して「12 時」をデフォルト值として変換することができてい なかった。

誤り $e 3$ について場所のスロットフィリングに失敗が見られた。例を以下に示す

例)

入力文 1 :

29 時に別のバイト先に出勤します

意図（出力）：
serviceScheduler . comInformEvent (tmg)

スロット（出力）：

$\mathrm{tmg}=$ "29 時"

意図（目標）：

serviceScheduler . comInformEvent (loc, tmg)

スロット（目標）：

## $\mathrm{tmg=$ "29 時"}

## loc="別のバイト先"

「バイト先」は日本語語彙大系 [3] における意味属性で解析すると「抽象十場所」である．抽象を含む 名詞句を「場所」として解析できていなかったた め，スロットフィリングに失敗していた。

以上の誤り分析の結果，時間的表現から日時を特定する処理の不足，および，スロットフィリングに 用いる意味属性のカバー範囲の調整不足という問題 が確認された．しかし，時間的／場所的下位分類の 判定における誤りはみられなかった。

表 4 誤り事例の分類結果

## 6 おわりに

本稿では，スケジュール登録のための発話文解析 において，スケジュールを構成する情報の抽出を 試みた。クローズドテストにおいて正答率 $79 \%$ で 解析された. 誤り分析の結果，日時変換，および，場所のスロットフィリングに改良すべき点がみら れた. 時間的／場所的下位分類の判定においては， ルールセットが良好であることが確認できた.

## 謝辞

本研究 JSPS 科研費 JP19K12548 の助成を受けたも のです.

## 参考文献

[1] 石川玩己，徳久雅人，木村周平: スケジュール登録の ための発話文コーパスの設計，言語処理学会年次大会講演論文集，pp.213-216，2020.

[2] 徳久雅人，木村周平: 小型計算機におけるサービス 指向発話文解析，自然言語処理，26(3)，pp.545-578, 2019.

[3] 池原悟，宮崎正弘，白井諭，横尾昭男，中岩浩巳，小倉健太郎，大山芳史，林良彦：日本語語彙大系，岩波書店， 1997.