DeepPavlovでの経験:20日で音声アシスタントとホットラインで5000件の電話を受ける

自己隔離体制が発表されたときタタルスタンのコロナウイルスホットラインは住民から多くの質問を受けました。コールセンターのオペレーターを救済するために、共和国のデジタルトランスフォーメーションセンターでは、タタルスタンのAIコミッショナーと協力して、簡単な質問に答える音声アシスタントを開発しました。







電話を受けるために、プラットフォームVoximplantを使用し、質問と回答を認識しました-DeepPavlov音声アシスタントは2週間半で起動し、5,000件の通話の処理に役立ちました。タタルスタンの住民が当局から信頼できる情報を受け取り、通りに出かけるのに役立つ製品を何とか展開することができました。以下に、それをどのように行ったかを説明します。



タスクは何でしたか



私たちは当初、人々が政府のサービスを受け、よくある質問に答えるのに役立つ音声アシスタントを作成することを考えました。しかし、コロナウイルスの仕掛け全体が始まったとき、リリアがコールセンターの荷降ろしに役立つことに気付きました。たとえば、ホットラインに関するアドバイス、デジタルパスの取得、失業のメリットなどです。州のサービスのウェブサイトで人が見つけることができるすべてはリリアから見つけることができます、そしてあなたは彼女とただチャットすることもできます。



. 1 -: , . : , , , . 12.



. , . , . , , , — « »
.




リリアはデジタルパスの発行に加えて、タタルスタンの住民からの質問に答えなければなりませんでした。「パスを取得するために何をする必要があるか」や「生姜はコロナウイルスであなたを助けますか?」などの一般的な質問に答える音声アシスタントを考案しました。



この問題を解決するために、通常のIVRを作成できます。しかし、IVRには長い時間がかかり、通常どおりに行う場合は、複雑なアーキテクチャを構築する必要があります。一般的に、これを行う時間はありませんでした。音声アシスタント(音声をテキストに変換し、処理し、インテントを分類し、音声応答を提供できる)を作成する方が簡単だと考えました。ふふ。



ユーザーの視点から見たときの外観



ここではすべてが簡単です。



  1. 男はホットラインに電話し、オペレーターとリリアとの会話のどちらかを選択するように提案されます。どの段階でも、ライブオペレーターに切り替えることができます。
  2. .
  3. , . , -.








呼び出しを受信して​​スクリプトを実装するために、Voximplantプラットフォームを使用しました。スクリプトを作成し、応答マシンの信号を接続しました。リリーはその男に挨拶し、彼が何を望んでいるのか尋ねました。



発信者は電話で質問します。それからリリアは聞き始めました。 VoxImplantでは、ASRモジュールを使用して音声をテキストに変換しました。これは内部でYandex.SpeechKitモデルを呼び出します。したがって、オーディオストリームはテキストに変換され、テキスト化とステミングが行われます。また、基本的なMLメソッドの機能(NER、POS、チャンク)を抽出しようとしましたが、これらすべてに非常に長い時間がかかりました。







たとえば、最初に「コロナウイルスから身を守る方法を教えてください」という質問から、「保護」と「コロナウイルス」を区別し、それらをベクトル表現に変換します。エンティティのベクトル表現は、コロナウイルスの分類子に含まれています(後で-パブリックサービスの場合)。現在、DeepPavlovはこれらすべてを行っています。



次に、信頼度(信頼度)に応じて、いくつかのオプションがあります。



  1. ネットワークが十分な自信を持って質問を分類した場合(調査に基づいて、しきい値はクラスごとに個別に選択されました)、リリアは質問に回答します。
  2. ネットワークの応答の信頼性が低い場合、これはデータセット内でカバーしなかった質問であると見なされます(ただし、質問はコロナウイルスドメインを参照しています)、またはその人が別のトピックについて話したいだけです。たとえば、彼は「エロンムスクとは誰か」と尋ねました。


このような質問には、WikipediaダンプでトレーニングされたBERTモデルを使用して、ナレッジベースの質問回答の問題を解決しました。



