Classic/VPC環境で利用できます。
CLOVA Chatbotに関するよくある質問と回答は、次の通りです。
Q.コンソールから CLOVA Chatbotサービスにはどうやってアクセスしますか?
NAVERクラウドプラットフォームコンソールで、
> Services > AI Services > CLOVA Chatbotメニューを順にクリックします。
Q.NAVERクラウドの CLOVA Chatbotサービスエンジンの特長は何ですか?
NAVERクラウドの CLOVA Chatbotサービスエンジンは、NAVERのノウハウが蓄積された自然言語ベースのチャットボットエンジンです。チャットボットに搭載された会話モデリングエンジンは、自然言語処理技術と機械学習ベースの「教師なし学習」を通じて会話モデルを強化させ、会話の自然な流れをサポートします。
Q.実際のユーザーの利用パターンと発話タイプについて教えてください。
実際のチャットボットサービスでのユーザーの利用方式は、会話作成過程で予測した発話タイプと異なる場合があります。そのため、統計データと入力されたユーザーの発話記録の分析が重要になります。NAVERクラウドプラットフォームは、会話モデルを継続的に改善できるように様々な分析指標を提供します。詳細は、指標と分析をご参照ください。
Q.Intent方式のチャットボットを採用している代表的な例として Googleと Watsonが挙げられます。NAVERチャットボットは、その単語が正確に含まれる必要のあるパターンマッチング方式を採用していますか?
チャットボットにおいてインテント(Intent)はユーザーの意図を意味します。多くのチャットボットビルダはインテント方式を採用しています。インテントはユーザーが入力した文に応じて分類(または学習)され、チャットボットはそれを基準に返答します。CLOVA Chatbotは、会話タイプという形でインテント方式をサポートします。
また、CLOVA Chatbotは自然言語処理エンジンを使用し、人間が会話を学んでいく過程と同じようにモデルを作成して学習します。つまり、様々な文と記法を勉強して重要な情報を記憶し、その上コンテキストを見て反復学習を行い、正解を中心にフィードバックを行います。そして様々なモデルを用いて多数決で返答を抽出します。簡単に説明しましたが、非常に複雑な過程を経て自然言語を理解して返答するように機械学習をさせています。ちょうどその単語が現れなければならないパターンマッチング方式も処理技法の一部と言えますが、パターンマッチング方式は当社のプロセスの中で極めて小さい部分であり、高度な学習プロセスで自然言語を処理しています。
Q.開発者でなくてもチャットボットを作成できますか?
NAVERクラウドプラットフォームコンソールで作成できる会話データセット中心のチャットボットは、開発者ではないユーザーもチャットボットビルダを用いて会話モデルをビルドした後、数分から数時間以内に学習やリリースを行うことができます。テスト機能を利用してチャットボットの動作を簡単に確認することができます。また、再学習のための新規発話を追加で登録すると、ビルド完了後に新たに学習されたモデルで直ちにサービスを提供できます。
ただし、CLOVA Chatbotの ActionMethodを用いて外部サーバと連携する必要がある場合や、会社の Customチャットウィンドウと連携してサービスを提供する場合は、開発が必要になります。その場合は、提供されるガイドやチャットボット Custom API Specを開発者と一緒に検討して進めてください。
Q.ドメインをバックアップしたいのですが。
ビルドした後でも以前のビルドバージョンにロールバックできます。もしくは、ドメインコピー機能を用いてドメインをコピーしておくことでドメインをバックアップすることができます。
Q.音声チャットボットを提供したいのですが。
NAVERクラウドプラットフォームの様々な APIを活用してチャットボットサービスを拡張できます。特に、CLOVA APIと簡単な連携(CSR/CSS)を提供しているため、音声チャットへの拡張も可能です。
Q.LINEや TalkTalkといった商用メッセンジャーと連携できますか?
様々な経路から入力される発話をリアルタイムで処理して LINE、TalkTalk、Facebookなど主なメッセンジャープラットフォームと連携できます。NAVERクラウドの CLOVA Chatbotサービスは、メッセンジャー連携だけでなくカスタム連携をサポートしており、ウェブベースのページやモバイルアプリケーションとも簡単に連携できます。
2019年12月31日以降、チャットボットからカカオトーク APIスマートチャットへの連携は中止されました(2018年11月30日、API型スマートチャットの新規登録を中止、 2019年12月31日、API型スマートチャットを完全終了)。
Q.様々な方式で会話のテストを行いたいですが、会話の入力が簡単にできる方法はありますか?
現在、テンプレートを用いたエクセル大量アップロード機能が提供されています。また、初めてチャットボットを利用する場合にも簡単な会話が作成できるようにビルトインテンプレート機能も提供します。およそ150個以上の会話データセットが含まれていて、簡単なテストが行えます。
Q.テスト目的であらかじめ一定数の会話が登録されたデータをセッティングできるでしょうか。十分なデータがある場合、どの程度の会話が可能になるか、テストしたいのですが。
ビルトインテンプレート機能が提供され、雑談会話が約150個含まれてリリースされます。チャットボットを始める際に有効に使用できる程度の発話規模で提供されます。最初にドメインを作成してシナリオを1つくらい登録して学習させると、ビルドに失敗します。少なくとも10以上のシナリオを入力してビルド学習テストを行うことをお勧めします。
Q.メッセンジャーとの連携時、メッセンジャーユーザーの IDを確認する方法はありますか?
LINE、Facebookなどの商用メッセンジャー会社は、APIを用いてサービスを連携する際にユーザー情報(ユーザー IDなど)のような個人情報を提供しません。そのため、こちらがメッセンジャーから取得したユーザー ID情報は同じユーザーであることを保証できる固有値を意味し、ユーザーを特定することは不可能です。現在、メッセンジャーから取得したユーザー ID情報はアクションメソッド URLを呼び出す際にヘッダに入れて送っているので、ヘッダで X-KAA-USERKEY値を確認してください。
例) X-KAA-USERKEY: e579cf601ea0e6d53ff6d632ab35c720weoir13
ユーザーの正確な情報を保存してサービスを提供したい場合は、別途ログインなどの機能を開発して情報を確認することが最も良い方法です。
Q.多言語サポートに関するお問い合わせ - 海外のユーザーが中国語で質問したら、それをチャットボットが韓国語に翻訳して返答できますか? 返答する際も韓国語の返答を中国語に翻訳してユーザー側に表示できるのか教えてください。
チャットボットは、韓国語、英語、中国語簡体字、中国語繁体字、日本語、インドネシア語、タイ語に対応しています。ドメイン作成の際に自然言語の処理言語を選択することができ、選択した言語セットに合わせて会話データセットを入力すると、多言語サポートチャットボットを作成できます。会話を韓国語で作成した後、様々な Papago API(翻訳)をお客様のアプリケーションと連携できるように追加開発を行うこともできます。
CLOVA Chatbotは、音声認識と Papago API連携を基本サポートしていません。ただし、現在 CLOVA Chatbotでは Custom連携機能を提供しているため、追加開発を通じて CSS/CSRと連携して音声チャットボットとして拡張したり、Papago APIとの連携を通じて翻訳チャットボットとして拡張することができます。
Q.「画像およびマルチリンク」に対し、カルーセルの形で横スクロールで表示する返答を設定できますか?
CLOVA Chatbotサービスではカルーセルをサポートしています。ただし、連携されているメッセンジャーの中ではサポートしないところもあるので、連携したいチャネル(メッセンジャー)で事前にテストを行うことをお勧めします。
Q.チャットボットユーザーがウィンドウを開いたときにチャットボットが先に声をかけるようにしたいのですが。
チャットボットビルダの共通メッセージメニューの「ウェルカムメッセージ」機能を使用してください。連携したいチャネル(メッセンジャー)でサポートする場合にのみ設定できます。ウェルカムメッセージを設定しておくと、ユーザーがチャットボットと初めて会話する状況で、チャットボットが指定されたウェルカムメッセージを先に送ります。しかし、Custom Chatbotを構築する場合、サービス企画のフローに合わせてウェルカムメッセージ動作のための開発が別途必要になります。
Q.フォーム形式で選択肢型オプションから返答を受け、その返答に合わせて質問応答のやり取りを続けたいです。例えば、「どんなピザをご希望ですか? オプション1(ペパロニ) オプション2(スーパーシュプリーム)に対する返答としてオプション1(ペパロニ)が選択された場合、次の質問は「ペパロニピザのハムの種類を次の中から選択してください。オプション1(ベルギー産) オプション2(チンジュハム)」のように、返答に応じて違う質問をさせたいですが。
スロット会話を活用します。詳細については、タスクご利用ガイドのスロット会話の部分をご参照ください。
Q.返答内容を保管していて、一度に外部 APIに渡したいですが、返答内容の保存はどのようにしたらいいですか?
スロット会話を使用すると、返答内容を保存していて、まとめてアクションメソッドに渡すことができます。
Q.1つの文に2つの質問が入っている場合、どのように返答を作成したらいいですか?
2つの質問に対する返答を作成します。例えば、「サーバ料金はいくらで、使用方法は?」という質問に対し、サーバ料金と使用方法についての返答を作成します。
Q.Bドメインを新たに作成しました。そこで Aドメインで作成した会話データセットを使用したいのですが。
ドメインコピー機能と Excelのアップロード/ダウンロード機能を用いると、会話データセットを手軽に管理することができます。
Q.チャットボットのビルドには時間がどのくらいかかりますか?
ビルド時間はデータ量によって異なりますが、会話データセット100個以下の場合は5分~10分で学習が完了します。会話を1つだけ登録してビルドした場合、データセットが少なすぎてビルドに失敗します。少なくとも10以上の会話データセットを入力してビルドしてください。
Q.Custom API連携はどのように行いますか?
Custom API連携を行うには、API Gatewayご利用の申し込みが完了している必要があります。詳細内容は、チャネル連携ガイド(チャットボットと API Gateway基本連携)と CLOVA Chatbot Custom API Specガイドをご参照ください。
Q.チャットボットの複数のボタンはどうやって作成しますか?
NAVERクラウドプラットフォームのチャットボットは、ボタンとして選択できる機能を2種類の形で提供しています。
- URLリンクボタン: 文言がボタンの形で表示され、それをユーザーが選択すると、指定した URLアドレスで新しいウィンドウが開かれます。複数の URLリンクは、返答タイプの1つである「マルチリンク返答」をご利用ください。
- 選択肢型ボタン: 選択肢がボタンの形で表示されます。ユーザーがその中から1つのボタンを選択すると、それに適合する返答が返されます。選択肢型フォームは、返答タイプの一つである「選択肢型返答」を利用してください。
Q.疑問符、感嘆符といった文章記号は使用できますか?
チャットボットエンジンは文から文章記号を取り除いて判断するため、ユーザーが「腹減った?」と入力しても「腹減った」で返答を探します。
Q.韓国語のドメインをコピーして他の言語(日本語、中国語)にドメインの言語を設定した場合、学習は可能でしょうか。
チャットボットサービスは、ドメイン作成時に選択した言語に基づいて認識して学習します。日本語に設定されたドメインに韓国語会話セットが存在する場合、ビルドに失敗します。
Q.スロットとユーザー変数の機能の違い
スロットとユーザー変数の違いは次の通りです。
| 項目 | スロット | ユーザー変数 |
|---|---|---|
| 維持期間 | タスク内でのみ維持 (制限付きでコンテキストがつながっている他のタスクのスロットで維持可能) |
セッション内で継続して維持 |
| アップデート方式 | ユーザーの発話だけでスロットフィリング | 返答が返される時点にアップデート 1) ワーカーが直接入力した値にアップデート 2) ユーザー発話に含まれているエンティティ値にアップデート 3) 当該タスクでフィリングされたスロットの値にアップデート 4) 他のユーザー変数に入れられた値にアップデート 5) 過去に入れられた値に対して+または–演算を行った値にアップデート 6) アクションメソッドのリターン時に一緒に渡されたユーザー変数の値にアップデート 7) カスタム条件 V2.0リターンの際に一緒に渡されたユーザー変数の値にアップデート |
| 返答への挿入可否 | そのタスクの最終返答にのみ挿入可能 | 会話の制限なく返答に挿入可能 |
| 演算可否 | 演算不可 | 文字列タイプのユーザー変数を除いて演算可能 |
| 条件分岐可否 | 条件分岐不可 | 条件分岐可能 |
| アクションメソッドの呼び出し時 | そのタスクで出現したスロットの情報はすべて伝達 | 宣言されたすべてのユーザー変数を伝達 |
Q.アクションメソッド呼び出しの Timeout値を変更したいです
アクションメソッドの呼び出し Timeoutのデフォルト値は200msで、顧客が直接変更することはできません。サポートセンターまでにお問い合わせください。
Q.アクションメソッドのバージョン別の違い
| 項目 | アクションメソッド V1.0 | アクションメソッド V2.0 |
|---|---|---|
| 方式 | GET、POSTの2つの方式をサポート | POSTのみ対応 |
| 呼び出し時に渡す項目 | User ID User Key エンティティ スロット ユーザーの発話(自由記述式フォームで使用された場合のみ) |
User ID User Key エンティティ スロット ユーザーの発話 ユーザー変数 |
| リターン項目 | 1つのリターン値 | 複数のリターン値 ユーザー変数 |
| 複数のリターン値の活用可否 | 不可 | $2{アクションメソッド.key1}、$2{アクションメソッド.key2}の方式で入力可能 |
Q.チャットボットビルダで会話を追加した後、ビルドする前に事前にテストを行う方法はありますか? ビルドする前に、会話が正常に動作するのか確認したいのですが。
テストを行う前にビルドを完了する必要があります。今後、ビルドの前に会話リストに追加された会話をテストできる機能を準備する予定です。
Q.登録したエンティティでは分かち書きになっていますが、認識されたシナリオから応答を受け取ると分かち書きがなくなります。登録されたエンティティをそのまま(分かち書きまで同様に)シナリオレスポンスエンティティフィールドに入れるのは可能でしょうか。
現在のスペックはエンティティの処理時に分かち書きを考慮せず、エンティティ return時に分かち書きが取り除かれます。現在、分かち書きを維持したまま分析値を渡す機能はサポートしていません。
Q.ユーザーに入力してもらった「ライセンス数」と「ライセンス月数」をタスクのエンティティに伝達してもらい、その情報を用いて料金(5000Xライセンス数Xライセンス月数)を返したいです。基本返答を演算処理するにはどうすればいいですか?
現在、エンティティ独自の演算機能はサポートしていません。分析されたエンティティ値をユーザー変数に継承させ、ユーザー変数内で演算を行って処理する必要があります。ただし、チャットボットビルダでの演算は+、-のみ提供しており、乗算演算には対応していないので、別途実装するようお願いします。
Q.料金単位は月単位ですか、それとも週単位ですか?
月単位で精算されます。
Q.精度が低い区間に該当して返答が見つからなかった場合、失敗メッセージも表示せずに何の返答もしないように設定したいのですが。
カスタムチャンネルを使用した場合、メッセージタイプを確認して失敗メッセージはユーザーにレスポンスしないように設定してください。ただし、メッセンジャーの場合は、失敗メッセージの代わりに何も応答しない機能はサポートしていません。
Q.選択肢型返答とマルチリンク返答を同時に設定した場合、優先順位は決められますか?
CLOVA Chatbotでは、特定の返答の優先順位はサポートしていません。
Q.ユーザーが入力した文をそのまま持ってきて返答を提供するように作成したいです。例えば、お客様が「地下鉄路線図が見づらい」と質問した場合、チャットボットは「『地下鉄路線図が見づらい』という不都合な点がございますね?」と返事をし、返答を提供するように構成したいのですが。
ユーザーがチャットボットに入力した文をそのまま返答に持ってくるには、アクションメソッドを開発してその会話の返答で使用します。
アクションメソッドの例
def main(args):
userInfo = args.get("userInfo", {"query":""})
query = userInfo.get("query", "")
return {"data":[{"variableName":"query","value":query}]}