Share via


Aangepaste opdrachten-toepassingen ontwikkelen

Belangrijk

Aangepaste opdrachten worden op 30 april 2026 buiten gebruik gesteld. Vanaf 30 oktober 2023 kunt u geen nieuwe toepassingen voor aangepaste opdrachten maken in Speech Studio. Met betrekking tot deze wijziging wordt LUIS op 1 oktober 2025 buiten gebruik gesteld. Vanaf 1 april 2023 kunt u geen nieuwe LUIS-resources maken.

In dit artikel leert u hoe u toepassingen voor aangepaste opdrachten ontwikkelt en configureert. Met de functie Aangepaste opdrachten kunt u uitgebreide apps voor spraakopdrachten bouwen die zijn geoptimaliseerd voor spraak-first interactie-ervaringen. De functie is het meest geschikt voor het voltooien van taken of scenario's voor opdracht en beheer. Het is geschikt voor IoT-apparaten (Internet of Things) en voor omgevings- en headless apparaten.

In dit artikel maakt u een toepassing waarmee u een tv kunt in- en uitschakelen, de temperatuur kunt instellen en een alarm kunt instellen. Nadat u deze basisopdrachten hebt gemaakt, krijgt u meer informatie over de volgende opties voor het aanpassen van opdrachten:

  • Parameters toevoegen aan opdrachten
  • Configuraties toevoegen aan opdrachtparameters
  • Interactieregels bouwen
  • Sjablonen voor het genereren van talen maken voor spraakantwoorden
  • Aangepaste spraakhulpprogramma's gebruiken

Een toepassing maken met behulp van eenvoudige opdrachten

Begin met het maken van een lege toepassing aangepaste opdrachten. Raadpleeg de quickstart voor meer informatie. In deze toepassing maakt u in plaats van een project te importeren een leeg project.

  1. Voer in het vak Naam de projectnaam Smart-Room-Lite (of een andere naam van uw keuze) in.

  2. Selecteer Engels (Verenigde Staten) in de lijst Taal.

  3. Selecteer of maak een LUIS-resource.

    Screenshot showing the

LUIS-resources bijwerken (optioneel)

U kunt de ontwerpresource bijwerken die u hebt geselecteerd in het venster Nieuw project . U kunt ook een voorspellingsresource instellen.

Er wordt een voorspellingsresource gebruikt voor herkenning wanneer uw toepassing aangepaste opdrachten wordt gepubliceerd. U hebt geen voorspellingsresource nodig tijdens de ontwikkelings- en testfasen.

Een TurnOn-opdracht toevoegen

Voeg een opdracht toe in de lege toepassing Smart-Room-Lite Custom Commands die u hebt gemaakt. De opdracht verwerkt een utterance, Turn on the tv. Het reageert met het bericht Ok, turning the tv on.

  1. Maak een nieuwe opdracht door de opdracht Nieuw boven aan het linkerdeelvenster te selecteren. Het venster Nieuwe opdracht wordt geopend.
  2. Geef voor het veld Naam de waarde TurnOnop.
  3. Selecteer Maken.

Het middelste deelvenster bevat de eigenschappen van de opdracht.

In de volgende tabel worden de configuratie-eigenschappen van de opdracht uitgelegd. Zie concepten en definities van aangepaste opdrachten voor meer informatie.

Configuratie Beschrijving
Voorbeeldzinnen Voorbeelduitingen die de gebruiker kan zeggen om deze opdracht te activeren.
Parameters Informatie die nodig is om de opdracht te voltooien.
Voltooiingsregels Acties die moeten worden uitgevoerd om de opdracht te vervullen. Voorbeelden: reageren op de gebruiker of communiceren met een webservice.
Interactieregels Andere regels voor het afhandelen van specifiekere of complexere situaties.

Screenshot showing where to create a command.

Voorbeeldzinnen toevoegen

In de sectie Voorbeeldzinnen geeft u een voorbeeld op van wat de gebruiker kan zeggen.

  1. Selecteer voorbeeldzinnen in het middelste deelvenster.

  2. Voeg in het deelvenster aan de rechterkant voorbeelden toe:

    Turn on the tv
    
  3. Selecteer Opslaan boven aan het deelvenster.

U hebt nog geen parameters, dus u kunt naar de sectie Voltooiingsregels gaan.

Een voltooiingsregel toevoegen

Vervolgens heeft de opdracht een voltooiingsregel nodig. Deze regel vertelt de gebruiker dat er een uitvoeringsactie wordt uitgevoerd.

