メッセージ設定:簡単FAQボット

■簡単FAQボットとは?

質問と回答を表に記載するだけで、機械学習を利用した質問回答を行うことが出来るボットです。
シンプル返信ボットの返信メッセージで{faq}タグを利用することで発動します。


■簡単FAQボットの設定方法

・簡単FAQボット画面での設定
1)左側メニュー「メッセージ設定」をクリックし、「簡単FAQボット」を選択して下さい。

2)「新FAQの作成」となっている状態で、画面下側の表の「質問」「回答」を埋めていって下さい。

SS 2019-06-13 17.40.04.jpg

3)必要に応じて、画像添付が可能です。また、「追加学習文言(旧:タグ・キーワード)」欄はチャットボットの回答には表示されませんが、機械学習には影響しますので、特に反応させたい用語などが有れば記載しておいて下さい。「備考メモ」欄は学習には影響しません。

スクリーンショット 2020-10-01 19.44.18

4)以上の設定でご利用可能です。「シンプル返信ボット」ページを開き、検索ワードを「(.*)」、返信メッセージを「{faq:1424}」等のようにタグ指定すると、FAQボットが起動するようになります。faqタグ内の数値IDは、簡単FAQボット画面上部の選択肢「FAQ一覧」に記載されています。

SS 2019-06-13 17.53.33.jpg

5)細かい動作設定を行いたい場合は、簡単FAQボット画面の「FAQ詳細設定」欄を開いて頂けますと、下記の設定が可能です。

スクリーンショット 2019-06-20 11.34.23.png

<各項目の説明>

・FAQの名前
任意の名称を指定できます。(画面上部の選択肢に表示されます)

・外部JSONFAQのURL、または他FAQのID一覧({faq:カンマ区切り})
FAQ一覧として、画面下側の表でなく、
・外部サーバに保存されたJSONデータ内の配列(URLで指定:「GET」メソッドにて取得可能としてください)
・他のFAQ表(「{faq:1111,2222,3333}」のように複数のFAQIDを指定可能)
を利用可能です。

※外部URLのJSONは、この設定の保存時および数時間に1回取得され、学習処理が走ります。

・結果配列名(外部URLを利用する場合のみ)
配列が保存されているJSONパラメータ名を指定下さい。

・1回の返信件数
未入力の場合、デフォルト設定で反応します。
必要に応じて設定して下さい。

・フィードバック受付
「ON,OFF」のどちらかを入力して下さい。
ONにしておくと、外部検索を表示時に「この回答に満足か不満足か」を質問することが出来ます。

・タイトルFormat
外部検索の結果表示時(返信時)の選択肢の表示設定です。貼り付けWEBチャットでのみ表示されます。<%q%>がデフォルトです。外部URLのJSONを利用した場合はJSONのパラメータ名を<%%>で指定して下さい。

・結果表示Format
外部検索の結果表示時(返信時)の選択肢の表示内容です。<%q%><%a%>がデフォルトです。外部URLのJSONを利用した場合はJSONのパラメータ名を<%%>で指定して下さい。


参考画像:LINEボット上では上記のように表示されます。

・画像URLFormat
外部検索の結果表示時(返信時)の画像の表示設定です。<%img_url%>がデフォルトです。外部URLのJSONを利用した場合はJSONのパラメータ名を<%%>で指定して下さい。

・リンクURLFormat
外部検索の結果表示時(返信時)の選択肢の表示設定です。<%link%>がデフォルトです。外部URLのJSONを利用した場合はJSONのパラメータ名を<%%>で指定して下さい。

・次に進む選択文言
外部検索の結果表示時(返信時)の選択肢「次に進む」の文言設定になります。
未入力の場合は、デフォルト設定で表示されます。

・前に戻る選択文言
外部検索の結果表示時(返信時)の選択肢「前に戻る」の文言設定になります。
未入力の場合は、デフォルト設定(非表示)となりますので、必要に応じて入力して下さい。

・フィードバック受付文言
フィードバック受付を「ON」にしている場合にのみ、反映される設定です。
外部検索の結果表示時(返信時)の選択肢にフィードバックを受け付けるための文言設定になります。
未入力の場合は、デフォルト設定となりますので、必要に応じて入力して下さい。


参考画像:未入力のままの場合、LINEボット上では上記のように表示されます。

・終了する選択文言
外部検索の結果表示(返信)を終了させるための文言設定になります。
未入力の場合は、デフォルト設定(非表示)となりますので、必要に応じて入力して下さい。

・リンク選択文言
外部検索の結果表示時(返信時)の選択肢の表示設定になります。
未入力の場合は、デフォルト設定で表示されます。

・結果無し返信文言
外部検索の結果、指定の検索がヒットしなかった場合に表示される文言設定になります。
未入力の場合は、デフォルト設定となりますので、必要に応じて入力して下さい。
ここに「<%ignore%>」と入力しておくと、このFAQは返信を返さず、次の優先度のシンプル返信等に遷移します。

・フィードバックへの返信文言
フィードバック受付を「ON」にしている場合にのみ、反映される文言設定です。
未入力の場合は、デフォルト設定となりますので、必要に応じて入力して下さい。

・終了への返信文言
外部検索の結果表示(返信)を終了する時の文言設定になります。
未入力の場合は、デフォルト設定となりますので、必要に応じて入力して下さい。

・エラーの返信文言
エラーが発生した場合に表示する文言設定になります。
未入力の場合は、デフォルト設定となりますので、必要に応じて入力して下さい。

 


■シンプル返信ボットでの置き換え設定

{faq:xxx} : 簡単FAQボットを開始する
→xxxx部分は、FAQのIDを入力して下さい。FAQには質問文全文が送られます。

{faq:xxx:yyy} : 簡単FAQボットを開始する(FAQに送る文言を明示的に指定)
→yyyy部分は、FAQに送るワードを入力して下さい

