Udostępnij za pośrednictwem


Tworzenie aplikacji poleceń niestandardowych

Ważne

Polecenia niestandardowe zostaną wycofane 30 kwietnia 2026 r. Od 30 października 2023 r. nie można tworzyć nowych aplikacji poleceń niestandardowych w programie Speech Studio. W związku z tą zmianą usługa LUIS zostanie wycofana 1 października 2025 r. Od 1 kwietnia 2023 r. nie można tworzyć nowych zasobów usługi LUIS.

Z tego artykułu z instrukcjami dowiesz się, jak opracowywać i konfigurować aplikacje poleceń niestandardowych. Funkcja Polecenia niestandardowe ułatwia tworzenie rozbudowanych aplikacji poleceń głosowych zoptymalizowanych pod kątem środowisk interakcji z pierwszym głosem. Ta funkcja najlepiej nadaje się do wykonywania zadań lub scenariuszy poleceń i kontroli. Jest dobrze odpowiedni dla urządzeń Internetu rzeczy (IoT) oraz dla urządzeń otoczenia i bezgłówkowych.

W tym artykule utworzysz aplikację, która może włączać i wyłączać telewizor, ustawiać temperaturę i ustawiać alarm. Po utworzeniu tych podstawowych poleceń poznasz następujące opcje dostosowywania poleceń:

  • Dodawanie parametrów do poleceń
  • Dodawanie konfiguracji do parametrów polecenia
  • Tworzenie reguł interakcji
  • Tworzenie szablonów generowania języka na potrzeby odpowiedzi na mowę
  • Korzystanie z niestandardowych narzędzi głosowych

Tworzenie aplikacji przy użyciu prostych poleceń

Zacznij od utworzenia pustej aplikacji Polecenia niestandardowe. Aby uzyskać szczegółowe informacje, zapoznaj się z przewodnikiem Szybki start. W tej aplikacji zamiast importować projekt, tworzysz pusty projekt.

  1. W polu Nazwa wprowadź nazwę projektu Smart-Room-Lite (lub inną wybraną nazwę).

  2. Na liście Język wybierz pozycję Angielski (Stany Zjednoczone).

  3. Wybierz lub utwórz zasób usługi LUIS.

    Screenshot showing the

Aktualizowanie zasobów usługi LUIS (opcjonalnie)

Możesz zaktualizować zasób tworzenia wybrany w oknie Nowy projekt . Można również ustawić zasób przewidywania.

Zasób przewidywania jest używany do rozpoznawania po opublikowaniu aplikacji Polecenia niestandardowe. Nie potrzebujesz zasobu przewidywania w fazach programowania i testowania.

Dodawanie polecenia TurnOn

W pustej utworzonej aplikacji Polecenia niestandardowe Smart-Room-Lite dodaj polecenie. Polecenie przetwarza wypowiedź , Turn on the tv. Odpowiada za pomocą komunikatu Ok, turning the tv on.

  1. Utwórz nowe polecenie, wybierając pozycję Nowe polecenie w górnej części okienka po lewej stronie. Zostanie otwarte okno Nowe polecenie .
  2. W polu Nazwa podaj wartość TurnOn.
  3. Wybierz pozycję Utwórz.

Środkowe okienko zawiera listę właściwości polecenia.

W poniższej tabeli opisano właściwości konfiguracji polecenia. Aby uzyskać więcej informacji, zobacz Pojęcia i definicje poleceń niestandardowych.

Konfigurowanie opis
Przykładowe zdania Przykładowe wypowiedzi, które użytkownik może powiedzieć, aby wyzwolić to polecenie.
Parametry Informacje wymagane do ukończenia polecenia.
Reguły uzupełniania Akcje do wykonania polecenia. Przykłady: odpowiadanie na użytkownika lub komunikowanie się z usługą internetową.
Reguły interakcji Inne reguły do obsługi bardziej szczegółowych lub złożonych sytuacji.

Screenshot showing where to create a command.

Dodawanie przykładowych zdań

W sekcji Przykładowe zdania podajesz przykład tego, co użytkownik może powiedzieć.

  1. W środkowym okienku wybierz pozycję Przykładowe zdania.

  2. W okienku po prawej stronie dodaj przykłady:

    Turn on the tv
    
  3. W górnej części okienka wybierz pozycję Zapisz.

Nie masz jeszcze parametrów, więc możesz przejść do sekcji Reguły uzupełniania.

Dodawanie reguły uzupełniania

Następnie polecenie wymaga reguły ukończenia. Ta reguła informuje użytkownika o podjęciu akcji realizacji.

