Beskriva förståelse för konversationsspråk

Slutförd

Om du vill arbeta med förståelse för konversationsspråk (CLU) måste du ta hänsyn till tre grundläggande begrepp: yttranden, entiteter och avsikter.

Yttranden

Talindata är ett exempel på något som en användare kan säga och som ditt program måste tolka. En användare som använder ett hemautomatiseringssystem kan till exempel använda följande talindata:

Sätt på fläkten.

Tänd lampan.

Entiteter

En entitet är ett objekt som talindata refererar till. I följande talindata är fläkten och lampan entiteter:

Sätt på fläkten.

Tänd lampan.

Du kan se entiteterna fläkt och lampa som specifika instanser av en allmän enhetsentitet (”device”).

Avsikter

En avsikt representerar syftet, eller målet, med användarens talindata. För båda de tidigare övervägda yttrandena är avsikten till exempel att aktivera en enhet. Så i ditt CLU-program kan du definiera en TurnOn-avsikt som är relaterad till dessa yttranden.

Ett CLU-program definierar en modell som består av avsikter och entiteter. Talindata används för att träna modellen för att identifiera den mest sannolika avsikten och de entiteter som den ska tillämpas på, utifrån givna indata. Hemassistentprogrammet som vi har diskuterat ovan skulle kunna innehålla flera avsikter. Exempelvis:

Avsikt Relaterade talindata Entiteter
Hälsning ”Hej”
”Hallå”
”Tjena”
”God morgon”
TurnOn ”Sätt på fläkten” fläkt (device)
”Tänd lampan” lampa (device)
”Sätt på lampan” lampa (device)
TurnOff ”Stäng av fläkten” fläkt (device)
”Släck lampan” lampa (device)
”Stäng av lampan” lampa (device)
CheckWeather ”Vad blir det för väder idag?” idag (datetime)
”Ge mig en väderprognos”
”Hur blir vädret i Paris?” Paris (location)
”Hur blir vädret i Seattle imorgon?” Seattle (location), imorgon (datetime)
Ingen ”Vad är meningen med livet?”
”Är den här på?”

I tabellen finns det många yttranden som används för var och en av avsikterna. Avsikten bör vara ett kortfattat sätt att gruppera talindata. Av särskilt intresse är avsikten None. Du bör överväga att alltid använda avsikten Ingen för att hantera yttranden som inte mappar något av de yttranden som du har angett. Avsikten Ingen betraktas som en reserv och används vanligtvis för att ge ett allmänt svar till användare när deras begäranden inte matchar någon annan avsikt.

När du har definierat entiteter och avsikter med exempelyttranden i ditt CLU-program kan du träna en språkmodell för att förutsäga avsikter och entiteter från användarindata – även om den inte exakt matchar exempelyttrandena. Du kan sedan använda modellen i ett klientprogram för att få förutsägelser och svara på lämpligt sätt.