This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
しミ
し、。
109
自然言語処理
現在のところ、自然言語処理を応用した代表的なシステムとしては機械翻
訳システムがあげられる。また、 1970年代に入ってから、自然言語インター
フェースの研究が継続して行なわれているo
実は、機械翻訳システムは、人工知能という言葉が出現するよりも前から
研究されている。人工知能という言葉が初めて使われたダートマス会議が擢
されたのは、第 1囲の機構翻訳国際会識が開催された1952年の 4年後のこと
である。
1965年以前に研究されていた機械翻訳システムは、単語の訳と語11頂の変更
を組み合わせただけの単純な処理を行なっていた。そういった浅い処理に基
づいたシステムのほとんどは失敢に終わっている。その失敗は機械翻訳研究
にとってはかなり手厳しいものだ、った。特にアメリカ合衆国においては、長
い問機械翻訳に対する政府の資金接助がカットされた。
その失敗は、言語学や計算機科学における基礎研究の進展を促した。言語
学においてはチョムスキーの生成文法やフィルモアの格文法を初めとする文
法理論の提案がなされ、現在の機械翻訳システムにおける構文解析技術の基
礎にをった。計算機科学においては、文を理解するのに必要な知識を処理す
る人工知能技術の出現が、システムにおける意味的情報の処理に貢献してい
る。
しかし、そうした基嘩研究もまだ始まったばかりである。現在機械翻訳シ
ステムは数多く発表されているにもかかわらず、ユーザーの評価は想像以上
に厳しい。
白熱言語処理のもう一つの応用分野である自撚言語インターフェースは、
コンビュータに日常使う言葉を理解させようとする試みである。 1970年代は、
自然言語インターフェースの実現によって、それまで専門家だけの物であっ
たコンピュータが、もっと身近な物になると考えられていた。
しかし、コンビュータを身近にする試みは、 JSIJの方法で達成された。 1980
11口 第 2部自然言語処理
年代に入ると、ディスプレイの性能が上がり、マルチウインドーやアイコン、
ポインティングデイノfイスなど新しいマンマシンインターフェースのやり方
が考案されたのである。それにつれて、アプリケーションソフトウェアに自
然言語インターフェースを導入しようとする研究は、次第に目立たなくなっ
て来た。
とはいっても自然言語インターフェース研究が衰えたわけではない。むし
ろマンマシンインターフェースの選択肢が増えたために、他の研究に埋もれ
てしまったといった方が正確で、あろう。他の選択肢が出現したため、自然言
語インターフェースが万能ではない事が広く認識されるようになった。自然
言語を用いることによって、かえって意志疎通がつまくいかなくなる場合も
あるのである。現在、ポップアップメニューやアイコンでスムーズかつ簡単
にできる操作を、自然言語に置き換えたときの操作性は大幅に落ちるであろ
つ。
では、現時点で自然言語インターフェースの導入によって使いやすくなる
アプリケーション分野にはどのようなものがあるだろうか。現在 2つの解答
が挙がっている。一つはデータベース検索で、もう一つは CAIやオンライン
マニュアルなどの領域における質問応答システムである。しかし、いずれに
せよ解決しなければならない問題は山積している。
データベース分野への適用には一つ大きな問題がある。データの大規模な
蓄積が既になされているために、その内容を自然言語インターフェースに適
した形に変えることはできないのである。そのため、現時点での実用化を目
指す試みは、自然言語を SQLなどのデータベース言語に翻訳して、その結果
を従来のデータベース検索システムに送るという方法を取らざるを得ない。
そうした場合、自然言語の柔軟性と SQLなどのデータベース検索言語の厳
格性とのギャップが大きな障害となってくる。
また、 CAIなどの分野への自然言語インターフェースの導入が本格的に検
討されるには、やはりキーボード入力の煩雑さが障害になっている。その障
害を乗り越えるには、連続音声の認識技術と自然言語処理技術が結合する必
要があろう。
機械翻訳システムや自然言語インターフェースにおいて、解決しなければ
ならない共通の課題は、意味の処理である。例えば英語の
My brother is playing baseball.
私の兄が野球をしています
(私の兄は野球をする事です)
11日 第 2部自然言語処理
年代に入ると、ディスプレイの性能が上がり、マルチウインドーやアイコン、
ポインティングディパイスなど新しいマンマシンインターフェースのやり方
が考案されたのである。それにつれて、アプリケーションソフトウェアに自
然言語インターフェースを導入しようとする研究は、次第に目立たなくなっ
て来た。
とはいっても自然言語インターフェース研究が衰えたわけではない。むし
ろマンマシンインターフェースの選択肢が増えたために、他の研究に埋もれ
てしまったといった方が正確であろう。他の選択肢が出現したため、自然言
語インターフェースが万能ではない事が広〈認識されるようになった。自然
言語を用いることによって、かえって意志疎通がつまくいかなくなる場合も
あるのである。現在、ポップアップメニューやアイコンでスムーズかつ簡単
にできる操作を、自然言語に置き換えたときの操作性は大幅に落ちるであろ
フ。
では、現時点で自然言語インターフェースの導入によって使いやすくなる
アプリケーション分野にはどのようなものがあるだろうか。現在 2つの解答
が挙がっている。一つはデータベース検索で、もう一つは CAIやオンライン
マニュアルなどの領域における質問応答システムである。しかし、いずれに
せよ解決しなければならない問題は山積している。
データベース分野への適用には一つ大きな問題がある。データの大規模な
蓄積が既になされているために、その内容を自然言語インターフェースに適
した形に変えることはできないのである。そのため、現時点での実用化を目
指す試みは、自然言語を SQLなどのデータベース言語に翻訳して、その結果
を従来のデータベース検索システムに送るという方法を取らざるを得ない。
そうした場合、自然言語の柔軟性と SQLなどのデータベース検索言語の厳
格性とのギャップが大きな障害となってくる。
また、 CAIなどの分野への自然言語インターフェースの導入が本格的に検
討されるには、やはりキーボード入力の煩雑さが障害になっている。その障
害を乗り越えるには、連続音声の認識技術と自然言語処理技術が結合する必
要があろう 。
機械翻訳システムや自然言語インターフェースにおいて、解決しなければ
ならない共通の課題は、意味の処理である。例えば英語の
My brother is playing baseball.
私の兄が野球をしています
(私の兄は野球をする事です)
My hobby is playing baseball.
私の趣味は野球をする事です
(私の趣味が野球をしている)
111
の日本語訳が( )内にあるような誤訳にならないようにするには、特定の動
詞の主語がどういった意味カテゴリーにあるかをシステムが知らなければな
らない。日本語においても
医者の治療がうまい
患者の治療がうまい
風邪の治療がうまい
胃腸の治療がうまい
といった文に出て来る r_の」意味がそれぞれ異なる事を理解するには、語句
の意味のレベルにまで踏み込んで、いく必要がある。
また、以下に挙げる文
My dead father is looking for his glasses.
が、おかしい文で、あると理解するには、常識的な知識を保持していなければ
ならない。また、
彼はおなかがすいたのでレストランで食事した
という文章から
彼はレストランにはいったか?
ウェイトレスが注文をとりにきたか?
彼はウェイトレスに食事を注文したか?
といった質問に答えるには、レストランで人が食事をするときの、 一般的な
行為の流れについて、あらかじめシステムは知っていなければならない。
このように、意味の処理の問題は、語句の意味から文章の背景にある常識
的知識まで様々のレベルの物がある。そして、その問題のいずれも解決され
ていない。
第 2部では、こうした意昧の処理に対して正面からぶつかることは行なわ
ない。実用的なシステムにつながらない事と、パソコン上の Prologでは荷が
重すぎるというのがその理由である。その代わりにパソコン上で現時点での
技術でも処理できるシステムを 2つ紹介する。
第 5章では、「積木の世界」という限定された領域でユーザーの指令を理解
My hobby is playing baseball.
私の趣味は野球をする事です
(私の趣味が野球をしている)
111
の日本語訳が( )内にあるような誤訳にならないようにするには、特定の動
調の主語がどういった意味カテゴリーにあるかをシステムが知らなければな
らない。日本語においても
医者の治療がうまい
患者の治療がうまい
風邪の治療がうまい
胃腸の治療がうまい
といった文に出て来るr_の」意味がそれぞれ異なる事を理解するには、語句
の意味のレベルにまで踏み込んで、いく必要がある。
また、以下に挙げる文
My dead fa出eris looking for his glasses.
が、おかしい文であると理解するには、常識的な知識を保持していなければ
ならない。また、
彼はおなかがすいたのでレストランで食事した
という文章から
彼はレストランにはいったか?
ウェイトレスが注文をとりにきたか?
彼はウェイトレスに食事を注文したか?
といった質問に答えるには、レストランで人が食事をするときの、 一般的な
行為の流れについて、あらかじめシステムは知っていなければならない。
このように、意味の処理の問題は、語句の意味から文章の背景にある常識
的知識まで様々のレベルの物がある。そして、その問題のいずれも解決され
ていない。
第 2部では、こうした意味の処理に対して正面からぶつかることは行なわ
ない。実用的なシステムにつながらない事と、パソコン上の Prologでは荷が
重すぎるというのがその理由である。その代わりにパソコン上で現時点での
技術でも処理できるシステムを 2つ紹介する。
第 5章では、「積木の世界Jという阻定された領場で、ユーザーの指令を理解
112 第 2部 自然言語処理
して動作するロボットのシミュレーションを紹介する。領域を限定するとい
う原則は、実用的な自然言語処理システムを構築する上で、現時点での最も
有効な戦略である。
第 6章では、既に確定した意味表現をもとに、その意味表現を表わす文章
を生成するシステムを紹介する。意味に関して暖味性がないために、文生成
では、意味処理に関する問題を避けて通ることが可能で、ある。そのため、文
章生成システムは、文章理解システムのように領域を限定しないでも、ある
程度実用的な物を作ることが可能である。
112 第 2部 自然言語処理
して動作するロボットのシミュレーションを紹介する。領域を限定するとい
う原則は、実用的な自然言語処理システムを構築する上で、現時点での最も
有効な戦略である。
第 6章では、既に確定した意味表現をもとに、その意味表現を表わす文章
を生成するシステムを紹介する。意味に関して暖昧性がないために、文生成
では、意味処理に関する問題を避けて通ることが可能である。そのため、文
章生成システムは、文章理解システムのように領域を限定しないでも、ある
程度実用的な物を作ることが可能で、ある。
113
第員章 E調然醤藷イン$7,醐ー 工叩圃
この棄では、 Prologじよる滋然言語インタ…フぷースの構築を行なう。
ステムの扱う対象は「積木の世界」という、非常に限定された領域である。
. 1 ま
積木の世界を扱ったプログラムとしてはウィノグラードの SHRDLUとい
白熱富語理解に関ずる研究が最も潟、名である。
SHRDLUは1972年に作成されたプログラムで、自然言語理解に関しては
最も有名なプログラムのひとつである。 SHRDLUにおける機木には色だけ
なく大きさ令どの鱗性もあり、悉らにどラミッドや絡などもある。
SHRDLUではユーザーの入力を、 MICROPLANNERという処理系のステ
トメントに翻訳する。そうして、模本の世弊を記述したデータベ…ス
し、値をたずねたり、積木の位置を変えたりするのである。ユーザーの入力
して、筑間文、命令文、肯定交を解釈する撃がで謡、さらに代名詞に対十
る処理や文脈の参照、重文・複文による入力を受け付けることができる。
SHRDLUによる対話例の一部を図5-1次ベージ)に g本語いよって示そノ O
図5-]のようにかなり複雑な文の処理も、 SHRDLUには可能である。しか
し、残念な事に SHRDLUの紹介に出ている例は、うまくいったやり取り
よく態めたもので¥これだ、けでは性能を恋しく評摘することはで、きな
さらに、現在では SHRDLUの動作する処理系が存在しないためフ。ログラム
動かすこと此?きなく立っている。
初めて紹介されてから15年以上経った現在でも、 SHRDLUは文章理解と
融合した研究の代議的なシステム的地位にある。成功につなが
た最も大きな理由は、「積木の世界」というきわめて限定された領域を扱って
点に集約されている。現時点においても有効な白熱言語インタ…/エ
を持ったシステムを構築するには、領域を限定しなければならないという
原則は変わっていない。
出て来る積本的世界は、ウィノグラードらの「積フ!なの世界Jより
113
第日輩 苦言語インターフェース
この主主では、 Prologによる自然言語インターフェースの構築を行なう。シ
ステムの扱う対象は「積木の世界」という、非常に限定された領域である O
5.1 はじめに
積木の世界を扱ったプログラムとしてはウィノグラードの SHRDLUとい
う、自然言語理解に関する研究が最も有名である。
SHRDLUは1972年に作成されたブ。ログラムで、自然言語理解に関しては
最も有名なプログラムのひとつである。 SHRDLUにおける積木には色だけ
でなく大きさなどの属性もあり、さらにピラミッドや箱などもあるo
SHRDLUではユーザーの入力を、 MICROPLANNERという処理系のステ
ートメントに翻訳する。そうして、積木の世界を記述したデータベースに対
し、値をたずねたり、積木の位置を変えたりするのである。ユーザーの入力
として、質問文、命令文、肯定文を解釈する事ができ、さらに代名詞に対す
る処理や文脈の参月賞、重文・複文による入力を受け付けることができる。
SHRDLUによる対話例の一部を闇5-1(次ページ)に B本語によって示そう o
図5-1のようにかなり複雑な文の処理も、 SHRDLUには可能である。しか
し、残念な事に SHRDLUの紹介に出ている例は、うまくいったやり取りを
都合よく集めたもので、これだけでは性能を正しく評価することはできない。
さらに、現在では SHRDLUの動作する処理系が存在しないためフ。ログラム
を動かすことはできなくなっている。
初めて紹介されてから15年以上経った現在でも、 SHRDLUは文章理解と
問題解決を融合した研究の代表的なシステムの地位にある。成功につながっ
た最も大きな理由は、「襲木の世界」というきわめて臨定された領域を扱って
いる点に集約されている。現時点においても有効な自然言語インターフェー
スを持ったシステムを構築するには、領域を眼定しなければならないという
原郎は変わっていない。
この章に出て来る積木の世界は、ウィノグラードらの「積木の世界」よりも
114 第 2部 自然言語処理
ユーザー:大きな赤いブロックを取れ
システム :OK.
ユーザー :箱の中には何があるか
システム:青いピラミッドと青いブロックがあります
ユーザー:ピラミッドの上にピラミッドを置けるか
システム :いいえ
ユーザー :2つの赤いブロックと青い立方体かピラミッドのどちらかを
積み上げろ
システム :OK.
ユーザー :ピラミッドの向こうに大きなフーロックがあるか
システム :はい
ユーザー:それは何色か
システム:赤です
ユーザー :それを取れ
システム :OK.
ユーザー :赤いピラミッドを取る前にピラミッドにさわったか
システム:はい、緑色のピラミッドにさわりました
匡]5-1 SHRDLUにおける対話の例
さらに小さい世界を扱っている。「小さな積木の世界」は様々な色の積木と、ロ
ボットの腕、テーブルから成り立っている。図5-2がその小さな積木の世界の
例である。
ユーザーはロボットのアームに対し積木を持ち上げたり、他の積木の上に
重ねたりする事を命令することができる。
積木を操作する命令は、意味解析によって Prologの述語に直接翻訳され
て実行される。例えば図5-2において「青い積木を黄色い積木の上に置け」とい
う命令の入力があった場合は、
goal (上下(青,黄))
114 第 2部 自然言語処理
ユーザー:大きな赤いブロックを取れ
システム :OK.
ユーザー:箱の中には何があるか
システム:青いピラミッドと青いブロックがあります
ユーザー:ピラミッドの上にピラミッドを置けるか
システム:いいえ
ユーザー 2つの赤いブロックと青い立方体かピラミッドのどちらかを
積み上げろ
システム :OK.
ユーザー:ピラミッドの向こうに大きなブロックがあるか
システム:はい
ユーザー:それは何色か
システム:赤です
ユーザー:それを取れ
システム :OK.
ユーザー:赤いピラミッドを取る前にピラミッドにさわったか
システム:はい、緑色のピラミッドにさわりました
図5-1 SHRDLUにおける対話の例
さらに小さい世界を扱っている。「小さな積木の世界」は様々な色の積木と、ロ
ボットの腕、テーブルから成り立っている。 国5-2がその小さな積木の世界の
例である。
ユーザーはロポットのアームに対し積木を持ち上げたり、他の積木の上に
重ねたりする事を命令することができる。
積木を操作する命令は、意味解析によって Prologの述語に直接翻訳され
て実行される。例えば図5-2において「青い積木を黄色い積木の上に置け」とい
う命令の入力があった場合は、
goal (上下(青,黄))
第 5章 自然言語インターフェース 115
ト己
青 II 白
赤 II 黄
図5-2 小さな積木の世界
という Prologの述語を生成する。このプログラムは、 青い積木を取る前に、
黄色い積木の上の白い積木を他へ移すといった、簡単なプランニング機能を
持っている。プランに応じたロボットの腕の動作や積木の移動はアニメーシ
ョンで表示することにした。
5.2 r小さな積木の世界」のインプリメント
5.2.1 プランニングとアニメーション表示
図5-3が小さな積木の世界の意味解析部を除いたプログラムである。
まず、積木の世界の記述について解説しよう 。積木の世界の記述は
世界初期化
という述語の後半部で行なわれる。まずロボットのアームは、 X座標を引き
数として記述される。積木の位置関係は、テーブル上にある場合は
テープル上(赤い積木)
テーフ'ル上(黄色い積木)
という述語で記述される。積木の上にある場合は (p.126へ続く)
116 第 2部 自然言語処理
Z主主主主主主本字主主主主主主主主本主主主意主主ZZ トップレベル z Z主宰主主主主主主主主主主主主主本本主主主主客本Ztop:-
Z本字主主主主主主主主本主主主主主主主主主主主主本主主主主主主本主主本主主主主主主主主主主主主意ZZ 積木を 1移動する z Z 積木名, X座標, Y座標, X方向, Y方向 Z Z主主主主主本主主主本主主本主主本主主主主主主主主主寺本本主主主主主本主主主主主主主主本主主主主Zblockwarp(Name,X,Y,DX,DY):-
blockcls(X,Y), blockdraw(Name,X+DX,Y+DY).
Z主主主主主主主主主主孝主主主本主主主本主主主主主主主客本本主主主宰本主主主主主意本主主主主主主Zz 積木とアームを移動する z Z 積木名, X座標, Y座標, X座標, Y座標 Z Z本主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主Zblockmove(Name,X,SY,X,DY):司
SY =V= DY, (SV > DY->
Step = -2; Step = 2),
for(I,SY,DY-Step,Step),
fa i I .
blockwarp(Name,X, I ,O,Step), armwarp(X,I+15,O,Step),
blockmove(Name,SX,Y,DX,Y):-
sx =干= DX, (SX > DX ・〉
Step = -2; Step = 2),
for( I ,SX, DX-Step,Step),
blockwarp(Name, I ,Y,Step,O),
armwarp(I,Y+15,Step,O), fa i I •
blockmove(ー,噌'ー, -, -) . 1本本主主主孝章孝章本主主主主主主孝章孝章孝章本21 アームを消す z % X座標, Y座標 Z Z本主主主主本企孝章主主本主主主主主主孝章主主主Z
armcls(X,Y):-gg_box(X-2,Y-10,X+2,Y+50,O).
2主主主主主主主本主主主主主主主主本主主主主主主Zz アームを描く Z % X座標, Y座標 z Z主主主本主主主主主主主主主主主主本主主主主主主Zarmdral.'(X,Y):-
o v e r 1 ([-32052,-32092,-320901_1],_1). overl([ー32052,-287011_1],_1).位置助詞([-320551_1],_1).位置助詞([-320421_1],_1).位置助詞([-320591_1],_1).o v e r 2 ([-32074,-32027,-320921_1],_1). o v e r 2([-287011一1],_1).テープル ([-31899,129,91,-31883,-318611ー1],_1).テープル([-32060,129,91, -32044, -320231_1],ー1). テーブル ([-~99611_1J , _I).テーブル ([-32062,-32083,-320901_1],ー1). テープル([・281881_1J,_I).テープル ([-32066,-320941_1],_1).赤([司32096,-320871_1],ー1).
赤([-284601_1J,一1).赤C3,_I,Kt)
赤 C3,_2),形容詞語尾C2,_I,Kt).
青 ([-32096,-320881_1],_1).青 ([-284781_1],ー1). 青C3,ー1, K t)