自動運転の言葉による指示を対象にした空間的意味表現の構造化への取り組み
稲子明里(指導教員：小林一郎)

1 はじめに

2.3 Spatial Description Clause

近年, 車の自動運転の実用化に向けた動きが活発化している. 今後, 車を運転できない人でも自動運転車 を操作するために, 口頭指示による容易な操作が必要 になることが予想される. そこで本研究では, 自然言語 で表現された操作指示内容と実世界との対応づけ (グ ラウンディング) を目的とし, 駐車指示内容を車の操 作へと結びつける空間意味記述へ変換する手法を提案 する.

SDC とは, 空間の意味的関係を捉えるとされた figure, relation, landmark の 3 要素から構成される空間意味記述のことである. 空間表現を含む言語指示は SDC の木として表現できる.(図 2 中 (a) 参照) また各 SDC は Event, Object, Place,
Path の 4 つのタイプに分けられる. Event は実世界で実行される行動のシーケンス, Object は自動車や人間などの物体,
Place は場所, Path は経路や方向を表す.

2 空間意味記述を用いたグラウンディング

2.4 Generalized Grounding Graphs

2.1

G3 では, 言葉とグラウンディングの対象可能な組み合わせから全体の尤度が最大になるものが探索され, 以下の式で表される.

関連研究

空間意味記述を用いたグラウンディングの手法として, Kollar ら [1] は Spatial Description Clause(SDC) という意味構造を提案した. Tellex ら [2] は SDC の構造に従った確率的グラフィカルモデル (グラウンディンググラフ) を生成するアルゴリズムである Generalized Grounding Graphs(G3 ) を開発し, 空間情報を含む自然言語命令を理解するためのシステムを構築した. Kollar らが SDC を系列ラベリング問題として近似し, 条件付き確率場 (CRF) で扱う一方, 我々は, 自然言語文の構文情報により, 与えられた言語指示に対する SDCのラベルを正解に付与することができると考え, 構文解析に対して SDC のタイプにより定義された CCG を文法とする
Shift-Reduce パーサを構築する. また, そこで得られた結果をSDC への変換規則を用いることによりグラウンディンググラフを生成する.

2.2

Γ∗ = arg max p(Φ = T rue|commands, Γ)ΓΓ はグラウンディング γi の集合, Φ は言語指示の一部がグラウンディングと一致していたら True を返す二値関数 ϕi の集合, commands は自然言語による指示文である.

3 CCG を用いた SDC 木への変換
3.1 Combinatory Categorical Grammar
Combinatory Categorical Grammar(CCG)[3] とは, カテゴリに対する関数適用により構文解析を行う語彙化文法の 1 つである. CCG のカテゴリは, 基底カテゴリと, それらを演算子 “\”, “/”で組み合わせて再帰的に定義される関数型カテゴ
リから成る. また CCG は, 関数適用規則のような組み合わせ規則をもつ. 本研究では, SDC のタイプに従い E(Event),O(Object), L(Place), P(Path) を基底カテゴリとし, X/Y Y ⇒ Xと Y X\Y ⇒ X の 2 つの関数適用規則のみを用いる.

提案手法

本研究では言語指示に対する SDC を生成する前処理として, 文における空間的意味の依存関係が構文木として表示できるような CCG を文法規則とする Shift-Reduce パーサを構築し, 得られた構文木から SDC への変換を行う. 指示内容と観測した物体とのグラウンディングには, G3 を拡張して用いる. 図 1 に提案手法の概要を示す.
赤い車の左に停めて!

停めての左に赤い車

9;9<3.2 Shift-Reduce 法に基づくパーサの構築
Shift-Reduce 法とは, スタックを利用して深さ優先探索でボトムアップの構文解析を行う手法であり, スタックに対して 2 つの操作 (アクション) を行う. 1 つは, 入力文から単語を一つ取り出してスタックにプッシュする Shift と呼ばれる操作, もう 1 つは, スタックの先頭に文法規則の左辺と一致する単語があるときにそれらを文法規則の右辺のカテゴリに変換する Reduce とよばれる操作である. 本研究では, 文法規
則に CCG を用いた Shift-Reduce 法に基づくパーサを構築する. 図 2 に「赤い車の隣に停めて」という駐車指示を SDC木に変換した例と CCG による構文木に変換した例を示す.

乗員の指示
9:

停める33
行く3
3
戻る3"##$に変換

4

左546073
3左5"6.73
3左586'73.3
303
3'

グラウンディンググラフ3を構築

2

