言語処理学会 第26回年次大会 発表論文集 (2020年3月)

チャットボット運用における新規問い合わせ候補の抽出
戸田 隆道

杉山 雅和

友松 祐太
株式会社 AI Shift{toda takamichi, tomomatsu yuta, sugiyama masakazu}@cyberagent.co.jp

1

はじめに

手法紹介

3

本章ではクラスタからの新規問い合わせ候補の抽出

近年カスタマーサポートの分野においてチャットボッ
トによるサポートが注目を集めており、メールにはな手法について紹介する。

い返信のリアルタイム性や電話と比べた際の気軽さから、現在多くの企業で導入されている。
チャットボットの初期設計や運用改善では問い合わ

3.1

クラスタリング

せ内容と回答のペアをチャットボットに登録していく

代表的な文章特徴量の表現方法である TF-IDF を特必要があるが、多くの場合この作業は対話ログを参照徴量とする階層クラスタリングを行う。これにより意しながら人手で行っている。我々はこの作業の負担を味的に似ている文章のまとまりを作ることができ、ク減らすため、対話ログのクラスタリングを行い、類似ラスタサイズからそのクラスタに類する問い合わせのする問い合わせをまとめている。加えて重要度スコア頻度を推測することができる。

を計算し、まとめられた問い合わせの中で代表的なものを抽出している。これにより作成の手間が大幅に減ることに加え、問い合わせのボリュームゾーンもわか3.2るので、頻出する問い合わせから優先度をつけて回答ペアの作成に取り組むことができる。

重要度スコア計算

クラスタリングの特徴量として使用した TF-IDF は文章に含まれる単語の重要度スコアとして利用するこ

本稿では我々の取り組んでいるクラスタからの新規問い合わせ抽出手法について紹介するとができる。しかし TF-IDF はレアワードに対して重要度スコアが高くなってしまう傾向にあるため、類似する文章から代表文を得る場合、レアワードが含ま2れる文章の重要度スコアを極端に高くしてしまう恐れ関連研究がある。そこで我々は、クラスタ内での単語の出現率対話をクラスタリングする研究として東中らの研究を計算し、出現率の低い (クラスタ内の半分未満) 単[1] が挙げられる。この研究はフライト予約などの特定のドメインを対象にしたタスク指向対話におけるスロットを埋めるのに必要な対話をクラスタリングするが、本稿で対象とする対話は一問一答で解決へ導くための問い合わせ候補を抽出するという点で異なっている。
文章の重要度スコアを計算する手法として Jagadeesh らの研究 [2] が挙げられる。こちらは文章要約のために文の位置や動詞の有無などをスコアリングし、情報の過不足が無いよう文章を抽出する手法で、類似文章から代表分を抽出するという点で我々の手法と異なっている。

語を有する文章には出現数の逆数のペナルティを与えるような重要度スコア計算を考えた。これにより、ノイズに左右されにくい代表文の抽出が期待できる。

Algorithm 1 にその計算を示す。

4

実験
実際にチャットボット導入時に使用したログデータを 1000 件サンプリングし、それらに対して提案手法を用いて問い合わせ抽出を行った。なおデータ取り扱
いの都合上、例示する際には固有名詞にマスキングを行い、一部の文脈に変更を加えている。

― 1420 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

Algorithm 1 ペナルティ付き重要度スコア計算
Require: 各文章ごとに含まれる単語リスト, クラスID

発話

1-1

注文のキャンセルをお願いします。

タサイズ, クラスタ内全単語,TF-IDF

1-2

次回からの注文を全てキャンセルです。

for i = 0 . . . 各文章ごとに含まれる単語リスト

1-3

前に注文しています。キャンセルして下さい！

.length do

1-4

よくわからないのに、[不満内容] キャンセル

words = 各文章ごとに含まれる単語リスト [i]をお願いします

penalty = []1-5

for j = 0 . . . words.length do[製品名] を使った後、[不満内容]。合わないよ
うなので全ての商品の注文をキャンセルさせ

w = words[j]てほしいのです。よろしくお願い致します。

count = 01-6

[製品名] を注文後、キャンペーン価格に関す

for k = 0 . . . クラスタ内全単語.length do

る問い合わせをしましたら、回答記述で貴社

if w == クラスタ内全単語 [k] thenから今回の注文を一方的にキャンセルされま

count+ = 1した。 [不満内容] 。注文キャンセルを取り消end if

して頂けますでしょうか？

end for
if count < クラスタサイズ
then2
penalty[j] = count2-1

支払い方法変更

2-2

別の支払い方法を希望

2-3

支払い方法変更お願いいたします

else
penalty[j] = 0

2-4

デビッドカード支払いはできないのでしょう

end if2-5

か 別の支払い方方法はないのでしょうか？

end for

クレジットカードでの支払いでしたが、フィッシング詐欺にあってクレジットカードを停止