Aby uzyskać więcej informacji na temat reguł i reguł uzupełniania, zobacz Pojęcia i definicje poleceń niestandardowych.

  1. Wybierz domyślną regułę uzupełniania Gotowe. Następnie zmodyfikuj go w następujący sposób:

    Ustawienie Sugerowana wartość opis
    Nazwa/nazwisko ConfirmationResponse Nazwa opisująca przeznaczenie reguły
    Warunki Brak Warunki określające, kiedy reguła może zostać uruchomiona
    Akcje Wyślij odpowiedź na mowę>— prosty edytor>Ok, turning the tv on Akcja, która ma być wykonywana, gdy warunek reguły ma wartość true

    Screenshot showing where to create a speech response.

  2. Wybierz pozycję Zapisz , aby zapisać akcję.

  3. W sekcji Reguły uzupełniania wybierz pozycję Zapisz, aby zapisać wszystkie zmiany.

    Uwaga

    Nie musisz używać domyślnej reguły uzupełniania dostarczanej za pomocą polecenia . Możesz usunąć domyślną regułę uzupełniania i dodać własną regułę.

Dodawanie polecenia SetTemperature

Teraz dodaj jeszcze jedno polecenie : SetTemperature. To polecenie przyjmuje jedną wypowiedź, Set the temperature to 40 degreesi odpowiada za pomocą komunikatu Ok, setting temperature to 40 degrees.

Aby utworzyć nowe polecenie, wykonaj kroki użyte dla TurnOn polecenia , ale użyj przykładowego zdania Set the temperature to 40 degrees.

Następnie zmodyfikuj istniejące reguły ukończenia Gotowe w następujący sposób:

Ustawienie Sugerowana wartość
Nazwa/nazwisko ConfirmationResponse
Warunki Brak
Akcje Wyślij odpowiedź na mowę Prostą odmianę Edytor>prosty>>Ok, setting temperature to 40 degrees

Wybierz pozycję Zapisz , aby zapisać wszystkie zmiany w poleceniu.

Dodawanie polecenia SetAlarm

Utwórz nowe SetAlarm polecenie. Użyj przykładowego zdania Set an alarm for 9 am tomorrow. Następnie zmodyfikuj istniejące reguły ukończenia Gotowe w następujący sposób:

Ustawienie Sugerowana wartość
Nazwa/nazwisko ConfirmationResponse
Warunki Brak
Akcje Wyślij odpowiedź na mowę Prostą odmianę Edytor>prosty>>Ok, setting an alarm for 9 am tomorrow

Wybierz pozycję Zapisz , aby zapisać wszystkie zmiany w poleceniu.

Czas to wypróbować

Przetestuj zachowanie aplikacji przy użyciu okienka testowania:

  1. W prawym górnym rogu okienka wybierz ikonę Trenuj .
  2. Po zakończeniu trenowania wybierz pozycję Testuj.

Wypróbuj następujące przykłady wypowiedzi przy użyciu głosu lub tekstu:

  • Wpisz: ustaw temperaturę na 40 stopni
  • Oczekiwana odpowiedź: Ok, ustawienie temperatury na 40 stopni
  • Wpisz: włącz telewizor
  • Oczekiwana odpowiedź: Ok, włączanie telewizora
  • Wpisz: ustaw alarm na 9 rano jutro
  • Oczekiwana odpowiedź: Ok, ustawienie alarmu na 9 rano jutro

Screenshot showing the test in a web-chat interface.

Napiwek

W okienku testowania możesz wybrać pozycję Włącz szczegóły , aby uzyskać informacje o sposobie przetwarzania danych wejściowych głosu lub wprowadzania tekstu.

Dodawanie parametrów do poleceń

W tej sekcji dowiesz się, jak dodawać parametry do poleceń. Polecenia wymagają parametrów do wykonania zadania. W złożonych scenariuszach parametry mogą służyć do definiowania warunków wyzwalających akcje niestandardowe.

Konfigurowanie parametrów dla polecenia TurnOn

