自然言語理解

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

自然言語理解(しぜんげんごりかい、: Natural language understanding, NLU)は人工知能自然言語処理の一分野であり、コンピュータ自然言語理解読解)または意図を抽出させるという試みである。

ニュース収集、テキスト分類、音声アクティベーション、アーカイブなどの大規模コンテンツ解析といった様々な応用があるため、商業化の面でも関心が強い分野である。

歴史[編集]

世界初の自然言語理解の試みとしては、1964年、MITダニエル・ボブロウ英語版が博士課程の研究の一環として開発したプログラムSTUDENT英語版がある[1][2][3][4][5]ジョン・マッカーシー人工知能 (artificial intelligence) という呼称を生み出したのは、ボブロウが博士論文 Natural Language Input for a Computer Problem Solving System を書く8年前のことである。ボブロウの論文は、単純な英語で書かれた代数学の文章問題を入力として、それを理解して解くプログラムを示したものである。

翌1965年、同じくMITのジョセフ・ワイゼンバウムがセラピストを装って英語で人間と対話するプログラムELIZAを書いた。ELIZAは単純な構文解析とキーワードの決まり文句への置換で成り立っており、ワイゼンバウムは実世界についての知識データベースをプログラムに持たせるのを避け、豊富な語彙目録を与えるのを避けた。子供だましのプロジェクトとしては驚くほどの人気となり、例えば最近のAsk.comなどで使われていた商用システムの祖先となった[6]

1969年、スタンフォード大学ロジャー・シャンクが自然言語理解のためのCD理論を提唱[7]。このモデルは言語学者シドニー・ラム英語版の研究成果を踏まえたものであり、イェール大学でシャンクの指導を受けたジャネット・コロドナー英語版をはじめとする学生らがこれを応用した。

1970年、ウィリアム・A・ウッドが自然言語入力を表現する増補遷移ネットワーク英語版 (ATN) を考案[8]。ATNは句構造規則の代わりに同等の有限オートマトンを使い、それを再帰的に呼び出している。ATNのより一般的な形式を "generalized ATN" と呼び、その後何年もつかわれ続けた。

1971年、テリー・ウィノグラードはMITでの博士論文のためにSHRDLUを書き上げた。SHRDLUは、積み木で構成される限定的な世界について単純な英語の文を理解でき、それに従ってロボットアームで積み木を操作できる。SHRDLUのデモンストレーション成功により、その後しばらくそういった研究が続けられた[9][10]。ウィノグラード自身も著書 Language as a Cognitive Process を出版し、この分野に大きな影響を与え続けた[11]。なお、後にウィノグラードはスタンフォード大学でGoogle創業者の1人となるラリー・ペイジを指導した。

1970年代から1980年代にかけて、SRIインターナショナルの自然言語処理グループが、この分野の研究開発を続けている。そこから商業化の試みもいくつかなされている。例えば、SRI出身のゲーリー・ヘンドリックス英語版は1982年にシマンテックを創業したが、当初はパーソナルコンピュータからデータベースへのクエリを自然言語インタフェースで行うシステムを開発していた。しかし、マウスを使ったGUIが登場したため、シマンテックの方向性を変えることになった。同じころ他にも自然言語理解の成果を商業化する試みがなされており、Larry R. Harris の創業した Artificial Intelligence Corporation やロジャー・シャンクが教え子らと創業した Cognitive Systems がある[12][13]。1983年、Michael Dyer はイェール大学でBORISシステムを開発。ロジャー・シャンクと W. G. Lehnart の行った研究と類似点がある[14]

スコープと文脈[編集]

「自然言語理解」は様々な範囲のコンピュータアプリケーションに適用される。ロボットを操作する単純化されたコマンドから、新聞記事や詩を完全に理解しようという大掛かりなものまで幅広い。多くの実世界の応用はこれら2つの極端な例の中間に位置し、例えば電子メールの内容を分析して分類して企業内の適切な部門に振り分けるシステムは、それほど深い理解を必要としないが、固定のスキーマをもつデータベースへの簡単なクエリの管理よりはずっと複雑である[15]

長年に渡り、自然言語処理あるいは英語風の文をコンピュータへの入力に利用する試みが様々なレベルで行われてきた。一部の試みはそれほど深い理解を必要としないものだったが、それでもシステム全体の使いやすさを向上させる役に立っている。例えば、ウェイン・ラトリフ英語版が開発した Vulcan というプログラムはスタートレックに出てくる会話するコンピュータを真似て英語風の構文でコンピュータに指示できるようになっていた。Vulcanは後にdBaseへと発展し、その使いやすさで人気となり、パーソナルコンピュータのデータベース市場を生み出した[16][17]。しかし、単に英語風の構文で使いやすくすることは、豊富な語彙目録を持つシステムとは全く異なり、後者は自然言語文の意味論を表すのに独特の内部表現(一階述語論理であることが多い)を持つ。

例えば文章論理式に変換することによって、意味を扱う方法がある。

「太郎が車を買った」

という文を論理式に表すと

買った(太郎、車)

のような形になる。このような形の論理式に文を変換することによって、意味が扱えると考えられている。

それゆえ、システムが目指す「理解」の幅と深さは、そのシステム(およびそれによって暗示される挑戦)の複雑さと対応できる応用の種類の両方を決定する。システムの「幅」は、それが持つ語彙と文法の大きさで示される。「深さ」は、その理解が流暢なネイティブスピーカーのそれにどれだけ近いかで示される。最も浅く狭い英語風のコマンドインタプリタは要求される複雑さも小さいが、応用できる範囲も小さい。狭いが深いシステムは、理解の機構を探ってモデル化することを意図しているが[18]、やはり応用範囲は限られている。単純なキーワードマッチングではない理解を行おうとするシステムは、例えばニュース記事の内容を理解してそれがユーザーに適しているかを判断するシステムなどで、かなりの複雑さを要求するが[19]、まだ範囲は若干狭い。非常に広く非常に深いシステムが実現するのは、まだ先のことである。

