最近ニュースでも話題になっている横浜市のごみ分別AI.
このシステムの根幹を担うのは,powered by に記載のチャットボット Repl-AI .
NTTドコモが2016年から開発しているサービスで,プログラムの知識がなくてもルールベースのチャットボットが構築できる.
横浜市のごみ分別AIは,市民の検索性を高めるだけでなく、ごみに対する取り組みのPRや、問い合わせ電話の削減を目的に作られているとのこと.
実際に Repl-AI を使ってできることをまとめる.
新規登録はカンタン(無料)
docomo Developer support に新規登録
https://repl-ai.jp/ にアクセスし,右上の新規登録ボタンから登録を行う.
docomo Developer support に新規登録することで,Repl-AI も使えるようになる.
ログイン
docomo Developer support に登録したメールアドレスとパスワードで,Repl-AI にログインできる.
※ SNSアカウントで新規登録した場合の注意
SNSアカウントで新規登録した場合は,別途パスワードを登録する必要がある.
メールアドレスはSNSに登録しているメールアドレス.
一旦ログアウトして,ログインボックス下記にある「パスワードを忘れた方はこちら」よりパスワードを設定する.
サンプルシナリオ
ログインするとサンプルシナリオが自動生成されている.
リンクをクリックして,挨拶シナリオを試してみる.
まずはシミュレータで対話を試す
画面右下のチャットアイコンをクリックすると,シミュレータが起動し対話を試すことが出来る.
init
と入力してボットから会話をスタートする.
挨拶シナリオでは,あいさつをしてボットに名前を覚えさせることができる.
一度覚えさせた後,リロードして再度シミュレータを起動し init
を入力すると,先程の対話で教えた名前を記憶しているのが確認できる.
また,対話に併せて赤色の対話BOX システム発話
がハイライトされ,対話の流れが視覚的にわかる.
シナリオの詳細
上記の対話がどのように構築されているかみてみる.
1. ボットから対話スタート
init
と入力すると システム発話起点
のBOXから対話がスタートし,繋がっている2つのBOXに遷移する.
システム発話BOXには,どのような時にボットが発話するかの条件が設定できる.
BOX上側の✎をクリック > 詳細設定 > どんな時に
このBOXには name
が undefined
という条件が設定されている一方,もうひとつのBOXは条件が いつでも
になっている.
条件が設定されている方が先に評価され,条件が設定されていない方が後に評価される.
つまり,name
が未設定の場合は下のBOX,設定済みの場合は上のBOXに遷移する分岐が実現されている.
実際の発話内容は システム発話BOX下側の✎をクリック > 発話内容
に入力したテキストがランダムで選択される.
2. ユーザー入力に対応
ユーザー発話BOX下側の✎をクリック > 発話内容
にユーザーの入力パターンを定義する.
*
はユーザーが入力した任意の文字列に対応する.
例えば「TANAKAです
」とユーザーが入力すると,「TANAKA
」がユーザー発話として設定される.
続くシステム発話BOXの 発話内容
に ユーザー発話
を記述しておくと,入力された「TANAKA
」を呼び出すことができる.
3. 変数に記憶
さらに,プログラムでいう変数に文字列を格納することもできる.
ここでは ユーザー発話
の文字列 TANAKA
を name
という変数に格納している.
4. 記憶した変数を呼び出す
システム発話BOX下側の✎をクリック > 発話内容
で 覚えた内容
に name
を指定することで,TANAKA
を呼び出すことができる.
GUIでシナリオを編集する
GUIの直感的な操作でシナリオが編集できる.
- 要素の追加:サイドバーから要素をドラッグ&ドロップ
- REDO / UNDO (ツールボタンかショートカット)
- コピー、ペースト、複製
- BOX同士を線でつなげる
- 拡大縮小
- 検索
- 要素の整列
サンプルシナリオをカスタマイズ
サンプルの挨拶シナリオに ユーザーからの入力がされたパターン
を追加し,ユーザー入力に対して,雑談を返してくれるようにする.
-
ユーザー発話起点
追加 -
ユーザー発話
追加 -
連携ボットBOX > 雑談対話ボット
追加 - 線でつなげる
シナリオを保存して公開
- シミュレータで試す
このように雑談ボットは,裏側ではdocomoの雑談対話APIを使用している ようで,入力内容にある程度マッチした返答を返してくれる.