2024年、オープンソースのチャットボット・プラットフォームはたくさんあります。あなたに最適なものは、あなたのチャットボット構築のニーズ(経験、コーディング言語、希望する機能、特定のユースケース)によって異なります。
オープンソースのチャットボットプラットフォームのトップリストをまとめました。あなたのプロジェクトに合ったプラットフォームがきっと見つかります。
オープンソースのチャットボットとは?
オープンソースのチャットボットは、人間の会話を模倣したメッセージング・アプリケーションである。オープンソースとは、ソフトウェアのオリジナルコードが自由に配布され、簡単に変更できることを意味する。
オープンソースソフトウェアは、共有された貢献を通じて、より高いレベルの透明性、効率性、および制御をもたらします。これにより、開発者はソフトウェアプラットフォームそのものに関する知識を深めながら、さらに高品質なソフトウェアを開発することができるようになるのです。
また、クローズドソースのチャットボットソフトウェアも存在し、オープンソースのチャットボットと独自ソリューションのメリットとデメリットを比較しました。
それでは、2024年に最も優れたオープンソースのチャットボットを見てみよう。
1.Botpress
Botpress は、多くの自然言語理解(NLU)ライブラリをサポートするオープンソースの会話AIソフトウェアです。
Botpress は、ビジュアルフローと、インテント、エンティティ、スロットの形をした少量のトレーニングデータを使用してチャットボットを構築するように設計されています。これにより、チャットボットの開発コストを大幅に削減し、データ要件によって生じる参入障壁を低減します。
Botpressには、ビジュアル対話ビルダーと対話をテストするためのエミュレータがあります。搭載されたJavaScriptコードエディタを使用して、特定のタスクを実行するためのアクションをコーディングすることができます。NLUモジュールでは、インテント、エンティティ、およびスロットを定義することができます。これにより、対話型アシスタントはユーザー入力を理解することができます。
Botpress FacebookMessenger 、Slack 、Microsoft Teams 、Telegram を含む最も人気のあるメッセージングサービスとの統合を積極的に維持している。
プラットフォームは主に、最大限にコントロールできるオープンなシステムを必要とする開発者向けに構築されています。また、ビジュアル対話ビルダーのおかげで、対話デザイナーがプロジェクトを引き継ぎ、開発者と共同作業することも簡単になります。
Botpressは、さまざまなスキルを持つ専門家が共同で作業を行い、より優れた対話アシスタントを構築することを可能にします。
G2とChatimizeで Botpress の包括的なレビューを読むことができます。
2. Microsoft Bot Framework
Microsoft Bot Framework(MBF)は、ボットを構築するためのオープンソースのプラットフォームを提供する。
マイクロソフトのアプローチは、主にコード駆動型であり、開発者のみを対象としている。MBFは、開発者がチャットボット構築体験をきめ細かくコントロールし、多くの機能やコネクタにすぐにアクセスできるようにします。
MBFには、チャットボットを作るプロセスを支援するツールが数多く用意されている。また、自然言語理解エンジンLuisとの統合も可能です。
マイクロソフトは、同じくオープンソースのプラットフォームであるBotkitも買収した。Botkitはよりビジュアルな会話ビルダーで、ユーザーが利用できるUIアクションに重点を置いている。
MBFが使用しているNLUエンジンLuisはプロプライエタリ・ソフトウェアであるため、完全にオープンソースとは言えない。これは、あなたの状況によっては、よりコントロールしやすくするための問題かもしれません。
NLUエンジンがオープンソースでないことの欠点は、オンプレミスにインストールできないことだ。MBFとLuisはAzureプラットフォームの利用を促進するために組み込まれた製品なので、これもマイクロソフトからすれば理解できる。LuisはAPIコールごとに料金を支払うサービスであり、毎月の請求額は高額になる。
3. Botkit
Botkitは現在、Microsoft Bot Frameworkの一部となっている。これは開発者のために作られたコード中心のプラットフォームとして知られている。
Botkitは、Microsoft Bot Frameworkを包含する開発者ツールとSDKの大きなセットの一部に過ぎません。Bot Framework SDKは、Botkitの基盤となるものです。複数のプログラミング言語で利用可能です!
Webex,Slack, FacebookMessenger, Google Hangoutなど、さまざまなチャットプラットフォーム用のプラグインを多数用意している。
Botkitは最近、chatbots の開発を支援するビジュアル会話ビルダーを作成し、コーディング経験の少ないユーザーも参加できるようにした。
BotkitはLuisをNLUエンジンとして使用しています。しかし、必要に応じて他のNLUエンジンと統合することも可能です。
4. Rasa
Rasaはオープンソースのボット構築フレームワークで、チャットボットを構築するためのストーリーアプローチに焦点を当てています。Rasaはオープンソースの自然言語理解エンジンのパイオニアであり、定評のあるフレームワークです。
彼らは人工知能に焦点を当て、開発者がAIアシスタントを継続的に構築し、改善できるようなフレームワークを構築している。
Rasaでは、プラットフォーム内でビジュアルフローやインテントを定義する代わりに、開発者がボットを訓練するためのストーリー(訓練データシナリオ)を作成することができます。
Rasaはオンプレミス型で、標準的なNLUエンジンは完全にオープンソースである。彼らは、開発者が会話をレビューし、アシスタントを改善するためのツールセットであるRasa Xを構築しました。Rasaはまた、エンタープライズ・ライセンスで利用可能な多くのプレミアム機能を備えている。
どのチャットボット・プラットフォームでもある程度の学習データが必要ですが、Rasaが最もうまく機能するのは、通常はカスタマーサービスでのチャットログという形で、大規模な学習データセットが提供された場合です。これらのカスタマーサービスチャットは、解析、整理、分類され、最終的にNLUエンジンのトレーニングに使用されます。
ストーリー・アプローチの潜在的な問題点として、ボットがある瞬間に何を言おうとしているのかを予測するのが難しいことがある。このようなことが起こるリスクは、大量の高品質なトレーニングデータを持つことで軽減される。
5. Wit.ai
Wit.aiは、2015年にFacebookに買収されたオープンソースのチャットボットフレームワークです。オープンソースであるため、Wit.aiを使用して構築された既存のボットやアプリを閲覧して、あなたのプロジェクトのインスピレーションを得ることができます。
Wit.aiには、オープンソースのチャットボットAPIが十分に文書化されており、このプラットフォームを初めて利用する開発者もすぐに使い始めることができる。
Wit.aiはFacebookによって所有されているため、FacebookMessenger にボットをデプロイすることを計画しているなら、Wit.aiは良い選択です。Facebookでは、Wit.aichatbots を簡単にデプロイできるようになっているMessenger 。
Wit.aiのチャットボットフレームワークに搭載されている自然言語処理(NLP)エンジンは、マイクロソフト、アマゾン、IBMなどの競合他社と比較しても、堅牢で能力が高い。
Wit.aiのSDKは、Python、Ruby、NodeJSなど複数の言語で利用できる。
Wit.aiは、FacebookMessenger 、Slack 、ウェアラブルデバイス、ホームオートメーションなど、さまざまなプラットフォームと簡単に統合できる。
このフレームワークの欠点のひとつは、トレーニングにかなり手間がかかることだ。必要なスロットとパラメーターの数が足りないのだ。これを補うために、ビジネス・ロジックを使って未記述の情報を処理する必要がある。
6. OpenDialog
OpenDialogは、2018年にスタートしたエンタープライズ規模のオープンソースの会話AIプラットフォームである。
OpenDialogを使えば、導入、統合、トレーニングを効率的に行うことができます。そのスマートな会話エンジンにより、ユーザーは必要に応じてカスタマイズし、統合することができます。柔軟なNLUサポートは、目の前の問題に最適なAI技術を使用できることを意味します。
OpenDialogはまた、ユーザーが素早く会話をデザインし、プロトタイプを作成できるノーコード会話デザイナーを備えています。
会話型AI戦略を管理し、将来を見通すことができます。
オープンソースで拡張が容易なアーキテクチャはイノベーションをサポートし、ソリューション間で会話コンポーネントの再利用が可能なため、チームと共に拡張できるツールとなっています。
OpenDialogの主な機能は以下の通り:
- リアルタイムSTT処理能力
- メモリ使用量が少ない(20,000ワードで64MB以下)
- N-best/Word-graphの出力が可能。
- サーバーユニットとして機能する能力。
このソフトウェアを使えば、コーディング言語の経験がなくても、初めての会話型アプリケーションを簡単に作ることができる。
OpenDialogはPHPで書かれたノーコードのプラットフォームで、Linux、Windows、macOS上で動作します。OpenDialogのライセンスはApache License, Version 2.0です。
7. Botonic
Botonicは、会話アプリを構築するためのリアクトフレームワークです。単純なテキストベースのチャットボットを作成するだけではありません。開発者のために作られ、完全なstack サーバーレスソリューションを提供します。開発者は、ウェブ、モバイル、Messenger 、Whatsapp 、Telegram などのメッセージングアプリなど、複数のプラットフォームで動作するチャットボットやモダンな会話アプリを作成できる。
Botonicを使えば、テキストインターフェース(シンプルさ、自然言語による対話)とグラフィカルインターフェース(マルチメディア、ビジュアルコンテキスト、リッチインタラクション)の長所を取り入れた会話型アプリケーションを作成できます。これは、テキストとNLPのみに依存する従来のchatbots 、より優れたユーザー体験を提供する強力な組み合わせです。
Botonicの機能には、プラグインのバッテリーが含まれているので、人気のあるサービスをプロジェクトに簡単に統合することができます。
BotonicはTypeScriptとJavaScriptで書かれている。React、Serverless、Tensorflowの上に構築されている。BotonicはLinux、Windows、macOSで動作する。
BotonicのライセンスはMITライセンスです。
8. Claudia Bot Builder
Claudia Bot BuilderはClaudia.jsの拡張ライブラリで、FacebookMessenger,Telegram, Skype,Slack スラッシュコマンド,Twilio, Kik and GroupMe用のボットを作成するのに役立ちます。このオープンソースプロジェクトの主なアイデアは、ボットの本当に重要な部分を書くことに集中できるように、定型的なコードや一般的なインフラストラクチャのタスクをすべて削除することです。
クラウディアは、サポートされているすべてのプラットフォーム用に適切なウェブフックを自動的に設定し、アクセスの設定をガイドしますので、すぐに始めることができます。
クラウディアボットビルダーは、メッセージングワークフローを簡素化し、サポートされているすべてのプラットフォームからの受信メッセージを共通のフォーマットに変換するので、簡単に処理できます。また、リクエストされたボットエンジン用にテキスト応答を自動的に適切なフォーマットにパッケージするので、単純な応答の結果のフォーマットについて心配する必要はありません。
クラウディアはMITライセンスの下に提供されています。
9. Tock
Tockはオープンソースの会話AIプラットフォームです。会話エージェントやボットを構築するための完全なソリューションです。サードパーティのAPIをサポートせず、依存しません。
Tockは、ストーリーと分析を構築する機能を備え、Kotlin、Node.js、Python、REST API用の会話DSLを持ち、多数のテキスト/音声チャンネルに接続できる:Messenger WhatsApp, Google Assistant, Alexa, Twitter, and more.
TockはReactとFlutterを使ったカスタムWeb/モバイル統合のためのツールキットを提供し、cloud 、Dockerを使ってオンプレミスのどこにでもデプロイできる。TockはApache License, Version 2.0でライセンスされています。
10. BotMan
BotManは、チャットボット開発のための無料のPHPフレームワークです。世界で最も人気のあるオープンソースのPHPチャットボットです。BotMan は、Slack,Telegram, Microsoft Bot Framework, Nexmo, HipChat, FacebookMessenger, WeChat など、複数のメッセージングプラットフォーム向けの革新的なボットを開発する作業を簡素化するために、開発者のために構築されました。
BotManでは、チャットボットのロジックを一度書くだけで、Amazon Alexa、FacebookMessenger 、Slack 、Telegram 、あるいは自分のウェブサイトなど、さまざまなメッセージングサービスに接続することができます。
BotManはフレームワークにとらわれません。つまり、どんなフレームワークでも既存のコードベースで使用することができます。BotManは、フレームワークのコードではなく、ビジネスロジックに集中できる、表現力豊かでパワフルなシンタックスを備えています。
BotManは完全なドキュメントを提供し、PHPで書かれており、Linux、Windows、macOSで動作します。BotManのライセンスはMITライセンスです。
11. Bottender
Bottenderは会話型ユーザーインターフェースを構築するためのフレームワークで、Messaging APIの上に構築されている。
このフレームワークはセットアップが簡単で、実際のユースケースに最適化されており、リクエストの自動バッチ処理や、直感的なAPIなど、その他多くの魅力的な機能を備えている。
Bottenderはあなたのために会話型UIの複雑さを引き受けます。各イベントのアクションを設計し、アプリケーションに記述すれば、Bottenderはそれに従って実行します。このアプローチはあなたのコードをより予測しやすく、デバッグしやすくします。
Bottenderを使用すると、チャンネル、自動サーバーリスニング、webhook セットアップ、署名検証などを使用してボットを動作させるためにいくつかの設定が必要なだけです。
Bottenderを搭載したボットは何千とあります。実際のユースケースに最適化され、リクエストの自動バッチ処理やその他数多くの魅力的な機能を備えています。
Bottenderを使えば、あらゆるチャネルでアプリを作成でき、ユーザーのエクスペリエンスに妥協することはありません。プログレッシブエンハンスメントやグレースフルデグラデーション戦略をビルディングブロックに適用することができます。
Bottenderには、会話を定義するのに役立つ関数的なアプローチと宣言的なアプローチがあります。たいていのアプリケーションでは、ウェブアプリケーションを開発するときに慣れ親しんだルートを定義することから始めます。
BottenderはTypeScriptとJavaScriptで書かれており、Linux、Windows、macOSで動作します。ライセンスはMIT Licenseです。
12. DeepPavlov
DeepPavlovは、ディープラーニング、エンドツーエンドの対話システム、チャットボットのためのオープンソースの会話AIフレームワークです。初心者でも専門家でも対話システムを作成することができます。包括的で柔軟なツールを備えているため、開発者やNLP研究者は、すぐに使える会話スキルや複雑なマルチスキルの会話アシスタントを作成できます。
BERTのような深層学習モデルやその他の最先端の深層学習モデルを使用して、分類、NER、Q&A、その他のNLPタスクを解決することができます。
DeepPavlov Agentは、APIサービスを介してマルチスキル統合による産業用ソリューションを構築することができます。
DeepPavlovのモデルは、Nvidia NGCとDockerHub でホストされる、デプロイしやすいコンテナに収められています。
DeepPavlovはPythonで書かれており、Apache 2.0ライセンスの下でライセンスされています。
13. Golem
Golemはチャットボットを構築するためのpythonフレームワークです。python開発者向けに作られており、既存のメッセージからエンティティを簡単に抽出することができる。
テストを容易にするために独自のウェブGUIを備えており、Messenger およびTelegram からのメッセージと対話することができます。
Golemは、言語ユニバーサル・アプローチによる言語解析技術である。この位置づけは、今日のNLUで最も一般的な2つのアプローチとは大きく異なる:
- 統計的アプローチ(人工ニューラルネットワークのトレーニング)
- 文法的アプローチ。
この2つのアプローチには長所と短所がある。
Golem.aiは、簡単に多言語に対応でき、トレーニングの必要もない技術を提供している。AIは、すべての人間の言語に共通する言語学の知識を持っています。コンフィギュレーションは、期待される要素のフォーマット(与えられた文脈における行動や解釈の目的は何か)を記述し、特定のビジネス語彙を提供するのみである。この技術は、NLU AIを構成する最も簡単で効率的な方法を見つけるために、長年にわたる実験の末に開発されました。
GolemはPythonで書かれており、Linux、Windows、macOSで動作します。GolemのライセンスはGPL-3.0です。
最適なオープンソースのチャットボットソフトウェアの選び方とは?
時間とお金を投資するチャットボットソフトウェアを決める前に、それをどのように活用するか、どのような機能が必要であるかを理解することが重要です。オープンソースの素晴らしいメリットの一つは、決定する前に製品を試すことができることです。
プラットフォームのさまざまなユースケースを挙げている企業も中にはありますが、必ずしもそうとは限りません。ぜひ色々なチャットボットフォーラムをご覧になって、あなたが構築したいものを探してみることをお勧めします。他の誰かが同じことをしている可能性があります。そうでなければ、質問をしてみましょう。
要約だけでは決断をするのに十分な情報とは言えませんが、一部の候補を除外し、何が長所であり短所であるかを理解するための素晴らしい出発点となります。
チャットボットと対話型AIのオープンソースの詳細については、対話型AIについて知っておくべきことについての別の記事をお読みください。