駐車場所3＋経路を推定E()(*+停めて,-.#(の左/01

赤い車に変換(1)

EV ENT 1 (r = 停めて,
l = PLACE2 (r = の隣に
l = OBJ3 ( f = 赤い車)))

環境表現(a)SDC 木%&'#L
L\O E\LO
赤い車 の隣に 停めて(b)CCG による構文木

図 1: 概要

図 2: SDC 木と CCG による構文木

67

3.3

未知語の処理表 1: 素性の型

辞書にない単語がある場合, CRF を用いてカテゴリの推定を行う. 使用する素性は, 前後 2 文字の単語, 品詞細分類, カテゴリである. 予測されたカテゴリに従って構文解析できる
場合は, そのカテゴリを単語とともに文法規則に追加することで未知語の処理を行う.

3.4

パーサのデコーディング

4.2

S 0 wS 1 w, S 0 wS 1 c, S 0 wQ0 pw, S 0 wQ0 p, S 1 cwQ0 pw,
S 1 cQ0 pw, S 1 cwQ0 p, S 1 cQ0 p

4S 0 wS 1 cQ0 p,

S 0 wS 1 cwQ0 p,

S 0 wS 1 cQ0 pw,

未知語全体の構文解析できた構文解析できた

処理

正解率

文の割合

文の正解率

あり

0.591

0.779

0.759

なし

0.622

0.749

0.830

実験結果と考察精度の結果を表 2 に示す. 未知語の処理を行わない場合に比べ行った方が精度は下がるが, 構文解析できた割合が上がった. 構文解析できた割合が上がったのは, 未知語の文法規則を追加したことにより, 元の文法規則だけでは構文解析不可能だった文が解析できるようになったことによる. また精度が下がったのは, 未知語の処理の予測精度の低さや構文解析後に複数の構文木の解が求まった場合に間違った解のスコアが高くなってしまったことが原因だと考えられる. 構文木生成に成功した事例がまだ少ないことについては, CCG の規則として 2 つの関数規則しか用いていないため, 規則適用の制約が強すぎることが考えられる.

5 おわりに
本研究では操作指示文に対する SDC を得る前処理 として,文における空間的意味の依存関係が構文木と して表示可能な CCG による文法を定義し, この構文 木から SDC への変換を行う手法を提案した. さらに, Shift-Reduce 法を用いたパーサの実装を行った. 今後 は, パーサの精度の向上, 操作指示が持つ条件や視点 を含む, より複雑な文を解析できる文法規則の追加や CCGBank の拡充, さらにグラウンディンググ
ラフの構 築を目指す.

item のスコアとして, 適用された Shift を除くアクションに対する対数尤度をとる. 素性は各アクションを適用した際の item の状態からとり, 確率はロジスティック回帰で学習する. 表 1 は識別器構築に使用される素性の型を示している.
S 0 , S 1 , S 2 , S 3 はスタックの先頭 4 個のノードを表し, Q0 , Q1 ,Q2 はキューの先頭 3 個のノードを表す. p, w, c はそれぞれ品詞, 単語, カテゴリを表す.

実験設定

Q0 pw, Q1 pw, Q2 pw

3

表 2: パーサの精度

スコアモデル

4.1

S 0 pw, S 0 w,S 1 pw, S 1 c, S 1 cw, S 2 cw, S 3 cw

2

例数が少ないため, 今回は除いた. 10 分割-交差検定を行い,未知語の処理を行ったパーサと行っていないパーサの精度を比較する.

function: DECODE(input, agenda, list, N, grammer,
candidate output):
agenda.clear()agenda.insert(GETSTARTITEM(input))candidate output = NONE
while !agenda.empty() dolist.clear()for action to grammer.getActions(item) do
new item = item.apply(action)
if new item.F == true thennew item.score = new item.score / reduce num
if candidate output == NONE or new item.score >candidate output.score thencandidata output = new item
else
list.append(new item)
end ifend ifend foragenda.clear()agenda.insert(list.best(N))
end while実験1

S 0 wS 1 cS 2 cw, S 0 pS 1 pS 2 p

Algorithm 1 パーサの処理手順

4

素性内容

S 0 pS 1 pQ0 p, S 0 wQ0 pQ1 p, S 0 pQ0 pQ1 p, S 0 wQ0 pwQ1 p,
S 0 pQ0 pQ1 pw,
S 0 wS 1 cS 2 c,
S 0 wS 1 cwS 2 c,

Algorithm1 にパーサの手順を示す. まず, 未知語の処理を行い, 元の文法規則と照らし合わせて未知語がある場合は, 新たな規則を文法規則に追加する. その後, 入力文の形態素解析を行いキューに入れ, Shift-Reduce 法により構文解析を行う.
デコーディングにはビームサーチを用いる. Algorithm1 において, item はスタックとキューの状態で構成される解候補であり, 初期状態には空のスタックと入力文の形態素が入ったキューが入る. 各ステップで文法規則に従ってアクションを適用し, Reduce 時のスコア (3.5 に詳述) のみを対象に累加する. スタックにカテゴリのみが残り, キューが空になった場合に構文解析終了とし, 累加したスコアを Reduce の回数で割りスコアとして採用する. 最も高いスコアを持つ item を解とする.

3.5型

参考文献
[1] Thomas Kollar, Stefanie Tellex, Deb Roy and Nicholas Roy“Toward Understanding Natural Language Directions”, InProc., ACM/IEEE Int l Conf. on Human-Robot Interaction(HRI), 259-266, 2010.
[2] Stefanie Tellex, Thomas Kollar, Steven Dickerson, Matthew
R.Walter, Ashis Gopal Banerjee, Seth Teller and Nicholas
Roy “Understanding Natural Language Commands for
Robotic Navigation and Mobile Manipulation”, In Proc.
AAAI, 2011.

対象データには, クラウドソーシングによって集 められたコンビニエンスストアの駐車場での駐車シー ンにおける5,372 文の駐車指示を用いた. これらの文 はランドマークを含まない指示, ランドマークを 1 つ 含む指示, ランドマーク
を 2 つ含む指示に分けられる. 駐車可能なスペースの数は 3つである. SDC で表現した際に Path のタイプを含む文は事[3] Mark Steedman. 2000. The Syntactic Process. The MITPress, Cambridge, Mass.
[4] Yue Zhang, Stephen Clark “Shift-Reduce CCG Parsing”, In
Proc. ACL 2011, pages 683-692, Portland, OR, 2011.

68