Hello all,
I’m trying to do the following:
- Use Rhasspy for WWS + STT + TTS
- Use Tock for intent recognition and entities extraction
About Tock: its an NLP system created by the French SNCF trains transport company, released as Open Source (http://doc.tock.ai/tock/en/)
Project description:
In my project, Tock will receive STT messages from Rhasspy by pointing to its REST API (Intent recognition > Remote HTTP)
By feeding Tock with STT messages, I can “learn” it how to match relevant intents and extracts entities.
For example:
- I say “allume la cuisine” (light on the kitchen) to Rhasspy.
- Tock will receive “allume la cuisine”.
- I tell Tock that the corresponding intent is “lumieres” and there are 2 entities:
- “action” --> “allume” (in english: “action” --> “light on”)
- “piece” --> “cuisine” (in english: “room” --> “kitchen”)
The next time I will say “allume la cuisine” Tock will answer back with the corresponding intent/entities for the sentence.
The major improvment for me comes here:
The more I speak with Tock, the more new sentences it will learn, thus becoming able to handle them.
After some time, Tock will be autonomous and pertinent/precise enough to “guess” the correct intent and entities for new sentences. (without needing me !)
So, even if the STT were not precise; Tock would still be able to “guess” the pronounced order and will apply the relevant answer.
This will be usefull to decorelate the way to say an order and the expected result. So the system will be able to understand different human speakers, even if each one has its custom way to say the order.
The corresponding action will theoretically always be triggered.
The gains for me are:
- No need to maintain the sentences.ini on Rhasspy (it will be centralized in Tock)
- No restricted/closed sentences list anymore (as I would like to use Open Transcription)
- No more need to anticipate each way an order could be pronounced in sentences.ini to make sure it will match Tock’s AI will manage this)
- The system will become virtually able to handle an infinite amount of orders thanks to Tock’s AI which will just need some time to learn.
Current project status:
-
Making Rhasspy and Tock interacting is OK (by using their respectives APIs and Node-Red in the middle)
-
Sending a TTS feedback for orders is not currently done (By using Node-Red and Rhasspy /tts/say API I think it will not be too challenging)
-
STT from Rhasspy + intent recognition into Tock + action triggering is OK (even with new sentences that Tock had to learn by itself). But only with the sentences described in the sentences.ini
The problem I’m facing:
My setup is currently able to handle any sentence I registered in the sentences.ini (with no intent/entities description)
Example:
-
Before:
[lumieres]
(allumer | éteindre | allume | éteins){action} (le | la |) (toutes les lumières | salon | séjour | cuisine | chambre 1 | chambre une | buanderie | réserve | jardin | bureau | salle de bain | miroir | couloir | lumière de devant | escalier | wc | toilettes | palier){piece} -
Current:
[lumieres]
(allumer | éteindre | allume | éteins) (le | la |) (toutes les lumières | salon | séjour | cuisine | chambre 1 | chambre une | buanderie | réserve | jardin | bureau | salle de bain | miroir | couloir | lumière de devant | escalier | wc | toilettes | palier)
So, as my orders are recognized and the relevant actions gets triggered, I suppose my setyp is working. (am I wrong ?)
The only thing I’m stuck with is that I cannot clear the sentences.ini and switch to Open Transcription mode.
I’m using Kaldi. If I clear sentences.ini + selects open transcription mode + set mixed language weight to 1 + restart Rhasspy & download Open Transcription models + re-trained; Rhasspy STT is still unable to translate sentences not registered in sentences.ini (I get irrelevant results, even if I say simple unique words like “allume”)
It behaves like if the Open Transcription model were not used.
Is what I’m trying to achieve not possible ?
Is Open Transcription the right option to achieve what I need ?
Thak you for your help
Best regards