意味的類似度計算システムによるチャットボットFAQシステムの性能向上

多くの企業や団体が提供するサービスにおけるカスタマーサポートなどにおいて、チャットボットが適用されつつある。チャットボットが提供する機能の一つに、各種サービスにおける「よくある質問」などと呼ばれるFrequentlyAskedQuestions(FAQ)検索を用いたユーザ質問への回答機能が存在する。FAQ検索では、企業が保持するFAQのデータベースに基づき、ユーザ質問に対して最もマッチする回答を得ることができる。我々は現在構築を検討中のチャットボットのFAQシステムにおける検索手法として、Open-DomainQAで有効とされているDenseRetriever[1]を採用する。DenseRetrieverの学習には、自社のチャットボット事業で収集している‌<‌ユーザ質問,FAQ質問‌>‌を対ユーザ質問FAQ質問アンケート最新情報を教えてくださいアカウントが作れないログインできないああああああああ定休日はいつですか？話ペアと見做した対話データを用いる1）。本対話データにおいて、ユーザ質問とユーザが選択したFAQ質問の対話ペアを正例として学習に用いる。しかし、プロダクトで収集される対話データには、ユーザが選ぶFAQ質問の内容が質問内容とマッチしていない品質の悪い対話ペアが含まれているという問題がある。これらを正例と見做して学習することで、DenseRetrieverの学習の際にノイズとなる恐れがある。品質の悪い正例の例を表1に示す。いずれもユーザ質問とFAQ質問の内容が大きく異なるため品質の悪い正例と言える。また、複数顧客のデータからランダムサンプリングした対話ペアに対して、筆者による品質の良い正例であるか否かについてのアノテーションを実施した結果、品質の{良い正例:455件,悪い正例:328件}となっており、品質の悪い正例が多く含まれている。一方で、多様な顧客から多数の対話ペアを収集していることから、人手での品質の悪い正例の除去は大変手間がかかる作業となっている。人手フィルタリング以外の品質の悪い正例を除去する手段として、FAQ質問選択後にユーザがさらに選択するフィードバック質問の活用が考えられる。フィードバック質問とは、FAQ選択後に表示される回答によって課題を解決することができたかを「はい」「いいえ」の2択でユーザが回答する質問である。ここで「はい」が選択されたデータのみを収集することで、品質の悪い正例を除去することが可能である。しかし、フィードバック質問に回答するユーザ1）対話データの収集方法の詳細については二宮ら[2]の4章に原則従う。.は少なく、収集できるデータ量も著しく減少してしまう。そのため、学習データのフィルタリング方法としてはふさわしくない。そこで本研究では、意味的類似度計算システムを用いた対話ペアの類似度付与による品質の悪い正例の自動フィルタリング手法を提案する。実験の結果、提案手法によるフィルタリングを適用したデータで学習したFAQシステムは、フィルタリング未適用のデータで学習したFAQシステムと比較して性能が向上することを確認することができた。