Rozpocznij od edytowania istniejącego TurnOn polecenia, aby włączyć i wyłączyć wiele urządzeń.

  1. Teraz, gdy polecenie obsługuje zarówno scenariusze włączone, jak i wyłączone, zmień nazwę polecenia na TurnOnOff.

    1. W okienku po lewej stronie wybierz polecenie TurnOn . Następnie obok pozycji Nowe polecenie w górnej części okienka wybierz przycisk edytuj.

    2. W oknie polecenia Zmień nazwę na TurnOnOff.

  2. Dodaj nowy parametr do polecenia . Parametr określa, czy użytkownik chce włączyć lub wyłączyć urządzenie.

    1. W górnej części środkowego okienka wybierz pozycję Dodaj. Z menu rozwijanego wybierz pozycję Parametr.

    2. W okienku po prawej stronie w sekcji Parametry w polu Nazwa dodaj .OnOff

    3. Wybierz Wymagane. W oknie Dodawanie odpowiedzi dla wymaganego parametru wybierz pozycję Prosty edytor. W polu Pierwsza odmiana dodaj pozycję Włączone lub Wyłączone.

    4. Wybierz Aktualizuj.

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

    5. Skonfiguruj właściwości parametru przy użyciu poniższej tabeli. Aby uzyskać informacje o wszystkich właściwościach konfiguracji polecenia, zobacz Pojęcia i definicje poleceń niestandardowych.

      Konfigurowanie Sugerowana wartość opis
      Nazwa/nazwisko OnOff Opisowa nazwa parametru
      Wymagane Wybrano Pole wyboru wskazujące, czy wartość tego parametru jest wymagana przed zakończeniem polecenia.
      Odpowiedź dla wymaganego parametru Prosty edytor>On or Off? Monit z pytaniem o wartość tego parametru, jeśli nie jest znany.
      Type ciąg Typ parametru, taki jak Liczba, Ciąg, Data i Godzina lub Lokalizacja geograficzna.
      Konfiguracja Akceptowanie wstępnie zdefiniowanych wartości wejściowych z wykazu wewnętrznego W przypadku ciągów to ustawienie ogranicza dane wejściowe do zestawu możliwych wartości.
      Wstępnie zdefiniowane wartości wejściowe on, off Zestaw możliwych wartości i ich aliasów.
    6. Aby dodać wstępnie zdefiniowane wartości wejściowe, wybierz pozycję Dodaj wstępnie zdefiniowane dane wejściowe. W oknie Nowy element wpisz Nazwę , jak pokazano w poprzedniej tabeli. W takim przypadku nie używasz aliasów, więc możesz pozostawić to pole puste.

      Screenshot showing how to create a parameter.

    7. Wybierz pozycję Zapisz , aby zapisać wszystkie konfiguracje parametru.

Dodawanie parametru SubjectDevice

  1. Aby dodać drugi parametr reprezentujący nazwę urządzeń, które mogą być kontrolowane za pomocą tego polecenia, wybierz pozycję Dodaj. Użyj następującej konfiguracji.

    Ustawienie Sugerowana wartość
    Nazwa/nazwisko SubjectDevice
    Wymagane Wybrano
    Odpowiedź dla wymaganego parametru Prosty edytor>Which device do you want to control?
    Type ciąg
    Konfiguracja Akceptowanie wstępnie zdefiniowanych wartości wejściowych z wykazu wewnętrznego
    Wstępnie zdefiniowane wartości wejściowe tv, fan
    Aliasy (tv) television, telly
  2. Wybierz pozycję Zapisz.

Modyfikowanie przykładowych zdań

W przypadku poleceń używających parametrów warto dodać przykładowe zdania, które obejmują wszystkie możliwe kombinacje. Na przykład:

  • Pełne informacje o parametrach: turn {OnOff} the {SubjectDevice}
  • Częściowe informacje o parametrach: turn it {OnOff}
  • Brak informacji o parametrach: turn something

Przykładowe zdania, które używają różnych stopni informacji, umożliwiają aplikacji Polecenia niestandardowe rozpoznawanie rozdzielczości jednorazowych i rozdzielczości wielokrotnych przy użyciu częściowych informacji.

Mając na uwadze te informacje, zmodyfikuj przykładowe zdania, aby użyć tych sugerowanych parametrów:

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

Wybierz pozycję Zapisz.

Napiwek

W edytorze przykładowych zdań użyj nawiasów klamrowych, aby odwołać się do parametrów. Na przykład turn {OnOff} the {SubjectDevice}. Użyj karty do automatycznego uzupełniania wspieranego przez wcześniej utworzone parametry.

Modyfikowanie reguł uzupełniania w celu uwzględnienia parametrów

