oracle / tribuo

Tribuo - A Java machine learning library
https://tribuo.org
Apache License 2.0
1.26k stars 173 forks source link

A new tutorial showing how to build and train a simple chat bot #208

Open ariyadey opened 2 years ago

ariyadey commented 2 years ago

Hi,

Tribuo is still considered a new library and there is no third-party tutorial out there. I wanted to build a chatbot by reading the documentation, but I gave up after a while. I found OpenNLP is much more beginner-friendly for this purpose.

I recommend adding a step-by-step tutorial on how to build and train a simple chatbot using Tribuo. I think that would be a great way to showcase the Tribuo capabilities in NLP. You can use either build-in methods or external libraries wrappers for this approach.

Craigacp commented 2 years ago

Do you mean this kind of thing - https://itsallbinary.com/create-your-own-chat-bot-in-java-using-apache-opennlp-artificial-intelligence-natural-language-processing/, or something else? The link I posted strikes me as a fairly complicated approach for intent routing and entity extraction/tagging. Intent routing can be seen as sentence/document classification and we discuss text featurization approaches for classification in our document classification tutorial. Lemmatizing and POS tagging the words as they do in that tutorial could help, but embedding based approaches tend to be more powerful. That said, we don't have any guidance for building NER models in Tribuo using our CRF or sequence models as our sequence feature extraction & sentence processing layer isn't open source, so a tutorial for entity extraction using plain Tribuo would be pretty useful.