2016-08-03 15 views
3

Ich arbeite mit der Sprachverstehensdienst-API von Microsoft Cognitive Service, LUIS.ai.Token-Unterbrechungen bei Satzzeichen deaktivieren LUIS.ai

Immer wenn Text von LUIS analysiert wird, werden Leerzeichen immer um Interpunktion eingefügt.

Dieses Verhalten ist beabsichtigt, nach der documentation.

„Englisch, Französisch, Italienisch, Spanisch: token Umbrüche werden bei jedem Leerzeichen eingefügt, und um jede Interpunktion.“

für mein Projekt, ich brauche die ursprüngliche Abfrage-String zu erhalten, ohne diese Tokens, da einige Einheiten für mein Modell trainiert wird Interpunktionszeichen enthalten, und es ist ärgerlich und ein bisschen hacky das zusätzliche Leerzeichen aus den analysierten Entities abzustreifen .

Beispiel für dieses Verhalten:

enter image description here

Gibt es eine Möglichkeit, dies zu deaktivieren? Es würde eine Menge Aufwand sparen.

Danke !!

Antwort

1

Leider gibt es keine Möglichkeit, das für jetzt zu deaktivieren, aber die gute Nachricht ist, dass die zurückgegebenen Vorhersagen sich mit der ursprünglichen Zeichenfolge befassen, nicht mit der im Beispiel beschrifteten Zeichenfolge.

Hier in der Dokumentation von how to understand the JSON response können Sie die Beispielausgabe Bewahrer sehen die original „Abfrage“ string, und die extrahierten Einheiten haben die Null basierende Zeichenindizes ("startIndex", "endIndex") in der ursprünglichen Zeichenfolge; Auf diese Weise können Sie mit den Indizes statt mit analysierten Entitätssätzen umgehen.

{ 
"query": "Book me a flight to Boston on May 4", 
"intents": [ 
    { 
    "intent": "BookFlight", 
    "score": 0.919818342 
    }, 
    { 
    "intent": "None", 
    "score": 0.136909246 
    }, 
    { 
    "intent": "GetWeather", 
    "score": 0.007304534 
    } 
], 
"entities": [ 
    { 
    "entity": "boston", 
    "type": "Location::ToLocation", 
    "startIndex": 20, 
    "endIndex": 25, 
    "score": 0.621795356 
    }, 
    { 
    "entity": "may 4", 
    "type": "builtin.datetime.date", 
    "startIndex": 30, 
    "endIndex": 34, 
    "resolution": { 
     "date": "XXXX-05-04" 
    } 
    } 
] 

}