はじめに
文系の皆さんがAI人材になるためのノウハウを投稿していきます。今回は会話系AIの作り方を学んでいきます。「そもそもAIはどんなものか」について知りたい方は「AI作成の流れ」を把握、「AI企画」をスムーズに進行させるためにをご参照ください。
会話系AIの活用例を復習する
会話系AIの活用例としては次のような内容がありました。
会話系×代行型AIの活用例
- 施設内の会話による案内
- 音声による注文の対応
- チャットボットや音声対応によるコールセンター対応
- 社内内線電話の取り次ぎ
- 対話音声のテキスト化と要約
会話系×拡張型AIの活用例
- 専門家の置き換え
- 対話による感情分析
- 多言語での対話
人とAIの対話を作り出す会話系AIですが、もっとも代表的なのは文による対話を制御するチャットボットでしょう。このチャットポットを軸にして会話系AIの仕組みを見ていきます。この会話系AIは、ある質問のインプットがきたら、回答が抽出され、適切なアウトプットがなされるというものです。
会話系AIの代表格であるチャットボットには大きく2つの種類があります。ひとつはルールベース型です。このタイプは人の手によって対話のシナリオを入力していきます。この質問がきたら、この回答を返すという情報を1つひとつ登録していきます。ひとつの質問が終わったら次にどんな対話を続けるかなども手動で登録していきます。また、類義語を入カして単語辞書を登録することによって一定量の質問文内の単語のゆらぎをカバーします。
一方、2つ目の種類のAIによる学習型は、質問文と回答文のペアデータをたくさん用意しAIに学習させるタイプです。質問文と回答文の大量のペアデータができ、言い回しの近い質問文や類義語の登録データも用意できたら、そのデータ群をAIに学習させます。質問文と回答文のペアデータが大量にある場合は、AIによる学習型を採用することで、シナリオの1つひとつの入力の手間がなくなりますし、正しい回答率(正解率)も上がることが多いです。ただし、質問文と回答文のペアデータが少ない場合は、質問と回答のシナリオを細かに制御できるのでルールベース型による手動入力のほうが適している場合があります。
さらにこの会話系AIは、インプットとアウトプットが音声である場合もあります。その場合は、これまでお話しした仕組みを基本としながら、会話のインプットのデータを音声認識するAIと、会話を合成音声によって出力する仕組みが加わってきます。
ペアデータ
質問文と同答文が対になっているデータ
会話系AIはどのように作られるのか
続いてAIによる学習型を取り上げて、会話系AIの作り方の流れを説明します。
企面
- AIプラン ニング
- 人へのエスカレーション設計
データ用意
- 学習データ準備
- 質問の似た言い回しと類義語の登録
学習
- AIモデル構築
- AIモデル精度検証
予測
- AIモデル実行
- 運用·再学習
予測系AIや識別系AIと同様 に、「企画1:AIプランニング」から開始します。作成する会話系AIによってどんな課題や不便を解決するのかを企画立案します。ここで重要になるのは、「その時点の会話系AIがどこまでができて、どこからができないのか?」を把握しておくことです。現代の会話系AIは、複雑な質問とその回答を高い精度でやり取りすることや、まったく新しいタイプの質問への対応が苦手です。顧客とのミスマッチが生まれないように、計画段階で利用用途とできることとできないことをすり合わせておきましょう。
「企画2:人へのエスカレーション設計」では、「どこまでができてどこからができないのか?」を把握した上で、人間との「共働き設計」を行なっていきます。先ほど述べた通り、現段階の会話系AIの多くは、複雑な質問や新しい質問に対して間違った回答をしてしまう、あるいは、そもそも聞き取りができず質問を認識できないことがあります。こうした場合に、「AIから人へ」と対応を引き継ぐ人へのエスカレーションが必要になる場合があります。特に対話中のエラーが許されにくいコールセンター業務、注文業務、電話の取り次ぎ業務などは、会話系AIが対応しきれないときのために一定量の人数がスタンバイしておき、会話系AIが行なった途中までの対話内容を受け取って人による対応を行なう業務設
計をしておくべきでしょう。
「データ用意1:学習データ準備」では、質問と回答のペアデータを用意します。過去にやり取りが成立した質問と回答の記録をデータ化したり、ペアデータが足りないようだったら、想定する質問と回答のデータを新規で作成します。
「データ用意2:質問の似た言い回しと類義語の登録」では、同じことを聞いているが質問の言い回しが少し違う場合でも適切な回答を返すために、似た言い回しの質問文章を用意して登録します。たとえば、「この前買った椅子を返品したいのですがどうしたらいいですか」という質問文に似た言い回しの「前に椅子を買ったのですが、返品したいです。どうしたらいいですか」「椅子を先週買ったのだけど返品したいです」など、同じ意味合いだけれども異なった言い回しの質問文を登録します。おおよその言い回しのパターンを入力できれば、AIやその他機能によって、少しだけ異なるニュアンスで質問された内容についても正しく認識することが可能になります。また、単語のユレもカバーするために類義語も登録します。たとえば、「椅子」の類義語として「いす」「イス」「チェア」「スツール」などを登録していきます。特に、会話系AIを導入するサービスにおいて重要な単語について入力をしていきます。
データの用意ができたら、「学習1:AIモデル構築」です。AIモデル構築は好みの方法を選んでいただけますが、今回のAIによる学習型の会話系AIは、実際の言語処理技術のハードルを考えるとすでにでき上がった「構築済みAIサービス」を使うのが現実的です。マイクロソフトやGoogle、アマゾン、LINEといったプラットフォーマーや各種企業が提供するサービスを利用するのがよいでしょう。
AIモデルの構築が終わったら「学習2:AIモデル精度検証」を行ないます。会話系AIでの精度検証は、学習には使っていないデータを使います。用意された質問に対して、適切な回答をどれくらい返すことができたかの正解率で測ります。実際の運用の前、 想定される質問をランダムに作成し、適切な回答かどうかをチェックして測ります。運用後の精度検証はっ実際の顧客からの質問への適切な回答率を計測していきます。
精度の検証が終わり、公開可能なレベルに至ったら、「予測1:AIモデル実行」に移ります。「企画2:人へのエスカレーション設計」にのっとり、会話系AIが対応しきれないときの代替として人のスタンバイが必要な場合、人員の手配もしておきます。多くの場合は、元々人によって行なっていた業務を会話系AIによって置き換えることになるとは思いますので、その場合は置き換えられる前の業務を行なっていた人をアサインするとよいでしょう。
「予測2:運用·再学習」では、実際にサービスとして会話系AIを組み込んで運用を行ないます。運用を開始した後は、実際の顧客とのやり取りで生まれた質問と回答の実績データをさらなるAIの学習に活かしていきます。正しいやり取りができた質問と回答のペアは、そのまま学習データとして取り込みます。また、誤った回答であった場合は、必要な修正をした上で、学習データとして利用することになります。
このような流れで会話系AIができ上がります。特に言語処理の部分は人によって中身まで手をつけられる領域ではありませんので、質問と回答のペアデータをどうやって大量に集めるか、また、人との共働き設計としてAIと人が手を組んだ業務フローをどのように最適に組み上げるかが注力すべきポイントとなるでしょう。また、特に日本語の処理精度については、各サービスによって精度がまちまちではありますので、利用サービスの目利き力も重要になります。
まとめ
いかがったでしょうか。次回は実行系AIの作り方について解説していきます。「予測系AI」「識別系AI」「会話系AI」「実行系AI」については、以下の記事でより詳しく解説していきます。