I’m not really worried about the implementation (some intent classifier will suffice,
yes
because these commands do not combine compositionally true and don’t carry much context),
almost true. But to be honest context is KEY, but I agree if we assume that we’ll settle for a a single-turn no-context back and forward like
how are you?
I’m fine, thank you.
but I worry about the amount of chit-chat that needs to be programmed, and how much to prioritize.
I do wonder though if there is a way to avoid heavy implementation efforts.
the good news is that a static look up table (let me simplify) is “just” a data entry/for designer job
True chit-chat agents use a different tech, end-to-end neural dialog generation trained on some large dialog corpus like Reddit.
hmmm, I give you two famous examples where there is not machine learning involved:
- Google / Amazon assistants maybe (not fully sure, to be honest) use hard-coded back and forward question/answer chitchats:
- Mitsuku https://www.pandorabots.com/mitsuku/ (Leibner prize winner, etc,) here is all about contextual chitchats! It’s handcrafted by a single author, in more than 10 years of authoring.
On one hand end-to-end training is easy to build and on the other hand is hard to control (if you don’t control it, you get Tay, the Microsoft tweetbot that went off the rails). This is more of a research question though.
But wait Tay was a fully chatbot published as an open account on twitter (with bad crowdsoursing filtering). The good news for Almond is that your creature is private and it sustains 1-to-1 private conversations, right?
So the research I was mentioning is about this idea:
As I well understood, on Almond you are doing great job with LUINet+ThingTalk, following the concept of an assistant in the “agentive technology” meaning (Google would call this: “to get things done”). I really love the natural language programming by user! That’s amazing.
Beside that, one could explore the way to build-up the Almond botpersona. Chitchats a part, a possible idea is to let the user to program (bad term), say to share with the bot personal / user “facts” to build the Almond personality perfect for the user. You mentioned Tay and come in my mind that is maybe not so hard to teach to Almond facts in natural language… in the simplest way:
Almond, learn that I’m born in 1963. I’m Italian and I’m living in Genova, Italy.
blablabla
time after time Almond could set-up a knowledge graph of user facts (to be used also as thingtalk ingredient…)
Does it make sense for you?