# 対話型検索に向けた Semantic Parsing の データ生成フレームワークの提案

丸山拓海椎橋怜史谷山徹神谷慶嶋村昌義
株式会社 LIFULL
\{MaruyamaTakumi, ShiibashiSatoshi, TaniyamaToru, KamiyaKei,
ShimamuraMasayoshi\}@lifull.com

## 1 はじめに

弊社では「LIFULL HOME'S 住まいの窓口 ${ }^{11} 」 と$ いう，家探しや家づくりに関することを専属アドバ イザに無料で相談出来るサービスを運営している.本サービスは実際の店舗だけでなく, ビデオ通話や LINE 経由の相談密口も用意されており，アドバイ ザとの対話を経て，より好みに合った物件探しをす ることができる。一般的に，対話業務を効率化する ために自動応答チャットボットが活用される傾向が あるため，今回我々は対話業務の自動化を想定し，住まい探しに関するユーザ発話の言語解析を試み た. 具体的には, ユーザ発話を適切な論理形式へと 変換する Semantic Parsing とそのデータ構築に取り 組んだ。

Semantic Parsing とは, 自然言語文を特定のアプリ ケーションのための論理形式へと変換するタスク である.ここでいう論理形式とは, ラムダ式 [1] や $\mathrm{SQL}$ 文 $[2,3,4]$, プログラミング言語 [5] などの形式 を指す.また, 独自定義のツリ一構造 $[6,7]$ を利用 している研究も存在する。自然言語をこのような 特定の形式に変換することで, ユーザ発話を入力と した情報検索や AI アシスタントの制御が可能とな る.しかしながら, 論理形式をアノテーションす るには一定レベルの専門知識が必要とされるため, データセットの構築は容易ではない.

そこで，我々は Wang ら [8] の英語を対象とした データ構築手法を参考に, 日本語に合わせた文法規則の定義と対話文脈への拡張を行い, 論理形式アノ テーションを言い換え作業に変換する新たなデータ 構築フレームワークの作成を試みた。本論文の貢献 を以下に示す.

・日本語 Semantic Parsing データセットを効率的


に開発するフレームワークの提案
- 対話履歴を利用した実験により，提案手法で構築したデータの効果を検証

## 2 関連研究

Semantic Parsing は知識データベースに対する質問応答や AIアシスタントの自然言語による制御など 幅広い分野への応用が期待されるタスクである.

Semantic Parsing を行う方法として, 組合せ範疇文法に基づく手法 $[1,9]$ や, 質問応答ペアから学習す る方法 [10] など様々な手法が提案されている. 近年では, 深層学習をベースとした系列変換モデルに よる手法も数多く提案されている $[11,12,13,14]$. その一方で, データセットの構築に専門的知識が必要とされることから，コストが非常に高く，新規ド メインへの適用の難しさが課題となっている.

そこで, Wang ら [8] は, ドメインに依存しない文法規則とドメイン固有の語彙規則の組み合わせから 擬似的な「自然言語文-論理形式ペア」を生成した のち，自然言語文側を人手で言い換えることで，よ り流暢かつ多様性のあるデータ構築を目指した。

## 3 データ生成手法

本論文で提案するデータ生成手法の手順を図 1 に 示す. 大まかな流れは次の通りである: (1) ドメイン 固有の語彙規則 (3.2 節)を定義したのち, それらを (2) 文法規則 (3.3 節)によって組み合わせることで擬似的な文と論理形式のぺアを生成する。その後，(3)擬似生成文を人手で言い換えることで，(4) 言い換 え文と論理形式のペアを獲得する (3.4 節). このよ うに，擬似生成文を経由することで，専門的知識が 必要とされる論理形式のアノテーション作業が言い 換え作業に置き換わり，より容易にデータ構築する ことが可能となる。ポイントは擬似データ生成部

## 言い換え-論理形式のペア

図 1 擬似データ生成フロー

