Dávkové testování pomocí sady příkladů protterance

Dávkové testování ověří aktivní natrénovanou verzi a změří její přesnost předpovědí. Dávkový test vám pomůže zobrazit přesnost jednotlivých záměrů a entit v aktivní verzi. Zkontrolujte výsledky dávkového testu, abyste mohli provést příslušnou akci ke zlepšení přesnosti, například přidat do záměru další příklady protterance, pokud se vaší aplikaci často nedaří identifikovat správný záměr nebo označit entity v rámci protterance.

Seskupení dat pro dávkový test

Je důležité, aby pro něco nového služba LUIS používala dávkové testování. Pokud máte datovou sadu protterance, rozdělte proance do tří sad: příklady protterance přidané do záměru, protterance přijaté z publikovaného koncového bodu a protterance používané k dávkovému testování LUIS po vytrénování.

Dávkový soubor JSON, který použijete, by měl obsahovat proance s entitami strojového učení nejvyšší úrovně označenými včetně počáteční a koncové pozice. Protterance by neměly být součástí příkladů, které už v aplikaci jsou. Měly by to být prosvědky, které chcete kladně predikovat pro záměr a entity.

Testy můžete oddělit podle záměru nebo entity nebo mít všechny testy (až 1 000 protterance) ve stejném souboru.

Běžné chyby při importu dávky

Pokud dojde k chybám při nahrávání dávkového souboru do služby LUIS, zkontrolujte následující běžné problémy:

  • Více než 1 000 protterance v dávkovém souboru
  • Objekt JSON pro protterance, který nemá vlastnost entity. Vlastnost může být prázdné pole.
  • Slova označená ve více entitách
  • Popisky entit začínající nebo končící na prostoru.

Oprava dávkových chyb

Pokud při dávkovém testování dojde k chybám, můžete do záměru přidat další prosly nebo označit entitou více protterance, které luisu pomohou roztáhnou záměry. Pokud jste přidali proslovy a označili je a při dávkovém testování stále dochází k chybám předpovědí, zvažte přidání funkce seznamu frází se slovníky specifickými pro doménu, která pomůže luis se učit rychleji.

Dávkové testování pomocí portálu LUIS

Import a trénování příkladové aplikace

Naimportujte aplikaci, která si objednává pizzu, například 1 pepperoni pizza on thin crust .

  1. Stáhněte si soubor JSON aplikace a uložte si ho.

  2. Přihlaste se k portálu LUISa vyberte prostředek Předplatné a Vytváření, abyste viděli aplikace přiřazené k prostředku vytváření.

  3. Vyberte šipku vedle možnosti Nová aplikace a kliknutím na Importovat jako JSON naimportujte JSON do nové aplikace. Pojmete aplikaci Pizza app .

  4. V pravém horním rohu navigace vyberte Train (Trénovat) a natrénovat aplikaci.

Role v dávkovém testování

Upozornění

Role entit se v dávkovém testování nepodporují.

Dávkový testovací soubor

Příklad KÓDU JSON obsahuje jednu protterance s označenou entitou, která ilustruje, jak vypadá testovací soubor. Ve vlastních testech byste měli mít mnoho protterance se správným záměrem a označenou entitou strojového učení.

  1. Vytvořte pizza-with-machine-learned-entity-test.json ho v textovém editoru nebo si ho stáhněte.

  2. Do dávkového souboru ve formátu JSON přidejte protterance se záměrem, který chcete předpovědět v testu.

    [
        {
            "text": "I want to pick up 1 cheese pizza",
            "intent": "ModifyOrder",
            "entities": [
                {
                    "entity": "Order",
                    "startPos": 18,
                    "endPos": 31
                },
                {
                    "entity": "ToppingList",
                    "startPos": 20,
                    "endPos": 25
                }
            ]
        }
    ]
    

Spuštění dávky

  1. V horním navigačním panelu vyberte Test (Testovat).

  2. Na pravém panelu vyberte Testovací panel služby Batch.

    Odkaz na dávkové testování

  3. Vyberte Importovat. V dialogovém okně, které se zobrazí, vyberte Choose File (Zvolit soubor) a vyhledejte soubor JSON se správným formátem JSON, který neobsahuje více než 1 000 protterance k otestování.

    Chyby importu se hlásí v červeném oznamovacím pruhu v horní části prohlížeče. Pokud import obsahuje chyby, není vytvořena žádná datová sada. Další informace najdete v tématu Běžné chyby.

  4. Zvolte umístění pizza-with-machine-learned-entity-test.json souboru.

  5. Pojmechte pizza test datovou sadu a vyberte Done (Hotovo).

  6. Vyberte tlačítko Run (Spustit).

  7. Po dokončení dávkového testu uvidíte následující sloupce:

    Sloupec Popis
    Stav Stav testu Podívejte se na výsledky, které se zobrazí až po dokončení testu.
    Name Název, který jste testu dali.
    Velikost Počet testů v tomto souboru dávkového testu
    Poslední spuštění Datum posledního spuštění tohoto dávkového testovacího souboru
    Poslední výsledek Počet úspěšných předpovědí v testu
  8. Pokud chcete zobrazit podrobné výsledky testu, vyberte Zobrazit výsledky.

    Tip

    • Když vyberete Stáhnout, stáhne se stejný soubor, který jste nahráli.
    • Pokud vidíte, že dávkový test selhal, alespoň jeden záměr protterance neodpovídá predikci.