{faq:0.○○:xxx} : 簡単FAQボットを開始する
→0.○○部分は、「0.55」などのように0~1の数値を指定して下さい。
数値を下げるとマッチ度合いが低くとも回答として表示されます。※デフォルトは約0.7
→xxxx部分は、FAQのIDを入力して下さい。FAQには質問文全文が送られます。

{faq:0.50:xxx:yyy} : 簡単FAQボットを開始する(FAQに送る文言を明示的に指定)
→0.○○部分は、「0.55」などのように0~1の数値を指定して下さい。
数値を下げるとマッチ度合いが低くとも回答として表示されます。※デフォルトは約0.7
→yyyy部分は、FAQに送るワードを入力して下さい

・設定例1
反応ワード:「(.*)」

→返信メッセージ :{faq:1234}

・設定例2
反応ワード:「質問:(.*)」

→返信メッセージ :{faq:1234:{match0-1}}

・設定例3
反応ワード:「(.*)」

→返信メッセージ :{faq:0.40:1234:{match0-1}}

・設定例4
反応ワード:「ABCの使い方」

→返信メッセージ :{faq:1234:ABCの利用方法}
※FAQにある「ABCの利用方法」という[質問]を表示させる意図

Amazon Alexaアプリ(スキル)の作り方(Botbird for Businessを利用)

■はじめに

Amazon Echo等で呼び出すことの出来るAlexaスキルは Alexa Skills Kit というプラットフォームを使うことで企業が独自にスキルを作成することが可能です。
この記事では、企業がBotbird for Businessを利用して、簡単に自社製のAmazon Echoアプリ(スキル)を作成する方法を説明します。

■必要なもの

Amazon.co.jp アカウント
Amazon Developer アカウント
Botbird for Business アカウント

【事前準備】
・Botbird for Businessにログインしてwebhook先のurlを取得

1.Botbird for Businessにログイン
2.全体設定 → ボット設定
3.「ALEXA接続設定」よりwebhookの箇所にあるurlをコピーします。

スクリーンショット 2018-06-01 12.18.20.png


■全体の流れ

1.Amazonアカウントを作成
2.Amazon Developerアカウントを作成
3.Alexaコンソールでの新規スキルの作成
4.作成したAlexaスキルを文字入力でテストする。
5.作成したAlexaスキルをAmazon Echoでテストする。
6.Alexaスキルの公開申請

1.Amazonアカウントを作成