Zie concepten en definities van aangepaste opdrachten voor meer informatie over regels en voltooiingsregels.

  1. Selecteer de standaardvoltooiingsregel Gereed. Bewerk deze vervolgens als volgt:

    Instelling Voorgestelde waarde Omschrijving
    Naam ConfirmationResponse Een naam die het doel van de regel beschrijft
    Voorwaarden Geen Voorwaarden die bepalen wanneer de regel kan worden uitgevoerd
    Acties Eenvoudige editor voor spraakantwoord>verzenden>Ok, turning the tv on De actie die moet worden uitgevoerd wanneer de regelvoorwaarde waar is

    Screenshot showing where to create a speech response.

  2. Selecteer Opslaan om de actie op te slaan.

  3. Selecteer Opslaan in de sectie Voltooiingsregels om alle wijzigingen op te slaan.

    Notitie

    U hoeft niet de standaardvoltooiingsregel te gebruiken die bij de opdracht wordt geleverd. U kunt de standaardvoltooiingsregel verwijderen en uw eigen regel toevoegen.

Een setTemperature-opdracht toevoegen

Voeg nu nog een opdracht toe. SetTemperature Deze opdracht neemt één uiting en Set the temperature to 40 degreesreageert met het bericht Ok, setting temperature to 40 degrees.

Als u de nieuwe opdracht wilt maken, volgt u de stappen die u voor de TurnOn opdracht hebt gebruikt, maar gebruikt u de voorbeeldzin Set the temperature to 40 degrees.

Bewerk vervolgens de bestaande voltooide voltooiingsregels als volgt:

Instelling Voorgestelde waarde
Naam ConfirmationResponse
Voorwaarden Geen
Acties Eenvoudige editor>voor spraakantwoord>verzenden Eerste variatie>Ok, setting temperature to 40 degrees

Selecteer Opslaan om alle wijzigingen in de opdracht op te slaan.

Een SetAlarm-opdracht toevoegen

Maak een nieuwe SetAlarm opdracht. Gebruik de voorbeeldzin Set an alarm for 9 am tomorrow. Bewerk vervolgens de bestaande voltooide voltooiingsregels als volgt:

Instelling Voorgestelde waarde
Naam ConfirmationResponse
Voorwaarden Geen
Acties Eenvoudige editor>voor spraakantwoord>verzenden Eerste variatie>Ok, setting an alarm for 9 am tomorrow

Selecteer Opslaan om alle wijzigingen in de opdracht op te slaan.

Probeer het zelf

Test het gedrag van de toepassing met behulp van het testvenster:

  1. Selecteer in de rechterbovenhoek van het deelvenster het pictogram Trainen .
  2. Wanneer de training is voltooid, selecteert u Testen.

Probeer de volgende uitingen uit met behulp van spraak of tekst:

  • U typt: de temperatuur instellen op 40 graden
  • Verwachte reactie: OK, temperatuur instellen op 40 graden
  • U typt: de tv inschakelen
  • Verwacht antwoord: Ok, de tv inschakelen
  • U typt: een alarm instellen voor 9:00 uur morgen
  • Verwacht antwoord: Ok, een alarm instellen voor 9:00 uur morgen

Screenshot showing the test in a web-chat interface.

Tip

In het testvenster kunt u Details omdraaien selecteren voor informatie over hoe deze spraakinvoer of tekstinvoer is verwerkt.

Parameters toevoegen aan opdrachten

In deze sectie leert u hoe u parameters toevoegt aan uw opdrachten. Voor opdrachten zijn parameters vereist om een taak te voltooien. In complexe scenario's kunnen parameters worden gebruikt om voorwaarden te definiëren die aangepaste acties activeren.

Parameters configureren voor een TurnOn-opdracht

