Cvičení – nastavení záměru a porozumění přirozenému jazyku

Dokončeno

V tomto modulu prozkoumáte rozpoznávání záměru služby Azure Speech. Rozpoznávání záměru umožňuje aplikaci vybavit příkazy řeči využívajícími AI, kde uživatelé můžou říkat nespecifické příkazy řeči a systém stále rozumí jejich záměru.

Příprava scény

  1. V okně Hierarchie vyberte objekt Lunarcom a pak v okně inspektoru pomocí tlačítka Přidat komponentu přidejte komponentu Lunrcom Intent Recognizer (Script) k objektu Lunarcom.

    Screenshot of adding the Lunarcom Intent Recognizer (Script) component.

  2. V okně Projekt přejděte na sadu PROSTŘEDKŮ>MRTK. Tutorials.GettingStarted Prefabs>RocketLauncher folder, přetáhněte RocketLauncher_Complete prefab do okna hierarchie a umístěte ho před kameru do vhodného umístění.> Příklad:

    • Pozice transformace X = 0, Y = 1, Z = 1,5
    • Transformace otočení X = 0, Y = 90, Z = 0

    Screenshot of adding the RocketLauncher_Complete prefab.

  3. V okně Hierarchie znovu vyberte objekt Lunarcom a potom rozbalte objekt RocketLauncher_Complete>Tlačítka a přiřaďte všechny podřízené objekty Buttons k odpovídajícímu poli Tlačítka pro spuštění lunárního spouštěče.

    Screenshot of assigning each of the buttons.

Vytvoření prostředku služby jazyka Azure

V této části vytvoříte prostředek služby jazyka Azure pro aplikaci ClU (Conversational Language Understanding), kterou vytvoříte v další části.

  1. Přihlaste se k webu Azure Portal a vyberte Vytvořit prostředek a pak vyhledejte a vyberte Jazyková služba:

    Screenshot of the Azure language service resource.

  2. Výběrem tlačítka Vytvořit vytvořte instanci této služby:

    Screenshot of creating an instance of this service.

  3. Na stránce Vytvořit jazyk zadejte následující hodnoty:

    • Pokud máte zkušební verzi předplatného, vyberte možnost Bezplatná zkušební verze. Pokud nemáte zkušební předplatné, vyberte jedno z dalších předplatných.
    • Pro skupinu prostředků vyberte odkaz Vytvořit nový a zadejte vhodný název, například MRTK-Tutorials. Vyberte OK.

    Screenshot of the Create Language screen.

    Tip

    Pokud už máte ve svém účtu Azure jinou vhodnou skupinu prostředků, můžete tuto skupinu prostředků použít místo vytvoření nové skupiny prostředků.

  4. Na stránce Vytvořit zadejte následující hodnoty:

    • Jako Název zadejte vhodný název služby, například MRTK-Tutorials-AzureSpeechServices.
    • V části Oblast zvolte umístění blízko fyzického umístění uživatelů aplikace, například USA – východ.
    • V případě cenové úrovně v tomto kurzu vyberte F0 (5 tisíc transakcí za 30 dnů).

    Screenshot of the configured Create Language form.

  5. Dále vyberte Zkontrolovat a vytvořit, projděte si podrobnosti a pak vyberte tlačítko Vytvořit v dolní části stránky a vytvořte prostředek (a novou skupinu prostředků, pokud jste nakonfigurovali vytvoření):

    Screenshot of the Review + Create screen.

  6. Po dokončení procesu vytváření prostředků se zobrazí zpráva o dokončení nasazení:

    Screenshot of the Overview screen.

Vytvoření konverzační aplikace pro rozpoznávání jazyka (CLU)

V této části vytvoříte aplikaci CLU, nakonfigurujete a vytrénujete její prediktivní model a připojíte ji k prostředku jazyka Azure, který jste vytvořili v předchozím kroku.

Konkrétně vytvoříte záměr, který v případě, že uživatel řekne, že má být provedena akce, aplikace aktivuje PressableButton.OnClicked() událost na jednom ze tří modrých tlačítek ve scéně v závislosti na tom, na kterém tlačítku uživatel odkazuje.

Pokud například uživatel řekne, že jde o krok dopředu a spustí raketu, aplikace předpovídá, že by se měla provést nějaká akce a že PressableButton.OnClicked() událost, která se má cílit, je na tlačítku startu.

Hlavními kroky, které provedete k dosažení těchto kroků, jsou:

  1. Vytvoření aplikace CLU
  2. Vytvořit záměry
  3. Vytvoření ukázkových promluv
  4. Vytvoření entit
  5. Přiřazení entit k ukázkovým promluvám
  6. Trénování, testování a publikování aplikace

1. Vytvoření aplikace CLU

