1. Chatbot_RASA は、RASA に基づくマルチラウンド タスクベースの対話システムであり、さまざまなシナリオでのタスクベースの対話への高速アクセスをサポートし、優れた汎化能力と高品質のマルチラウンド ダイアログの特徴を備えています。 RASA のバージョンでは、ナレッジベースの Q&A と取得時の Q&A がサポートされています。 nlu段階でのbertの導入やポリシーでの強化学習の導入など、RASAをベースにした二次開発を行いました。
2. このプロジェクトでは、天気の確認、速達の確認、航空券の確認、チャットなどの対話を徐々に提供していきます。同時に、このプロジェクトを使用して、対話システムにおけるアルゴリズム モデルの適用を迅速に検証することもできます。
1. RASA 全体のアーキテクチャ:
2. 実行プロセス:
1. ユーザー情報を受信した後、rasa はそれをインタプリタに送信します。インタプリタに送信されるデータ形式は、元のテキスト、認識されたインテント、スロット、センチメントなどを含む辞書です。
2. インタプリタはデータをトラッカーに送信します。トラッカーの役割は、会話のステータスを記録し、会話の進行状況を追跡することです。
3. ポリシーはトラッカーから現在の会話ステータスを取得し、最適なアクションを決定します。
4. ロボットはアクションに基づいて応答を決定し、ユーザーに送信します。その後、現在のステータスをトラッカーにフィードバックし、会話ステータスを更新し、会話が終了するまでこのサイクルを繰り返します。
3. 意図
4.スロット
現在、スロットには 11 個のタグが提供されています。
1. 住所: No. **ストリート **、** 道路、** ストリート、 **村、 **地区、** 市、 **州など (単独で表示される場合はマークしてください)。住所は細部まで完全にマークする必要があります。 2. 本のタイトル: 小説、雑誌、問題集、教科書、教材、アトラス、料理本、書店で購入できる書籍の一種 (電子書籍を含む)。 3. 企業: **会社、 **グループ、 **銀行 (いずれも政府機関である中国中央銀行と人民銀行を除く)、例: New Oriental、新華網/中国軍事網など。 4. ゲーム: 一般的なゲーム。ただし、小説やテレビシリーズを原作としたゲームもあります。特定のシーンがゲームであるかどうかを分析する必要があります。 5. 政府:中央行政機関および地方行政機関を含みます。 中央行政機関には、国務院とその構成部門(省庁、委員会、中国人民銀行、会計検査院を含む)、国務院直属の機関(税関、税務、工商、国家環境局など)が含まれる。保護局など)、軍など6. 映画:劇場で上映される一部のドキュメンタリーを含む映画。本のタイトルに基づいて映画化される場合、文脈に基づいてそれが映画名であるか本のタイトルであるかを区別する必要があります。現場。 7. 名前:通常、小説の登場人物を含む人の名前を指します。小説の登場人物のニックネーム:タイムリーレイン、フラワーモンク、有名なキャラクターのニックネーム。特定の文字に対応させることができます。 8. 組織: バスケットボール チーム、サッカー チーム、オーケストラ、クラブなど。小説に登場するギャングを含む: 少林寺、乞食ギャング、アイアン パーム ギャング、武当、峨美など。 9. 役職: 古代における職業上の称号: 知事、治安判事、州部門など。現代のゼネラルマネージャー、ジャーナリスト、社長、アーティスト、コレクターなど。 10. シーン: 長沙公園、深セン動物園、海洋水族館、植物園、黄河、長江などの一般的な観光スポット。 11. 時間: 今日、明日、来週、明日の朝など、会話中に言及された時間関連の情報。
同時に、さまざまなシナリオに応じてスロットを追加または削除できます。
1. プロジェクトを正常に実行する前に、いくつかの外部 pip パッケージをインストールする必要があります。
pip インストール chatbot_nlu
pip インストール chatbot_dm
2. bert-as-service をインストールする
3. データ検証
rasa データ検証 --domain ドメイン/cuishou_domain.yml
4. NLU とコアのトレーニング
rasa train --domain ドメイン/ドメイン.yml --data データ --config config/config_with_components.yml --out モデル
5.モデルの評価
6. アクションの開始
python -m rasa_sdk.endpoint --actions アクション
7. 会話サービスを開始する
1. インタラクティブな学習: # --skip-visualization
rasa アクションを実行 --actions アクション&
rasa interactive -m models/20200107-105951.tar.gz --endpoints endpoints.yml
2. デバッグモード
rasa run --endpoints config/endpoints.yml --enable-api --m models/20200113-162316.tar.gz --log-file bot.out.log --debug3. シェルモード
ラサシェル --debug
具体的な手順については、RASA の公式ドキュメントを参照してください。
1. アクション モデルと対話モデルをアクティブ化した後、RASA は REST 形式でサービスを提供したり、プロジェクトに呼び出したり、WeChat 公開アカウントや DingTalk グループなどにアクセスしたりできます。ここで私の別のプロジェクトを紹介したいと思います。
チャットボット_ヘルプ
このプロジェクトでは、ロボットをサードパーティのプラットフォームに簡単に接続し、簡単かつ迅速にインタラクションを実現できます。
2. サービスが開始されたら、postman でサービスをテストできます。
インターフェースリスト:
/ conversations / < conversation_id > / messages POST add_message
/ conversations / < conversation_id > / tracker / events POST append_events
/ webhooks / rest GET custom_webhook_RestInput . health
/ webhooks / rest / webhook POST custom_webhook_RestInput . receive
/ model / test / intents POST evaluate_intents
/ model / test / stories POST evaluate_stories
/ conversations / < conversation_id > / execute POST execute_action
/ domain GET get_domain
/ socket . io GET handle_request
/ GET hello
/ model PUT load_model
/ model / parse POST parse
/ conversations / < conversation_id > / predict POST predict
/ conversations / < conversation_id > / tracker / events PUT replace_events
/ conversations / < conversation_id > / story GET retrieve_story
/ conversations / < conversation_id > / tracker GET retrieve_tracker
/ webhooks / socketio GET socketio_webhook . health
/ status GET status
/ model / predict POST tracker_predict
/ model / train POST train
/ model DELETE unload_model
/ version GET version
インターフェースの説明
a 、获取版本接口 GET方法
url : http : // 172.18 . 103.43 : 5005 / version
b 、获取服务的状态 GET方法
url : http : // 172.18 . 103.43 : 5005 / status
{
"model_file" : "models/20200109-103803.tar.gz" ,
"fingerprint" : {
"config" : "99914b932bd37a50b983c5e7c90ae93b" ,
"core-config" : "506804ad89d3db9175b94c8752ca7537" ,
"nlu-config" : "45f827a042c25a6605b8a868d95d2299" ,
"domain" : 2088252815302883506 ,
"messages" : 2270465547977701800 ,
"stories" : 1278721284179639569 ,
"trained_at" : 1578537378.2885341644 ,
"version" : "1.4.1"
},
"num_active_training_jobs" : 0
}
c 、会话接口 POST方法
url : http : // 172.18 . 103.43 : 5005 / webhooks / rest / webhook
参数:{
"sender" : "000001" ,
"message" : "你好"
}
返回参数:
[
{
"recipient_id" : "202005210002" ,
"text" : "您好,我是智能助手小笨,有什么可以帮您的?"
}
]
d 、 button接口
e 、检索story
f 、 story (话术)可视化
- 2020.1.7 DingTalk グループへのアクセス、アクティブなプッシュ メッセージと発信インタラクションのサポート
- 2020.1.9 WeChatにアクセス
- 2020.5.1 rasaのクロスドメインリクエスト問題を解決
- 2020.6 ボットフロントの導入