動詞の意味はどうやって定義するの? 後編

動詞の意味はどうやって定義するの? 後編

「入る」の意味を理解するにはどうすればいいの? 仮想世界段階

このエントリーをはてなブックマークに追加

入るの実行可能条件の後編です。前編をお読みでないかたは、前編からお読みください。
前編では、文を構文解析し、その結果を基に、文法レベル、構文要素レベル、描画レベルで問題ないかチェックしました。ここで問題なければ、構文解析した文を出来事として場面に配置します。ここからは、仮想世界の段階です。

 

「入る」の実行可能条件(仮想世界)

第4層 空間レベル
ルール1:「入る物」の大きさは、「入れ物」より小さい。
ルール2:「入れ物」には、空間(隙間)がある。

「鉛筆が筆箱に入る」の文の場合、「入る物」とは「鉛筆」のことであり、これは、構文解析した文の主語から取得できます。「入れ物」とは筆箱のことであり、これは、文の目的場所から取得できます。「筆箱」「鉛筆」などの具体物は、3Dモデルが用意されており、3Dモデルから大きさを取得できます。


たとえば、「筆箱に黒板を入れる」といった文の場合、「入れ物」である筆箱より、「入る物」である黒板が大きいので、ルール1に違反します。イメージはできますが、空間的におかしいので、「筆箱に黒板は入らないよ」と言ったり、「どうやって筆箱に黒板を入れるの?」と質問したりします。

また、「柱に鉛筆を入れる」といった文の場合、「入れ物」である柱には、空間(隙間)がないので、ルール2に違反するので、「柱に鉛筆は入らないよ」とか、「どうやって柱に鉛筆を入れるの?」などと質問します。このように、空間レベルでは、イメージすることはできますが、大きさ的に不可能など、空間レベルでのおかしさを判定します。イメージできるので、仮想空間にオブジェクトとして配置できますが、動作を実行できないレベルのエラーです。空間レベルで問題なければ、次の場面レベルの判定に進みます。

 

第5層 場面レベル
ルール:「入る物」が「入れ物」のHas-aの子に含まれるか。

仮想世界は場面を持ち、場面には、登場物が登録されます。登場物が具体物の場合、3Dモデルとして用意されます。3Dモデルで描画されるとき、Has-aで子として何を持つかも描画されます。たとえば、筆箱は、Has-aの子として文房具概念を持ちます。文房具概念には、鉛筆やシャーペンや消しゴムなどが含まれます。シャーペンは、Has-aの子としてシャーペンの芯を持ちます。このようにして、場面の登場物は、Has-aの子をたどっていくことができます。


たとえば「筆箱にストローを入れる。」という文の場合、場面の登場物として筆箱とストローが登録されます。そして、「入れ物」である筆箱のHas-aの子をたどって、「入る物」であるストローが存在するか確認します。出てこない場合は、「なぜ、筆箱にストローを入れるの?」などと質問します。
場面レベルは、大きさ的には問題ないので、仮想空間上で動作を実行することはできますが、意味的におかしいレベルのエラーとなります。この場面レベルは、一般に「常識」といわれるものです。
この場面レベルで問題なければ、「入る」の全ての実行可能条件レベル1~5を満たしたと判断して、次に動作が実行されます。

 

第6層 「入る」の動作

入る物:主語
入れ物:目的場所
移動関数(入る物 → 入れ物の「中」)
「中」:対象物の外表面の内側

「入る」の動作の中身は、移動関数となります。登場物が具体物の場合、3Dモデルとしてオブジェクトを生成し、物理シミュレーションソフト上に配置します。これが場面となります。
「入る」の動作は、物理シミュレーションソフトの移動関数を使い、移動物である「入る物」を、移動先である「入れ物」の中に移動させます。ここで「中」という言葉が出てきますが、「中」の意味は、「対象物の外表面の内側」と定義でき、これも、物理シミュレーションソフトで定義できます。このようにして、「入る物」を「入れ物」の中に移動させ、「鉛筆を筆箱に入れる」といった文の意味の解釈が完了します。
 移動結果は、物理シミュレーションソフトで描画されているので、「鉛筆はどこにありますか?」といった質問に対して、「筆箱の中にあります。」と答えることができます。

 

ここで、「入る」の意味をまとめて書いてみます。

これが、「入る」の意味です。
第1層の文法レベルから順に検証し、エラーがでたら、相手に確認します。たとえば、「筆箱にストローを入れる」と言われたら、場面レベルのエラーがでるので、「なぜ、筆箱にストローを入れるの?」などと言います。すると、相手は、「図工の時間に使うからだよ」などと答えたりします。これは、「『筆箱』には『文房具』しか入れない」という場面レベルのルールをお互いに知っているから成り立つ会話なのです。
我々は、普段、何気なく会話しているようで、実は、無意識のうちに、言葉の意味を、このように階層で分解しているのです。そして、意味がよくわからず質問したり、それに回答したり、回答に納得したりする会話ができるということは、お互いにその階層の意味を共有できていると言えます。
会話をするとき、意味を複数の階層に分割し、各階層で問題ないか確認し、問題があれば、その階層の問題を解決し、納得してから次に進むわけです。

第1層~第5層までの実行可能条件は、状況説明の段階です。登場人物や登場する物の紹介です。聞き手は、それらをオブジェクトとして仮想空間に配置して場面を生成します。そのとき、意味が分からなければ確認し、話し手と同じ仮想世界を作り上げます。
そして、最後の第6層は、それら登場人物や物が関わり合って、何らかの物事が起こるわけです。これが出来事の生成となります。
出来事とは、「学校で先生に怒られた」とか、「友達と喧嘩した」といったことです。この出来事から、聞き手は認知パターンを抽出し、相手の感情、つまり、相手の言いたいことを理解するわけです。
これが、意味理解の仕組みです。

さて、先ほど説明した第1層~第6層に分けて会話を進める仕組み、これと同じ仕組み、どこかで聞いたことはありませんか?
上に描いた図、どこかでみたことないですか?
そう! 通信プロトコルと同じですよね。
インターネット・プロトコルで説明したOSI参照モデルとほとんど同じ図ですよね。

インターネットの通信プロトコルは、OSI参照モデルに従って7階層に分割され、各階層ごとに通信がおこなわれます。
人が行う会話も、実は、これと同じといえるのです。
インターネットは、バックグラウンドで、複数の階層に分け、エラー検出によって同レベルの確認を行いながら、通信しているのです。まさに、人が行う会話も、インターネット通信も、同様のプロトコルで動いていると言えます。

チャットボットなどの会話システムは、このような複数階層で意味レベルを分割して確認するといったプロトコルを想定せず、ある言葉が来れば、この言葉を返すといった、単純な仕組みで動いているので、トンチンカンで意味不明な応答になって、会話が続かないのです。

 

このエントリーをはてなブックマークに追加
 

コメントを残す