Bot

SecretaryBotがメディアで紹介されました

こんにちは!SecretaryBot開発チームのマサです!

SecretaryBotですが色々な方からご好評いただき、なんと!日本マイクロソフトの平野社長に「働き方改革」を促進するツールとしてご紹介いただきました。その際に様々なメディアにて紹介されていますので、ここで紹介させていただきます。

自分たちの作ったものがメディアに取り上げられるってすごいうれしいものですね。今は日本だけではなく、アメリカ、イギリス、ノルウェー、スウェーデン、フランス、イタリア、マラウイ(南アフリカ)、ロシア、インド、オーストラリア、韓国で使ってもらっているみたいです。

ワールドワイドで使ってもらうと「秘書が女性というのはステレオタイプだから、男性秘書も作ったら?」「ロシア語はサポートしないの?」などのフィードバックをもらって、改善のアイディアをいただけることも嬉しいです。フィードバックやバグの指摘は、真摯に受け止めて対応を進めます。

使ってみたい!という人はぜひ雇い方を見てみてくださいね。また、フィードバックもTwitterから是非お願いします!

それでは、よい金曜日、よい週末を!

Azure, Bot, 未分類

Botから検索できるようにする

こんにちは!SecretaryBot開発チームのマサです!この記事ではBotに検索機能を簡単に実装する方法を見ていきましょう。

Botと検索

Bot開発を続けていると、Botから検索をしたくなることがあります。例えば秘書ボットにレストラン予約機能を付ける場合、自分のデータベースから情報を検索できると便利ですよね。

そのため、Botに検索機能を付けたいのですが、自分で1から検索機能を作るのは面倒です。例えばですが、Database構築して、検索用のIndex作って、それをCallしやすいAPIを作ってとなるのですが、VMに環境インストールしたり自分でプログラム書いたりするのはダルイのでしたくないです(まぁ、やろうと思えばできるのですが、別にその分野のプロになりたいわけでもないし、メンテする時間あったらジム行ったり遊びに行きたいし)。

というわけで、Azureの検索サービスであるAzure Searchと、NoSQL DatabaseサービスのDocumentDBを使って下記のようなアーキテクチャで実現したいと思います。

“Botから検索できるようにする” の続きを読む

Azure, Bot, 開発

Bot に Azure AD 認証/認可を組み込む

こんにちは! SecretaryBot開発チームのマサです!今回はBotにAzure ADの認証/認可機能を埋め込む方法を解説します。

Botをある程度作りこんでくると、外部のAPIと連携したくなることがあると思います。僕らの場合にはOffice 365のデータを読み書きしたかったので、Microsoft Graph APIと連携したくなりました。Microsoft Graph APIをCallするためにはAzure ADでの認証/認可が必須なので、この記事ではBotにAzure ADの認証/認可を実装する方法を紹介します。

“Bot に Azure AD 認証/認可を組み込む” の続きを読む

Bot State Service, 開発

Bot State Service の用途に迫る!

こんにちは!SecretaryBot を開発している、A’ です。

前回の投稿で、Dialog 間でデータを直接受け渡す方法が紹介されていましたが、”Bot State Service” を使ってもデータの受け渡しが可能です。この投稿では、Bot State Service の用途と利用方法をサンプルコードを交えて見ていきましょう!

“Bot State Service の用途に迫る!” の続きを読む

Bot, 開発

複数の話題を扱えるBotを作る

SecretaryBotチームのマサです!今回は複数の話題を扱えるBotを作っていきましょう!

前回の記事では、Dialogを使って連続した会話を実装することができました。ただ、現時点では1つの話題しか扱えません。今回は複数の話題(飛行機予約、ホテル予約)を扱えるBotを作っていきましょう。

今回もサンプルを作成しているので、動作を見たい人は動かしてみてください。ちなみに[Book Flight]ボタンからクリックしてください。

“複数の話題を扱えるBotを作る” の続きを読む

Bot, 開発

Dialog を使った”会話”の実装

こんにちは SecretaryBot チームのマサです。

A’の一問一答Botの開発という投稿で、Bot の基本的な開発方法は分かったかと思います。ただ、「一問一答」と明記されている通り、MessageControllerだけでは”会話”の実装がやりづらいです。実際に作っていただくとわかるのですが、Q1にはA1、Q2にはA2と回答できますが、以下のような連続した会話の実装が難しいんですね。

  1. (Bot) あなたの名前は?
  2. マサです
  3. (Bot) 教えてくれてありがとうマサ。何がしたいですか?
  4. 明日のミーティングの設定がしたいです
  5. (Bot) 明日のミーティングですね。誰とですか?
  6. … 以下続く…

上記に加えてBotが複数の話題 (ミーティング設定、天気を教えてくれるなど)を扱えるように実装しようとすると、複雑怪奇な if文、switch文を書いて、会話状態をキャッシュするような機構を作る必要があって辛いです。。

せっかくフレームワークを使っているので、その良さを活かしちゃいましょう!

“Dialog を使った”会話”の実装” の続きを読む