Zmodyfikuj istniejącą regułę ConfirmationResponseuzupełniania .

  1. W sekcji Warunki wybierz pozycję Dodaj warunek.

  2. W oknie Nowy warunek na liście Typ wybierz pozycję Wymagane parametry. Na poniższej liście wybierz pozycję OnOff i SubjectDevice.

  3. Wybierz pozycję Utwórz.

  4. W sekcji Akcje zmodyfikuj akcję Wyślij odpowiedź na mowę, umieszczając na niej wskaźnik myszy i wybierając przycisk edycji. Tym razem użyj nowo utworzonych OnOff parametrów i SubjectDevice :

    Ok, turning the {SubjectDevice} {OnOff}
    
  5. Wybierz pozycję Zapisz.

Wypróbuj zmiany, wybierając ikonę Trenowanie w górnej części okienka po prawej stronie.

Po zakończeniu trenowania wybierz pozycję Testuj. Zostanie wyświetlone okno Testowanie aplikacji . Wypróbuj następujące interakcje:

  • Wejście: wyłącz telewizor
  • Dane wyjściowe: Ok, wyłączanie telewizora
  • Dane wejściowe: wyłącz telewizor
  • Dane wyjściowe: Ok, wyłączanie telewizora
  • Dane wejściowe: wyłącz
  • Dane wyjściowe: Które urządzenie chcesz kontrolować?
  • Wejście: telewizor
  • Dane wyjściowe: Ok, wyłączanie telewizora

Konfigurowanie parametrów dla polecenia SetTemperature

Zmodyfikuj polecenie , SetTemperature aby umożliwić jej ustawienie temperatury zgodnie z instrukcjami użytkownika.

TemperatureValue Dodaj parametr. Użyj następującej konfiguracji:

Konfigurowanie Sugerowana wartość
Nazwa/nazwisko TemperatureValue
Wymagane Wybrano
Odpowiedź dla wymaganego parametru Prosty edytor>What temperature would you like?
Type Number

Zmodyfikuj przykładowe wypowiedzi, aby użyć następujących wartości.

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

Edytuj istniejące reguły uzupełniania. Użyj następującej konfiguracji.

Konfigurowanie Sugerowana wartość
Warunki Wymagany parametr>TemperatureValue
Akcje Wysyłanie odpowiedzi na mowę>Ok, setting temperature to {TemperatureValue} degrees

Konfigurowanie parametrów dla polecenia SetAlarm

Dodaj parametr o nazwie DateTime. Użyj następującej konfiguracji.

Ustawienie Sugerowana wartość
Nazwa/nazwisko DateTime
Wymagane Wybrano
Odpowiedź dla wymaganego parametru Prosty edytor>For what time?
Type Datetime
Wartości domyślne daty Jeśli brakuje daty, użyj dzisiaj.
Wartości domyślne czasu Jeśli brakuje czasu, użyj początku dnia.

Uwaga

W tym artykule najczęściej używane są typy parametrów String, Number i DateTime. Aby uzyskać listę wszystkich obsługiwanych typów parametrów i ich właściwości, zobacz Pojęcia i definicje poleceń niestandardowych.

Edytuj przykładowe wypowiedzi. Użyj następujących wartości.

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

Edytuj istniejące reguły uzupełniania. Użyj następującej konfiguracji.

Ustawienie Sugerowana wartość
Akcje Wysyłanie odpowiedzi na mowę>Ok, alarm set for {DateTime}

Przetestuj trzy polecenia razem, używając wypowiedzi powiązanych z różnymi poleceniami. (Możesz przełączać się między różnymi poleceniami).

  • Dane wejściowe: ustawianie alarmu
  • Dane wyjściowe: Za jaki czas?
  • Wejście: włączanie telewizora
  • Dane wyjściowe: Ok, włączanie telewizora
  • Dane wejściowe: ustawianie alarmu
  • Dane wyjściowe: Za jaki czas?
  • Dane wejściowe: 17: 00
  • Dane wyjściowe: Ok, dla ustawienia alarmu 2020-05-01 17:00:00

Dodawanie konfiguracji do parametrów polecenia

W tej sekcji dowiesz się więcej na temat zaawansowanej konfiguracji parametrów, w tym:

  • Jak wartości parametrów mogą należeć do zestawu zdefiniowanego poza aplikacją Polecenia niestandardowe.
  • Jak dodać klauzule weryfikacji dla wartości parametrów.

Konfigurowanie parametru jako jednostki wykazu zewnętrznego

Funkcja Polecenia niestandardowe umożliwia skonfigurowanie parametrów typu ciągu w celu odwoływania się do wykazów zewnętrznych hostowanych za pośrednictwem internetowego punktu końcowego. Dzięki temu można niezależnie aktualizować wykaz zewnętrzny bez edytowania aplikacji Polecenia niestandardowe. Takie podejście jest przydatne w przypadkach, gdy wpisy wykazu są liczne.