分である.このステップでは, 対象となるドメイン ごとに構築する語彙規則を，フレームワーク側で提供するドメイン非依存の文法規則により適切に組み 合わせ, 自然言語文と Lambda-DCS(3.1 節) と呼ばれ る論理形式のペアを生成する. 詳細は, 3.2 節およ び 3.3 節で述べる.

## 3.1 Lambda-DCS

Lambda-DCS[15] とは, Semanitc Parsing における 知識グラフを背景とした論理形式の 1 つである.具体的には, 名詞や数值表現 (e.g. Apartment, 1LDK) などをノードとし, その関係性 (e.g. floorPlan) を エッジとするグラフで表現される。このグラフ上 のノードを辿っていくことで, 任意の検索対象を

現する場合, Lambda-DCS では, floorPlan.1LDK のよ うに記述する.このように，ノード (1LDK) とエッ表 1 語彙規則の例

住まい探しドメイン

（1）賃貸アパート $\rightarrow$ TYPENP[Apartment]

(2) 1LDK $\rightarrow$ NUM[1LDK]

(3) 間取り $\rightarrow \mathrm{NP} / \mathrm{ga}[$ floorPlan]

(4) 賃料 $\rightarrow \mathrm{NP} / \mathrm{ga}[$ rent]

(5) ペット入居可 $\rightarrow$ NP/no[pet_friendly]

表 2 文法規則の例文法規則:基本

$\begin{array}{ll}\text { (1) } \mathrm{NP} / \mathrm{no}[r] \text { の TYPENP }[x] & \rightarrow \mathrm{NP}[\text { type } . x \wedge r] \\ \text { (2) } \mathrm{NP} / \mathrm{ga}[r] \text { が } \mathrm{NUM}[n] & \rightarrow \mathrm{NP} / \mathrm{no}[r . n] \\ \text { (3) } \mathrm{AP}[r] \mathrm{NP}[x] & \rightarrow \mathrm{NP}[x \wedge r] \\ \text { (4) } \mathrm{NP} / \mathrm{no}[r] \text { ではない } & \rightarrow \mathrm{AP}[\neg(r)] \\ \text { (5) } \mathrm{NP}[\mathrm{x}] \text { か } \mathrm{NP}[\mathrm{y}] & \rightarrow \mathrm{NP}[(x \vee y)]\end{array}$

文法規則:比較級 - 最上級

(6) $\mathrm{NP} / \mathrm{ga}[r]$ が $\mathrm{NUM}[n]$ 以上 $\rightarrow \mathrm{NP} / \mathrm{no}[r . \geq . n]$

(7) $\mathrm{NP} / \mathrm{ga}[r]$ が $\mathrm{NUM}[n]$ 以下 $\rightarrow \mathrm{NP} / \mathrm{no}[r . \leq . n]$

(8) $\mathrm{NP}[x]$ で最も $\mathrm{AP}[r] \rightarrow \mathrm{NP}[\operatorname{argmax}(r, x)]$

文法規則:合計・平均

(9) $\mathrm{NP}[x]$ の $\mathrm{NP} / \mathrm{ga}[r]$ の合計 $\rightarrow \mathrm{NP}[\operatorname{sum}(r, x)]$

(10) $\mathrm{NP}[x]$ の $\mathrm{NP} / \mathrm{ga}[r]$ の平均 $\rightarrow \mathrm{NP}[\operatorname{avg}(r, x)]$文法規則:条件追加 - 削除 - 置換

(11) $\mathrm{NP}[x]$ を追加 $\rightarrow \mathrm{NP}[\operatorname{append}(x)]$

(12) $\mathrm{NP}[x]$ を削除 $\rightarrow \mathrm{NP}[\operatorname{delete}(x)]$

(13) $\mathrm{NP}[\mathrm{x}]$ を $\mathrm{NP}[\mathrm{y}]$ に置換 $\rightarrow \mathrm{NP}[\operatorname{replace}(x, y)]$