Begin met het bewerken van de bestaande TurnOn opdracht om meerdere apparaten in te schakelen en uit te schakelen.

  1. Nu de opdracht scenario's voor zowel in- als uitschakelen verwerkt, wijzigt u de naam van de opdracht in TurnOnOff.

    1. Selecteer in het deelvenster aan de linkerkant de opdracht TurnOn . Selecteer vervolgens de knop Bewerken naast de opdracht Nieuw boven aan het deelvenster.

    2. Wijzig in het opdrachtvenster Naam wijzigen de naam in TurnOnOff.

  2. Voeg een nieuwe parameter toe aan de opdracht. De parameter geeft aan of de gebruiker het apparaat wil in- of uitschakelen.

    1. Selecteer Toevoegen boven aan het middelste deelvenster. Selecteer Parameter in de vervolgkeuzelijst.

    2. Voeg in het deelvenster aan de rechterkant in de sectie Parameters in het vak OnOffNaam toe.

    3. Selecteer Vereist. Selecteer In het antwoord Toevoegen voor een vereist parametervenster de optie Eenvoudige editor. Voeg in het veld Eerste variatie aan of Uit toe.

    4. Selecteer Bijwerken.

      Screenshot that shows the 'Add response for a required parameter' section with the 'Simple editor' tab selected.

    5. Configureer de eigenschappen van de parameter met behulp van de volgende tabel. Zie concepten en definities van aangepaste opdrachten voor informatie over alle configuratie-eigenschappen van een opdracht.

      Configuratie Voorgestelde waarde Omschrijving
      Naam OnOff Een beschrijvende naam voor de parameter
      Vereist Selected Schakel het selectievakje in om aan te geven of een waarde voor deze parameter is vereist voordat de opdracht is voltooid.
      Antwoord voor de vereiste parameter Eenvoudige editor>On or Off? Een vraag om de waarde van deze parameter wanneer deze niet bekend is.
      Type Tekenreeks Parametertype, zoals Getal, Tekenreeks, Datum/tijd of Geografie.
      Configuratie Vooraf gedefinieerde invoerwaarden uit een interne catalogus accepteren Voor tekenreeksen beperkt deze instelling invoer tot een set mogelijke waarden.
      Vooraf gedefinieerde invoerwaarden on, off Set mogelijke waarden en hun aliassen.
    6. Als u vooraf gedefinieerde invoerwaarden wilt toevoegen, selecteert u Een vooraf gedefinieerde invoer toevoegen. Typ in het venster Nieuw item de naam zoals weergegeven in de vorige tabel. In dit geval gebruikt u geen aliassen, zodat u dit veld leeg kunt laten.

      Screenshot showing how to create a parameter.

    7. Selecteer Opslaan om alle configuraties van de parameter op te slaan.

Een parameter SubjectDevice toevoegen

  1. Als u een tweede parameter wilt toevoegen om de naam weer te geven van de apparaten die met deze opdracht kunnen worden beheerd, selecteert u Toevoegen. Gebruik de volgende configuratie.

    Instelling Voorgestelde waarde
    Naam SubjectDevice
    Vereist Selected
    Antwoord voor de vereiste parameter Eenvoudige editor>Which device do you want to control?
    Type Tekenreeks
    Configuratie Vooraf gedefinieerde invoerwaarden uit een interne catalogus accepteren
    Vooraf gedefinieerde invoerwaarden tv, fan
    Aliassen (tv) television, telly
  2. Selecteer Opslaan.

Voorbeeldzinnen wijzigen

Voor opdrachten die gebruikmaken van parameters is het handig om voorbeeldzinnen toe te voegen die betrekking hebben op alle mogelijke combinaties. Voorbeeld:

  • Volledige parameterinformatie: turn {OnOff} the {SubjectDevice}
  • Informatie over gedeeltelijke parameters: turn it {OnOff}
  • Geen parametergegevens: turn something

Met voorbeeldzinnen die verschillende mate van informatie gebruiken, kan de toepassing Aangepaste opdrachten zowel oplossingen met één opname als oplossingen voor meerdere keren oplossen met behulp van gedeeltelijke informatie.

Bewerk met deze informatie de voorbeeldzinnen om deze voorgestelde parameters te gebruiken:

turn {OnOff} the {SubjectDevice}
{SubjectDevice} {OnOff}
turn it {OnOff}
turn something {OnOff}
turn something

Selecteer Opslaan.

Tip

Gebruik in de voorbeeld-zinneneditor accolades om naar uw parameters te verwijzen. Bijvoorbeeld turn {OnOff} the {SubjectDevice}. Gebruik een tabblad voor automatische voltooiing die wordt ondersteund door eerder gemaakte parameters.

Voltooiingsregels wijzigen om parameters op te nemen

Wijzig de bestaande voltooiingsregel ConfirmationResponse.

  1. Selecteer een voorwaarde toevoegen in de sectie Voorwaarden.

  2. Selecteer Vereiste parameters in het venster Nieuwe voorwaarde in de lijst Type. Selecteer in de volgende lijst zowel OnOff als SubjectDevice.

  3. Selecteer Maken.

  4. Bewerk in de sectie Acties de actie Spraakantwoord verzenden door de muisaanwijzer erop te bewegen en de knop Bewerken te selecteren. Gebruik deze keer de zojuist gemaakte OnOff parameters en SubjectDevice parameters:

    Ok, turning the {SubjectDevice} {OnOff}
    
  5. Selecteer Opslaan.

Probeer de wijzigingen uit door boven aan het deelvenster aan de rechterkant het pictogram Trainen te selecteren.

Wanneer de training is voltooid, selecteert u Testen. Er wordt een toepassingsvenster testen weergegeven. Probeer de volgende interacties:

  • Invoer: de tv uitschakelen
  • Uitvoer: Ok, de tv uitschakelen
  • Invoer: de televisie uitschakelen
  • Uitvoer: Ok, de tv uitschakelen
  • Invoer: schakel deze uit
  • Uitvoer: Welk apparaat wilt u beheren?
  • Input: de tv
  • Uitvoer: Ok, de tv uitschakelen

Parameters configureren voor een setTemperature-opdracht

Wijzig de SetTemperature opdracht om deze in te schakelen om de temperatuur in te stellen wanneer de gebruiker de opdracht doorgeeft.

Voeg een TemperatureValue parameter toe. Gebruik de volgende configuratie:

Configuratie Voorgestelde waarde
Naam TemperatureValue
Vereist Selected
Antwoord voor de vereiste parameter Eenvoudige editor>What temperature would you like?
Type Number

Bewerk de voorbeelduitingen om de volgende waarden te gebruiken.

set the temperature to {TemperatureValue} degrees
change the temperature to {TemperatureValue}
set the temperature
change the temperature

Bewerk de bestaande voltooiingsregels. Gebruik de volgende configuratie.

Configuratie Voorgestelde waarde
Voorwaarden Vereiste parameter>TemperatureValue
Acties Spraakantwoord verzenden>Ok, setting temperature to {TemperatureValue} degrees

Parameters configureren voor een SetAlarm-opdracht

Voeg een parameter toe met de naam DateTime. Gebruik de volgende configuratie.

Instelling Voorgestelde waarde
Naam DateTime
Vereist Selected
Antwoord voor de vereiste parameter Eenvoudige editor>For what time?
Type Datum/tijd
Standaardwaarden voor datums Als de datum ontbreekt, gebruikt u vandaag.
Standaardwaarden voor tijd Als de tijd ontbreekt, gebruikt u het begin van de dag.

Notitie

In dit artikel worden voornamelijk de parametertypen Tekenreeks, Getal en DateTime gebruikt. Zie concepten en definities van aangepaste opdrachten voor een lijst met alle ondersteunde parametertypen en de bijbehorende eigenschappen.

Bewerk de voorbeelduitingen. Gebruik de volgende waarden.

set an alarm for {DateTime}
set alarm {DateTime}
alarm for {DateTime}

Bewerk de bestaande voltooiingsregels. Gebruik de volgende configuratie.

Instelling Voorgestelde waarde
Acties Spraakantwoord verzenden>Ok, alarm set for {DateTime}

Test de drie opdrachten samen met behulp van utterances die betrekking hebben op verschillende opdrachten. (U kunt schakelen tussen de verschillende opdrachten.)

  • Invoer: Een alarm instellen
  • Uitvoer: Voor welke tijd?
  • Invoer: De tv inschakelen
  • Uitvoer: Ok, de tv inschakelen
  • Invoer: Een alarm instellen
  • Uitvoer: Voor welke tijd?
  • Invoer: 17:00
  • Uitvoer: OK, alarm ingesteld voor 2020-05-01 17:00:00

Configuraties toevoegen aan opdrachtparameters

In deze sectie leert u meer over geavanceerde parameterconfiguratie, waaronder:

  • Hoe parameterwaarden kunnen behoren tot een set die buiten de toepassing Aangepaste opdrachten is gedefinieerd.
  • Validatieclausules toevoegen aan de parameterwaarden.

Een parameter configureren als een externe catalogusentiteit

Met de functie Aangepaste opdrachten kunt u parameters voor tekenreekstypen configureren om te verwijzen naar externe catalogi die worden gehost via een webeindpunt. U kunt de externe catalogus dus onafhankelijk bijwerken zonder de toepassing Aangepaste opdrachten te bewerken. Deze methode is handig in gevallen waarin de catalogusvermeldingen talrijk zijn.

