Help us understand the problem. What is going on with this article?

Botを高速開発するためのフレームワーク「bot-express」の概要と使い方

More than 1 year has passed since last update.

概要

bot-expressはオーダーメイドのChatbotを高速に開発するためのフレームワークでNode.jsで動作します。開発者はフォーマットにしたがって「スキル」を追加するだけでChatbotの能力を拡張していくことができます。

bot-expressに含まれる主な機能

  • NLU(Natural Language Understanding)によるメッセージの意図解析
  • 複数メッセンジャーへの対応
  • 文脈の記憶
  • ユーザーからの情報収集・リアクション
  • 多言語翻訳

構成

コンポーネント

bot-expressをベースとしたChatbotは下記のコンポーネントで構成されます。

アーキテクチャー

  • メッセンジャー
  • 自然言語処理のサービス
  • Chatbot本体(bot-expressベースのNode.jsアプリ)

開発者はChatbot本体に「スキル」を追加することでChatbotの能力を拡張していくことができます。丁寧で品質の高いスキルを開発することでChatbotの精度が上がり、スキルの数を増やすことでChatbotは多くのリクエストに応えることができるようになります。このスキルは1スキル:1スキルスクリプトという形で作成します。

基本的な動作パターン

最も基本的な動作は下記のようになります。

  1. ユーザーがChatbotにメッセージを送信。
  2. bot-expressがメッセージを自然言語処理サービスに連携してメッセージの意図を解析。
  3. 解析された意図に応じてbot-expressが利用するスキルを選択。
  4. スキルが実行される。(例:メッセージ返信、データベース更新、IoTデバイスへの命令送信など)

bot-expressはスキルに定められたアクションを完了するために必要に応じて対話を続けていきます。対話は必要な情報を収集するためにおこなわれ、ユーザーからの返信メッセージはスキルに定められたパース処理とリアクションが自動的に適用されていきます。

Getting Started

まずはチュートリアルをご覧ください。必要なすべての流れをステップ・バイ・ステップでカバーしています。

bot-expressを使ってピザ注文受付Botを60分で作ってみる

また、bot-expressのsample_skillディレクトリにスキルのサンプルがいくつか収められていますのでスキル開発の参考にしてみてください。

スキルのサンプル

リファレンス

bot-expressの設定オプション、スキルスクリプトの構成、提供されるライブラリについては下記のリファレンスに完全な情報が記載されています。

https://nkjm.github.io/bot-express

サポートされるメッセンジャー

  • LINE
  • Facebook Messenger

サポートされるNLU

  • Dialogflow

制約

Webhookでサポートしているイベントは下記の通りです。

LINE
- message
- follow
- unfollow
- join
- leave
- postback
- beacon

Facebook
- messages
- messaging-postbacks

nkjm
LINE株式会社のDeveloper Advocate
http://www.nkjmkzk.net
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした