プラン自動生成

人工知能の分野で従来から1つの目標として目標を達成するプラン(行動列)を自動生成することがある。オペレータの定義を述語論理式で記述すればGraphplanなどのプランジェネレータで今日これは可能になっている。問題は自然言語でオペレータの記述を与えてそれを述語論理式に変換することである。Sageによる意味解析結果を用いれば日本文によるオペレータ記述を述語論理式に変換できる。これをもとにGraphplanでプランを自動生成できる。

日本語ロボット操作システムNPS

ロボットが人と共存するには,人の言葉を理解して適切に対応できることが望ましい.そこで,日本語で目標を与えるとロボット自らが目標の達成に必要な行動列を自動計画し,これを実行するロボット操作システムNPSを開発した.NPSは,まず,自然言語で表現されたオペレータや目的からなる世界モデルを意味解析システムSAGEで意味グラフに変換する.意味グラフでは全ての語に語意が与えられ,文節間にはそれらの役割関係が深層格として与えられる.この意味グラフを動詞節間の深層格に応じて7種の世界モデル構成句という部分グラフに分割する.次に,各構成句を述語の連言に変換する.この述語は文節の主辞の語意を述語記号とし,同一の対象を表す定数を連言内の述語の引数として共有することで各文節の係り受け関係を表す.この変換は連体修飾を含む文にも可能であり,多数の係り受けを持つ文による世界モデルも論理式に変換できる.これらを基に,論理式に変換された世界モデルからプランナで自動計画を行い,目標を達成できるオペレータ列を生成できた.
目標を実現するオペレータ列を生成するには,まず初期状態や目標状態やオペレータの機能を記述する必要がある.これらを記述したものを世界モデルと呼ぶ.我々の提案手法では世界モデルの記述内容としてSTRIPSの考え方を採用する.例えば,事例として取り上げる「ボールを持ってきて」という要求を実現するためのSTRIPS流の世界モデルの日本語文表現を図 1に示す.


自然言語による世界モデル表現

図1. 自然言語による世界モデル表現


世界モデルを記述した日本語による自然言語文を一階述語論理式に変換する手法について論じる.まず,自然言語文をSAGEによって意味解析し,図 2に示したような意味グラフに変換する.次に,意味グラフの各文節から下記に論じる手法に基づき,述語を生成しこれらを論理積で結合することで一階述語論理式を生成する.ここで生成される一階述語論理式には下記の特徴がある.
1) 関数は使用しない.
2) 記述中に現れる"x","R","NAO","Pos"などの固有表現は,すべて定数として扱う.
3) 使用する論理記号は,論理積と否定のみである.
2の要件は,図 1に示したような世界モデルの記述において,世界モデルの作者は名詞節中の固有表現で特定の対象を指定していると考えるのが普通であること,日本語文による世界モデルから生成された述語論理式による世界モデルに対して自動計画を行う時は,すべての変数には定数を代入して命題論理に変換してから行うからである.


変換に用いる意味グラフの例

図2. 変換に用いる意味グラフの例


自然言語文を一階述語論理式に変換するのに用いる文節は,動詞節,形容詞節,形容動詞節,名詞節,断定節のみであり,これ以外の文節は主として様態の修飾を表すものでプラン生成に必要な論理表現ではないとして無視する.
例えば、断定節Dからは,主辞のEDR詳細品詞が普通名詞の時は,定義述語「d_ao(t)」を生成する.ここで,dは文節Dの主辞の語意のEDR辞書での概念見出しであり,tは節Dに係る名詞節Nから生成される項である.例えば,図2(a) のような意味グラフで表される文「Rはロボットである」は名詞節と断定節を含み,名詞節から生成される項Rを使って,断定節からは定義述語「ロボット_ao(R) 」を生成する.
複雑な条件を表現する文では,登場する概念が相互に修飾することがある.この場合,個々の文節から生成される述語は論理積で結合され,項をこれらの述語間で共有することで,この修飾関係を論理的に表現する.この修飾には動詞節による連体修飾と「の」による名詞修飾がある.
例えば、図2( c)に示す「ロボットの手」のように名詞節が名詞節をmodifier格で修飾しているときは,名詞節「ロボット」と「手」の間の修飾関係を表す述語「Mod」を用いて,述語「Mod_ao_mo(c0, c1) ∧ ロボット_ao(c0) ∧ 手_ao(c1)」が生成される.さらにこれらを混合した事例として,「ロボットRの腕の長さlengthは50cmだ.」からは,「長さ_ao(length) ∧腕_ao(c0) ∧ ロボット_ao(R) ∧ Mod_ao_mo(R, c0) ∧ Mod_ao_mo(c0, length) ∧EQ_ao_mo(length, 50cm)」という述語の連言が生成される.
このようにして、図2の世界モデルから図3の述語論理式によるオペレータ定義が生成される


世界モデルの自然語文から生成された述語論理式

図3. 世界モデルの自然語文から生成された述語論理式


Graphplanを用いて、図3のオペレータの定義式から目標状態を達成するプランが図4のように生成される。


graphplanにより世界モデルの論理式記述から生成された動作列

図4. graphplanにより世界モデルの論理式記述から生成された動作列


これらのモデルを実際に日本語による音声入力で行っている様子を以下のビデオで紹介する。


動作例(Facts)


動作例(Operator)


また、このモデルから音声入力した目標に対するプル卵生生徒、生成されたプランに従ってロボットが動作する様子を以下のビデオで紹介する。


プラン生成


プランニングのデモ