2018年4月7日土曜日

曖昧さを許すXXエンジン


近年では、コンピュータソフトを全く一から作るということは殆どない。何らかのライブラリやPaaS、データベース、ミドルウェア、フレームワーク、などと言われるものを駆使することで、大いにその労力を低減することができる。

だが、そのインターフェースは言語と同様に醜悪である。マニュアルを読み、想定した呼び出し方をしなければまともには動かないばかりか、その手法はパーツによって全部異なる。

プログラマにとって今までそれが当たり前だったのだが、考えてみればそれは極めて不親切なのではないか、と思うのだ。人間の技術者だったら日本語で説明すればやってくれるのに、RPAになるととたんにプログラミングになってしまいプロが必要、というのが今の状況だ。

かつてSOAPというプロトコルはあったが、それでもまだ圧倒的に不足だ。自然言語による記述であって、更に曖昧さを許した上でもプログラムとしては正確に動く、という仕掛けにする必要がある。ツールが増えれば増えるほど、その問題は深刻になっていく。

例えば、時刻を返すライブラリがあったとする。そこには例えば「XX月YY日は何曜日?」といったメッセージを送ると「水曜日です」と返す仕掛けがあるはずだ。だがここには落とし穴がある。そう、年が指定されていないのだ。Excelで年を省略した日付を入れると年を補完してくれるが、そのような仕掛けが入っていることが必要なのだ。また、よく見てみれば日本語で問うていることがわかるだろう。これも今まではなかったことだ。

ファンクションにおいては「デフォルト値」のようなものがあるが、この例ではその程度で済む。だが事情はもっと複雑だ。例えば太陰暦と太陽暦では日の勘定の仕方が違う。

「XX月XX日とYY月YY日は何日離れている?」としたときに、太陰暦で聞いていたとしたら。しかも太陰暦で計算していることは文脈から分かり、その時々では指示されていないとしたら。あるいは「何日」と言っておきながら時間まで暗に尋ねているかもしれない。うるう秒まで含めた正確な秒数まで求めているかもしれない。

受け取り手にしても、答えが過度に正確だったら途中で切り捨てたり、勘違いしていると思ったらそれを指摘して問い直したりする、ということも考えなければならない。もちろんそれに答える技量が、ツール側にも必要だ。

一つのツールに対しての呼び出し方が多数あり、その曖昧さ加減は文脈まで含めて大きい。内部コードはツールそのものより呼び出し方の方がはるかに複雑。これが将来的なツールのあり方だと思う。

これは、例えば「Hey, Siri」といったような音声インターフェースと同じようなものであろう。プログラムは自然言語で、話し言葉になっている。記述は適度に曖昧で、それが人間にとっての読みやすさを生んでいる。ツールが賢くなればなるほど記述は簡潔になり、読みやすくなる。

従来の自然言語解釈とプログラミング言語との間を結ぶ新たなXXエンジン(意味解釈エンジン?)として開発し売り出せば、相当なヒットになりそうだ。

0 件のコメント:

コメントを投稿

注目の投稿:

ダイナミック租税とその指標

今の法律では、税率は一定の計算式で表されるが、そのパラメータは固定である。需要と供給のバランスによって商品の価格を変えるダイナミックプライシングというのがあるが、あれを租税にも適用してはどうかと考えてみた。 納税者の声をベースにして様々な租税や補助金を自動調節して、どこか一箇所...

人気の投稿: