NLP, standing for Natural Language Processing, would allow us to analyse the users speech structures more efficiently and make smarter things with OVIA
Currently, OVIA is very simple, you give her a list of word to recognize in your plugins and she will find them in the user speech, and process with them not more, using matching, you can pronounce the sentence which contains your order and it will launch an attached task.
An example with the current weather module, if your position is set to London,
User: "OVIA, whats the weather ?"
or
User: "OVIA, weather"
or
User: "OVIA, can you give me the weather please?"
OVIA will always have the same answer:
OVIA: "Today is a rainy day in London"
But what if i want the New-York weather ?
User: "OVIA, what's the weather in New-York?"
User: "OVIA, weather in New-York?"
User: "OVIA, New-York Weather"
Ovia will always have the same answer:
OVIA: "Today is a rainy day in London"
It does not work
Why OVIA is talking about the London's weather ? because it's hard-coded, she only recognize keywords in the sentence like "Weather", "temperature" using the matching methods ...
and the setup city in profile.yml
is London,
Basically, when modules keywords are detected, it trigger the specific module and this module use the availlable informations in profile.yml
, without going further, and then the TTS say the prepared sentence. its not "smart".
Using NLP, we could recognize and analyze intelligently each word functions, sentences structures, detect places in sentences, meanings, and even users feelings to adapt OVIA's behaviors and make her smarter, and maybe compare her to current proprietary solutions where privacy notions doesn't exist.
Issue in progress