estiens / caterpillar_rails

Caterpillar is a harm reduction chatbot that allows people to get information about substances using natural language through a variety of channels (SMS, messenger, slack, etc)
MIT License
22 stars 1 forks source link

Rasa Migration and Collaboration #35

Open pyt0xic opened 2 years ago

pyt0xic commented 2 years ago

Hi,

I've recently started working on my own harm reduction chatbot using Rasa and someone from tripsit pointed me to your repo.

I see that you are planning on migrating to Rasa and seeing that we are both trying to achieve the same goal with the same framework, perhaps you'd be interested in collaborating?

Here's the link to my repo, https://github.com/pyt0xic/pablo-bot

I've still got a long way to go, the biggest hurdle obviously being defining all the intents and setting up a knowledge base to enable the bot to handle contextual and clarifying replies. I am planning on using lookup tables for most of the entity recognition (with synonyms to improve results).

estiens commented 2 years ago

Hi there!

Yes, unfortunately life took over and I never had a chance to get it up - I'm happy to give you a dump of all the substances and synonyms I have, if it would be useful!

I was also thinking about moving towards stateful contexts to ask clarifying questions - when this bot was up it pulled from tripsit and psychonautwiki (both have APIs) and handled a number of different intents (from dose information to combinations)

I'll check out your repo in the next couple of weeks here, but in the meantime let me know if you could use anything in particular.

pyt0xic commented 2 years ago

Hey @estiens sorry for only getting back to you now! Been busy with work stuff.

I've pulled all the PN and TS API data into a JSON file and I'm trying to work out the best way to integrate with Rasa, I believe a knowledge base would be the best course of action and I have tested some basic things but I am struggling to work out the best way to A.) Format and store the data and B.) Integrate it with Rasa. Currently I am loading the JSON into a dict and using an inMemory knowledge base but it doesn't work well with the default method provided by Rasa. I am going to have to write my own custom actions I think.

In terms of what I could use from you, I'd love to know how you were storing and accessing the data, could help with figuring out how to structure mine. Also, I am desperately in need of training data. Anything would be useful, particularly intents and entities that you defined. I don't know if it would be okay in terms of privacy but if you could share some chat examples it would help too in figuring what what I need to define and what the bot should be able to handle. Any advice with that would be appreciated.