Available in Classic and VPC
This section covers frequently asked questions about using CLOVA Chatbot.
Q. How do I access the CLOVA Chatbot service from the console?
In the NAVER Cloud Platform console, navigate to
> Services > AI Services > CLOVA Chatbot.
Q. What makes the NAVER Cloud's CLOVA Chatbot service engine different?
The CLOVA Chatbot service engine from NAVER Cloud is a natural language–based chatbot engine built on NAVER’s accumulated expertise. The conversational modeling engine embedded in the chatbot strengthens dialogue models through natural language processing and machine learning–based self-learning, enabling more natural and continuous conversations.
Q. What are the actual usage patterns and utterance types of users?
In real chatbot services, users may use language differently from what is assumed during conversation design. Therefore, it is important to continuously analyze accumulated data and user utterance logs. NAVER Cloud Platform provides various analytics indicators to help you continuously improve conversation models. For details, see Metrics and analytics.
Q. I understand that Google and Watson typically use intent-based chatbots. Does NAVER Cloud’s chatbot use a pattern-matching approach that requires exact keyword matches?
In chatbots, an intent refers to the user’s intention. Many Chatbot Builders use an intent-based approach. Intents can be classified (or learned) based on user input sentences, and the chatbot responds accordingly. CLOVA Chatbot supports an intent-based approach in the form of conversation types.
CLOVA Chatbot also uses a natural language processing engine to build and train models in a way similar to how humans learn conversations. It learns from a wide range of sentences and grammar, remembers key information, considers surrounding context, and improves through repeated learning with feedback focused on correct responses. It also derives responses through ensemble voting across multiple models. Although this is a simplified explanation, the system trains machine learning models to understand natural language and generate responses through a highly complex process. While pattern matching that requires exact keyword matches is one of the processing techniques, it represents only a very small part of the overall workflow. Natural language is primarily processed through an advanced learning process.
Q. Can I build a chatbot even if I am not a developer?
For conversation dataset–based chatbots created in the NAVER Cloud Platform console, even non-developers can use the Chatbot Builder to build a conversation model and complete training and deployment within minutes to a few hours. You can easily verify chatbot behavior using the test features. When you add new utterances for retraining, the newly trained model becomes available for service immediately after the build completes.
However, development is required if you use CLOVA Chatbot ActionMethod to integrate with an external server or provide the service through a company’s custom chat interface. In such cases, review the provided guides and the CLOVA Chatbot Custom APIs specifications with a developer.
Q. How do I back up a domain?
You can roll back to a previous build version even after completing a build. Alternatively, you can back up a domain by using the domain copy feature to create a copy of the domain.
Q. How do I provide a voice chatbot?
You can expand chatbot services by using various NAVER Cloud APIs. In particular, you can extend your chatbot to voice chat through easy integrations (CSR/CSS) with the CLOVA APIs.
Q. Can I integrate with commercial messengers such as LINE and TalkTalk?
You can process utterances from various channels in real time and integrate with major messenger platforms such as LINE, TalkTalk, and Facebook. NAVER Cloud’s CLOVA Chatbot supports not only messenger integrations but also custom integrations, enabling easy integration with web-based pages and mobile applications.
Integrations from CLOVA Chatbot to KakaoTalk APIs Smart Chatting have been discontinued since December 31, 2019. (New registrations for APIs-type Smart Chatting ended on November 30, 2018, and the APIs-type Smart Chatting service was fully terminated on December 31, 2019.)
Q. Is there an easy way to enter conversations to test them in various ways?
You can use the Excel bulk upload feature with templates to upload conversations. The service also provides built-in templates that help you create simple conversations when you first start using the chatbot. These templates include approximately 150 conversation datasets, enabling quick testing.
Q. Can I set up a dataset with a predefined number of conversations for testing? I want to test how much conversation is possible with sufficient data.
The service provides built-in templates that are deployed with approximately 150 casual conversation datasets. These templates offer a sufficient volume of utterances to help you get started with a chatbot. If you create a domain and register only 1 quickstart before training, the build fails. We recommend entering at least 10 quickstart and then running the build and training test.
Q. Can I identify a messenger user’s ID when integrating with a messenger?
Commercial messenger platforms such as LINE and Facebook do not provide personal user information (for example, user IDs) through their APIs when integrating services. As a result, the user ID value received from a messenger represents a unique identifier that indicates the same user, but it does not allow you to identify who the user actually is. The user ID value received from the messenger is included in the request header when the ActionMethod URL is called. You can check the value in the X-KAA-USERKEY header.
Example: X-KAA-USERKEY: e579cf601ea0e6d53ff6d632ab35c720weoir13
If you need to store accurate user information to provide the service, implement a separate login feature to verify the information.
Q. Multilingual support: If an overseas user asks a question in Chinese, can the chatbot translate it into Korean and respond? Can it also translate a Korean response into Chinese for the user to view?
The chatbot supports Korean, English, Simplified Chinese, Traditional Chinese, Japanese, Indonesian, and Thai. When you create a domain, you can select the natural language processing language. If you enter conversation datasets that match the selected language set, you can build a multilingual chatbot. You can also create conversations in Korean and add custom development in your application to integrate various Papago Translation API.
CLOVA Chatbot does not provide built-in support for voice recognition or Papago APIs integrations. However, CLOVA Chatbot offers custom integrations capabilities, which allow you to extend the service through additional development. Using this approach, you can integrate CSS/CSR to build a voice chatbot or integrate the Papago APIs to build a translation chatbot.
Q. Can I configure responses for 'Images and multiple links' to display as a horizontally scrollable carousel?
CLOVA Chatbot supports carousels. However, some integrated messenger channels may not support carousels, so test the integrations on the target channel (messenger) in advance.
Q. How do I make the chatbot send the first message when a user opens the chat window?
You can use the Welcome message feature in the Chatbot Builder’s Common messages menu. You can configure this feature only if the integrated channel (messenger) supports it. When you configure a welcome message, the chatbot responds first with the message registered as the welcome message when the user starts a conversation with the chatbot. However, if you build a Custom Chatbot, you need additional development to implement welcome message behavior based on your service flow.
Q. How do I collect answers using multiple-choice options in a form and continue the conversation based on the selected answer? For example, 'Which pizza would you like?' If the user selects Option 1 (Pepperoni) in response to Option 1 (Pepperoni) or Option 2 (Super Supreme), the next question can be, 'Select the type of ham for the pepperoni pizza.' How do I ask different follow-up questions based on the selected answer, such as Option 1 (Belgian) or Option 2 (Jinjuham)?
Use slot conversations. For details, see the Slots section in the Task user guide.
Q. How do I store responses and send them to an external APIs all at once?
Slot conversations allow you to store responses and then send them together through an ActionMethod.
Q. How should I write an answer when a single sentence contains two questions?
Write answers for both questions. For example, if the question is 'How much does the server cost, and how do I use it?', include both the server pricing and the usage instructions in your response.
Q. I created a new domain B and want to use the conversation datasets created in domain A.
Use the domain copy feature or the Excel upload/download feature to conveniently manage conversation datasets.
Q. How long does a chatbot build take?
Build time varies depending on the amount of data. For 100 or fewer conversation datasets, training typically completes in 5–10 minutes. If you build the chatbot with only one conversation dataset, the build fails because the dataset is too small. Enter at least 10 conversation datasets, and then run the build.
Q. How do I integrate a custom APIs?
To integrate a custom APIs, complete subscribing to API Gateway. For details, see the Channel Integrations Guide (Basic chatbot–APIs Gateway integrations) and the CLOVA Chatbot Custom APIs Spec guide.
Q. How do I create multiple buttons in a chatbot?
In the NAVER Cloud Platform chatbot, two types of button-based selection features are available.
- URL link button: The text is displayed as a button, and the specified URL opens in a new window when the user clicks it. To add multiple URL links, use the Multi-link response answer type.
- Multiple-choice button: Options appear as buttons, and when a user selects one of the buttons, the corresponding response is returned. To create a multiple-choice form, use the Multiple-choice response answer type.
Q. Can I use sentence punctuation such as question marks and exclamation points?
The chatbot engine evaluates input after removing sentence punctuation. For example, even if a user enters 'hungry?', the chatbot searches for a response using 'hungry.'
Q. If I copy a Korean domain and set the domain language to another language (such as Japanese or Chinese), does training work?
The chatbot service trains based on the language selected when you create the domain. If a domain is set to Japanese but contains Korean conversation datasets, the build fails.
Q. What is the difference in features between slots and user variables?
The differences between slots and user variables are as follows:
| Item | Slot | User variable |
|---|---|---|
| Retention period | Retained only within a task (can be retained as a slot in another task only when contexts are partially linked) |
Retained throughout the session |
| Update method | Slot filled only through user utterances | Updated when a response is sent 1) Updated with a value manually entered by the operator 2) Updated with an entity value extracted from the user utterance 3) Updated with the value of a slot filled in the current task 4) Updated with a value stored in another user variable 5) Updated with a value calculated by applying + or − to an existing value 6) Updated with a user variable value returned by an action method 7) Updated with a user variable value returned by Custom Condition v2.0 |
| Availability for insertion in responses | You can insert values only in the final response of the task. | You can insert values into responses without conversational restrictions. |
| Calculation support | The system does not support calculations. | The system supports calculations, except for strings-type user variables. |
| Conditional branching support | Conditional branching is not supported. | Conditional branching is supported. |
| When calling an action method | The system passes all slot data that appears in the task. | The system passes all declared user variables. |
Q. How can I change the action method call timeout?
The default timeout for action method calls is 200 ms, and users cannot change it. Contact Customer Support to request a change.
Q. Differences by action method version
| Item | Action method V1.0 | Action method V2.0 |
|---|---|---|
| Method | Supports both GET and POST | Supports POST only |
| Items passed on invocation | User ID User Key Entity Slot User utterance (only when used in free-text forms) |
User ID User Key Entity Slot User utterance User variable |
| Return items | Single return value | Multiple return values User variable |
| Support for multiple return values | Not supported | You can enter values using the $2{actionMethod.key1} and $2{actionMethod.key2} format. |
Q. Is there a way to test conversations in the Chatbot Builder before building? I want to check whether the conversations work correctly before running a build.
Conversation testing is available only after you complete a build. We plan to add a feature that lets you test newly added conversations in the conversation list before building.
Q. The registered entity includes spaces, but the response entity in the recognized quickstart removes the spaces. Is it possible to return the entity exactly as registered (including spaces) in the response entity field?
Under the current specification, entity processing does not consider spaces, and spaces are removed when the entity value is returned. Returning analyzed values while preserving spaces is not supported at this time.
Q. After I pass the 'number of licenses' and 'license term (months)' entered by a user to a task as entities, I want to calculate and return the fee (5,000 × number of licenses × license term). How do I calculate values in a basic response?
The service does not support calculations directly on entities. Assign the extracted entity values to user variables, and then calculate the result using user variables. However, the Chatbot Builder supports only + and − operations, and does not support multiplication. Implement multiplication separately.
Q. Is billing calculated monthly or weekly?
Billing is calculated monthly.
Q. When the chatbot fails to find an answer due to a low-confidence result, can I configure it to show no failure message and return no response at all?
If you use a custom channel, you can check the message type and configure the system not to send a failure message to the user. For other messenger channels, the service does not support suppressing the failure message and returning no response.
Q. If I configure both a multiple-choice response and a multi-link response, can I set a priority between them?
CLOVA Chatbot does not support setting a priority for specific response types.
Q. How do I build a chatbot that repeats the user’s input and then provides a response? For example, if a customer says, 'It’s difficult to read the subway map,' I want to configure the chatbot to respond with 'It sounds like you’re having difficulty reading the subway map,' and then provide an appropriate answer.
To insert the user’s input into a response, implement an ActionMethod and use it in the response for the conversation.
ActionMethod example
def main(args):
userInfo = args.get("userInfo", {"query":""})
query = userInfo.get("query", "")
return {"data":[{"variableName":"query","value":query}]}