Kontrola dávkových výsledků pro záměry

Pokud chcete zkontrolovat výsledky dávkového testu, vyberte Zobrazit výsledky. Výsledky testu graficky ukazují, jak byly testovací proance předpovězeny vůči aktivní verzi.

Dávkový graf zobrazuje čtyři kvadranty výsledků. Napravo od grafu je filtr. Filtr obsahuje záměry a entity. Když vyberete část grafu nebo bod v grafu, zobrazí se pod grafem přidružené proance(y).

Při najetí myší na graf může kolečko myši zvětšit nebo zmenšit zobrazení v grafu. To je užitečné v případě, že je v grafu hodně bodů, které jsou pevně shromaděné.

Graf je ve čtyřech kvadrantech a dva oddíly jsou zobrazené červeně.

  1. V seznamu filtrů vyberte záměr ModifyOrder (Změnit pořadí). Protterance se předpovídá jako pravdivě pozitivní, což znamená, že protterance úspěšně odpovídá její pozitivní predikci uvedené v dávkovém souboru.

    Protterance úspěšně odpovídala své pozitivní predikci

    Zelené značky zaškrtnutí v seznamu filtrů také udávají úspěch testu pro každý záměr. Všechny ostatní záměry jsou uvedené s kladným skóre 1/1, protože protterance byla testována pro každý záměr jako negativní test pro všechny záměry, které nejsou uvedené v dávkovém testu.

  2. Vyberte záměr Confirmation (Potvrzení). Tento záměr není uvedený v dávkovém testu, takže se jedná o negativní test protterance, která je uvedená v dávkovém testu.

    Protterance úspěšně předpověděla negativní výsledky pro neuvedený záměr v dávkovém souboru

    Negativní test byl úspěšný, jak je u zeleného textu ve filtru a mřížce.

Kontrola výsledků dávkového testu pro entity

Entita ModifyOrder jako entita počítače s dílčími entitami zobrazuje, jestli se entita nejvyšší úrovně shoduje a jak se předpovídají dílčí entity.

  1. V seznamu filtrů vyberte entitu ModifyOrder a pak vyberte kruh v mřížce.

  2. Predikce entity se zobrazí pod grafem. Zobrazení obsahuje plné čáry pro předpovědi, které odpovídají očekávání, a tečkované čáry pro předpovědi, které neodpovídají očekávání.

    Nadřazená entita byla úspěšně predikována v dávkovém souboru.

Filtrování výsledků grafu

Pokud chcete graf filtrovat podle konkrétního záměru nebo entity, vyberte záměr nebo entitu na panelu filtrování na pravé straně. Datové body a jejich aktualizace distribuce v grafu podle vašeho výběru.

Vizualizované výsledky dávkového testu

Příklady výsledků grafu

Graf na portálu LUIS můžete provádět následující akce:

Zobrazení dat protterance s jedním bodem

V grafu najeďte myší na datový bod, abyste viděli skóre jistoty pro jeho predikci. Výběrem datového bodu načtete odpovídající protterance v seznamu protterance v dolní části stránky.

Vybraná protterance

Zobrazit data oddílu

V grafu se čtyřmi oddíly vyberte název oddílu, například falešně pozitivní v pravém horním rohu grafu. Pod grafem se všechny projevy v této části zobrazí pod grafem v seznamu.

Vybrané projevy podle oddílu

V tomto předchozím obrázku switch on je utterance označený jako TurnAllOn záměr, ale dostal předpověď žádného záměru. Jedná se o indikaci, že záměr TurnAllOn potřebuje další příklad projevy, aby bylo možné provést očekávanou předpověď.

Dva části grafu červeně označují projevy, které neodpovídaly očekávané předpovědi. Označují projevy, které LUIS potřebují více školení.

Dva oddíly v grafu zeleně odpovídaly očekávané předpovědi.

Dávkové testování pomocí REST API

LUIS umožňuje dávkové testování pomocí portálu LUIS a REST API. Koncové body pro REST API jsou uvedeny níže. Informace o dávkovém testování pomocí portálu LUIS najdete v tématu kurz: dávkové test sady dat. Použijte níže uvedené úplné adresy URL a nahraďte zástupné hodnoty vlastním klíčem předpovědi LUIS a koncovým bodem.

