montilos-zhang / learningPrivate

1 stars 0 forks source link

从0开始体验做一款对话机器人 (Teams Bot) #6

Open montilos-zhang opened 4 years ago

montilos-zhang commented 4 years ago

研修内容

Microsoft社のAzureクラウドサービスを活用し、簡単な対話チャットbotを作り、体験する

チャットボットとは

人間の代わりにテキストまたは音声でコミュニケーションを自動で行うプログラムである。

image

チャートサービスのシェア

※statistaによる調査2017年

WhatsApp Facebook Messenger QQ Mobile Wechat Skype Snapchat Viber Line というような順番 Slackがランクインしていないのは不思議、SlackとTeamsの勢いも要注視

様々なチャットボットプラットフォーム

Why チャットボット

魅力:

テキスト・音声対話によりユーザの幅広さが前より大幅に増。家電・IoTなどの機器の使い勝手も高まる。ビジネスでも業務改善や効率アップが期待できる。

既存サービスとの違い

いつでもすぐに返事が来る。かつ普通の会話と一緒の感覚、ストレス感じず。ユーザインターフェースの進化で段々音声が普及になるだろう

Microsoftボットフレームワーク

image

Bot Connectorとは

各チャンネルの仕様に合わせて適切にデータを変換してくれる →ワンソースでマルチチャンネルに対応

Bot State Serviceとは

ユーザの状態を管理する

Bot Builder SDKとは

Bot ConnectorとBot State Serviceと接続するインターフェースを提供する Cognitive Serviceと連携するインターフェースを提供する

DAC用ボット「小Q」の紹介

業務Logic

image

0から新たなスキルを追加

開発環境を用意

(DACが準備)

(インターン生が研修で作業する)

研修要求

ソースコードを理解する

index.jsはアプリの入り口 bot/dacQbot.jsは各種スキルセットの集約地 bot/intentLogics/*は各種スキルのアウトプットを処理するLogic bot/bot-utils/*は各種スキルのUtils集約地 cards/*はAdaptiveCardsの定義

開発流れ

  1. LUIS上で新たなIntent/Entitiesを定義する(実現するアイデアの元で) LUISアプリ
  2. ソースコードのbot/dacQbot.jsにスキルセット追加
    
    async dispatchToTopIntentAsync
    switch (intent) {
            case 'None':
                await new processNormal().processNormal(context, qnaMaker);
                break;
            case 'recommendImages':
                if (score > 0.7) {
                    await new processImage().processRecommendImages(context, recognizerResult.luisResult, translator);
                } else {
                    await new processNormal().processNormal(context, qnaMaker);
                }
                break;
            case 'recommendVideos':
                if (score > 0.7) {
                    await new processImage().processRecommendVideos(context, recognizerResult.luisResult, translator);
                } else {
                    await new processNormal().processNormal(context, qnaMaker);
                }
                break;
    .......

1. bot/bot-utils/&bot/intentLogics/に本スキルを処理するLogicの追加

**※詳細はphoneDetailというintentのLogicを参照してくみてください**

### 研修内容を確認するには

- 研修発表会(1h)

- DACメンバーは自由参加(一部メンバーは指名参加)

- 発表内容は、アイデアの検討過程、アイデア実現による価値、それぞれ参加者の役割及び協働方式、デモ、感想など