私のチームは多くのチャットボット トレーニングを行っており、仕事の質を向上させるためのツールを考え出そうとしています。チャットボットのトレーニングでは、同じインテントを非常に異なる方法で表現する多様な発話でインテントをトレーニングすることが非常に重要です。理想的には、セット内の発話の構文に類似性がほとんどないことです。
これは、医療保険の適用範囲について問い合わせるインテントの例です。
不適切な発話セット
- 娘は保険に加入していますか?
- 息子は医療保険に加入していますか?
- 息子は保険でカバーされますか?
適切な発話セット
家族全員が保険に加入しているかどうかを調べるにはどうすればよいですか?
医療保険の受給資格について詳しく知りたい
私たちの医療保険で保護されている人を詳述する文書はありますか?
意図に関連付けられたすべての発話を取得し、それらの類似性を分析できるようにしたいと考えています。悪い発話のセットは類似度スコアが高く、まともな発話のセットは類似度スコアが低いと予想します。
いくつかの doc2vec チュートリアルをいじってみましたが、何か足りない気がします。私はこのようなものを見続けています:
- データセットをトレーニングしてから、新しい文とデータセットとの類似性を測定します
- 2 つの文の類似度を測定する
一連の文を用意し、それらが互いにどの程度類似しているかを理解する必要があります。
これを達成するためのアドバイスはありますか?
いくつかの質問に答える:
- 悪い発話の何が悪いのでしょうか?発話自体は悪くありません。トレーニングの大部分が「悪い」セットのようなものだった場合、より多様な実際のユーザーの発話は正しく認識されません。
- 新しい意図を発見しようとしていますか? いいえ、これはリリース前のトレーニングであり、その効果を高めようとしています。
- 悪い発話の類似度スコアが高く、まともな発話の類似度スコアが低いのはなぜですか? これは仮説です。私は、実際のユーザーの発話がいかに多様であるかを知っています。私のトレーナーは、トレーニング中に轍に陥り、同じように質問し、適切な精度の結果が得られないことに気付きました。発話の多様性を向上させると、精度が向上する傾向があります。
- この情報をどうするか? これを使用して、インテントのトレーニング品質を評価し、さらにトレーニングが必要かどうかを判断します。将来的には、繰り返しが多すぎるかどうかをトレーナーに知らせる発話が追加されているため、リアルタイム ツールを作成する可能性があります。