最後に、リリアは必然的に、「あなたの質問に答えましたか?」と尋ねることによって、意図の認識の正しさと答えの質を検証します。ユーザーが「はい」と答えた場合、リリアは次の質問を待ちます。そうでない場合は、質問を再定式化し、サイクル全体をもう一度実行するようにお願いします。たまたまこれが機能しないことがあります。次に、ライブオペレーターが戦闘に参加します。



リリアはYandexのスピーチシンセサイザーの心地よい声で話します。キーを少し変更して速度を上げました。リリーがアクセントを混同することがありますが、これはマークアップで修正できます。もちろん、タタールを追加したいのですが、今のところ難しいです。



データセットを考慮に入れて、プロジェクトは合計で2週間半かかりました。アイデアが浮かび上がったので、私たちは大臣と、そして私たちが言うように、藻類とプロジェクトについて話し合いました。見積もりと調査に1週間を費やし、開発にはさらに10日かかりました。その後、最終的な機能を追加しました。主な馬はNvidiaRTX2070でした。BERTには、約12〜16GBのビデオメモリが必要でした。



LSVMとcatboostからDeepPavlovまで



開発プロセスでは、さまざまな分類モデルを使用しました。まず、ランダムフォレスト、LSVM、catboost、logregなどの機械学習モデルを試しました。一般的に、機械学習モデルの精度はそれほど高くありませんでした。何故ですか?ユーザーの質問の多くは互いに非常に似ているため、「私の子供はコロナウイルスをどうするか」という質問は「コロナウイルス中に子供と一緒に歩くことは可能ですか」という質問と非常に似ていますが、これらは異なるカテゴリであり、異なる回答が必要です。



エンティティの抽出、サンプリング、調査を行うことができます。しかし、私たちは急いでいました。したがって、MIPTのDeepPavlovライブラリを使用することにしました。これにより、ロジスティック回帰で78%の精度が得られ、BERTは84%でした。







回答の正確さは、データセットのマークアップによって異なります。ホットラインで人々が尋ねる200の質問のリストがありましたが、それらは適切に分離されていませんでした。たとえば、親戚の一人が病気になった場合、人々はどうしたらよいかと尋ねました。その質問は、コロナウイルスの症状は何かということでした。MLモデルは混乱しました。



結果と将来の計画



リリアは2週間働き、5000件の通話を処理しました。この間、リリアはホットラインオペレーターの仕事を大いに促進しました-彼らは平凡で反復的な質問に答える必要はありませんでした。リリアのおかげで、ユーザーはパスを受け取り、質問への回答を受け取り、ただ話しました。もちろん、彼女に誓ってオペレーターに転送するように頼んだユーザーもいました。



自己隔離体制はキャンセルされ、デジタルパスは無効になりましたが、リリアはまだランクにあります。彼女はコロナウイルスに関する質問に答え続けていますが、現在、公共サービスに関連する質問に答える機能が彼女に追加されています。



私たちはミニストリーであり、実際には2つのタスクがあります。それは、他の部門が通常テクノロジーを使用することと、タタルスタンの住民が簡単かつ簡単に州とコミュニケーションできるようにすることです。 2番目のタスクは、連邦政府ではなく地方自治体の州サービスのポータルによって完全に処理されます。しかし、このポータルはサイトとアプリケーションであり、まだ到達するのが難しい人もいます。また、居住者がポータルにアクセスしない場合、ポータルは居住者に移動します。つまり、インターネットを特に使用しない人々のために、ポータルとの対話を簡素化する方向に進んでいます。



現在、タタルスタンのデジタル問題省は、人々が音声やチャットで政府のサービスを受けられるように取り組んでいます。私たちは、あなたが電話/書き込みをして、すべての重要な質問に対する答えを得ることができる普遍的なアシスタントを作りたいと思っています。



これまでのところ、リリアは登記所が開いている期間を知ることができ、将来的には彼女が検針を行えるようになる予定です(ただし、これは、このデータの転送のセキュリティに関する問題を決定した場合のみです)。一般的に、私たちはリリアを別の製品に変えています。



リリアを教えることに興味があるなら、私たちのチームへようこそ。




All Articles