amazon.co.jp のアカウントをお持ちでない場合ば、(https://www.amazon.co.jp/)ここにアクセスしてアカウントを作成して下さい。

2.Amazon Developerアカウントを作成

Amazon Developerアカウントをお持ちでない場合は、アカウントの作成が必要です。
(https://developer.amazon.com/ja/alexa-skills-kit)にアクセスしてアカウントを作成ください。
(ヒント:「amazon developer アカウント」で検索すると、わかりやすい説明をみつけることが出来ます。)

3.Alexaコンソールから新規スキルの作成

3−1. Alexaの開発者向けページ(https://developer.amazon.com/ja/alexa)にアクセス。
ページ右上の「あなたのalexaコンソール」をクリックしてログインします。

3−2. Alexa Skills Kit のページを開くと開発しているスキルの一覧が表示されるので、「スキルの作成」をクリックします
alexa_apps_list3−3.スキル名を入力(例:会話アプリ)。そして「スキル作成時のデフォルト」を「日本」に設定。
作成するスキルの種類は「カスタム」「ユーザー定義のプロビジョニング」を選択して「スキルの作成」をクリックして新規スキルを作ります。次のページでは「スクラッチで作成」を選びます。

3−4. 次のページでは「スクラッチで作成」を選びます。

3−5. スキルの編集画面が開くので左メニューの「対話モデル」ー「JSONエディター」をクリックすると、jsonの設定編集画面が開きます。(後ほどスキル一覧から先程作ったスキルの項目の「編集」をクリックしても、この画面が開きます)

alexa_json

3−6.JSONエディターに既に入力されている内容をすべて削除して、以下の内容をコピーアンドペーストします。

{
    "interactionModel": {
        "languageModel": {
            "invocationName": "アプリ名を決めて入力して下さい",
            "intents": [
                {
                    "name": "AMAZON.CancelIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.HelpIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.StopIntent",
                    "samples": []
                },
                {
                    "name": "SetAnything",
                    "slots": [
                        {
                            "name": "Anything",
                            "type": "ANYTHING"
                        }
                    ],
                    "samples": [
                        "{Anything}"
                    ]
                }
            ],
            "types": [
                {
                    "name": "ANYTHING",
                    "values": [
                        {
                            "name": {
                                "value": "ここは変更しないで下さい"
                            }
                        }
                    ]
                }
            ]
        }
    }
}

*ここで 「”invocationName”: “アプリ名を決めて入力して下さい” 」という箇所が実際にスキルを呼び出す際に使うスキルの名前になります。独自アプリの呼び出しに使いたいアプリ名をこの箇所に設定して下さい。例)「 ”invocationName”:”会話アプリ” 」

3−7.「モデルを保存」というところをクリック

3−8. 左メニューの「エンドポイント」というところをクリックし、「HTTPS」を選びます。

alexa_webhook.png

3−9.先程の事前準備(Botbird for Businessにログインしてwebhook先のurlを取得)の項目で取得したurlを「デフォルトの地域」というところに入力

3−9.url入力画面の下の選択肢で
「開発用のエンドポイントは、証明機関が発行したワイルドカード証明書をもつドメインのサブドメインです」 を選択します。

3−10.「エンドポイントを保存」クリックします。

3−11.左側のメニューの「呼び出し」ー「スキルの呼び出し名」を選択し、呼び出し名が先程のjsonエディターで入力した内容(”invocationName”:〜の箇所)と合致しているか確認して、「モデルをビルド」をクリックします。

4.作成したAlexaスキルを文字入力でテストする。

4−1.「テスト」というタブを開くいて、「スキルテストが有効になっているステージ」を「開発中」に変更します。
4−2.画面左上あたりに文字を入力する箇所があるので、そこに「”アプリ名”を開いて」と入力するとスキルの動作を文字入力ベースで試すことができます。(例「会話アプリを開いて」)

alexa_simulator

5.作成したAlexaスキルをAmazon Echoでテストする

上記でスキルを作成したAmazonアカウントと同じアカウントでセットアップされているAmazon Echo等でも、同様にして作成した独自アプリを呼び出すことが可能です。

以下の手順でスキルの有効化を行います。

5−1.Amazon Echoデバイスの設定に利用している、Alexaアプリを起動します。
5−2. 設定メニュー(左上にある三本線のアイコン等)から、「スキル」を選択します。
5−4. 「有効なスキル」から、「DEVスキル」を選択します。
5−5.先程、新規作成したアプリ名(例:会話アプリ)が現れるので、それを選択します。
5−6.「有効にする」を選択します。(もしすでに有効になっている場合は「スキルを無効にする」と表示されるので、この場合はタップする必要はありません)

これでAmazon Echo に「アレクサ、”アプリ名”を開いて」(例:アレクサ、会話アプリを開いて)と呼びかけると独自アプリが起動します。

6.Alexaスキルの公開申請

独自スキルを一般公開するには公開申請をする必要があります。
公開申請の大まかな流は以下のようなものです。

6−1.alexaコンソールの「公開」というタブをクリックして、スキルの公開用情報を入力します。alexa_submit
ここで、スキルの説明文やアイコン画像等を入力します。
6−2.次に「プライバシーとコンプライアンス」を選択し、必要項目の設定を行います。
6−3.必要な情報を入力し、申請の準備が整ったら「申請」を選択して公開申請を完了します。
公開申請について、詳しくは(https://developer.amazon.com/ja/docs/custom-skills/submit-an-alexa-skill-for-certification.html)を御覧下さい。

Google Home独自アプリ(アクション)の作り方(Botbird for Businessを利用)

はじめに

Google Home で呼び出すことのできるアプリは、Actions on Googleというプラットフォームを使うことで企業が独自に作成することができます。
この記事では、企業がBotbird for Businessを利用して、簡単に自社製のGoogle Homeアプリ(アクション)を作成する方法を説明します。

必要なもの

Googleアカウント
Botbird for Business アカウント

事前準備

1.Googleアカウントを作る(既にアカウントをお持ちの場合この作業は不要です)

Google アカウントをお持ちでない方は、アカウント作成ページ(https://accounts.google.com/signup)にアクセスしてGoogle アカウントを作成してください。
アカウント作成後はGoogleトップページ(https://www.google.co.jp)右上のログインボタンをクリックしてログインを行って下さい。
既にGoogle アカウントをお持ちでログイン済みの場合、この作業は不要です。

2.Botbird for Businessにログインしてwebhook先のurlを取得

4−1.Botbird for Businessにログイン
4−2.全体設定 → ボット設定
4−3.「GOOGLE HOME接続設定」よりwebhookの箇所にあるurlをコピーします。
スクリーンショット 2018-06-01 12.18.46.png

全体の流れ

1アクションコンソールでの作業
2コマンドラインでの設定と公開作業
3シミュレータでのテスト
4実機でのテスト
5承認申請と公開

1.アクションコンソールでの作業

アクションコンソールとは、Actions on Googleでアシスタント用アプリを作成する際の管理画面です。

・新規プロジェクトの作成

1−1.アクションコンソール(https://console.actions.google.com/)にアクセス
1−2.「Add/import project」 をクリック
1−3.「Project name」に任意のプロジェクト名を入力
ago_create_project
1−4.「Country/region」 を Japan に設定
1−5.「CREATE PROJECT」をクリックして新規プロジェクトを作成。

・プロジェクトIDのメモ

1−6.「プロジェクトID」の部分はアクションコンソールで新規に作成したアプリのプロジェクトページを開き、左上にある歯車マークから「Project Settings」をクリックすることで確認できます。

aog_project_id
以下でこのプロジェクトIDが必要になるのでメモします。

・アプリの呼び出し名を設定する

1−7.アクションコンソールのプロジェクトページを開き、左メニューかあら「Invocation」をクリック

1−8.「Invocation name」の欄に呼び出したいアプリ名を入力します。(例:会話アプリ)この設定により「Ok Google ”アプリ名” についないで」(例:「Ok Google 会話アプリにつないで」)とGoogle Homeに呼びかけることでアプリを起動することが可能となります。

2.コマンドラインでの設定と公開作業

・gactions CLI をダウンロードして初期化する

gactions CLI とはアプリの設定ファイルの更新を行うコマンドラインインターフェースツールです。
2−1.(https://developers.google.com/actions/tools/gactions-cli)ここからお使いの環境に合った gactions をダウンロードします。

2−2.任意の作業用フォルダーを用意して、そこに ダウンロードしたgationsファイルを移動
2−3(a) Macをお使いの場合、ターミナルを起動して
以下のコマンド3つを順番に打ち込みます。

$ cd "作業フォルダー名"
 $ chmod +x gactions
 $ ./gactions init 

を実行すると action.json というファイルが生成されます。
2−3(b) Windowsをお使いの場合、パワーシェルを起動して
以下のコマンド2つを順番に打ち込みます。

 $ cd "作業フォルダー名"
 $ ./gactions init 

を実行すると action.json というファイルが生成されます。
*”作業フォルダー名”の部分にはそのフォルダへのパスが入ります。

・gactions CLI でアプリ設定用のjsonファイルをアップロード

2−4.先程生成された action.json ファイルをエディタ等で開き、その中身を削除して、以下の内容をコピー・アンド・ペーストして下さい。

{
  "locale": "ja",
  "actions": [
    {
      "description": "Default Welcome Intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "botbird-conversation"
      },
      "intent": {
        "name": "actions.intent.MAIN"
      }
    }
  ],
  "conversations": {
    "botbird-conversation": {
      "name": "botbird-conversation",
      "url":  ここにwebhookurlを記述,
      "inDialogIntents": [
        {
          "name": "actions.intent.CANCEL"
        }
      ],
      "fulfillmentApiVersion": 2
    }
  }
}

上記の「ここにwebhookのurlを記述」の部分に
先程の事前準備2(Botbird for Businessにログインしてwebhook先のurlを取得)で取得したurlを当てはめて下さい。

2−5.以下のコマンドを実行してjsonをアップロードしてください。

$ ./gactions update --action_package action.json --project プロジェクトID

*プロジェクトIDの部分に先程メモしたプロジェクトIDを当てはめて下さい

2−6.次に以下のコマンドを実行してアプリをテスト可能な状態にします。

$ ./gactions test --action_package action.json --project プロジェクトID

3.シミュレータでのテスト

アクションコンソールのプロジェクトページの左にある「Simulator」をクリックしてシミュレーション環境を開きます。
aog_simulator.png
画面中央の下部あたりに文字を入力する領域があるので、そこに文字を入力することでアプリの動作を文字入力を通してテストすることが可能です。
(もしシミュレーターが動作しない場合は
「CHANGE VERSION」をクリック
「test draft」を選択
「DONE」をクリック
するとシミュレーターが使えるようになります。また、こちらのページでアクティビティを有効にする必要があります。)

4.実機でのテスト

・Google Homeから独自のアプリを呼び出してみる

上記でアプリを作成したGoogleアカウントと同じアカウントでリンクしているGoogle Homeでも同様にしてアプリを起動することが可能です。
Google Homeに向かって「Ok Google “アプリ名” につないで」(例:Ok Google 会話アプリにつないで)と呼びかければBotbird for Businessで作成したボットと会話可能な独自のアプリが起動します。

5.公開申請と公開

独自アプリを一般公開アプリにするには、公開申請が必要です。
公開申請の大まかな流れは以下のようになります。
5−1.アクションコンソールの左メニューの「Directory information」を選択し、アプリの説明文やアイコン画像等を項目を入力する必要があります。
aog_information
5−2.左メニューの「Location targeting」を選択し、アプリが利用可能な地域を選択します。
5−3.必要項目の入力が完了したら、「Release」からアプリの申請を実行します。
公開申請についての詳細は(https://developers.google.com/actions/console/publishing)こちらを御覧ください。

 

 

メッセージ設定:外部検索ボット

■外部検索ボットとは?

JSONやRSSを返す外部検索・DB連動APIを呼び出しながら会話を行うことが出来るボットです。
シンプル返信ボットの返信メッセージで{search_api}タグを利用することで発動します。


■外部検索ボットの設定方法

・外部検索ボット画面での設定
左側メニュー「メッセージ設定」をクリックし、「外部検索ボット」を選択して下さい。

<各項目の説明>

・ID
各項目に入力して[サーバーに保存]を押した後、自動的にIDが表示されます。
(特定の数字を入力することが出来ません。)

・APIのURL
外部検索に利用するURLを入力して下さい。

・HTTPメソッド
▼を押して「GET,POST,HEAD,OPTIONS,PATCH,PUT,SEARCH」から選択して下さい。

・HTTPコンテントタイプ
必要に応じて設定して下さい。

・送信パラメータ
JSON形式で記載するパラメータ内でのみ、下記のタグを利用することが出来ます。

{%q%}:外部検索起動時に受け取ったメッセージ全体
{%u%}:会話相手のユーザーID
{%w%}:外部検索起動時に受け取ったワード ※{search_api:xxx:yyy}のyyy部分
{%w0%}:yyy部分がカンマ区切りだった場合、最初(インデックス0)のワード
{%w1%}:yyy部分がカンマ区切りだった場合、次(インデックス1)のワード
{%w2%}:yyy部分がカンマ区切りだった場合、次(インデックス2)のワード、以下同様

・戻り値タイプ
▼を押して「JSON,RSS」のどちらかを選択して下さい。

・結果配列名
RSS形式の場合は、入力不要です。
JSON形式の場合は、必要に応じて入力して下さい。

・1回の返信件数
未入力の場合、デフォルト設定で反応します。
必要に応じて設定して下さい。

・フィードバック受付
「ON,OFF」のどちらかを入力して下さい。
ONにしておくと、外部検索を表示時に「この回答に満足か不満足か」を質問することが出来ます。

・機械学習利用
「ON,OFF」のどちらかを入力して下さい。
ONにしておくと、複数結果の表示順序が変わります。

・タイトルFormat
外部検索の結果表示時(返信時)の選択肢の表示設定になります。
未入力の場合は、デフォルト設定で表示されます。

・結果表示Format
外部検索の結果表示時(返信時)の選択肢の表示設定になります。
未入力の場合は、デフォルト設定で表示されます。


参考画像:「:」と設定している場合、LINEボット上では上記のように表示されます。

・画像URLFormat
外部検索の結果表示時(返信時)の選択肢の表示設定になります。
未入力の場合は、デフォルト設定で表示されます。

・リンクURLFormat
外部検索の結果表示時(返信時)の選択肢の表示設定になります。
未入力の場合は、デフォルト設定で表示されます。

・次に進む選択文言
外部検索の結果表示時(返信時)の選択肢「次に進む」の文言設定になります。
未入力の場合は、デフォルト設定で表示されます。

・前に戻る選択文言
外部検索の結果表示時(返信時)の選択肢「前に戻る」の文言設定になります。
未入力の場合は、デフォルト設定となりますので、必要に応じて入力して下さい。

・フィードバック受付文言
フィードバック受付を「ON」にしている場合にのみ、反映される設定です。
外部検索の結果表示時(返信時)の選択肢にフィードバックを受け付けるための文言設定になります。
未入力の場合は、デフォルト設定となりますので、必要に応じて入力して下さい。


参考画像:未入力のままの場合、LINEボット上では上記のように表示されます。

・終了する選択文言
外部検索の結果表示(返信)を終了させるための文言設定になります。
未入力の場合は、デフォルト設定となりますので、必要に応じて入力して下さい。

・リンク選択文言
外部検索の結果表示時(返信時)の選択肢の表示設定になります。
未入力の場合は、デフォルト設定で表示されます。

・結果無し返信文言
外部検索の結果、指定の検索がヒットしなかった場合に表示される文言設定になります。
未入力の場合は、デフォルト設定となりますので、必要に応じて入力して下さい。

・フィードバックへの返信文言
フィードバック受付を「ON」にしている場合にのみ、反映される文言設定です。
未入力の場合は、デフォルト設定となりますので、必要に応じて入力して下さい。

・終了への返信文言
外部検索の結果表示(返信)を終了する時の文言設定になります。
未入力の場合は、デフォルト設定となりますので、必要に応じて入力して下さい。

・エラーの返信文言
エラーが発生した場合に表示する文言設定になります。
未入力の場合は、デフォルト設定となりますので、必要に応じて入力して下さい。

 


■シンプル返信ボットでの置き換え設定

{search_api:xxx} : 外部検索ボットを開始する
→xxxx部分は、外部検索APIのIDを入力して下さい。
{search_api:xxx:yyy} : 外部検索ボットを開始する
→yyyy部分は、外部検索APIに送るワードを入力して下さい

・設定例1
反応ワード:「新着ニュース」

→返信メッセージ :{search_api:xxxx}
→外部検索ボットのURLに「https://news.yahoo.co.jp/pickup/rss.xml」をRSSで登録しておく。※詳細設定方法は下記参照
・設定例2
反応ワード:「(.*)のニュース」

→返信メッセージ :{search_api:xxxx:{match0-1}}
→外部検索ボットのURLに「https://news.google.com/news」、送信パラメータに「{“output”:”rss”,”q”:”{%w%}”}」をRSSで登録しておく。※詳細設定方法は下記参照

■外部検索ボットでの置き換え設定


[URL]
 : 時刻の置き換え文字が利用可能です。

[送信パラメータ] :JSON形式で記載するパラメータ内で下記を利用可能

{%q%}:外部検索起動時に受け取ったメッセージ全体
{%u%}:会話相手のユーザーID
{%w%}:外部検索起動時に受け取ったワード ※{search_api:xxx:yyy}のyyy部分

{%w0%}:yyy部分がカンマ区切りだった場合、最初(インデックス0)のワード
{%w1%}:yyy部分がカンマ区切りだった場合、次(インデックス1)のワード
{%w2%}:yyy部分がカンマ区切りだった場合、次(インデックス2)のワード

[結果配列名] : 外部検索結果のパラメータ名を(カンマ区切りで複数階層指定可能)

[タイトルFormat] :タイトル名として表示する文字列を<%〜%>の形式で指定します(カンマ区切りで複数階層指定可能)。RSSの場合は空欄であっても、可能な場合は取得します。

[結果表示Format] :説明文として表示する文字列を<%〜%>の形式で指定します(カンマ区切りで複数階層指定可能)。

[画像URLFormat] :表示する画像のURLを<%〜%>の形式で指定します(カンマ区切りで複数階層指定可能)。RSSの場合は空欄であっても、可能な場合は取得します。

[リンクURLFormat] :表示するリンク先を<%〜%>の形式で指定します(カンマ区切りで複数階層指定可能)。RSSの場合は空欄であっても、可能な場合は取得します。

・設定例1
[URL] : http://feedblog.ameba.jp/rss/ameblo/xxxxxxxxx/rss20.xml
[HTTPメソッド] : GET
[戻り値タイプ] : RSS

・設定例2
[URL] : https://news.google.com/news
[HTTPメソッド] : GET
[送信パラメータ] : {"output":"rss","q":"{%w%}"}
[戻り値タイプ] : RSS
[結果表示Format] : <%contents%>:<%link%>

・設定例3
[URL] : https://ci.nii.ac.jp/books/opensearch/search
[HTTPメソッド] : GET
[送信パラメータ] : {"format":"json","q":"{%w%}"}
[戻り値タイプ] : JSON
[結果配列名] : @graph,0,items
[タイトルFormat] : <%title%>
[結果表示Format] : <%dc:creator%>/<%dc:publisher,0%>
[リンクURLFormat] : <%link,@id%>

https://ci.nii.ac.jp/books/opensearch/search?format=json&q=【検索したい文字列】にアクセスすると実際に取得できる値(JSON形式)が確認できます。

取得できたJSONの例:
スクリーンショット 2020-10-05 10.32.01

子ボット機能について

 

 

■子ボット機能とは?

子ボット機能とは、話し掛けてきた相手(以下相手)に、複数のボットを混ぜて返信させることが出来る機能です。
基本は「親ボット」が相手と会話し、一部分・特定の箇所のみ「子ボット」が返信出来ます。

 


 

■シンプル返信ボット設定方法

①呼び出し許可設定を行います
親ボット(呼び出し元)のアカウントにログインし、左側メニュー「全体設定」をクリックし、「ボット設定」を選択して下さい。

ボット設定メニュー内「GOOGLE HOME接続設定」を表示し、「ボットID」をコピーして下さい。
※IDのコピーは必ず親ボット側で行って下さい。
これで親ボット側の呼び出し許可設定は終了です。

子ボット(呼び出し先)のアカウントにログインし、左側メニュー「全体設定」をクリックし、「ボット設定」を選択して下さい。
ボット設定メニュー内「他ボットからの呼び出し設定(Βテスト中)」を表示し、コピーしておいた親ボット(呼び出し元)側ボットIDを貼り付け、[アップデート]ボタンを押して下さい。
特定のIDを入力せずにID「*」と入力しておいた場合、全てのボットを親ボット(呼び出し元)として呼び出し許可します。

 


 

②各メッセージ設定を行います
親ボット(呼び出し元)
側、子ボット(呼び出し先)側で返信したいメッセージを入力します。
基本の会話は親ボット(呼び出し元)側、一部分・特定の箇所のみ子ボット(呼び出し先)側で設定して下さい。
※各設定中、優先度の設定を充分にご注意下さい。
※優先度を正しく設定出来ていない場合、ボットが動作しなくなってしまいます。

 


 

③呼び出し用置き換えタグを入力します
親ボット(呼び出し元
側のメッセージ設定で、子ボット(呼び出し先)側と切り替えるワードをを入力する際に、返信メッセージに置き換えタグ「{child_bot:子ボットのID:最低優先度}」を入力します。
最低優先度を入力することで、子ボット(呼び出し先)側の返信メッセージを全て確認させるのではなく、優先度で範囲指定して返信メッセージを確認させることが出来ます。


【設定例】

・親ボット(呼び出し元)のボットID:100
・子ボット(呼び出し先)のボットID :200
のとき、子ボット(呼び出し先)側「他ボットからの呼び出し設定(Βテスト中)」設定欄に「100」と入力します。

そのうえで、親ボット(呼び出し元)側管理画面のシンプル返信ボットで

・検索ワード:.*
・返信メッセージ:{child_bot:200:30}

と入力しておくと、子ボットの優先度30以上までチェックを行って、返信します。

 

 


 

④動作確認を行います
親ボット(呼び出し元)
に話しかけ、子ボット(呼び出し先)が正しく動作するか確認して下さい。
動作がおかしい時は、子ボット(呼び出し先)側のボット設定(特に優先度)の確認を行って下さい。
子ボット(呼び出し先)側のシナリオボットを呼び出した場合、シナリオボットは優先度を設定せずにデフォルト状態のままだと0になっていますので、必ず優先度を設定して動作を確認して下さい。

 

 

【参考情報】
各優先度を活用すると、最低優先度のみの指定ではなく「最高優先度と最低優先度」両方を指定した範囲のメッセージを返信させることが出来ます。

・親ボット(呼び出し元)としての優先度80:タグの中60
呼び出し用置き換えタグ「{child_bot:子ボットのID:60}」

親ボット(呼び出し元)の動作
→親ボット(呼び出し元)の優先度100~80を確認して、返信します
→優先度80までに返信出来るメッセージがない(マッチしない)場合は、子ボット(呼び出し先)側のメッセージを確認しに行きます

子ボット(呼び出し先)の動作
→子ボット(呼び出し先)側の優先度100~60を確認して返信します
※{child_bot:子ボットのID:60}で確認する範囲を60で設定しているため、59以下の優先度を設定しているメッセージには反応しなくなります。(最低優先度が60となります)
→返信出来るメッセージがない(返信がマッチしない)場合は、親ボットに戻ります


・親ボットとしての優先度50:タグの中の子ボット30

呼び出し用置き換えタグ「{child_bot:子ボットのID:30}」

親ボット(呼び出し元)の動作
→親ボット(呼び出し元)の優先度100~50を確認して、返信します
→優先度80までに返信出来るメッセージがない(マッチしない)場合は、子ボット(呼び出し先)側のメッセージを確認しに行きます

子ボット(呼び出し先)の動作
→子ボット(呼び出し先)側の優先度80~50を確認して返信します
※{child_bot:子ボットのID:60}で確認する範囲を30で設定しているため、29以下の優先度を設定しているメッセージには反応しなくなります。
※子ボット(呼び出し先)側の最高優先度が100、最低優先度30までのメッセージが、確認出来る範囲となります。
→返信出来るメッセージがない(返信がマッチしない)場合は、親ボットに戻ります

上記を同時に設定してある場合は、実質

・親ボット(呼び出し元)側の優先度:80~50
・子ボット(呼び出し先)側の優先度:60~30

までの「最高優先度と最低優先度」両方を指定した範囲メッセージに反応することになります。

 

 

LINE WORKS 連携設定方法

LINE WORKS 連携設定方法です。

1)LINE WORKS Developerページにログインし、「API ID」を取得して下さい。

(Developerページ)
https://developers.worksmobile.com/jp/?lang=ja

(APIページ)
https://developers.worksmobile.com/jp/console/openapi/main

2)「Server API Consumer Key」を発行して取得して下さい。(Service APIでなく、Server APIですので注意して下さい)
SS 2018-09-23 17.01.56.jpg

Server API Consumer Key発行画面では「トークBotすべて」「365日」「有効期限の自動延長」をお選び下さい。
スクリーンショット 2019-11-25 20.26.26.png
スクリーンショット 2019-11-25 20.26.40.png
3)Server List(ID登録タイプ)を追加して、「ID (Server List ID)」と「認証キー」を取得して下さい。SS 2018-09-23 17.02.01.jpg
(上記では「認証キー再発行」となっていますが、新規作成の場合は別の文言が表示されますのでご注意下さい。)

4)Botbird for Businessの「ボット設定」画面から、「LINE WORKS 接続設定」を行って下さい。
https://botbird.biz/member/bot_setting

上で取得した「API ID」「Server API Consumer Key」「ID (Server List ID)」「認証キー」をコピー&ペーストして[アップデート]を押します。

※「認証キー」は、冒頭の-----BEGIN PRIVATE KEY-----と最後の-----END PRIVATE KEY----- も含めて下さい

また、ここに表示されている「Callback URL」をコピーして下さい。

スクリーンショット 2019-06-20 15.32.06.png

5)再度LINE WORKS Developerページ上で、Botの作成登録を行ってください。https://developers.worksmobile.com/jp/console/bot/form
ここで「Callback URL」は、上で取得したものを貼り付けて下さい。

SS 2018-09-23 18.14.50.jpg
Bot名の例:「チャットボット」
「説明」の例:「社内の疑問、何でも回答チャットボットです」

6)LINE WORKS Developerページ上でBotの作成登録を完了した後、再度Botの登録内容を開き、発行されたBot Noを確認して下さい。

スクリーンショット 2019-06-20 15.40.55.png

7)Botbird for Businessの「ボット設定」画面から、「LINE WORKS 接続設定」を再度開き 6) で確認した「Bot No」を 「Bot設定:Bot No」 に入力して「アップデート」をクリックして下さい。