Użyj ponownie parametru SubjectDevice z TurnOnOff polecenia . Bieżąca konfiguracja tego parametru to Akceptowanie wstępnie zdefiniowanych danych wejściowych z wykazu wewnętrznego. Ta konfiguracja odnosi się do statycznej listy urządzeń w konfiguracji parametrów. Przenieś tę zawartość do zewnętrznego źródła danych, które można aktualizować niezależnie.

Aby przenieść zawartość, zacznij od dodania nowego internetowego punktu końcowego. W okienku po lewej stronie przejdź do sekcji Internetowe punkty końcowe . Dodaj nowy adres URL internetowego punktu końcowego. Użyj następującej konfiguracji.

Ustawienie Sugerowana wartość
Nazwa/nazwisko getDevices
Adres URL <Your endpoint of getDevices.json>
Metoda GET

Następnie skonfiguruj i hostuj internetowy punkt końcowy, który zwraca plik JSON zawierający listę urządzeń, które mogą być kontrolowane. Internetowy punkt końcowy powinien zwrócić plik JSON sformatowany w następujący przykład:

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

Następnie przejdź do strony Ustawienia parametru SubjectDevice . Skonfiguruj następujące właściwości.

Ustawienie Sugerowana wartość
Konfiguracja Akceptowanie wstępnie zdefiniowanych danych wejściowych z wykazu zewnętrznego
Punkt końcowy wykazu getDevices
Metoda GET

Następnie wybierz opcję Zapisz.

Ważne

Nie będzie widoczna opcja skonfigurowania parametru w celu akceptowania danych wejściowych z wykazu zewnętrznego, chyba że w sekcji Internetowy punkt końcowy w okienku po lewej stronie znajduje się punkt końcowy sieci Web.

Wypróbuj, wybierając pozycję Trenuj. Po zakończeniu trenowania wybierz pozycję Testuj i spróbuj wykonać kilka interakcji.

  • Dane wejściowe: włącz
  • Dane wyjściowe: Które urządzenie chcesz kontrolować?
  • Dane wejściowe: światła
  • Dane wyjściowe: Ok, obracając światła na

Uwaga

Teraz możesz kontrolować wszystkie urządzenia hostowane w internetowym punkcie końcowym. Jednak nadal musisz wytrenować aplikację, aby przetestować nowe zmiany, a następnie ponownie opublikować aplikację.

Dodawanie walidacji do parametrów

Walidacje to konstrukcje , które mają zastosowanie do niektórych typów parametrów, które umożliwiają konfigurowanie ograniczeń dotyczących wartości parametru. Monitują o poprawki, jeśli wartości nie należą do ograniczeń. Aby uzyskać listę typów parametrów rozszerzających konstrukcję weryfikacji, zobacz Pojęcia i definicje poleceń niestandardowych.

Przetestuj SetTemperature walidacje przy użyciu polecenia . Aby dodać walidację parametru Temperature , wykonaj następujące kroki.

  1. W okienku po lewej stronie wybierz polecenie SetTemperature .

  2. W środkowym okienku wybierz pozycję Temperatura.

  3. W okienku po prawej stronie wybierz pozycję Dodaj walidację.

  4. W oknie Nowa walidacja skonfiguruj walidację, jak pokazano w poniższej tabeli. Następnie wybierz Utwórz.

    Konfiguracja parametrów Sugerowana wartość opis
    Minimalna wartość 60 W przypadku parametrów Liczba minimalna wartość tego parametru może przyjąć
    Wartość maksymalna 80 W przypadku parametrów Liczba maksymalna wartość, która może przyjąć ten parametr
    Odpowiedź na błąd Prosta odmiana edytora>First>Sorry, I can only set temperature between 60 and 80 degrees. What temperature do you want? Monit o podanie nowej wartości, jeśli walidacja zakończy się niepowodzeniem

    Screenshot showing how to add a range validation.

Wypróbuj ją, wybierając ikonę Trenowanie w górnej części okienka po prawej stronie. Po zakończeniu trenowania wybierz pozycję Testuj. Spróbuj wykonać kilka interakcji:

  • Dane wejściowe: ustaw temperaturę na 72 stopnie
  • Dane wyjściowe: Ok, ustawienie temperatury na 72 stopnie
  • Dane wejściowe: ustaw temperaturę na 45 stopni
  • Dane wyjściowe: Niestety, mogę ustawić temperaturę tylko z zakresu od 60 stopni do 80 stopni
  • Dane wejściowe: zamiast tego sprawiają, że 72 stopnie
  • Dane wyjściowe: Ok, ustawienie temperatury na 72 stopnie

