m0ngr31 / kanzi

Alexa skill for controlling Kodi
https://lexigr.am
MIT License
427 stars 149 forks source link

[German] Slots don't appear to go 'generic' #176

Closed jingai closed 6 years ago

jingai commented 7 years ago

Since we cannot fit a user's entirely library into slot items (due to size) -- nor would we want to, as we don't want users to have to maintain them -- we depend on slots becoming generic so that, without a match, they will spit out the heard string verbatim.

In English, this has been working just fine for quite some time. In German, however, at least one user (@mcl22) has reported that this doesn't appear to happen. This leads to false or no matches.

In Amazon's documentation, they don't specifically reference the promotion of a slot to 'generic' -- at least, not that I've been able to find. They do say that custom slots should behave in this way, but the developer community (and us) have observed that there is some magic minimum number of items required for this 'promotion'.

Even at 150 items though, in German, this isn't happening.

mcl22 commented 7 years ago

Here are the logs for my WatchMovie example:

I said: "öffne kodi und zeig film john rambo" alexa: "alexa öffne kodi und zeig film rambo" log: Spiele Film Searching for movie "Rambo" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Trying to match: rambo Simple match on direct comparison Located movie "Rambo" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH***

I said: I said: "öffne kodi und zeige film john rambo" alexa: "öffne kodi und zeige film rambo" log: Spiele Film Searching for movie "Rambo" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Trying to match: rambo Simple match on direct comparison Located movie "Rambo" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH***

I said: I said: "öffne kodi und zeig den film john rambo" alexa: "alexa öffne kodi und zeig den film rambo" log: Spiele Film Searching for movie "Rambo" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Trying to match: rambo Simple match on direct comparison Located movie "Rambo" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH***

I said: I said: "öffne kodi und zeige den film john rambo" alexa: "öffne kodi und zeige den film rambo" log: Spiele Film Searching for movie "Rambo" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Trying to match: rambo Simple match on direct comparison Located movie "Rambo" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH***

I said: I said: "öffne kodi und spiele den film john rambo" alexa: "alexa öffne kodi und spiele den film john rambo" log: Spiele Film Searching for movie "John Rambo" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Trying to match: john rambo Simple match on direct comparison Located movie "John Rambo" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH***

mcl22 commented 7 years ago

Btw if I add "WatchMovie spiele den Film {Movie}" to the utterances, it will again fail :)

mcl22 commented 7 years ago

Wow, for this particular example I've just figured something really wired out. I tried the simulator witch the utterances (with "zeig(e)") and it worked. So I thought perhaps I don't speak clear enough. So I had my girlfriend talk to Alexa with the same results. Then, don't ask me why, I tried to say John in "John Rambo" in some german way. That worked! Funnily it doesn't matter how I pronounce "Rambo". She gets it either way. But "John" makes a difference. And that's really bad because noone, really noone would ever pronounce "John" the way I did it in this test. And that is for a lot of movies and of course song titles and album titles because a lot of them are english, also here in Germany, so anybody who only speaks a bit of english would try to pronounce it the english way.

And it doesn't change anything about the fact that with the "spiele" verb that is not part of the utterances it works even if I pronounce it the right way (english). Of course I do have to do more tests but I think this is a great point since of course also the most album titles I tested before were english and, if you remember, Boney M. is also something I pronounce in english :)

mcl22 commented 7 years ago

And one last thing for tonight that also indicates (doesn't it?) that speech is something that plays a role. I made her play the movies "Mission Impossible III" and "Rambo III". The logs say: Spiele Film Searching for movie "mission impossible 3" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Trying to match: mission impossible 3 Simple match failed, trying fuzzy match... Trying to match mission impossible III from <function digits2roman at 0x0355BC70> Fuzzy match 98% Located movie "Mission: Impossible III" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH***

Spiele Film Searching for movie "Rambo 3" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Trying to match: rambo 3 Simple match failed, trying fuzzy match... Trying to match rambo III from <function digits2roman at 0x0355BC70> Fuzzy match 100% Located movie "Rambo III" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH***

But her feedback is "spiele mission impossible three" for mission impossible and "spiele rambo drei". Perhaps I'm absoloutly wrong but for the complete english titled movie "mission impossible III" she responds with a spoken "three" and for "rambo" which could be german or english it's a "drei" (three).

danielmasur commented 7 years ago

Always check in Alexa App what she understands.

Am 28.05.2017 21:17 schrieb "mcl22" notifications@github.com:

And one last thing for tonight that also indicates (doesn't it?) that speech is something that plays a role. I made her play the movies "Mission Impossible III" and "Rambo III". The logs say: Spiele Film Searching for movie "mission impossible 3" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Trying to match: mission impossible 3 Simple match failed, trying fuzzy match... Trying to match mission impossible III from <function digits2roman at 0x0355BC70> Fuzzy match 98% Located movie "Mission: Impossible III" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH***

Spiele Film Searching for movie "Rambo 3" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Trying to match: rambo 3 Simple match failed, trying fuzzy match... Trying to match rambo III from <function digits2roman at 0x0355BC70> Fuzzy match 100% Located movie "Rambo III" Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH Sending request to http://127.0.0.1:8081/jsonrpc from device amzn1.ask.device.AH***

But her feedback is "spiele mission impossible three" for mission impossible and "spiele rambo drei". Perhaps I'm absoloutly wrong but for the complete english titled movie "mission impossible III" she responds with a spoken "three" and for "rambo" which could be german or english it's a "drei" (three).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/m0ngr31/kodi-alexa/issues/176#issuecomment-304534374, or mute the thread https://github.com/notifications/unsubscribe-auth/AV4WDZn7jlW43AdovnzGWeG1if9l4mHmks5r-cg8gaJpZM4NoqJF .

jingai commented 7 years ago

She will respond with the title that's in your movie library, which might possibly be localized. She's saying "spiele mission impossible three" because Kodi told her that's what it's called. Likewise for "Rambo drei".

jingai commented 7 years ago

But.. let's please stay on topic here. Nothing will get fixed if we can't even pinpoint the problem.

This Issue is specifically regarding slots not going generic in the German version.

@ausweider, are you having any trouble with the slots going generic? That is, if you ask for something that's not in your slots, does it still work via the fuzzy matching (or at least try)?

danielmasur commented 7 years ago

@jinga I'll update to the latest version and will try it out hopefully tomorrow.

Zappa logs will answer your questions right?

Am 28.05.2017 22:16 schrieb "jingai" notifications@github.com:

But.. let's please stay on topic here. Nothing will get fixed if we can't even pinpoint the problem.

This Issue is specifically regarding slots not going generic in the German version.

@ausweider https://github.com/ausweider, are you having any trouble with the slots going generic? That is, if you ask for something that's not in your slots, does it still work via the fuzzy matching (or at least try)?

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/m0ngr31/kodi-alexa/issues/176#issuecomment-304537530, or mute the thread https://github.com/notifications/unsubscribe-auth/AV4WDdWQ4Ek8hiY5cbD-rWAe0LfIF4-nks5r-dYCgaJpZM4NoqJF .

jingai commented 7 years ago

@ausweider Aye, the logs will show if it's working or not. The expectation is that if you ask for a library item that isn't in your slots, it should still send what it heard to the skill for fuzzy matching. In the English skill, it definitely does do this. But @mcl22 has described some behavior previously that leads me to believe his slots are not being promoted to generic.

jingai commented 7 years ago

Testing this a bit.. unfortunately I have to use the simulator, since I don't speak German.. but this is what I've tried (all with media that is not in my slots):

zeige film four hundred days
spiel four hundred days
zeige staffel eins folge eins von the simpsons
zeige letzte folge von the simpsons
zeige nächste folge von the simpsons
ob du eine neue episode von the simpsons
spiel the simpsons
spiel das album ok computer
spiel das album ok computer von der band radiohead
spiel musik von der band radiohead
spiele aktuelles album von radiohead
spiele das lied airbag von radiohead
zufallswiedergabe album ok computer
zufallswiedergabe album ok computer von radiohead
zufallswiedergabe radiohead

All of the above worked just fine for me.

spiel musik von radiohead did not work at all -- failed to generate request, which usually means there's a collision in the utterances.

spiel/spiele radiohead did not work either. It instead started Party Mode. Since this is a very short, generic command, Alexa is simply confusing the request with one of the PartyMode utterances.

In summary.. I'm not really seeing any major issues here. Besides a couple things that are possibly collisions, my slots are indeed generic.

mcl22 commented 7 years ago

Thanks a lot for testing. As written yesterday I meanwhile also recognized that the utterances work perfectly with the simulator. But if spoken to Alexa it unfortunately does not ... for me. I also had my girlfriend test a lot of phrases but that didn't work either. And I can absolutely reproduce her behaviour. In the example on top she would really always play "John Rambo" if I just say "spiele" instead of "zeige". And only as long as "spiele" is not part of the utterance. This was an example with my own utterances. I mean that I do have 4 versions for WatchMovie.

So here is another one with the original utterances which only do have one entry for WatchMovie which is "zeige {movie}". This time I chose a german movie for not running into even more conflicts with pronounciation for german and english. The movie is called "Männertag". If I use the utterance and say "zeige Film Männertag", she won't do it but instead show "Darkness", "Illuminati" or whatever. If I say "zeige den Film Männertag" she would do it in let's say 70-80%. This is not as perefctly as for the example above with "John Rambo" and 4 utterances. But at least she would never play the right movie if I just use the utterance.

I don't know if you can help here because to me it seems it could be some problem with the german version of Alexa. Though the utterances seem to influence this behavior a lot. And not in the obvious way as "spiele" works and "zeige" does not :)

I don't want to be impolite but please let me ask ausweider in german now, just because it's easier to explain what I'd like him to test.

mcl22 commented 7 years ago

@ausweider ich weiß garnicht wo ich anfangen soll. Ich nehme an, Du hast die Diskussionen der letzten Tage hier nicht mitverfolgt. Es geht mir hauptsächlich darum, dass die Slots bei mir nicht "generic" werden. Soll heißen, dass bspw. Filme, die nicht in den Beispielen des Movie-Slots enthalten sind, i.d.R. nicht gefunden werden. Bzw. spielt Alexa stattdessen einen Titel, den sie in den Beispielen gefunden hat.

Erstmals fiel mir das auf als ich Musik von Boney M. hören wollte und stattdessen Bonnie Tyler geliefert bekam. Ich dachte zunächst, dass es vielleicht an dem abgekürzten M. liegt. Aber nachdem ich Boney M. in die Beispiele mit aufgenommen hatte, konnte Alexa wunderbar zwischen Bonnie Tyler und Boney M. unterscheiden.

Nun können wir ja aber nicht alle Künstler, Filme, etc. in die Beispiele aufnehmen. Daher ist man darauf angewiesen, dass die Slots "generic" werden und Alexa somit alles was nicht in den Beispielen ist einfach eins zu eins an den Skill übergibt.

Ich habe daraufhin sehr viel mit den Utterances rumgespielt und dann bin ich kürzlich über etwas wirklich seltsames gestoßen. Ich habe in meinen eigenen Utterances 4 Einträge für WatchMovie: WatchMovie zeig Film {Movie} WatchMovie zeig den Film {Movie} WatchMovie zeige Film {Movie} WatchMovie zeige den Film {Movie} Keiner von denen funktioniert zuverlässig mit Filmen, die nicht in den Beispielen aufgelistet sind. Nun habe ich mich beim Testen einmal aus Versehen versprochen und "spiele den Film XY" gesagt. Und siehe da, plötzlich ging's. Und das ist für mich wirklich zu nahezu 100% reproduzierbar. Wenn ich die oben genannten Utterances nehme und dann spiele statt zeige sage, dann spielt sie den richtigen Film. Und zwar wirklich ganz genau. Bsp. habe ich "Zoolander 2" in den Beispielen und "Zoolander" nicht. Sage ich "spiele den Film Zoolander" spielt sie Zoolander, so wie es sein soll.

Jetzt hast Du ja vermutlich die originalen Utterance und somit nur "WatchMovie zeige Film {Movie}". Hier kann ich folgendes nachstellen: "Männertag" ist nicht in den Beispielen drin. Sage ich "zeige Film Männertag" spielt sie "Darkness" oder irgendwas anderes. Sage ich hingegen "zeige den Film Männertag" funktioniert es zumindest halbwegs in ca. 70-80% der Fälle. Nicht so zuverlässig wie bei dem anderen Beispiel aber gut genug um behaupten zu können, dass da ein markanter Unterschied besteht. Zumahl es halt mit dem originalen Utterance garnicht klappt. Wirklich nie!

Das Überprüfen in der App was Alexa angeblich gehört hat, ist i.d.R auch nicht sehr zielführend. Denn wenn sie bspw. "Darkness" statt "Männertag" spielt, behauptet sie in der History auch "Darkness" gehört zu haben. Ich kenn das, wenn sie z.B. mal was wirklich nicht richtig verstanden hat, dann steht da auch mal sowas wie "hören Alben vom Kunst Meat Loaf". Also wirklich grammatikalisch falsches aber wohl von ihr verstandenes Zeug. Wenn sie hier aber einen falschen Film spielt, dann steht da ganz exakt der Utterance plus der Filmname, den sie meint. Egal wie undeutlich ich da auch mal testweise versucht habe zu sprechen.

Im Simulator funktionieren die originalen Utterances übrigens einwandfrei.

Gut, (sehr) lange Rede, kurzer Sinn: ich würde mich freuen, wenn Du mir ein Feedback geben könntest, ob das bei Dir mit Filmen oder auch Künstlern, Alben, Songs mit den normalen Utterances funktioniert, wenn die Items nicht in den Beispielen vorhanden sind.

Am Rande, ich hoste den Skill selbst.

Beste Grüße

mcl22 commented 7 years ago

I now recognized that "PlayMedia spiel(/e) {Movie}" works extremely good. It refers to another intend but really matches almost everything while "WatchMovie zeige Film {Movie}" still fails most of the times. Perhaps some utterances are too similar so that combined with a perhaps not always 100% clear speech it matches something wrong? Gonna test more :)

jingai commented 7 years ago

I now recognized that "PlayMedia spiel(/e) {Movie}" works extremely good. It refers to another intend but really matches almost everything while "WatchMovie zeige Film {Movie}" still fails most of the times.

Because that method uses fuzzy matching for everything except movies (which it still does, but also includes the slot items). You're seeing that the fuzzy matcher is actually quite good :)

The problem is, you seem to have trouble with your skill passing the heard strings to let this happen in the other code paths.

danielmasur commented 7 years ago

@mcl22 send me an email to ausweider@gmail.com please. I have a german reply to your post. I think its polite to move the german conversation elsewhere :) We should work together to put the utterances on a diet.

I updated my sources yesterday evening, but couldn't really test that much yet. I can say that the simulator always works fine, but the one time I tried to play music that was not in the Slot failed. Instead of playing Sepultura it played Rotor, using "Spiele Musik von Sepultura". Hopefully I can test more extensively today.

mcl22 commented 7 years ago

I contacted ausweider. Perhaps together we can find out more about what's going on with the german utterances :)

jingai commented 7 years ago

You are welcome to speak German here too -- it's totally relevant to the Issue at hand.

Additionally, @ausweider you're welcome to join us in #translation on Slack. Speaking in German there is fine as well.

mcl22 commented 7 years ago

I just did the following. I cut down the intent schema to only WhatNewAlbums, WhatNewMovies and WatchMovie and trimmed the utterances down to 54. For WatchMovie I do have these utterances: WatchMovie dem Film {Movie}
WatchMovie den Film {Movie} zeigen WatchMovie den Film {Movie} zu zeigen
WatchMovie es den Film {Movie} zeigen soll
WatchMovie zeig Film {Movie} WatchMovie zeig den Film {Movie} WatchMovie zeige Film {Movie} WatchMovie zeige den Film {Movie}

The first is build for a phrase like "ask for movie {movie}" (it's not ask to play just ask for). All the others are build with "zeige" (show). I try to watch the movie "Männertag" (not part of the slot samples). So, here is what I've found so far:

1.) sage (say) and frage (ask) seem to work better that öffne (open). E.g. "FRAGE/SAGE kodi (UND) zeige den film ..." would work most of the time. Öffne (open) won't do it. Also the "und" (and) improves the matching. I know that users can add under certain circumstances an "and" but here you'd either need "öffne ... und" (doesn't work) or "sage ... zeige / dass es zeigen soll".

2.) If I use "FRAGE kodi NACH dem film ..." it works pretty good. Not perfect but good.

3.) A really good result I get with "SAGE/FRAGE kodi den film ... zu zeigen". The problem with all those phrases is, they are not german :)

The first example wouldn't even make sense in english "say/ask alexa (and) show movie ...". There is no "to" in this meaning. "ask to" would be "bitte kodi zu zeigen" but with bitte (ask to) it won't work either.

The 2nd one just means "ask kodi for the movie ...". It's actually no show the movie or something just ask for it.

The 3rd gives the best results with phrases from the utterances but it means "say/ask kodi to play movie ...". That makes sense in english but it doesn't in german as "ask to" would be something like "bitte kodi zu" and "bitte" doesn't work here. And if you want to use say, the sentence would more be like "sage kodi, dass es ... soll" which is covered by utterance 4 that's performing similar to number 1.

And now, not for the first time, I have to mention this :) By far the best results I get by using "Sage kodi spiele den film ...". Sage works better as said before and "spiele" is not in the utterances. But this combination really works perfectly. No matter how clear or not clear I speak it always matches the right one.

So what do we learn from that? I'm not sure. I really went through the Amazon documentation and noted all "starting words" for german like ask/open/... and tried to build meaningfull sentences. It all didn't really help. Some work better some don't.

To me it seems that words that are very common in english like ask (to) and tell (to) work much better but are only translated one on one. Because tell to would actually be "befehle... zu" and not "sage" (perhaps "erzähle" works here, too which means "tell" but only in the meaning of "tell a story" :)). And say to would build another sentence like "sage, dass ... tun soll". Also ask to would more mean "bitte ... zu" and ask itself is only used for real questions in german like "ask if" or "ask where/who/when".