Gebruik de SubjectDevice parameter opnieuw vanuit de TurnOnOff opdracht. De huidige configuratie voor deze parameter is Vooraf gedefinieerde invoer uit de interne catalogus accepteren. Deze configuratie verwijst naar een statische lijst met apparaten in de parameterconfiguratie. Verplaats deze inhoud naar een externe gegevensbron die onafhankelijk kan worden bijgewerkt.

Als u de inhoud wilt verplaatsen, voegt u eerst een nieuw webeindpunt toe. Ga in het deelvenster aan de linkerkant naar de sectie Webeindpunten . Voeg een nieuwe URL voor het webeindpunt toe. Gebruik de volgende configuratie.

Instelling Voorgestelde waarde
Naam getDevices
URL <Your endpoint of getDevices.json>
Methode GET

Configureer en host vervolgens een webeindpunt dat een JSON-bestand retourneert waarin de apparaten worden vermeld die kunnen worden beheerd. Het webeindpunt moet een JSON-bestandsindeling retourneren, zoals in dit voorbeeld:

{
    "fan" : [],
    "refrigerator" : [
        "fridge"
    ],
    "lights" : [
        "bulb",
        "bulbs",
        "light",
        "light bulb"
    ],
    "tv" : [
        "telly",
        "television"
        ]
}

Ga vervolgens naar de pagina met parameterinstellingen voor SubjectDevice . Stel de volgende eigenschappen in.

Instelling Voorgestelde waarde
Configuratie Vooraf gedefinieerde invoer uit externe catalogus accepteren
Cataloguseindpunt getDevices
Methode GET

Selecteer vervolgens Opslaan.

Belangrijk

U ziet geen optie voor het configureren van een parameter voor het accepteren van invoer uit een externe catalogus, tenzij u het webeindpunt hebt ingesteld in de sectie Webeindpunt in het deelvenster aan de linkerkant.

Probeer het uit door Train te selecteren. Nadat de training is voltooid, selecteert u Testen en probeert u enkele interacties.

  • Invoer: inschakelen
  • Uitvoer: Welk apparaat wilt u beheren?
  • Invoer: lichten
  • Uitvoer: Ok, het licht inschakelen

Notitie

U kunt nu alle apparaten beheren die worden gehost op het webeindpunt. Maar u moet de toepassing nog steeds trainen om de nieuwe wijzigingen te testen en de toepassing vervolgens opnieuw te publiceren.

Validatie toevoegen aan parameters

Validaties zijn constructies die van toepassing zijn op bepaalde parametertypen waarmee u beperkingen voor de waarde van de parameter kunt configureren. Ze vragen u om correcties als waarden niet binnen de beperkingen vallen. Zie concepten en definities van aangepaste opdrachten voor een lijst met parametertypen waarmee de validatieconstructie wordt uitgebreid.

Test validaties met behulp van de SetTemperature opdracht. Gebruik de volgende stappen om een validatie voor de Temperature parameter toe te voegen.

  1. Selecteer in het deelvenster aan de linkerkant de opdracht SetTemperature .

  2. Selecteer Temperatuur in het middelste deelvenster.

  3. Selecteer een validatie toevoegen in het deelvenster aan de rechterkant.

  4. Configureer in het venster Nieuwe validatie de validatie, zoals wordt weergegeven in de volgende tabel. Selecteer vervolgens Maken.

    Parameterconfiguratie Voorgestelde waarde Beschrijving
    Minimumwaarde 60 Voor getalparameters kan de minimumwaarde van deze parameter worden aangenomen
    Maximumwaarde 80 Voor getalparameters kan de maximumwaarde van deze parameter worden aangenomen
    Reactie op fouten Eenvoudige editor>Eerste variatie>Sorry, I can only set temperature between 60 and 80 degrees. What temperature do you want? Een prompt om een nieuwe waarde te vragen als de validatie mislukt

    Screenshot showing how to add a range validation.

Probeer het uit door het pictogram Trainen bovenaan het deelvenster aan de rechterkant te selecteren. Nadat de training is voltooid, selecteert u Testen. Probeer een paar interacties:

  • Invoer: De temperatuur instellen op 72 graden
  • Uitvoer: OK, temperatuur instellen op 72 graden
  • Invoer: De temperatuur instellen op 45 graden
  • Uitvoer: Ik kan alleen de temperatuur instellen tussen 60 graden en 80 graden
  • Invoer: maak het in plaats daarvan 72 graden
  • Uitvoer: OK, temperatuur instellen op 72 graden

