本文へジャンプ

1構造的手法から始まった言語処理

「人のように答えを返す計算機をつくる」

人間も、入力と出力とを結ぶ一個の計算装置。ならば、計算機はコトバを計算できるのではないか。

今日は、言葉というあいまいな対象をコンピューターでいかにして取り扱うか、という自然言語処理の話をお願いします。最初はどんなふうに始まったのですか?

自然言語処理は「人間の『知』が計算なら、汎用計算機でその計算と同じものを実現できる」とする人工知能の研究に端を発しているんです。人間も、入力された情報に対して何か処理(計算)をして出力するという、入力と出力とを結ぶ一個の計算装置なんですね。そこで、僕を含む初期の人工知能研究者は、入力された言葉に対してあたかも人間のように適切な出力を計算できるシステムの開発を目標にしてきました。

図:「バート、『好きな色は?』って聞いてみたら」(逆チューリングテスト)

1980年代、僕がいたヨーロッパでは、言語学のきちんとした理論があれば機械翻訳はできると思っていました。原言語(翻訳対象の元の言語)の文の構造をまず明らかにすることで、受身だろうと、能動だろうと、関係節で表現されようと、相手言語(翻訳先の言語)でのそれと対応する構造を計算できれば、翻訳はできるだろうと。

とはいえ、言語差の大きい日英語間の翻訳は、ハードルが高そうです。

実際のところ、ヨーロッパ語族間なら文の構造をあまり変えずに翻訳できるけれど、ヨーロッパ語族の言語から日本語や韓国語への翻訳ではそうはいきません。そこで、僕がかかわった日英翻訳のプロジェクトでは、文の構造を大きく変換することを前提にしたシステムを作りました。それは、そのような構造の変換は必要ないと考えていたヨーロッパの研究者の目には新鮮に映ったと思います。

後年、グーグルなどが機械学習による翻訳システムを作っていますが、彼らのシステムでも英語・日本語間のように言語差が大きい場合は、精度を上げるために前編集の過程でやはり文の構造を入れ替えています。言語学の理論に基づく翻訳モデルで僕らが考えた手法は、形を変えて機械学習を使った現在のシステムに続いているんですね。

だけど、1980年代に盛んだった言語学の理論を元にした自然言語処理のアプローチは、すごく難しい迷路に入りこむことになりました。

ページトップへ戻る