A párbeszédpanelek bemutatása

Befejeződött

Mielőtt elkezdene robotot fejleszteni a Bot Framework Composerrel, hasznos megérteni a robottervezés kulcsfontosságú fogalmát – párbeszédpaneleket.

A legegyszerűbb esetek mindegyikében a robot valószínűleg több párbeszédpanelt használ többfordulós beszélgetések implementálásához, amelyekben a robot adatokat gyűjt a felhasználótól, és az állapotot a fordulások között tárolja. A robotok közötti interakció általában egy párbeszédpanellel kezdődik, amelyben a robot üdvözli a felhasználót, és létrehozza a kezdeti beszélgetést, majd elindítja a gyermek párbeszédpaneleket.

Párbeszédpanelek folyamata

Hasznos lehet összehasonlítani a hagyományos alkalmazások interakcióinak áramlását egy robottal. Fontolja meg egy pizzarendelési alkalmazást.

A hagyományos alkalmazásokban a felhasználók általában "képernyők" vagy "oldalak" sorozataként tekintenek az interakciókra. Egy pizzarendelési webhelyen például a felhasználó a kezdőképernyőn kezdhet. Ezután a felhasználó kiválaszthat egy lehetőséget a rendelkezésre álló pizzabeállítások megtekintéséhez, áthelyezheti az alkalmazást a Pizza kiválasztása képernyőn, ahol a felhasználó kiválaszthatja és testre szabhatja a pizzát. Végül a felhasználó dönthet úgy, hogy kijelentkezik, és a Rendelési képernyőre viszi őket, ahol megadhatja a fizetési és szállítási adatokat.

Diagram that shows a traditional application flow for ordering a pizza.

A robotok hasonló szekvenciális mintát követhetnek, amelyben minden egyes "képernyőt" felvált egy párbeszédpanel, amely összegyűjti a szükséges információkat, mielőtt a felhasználót a következő fázisba helyezné.

Diagram that shows a bot application flow for ordering a pizza.

A lényeg az, hogy fontolja meg a robot célját - mit kell segítenie a felhasználónak elérni? Ezután olyan párbeszédfolyamatot tervezhet meg párbeszédpanelek alapján, amelyek összegyűjtik a szükséges információkat, és hatékonyan jutnak el a megoldáshoz.

Párbeszédpanelek implementálása a Bot Framework Composerrel

A Bot Framework Composer párbeszédpaneleket (korábban adaptív párbeszédpaneleket) implementál a robotbeszélgetés létrehozásához. A párbeszédpanelek rugalmas beszélgetési folyamattal rendelkeznek, amely lehetővé teszi a megszakításokat, a megszakításokat és a környezeti kapcsolókat a beszélgetés bármely pontján. Az egyes párbeszédpanelek a következőkből állnak:

  • Egy vagy több művelet , amely meghatározza az üzenettevékenységek folyamatát a párbeszédpanelen. Ezek közé tartozik az üzenet küldése, a felhasználó kérése bemenetre, kérdés feltevése és a beszélgetés elágaztatása.
  • Eseményindító, amely meghívja a párbeszédpanel logikáját bizonyos feltételekhez vagy az észlelt szándék alapján.
  • Egy felismerő, amely a szemantikai szándék meghatározásához értelmezi a felhasználói bemenetet. A felismerők alapértelmezés szerint a Language Understanding szolgáltatáson alapulnak, de más típusú felismerőket is használhat; például a QnA szolgáltatás vagy az egyszerű reguláris kifejezés egyezése.

A robot üzenetei vagy válaszai egy vagy több válaszból választhatnak, amelyeket véletlenszerűen választanak ki egy dinamikusabb beszélgetéshez.

Ezen elemek mellett egy párbeszédpanel memóriával is rendelkezik, amelyben az értékek tulajdonságokként vannak tárolva. A tulajdonságok különböző hatókörökben határozhatók meg, beleértve a felhasználói hatókört (olyan változókat, amelyek a robottal folytatott felhasználói munkamenet teljes időtartamára tárolnak információkat, például user.greeted) és párbeszédpanel-hatókörökben (a párbeszédpanel élettartamára vonatkozó változók, példáuldialog.response).

Ebben a beszélgetési stílusban a robot elindít egy párbeszédpanelt, amely egy műveletfolyamot tartalmaz (amely ágakat és hurkokat is tartalmazhat). A párbeszédpanelen a felismerő elemzi a felhasználóktól érkező adatokat, és a válaszokat a bemeneti eseménytől függően adja vissza. A felismerő elemzi az eseményt vagy a természetes nyelvi bemenetet a szándékok észleléséhez, amelyek leképezhetők a beszélgetés folyamatát módosító eseményindítókra. Ez a folyamatváltozás gyakran új gyermek párbeszédpaneleket indít el, amelyek saját műveleteket, eseményindítókat és felismerőket tartalmaznak.

Ha például egy új felhasználót adnak hozzá a beszélgetéshez, és elindít egy ConversationUpdate tevékenységet, a robot különböző üdvözlő válaszokkal üdvözölheti őket, majd feltehet nekik egy kérdést.

Egy másik példa, a pizzarendelési robot egy fő párbeszédpanellel kezdődhet, amely egyszerűen üdvözli a felhasználót. Amikor a felhasználó egy üzenetet ír be, amely jelzi, hogy pizzát szeretne rendelni, a felismerő észleli ezt a szándékot, és egy eseményindítóval elindít egy másik párbeszédpanelt, amely a pizzarendeléssel kapcsolatos információk gyűjtéséhez szükséges műveleteket tartalmazza.

Diagram that shows an adaptive dialog for ordering a pizza.