Dodawanie reguł interakcji

Reguły interakcji to dodatkowe reguły, które obsługują określone lub złożone sytuacje. Chociaż możesz tworzyć własne reguły interakcji, w tym przykładzie używasz reguł interakcji w następujących scenariuszach:

  • Potwierdzanie poleceń
  • Dodawanie poprawki jednoetapowej do poleceń

Aby uzyskać więcej informacji na temat reguł interakcji, zobacz Pojęcia i definicje poleceń niestandardowych.

Dodawanie potwierdzeń do polecenia

Aby dodać potwierdzenie, użyj SetTemperature polecenia . Aby uzyskać potwierdzenie, utwórz reguły interakcji, wykonując następujące czynności:

  1. W okienku po lewej stronie wybierz polecenie SetTemperature .

  2. W środkowym okienku dodaj reguły interakcji, wybierając pozycję Dodaj. Następnie wybierz pozycję Reguły>interakcji Potwierdź polecenie.

    Ta akcja dodaje trzy reguły interakcji. Reguły proszą użytkownika o potwierdzenie daty i godziny alarmu. Oczekują potwierdzenia (tak lub nie) dla następnej kolei.

    1. Zmodyfikuj regułę interakcji z poleceniem Potwierdź przy użyciu następującej konfiguracji:

      1. Zmień nazwę na Potwierdź temperaturę.
      2. Warunek Wszystkie wymagane parametry jest już ustawiony.
      3. Dodaj nową akcję: wpisz>Wyślij odpowiedź na>mowę Czy na pewno chcesz ustawić temperaturę jako {TemperatureValue} stopni?
      4. W sekcji Oczekiwania pozostaw wartość domyślną Oczekiwano potwierdzenia od użytkownika.

      Screenshot showing how to create the required parameter response.

    2. Zmodyfikuj regułę interakcji Potwierdzenie zakończone powodzeniem , aby obsłużyć pomyślne potwierdzenie (użytkownik powiedział tak).

      1. Zmień nazwę na Temperatura potwierdzenia powiodła się.
      2. Pozostaw istniejący warunek Potwierdzenie zakończone powodzeniem .
      3. Dodaj nowy warunek: wpisz>Wymagane parametry>TemperatureValue.
      4. Pozostaw domyślną wartość stanu Po wykonaniu jako Wykonaj reguły uzupełniania.
    3. Zmodyfikuj regułę interakcji Odmowa potwierdzenia, aby obsługiwać scenariusze po odmowie potwierdzenia (użytkownik powiedział nie).

      1. Zmień nazwę na Odrzucona temperatura potwierdzenia.
      2. Pozostaw istniejący warunek Odmowy potwierdzenia .
      3. Dodaj nowy warunek: wpisz>Wymagane parametry>TemperatureValue.
      4. Dodaj nową akcję: wpisz>Wyślij odpowiedź na>mowę Bez problemu. Jaka temperatura jest wtedy?.
      5. Zmień domyślną wartość stanu po wykonaniu na Czekaj na dane wejściowe użytkownika.

Ważne

W tym artykule użyto wbudowanej funkcji potwierdzenia. Możesz również ręcznie dodać reguły interakcji jeden po drugim.

Wypróbuj zmiany, wybierając pozycję Trenuj. Po zakończeniu trenowania wybierz pozycję Testuj.

  • Dane wejściowe: ustaw temperaturę na 80 stopni
  • Dane wyjściowe: czy na pewno chcesz ustawić temperaturę jako 80 stopni?
  • Dane wejściowe: Nie
  • Dane wyjściowe: brak problemu. Jaka temperatura jest następnie?
  • Dane wejściowe: 72 stopnie
  • Dane wyjściowe: czy na pewno chcesz ustawić temperaturę jako 72 stopnie?
  • Dane wejściowe: Tak
  • Dane wyjściowe: OK, ustawienie temperatury na 72 stopnie

Implementowanie poprawek w poleceniu

W tej sekcji skonfigurujesz korektę jednoetapową. Ta korekta jest używana po uruchomieniu akcji realizacji. Zobaczysz również przykład tego, jak korekta jest domyślnie włączona, jeśli polecenie nie zostało jeszcze spełnione. Aby dodać poprawkę po zakończeniu polecenia, dodaj nowy parametr AlarmTone.