Nezapomeňte do hlavičky přidat svůj klíč LUIS Ocp-Apim-Subscription-Key a nastavit Content-Type na application/json .

Spuštění dávkového testu

Spusťte test dávky pomocí ID verze aplikace nebo slotu publikování. Odešle požadavek post do jednoho z následujících formátů koncového bodu. Do těla žádosti zahrňte soubor Batch.

Slot pro publikování

  • <YOUR-PREDICTION-ENDPOINT>/luis/v3.0-preview/apps/<YOUR-APP-ID>/slots/<YOUR-SLOT-NAME>/evaluations

ID verze aplikace

  • <YOUR-PREDICTION-ENDPOINT>/luis/v3.0-preview/apps/<YOUR-APP-ID>/versions/<YOUR-APP-VERSION-ID>/evaluations

Tyto koncové body vrátí ID operace, kterou použijete ke kontrole stavu a získání výsledků.

Získání stavu průběžného testu dávky

Použijte ID operace z dávkového testu, které jste spustili, abyste získali svůj stav z následujících formátů koncových bodů:

Slot pro publikování

  • <YOUR-PREDICTION-ENDPOINT>/luis/v3.0-preview/apps/<YOUR-APP-ID>/slots/<YOUR-SLOT-ID>/evaluations/<YOUR-OPERATION-ID>/status

ID verze aplikace

  • <YOUR-PREDICTION-ENDPOINT>/luis/v3.0-preview/apps/<YOUR-APP-ID>/versions/<YOUR-APP-VERSION-ID>/evaluations/<YOUR-OPERATION-ID>/status

Získání výsledků z dávkového testu

Pomocí ID operace z dávkového testu, který jste začali, získáte výsledky z následujících formátů koncových bodů:

Slot pro publikování

  • <YOUR-PREDICTION-ENDPOINT>/luis/v3.0-preview/apps/<YOUR-APP-ID>/slots/<YOUR-SLOT-ID>/evaluations/<YOUR-OPERATION-ID>/result

ID verze aplikace

  • <YOUR-PREDICTION-ENDPOINT>/luis/v3.0-preview/apps/<YOUR-APP-ID>/versions/<YOUR-APP-VERSION-ID>/evaluations/<YOUR-OPERATION-ID>/result

Dávkový soubor pro projevy

Odeslání dávkového souboru projevy, který se označuje jako datová sada, pro dávkové testování. Datová sada je soubor ve formátu JSON, který obsahuje maximálně 1 000 označených projevy. V aplikaci můžete testovat až 10 datových sad. Pokud potřebujete vyzkoušet víc, odstraňte datovou sadu a pak přidejte novou. Všechny vlastní entity v modelu se zobrazí v rámci filtru entity testu dávky i v případě, že v datech dávkového souboru nejsou žádné odpovídající entity.

Dávkový soubor se skládá z projevy. Každý utterance musí mít očekávanou předpověď záměru spolu se všemi entitami strojového učení , které se mají zjistit.

Šablona syntaxe služby Batch pro záměry s entitami

K spuštění dávkového souboru použijte následující šablonu:

{
    "LabeledTestSetUtterances": [
        {
            "text": "play a song",
            "intent": "play_music",
            "entities": [
                {
                    "entity": "song_parent",
                    "startPos": 0,
                    "endPos": 15,
                    "children": [
                        {
                            "entity": "pre_song",
                            "startPos": 0,
                            "endPos": 3
                        },
                        {
                            "entity": "song_info",
                            "startPos": 5,
                            "endPos": 15
                        }
                    ]
                }
            ]
        }
    ]
}

Dávkový soubor používá vlastnosti startPos a endpos , které označují začátek a konec entity. Hodnoty jsou počítány od nuly a neměly by začínat ani končit mezerou. To se liší od protokolů dotazů, které používají vlastnosti startIndex a hodnota endIndex.

Pokud nechcete testovat entity, zahrňte entities vlastnost a nastavte hodnotu jako prázdné pole, [] .

Výsledky REST API dávky testu

Rozhraní API vrátilo několik objektů:

  • Informace o záměrech a modelech entit, jako je přesnost, odvolání a F-skore.
  • Informace o modelech entit, jako je například Precision, Recall a F-skore) pro každou entitu
    • Pomocí verbose příznaku můžete získat další informace o entitě, například entityTextFScore a entityTypeFScore .
  • Poskytnuté projevy s předpokládanými a označenými názvy záměrů
  • Seznam falešně pozitivních entit a seznam falešně negativních entit.

Další kroky

Pokud testování indikuje, že vaše aplikace LUIS nerozpozná správné záměry a entity, můžete pracovat na zlepšení výkonu vaší aplikace LUIS tak, že se přihlásíte další projevy nebo přidáte funkce.