One of the constraints we gave ourselves was that we wanted a fully in-browser solution, and transparently secure - no server-side backend, therefore no data protection issues.
With that in mind, any training we did would have to be done by us. This limits our rubber ducking to exploits within our areas of expertise, but does mean that any memory / cpu consumption occurs on the client machine. It is potentially limited, but it is not a drain on our resources.
Secondly, this was very much a toy made for the fun of it, so our "brain" is entirely hard coded. The language processing is very static, and very simple - so it converts "my problem" into "your problem" so that it can ask suitable questions while faking some intelligence, and there is a state machine that would allow us to make the wizard more flexible based on certain inputs.
So to answer your question specifically, if following the previous conventions, I would have tried to find some kind of word mapping to find categories from words in the sentence. For example, the question "I can't seem to get my stitching to look neat" or "my crochet hook keeps getting stuck" - it would notice the words "stitching" and "crochet" and decide the questions are related to haberdashery, so ask general questions from that domain (e.g. "can you unpick a little way and try again?", "are you keeping a consistent pressure on your thread / wool?")
Of course, this isn't perfect. A couple of people have noted that the duck can encourage you to hack people up (we discourage this course of action and offer no warrantee for any advice the duck appears to present, especially to anyone psychotically inclined). But inter-personal issues are one realm in which this dumb regex-matching falls down frequently - it's very hard to work out that the problem is actually a person, without asking the user directly. That said, this is something that the state machine allows.
Sorry if this isn't a very good answer. I've seen tools like https://github.com/harthur/brain or https://github.com/NaturalNode/natural and would love to attempt something with that in the future, but yes - my guess is that it would be slow to train, hard for us to cover all bases, and may not fit into the memory of the client's computer. Alternatively, one thing that we considered and ultimately rejected (mostly on UX grounds) was allowing users to send us their conversations so that we could improve them - again, a manual process, but one that possibly could be automated with a proper AI library and a pre-generated 'brain'!
What can I say? That's what v2 is for :)