W okienku po lewej stronie wybierz polecenie SetAlarm . Następnie dodaj nowy parametr AlarmTone.

  • Nazwa/nazwisko>AlarmTone
  • Wpisz>ciąg
  • Domyślny chimes wartości>
  • Konfiguracja>Zaakceptuj wstępnie zdefiniowane wartości wejściowe z wykazu wewnętrznego
  • Wstępnie zdefiniowane wartości>wejściowe Chimes, Jingle i Echo (te wartości są poszczególnymi wstępnie zdefiniowanymi danymi wejściowymi).

Następnie zaktualizuj odpowiedź parametru DateTime na Gotowe, aby ustawić alarm z tonem {AlarmTone}. O której godzinie?. Następnie zmodyfikuj regułę uzupełniania w następujący sposób:

  1. Wybierz istniejącą regułę uzupełniania PotwierdzenieOdpowiedzi.
  2. W okienku po prawej stronie umieść kursor nad istniejącą akcją i wybierz pozycję Edytuj.
  3. Zaktualizuj odpowiedź mowy na OK, alarm set for {DateTime}. The alarm tone is {AlarmTone}.

Ważne

Ton alarmu może ulec zmianie bez żadnej jawnej konfiguracji w bieżącym poleceniu. Może na przykład ulec zmianie, gdy polecenie nie zostało jeszcze zakończone. Korekta jest domyślnie włączona dla wszystkich parametrów polecenia, niezależnie od numeru kolei, jeśli polecenie nie zostało jeszcze spełnione.

Implementowanie poprawki po zakończeniu polecenia

Platforma Polecenia niestandardowe umożliwia korektę jednoetapową nawet po zakończeniu polecenia. Ta funkcja nie jest domyślnie włączona. Należy ją jawnie skonfigurować.

Aby skonfigurować korektę jednoetapową, wykonaj następujące czynności:

  1. W poleceniu SetAlarm dodaj regułę interakcji typu Aktualizuj poprzednie polecenie , aby zaktualizować wcześniej ustawiony alarm. Zmień nazwę reguły interakcji na Aktualizuj poprzedni alarm.
  2. Pozostaw warunek domyślny: Poprzednie polecenie musi zostać zaktualizowane.
  3. Dodaj nowy warunek: wpisz wymagany>parametr>DateTime.
  4. Dodaj nową akcję: Wpisz>Wyślij odpowiedź na mowę>Proste edytor>Aktualizowanie poprzedniego alarmu do {DateTime}.
  5. Pozostaw domyślną wartość stanu Po wykonaniu jako Ukończono polecenie.

Wypróbuj zmiany, wybierając pozycję Trenuj. Poczekaj na zakończenie trenowania, a następnie wybierz pozycję Testuj.

  • Dane wejściowe: ustaw alarm.
  • Dane wyjściowe: Gotowe do ustawienia alarmu z tonem jako Chimes. O której godzinie?
  • Dane wejściowe: Ustaw alarm z tonem jako Jingle na 9 rano jutro.
  • Dane wyjściowe: OK, alarm ustawiony dla .2020-05-21 09:00:00 Ton alarmu to Jingle.
  • Dane wejściowe: Nie, 8:00.
  • Dane wyjściowe: Aktualizowanie poprzedniego czasu alarmu do 2020-05-29 08:00.

Uwaga

W rzeczywistej aplikacji w sekcji Akcje tej reguły korekty należy również wysłać działanie z powrotem do klienta lub wywołać punkt końcowy HTTP, aby zaktualizować czas alarmu w systemie. Ta akcja powinna być odpowiedzialna wyłącznie za aktualizowanie czasu alarmu. Nie powinien być odpowiedzialny za żaden inny atrybut polecenia. W takim przypadku ten atrybut będzie tonem alarmu.

Dodawanie szablonów generowania języka na potrzeby odpowiedzi na mowę

Szablony generowania języka (LG) umożliwiają dostosowanie odpowiedzi wysyłanych do klienta. Wprowadzają wariancję do odpowiedzi. Generowanie języka można osiągnąć przy użyciu następujących metod:

  • Szablony generowania języka.
  • Wyrażenia adaptacyjne.

Szablony poleceń niestandardowych są oparte na szablonach LG platformy Bot Framework. Ponieważ funkcja Polecenia niestandardowe tworzy nowy szablon LG w razie potrzeby (w przypadku odpowiedzi mowy w parametrach lub akcjach), nie musisz określać nazwy szablonu LG.

Dlatego nie musisz definiować szablonu w następujący sposób:

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