コンポーネントとアーキテクチャ[編集]

どのような技法であっても、多くの自然言語理解システムにはいくつかの共通のコンポーネントがある。自然言語理解システムは対象言語の語彙目録構文解析器文法規則を必要とし、それらを駆使して文章を内部表現に変換する。適切なオントロジーを備えた豊かな語彙目録を構築することは、多大な努力を要する。例えば、WordNetの語彙目録は多大な工数を必要とした[20]

理解を誘導するには、「意味論」も必要とされる。言語理解システムの解釈能力は、それが使用する意味論に依存する。様々な意味論は、自然言語理解システムの基盤とする際にそれぞれ固有のトレードオフを持っている[21]。その範囲は、素朴意味論英語版確率的意味解析英語版から語用論を使用した文脈からの意味の抽出まで幅広い[22][23][24]

自然言語理解の高度なアプリケーションはまた、そのフレームワーク内に論理推論を取り入れようとする。それは一般に、抽出した意味を一階述語論理の論理式群にマッピングし、それらから演繹によって結論を導出する。そのためLISPなどの関数型言語をベースとしたシステムは論理式を表現するためのサブシステムを必要とするが、Prologなどの論理言語を使ったシステムは内包する論理表現フレームワークを拡張することに依存している[25][26]

自然言語理解における文脈の管理は、特に難しい。多種多様な例と反例は、結果として固有の長所と短所を持つ文脈の形式的モデリングを複数生じた[27][28]

脚注[編集]

  1. ^ American Association for Artificial Intelligence Brief History of AI [1]
  2. ^ Daniel G. Bobrow's PhD Thesis Natural Language Input for a Computer Problem Solving System.
  3. ^ Machines who think by Pamela McCorduck 2004 ISBN 1-56881-205-1 page 286
  4. ^ Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach Prentice Hall, ISBN 0-13-790395-2, http://aima.cs.berkeley.edu/ , p. 19
  5. ^ Computer Science Logo Style: Beyond programming by Brian Harvey 1997 ISBN 0-262-58150-7 page 278
  6. ^ Weizenbaum, Joseph (1976). Computer power and human reason: from judgment to calculation W. H. Freeman and Company. ISBN 0-7167-0463-3 pages 188-189
  7. ^ Roger Schank, 1969, A conceptual dependency parser for natural language Proceedings of the 1969 conference on Computational linguistics, Sång-Säby, Sweden, pages 1-3
  8. ^ Woods, William A (1970). "Transition Network Grammars for Natural Language Analysis". Communications of the ACM 13 (10): 591–606
  9. ^ Artificial intelligence: critical concepts, Volume 1 by Ronald Chrisley, Sander Begeer 2000 ISBN 0-415-19332-X page 89
  10. ^ Terry Winograd's SHRDLU page at Stanford SHRDLU
  11. ^ Winograd, Terry (1983), Language as a Cognitive Process, Addison–Wesley, Reading, MA.
  12. ^ Larry R. Harris, Research at the Artificial Intelligence corp. ACM SIGART Bulletin, issue 79, January 1982 [2]
  13. ^ Inside case-based reasoning by Christopher K. Riesbeck, Roger C. Schank 1989 ISBN 0-89859-767-6 page xiii
  14. ^ In Depth Understanding: A Model of Integrated Process for Narrative Comprehension.. Michael g. Dyer. MIT Press. ISBN 0-262-04073-5
  15. ^ An approach to hierarchical email categorization by Peinfeng Li et al. in Natural language processing and information systems edited by Zoubida Kedad, Nadira Lammari 2007 ISBN 3-540-73350-7
  16. ^ Infoworld, Nov 13, 1989, page 144
  17. ^ Infoworld, April 19, 1984, page 71
  18. ^ Building Working Models of Full Natural-Language Understanding in Limited Pragmatic Domains by James Mason 2010 [3]
  19. ^ Mining the Web: discovering knowledge from hypertext data by Soumen Chakrabarti 2002 ISBN 1-55860-754-4 page 289
  20. ^ G. A. Miller, R. Beckwith, C. D. Fellbaum, D. Gross, K. Miller. 1990. WordNet: An online lexical database. Int. J. Lexicograph. 3, 4, pp. 235-244.
  21. ^ Using computers in linguistics: a practical guide by John Lawler, Helen Aristar Dry 198 ISBN 0-415-16792-2 page 209
  22. ^ Naive semantics for natural language understanding by Kathleen Dahlgren 1988 ISBN 0-89838-287-4
  23. ^ Stochastically-based semantic analysis by Wolfgang Minker, Alex Waibel, Joseph Mariani 1999 ISBN 0-7923-8571-3
  24. ^ Pragmatics and natural language understanding by Georgia M. Green 1996 ISBN 0-8058-2166-X
  25. ^ Natural Language Processing Prolog Programmers by M. Covington, 1994 ISBN 0-13-629478-2
  26. ^ Natural language processing in Prolog by Gerald Gazdar, Christopher S. Mellish 1989 ISBN 0-201-18053-7
  27. ^ Understanding language understanding by Ashwin Ram, Kenneth Moorman 1999 ISBN 0-262-18192-4 page 111
  28. ^ Formal aspects of context by Pierre Bonzon et al 2000 ISBN 0-7923-6350-7

関連項目[編集]