Interactieregels toevoegen

Interactieregels zijn extra regels die specifieke of complexe situaties verwerken. Hoewel u uw eigen interactieregels kunt ontwerpen, gebruikt u in dit voorbeeld interactieregels voor de volgende scenario's:

  • Opdrachten bevestigen
  • Een correctie in één stap toevoegen aan opdrachten

Zie concepten en definities van aangepaste opdrachten voor meer informatie over interactieregels.

Bevestigingen toevoegen aan een opdracht

Als u een bevestiging wilt toevoegen, gebruikt u de SetTemperature opdracht. Als u bevestiging wilt bereiken, maakt u interactieregels met behulp van de volgende stappen:

  1. Selecteer in het deelvenster aan de linkerkant de opdracht SetTemperature .

  2. Voeg in het middelste deelvenster interactieregels toe door Toevoegen te selecteren. Selecteer vervolgens de opdracht Bevestigen van interactieregels>.

    Met deze actie worden drie interactieregels toegevoegd. De regels vragen de gebruiker om de datum en tijd van het alarm te bevestigen. Ze verwachten een bevestiging (ja of nee) voor de volgende beurt.

    1. Wijzig de regel opdrachtinteractie bevestigen met behulp van de volgende configuratie:

      1. Wijzig de naam in Temperatuur bevestigen.
      2. De voorwaarde Alle vereiste parameters zijn al ingesteld.
      3. Voeg een nieuwe actie toe: Typ>Spraakantwoord>verzenden Weet u zeker dat u de temperatuur wilt instellen als {TemperatureValue} graden?
      4. Laat in de sectie Verwachtingen de standaardwaarde van De bevestiging van de gebruiker verwachten.

      Screenshot showing how to create the required parameter response.

    2. Wijzig de regel voor geslaagde interactie met bevestiging om een geslaagde bevestiging af te handelen (de gebruiker heeft ja gezegd).

      1. Wijzig de naam in Bevestigingstemperatuur.
      2. Laat de bestaande bevestiging geslaagd .
      3. Voeg een nieuwe voorwaarde toe: Type>Vereiste parameters>TemperatureValue.
      4. Laat de standaardwaarde voor de status na uitvoering staan als Uitvoeringsvoltooiingsregels.
    3. Wijzig de regel Voor bevestiging geweigerde interactie om scenario's te verwerken wanneer bevestiging wordt geweigerd (de gebruiker zei nee).

      1. Wijzig de naam in Bevestigingstemperatuur geweigerd.
      2. Laat de bestaande bevestigingsvoorwaarde geweigerd .
      3. Voeg een nieuwe voorwaarde toe: Type>Vereiste parameters>TemperatureValue.
      4. Voeg een nieuwe actie toe: Typ>Spraakantwoord>verzenden Geen probleem. Welke temperatuur dan?
      5. Wijzig de standaardwaarde voor de status na uitvoering om te wachten op invoer van de gebruiker.

Belangrijk

In dit artikel gebruikt u de ingebouwde bevestigingsfunctie. U kunt ook handmatig interactieregels één voor één toevoegen.

Probeer de wijzigingen uit door Train te selecteren. Wanneer de training is voltooid, selecteert u Testen.

  • Invoer: Temperatuur instellen op 80 graden
  • Uitvoer: weet u zeker dat u de temperatuur wilt instellen als 80 graden?
  • Invoer: Nee
  • Uitvoer: Geen probleem. Welke temperatuur dan?
  • Invoer: 72 graden
  • Uitvoer: weet u zeker dat u de temperatuur wilt instellen als 72 graden?
  • Invoer: Ja
  • Uitvoer: OK, temperatuur instellen op 72 graden

Correcties in een opdracht implementeren

In deze sectie configureert u een correctie in één stap. Deze correctie wordt gebruikt nadat de uitvoeringsactie is uitgevoerd. U ziet ook een voorbeeld van hoe een correctie standaard wordt ingeschakeld als de opdracht nog niet is voltooid. Als u een correctie wilt toevoegen wanneer de opdracht niet is voltooid, voegt u de nieuwe parameter AlarmTonetoe.

