IT技術の延長線上で人工知能 Artificial Intelligence を捉えた場合、AIはIT技術が得意とする種々の計算、特にデータの加工・編集とデータを活用した予測において、その計算過程を記憶(学習)するという新たな局面をIT技術に持ち込みました。特に深層学習技術を使うことで、入力データが持つ特徴をニューラルネットワーク上の重みとバイアス(パラメータ)によって学習することで、IT技術による計算過程をシミュレートし、入力データに対する変換、予測コストを圧倒的に下げることができるようになりました。さらに技術が人間との界面まで降りてくると、人間は、自分が普段慣れているツール、つまり、言葉を入力データの代わりに使うようになります。たとえば、機械翻訳、チャットボット、スマートスピーカーなどです。
CNN Convolutional Neural Networkでは、人の体が、車の一部が、風景の中の1つとして、他の物体との形状差(差異)を学習し、そのパラータを利用し、推論することで、風景の中に人を認識し、車を認識します。したがって、本物との差異が小さい対象では、たとえば、ぬいぐるみを本物と誤認識することが起きたり、あるいは、元データにノイズを加えることで、学習パラメータの誤差の間隙を引き起こす(認識を誤らせる)ことが可能になります。それは人間でも起こり得るので、それ自体は問題ではないのですが、その勘違いを人間は修正できるのに対し、AIは修正出来ません。
一方、認識が必要とする差異精度と比べると、認証は、はるかに高い差異精度を必要とします。たとえば、1千万人の顔を認証(区別)できるようにするのに求められる特徴素の規模は、認識のそれを超えます。
音声認識や自然言語変換では、遷移間の移動距離に応じた学習によって、予測遷移確率を上げ、その確率が高いほど、学習誤差は減ります。さらに、誤差の多い遷移に関しては、遷移を一意にする(制約する)学習例を増やすことで誤差を減らすことができます。
画像認識においても、想定される文脈(認識対象クラスの集合)において、クラス間差異を生じさせるに充分な特徴数は膨大になりますが、自然言語を認識の対象とした場合、文字・単語・文が構成する構文上、意味上の差異につながる特徴素およびその組み合わせ数には遠く及びません。それでも機械翻訳のように学習用例を増やすことで翻訳精度を上げることは可能です。たとえば、「1問も解けず頭が真っ白になってしまった。」に対し、Google翻訳が
"I couldn't solve even one question, and my head became pure white."としか訳せないのに対し、DeepLが
"I couldn't solve a single question and my mind went blank."と的確に訳せるのは、その技術が高いこともありますが、一番は、どれだけ適切な対訳用例を学習しているかにかかっています。あるいは、「僕は世界一高い本を持っている。」に対し、Google翻訳が
"I have the tallest book in the world"と訳すのに対し、DeepLは
"I have the most expensive book in the world."と的確に訳します。従来の機械翻訳では難しかった、文脈によって異なる語義を持つ多義性の問題も、対訳学習用例を増やすことで解決できるようになりました。ここで、用例は、対訳選択(たとえば、the tallestに対し、the most expensiveを選択)を制約するように働いています。
こうしてみると、単なる確率的パータンマッチング、つまり、丸暗記に過ぎない能力であったとしても、原語が表す意味を対語に転移できる可能性が示唆されます。言語は字面(形)を規定する文法体系syntaxと、その構造の上に定義される意味体系semanticsから構成されますが、たとえば、プログラミング言語のように、コード(syntax)の意味を、対応する機械語上の命令によって代用することができます。同じ発想に立てば、ロボット操作という限定された文脈で使い、自然言語の意味をロボットの反応によって代用することが可能となります。その場合、操作語なる言語を新たに定義し、その用例を膨大に用意、あるいは(自動)生成し、対訳学習させることで、機械翻訳を意味翻訳として使うことができます。
こうして操作が定義されたとしても、意味を決定するために重要な、意味を構成するもう1つの要素、参照reference、つまり操作される対象であり、操作を行う対象、を明確にするという作業が残ります。「その箱を持ち上げなさい。」とロボットに命じたとして、「持ち上げる」という操作に関して、曖昧さもなく人間とロボットの間で合意するのは簡単ですが、「その箱」に関しては合意は必ずしも容易ではありません。「その箱」を意識する人間側の意図を、ロボットにどう伝えるか難問です。仮に箱が1つしかなければ、参照は一意に決まります。しかし、複数の箱があった場合、どの箱を選んでいいか分かりません。確かに、文脈(話題の場面、話題の流れ)によって対象を特定することは可能ですが、それは、双方が共通の認識、常識(フレームframe)を持っていることが前提となります。もちろん、それが失敗することは人間同士でも起きます。それでも、人間の場合は、対話が使えます。一方、対対ロボットの場合、対話で必要となる語彙集合が、予め決められた操作語を超えた場合、対話は成立せず、機械言語のフレームワークの中で参照問題は解決できません。
一方、フレーム問題は想起も阻害します。ラーメン食べているとき、突然、昨日食べたカレーを思い出したり、あるいは、何かの拍子に子供時代の喧嘩を思い出したりする想起です。想起を使うと、記憶に関し時間的にも空間的にも離れている参照を一瞬にして実現させてくれますが、想起問題を、対ロボットのみならず、認知AIにおいて解決する術は、今のところ見つかっていません。
自然言語処理(NLP Natural Language Processing)は多くの課題を残しつつ、機械翻訳を筆頭に偉大な成果を残してきました。しかし、そんな強力なNLPを持ってしても、同義語はうまく扱えていません。たしかに多義語は、用例を増やすことで一意に制約することが出来ます。しかし、同義語は、複数の言葉を一意な対象に紐付けることが必要になります。参照の例に倣うと、複数の解釈が成り立つ場合、それを一意に制約する条件を探す問題に置き換えることができます。ただし、参照問題とは異なり、同義語を代表する語が特定できる例は稀です。たとえば、「明日は晴れるかな」と「明日の天気」では、「天気」に集約すればいいが、「ソフトなレザー」と「柔らかなレザー」では、統一対象を持たない。同義のまま、並置しています。
同義語の繋がりで、連想語も登場します。ハードAIでは人間の認知モデルまで踏み込んでいきますが、そこまで行かずとも、たとえば、自然言語を介したサービスにおいて、多義、同義、連想、想起、参照など、ITが不得意とする多様な解釈を必要とする局面に遭遇します。そこを解釈が一意になるよう、操作指示をボタン或いはメニューで選ばせることは可能です。しかし単一指示ではなく、連続した指示や複雑な指示において、自然言語はメニュー・ボタンより遥かに簡便で強力なツールとなります。メニュー・ボタンが空間的にシリアルなのに対し、自然言語はそうした空間的な制約を受けないからです。
つまるところ、サービス受給者の自然言語による要求をロボットに対する操作言語で置き換える(翻訳する)ことで目的を達するというアプローチは、部分的にしか解決されず、場合によっては、人間側の意図とは違った(ロボットに言語理解上の誤りは存在しない)結果を引き起こす可能性もあります。入り口では曖昧さを許容しつつ、最終的には曖昧さが解消される、あるいは、曖昧な状態を保持し続け、徐々に解消されていく、そんな認知モデルをどう作ればいいでしょう。計算型AIとシンボリックAIのハイブリッドが一つの解になります。つまり入力としての自然言語は操作語に字義通りに翻訳され、シンボリックな操作が、操作語列に含まれる、多義、同義、連想、想起、参照を解決するというアプローチです。この場合、最大の課題であり、ヒントが参照になります。対象を問題文脈において特定する、そこがシンボリックAIの出発点になります。