Pomocí stejného uživatelského účtu, který jste použili při vytváření prostředku Azure v předchozí části, se přihlaste k sadě Language Studio.

  1. Po přihlášení se zobrazí výzva k výběru prostředku Azure. Vyberte hodnoty, které jste použili při vytváření prostředku služby Azure Language, a pak vyberte Hotovo.

    Screenshot showing the Select an Azure resource popup.

  2. Po připojení prostředku Azure vyberte Create new Conversational Language Understanding (Vytvořit nový > konverzační jazyk) a do automaticky otevírané okna Vytvořit projekt zadejte následující hodnoty:

    • Jako název zadejte vhodný název, například MRTK-Tutorials-AzureSpeechServices. Poznamenejte si název, který jste vybrali, budete ho potřebovat později v kurzu.
    • V primárním jazyce Promluvy vyberte jazyk.
    • Pro popis můžete volitelně zadat vhodný popis.

    Screenshot of the Create a project popup.

  3. Výběrem možnosti Další zkontrolujte konfiguraci projektu. Vyberte Vytvořit a vytvořte projekt.

    Screenshot of the Review and finish screen.

  4. Po vytvoření nové aplikace přejdete na stránku definice schématu této aplikace.

    Screenshot of the App's dashboard page.

2. Vytvoření záměrů

  1. Na stránce Definice schématu vyberte Přidat a do automaticky otevíraného okna Přidat záměr zadejte následující hodnotu:

    • Jako název záměru zadejte PressButton.
  2. Vyberte Přidat záměr a vytvořte nový záměr:

    Screenshot of the Add an intent screen.

    Upozornění

    Pro účely tohoto kurzu bude projekt Unity odkazovat na tento záměr podle názvu (PressButton). Je velmi důležité, abyste svůj záměr pojmenováli úplně stejně.

  3. Po vytvoření nového záměru se vrátíte na stránku definice schématu. Záměr PressButton se zobrazí v seznamu záměrů.

    Screenshot of the list of Intents.

3. Vytvoření ukázkových promluv

  1. Na levém bočním panelu vyberte tlačítko Popisování dat. Na obrazovce Popisování dat v rozevíracím seznamu Vybrat záměr vyberte Tlačítko PressButton.

    Screenshot of the Data labeling page.

  2. Do seznamu Promluvy záměru PressButton přidejte následující ukázkové promluvy:

    • aktivace spouštěcí sekvence
    • show me a placement hint
    • inicializovat spouštěcí sekvenci
    • stiskněte tlačítko s informacemi o umístění
    • dejte mi nápovědu
    • stiskněte tlačítko pro spuštění.
    • Potřebuji nápovědu
    • stiskněte tlačítko pro resetování.
    • čas na resetování prostředí
    • jdi dopředu a start rakety
  3. Po přidání všech ukázkových promluv by stránka popisování dat měla vypadat takto:

    Screenshot of the updated Data labeling page.

    Upozornění

    Pro účely tohoto kurzu bude projekt Unity odkazovat na slova "hint", "hints", "reset" a "launch". Je velmi důležité, abyste tato slova napsali úplně stejným způsobem ve všech případech.

4. Vytváření entit

  1. Na stránce Popisování dat vyberte v pravém podokně Aktivita přidat entitu a do automaticky otevíraných oken Přidat entitu zadejte následující hodnoty:

    • Jako název entity zadejte akci.
  2. Výběrem možnosti Přidat entitu vytvořte novou entitu.

    Screenshot of adding a new entity.

  3. Opakujte předchozí krok a vytvořte další entitu s názvem Cíl, takže máte dvě entity s názvem Akce a Cíl.

    Screenshot of creating a target entity.

    Upozornění

    Pro účely tohoto kurzu bude projekt Unity odkazovat na tyto entity podle jejich názvů Action a Target. Je velmi důležité pojmenovat entity úplně stejně.

5. Přiřazení entit k ukázkovým promluvám

  1. Vyberte slovo go a pak na slovo dopředu a pak v místní nabídce vyberte Action (Simple) (Akce) a popisek přejděte jako hodnota entity Akce .

    Screenshot of labeling go ahead as an action entity value.

  2. Následující fráze je teď definována jako hodnota entity Akce. Teď je hodnota entity akce pod slovy "go ahead".

    Screenshot of the added action entity value.

    Poznámka:

    Červená čára, kterou vidíte pod popiskem na obrázku, označuje, že hodnota entity nebyla předpovězena; tento problém se vyřeší při trénování modelu v další části.

  3. Dále vyberte spuštění slova a pak v místní nabídce vyberte Cíl, aby se popisek spustil jako hodnota cílové entity.

    Screenshot of selecting the word launch.

  4. Spouštěcí slovo je teď definováno jako hodnota cílové entity. Pod slovem "launch" je teď hodnota cílové entity.

    Screenshot of the added Target entity value under the word launch.

  5. Ukázková promluva go ahead and launch the rocket záměru PressButton je teď nakonfigurovaná tak, aby byla předpovězena následujícím způsobem:

    • Záměr: PressButton
    • Entita akce: pokračujte
    • Cílová entita: spuštění
  6. Opakováním předchozího procesu přiřaďte k jednotlivým ukázkovým promluvám popisek akce a cílové entity, přičemž mějte na paměti, že následující slova by měla být označena jako cílové entity:

    • hint (cílí na HintsButton v projektu Unity)
    • hints (targets HintsButton in the Unity project)
    • resetování (cílí na ResetButton v projektu Unity)
    • launch (cílí na LaunchButton v projektu Unity)
  7. Vyberte volbu Uložit změny. Když označíte všechny ukázkové promluvy, stránka záměru PressButton by měla vypadat takto:

    Screenshot of the PressButton intent page with all example utterances labeled.

