Build Multilingual Chatbots with Watson Language Translator & Watson Assistant

Zia Mohammad
IBM watsonx Assistant
3 min readApr 30, 2018

The Pain Point

I asked the question, ‘What Language Barrier?, stressing the importance of multilingual communication and how Watson Language Translator offers a solution. Following up, I wanted to showcase the potential of Watson Language Translator when paired with other Watson services, namely Watson Assistant.

Often conversational interfaces use only one language and switching between languages is difficult. Adding to that, a barrier enterprises face when developing chatbots is: industry-specific multilingual capabilities. These types of problem are more complex, but when approached the right way, can open new markets!

The Solution

Pairing Watson Language Translator and Watson Assistant enable you to create multilingual domain-specific chatbots to answer real-time questions. Check out the demo or fork the code on GitHub!

How do these technologies work together?
Watson Assistant is a natural language chatbot that can be trained on intents, entities, and dialog for specific industries.

Say you want to expand the use case to be multilingual. You can train a new chatbot in another language or integrate Watson Language Translator for a faster approach.

Watson Language Translator can be set up to translate incoming user requests to the language the chatbot is trained in. A chatbot handles phrases and matches them with intents. Thus, even if there is a slight change in translation, Watson Assistant will be able to correctly identify the intent.

Once identified the chatbot figures out the intent to return a response. Before the response is seen by the user, Watson Language Translator will translate the response to the language in which the question was asked.

To improve translation accuracy, a forced glossary can be created with Watson Language Translator. A forced glossary allows you to customize your translations. Given that the responses back to the user are fixed, a forced glossary can be set up so each of the responses returned by the chatbot is customized.

Try the Demo & Build your own!

Click here to try the demo!

Demo

We created a sample code pattern and demo allowing you to switch between languages in the same conversation. Try the demo above or follow the steps below to build your own.

Fork the GitHub repo

Interested in building your own multilingual chatbot? Check out the Github repo to get started.

Sample Workflow

1. Train chatbot in English (or another language of your choice).

2. Translate the output responses defined in the chatbot using Watson Language Translator.

3. Review the responses.

4. If the translated responses seem less fluid or not domain-specific, create a forced glossary for those responses. Each response customized with a forced glossary will always be translated in the defined manner.

5. This forced glossary ensures that the responses are always accurate.

6. You now have a multilingual chatbot!

Language Translator Supports:

Arabic, Bengali, Bulgarian, Catalan, Chinese (Simplified & Traditional), Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Gujarati, Hebrew, Hindi, Hungarian, Irish, Italian, Indonesian, Japanese, Korean, Latvian, Lithuanian, Malay, Maltese, Malayalam, Norwegian, Polish, Portuguese (Brazil), Romanian, Russian, Slovak, Slovenian, Spanish, Swedish, Tamil, Telugu, Thai, Turkish, Urdu, and Vietnamese

Learn More:

Watson Language Translator | Watson Assistant | Getting Started | Sample Apps

Zia Mohammad is on the product management team for Watson Language Translator and Watson Natural Language Classifier. His passions center around: AI, emerging technologies, astronomy, and neuroengineering.

Feel free to comment or reach out for more information!

--

--

Zia Mohammad
IBM watsonx Assistant

Senior Product Manager @ AWS Quantum | Futurist | Global Citizen | Adventurer | Buckeye