ジ (floorPlan) を結合する際に “.”を用いて表現する. また, 論理積 $\wedge$ や論理和 $\vee$, 否定論理 っを利用し,条件を組み合わせていくことで更に複雑な表現を実現する。より詳細には Liang の文献 [15] を参照され たい.

## 3.2 語彙規則

語彙規則では, 3.1 節で述べたグラフのノードと エッジに，対応する自然言語と論理形式を定義す る. 具体的には, 「自然言語 $\rightarrow$ 文法ラベル [論理形式」のような形式を用いて定義する。ここで「住ま い探し」ドメインを例に考えると (表 1), ノードと して (1) 賃貸アパートや (2)1LDK, エッジとして (3)間取りや (4) 賃料などが考えられる. これらを, 文法ラベル (e.g. TYPENP, NUM, NP/no) と文法規則を 用いて適切に組み合わせることで，擬似データを生成する.

## 3.3 文法規則

文法規則では，文法ラベルの組み合わせによる変換規則を記述する (表 2). 生成する自然言語は日本

## 文法ラベル(ブロックの色)に応じて 適切に組み合わせると...

図 2 擬似データ生成例

語を対象としているため, Wang ら [8] の規則とは大 きく異なる規則を作成した。ただし, Wang らの規則と同様に比較級や最上級, 平均などの基本的な表現は網羅している.

近年の Semantic Parsing では, 対話履歴に基づい て論理形式をアノテーションしたデータセット [16] や対話履歴を入力として扱うモデル [13] が提案され ているが，今回は問題を簡略化するため 1 発話単位 での解析に焦点を当てている. そのうえで, 前後の 対話文脈の内容に対して, 条件の追加や修正ができ るように, 表 2 の (11),(12),(13)のような追加・削除・置換の規則を加えている。

これらの文法規則と語彙規則で定義した文法ラベルに基づいて, 語句と論理形式を適切 に組み合わせることで擬似的な自然言語文と 論理形式のペアを生成する. 例えば, 語彙規則 (表 1) の (1)，(2)，（3）と文法規則 (表 2) の (1), (2)を文法ラベルに従って適切に組み合わせ ると, 図 2 に示すように, “NP[NP/no[NP/ga[間取 り] が NUM[1LDK]] の TYPENP[賃貸アパート]] $\rightarrow$ type.Apartment $\wedge$ floorPlan.1LDK”というペアが得ら れる.

しかし，文法ラベルだけでは不自然な組み合わ せが生成される恐れがある. 例えば語彙規則 (表 1) の (2), (4) と文法規則 (表 2) の（2）の組み合わせか ら, “NP/ga[賃料] が NUM[1LDK] $\rightarrow$ rent.1LDK”など表 3 生成データ例

擬似生成 書斎が付いている 築年数が古い という条件を追加

言い換え 書斎が必要です. 築年数は古くて も構いません.

論理形式 append( ageOfHouse.Old $\wedge$ has_study)

擬似生成 既にリフォーム・リノベーション

されている賃貸戸建ての中で最 も賃料が安いもの

言い換え リノベーション済みの賃貸戸建て の中で一番安いところだとどんな 感じですか?

論理形式 $\operatorname{argmax}($ rent.Cheap, type.RentalHouse $\wedge$ is_renovated)

が生成されてしまう。そこで，語彙規則を定義す る際には，それぞれに意味的な型を持たせて，そ の型制約により不自然な組み合わせの生成を抑制 する。例えば，次のような生成途中の状態を考え る: “NP/ga[間取り] が $\mathrm{NUM}[x] \rightarrow$ floorPlan. $x$ ”. ここ で，既に “floorPlan” が確定していることから, $x$ の值 を決定する際には間取りを表す具体的な数值のみ e.g.) ワンルーム, 1K, 1LDK, 2K, ... しか受け付けな いといった制約を与える.

## 3.4 擬似生成文の言い換え