Selecteer in het linkerdeelvenster de opdracht SetAlarm . Voeg vervolgens de nieuwe parameter AlarmTone toe.

  • Naam>AlarmTone
  • Tekenreeks typen>
  • Standaardwaarde>chimes
  • Configuratie>: vooraf gedefinieerde invoerwaarden uit de interne catalogus accepteren
  • Vooraf gedefinieerde invoerwaarden>Chimes, Jingle en Echo (Deze waarden zijn afzonderlijke vooraf gedefinieerde invoerwaarden.)

Werk vervolgens het antwoord voor de parameter DateTime bij naar Gereed om alarm in te stellen met toon als {AlarmTone}. Voor hoe laat? Wijzig vervolgens de voltooiingsregel als volgt:

  1. Selecteer de bestaande voltooiingsregel ConfirmationResponse.
  2. Beweeg in het deelvenster aan de rechterkant de muisaanwijzer over de bestaande actie en selecteer Bewerken.
  3. Werk het spraakantwoord bij naar OK, alarm set for {DateTime}. The alarm tone is {AlarmTone}.

Belangrijk

De alarmtoon kan veranderen zonder expliciete configuratie in een doorlopende opdracht. De opdracht kan bijvoorbeeld worden gewijzigd wanneer de opdracht nog niet is voltooid. Een correctie is standaard ingeschakeld voor alle opdrachtparameters, ongeacht het draainummer, als de opdracht nog moet worden uitgevoerd.

Een correctie implementeren wanneer een opdracht is voltooid

Met het custom commands-platform kunt u één stap corrigeren, zelfs wanneer de opdracht is voltooid. Deze functie is niet standaard ingeschakeld. Deze moet expliciet worden geconfigureerd.

Gebruik de volgende stappen om een correctie in één stap te configureren:

  1. Voeg in de opdracht SetAlarm een interactieregel toe van het type Update vorige opdracht om het eerder ingestelde alarm bij te werken. Wijzig de naam van de interactieregel als Het vorige alarm bijwerken.
  2. Laat de standaardvoorwaarde staan: de vorige opdracht moet worden bijgewerkt.
  3. Voeg een nieuwe voorwaarde toe: Typ>de vereiste parameter>DateTime.
  4. Voeg een nieuwe actie toe: Typ>Spraakantwoord>verzenden Eenvoudige editor>Voor het bijwerken van de vorige alarmtijd naar {DateTime}.
  5. Laat de standaardwaarde voor de status na uitvoering staan als de opdracht is voltooid.

Probeer de wijzigingen uit door Train te selecteren. Wacht totdat de training is voltooid en selecteer Vervolgens Testen.

  • Invoer: Stel een alarm in.
  • Uitvoer: Klaar om alarm in te stellen met toon als Chimes. Hoe laat?
  • Input: Stel morgen een alarm in met de toon als Jpegle voor 9.00 uur.
  • Uitvoer: OK, alarm ingesteld voor 2020-05-21 09:00:00. De alarmtoon is Jingle.
  • Invoer: Nee, 8:00 uur.
  • Uitvoer: Vorige alarmtijd bijwerken naar 2020-05-29 08:00.

Notitie

In een echte toepassing, in de sectie Acties van deze correctieregel, moet u ook een activiteit naar de client verzenden of een HTTP-eindpunt aanroepen om de alarmtijd in uw systeem bij te werken. Deze actie moet uitsluitend verantwoordelijk zijn voor het bijwerken van de alarmtijd. Het mag niet verantwoordelijk zijn voor een ander kenmerk van de opdracht. In dit geval zou dat kenmerk de alarmtoon zijn.

Sjablonen voor het genereren van taal toevoegen voor spraakantwoorden

Met taalgeneratiesjablonen (LG) kunt u de antwoorden aanpassen die naar de client worden verzonden. Ze introduceren variantie in de antwoorden. U kunt taalgeneratie bereiken met behulp van:

  • Sjablonen voor het genereren van talen.
  • Adaptieve expressies.

Sjablonen voor aangepaste opdrachten zijn gebaseerd op de LG-sjablonen van Bot Framework. Omdat met de functie Aangepaste opdrachten een nieuwe LG-sjabloon wordt gemaakt (voor spraakreacties in parameters of acties), hoeft u niet de naam van de LG-sjabloon op te geven.

U hoeft uw sjabloon dus niet als volgt te definiëren:

   # CompletionAction
   - Ok, turning {OnOff} the {SubjectDevice}
   - Done, turning {OnOff} the {SubjectDevice}
   - Proceeding to turn {OnOff} {SubjectDevice}

