Select Page

The Big players in the NLP space focus on the most important languages. If you speak English, French, Spanish,… you can freely choose from a large variety of NLP services to write bots that talk to you in your own language. Unfortunately, this is not true for many other languages, despite some of them being official languages in their countries/regions.

This is what happens with the Catalan language. Despite having over 10M total speakers, it’s not natively supported by DialogFlow nor other major NLP providers. We hope that thanks to the AINA project, we will soon start to see more projects that leverage and package AINA models to offer cloud-based chatbot language services in Catalan but so far this limitation was avoided by using multilingual models or via an intermediate translation to a close language like Spanish. But with any of these alternatives, the quality of the chatbot, and therefore, the quality of the user experience, suffers.

Being born in Barcelona, we really wanted to have Catalan as a native language in Xatkit. As we just said above, our DialogFlow integration was not a solution here. But, thanks to Jesús Seijas,  we do have an NLP library that fully embraces Catalan (and many other languages). The library is nlp.js

NLP.js is an NLP library for building bots, with entity extraction, sentiment analysis, automatic language identify, and so more

Xatkit has no interest in reinventing the wheel. More the contrary, we integrate the best of breed in our platform to make sure you can create the best bots for your specific needs, so it was a no-brainer for us to build a Xatkit connector for nlp.js, the same we have done for DialogFlow (if you prefer a cloud-based NLP API), Stanford NLP or plain regular expressions (if you’re the risky type).

We’re happy to announce that our nlp.js integration is now merged into the core of Xatkit. At the technical level, the connector is implemented as a Node app that uses Express to expose a REST API that can manipulate an NLP.js engine. Then, we have added a new Intent Recognition Provider (the component in charge of classifying user utterances in intents and responsible for extracting the entities in the text) that communicates with the nlp.js server to process the user inputs.

As always our flexible and modular architecture will let you run the same bot in DialogFlow, Nlp.js, or whatever without changing the code of the bot. You just need to define the configuration properties of the engine you would like to use. So, go ahead and give it a try!

We recommend using Docker for this. Our NLP.js server is available at Docker hub. Follow the instructions below to download it and run it:

docker pull xatkit/xatkit-nlp.js-server:latest
docker run -p 8080:8080 -d xatkit/xatkit-nlp.js-server
This will run the server on port 8080. Check the installation at http://localhost:8080. The server exposes a default agent called “default” that you can use in your bot (you can create additional ones).
Then, just add the following properties to your bot configuration file (‘ca’ is the standard language code for Catalan):
xatkit.nlpjs.agentId = default
xatkit.nlpjs.language = ca
xatkit.nlpjs.server = http://localhost:8080

And that’s it!. You’ll get your Catalan bot running in no time.

Example of a chatbot in Catalan


If you like it don’t forget to thank nlp.js for their great work. And remember that Xatkit supports a number of platforms so you could talk in Catalan with a bot on the web, in WordPress, in Slack, in Messenger (coming up soon)… or in any other tool you (or your clients) happen to use.  For instance, we rely on nlp.js to offer pretrained eCommerce expert bots in Catalan.

Join our community of chatbot lovers

Join our community of chatbot lovers

Learn how to build all types of (chat)bots and the latest trends in language processing, AI and more!

You have Successfully Subscribed!

Pin It on Pinterest

Share This