Botframework svar med hensikt med lavere score

stemmer
0

Jeg har en bot som bruker to LUIS apps som en LuisRecognizers å gjette klienten hensikt. Mitt spørsmål er hvorfor boten svare intensjonen som har den laveste poengsummen? Jeg dobbelt sjekket dette, og hvis jeg manuelt sjekke scoren gjennom Luis dashbord så jeg fikk noe sånt som: IntentA med resultatet 0,92 og IntentB med resultatet 1. Og hvis jeg passerer samme inngang gjennom botframework det svar med IntentA som har lavere score. Har jeg gått glipp av noe? Jeg prøvde å spille med intentThreshold, recognizeMode eller recognizeOrder, alle nevnt i dokumenter, men ikke har fått bedre resultater.

Publisert på 02/12/2016 klokken 16:56
kilden bruker
På andre språk...                            


2 svar

stemmer
1

Hvis du tenker på C # -kode av BotFramework kan du se "den beste hensikt fra" funksjonen ble implementert som følgende:

protected virtual IntentRecommendation BestIntentFrom(LuisResult result)
{
    return result.Intents.MaxBy(i => i.Score ?? 0d);
}

Hvis du ønsker å teste dette, kan du overstyre den i LuisDialog, for å se detaljer om sin mekanisme (ved å logge score til intetnts). som du kan se maks poengsum vil bli valgt på beslutningspunkt. Du kan også finne Luis kjenneren i NodeJs :

LuisRecognizer.recognize(utterance, model, (err, intents, entities) => {
                if (!err) {
                    result.intents = intents;
                    result.entities = entities;

                    // Return top intent
                    var top: IIntent;
                    intents.forEach((intent) => {
                        if (top) {
                            if (intent.score > top.score) {
                                top = intent;
                            }
                        } else {
                            top = intent;
                        }
                    });
                    if (top) {
                        result.score = top.score;
                        result.intent = top.intent;

                        // Correct score for 'none' intent
                        // - The 'none' intent often has a score of 1.0 which
                        //   causes issues when trying to recognize over multiple
                        //   model. Setting to 0.1 lets the intent still be 
                        //   triggered but keeps it from trompling other models.
                        switch (top.intent.toLowerCase()) {
                            case 'builtin.intent.none':
                            case 'none':
                                result.score = 0.1;
                                break;
                        }
                    }
                    cb(null, result);
                } else {
                    cb(err, null);
                }
            });

Igjen det samme som C # -kode, gjenkjenneren choosees maks score, dersom det foreligger en søknad modell i Luis. Derfor ikke dette problemet kommer fra klienten. Derfor kan et forslag være med tanke på JSON responsen i LUIS som er mottatt til klienten.

Svarte 05/12/2016 kl. 09:45
kilden bruker

stemmer
0

Har du prøvd fra LUIS dashbordet ditt publisert modell? Jeg hadde det samme problemet fordi LUIS ikke var publisere min modell riktig i øyeblikket, og det gjorde ikke ta endringene jeg har gjort, så trente modellen fungert perfekt i dashbordet, men publiserte ikke.

Jeg prøvde neste dag, og det publiseres alt riktig i begge, dashbordet og botframework.

Svarte 25/09/2017 kl. 08:11
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more