重要度スコア = max(T F − IDF ) ∗ ∑1(penalty)+1しました。支払い方法を変更してコンビニ支end for払いにしたいので支払い方法をお知らせください。

4.1重要度スコア計算の比較

2-6

お世話になっております。 次回の [製品名] のお支払い方法をクレジットカードにしたいの重要度スコア計算の比較手法として、単純に TF-ですが、[不満内容] その先がわかりません。

IDF の最大値を文章の重要度スコアとして取るものにお返事お願いします。[氏名]加え、TF-IDF に文章長を考慮した BM25[3] の最大値と EmbedRank[4] を比較する。EmbedRank は文章表 1: クラスタにまとめられた発話群の例の分散表現を利用し、教師なしで文書からキーフレーズを抽出する手法であるが、今回はクラスター内の発ID 1-*には注文のキャンセル、ID 2-*には支払い方話群を結合したものを文書、各発話を 1 つのフレーズ法の変更に関する問い合わせがまとめられている事がとして適用する。分散表現は BERT[5] を利用して抽わかる。(ID1-6 のようにクラスタ内容と異なる発話が出した。

含まれているが本稿では扱わない)
これらの文章の重要度スコアを計算したものを表 24.2に示す。

結果

ID 1-*では TF-IDF の最大値を取るだけで代表文と上記のデータに対して 3.1 項で述べたクラスタリンして適切な発話の重要度スコアが高くなっているが、グを行った結果、282 のクラスタに分かれた。一例とID2-*では、ID2-5 のフィッシング詐欺というレアワーして、表 1 にあるクラスタにまとめられた発話群を 2ドの影響で TF-IDF の重要度スコアが高くなってしつ示す。

まっている。EmbedRank だと ID1-6 や ID2-5 の発話のように、多くの情報が含まれた発話の重要度スコアが高くなってしまう傾向にあった。BM25 は全体的に悪い結果となってしまった。これは基本的にチャッ― 1421 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

Summarization, Workshop on Document Sum-ID

TF-IDF

BM25

EmbedRank

提案手法

1-1

0.67980.23030.91810.67981-2

0.67710.33110.93310.22571-3

0.5276

0.23690.94450.17581-40.4602

0.19550.96300.0657

Hinrich Schütze.:

1-5

0.43980.21840.96610.0314mation Retrieval, Cambridge University Press,

1-6

0.42110.24420.96630.02340

2009 p. 233.

2-1

0.60490.28400.67280.60492-20.61230.40540.86870.3061[4] Kamil Bennani-Smires, Claudiu Musat, An-

2-3

0.51350.25140.91880.1711dreea Hossmann, Michael Baeriswyl, Martin

2-4

0.51450.41340.91470.0857

Jaggin: Simple Unsupervised Keyphrase Ex-2-5
2-60.62440.3126

0.29290.2491

0.94180.94800.07800.0156

traction using Sentence Embeddings, Proceed-marization, 19th and 20th March, 2005, IIIT
Allahabad[3] Christopher D. Manning, Prabhakar Raghavan,
An Introduction to Infor-ings of the 22nd Conference on Computational
Natural Language Learning, 221–229

表 2: 問い合わせ抽出のための重要度スコア計算[5] Jacob Devlin, Ming-Wei Chang, Kenton Lee,
トボットによる対話は短文が標準的であり、文章長のand Kristina Toutanova: BERT: Pre-training of

考慮はあまり意味のないものであったことが考えられ

deep bidirectional transformers for language un-る。今回の例では ID 1-*では ID1-1 の発話、ID 2-*でderstanding., arXiv preprint arXiv:1810.04805,

は ID 2-1 または ID2-2 の発話が適切であると考えら

2018.

れ、我々の手法ではこの 2 つの発話の重要度スコアが高くなっていることがわかる。

5

おわりに
本稿では、チャットボットをカスタマーサポートに適用する際に必要な回答作成の負担を減らすための問い合わせ抽出手法を紹介した。今後は、回答が含まれているデータ (例えばメールや有人対応など) から、問い合わせだけでなく、それに対する回答の抽出にも取り組むことでさらなる効率化を目指す。加えて、現在のクラスタリング方法では ID 1-6 のような、異なった内容の発話がクラスタに含まれてしまう場合がある
ため、問い合わせ箇所を抽出してからクラスタリングを行うなどのアルゴリズムの改善にも努める。

参考文献[1] 東中竜一郎, 川前徳章, 貞光九月, 南泰浩, 目黒豊美, 堂坂浩二, 稲垣博人: 対話行為設計のための発話クラスタリング, 言語・音声理解と対話処理研究会, Vol. 63, pp. 37–42 (2011 年)[2] Jagadeesh J, Prasad Pingali, Vasudeva Varma:
Sentence Extraction Based Single Document― 1422 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.