Definování záměrů, promluv a entit

Dokončeno

Promluvy jsou fráze, které uživatel může zadat při interakci s aplikací, která používá váš jazykový model. Záměr představuje úkol nebo akci, kterou chce uživatel provést, nebo jednoduše význam promluvy. Model vytvoříte tak, že definujete záměry a přidružíte je k jednomu nebo více promluvám.

Představte si například následující seznam záměrů a přidružených promluv:

  • GetTime:
    • "Kdy je čas?"
    • "Co je čas?"
    • "Řekněte mi čas"
  • GetWeather:
    • "Jaká je předpověď počasí?"
    • "Potřebuji deštník?"
    • "Bude to sníh?"
  • TurnOnDevice
    • "Zapněte světlo."
    • "Zapněte světlo."
    • "Zapnutí ventilátoru"
  • Žádné:
    • „Hello“ (Ahoj)
    • "Sbohem"

V modelu musíte definovat záměry, kterým má model rozumět, takže věnujte určitou dobu zvážení domény , kterou váš model musí podporovat, a druhy akcí nebo informací, které můžou uživatelé požadovat. Kromě záměrů, které definujete, zahrnuje každý model záměr Žádné , který byste měli použít k explicitní identifikaci promluv, které může uživatel odeslat, ale pro které není nutná žádná konkrétní akce (například konverzační pozdravy jako "hello") nebo které spadají mimo rozsah domény pro tento model.

Jakmile identifikujete záměry, které váš model musí podporovat, je důležité zachytit různé ukázkové promluvy pro každý záměr. Shromážděte promluvy, které si myslíte, že uživatelé budou zadávat; včetně promluv, což znamená stejnou věc, ale které jsou sestaveny různými způsoby. Mějte na paměti tyto pokyny:

  • Zachycení několika různých příkladů nebo alternativních způsobů, jak říct totéž
  • Liší se délka promluv od krátkých, po střední po dlouhou.
  • Liší se umístění podstatného jména nebo předmětu promluvy. Umístěte ho na začátek, konec nebo někam mezi
  • Použití správné gramatiky a nesprávné gramatiky v různých promluvách k tomu, aby nabízely dobré příklady trénovacích dat
  • Přesnost, konzistence a úplnost označených dat jsou klíčovými faktory pro určení výkonu modelu.
    • Popisek přesně: Vždy označte každou entitu správným typem. Uveďte jenom to, co chcete extrahovat, vyhněte se zbytečným datům v popiscích.
    • Štítek konzistentně: Stejná entita by měla mít stejný popisek ve všech promluvách.
    • Popisek zcela: Označte všechny instance entity ve všech promluvách.

Entity se používají k přidání konkrétního kontextu do záměrů. Můžete například definovat záměr TurnOnDevice , který lze použít na více zařízeních, a pomocí entit definovat různá zařízení.

Představte si následující promluvy, záměry a entity:

Výrok Záměr Entity
Jaký je čas? GetTime
Kdy je to v Londýně? GetTime Umístění (Londýn)
Jaká je předpověď počasí pro Paříž? GetWeather Umístění (Paříž)
Budu dnes potřebovat deštník? GetWeather Čas (dnes večer)
Jaká je předpověď pro Seattle zítra? GetWeather Umístění (Seattle), Čas (zítra)
Zapněte světlo. TurnOnDevice Zařízení (světlo)
Zapněte ventilátor. TurnOnDevice Zařízení (ventilátor)

Entity můžete rozdělit na několik různých typů komponent:

  • Naučené entity jsou nejflexibilnější druh entity a měly by se používat ve většině případů. Nadefinujete naučenou komponentu s vhodným názvem a pak k ní přidružíte slova nebo fráze v trénovacích promluvách. Když model vytrénujete, naučí se shodovat s příslušnými prvky v promluvách s entitou.
  • Entity seznamu jsou užitečné, když potřebujete entitu s konkrétní sadou možných hodnot – například dny v týdnu. Do definice entity seznamu můžete zahrnout synonyma, takže můžete definovat entitu DayOfWeek , která obsahuje hodnoty "Neděle", "Pondělí", "Úterý" atd. Každá se synonymy jako "Sun", "Mon", "Út" atd.
  • Předem připravené entity jsou užitečné pro běžné typy, jako jsou čísla, data a časy a názvy. Když se například přidají předem připravené komponenty, automaticky rozpoznáte hodnoty, jako je například 6 nebo organizace, jako je Například Microsoft. V tomto článku najdete seznam podporovaných předem připravených entit.