6. Trénování, testování a publikování aplikace

  1. Pokud chcete aplikaci vytrénovat, vyberte na levém bočním panelu tlačítko Train (Trénovat ). Měla by se zobrazit stránka trénovacích úloh.

    Screenshot of the Training jobs screen.

  2. Vyberte Spustit trénovací úlohu a vyberte následující hodnoty:

    • Vyberte Možnost Trénovat nový model a zadejte vhodný název, například MRTK-Tutorials-AzureSpeechServices.
    • Vyberte Standardní trénování.
    • Vyberte Automaticky rozdělit testovací sadu z trénovacích dat.
  3. Výběrem možnosti Trénování zahájíte proces trénování. Po dokončení zpracování trénování se zobrazí oznámení o dokončení trénování .

    Screenshot of Finished training notification.

  4. Pokud chcete zkontrolovat výsledky trénování, vyberte svůj výstupní model na obrazovce trénovací úlohy a pak vyberte kartu Výkon modelu.

    Screenshot of the Model performance screen.

  5. Pokud chcete aplikaci nasadit, vyberte na levém bočním panelu tlačítko Nasazení modelu . Měla by se zobrazit stránka Nasazení modelu.

    Screenshot of the Deploying a model page.

  6. V místní nabídce Přidat nasazení vyberte Přidat nasazení a zadejte následující hodnoty:

    • Vyberte Vytvořit nový název nasazení a zadejte vhodný název. Poznamenejte si název, který jste vybrali, budete ho potřebovat později v kurzu.
    • V rozevíracím seznamu Vybrat natrénovaný model vyberte model, který jste vytvořili dříve.
  7. Vyberte Nasadit a počkejte na dokončení procesu publikování.

    Screenshot of the Deployment completed notification.

  8. Vyberte nové nasazení a vyberte tlačítko Získat adresu URL předpovědi.

    Screenshot of the Get Prediction URL page.

Připojení projektu Unity do aplikace CLU

  1. V místní nabídce Získat prediktivní adresu URL vyberte ikonu Kopírovat a zkopírujte adresu URL predikce.

    Screenshot of Get Prediction URL popup.

  2. Zpátky v projektu Unity v okně Hierarchie vyberte objekt Lunarcom , pak v okně inspektoru vyhledejte komponentu Lunrcom Intent Recognizer (Script) a nakonfigurujte ji následujícím způsobem.

    • V poli Koncový bod CLU předejte adresu URL předpovědi, kterou jste zkopírovali v předchozím kroku.
    • V poli Název projektu CLU předejte název projektu, který jste si poznamenali při vytváření aplikace CLU.
    • V poli Nasazení CLU předejte název nasazení, který jste si poznamenali při vytváření nového nasazení.
    • V poli Klíč rozhraní API služby jazyka předejte klíč rozhraní API (Key1 nebo Key2) pro vaši službu jazyka. Najdete ho na webu Azure Portal tak, že vyberete svoji jazykovou službu a pak v nabídce vlevo vyberete Klíče a koncový bod .

    Screenshot of passing the example query you copied.

Otestování rozpoznávání záměru

  1. Pokud chcete používat rozpoznávání záměru přímo v editoru Unity, musíte povolit, aby váš vývojový počítač používal diktování. Pokud chcete toto nastavení ověřit, otevřete windows Nastavení, zvolte Službu ochrany osobních údajů>a ujistěte se, že je zapnuté online rozpoznávání řeči.

    Screenshot of Testing the intent recognition.

  2. Pokud přejdete do herního režimu, můžete rozpoznávání záměru otestovat tak, že nejprve stisknete tlačítko rakety. Když pak řeknete první ukázkovou promluvu, pokračujte a spusťte raketu, uvidíte start LunárníModule do vesmíru.

    Screenshot of Enter the game mode.

  3. Zkuste všechny ukázkové promluvy, pak některé varianty ukázkových promluv a pak několik náhodných promluv.