And well the other thing is that she performs much better if the verb is not part of the utterance. It sounds stupid but it is. This also works e.g. for ListenToArtist. I have all utterances build with "spiele" (play) here (not in the test scenario described above) and if she doesn't match the right one I say "höre" (listen) and it works!

Last example I want to share here is the movie "cabin fever". Part 2 is in my samples. With the normal utterances I can't get her to play part 1 which is only called "cabin fever". No matter how I try. But guess what, saying "sage kodi spiele den film cabin fever" she just performs right.

Well I don't know what to do with this knowledge now, but I wanted it to be documented :)

jingai commented 7 years ago

I think it just shows that the design guidelines are probably the same between English and German, but they shouldn't be.

Amazon might be in the same position as us: the main developers are English speakers.

The way they build the interaction model off of just strings (the sample utterances) is all a bit magic honestly. It wouldn't surprise me one bit if the grammatical parsing they have is just not as good/correct for German.

digiltd commented 7 years ago

I have been dipping in and out to the whole english/german problems reported by @mcl22 (all excellent research btw, I'm sure the Amazon Dev forums would benefit from reading about your extensive testing)

i not sure if this has been considered before, but could the problem be more to do with the skill being set to German, the utterances examples also in German (as they should be) but the custom slot lists are mostly constructed using English words. So when the Skill is set to German, it is expecting to hear German words which are both spelt and pronounced very differently, but instead you are giving it English words which is isn't looking out for.

So a crude example would be in the phrase "Alexa, spiele den film cabin fever" is sent to Alexa as

"Alexa, germanword germanword germanword englishword englishword"

when she is expecting

"Alexa, germanword germanword germanword germanword germanword"

but of course as you have reported she does understand the englishword englishword bit, but is she doing this more as guess work where she can't find the word in the regular dictionary so she attempts to match sounds, piecing them together to form words (as she does for names etc)

So is she having problems because she is always resorting to trying to build a word out of the sounds she hears (rather than matching it to a word she knows)

@mcl22 are you able to test with a slot list of all German movie titles, just to see if that gives you more consistent results?

Something like "Alexa, germanword germanword germanword germanwordforcabin germanwordforfever"

I have nothing to back this up, it is just food for thought :)

mcl22 commented 7 years ago

