筆者が取り組んだ最初のAIシステムは、メーカーのコールセンターへのIBM Watsonの導入であった。2016~17年くらいの事例なので新しくはないのだが、その時に得たAI導入のノウハウは今でも活用しているので、無駄話にはならないだろう。
Watsonは自然言語処理に強いクラウドAIサービスだ。コールセンターのように言葉を扱う業務とは相性が良い。活用したサービスは、自然言語のタグ付け(分類)を行うNatural Language Classifier(NLC)と、全文検索エンジンにAIの仕組みを組み込んだRetrieve and Rank(R&R)の二つだ。ただ、この二つのサービスは現存しておらずNLCは似たような名前のNatural Language Understanding(NLU)の分類モデル、R&RはDiscoveryという後継サービスに置き換える必要がある。
メーカーのコールセンターでは、電話を掛けてきた顧客の話をオペレータが聞いて、それが操作方法の質問か、故障の修理依頼か、消耗品の発注かといった意図の分類を行う。さらに、顧客の会社名や店舗名、機種名やシリアル番号といった情報も聞き出す。
分類した顧客の意図に、こうした情報を組み合わせると、どのような回答をすれば良いか、具体的にはどのFAQやコールスクリプト(会話の台本)を使えば良いかが分かる。優秀なオペレータは意図の分類や情報の聞き出しが上手く、回答に用いるFAQなどのナレッジを探し出す能力も高い。
このシステムでは、回答に用いるナレッジの検索能力の向上にAIを活用することにした。NLCは100種類程度の分類であれば精度が高く、R&RはNLCと比べれば精度が低いが大量の文書を探索対象にできる。そこで、ナレッジをパレート分析して、全体の8割の質問に回答できる2割のナレッジを見つけ出すことにした。そうした重要なナレッジには精度の高いNLC、それ以外のナレッジは大量の文書を扱えるR&Rを用いるわけだ。
AIトレーニングの方針を最初に走り書きしたメモ
このように書くと、いかにもスムースにAIシステムの導入ができたように見えるが、実際にはそんなことはない。
NLCにせよ、R&Rにせよ、機械学習を用いる場合は訓練データが必要だ。ある質問文があったときに、そのナレッジを使えば良いのかが導き出せれば良いのだから、質問文のバリエーションが特徴量、使用するナレッジのIDが教師データということになる。あらかじめ存在しているのはナレッジの方だから、ナレッジごとに、それを回答として用いるような質問文のバリエーションを作れば良い。
この時は、コールセンターを管轄する事業部長の発案で、コンテストを開催することになった。地域毎に複数のコールセンターがあったので、その対抗戦で教師データを作成して検索精度の優劣を競った。各コールセンター長にExcelで質問文とナレッジIDの組み合わせを大量に作ってもらい、私がWatson APIで指定されているデータ形式に変換してAIモデルのトレーニングを行った。
人によって異なる質問文の作り方をしてくれたので、どのようなデータを渡せば精度が高くなるかといった知見を得ることができた。
また、前述のパレート分析も簡単ではない。コールログは存在するので、どのような質問があったかは分かるのだが、回答する際にどのナレッジを使用したかは記録していない。AIで対象とする業務を長年やっているからといって、AIが必要とするデータがそろっているとは限らないのである。
そこで、まずはR&Rの全文検索エンジン機能のみを活用した(R&RのAI機能は使わない)ナレッジ検索システムを開発して、コールセンターで使ってもらうことにした。そのような検索システムは既存だったのだが、どのナレッジが役立ったかを記録できるようにした。
そして、質問文と役立ったナレッジIDのデータがたまってきたら、まずはR&RのAI機能を使うようにする。AI機能のトレーニングが進めば検索精度が向上するはずだ。次に、もっとデータがたまってくればNLCも使うようにして、さらに検索精度を向上させようという狙いだ。AI活用ではデータの質と量は極めて重要であり、そのデータ蓄積の度合いに合わせてAI機能を段階的にリリースするというのは、今後も充分活用できるノウハウといえる。
精度のモニタリングも必要だ。せっかくAIを使っているのだから、使えば使うほど賢くなるシステムにしたい。このシステムでは、検索結果として表示されたナレッジごとに役立ったか役立たなかったかの評価をしてもらっていたので、役立ったナレッジの表示順位がより上位に、役立たなかったナレッジの表示順位がより下位になれば、精度が向上しているということになる。そこで、BIツールを使ってデータの収集と可視化を行い、毎週報告するようにしていた。
精度評価に用いたBIツールのダッシュボード
AIシステムといえどもITシステムの一種である。むしろ、ITシステムの一部にAIモデルを組み込んだだけといえるが、ここまでに述べたようにAI特有のノウハウがある。AIモデルの精度評価や次のトレーニングに使うために、本番運用時のデータ収集が必要だが、これはAI特有の事情がITシステムの開発要件に影響を与えたケースといえる。
こうしたノウハウは私自身がシステム開発の現場で活用するだけでなく、講師を務める研修でも積極的にお話ししている。AIならではという事情をきちんと理解することが、プロジェクトの成功率向上につながるからだ。
■執筆者プロフィール
井上研一(イノウエ ケンイチ)
ビビンコ 代表取締役 ITコーディネータ
プログラマ・SEとして20年以上の実務経験。AI関連では、コールセンターへのIBM Watsonの導入や、画像認識システムの開発に携わる。IoTハカリを用いたビジネスアイデアにより、「北九州でIoT」に2年連続採択。そのメンバーで、ビビンコを2018年に創業。