In plaats daarvan kunt u de hoofdtekst van de sjabloon definiëren zonder de naam, zoals deze:

Screenshot showing a template editor example.

Deze wijziging introduceert variatie in de spraakantwoorden die naar de client worden verzonden. Voor een utterance wordt het bijbehorende spraakantwoord willekeurig gekozen uit de opgegeven opties.

Door gebruik te maken van LG-sjablonen, kunt u ook complexe spraakantwoorden definiëren voor opdrachten met behulp van adaptieve expressies. Zie de indeling LG-sjablonen voor meer informatie.

De functie Aangepaste opdrachten ondersteunt standaard alle mogelijkheden, met de volgende kleine verschillen:

  • In de LG-sjablonen worden entiteiten weergegeven als ${entityName}. De functie Aangepaste opdrachten gebruikt geen entiteiten. Maar u kunt parameters gebruiken als variabelen met de ${parameterName} weergave of de {parameterName} weergave.
  • De functie Aangepaste opdrachten biedt geen ondersteuning voor sjabloonsamenstelling en -uitbreiding, omdat u het LG-bestand nooit rechtstreeks bewerkt. U bewerkt alleen de antwoorden van automatisch gemaakte sjablonen.
  • De functie Aangepaste opdrachten biedt geen ondersteuning voor aangepaste functies die LG injecteert. Vooraf gedefinieerde functies worden ondersteund.
  • De functie Aangepaste opdrachten biedt geen ondersteuning voor opties, zoals strict, replaceNullen lineBreakStyle.

Sjabloonantwoorden toevoegen aan een TurnOnOff-opdracht

Wijzig de TurnOnOff opdracht om een nieuwe parameter toe te voegen. Gebruik de volgende configuratie.

Instelling Voorgestelde waarde
Naam SubjectContext
Vereist Niet geselecteerd
Type Tekenreeks
Standaardwaarde all
Configuratie Vooraf gedefinieerde invoerwaarden uit interne catalogus accepteren
Vooraf gedefinieerde invoerwaarden room, , bathroomall

Een voltooiingsregel wijzigen

Bewerk de sectie Acties van de bestaande voltooiingsregel ConfirmationResponse. Schakel in het venster Actie bewerken over naar Sjablooneditor. Vervang vervolgens de tekst door het volgende voorbeeld.

- IF: @{SubjectContext == "all" && SubjectDevice == "lights"}
    - Ok, turning all the lights {OnOff}
- ELSEIF: @{SubjectDevice == "lights"}
    - Ok, turning {OnOff} the {SubjectContext} {SubjectDevice}
- ELSE:
    - Ok, turning the {SubjectDevice} {OnOff}
    - Done, turning {OnOff} the {SubjectDevice}

Train en test uw toepassing met behulp van de volgende invoer en uitvoer. Let op de variatie van antwoorden. De variatie wordt gemaakt door meerdere alternatieven van de sjabloonwaarde en ook door gebruik te maken van adaptieve expressies.

  • Invoer: de tv inschakelen
  • Uitvoer: Ok, de tv inschakelen
  • Invoer: de tv inschakelen
  • Uitvoer: Gereed, ingeschakeld op de tv
  • Invoer: de lichten uitschakelen
  • Uitvoer: Ok, alle lichten uitschakelen
  • Invoer: kamerverlichting uitschakelen
  • Uitvoer: Ok, het uitschakelen van de kamerlichten

Een aangepaste stem gebruiken

Een andere manier om aangepaste opdrachtenantwoorden aan te passen, is door een uitvoerstem te selecteren. Gebruik de volgende stappen om de standaardstem over te schakelen naar een aangepaste stem:

  1. Selecteer in de toepassing Aangepaste opdrachten in het deelvenster aan de linkerkant Instellingen.
  2. Selecteer Aangepaste stem in het middelste deelvenster.
  3. Selecteer een aangepaste stem of openbare stem in de tabel.
  4. Selecteer Opslaan.

Screenshot showing sample sentences and parameters.

Notitie

Voor openbare stemmen zijn neurale typen alleen beschikbaar voor specifieke regio's. Zie ondersteunde regio's van de Speech-service voor meer informatie.

U kunt aangepaste stemmen maken op de projectpagina Custom Voice . Zie Aan de slag met aangepaste spraak voor meer informatie.

De toepassing reageert nu in de geselecteerde stem in plaats van de standaardstem.

Volgende stappen