First of, thanks a lot for digging into this issue. It's a really good theory that it could be about Alexa expecting "only" german words. I once tried to test that by saying titles with german pronounciation which btw sounded pretty poor :) I also already had problems with german titles like "Männertag" or a band just called "s.t.s." which is pronounced german. But I'll try to find the time to test what you suggested. But if this was the problem Amazon should get into big trouble because a lot of artists and movies do have english names - not only here in Germany.

I also wanna try to explain what it feels to me so far. This might sound wired but isn't the whole thing pretty strange:) Here we go: I have the feeling that if I use an utterance just as it is noted in the samples, Alexa somehow acts like "ok the utterance is 100% right, so should the given input be, too". Meaning if the utterance is correct, the user must have meant something from his slot examples. Exception: the given input is so much away from any similarity that she would pass it either.

But if the utterance is not exactly what the samples say but close enough to her to identify the right intend, she seems to be more moderate with the given input. Something like "well, the utterance is not 100% right, perhaps the input is neither".

Let me give you an example. Today I updated the skill and regenerated my slot items, so the album "bat out of hell" is no longer part of my samples. If I now take one of the utterances "spiele das album bat out of hell" she tries to play different albums from adele. If I speak really slow and pronounce in german she sometimes indeed matches "bat out of hell". I tried it speaking clearly, fast, slowly, different pronounciations, .... So far one could think, ok it's really about her expecting german words or whatever.

But, if I know change my demand into "höre das album bat out of hell" she instantly matches the right one. And I don't have to speak unnatural in any way. This is something I often recognized during the last weeks testing this behaviour. I often thought "ah ok, perhaps it's me speaking to fast or not clear enough" or "it's about pronounciation" or "it's just because she has e.g. Rambo in the utterances and because of that won't play John Rambo" ... And then I changed the verb and it all worked.

Other examples that I just tried: I do have some audio books which chapters are just called "Teil 1" (part 1) and so on. "Part 41" and "Part 075" are part of the slot samples. Now asking her to play "Part 40" by using "spiele" she plays "Part 075", using "höre" she plays "Part 40". Wanna listen to the song "Wenn du nur wüsstest". Using "spiele" she plays "Wenn du lachst" (part of the samples), using "höre" she matches the right one.

danielmasur commented 7 years ago

I did all my testings with the movie called "wenn der wind weht", no difference. My next tests will be to remove the PlayMedia and WatchVideo intents and test again. I think Alexa gets confused here. The utterances need to be more specific/unique.

jingai commented 7 years ago

I recently updated generate_custom_slots.py to try to evenly-distribute titles by length. Could you guys try re-generating your slots using it and see if things improve at all?

mcl22 commented 7 years ago

Currently I'm pretty busy but I will try it later. But I already can tell you that when I first was playing around with the utterances, I already populated my custom slots in the "right" relation. But actually I didn't define it by length but by the amount of words a title consists of (I read that somewhere on the documentation) meaning if I had 30% titles consisting of 2 words like "die hard" in my library I also selected 30% of titles consisting of 2 words for my samples. Same for singles, 3 words and so on.

At least that, didn't change anything for me :(

jingai commented 7 years ago

Yes, that's what I did -- it evenly distributes strings by number of words. While I am certain it will help overall, I was kind of hoping it might help the problems your seeing here in this Issue.

jingai commented 7 years ago

It appears there's a problem with the German utterances for ListenToGenre. spiele christmas musik von celine dion will return christmas in the first slot correctly, but the second slot is None.

If you instead be more specific with something like spiele christmas musik von dem komponisten celine dion it passes both slots correctly.

I don't know if this is due to something in the utterances or a problem with Amazon's builder, though.

jingai commented 7 years ago

Is anyone willing to work on this?

mcl22 commented 7 years ago

Basically I would. But I'm having a very busy time at the moment so I can't promise anything. And to be honest, I guess I'm only gonna have more time for something like this at the beginning of next year :)

jingai commented 6 years ago

Just checking in on this.. is it still broken in the same way(s) for German users?

jingai commented 6 years ago

We're not getting many German language specific complaints on the forums or anything, so I'm going to close this soon unless someone chimes in and tells me not to.