ネットワールドは2017年10月、社内のマーケティング部門に「AI チャットボット」を導入した。
社内のナレッジを蓄積し、社歴の浅い社員でもチャットに質問するだけで適切な回答が得られるシステムだ。
わずか2 カ月という期間で開発したアベリオシステムズによれば、システム開発のスピードアップと精度向上にはネットワールドが昨年開設した「Networld AI センター」に常設されている「IBM Minsky」の検証用インフラが大いに役立ったという。
その開発秘話について、アベリオシステムズの吉井亜沙氏とネットワールドの荻上照夫が語り合った。
アベリオシステムズの AI チャットボット「かぼちゃん」
ネットワールドではマーケティング部門の業務支援を目的に、FAQ システムを構築・運用してきました。しかしFAQ システムには一般的な質問と回答しか用意されておらず、新入社員がイレギュラーな場面に出くわしても対応できないという課題がありました。そこで2017年4月にチャットシステムとAI チャットボットを利用した業務支援の仕組みを導入することにし、その開発ベンダーとしてAI エンジンの開発に実績を持つアベリオシステムズに協力をお願いしました。
アベリオシステムズは1999 年に創業したソフトウェア開発会社です。近年はディープラーニングの台頭などAI 技術への注目度が高まったことを受け、自然言語解析技術と機械学習を組み合わせた技術開発に取り組んでいます。すでに独自開発のAI エンジン「Orora」をリリースしており、自然言語解析、音声解析、ビッグデータ分析といったニーズに合わせたソリューションを提供しています。そうしたソリューションの一つとして開発したのが、AI によるメンテナンスフリーのQAチャットボット「かぼちゃん」です。かぼちゃんという名前は“QaBotChat”をもじって付けました。
ネットワールドが導入したかぼちゃんは、アベリオシステムズ社内で稼働実績があるシステムをベースにしたと聞きました。もともとはどういう経緯でAI チャットボットを開発したのでしょうか?
アベリオシステムズでは社内のコミュニケーションツールとして、ビジネスチャットシステム「Slack」を利用しています。Slack 上では、限られたエンジニアや総務担当者に同じような質問が何度も繰り返されているという課題がありました。そこで質問と回答をAI 技術で収拾し、ナレッジデータベースを作ることで業務効率を向上しようという企画を立ち上げ、研究開発を進めてきました。人と人との対話が自然に蓄積され、その対話からAI が自ら学習して、メンテナンスを限りなく不要にすることを目指して誕生したのが、かぼちゃんです。
ネットワールドでもSlack を利用していますが、Slack はボット用API が公開されているため、さまざまなQA チャットボットが存在しています。その中で、かぼちゃんにはどのような特長があるのですか?
質問すると適切な回答を返すという役割の点では、どのQAチャットボットも同じです。かぼちゃんの特長はQA チャットボットに必要なルールやシナリオを作成する必要がなく、メンテナンスフリーで運用できるところにあります。もしわからない質問があれば、かぼちゃんはベテランの人に聞いて、回答を学習していきます。これにより、マニュアル化しづらい知識の共有が可能となり、当社自身も質問対応にかかる負荷を軽減するという効果が得られました。
IBM Minsky により学習時間が30 倍以上も高速化
今回はかぼちゃんをカスタマイズする形で、ネットワールドのAI チャットボットシステムとして採用したわけですが、開発にあたってはどのような点に苦労しましたか?
かぼちゃんではSlack から受け取った質問をAI エンジンが形態素解析して単語に分割し、それを数値的なベクトルに変換します。そのベクトルを使用し、過去の質問回答群の中からディープラーニングによって適切な回答を探し出し、回答するという仕組みです。ここで課題となったのが、機械学習に時間がかかるということでした。そのため、アルゴリズムを変更して回答精度を高めようとしても、時間がかかってしまい、すぐに微調整することが難しいという苦労がありました。また、リアルタイムで新しい質問・回答を反映できないところも課題でした。
当初はアベリオシステムズの社内にあるテストサーバを利用していたのですよね?
はい、Intel Xeon X3430 CPUと16GB メモリを搭載したマシンを使っていました。しかしあまりにも時間がかかるため、ここにNVIDIA GeForce GTX1050Ti GPU ボードを挿し、GPU コンピューティングを利用して性能向上を目指しました。それでも1回の学習に7 時間以上もかかっていました。
アベリオシステムズから時間がかかるという相談を受け、ネットワールドでは昨年開設した「Networld AI センター」に常設されている「IBM Minsky(IBM PowerSystem S822LC for High PerformanceComputing)」を使ってもらうことにしました。テストサーバをIBMMinsky に変更してからは、学習時間を短縮できましたか?
IBM Minsky を使い始めると、1回の学習時間は約3時間程度に短縮されました。しかしこれは、従来のテストサーバのアルゴリズムをそのまま移行したものです。さらにチャットボットのアルゴリズムをIBM Minsky に搭載されているPOWER8 CPU とNVIDIA Tesla P100GPU に最適化するように調整すると、学習時間は約11分へと劇的に短縮できました。
IBM Minsky のパフォーマンスは従来のIBM PowerSystemと比較しても違いますか?
テストデータを使ってパフォーマンスを比較してみたところ、社内のx86 マシンで150分かかっていた機械学習がIBM Power Systemでは50分になります。これだけでも学習時間は3分の1の短縮になりますが、IBM Minsky ではわずか4 分半で終了しました。単純計算で30倍以上も高速化したことになります。
ビジネスパートナーに対する 開発支援体制を用意
IBM Minskyを利用したことで、開発スピードの大幅な短縮につながりましたね。
機械学習の時間が速くなったことで、アルゴリズムの調整がとてもやりやすくなり、アルゴリズムの改善を図りながら精度を高めるというブラッシュアップが可能になりました。またIBM Minsky では、AIチャットボットの動作が安定するという効果も得られました。
ネットワールドのAI チャットボットは順調に稼働していますが、今後はかぼちゃんをどのように拡張していく予定でしょうか?
いま進めているのは、チャットボットがより複雑なフローにも対応できるようにすることです。今後はチャットだけでなく、画像認識など他のAI 分野にも取り組んでいきたいと考えています。
今回のAI チャットボット開発はネットワールド自身の生産性向上の一環として取り組んできましたが、当社の「Networld AI センター」に常設されているIBM Minsky の検証環境をアベリオシステムズに利用してもらうことで効率的なアプリケーション開発とアルゴリズム調整の大幅な時間短縮に役立てることができました。
もちろん、ネットワールドは機械学習やディープラーニングを活用した各種アプリケーションを開発する様々なビジネスパートナー様とも、今回のような当社の「Networld AI センター」の利用を通して協業体制を広げていきたいと考えております。開発インフラに課題を抱えるAI アプリケーション開発ベンダーの皆さんは、ぜひネットワールドにお問い合わせください。