スクリーンショット 2019-06-20 15.32.06.png

8)LINE WORKS Admin画面から、上で作成したBotの利用設定を行います。

https://admin.worksmobile.com/service/bot

SS 2018-09-23 18.21.35.jpg

9)以上で、LINE WORKSでボットが利用できるようになります。

(LINE WORKSでのボット利用上の注意事項)

・画像はhttps接続で取得可能なpngファイルのみ有効です。

Skype for Business でのチャンネル設定(Microsoft Bot Framework / Azure Bot Service)

Microsoft Bot Framework にてSkype for Businessをチャンネル追加した場合の設定方法です。

※Skype for Business 管理者アカウントにて設定を行って下さい。

 

【事前準備】
■Microsoft Bot Framework / Azure Bot Service への登録

下記URLに従い、「3)チャットボットの管理を行います」の最後まですすめ、Skype for Businessのチャンネル登録設定を行って下さい。
https://help.botbird.biz/2017/10/31/msbotframework/

 


 

1)Skype for Business Admin PowerShell コマンドレットのインストール
下記URLを開き、指定のモジュールをインストールして下さい(未インストールの場合)
https://technet.microsoft.com/en-us/library/dn362831.aspx

 


 

2)Windows PowerShellでの作業
Windows PowerShellをPC管理者として開いて下さい(コマンドキーを押しながら起動)