獲得した擬似生成文と論理形式のペアのうち，擬似生成文側を人手で言い換えることで，より流暢か つ多様性のあるデータの構築を目指す。言い換え 作業は, 本論文の著者 5 人で行った。構築したデー タ例を表 3 に示す。

また, 5 人の間で, 共通 20 文の言い換え作業を 行い，作業者間の言い換えにおける類似性を BLEU によって評価した (図 3). その結果, BLEU:0.1〜0.5 辺りに集中していることから，言い換え元 (擬似生成文) が共通していても作業者によって表現が異な り, 多様な言い換え表現を得られていることが分 かった。

## 4 実験

提案手法により生成したデータを Transformer[17] に学習させ, 実際に自然言語文から論理形式への変換することで, データ生成手法の効果を検証する.評価には，擬似生成文の言い換えによって得られた 評価セット 125 ペアおよび住まいの密口の対話履歴を参考に構築した評価セット 173 ペアの 2 つを 利用した。学習には言い換えデータ 1,229 ペアと,
表 4 実験結果

図 3 作業者間の言い換えの類似性

事前学習用に擬似生成データ 50,496 ペアを用いた。 また, Encoderに学習済み $B E R T^{2}$ を利用し [18], 事前学習の効果を比較した. Transformer $の$ Encoder お よび Decoder の各パラメータは BERT[19] を参考に した.

## 4.1 実験結果

実験では学習方法および学習データの異なる次の 4 つの手法を比較した: (a) 言い換え文一論理形式ぺ アのみを学習データとしたモデル，(b) 擬似生成文一論理形式ペアを事前学習したのちに言い換え文-論理形式ペアで Fine-tuning したモデル，(c) 事前学習済み BERT を Encoder として与えたのちに言い換え 文-論理形式ペアで Fine-tuning したモデル， (d) 擬似生成文一論理形式ペアのみを学習データとしたモデ ル (表 4). 評価には, BLEU および正解の論理形式 と完全一致 (Exact) ・ 1 つ以上の項が一致 (Partial) す る出力をした割合を指標に用いる.

言い換え文評価セットと対話履歴評価セットの結果を比較すると傾向に大きな違いはなく, 提案した 生成手法が同じ方法で構築された言い換え文評価


図 4 データサイズとモデルの性能

セットだけでなく目的の対話履歴の解析にも有効で あることが分かる。さらに，(a) 言い換えデータの みの学習と (d) 擬似データのみの学習結果の差から,人手による言い換え作業の効果が見て取れる.

対話履歴評価セットにおける Partial および Exact に注目すると，まだ実応用できる精度とは言い難い が，図 4 に注目すると，さらにデータサイズを拡張 することで，性能改善の見込みがあることが分か る.今後は，モデルの性能改善に寄与する学習デー タを効率的に収集する方法を検討していきたい.

## 5 おわりに

本論文では，語彙規則と文法規則の組み合わせ から自然言語文一論理形式ぺアを生成する，新たな データ構築手法を提案した。自動生成された擬似 データを経由することで，専門知識が必要とされる 論理形式のアノテーションが擬似生成文の言い換 え作業に置き換えられ，より容易にデータセットを 作ることが可能となった。生成データを学習した変換モデルにより，対話履歴を論理形式に変換する実験を行い，提案したデータ生成手法の有効性を確認 した.

## 参考文献

[1] Qingqing Cai and Alexander Yates. Large-scale semantic parsing via schema matching and lexicon extension. In Proceedings of the 51 st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 423-433, Sofia, Bulgaria, August 2013. Association for Computational Linguistics.

[2] Victor Zhong, Caiming Xiong, and Richard Socher. Seq2sql: Generating structured queries from natural language using reinforcement learning. CoRR, Vol. abs/1709.00103, , 2017.

