※de:code2018 「ノンコーディングでサーバーレス体験。Azure Logic Apps のすゝめ(AD18)」セッションのフォロー用記事です。
DEMOでご紹介した「Azure Logic Apps 活用例 お問い合わせフォーム(クレーム対応AI&多言語対応を簡単実装、「お問い合わせフォーム」を機能拡張)」について、フォロー内容をまとめました。
セッション時に説明した内容を含めた詳細内容は、資料が一般公開された後に加筆修正します。
事前準備
サードパーティー製のコネクタを使用します。事前に以下のサービスのアカウント取得が必要です。
- Googleスプレッドシート
- DropBox(OneDriveでも可)
- SendGrid
- Slack
Send Gridに関しては、こちらの記事を参考にされてください。
https://zuvuyalink.net/nrjlog/archives/2547
お問い合わせフォームの機能拡張について
一般的なお問い合わせフォームに Logic Apps を利用してノンコーディングで以下の機能追加をします。
- メール内容の感情分析
- 自動返信メール機能
- 顧客リスト等への自動登録
- 多言語対応
また日本語のメールか、日本語以外(多言語)のメールかで以下の処理をします。(図中のお問い合わせシステムはカスタムコネクタ部)
日本語のメールの場合、テキスト分析コネクタで感情分析を行い、クレームか否かで自動返信メール内容を変えて送信します。
感情分析で利用する「テキスト分析(Text Analytics API)」の設定方法に関しては、以下の記事を参考にされてください。
※リージョンは「米国西部」を必ず選んでください。
https://zuvuyalink.net/nrjlog/archives/3460
日本語以外(多言語)のメールの場合、テキスト分析コネクタで感情分析を行い、クレームか否かで自動返信メール内容を変えて送信。
それに加えて、自動返信メールはユーザーがお問い合わせ時に利用した言語に翻訳して送信します。
Azure Logic Apps 全体図
Logic Apps の全体図はこちら。
(1)~(3)のブロックに分けて解説します。
(1)HTTP要求の受信
トリガーには「HTTP要求の受信」を利用します。これは、お問い合わせフォームから内容が送信されたら動くコネクタです。
詳細な設定に関しては、以下の記事を参考にされてください。
https://zuvuyalink.net/nrjlog/archives/4182
(1)タイムゾーンの変換
デフォルトはタイムゾーンが日本になっていないため、受信日時が正常に取れません。
今回は「日付と時刻」コネクタの「タイムゾーンの変換」を利用し、日本の日時に合わせます。
(1)言語の検出
「メッセージが日本語か否か?」を判定します。
「True(はい)」は日本語の場合、「False(いいえ)」は日本語以外の処理になります。
(2)メールの英語への翻訳と感情分析
感情分析の精度を上げるため、メッセージを英語に翻訳します。(対象言語にEnglishを指定)
翻訳したテキストを感情分析します。
(2)メール内容の感情分析
テキスト分析コネクタのスコアが「0.3以下だったら」で判定します。
「True(はい)」はクレームの可能性が高い、「False(いいえ)」はクレームの可能性が低い処理になります。
※それぞれのコネクタの設定についてはセッション時に説明しています。
(3)日本語以外の場合の処理
この部分は「英語か否か?」で処理を分けます。
(true:[3-1]英語の場合、False:[3-2]英語以外の場合(多言語))
[3-1]英語の場合、[3-2]英語以外の場合(多言語)で処理します。
[3-1]英語の場合
メール内容が英語の場合は、感情分析がそのまま行えます。
赤枠部分の処理(DropBoxにある自動返信用メール)とTranslatorコネクタが追加になります。
自動返信メールを送るSendGridコネクタ、ユーザーからのメールを日本語に訳す部分はこのような設定になります。
※その他のコネクタの設定についてはセッション時に説明しています。
[3-2]英語以外の場合(多言語)
メール内容が多言語の場合、英語に翻訳し感情分析します。
自動返信メールは、ユーザーの送ってきた言語に翻訳して送ります。
赤枠内を「動的なコンテンツ」の「言語コード」を選択します。
最後に
Logic Appsはノンコーディングで機能を拡張することができます。ぜひ試してみてください!