2−1)下記のコマンドを入力して下さい

Import-PSSession (New-CsOnlineSession -Credential (Get-Credential))

・もし「WinRM サービスの起動」というメッセージが出てきたら、「Y」を押して起動して下さい。
・途中で認証画面が出ますので、Skype for Businessで利用している「管理者用アカウント@ご利用のドメイン名」と「パスワード」を入力して認証してください。(例:admin@yourcompany.onmicrosoft.com )
・「ModuleType Version    Name                                ExportedCommands」「Script     1.0        tmp_xxxxxx.jvl                    {Clear-CsOnlineTelephoneNumberReservation, Complete-CsCceA…」などのメッセージが出力されたら次に進んで下さい。

2−2)下記のコマンドを入力して下さい。

New-CsOnlineApplicationEndpoint -ApplicationId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -Name NameOfTheBot -Uri sip:botname@yourcompany.onmicrosoft.com

・「xxxxx」部分には、事前準備のSkype for Businessチャンネル設定画面に表示されたアプリケーションIdを利用します。
・「NameOfTheBot」部分には、任意のボット名を入力して下さい。
・「botname@yourcompany.onmicrosoft.com」部分には、「任意のボット名@ご利用のドメイン名」を入力して下さい。
・「RunspaceId」「FriendlyName」「Id」等のメッセージが崇敬に渡って出力されたら次に進んで下さい。

 


 

 

