このページは、書籍『チャットボットの教科書』の読者のために、書籍で紹介したサンプルプログラムのダウンロードや、他サイトへのリンク、正誤情報、よくある質問について記載します。

ダウンロード
ここでは、本書の第5〜7章で解説している「接客ボット」について、第7章での完成形のボットアーカイブを提供します。入力が手間な箇所だけをコピーしたり、完成形の状態から改造することで理解を深めるなど、自由にご利用ください。
- ボットアーカイブファイル(ruka-chap7-v4.tgz) 2023/3/14更新
ここで配布するボットアーカイブの内容は、本書に掲載のものから変更されている点があります。詳しくは、Githubリポジトリを参照してください。
利用方法
- Botpressの管理パネルで「Create Bot」→「Import Existing」を選択
- Bot Idに「ruka」、Bot Archiveに「ruka-chap7-v3.tgz」を指定して「Import Bot」を実行
- インポートしたボットのスタジオ画面を開いて、画面右下の「Train Chatbot」を実行
- ブラウザで次のURLを開く(ローカル環境のBotpressの場合) http://localhost:3000/api/v1/bots/ruka/media/shop.html
なお、接客ボットと統合するバックエンドサービスは、下記ページからダウンロードできます。
FAQ
Botpressがダウンロードできない
2022年10月から、Botpress公式サイトの構成が変わり、ダウンロードページが見つかりにくくなりました。詳しくはこの記事を参照してください。
Botpressの画面や動きが書籍の解説と違う
本書で解説しているBotpressのバージョンは「v12.16.3」です。これ以降のバージョンでは、本書に記載の手順やプログラムでは期待する動作にならない場合があります。本書に記載の通りにチャットボット構築を試してみたい方は、最新版のBotpressではなく「v12.16.3」をインストールしてください。
詳しくは 古いバージョンのBotpressのインストール方法 を参照してください。
【2021/11/4追記】古いバージョンのBotpressは、NLUのTraining直後のインテント認識が不安定な場合があります(後述)。最近のBotpress(v12.26.5など)では起きにくいため、書籍の説明と全く同じでなくてもよい方は、新しいBotpressの利用をおすすめします。
macOSでBotpressが起動できない
macOS 10.15以降では、本書に記載の手順ではBotpressが起動できません。具体的には、「bp」コマンドを実行しようとすると「開発元が未確認のため開けません」という趣旨の確認ダイアログが表示されて起動しません。その場合、以下のいずれかの方法で起動できます。
■方法1.シェルスクリプトで実行許可を与える
この記事の後半にある手順に従ってください。
■方法2.手動で実行許可を与える
- macOSの「システム環境設定」を開く
- 「セキュリティとプライバシー」を選択して、「一般」タブに切り替える
- 「ダウンロードしたアプリケーションの実行許可」の下に、「※※※※.nodeは〜ブロックされました」というようなメッセージと「許可」ボタンが表示されていたら「許可」ボタンを押す
- もう一度bpコマンドの起動を試す
- (この手順を6回ほど繰り返す)
この手順は初回起動時のみ必要で、2回目以降は普通に起動できます。
なお、この面倒な手順が必要になっていることはBotpressへ報告済みです。改善が待たれます。
入力がインテントやQnAに当たらない(デバッガーにTop Intentsが表示されない)
ボットに何かテキストを入力したとき、初回だけインテントやQnAに当たらず、同じテキストをもう一度入力すると2回目以降から当たる現象があることが分かっています。この問題は、何故それが起こるかは分かりませんが、「言語サーバーとしてBotpress社のサーバーを利用した場合」に起こります。一方、「言語サーバーを自分のPCやサーバーで起動して利用する場合」には起こらないようです。そのため、この現象が気になる方は、ご自身で言語サーバーを立てた利用をお試しください。言語サーバーの起動方法については、こちらのページで紹介しています。(この部分の手順はAmazon Lightsail以外でも同様です)
【2021/11/4追記】この問題は、最近のBotpress(v12.26.5など)では解消されているかもしれません。少なくとも頻繁には起こらないように思います。
プロアクティブ化をやったのに、ウェルカムメッセージが表示されるようにならない
書籍に記載したプロアクティブ化のコードでは、状況によってはうまくいかない場合があることが分かっています。その場合、プロアクティブ化するコードを以下のように変更してみてください。
if (event.data.name === 'webchatOpened') {
↓
if (event.data.payload && event.data.payload.type === 'visit') {
Githubリポジトリのファイルにも反映してありますので、参考にしてください。(77行目)
ボットの設定画面の「Language」の項目で「Japanese」が選択できず「No Options」と表示される
Botpress社の言語サーバーとの通信ができていないことが原因と考えられます。通信ができていない理由は、以下のような可能性があります。
- PCにインストールされているファイアーウォール、セキュリティソフトなどが「許可されていない通信先」との通信を遮断している
- インターネット接続に利用しているネットワーク(会社組織等のネット)が、「許可されていない通信先」との通信を遮断している
お使いのPCやネットワークの管理者の方に、そのような設定があるかや、通信先の追加をご相談いただくことをおすすめします。許可が必要な通信は、以下の2つのホストとのHTTPS通信です。
- https://duckling.botpress.io
- https://lang-01.botpress.io
ボットの設定画面の「Language」の項目で「Japanese」を選択すると、画面右下に「Train Chatbot」ボタンが表示されず「Cannot train Chatbot」と表示される
原因は、Botpress社の言語サーバーでは日本語が利用できなくなったことです。
言語サーバーとは、Botpressで作るチャットボットが人間の言葉を理解するのに必要な仕組みの1つです。 本書の手順に沿ってBotpressをPCで起動すると、ほとんどのプログラムはPC上で起動しますが、 言語サーバーだけはPC上で起動せず、Botpress社が無償提供しているサーバーに接続します。 この無料サーバーは、本書執筆時点では日本語を含む複数の言語をサポートしていましたが、 どうやら最近(2025年3月現在)、「英語」だけがサポートされているようです。
そのため、読者の方には申し訳ありませんが、この状況が続きますと、 本書で紹介している手順では、NLUを使って日本語の文を学習させることは出来ません。
ただし、言語を「英語」のまま使っていただければ、 本書で紹介するBotpressの機能を一通り試していただくことは可能です。 「Cannot train Chatbot」という表示になってしまうのは、 ボットの設定画面で言語を「Japanese」にするためです。 これを「English」のままにすれば「Train Chatbot」ボタンが表示されるはずです。
こうすると、この後の手順で日本語を正しく学習させることはできませんが、 登録する発話テキストを英語にすれば動くと思いますし、 NLUに関する機能以外のところは日本語でも問題なく試せます。
なお、上級者の方であれば、自分で言語サーバーを動かすことで解決可能です。
「Botpress社が無償提供していた言語サーバー」は、日本語のサポートをやめてしまいましたが、 言語サーバーは自分で構築することができます。 例えば、Botpressをレンタルサーバーで動かす手順を以下の記事で紹介しています。 https://qiita.com/nakmas/items/002bf05edacfad27f7af この手順では言語サーバーも自前で起動させて、日本語に対応させています。 ただし、これは少なからず技術スキルを必要とするので、ハードルが高いかもしれませんが、 実用を目指す際は方法があるという意味でご紹介しておきます。
正誤情報
P62 「青い要素」→「濃いグレーの要素」
質問をしたい
よろしければ、読者向けのFacebookグループにご参加いただき、そちらでお願いいたします。著者も可能な限りお返事します。
もっと情報がほしい
本書とその関連情報の発信は、基本的にこのサイト「Chatbot Today」で行っていきます。サイトの更新情報は 公式ツイッターアカウント で行いますので、フォローしてください。
著者への連絡方法
運営者のページを参照ください。
本書で紹介したサイト
本書で紹介したサイトのリンクを以下のページにまとめます。URLを打ち込む代わりにご利用ください。
関連コンテンツ
サーバー構築手順
本書で触れなかった「Botpressサーバーを構築する手順」について、一例としてVPSへインストールする手順を以下のページにまとめました。


LINEコネクタ
本書では「Botpressは標準ではLINE接続に対応していない」としていましたが、モジュールを追加することでLINEに繋ぐことができます。このモジュールのインストール手順については、以下のページにまとめました。

サンプルボット
本書で解説した「接客ボット」以外に、よくあるユースケースのボットをテンプレートとして公開しています。あなたのチャットボットを作るために、自由にご利用ください。