Zamiast tego możesz zdefiniować treść szablonu bez nazwy, w następujący sposób:

Screenshot showing a template editor example.

Ta zmiana wprowadza zmiany w odpowiedziach mowy wysyłanych do klienta. W przypadku wypowiedzi odpowiednia odpowiedź mowy jest losowo wybierana z podanych opcji.

Korzystając z szablonów LG, można również zdefiniować złożone odpowiedzi mowy dla poleceń przy użyciu wyrażeń adaptacyjnych. Aby uzyskać więcej informacji, zobacz format szablonów LG.

Domyślnie funkcja Polecenia niestandardowe obsługuje wszystkie możliwości z następującymi drobnymi różnicami:

  • W szablonach LG jednostki są reprezentowane jako ${entityName}. Funkcja Polecenia niestandardowe nie używa jednostek. Można jednak użyć parametrów jako zmiennych z reprezentacją ${parameterName} lub reprezentacją {parameterName} .
  • Funkcja Polecenia niestandardowe nie obsługuje kompozycji i rozszerzenia szablonu, ponieważ nigdy nie edytujesz pliku lg bezpośrednio. Edytowane są tylko odpowiedzi automatycznie utworzonych szablonów.
  • Funkcja Polecenia niestandardowe nie obsługuje funkcji niestandardowych, które są wstrzykiwane przez lg. Obsługiwane są wstępnie zdefiniowane funkcje.
  • Funkcja Polecenia niestandardowe nie obsługuje opcji, takich jak strict, replaceNulli lineBreakStyle.

Dodawanie odpowiedzi szablonu do polecenia TurnOnOff

Zmodyfikuj polecenie , TurnOnOff aby dodać nowy parametr. Użyj następującej konfiguracji.

Ustawienie Sugerowana wartość
Nazwa/nazwisko SubjectContext
Wymagane Niezaznaczone
Type ciąg
Wartość domyślna all
Konfiguracja Akceptowanie wstępnie zdefiniowanych wartości wejściowych z wykazu wewnętrznego
Wstępnie zdefiniowane wartości wejściowe room, , bathroomall

Modyfikowanie reguły uzupełniania

Edytuj sekcję Akcje istniejącej reguły uzupełniania PotwierdzenieResponse. W oknie Edytowanie akcji przejdź do edytora szablonów. Następnie zastąp tekst poniższym przykładem.

- 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}

Wytrenuj i przetestuj aplikację przy użyciu następujących danych wejściowych i wyjściowych. Zwróć uwagę na odmianę odpowiedzi. Odmiana jest tworzona przez wiele alternatyw wartości szablonu, a także za pomocą wyrażeń adaptacyjnych.

  • Wejście: włączanie telewizora
  • Dane wyjściowe: Ok, włączanie telewizora
  • Wejście: włączanie telewizora
  • Dane wyjściowe: Gotowe, włączone na telewizorze
  • Dane wejściowe: wyłącz światła
  • Dane wyjściowe: Ok, wyłączając wszystkie światła
  • Dane wejściowe: wyłącz światła pomieszczenia
  • Dane wyjściowe: Ok, wyłączając światła pomieszczenia

Używanie niestandardowego głosu

Innym sposobem dostosowywania odpowiedzi poleceń niestandardowych jest wybranie głosu wyjściowego. Wykonaj następujące kroki, aby przełączyć domyślny głos na niestandardowy głos:

  1. W aplikacji Polecenia niestandardowe w okienku po lewej stronie wybierz pozycję Ustawienia.
  2. W środkowym okienku wybierz pozycję Głos niestandardowy.
  3. W tabeli wybierz niestandardowy głos lub publiczny głos.
  4. Wybierz pozycję Zapisz.

Screenshot showing sample sentences and parameters.

Uwaga

W przypadku głosów publicznych typy neuronowe są dostępne tylko dla określonych regionów. Aby uzyskać więcej informacji, zobacz Obsługiwane regiony usługi Mowa.

Możesz utworzyć niestandardowe głosy na stronie projektu niestandardowego głosu . Aby uzyskać więcej informacji, zobacz Wprowadzenie do niestandardowego głosu.

Teraz aplikacja odpowiada w wybranym głosie zamiast domyślnego głosu.

Następne kroki

  • Dowiedz się, jak zintegrować aplikację Custom Commands z aplikacją kliencką przy użyciu zestawu SPEECH SDK.
  • Skonfiguruj ciągłe wdrażanie aplikacji Custom Commands przy użyciu usługi Azure DevOps.