3)Skype for Businessでの呼び出し
Skype for Businessを開き、上記の「botname@yourcompany.onmicrosoft.com」部分で指定した名前を検索すると、該当のチャットボットが開きます。こちらとボット会話を行うことが可能です。
※上記登録後、実際にご利用できるまでに数分〜数時間要する場合がございます。

 

 

 

 

自動翻訳による返信機能

■自動翻訳による返信機能とは

Botbird for Business の自動翻訳機能を使うことで、AIスマートスピーカーやチャットボットと自動翻訳により会話をすることが出来るようになります。
例えば日本語で会話の設定をしたチャットボットに対して英語で会話(翻訳機能を通して)する、といったことが可能となります。

■利用の御準備

Botbird for BusinessのGoogle翻訳機能をご利用になるには、別途お客様による 「Google Translate API」 サービス(有料)の登録が必要となります。
詳しくは (https://cloud.google.com/translate/?hl=ja) こちらを御覧ください。
以下で必要になるGoogle Translate API Keyも上記サービスへの登録をすることで取得できます。

■自動翻訳による返信機能の設定方法

左側メニュー「全体設定」→「ボット設定」の「GOOGLE翻訳設定」という欄で設定します。

スクリーンショット 2018-04-13 16.18.53.png

1)「Botbird上でシナリオ作成する言語のコード」に、Botbird for Businessで会話コンテンツを作成している言語コードを入力します。
(例:日本語で作成しているなら ja、英語で作成しているなら en。空白にすると利用OFFとなります。)

