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
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.
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.