ChatGPTを対話システムと見なし、これまでの対話システムで用いられてきた技術との違いを整理しながら、どのようにして人間のような自然で流ちょうな対話が実現できているのかを解説する本連載。第1回は、ChatGPTの対話例を示しながらその特徴を俯瞰(ふかん)し、対話システムの歴史の概観を探る。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
OpenAIが「ChatGPT」という対話型AI(人工知能)を2022年11月にリリースして以来、2カ月で1億人が利用したという報道があった。ChatGPTには、自然な文章を生成したり、与えた文章を要約・翻訳したり、ソースコードを生成したりする能力があるが、本連載では人間と対話できる能力に焦点を当てて解説する。
まずは、筆者がChatGPTと雑談した例を図1に示す。まるで人間を相手にしているかのような非常に自然な応対で、相手へ共感できることや、豊富な知識を提供できることが分かる(アンネ・フランクをアン・フランクと誤記していることを除く)。
【お詫びと訂正:2023年8月28日16時】初出時、図版に誤りがありました。お詫びして訂正いたします。
このように、ChatGPTは自然言語によって対話ができることから、人間と対話する機能を持つ対話システムと見なすことができる。これまで3度あったAIブームとも相まって、対話システムの歴史は古い。本連載では、対話システムの研究開発の歴史を振り返りながら、これまでの対話システムとChatGPTの相違点について整理し、ChatGPTにはどのような技術が使われているのかを解説する。
対話システムとは、文字通り、コンピュータと人間が対話できるシステムのことである。対話は何らかの目的があって相手と行われる行為である。コンピュータと「対話ができる」ということがポイントになるが、人間がコマンドを使ってコンピュータに指示を与え、コンピュータが命令を実行するような一方通行のやりとりではなく、音声あるいはテキストにより発話される人間の意図を理解して、コンピュータが人間にとって有益な応答を返すという双方向のやりとりを指す。
対話の目的の種類は、例えば列車のチケットを予約するようなタスクを達成するための「タスク指向型」と、おしゃべりを楽しむ雑談のような明確なタスクが存在しない「非タスク指向型」に分けられる。列車のチケット予約には、出発地や目的地、乗車人数、乗車日などを確定させ、予約を完遂させるまでに何ターンかのやりとりが必要になるであろう。また、雑談にしても相手のことをよく知ろうとして、相手の話に合わせて何ターンかのやりとりが行われるであろう。対話では相手とのやりとりが何ターンか続くことが一般的であり、コンピュータとの対話にもそれが求められてきた。
今日までにAIブームは3度起こっている[1]。対話システムの研究開発も、その当時のAIブームの特徴を反映したものになっている。
第1次AIブームは1950年代後半〜1960年代にかけて起こった。コンピュータによる推論や探索が可能となり、特定の問題に対して解を提示できることがブームの要因であった。例えば、1966年に発表された「ELIZA」[2]という非タスク指向型の対話システムは、技術としては文字列のパターンマッチを採用し、カウンセリングを模倣した応答のルールにより、利用者の話に耳を傾けてくれると思わせる対話を実現した。また、「SHRDLU」[3]というタスク指向型の対話システムは、積み木という限られた世界ではあるものの、積み木の状況を理解して、構文解析や意味解析という技術により自然言語を用いて積み木の操作や質問に対する回答を行うことが可能であった。
第2次AIブームは1980年代に起こった。コンピュータが認識可能な形式の知識をコンピュータに与えることで推論が可能になり、多くのエキスパートシステムが生まれた。1977年に発表された「GUS」[4]というタスク指向型の対話システムは、構文解析や意味解析に加えて、積み木の世界のような限られた範囲のトイプロブレムといわれた問題にしか対応できない課題に対し、連想的なデータ構造を扱うためのフレームという知識表現を用いて、フレームの駆動により状況に応じた対話の制御を実現した。
第3次AIブームは2000年代から現在まで続いている。ビッグデータといわれる大量のデータに基づいてコンピュータが自ら学習する機械学習が実用化された。さらに機械学習に必要とされていた特徴量をコンピュータが自ら抽出することが可能となった深層学習が登場したことがブームの背景にある。
対話システムの分野では、テキストで対話を記述するチャットbot用の言語である「AIML」などが提案され、「A.L.I.C.E.」[5]という高品質な非タスク指向型のチャットbotが登場した。さらには、ビッグデータを背景に音声認識や音声合成の精度も向上し、Appleの「Siri」やAmazon.comの「Alexa」など音声で対話できる音声エージェントやスマートスピーカーが登場している。シナリオ対話の作成や外部サービスとの連携を通して、タスク指向型あるいは非タスク指向型のチャットbotを構築するため、AIMLを拡張した「xAIML SUNABA」[6]というチャットbot構築環境が利用可能となっている。このような事例をはじめとして、今日では人手によるルールの記述を中心にして、多くのチャットbotが実用化されている。なお、筆者の所属するNTTテクノクロスでは、音声認識ソリューションとして「SpeechRec」を、音声合成ソリューションとして「FutureVoice」を展開している。
一方、画像処理に端を発して、音声認識や自然言語処理においても、深層学習が急速に発展した。深層学習を用いた対話システムとしては、事前に収集された大量の対話履歴を基にして、応答に至るまでの対話の文脈とその応答のペアから学習したモデルにより最適な応答を生成する「Meena」[7]や「Blenderbot」[8]などの非タスク指向型の対話システムが提案され、短いターン数であれば人間と遜色がないレベルに達したと報告されている[9]。本連載で対象とするChatGPTはプロンプトの与え方次第でタスク指向型にも非タスク指向型にもなり得るが、ChatGPTにおいても大量のテキストデータと深層学習が用いられている。さらに、ChatGPTでは人間の模範的な応答を反映するほど高い報酬が得られるような強化学習が行われることで、人間にとって安全で有用で人に寄り添った応答が可能となった。
これまでの対話システムの実力を現すために、『実践・自然言語処理シリーズ 第5巻 対話システムの作り方』(近代科学社)[10]では、対話の目的(タスク指向型か非タスク指向型か)別に対話システムのレベルが定義されている(表1参照)。過去の対話システムのレベルは、いずれもレベル1からレベル2に相当するとされている。
この定義を踏まえて、ChatGPTに対する筆者の見解を示す。ChatGPTはあらかじめ聞くべきことが決まっていない状況でも、相談に対して適切な応答が返ってくるので、これまでの対話システムよりも段階が上がり、レベル3に達していると考えられる。さらに、不定型タスクの一つである企画立案などにも対応しうることから一部のタスクではレベル4に達している可能性もある。
対話システムのレベル | タスク指向型 | 非タスク指向型 |
---|---|---|
レベル1 | 音声コマンド | 一問一答 |
レベル2 | スロットフィリング | 話題の共有 |
レベル3 | 定形タスク | 情報の共有 |
レベル4 | 不定型タスク | 価値観の共有 |
表1 対話システムのレベル(『実践・自然言語処理シリーズ 第5巻 対話システムの作り方』《近代科学社》を元に作成) |
対話システムの構成に見られる典型的な機能は、言語理解、対話管理、応答文生成である。言語理解は利用者の発話から意図や要求を理解する機能であり、対話管理は利用者の発話に応じて対話の状態を管理する機能であり、応答文生成は利用者に応答する発話を生成する機能である。そして利用者と対話を行うには、対話が成立するのに十分な背景知識が必要とされる。また、対話システムには利用者に寄り添って共感することも重要であるし、特定の個性が求められる場合もある。ChatGPTでは、図2に示すような対話例から、同じ回答内容でも指示した個性に応じた対話ができると考えられる。
過去の対話システムから現在のChatGPTまでを機能別に整理し、表2にまとめた。本連載では、これをベースにして、先に言及した対話システムにおいて、どのような技術の違いが見られるのかを解説する。
言語理解 | 対話管理 | 応答文生成 | 知識 | 共感 | 個性 | |
---|---|---|---|---|---|---|
ELIZA | パターンマッチ | ルール | テンプレート | ハードコーディング | ハードコーディング | ハードコーディング |
SHRDLU | 構文解析・意味解析 | プランニング | テンプレート | ハードコーディング | なし | なし |
GUS | 構文解析・意味解析 | フレーム | テンプレート | フレーム | なし | なし |
A.L.I.C.E. | パターンマッチ | ルール | テンプレート | ハードコーディング | ハードコーディング | ハードコーディング |
xAIML SUNABA | パターンマッチ(形態素解析・固有表現抽出) | ルール | テンプレート | 外部知識参照 | ハードコーディング | ハードコーディング |
Meena/Blenderbot | 大規模言語モデル(エンコーダー) | 大規模言語モデル(ファインチューニング) | 大規模言語モデル(デコーダー) | 大量の対話データ | 大規模言語モデル(ファインチューニング) | 大規模言語モデル(ファインチューニング) |
ChatGPT | 大規模言語モデル(デコーダー) | 大規模言語モデル(ファインチューニング+強化学習) | 大規模言語モデル(デコーダー) | さまざまな大量のWebテキストデータ | 大規模言語モデル(ファインチューニング+強化学習) | 大規模言語モデル(ファインチューニング+強化学習) |
表2 対話システムの機能別分類 |
今回は、ChatGPTを対話システムとみなし、対話例を示しながら対話に見られる特徴を俯瞰(ふかん)するとともに、過去のAIブームに合わせて対話システムの歴史を概観した。
次回からは、機能別に対話システムを取り上げ、用いられている技術や特徴を解説していく。
[1]総務省, 平成28年版情報通信白書 人工知能(AI)研究の歴史,2016.(参照日2023年5月19日)
[2]Joseph Weizenbaum, ELIZA-A computer program for the study of natural language communication between man and machine, Communications of the ACM, Vol. 9, No.1, pp.36-45, 1966.
[3]Terry Winograd, Procedures as a representation for data in a computer program for understanding natural language, MIT AI Technical Report 235, 1971.
[4]Daniel G. Bobrow, Ronald M. Kaplan, Martin Kay, Donald A. Norman, Henry Thompson and Terry Winograd, GUS, A frame-driven dialog system, Artificial Intelligence, Vol.8, No.2, pp.155-173, 1977.
[5]Richard S. Wallace, The anatomy of A.L.I.C.E., In Robert Epstein, Gary Roberts and Grace Beber, editors, Parsing the turing test: Philosophical and Methodological Issues in the Quest for the Thinking Computer, pp.181-210, Springer Netherlands, 2009.
[6]渡邉亮裕, 田中剛, 藤本拓, 吉村健, 自然対話プラットフォームオープン化への取り組み, 人工知能学会研究会資料 SIG-SLUD-B802-12, 2018.
[7]Daniel Adiwardana, Minh-Thang Luong, Noah Fiedel, Romal Thoppilan, Zi Yang, Gaurav Nemade, Yifeng Lu, David R. So, Jamie Hall, Apoorv Kulshreshtha and Quoc V. Le, Towards a human-like open-domain chatbot, arXiv preprint arXiv:2001.09977, 2020.
[8]Stephen Roller, Emily Dinan, Naman Goyal, Da Ju, Mary Williamson, Yinhan Liu, Jing Xu, Kurt Shuster, Eric M. Smith, Y-Lan Boureau, Myle Ott and Jason Weston, Recipes for building an open-domain chatbot, arXiv preprint arXiv:2004.13637v2, 2020.
[9]東中竜一郎, 私のブックマーク「対話システム」, 人工知能学会. (参照日2023年5月19日)
[10]東中竜一郎, 実践・自然言語処理シリーズ 第5巻 対話システムの作り方, 近代科学社, 2023.
Copyright © ITmedia, Inc. All Rights Reserved.