2) 「実際の会話の言語のコード」というところに、実際に会話をしたい言語コードを入力してください。ここを空白のままにしておくとチャットボットに対して送られたメッセージの言語を自動判定します。
(例:英語でボットと会話したい場合は en 、フランス語でボットと会話したい場合は fr 。言語の自動判定をする場合は空白)
(Google HomeやAmazon Echoなどのスマートスピーカーでは、機器によって言語設定が決まっています。その場合は、自動判定ではなく、その機器で利用されている言語を指定する必要が有ります。)

3) 「Google Translation API Key」にお客様のGoogle Translation API Keyを入力してください。

4) 「アップデート」をクリックしてください。

■実際に使ってみる

例として以下のようにシンプル返信を日本語で設定します。

スクリーンショット 2018-04-13 16.43.47.png

自動翻訳設定を以下のように設定します。
(Botbird上でシナリオ作成する言語のコード):ja
(実際の会話の言語のコード):en

すると、チャットプレビュー画面で以下のように英語でボットに話しかけると、日本語で設定したシンプル返信の内容を英語に自動翻訳して返答するようになります。

スクリーンショット 2018-04-13 16.44.05.png

■置き換えタグを使ってユーザー毎の言語設定を行う

置き換えタグを使うことで、ボットとの会話を通してユーザー毎に異なる言語設定を利用するという使い方も可能です。

{set_user_lang:言語コード} という置き換えタグを使って言語設定を変更します。

(例:{set_user_lang:ja} は日本語での会話を行う設定になります。)
(例:{set_user_lang:} このように言語コードを書かないと言語の自動検出の設定になります。)

・使用例

以下のようにシンプル返信を設定します。

