2017-09-27 2 views
1

Hier ist, was ist in meiner Absicht zu erhalten:Api.ai versagt Parameter Wert

Intent screenshot

API.AI scheint zu lösen die Abfrage richtig (rote Kästen)

Es ruft auch die richtigen Maßnahmen (Blue-Box und blauer Pfeil)

Aber der Parameterwert von „FlightID“ leer ist, wo sollte es 78.160 (grüne Kästen sein)

Was ist t Der Grund des Problems und warum ist die Punktzahl nur 0,67?

Update: Ich frage mich nur, ob dies ein Problem mit api.ai ist, denn wenn ich Webhook Fulfillment entfernen (nicht im Bild gezeigt), ist der Parameterwert für flightId immer noch leer. Übrigens, das hat gestern mit einer Webhook-Lösung funktioniert. Das Problem ist, dass der Parameterwert für flightId fehlt, bevor ein Code im Webhook ausgeführt wird.

+0

Wurde die Flug-ID (78160) im Benutzer als Beispiel für die FlightId-Entity kommentiert? – matthewayne

+0

@matthewayne Können Sie bitte Ihre Frage mit Interpunktionen umformulieren. Ich folge nicht, was du verlangst. Danke –

+0

Wurde "78160" als FlightId-Entity im "user says" -Beispiel in der Absicht annotiert? – matthewayne

Antwort

1

Ich habe das Problem herausgefunden. Das Bild wird nicht angezeigt, aber das Problem war, dass ich unwissentlich einen neuen Entitätstyp namens @flightId erstellt habe. Der neue Entitätstyp funktioniert ähnlich wie ein Aufzählungstyp. Beim ersten Mal wurde der Wert automatisch zur Enum-Sammlung hinzugefügt (kann auf der Entitätsseite angezeigt werden). Wenn ich mit anderen Werten lief, ist der Parameter leer. Bis ich sie der Enumsammlung hinzufüge (kommentiere, wie matthewayne es nannte).

So, um das Problem zu beheben, entfernte ich den neuen Entitätstyp @flightId vollständig. Sie müssen keinen neuen Entitätstyp erstellen. Mach es einfach zu einem @ sys.any. Möglicherweise gibt es noch andere integrierte Typen, die ebenfalls funktionieren könnten (@ sys.any scheint nicht zu stark typisiert zu sein).

Seitennotiz: Jetzt, wo ich Matthewaynes 3. Kommentar gelesen habe, macht es einen Sinn. Aber der Begriff Annotate hat mir am Anfang nicht viel bedeutet.