[3] Catherine Finegan-Dollak, Jonathan K. Kummerfeld, Li Zhang, Karthik Ramanathan, Sesh Sadasivam, Rui Zhang, and Dragomir Radev. Improving text-to-SQL evaluation methodology. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 351-360, Melbourne, Australia, July 2018. Association for Computational Linguistics.

[4] Tao Yu, Rui Zhang, Kai Yang, Michihiro Yasunaga, Dongxu Wang, Zifan Li, James Ma, Irene Li, Qingning Yao, Shanelle Roman, Zilin Zhang, and Dragomir Radev. Spider: A large-scale human-labeled dataset for complex and cross-domain semantic parsing and text-toSQL task. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pp. 3911-3921, Brussels, Belgium, October-November 2018. Association for Computational Linguistics.

[5] Y. Oda, H. Fudaba, G. Neubig, H. Hata, S. Sakti, T. Toda, and S. Nakamura. Learning to generate pseudo-code from source code using statistical machine translation. In 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 574-584, 2015.

[6] Chris Quirk, Raymond Mooney, and Michel Galley. Language to code: Learning semantic parsers for if-this-thenthat recipes. In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), pp. 878-888, Beijing, China, July 2015. Association for Computational Linguistics.

[7] Kavya Srinet, Yacine Jernite, Jonathan Gray, and Arthur Szlam. CraftAssist instruction parsing: Semantic parsing for a voxel-world assistant. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pp. 4693-4714, Online, July 2020. Association for Computational Linguistics.

[8] Yushi Wang, Jonathan Berant, and Percy Liang. Building a semantic parser overnight. In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), pp. 1332-1342, Beijing, China, July 2015. Association for Computational Linguistics.

[9] Chitta Baral, Juraj Dzifcak, Marcos Alvarez Gonzalez, and Jiayu Zhou. Using inverse lambda and generalization to translate English to formal languages. In Proceedings of the Ninth International Conference on Computational Semantics (IWCS 2011), 2011.

[10] Jonathan Berant, Andrew Chou, Roy Frostig, and Percy Liang. Semantic parsing on Freebase from questionanswer pairs. In Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, pp. 1533-1544, Seattle, Washington, USA, October 2013. Association for Computational Linguistics.

[11] Li Dong and Mirella Lapata. Language to logical form with neural attention. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 33-43, Berlin, Germany, August 2016. Association for Computational Linguistics.

[12] Jayant Krishnamurthy, Pradeep Dasigi, and Matt Gardner. Neural semantic parsing with type constraints for semistructured tables. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, pp. 1516-1526, Copenhagen, Denmark, September 2017. Association for Computational Linguistics.

[13] Alane Suhr, Srinivasan Iyer, and Yoav Artzi. Learning to map context-dependent sentences to executable formal queries. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers), pp. 2238-2249, New Orleans, Louisiana, June 2018. Association for Computational Linguistics.

[14] Zhichu Lu, Forough Arabshahi, Igor Labutov, and Tom Mitchell. Look-up and adapt: A one-shot semantic parser. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pp. 1129-1139, Hong Kong, China, November 2019. Association for Computational Linguistics.

[15] Percy Liang. Lambda dependency-based compositional semantics. CoRR, Vol. abs/1309.4408, , 2013.

[16] Shashank Srivastava, Amos Azaria, and Tom Mitchell. Parsing natural language conversations using contextual cues. In Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence, IJCAI-17, pp. 4089-4095, 2017.

[17] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in neural information processing systems, pp. 5998-6008, 2017.

[18] Sascha Rothe, Shashi Narayan, and Aliaksei Severyn. Leveraging pre-trained checkpoints for sequence generation tasks. arXiv, pp. arXiv-1907, 2019.

[19] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 4171-4186, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.
 丸山拓海椎橋怜史谷山徹神谷慶嶋村昌義 株式会社 LIFULL \{MaruyamaTakumi, ShiibashiSatoshi, TaniyamaToru, KamiyaKei, ShimamuraMasayoshi\}@lifull.com  