スクリーンショット 2018-04-13 16.54.13.png

ボットとの会話を通して言語の設定が行えるようになります。この設定は、現在会話したユーザーにのみ有効です。

スクリーンショット 2018-04-13 17.01.00.png

■スマートスピーカーで使用する場合

スマートスピーカーからボットと会話をする場合、一つのデバイスにつき一つの言語しか同時に設定できません。(2018/04/18現在)
例えば日本語設定をしたスマートスピーカーでは英語を認識することが出来ません。

従って、下記の制限にて自動翻訳をご利用下さい。
・言語の自動検出は出来ません。全てデバイスで設定されている言語として認識されます。
・デバイスの言語設定と、Botbirdで有効な言語(「実際の会話の言語のコード」または「{set_user_lang:言語コード} で設定された言語コード」)を合わせて利用頂く必要が有ります。

Google Homeでの言語設定:
https://support.google.com/googlehome/answer/7550584?hl=ja

Amazon Alexaでの言語設定:
amazon alexaアプリを開く → ホーム画面の左上にあるメニューボタンをタップ → 設定→ デバイス一覧から目的のデバイスを選択 → 言語 → 言語を選択して「設定を保存」)

・複数台のスマートスピーカーを用いた使用例
日本語と英語にそれぞれ設定したスマートスピーカーを用意し、以下のようにシンプル返信を設定します。

スクリーンショット 2018-04-18 14.48.55.png

2つのスマートスピーカーに対して

日本語設定のスマートスピーカー → 「日本語に設定する」
英語設定のスマートスピーカー → 「Set to English」

言語設定の文言を事前に話しかけておくことで、スマートスピーカー毎にBotbird for Businessの言語設定を行うことができます。

ユーザー変数機能

■ユーザー変数とは

会話相手ごとに任意の値を覚えることの出来る機能です。
例えば、会話のなかで会話相手の趣味や好きな食べ物、年齢などを聞いて保存しておくことが可能です。

■ユーザー変数で利用する置き換えタグ

・変数に会話中ユーザーに関する値をセットする時:{set_var:変数名:値}
・会話中ユーザーの変数の値を利用する時:{get_var:変数名:デフォルト値}
・会話中ユーザーの変数の値を全て利用する時:{get_var_all}
この3種類の変数をシンプル返信機能やシナリオ機能に書くことでユーザー変数を使うことができます。

■使い方の例

・ユーザー変数の例1

以下は、変数を利用することで同じユーザーからの2回目以降の会話においてボットの返信のパターンを変えることができるようになるという例です。

変数に値をセットするとき(「シンプル返信(簡易 or 詳細)」)

① 検索ワードの項目に「はじめまして」、返信メッセージの項目に「はじめまして。{set_var:hello:また会いましたね。}」と書き込みます。

スクリーンショット 2018-03-19 11.46.36.png

変数の値を利用するとき

① 検索ワードの項目に「こんにちわ」、返信メッセージの項目に「こんにちわ。{get_var:hello:はじめまして}」と書き込みます。

スクリーンショット 2018-03-19 11.47.03.png

②プレビューで確認します。

スクリーンショット 2018-03-19 11.49.01.png

①「はじめまして」と話しかけると、返信時にユーザー変数 hello に “また会いましたね。” という値が格納されます。
②「こんにちわ」と入力すると、ユーザー変数 helloに保存された”また会いましたね。” をつかってボットが返答をします。


・ユーザー変数の例2

変数に値をセットするとき(「シンプル返信(簡易 or 詳細)」)

① 検索ワードの項目に「趣味は(.*)です」、返信メッセージの項目に「趣味は{match0-1}ですね。{set_var:hobby:{match0-1}}」と書き込みます。

スクリーンショット 2018-03-16 15.03.34.png

② プレビュー機能(ヘルプ記事)を利用して確認

スクリーンショット 2018-03-16 15.55.29.png

これで「音楽」という趣味が変数として格納されます。

③ 格納された変数の確認
左側メニュー「統計・ログ」をクリックし、「ユーザー変数」を選択して下さい。
すると以下の様に 「音楽」 という変数が格納されているのがわかります。

スクリーンショット 2018-03-16 15.06.49.png

変数の値を利用するとき

① 検索ワードの項目に「ひまだなー」、返信メッセージの項目に「趣味の{get_var:hobby:何か}をしてみたらどうでしょう?」と書き込みます。

スクリーンショット 2018-03-16 15.14.44.png

② プレビュー機能で

スクリーンショット 2018-03-19 12.30.01.png
「ひまだなー」→「趣味の音楽をしてみたらどうでしょう?」 と返してきます。


・ユーザー変数の例3

他の置き換えタグとの組み合わせも可能です。

① シンプル返信(簡易 or 詳細)の検索ワードの項目に「数えて」、返信メッセージの項目に「数を数えます。{set_var:mycount:{math::{get_var:mycount:0}+1}}{get_var:mycount:0}」と書き込みます。

スクリーンショット 2018-03-16 15.47.20.png

② プレビューで確認します

スクリーンショット 2018-03-19 11.57.44.png

プレビュー機能で 「数えて」 と入力するたびに変数に数を加算してゆきます。

この例では、{get_var} → 他の置き換えタグ → {set_var} という順番で処理しています。


・ユーザー変数の例4

以下の例では、シナリオ機能を使って選択肢を提示し、ユーザーからの選択結果をユーザー変数として格納します。

① シナリオボット画面で以下のように4つの選択肢を表示します。そして選択を行ったシーンIDのメッセージの部分に、{set_var:location:値} を書きユーザー変数を定義します。
シナリオボットの基本的な使い方に関しては(シナリオボット)を参照ください。

スクリーンショット 2018-03-19 11.58.23.png

② プレビュー機能でシナリオを呼び出して、選択肢を選択するとユーザー変数に値が格納されます。

スクリーンショット 2018-03-19 12.04.49.png

上の図の例では、「東京」という値がユーザー変数として格納されます。