Megosztás a következőn keresztül:


Minták a LUIS-alkalmazásokban

Fontos

A LUIS 2025. október 1-jén megszűnik, és 2023. április 1-től nem hozhat létre új LUIS-erőforrásokat. Javasoljuk, hogy a LUIS-alkalmazásokat a beszélgetési nyelv megértésére migrálja, hogy kihasználhassa a terméktámogatás és a többnyelvű képességek előnyeit.

A mintákat úgy tervezték, hogy javítsák a pontosságot, ha több kimondott szöveg nagyon hasonló. A minta lehetővé teszi, hogy nagyobb pontosságot szerezzen egy szándékhoz anélkül, hogy több kimondott szöveget ad meg.

A minták az alacsony szándékú megbízhatóságot oldják meg

Fontolja meg egy emberierőforrás-alkalmazás használatát, amely a szervezeti diagramon jelent egy alkalmazotthoz képest. Az alkalmazott neve és kapcsolata miatt a LUIS visszaadja az érintett alkalmazottakat. Tekintsünk egy alkalmazottat, Tomot, egy Alice nevű vezetővel és egy beosztotti csapattal: Michael, Rebecca és Carl.

Képernyőkép a minták használatáról

Beszédelemek Szándék előrejelzett Szándék pontszáma
Ki Tom alárendeltje? GetOrgChart 0,30
Ki tom alárendeltje? GetOrgChart 0,30

Ha egy alkalmazás 10 és 20 közötti beszédelemekkel rendelkezik, amelyek különböző mondathosszúságokkal, különböző szórenddel és akár más szavakkal (az "alárendelt", a "kezelés", a "jelentés" szinonimáival) is rendelkezik, a LUIS alacsony megbízhatósági pontszámot adhat vissza. Hozzon létre egy mintát, amely segít a LUIS-nak megérteni a szórend fontosságát.

A minták a következő helyzeteket oldják meg:

  • A szándékpontszám alacsony
  • A helyes szándék nem a legmagasabb pontszám, de túl közel van a legmagasabb pontszámhoz.

A minták nem garantálják a szándékot

A minták különböző előrejelzési technikákat használnak. A sablon kimondott szövegének szándékának beállítása egy mintában nem garantálja a szándék előrejelzését, de erős jel.

A minták nem javítják a gépi tanulási entitások észlelését

A minta elsősorban a szándékok és szerepkörök előrejelzésének segítésére szolgál. A "pattern.any" entitás szabad formátumú entitások kinyerésére szolgál. Bár a minták entitásokat használnak, a minta nem segít észlelni egy gépi tanulási entitást.

Ne várjon továbbfejlesztett entitás-előrejelzést, ha több kimondott szöveget egyetlen mintába csuk össze. Ahhoz, hogy az alkalmazás egyszerű entitásokat használjon, kimondott szövegeket kell hozzáadnia, vagy listaentitásokat kell használnia.

A minták entitásszerepköröket használnak

Ha egy minta két vagy több entitása környezetfüggő, a minták entitásszerepköröket használnak az entitásokkal kapcsolatos környezeti információk kinyerésére.

Előrejelzési pontszámok mintákkal és anélkül

Elég példa kimondott szövegre, a LUIS mintázatok nélkül is növelheti az előrejelzés megbízhatóságát. A minták növelik a megbízhatósági pontszámot anélkül, hogy annyi kimondott szöveget kellene megadniuk.

Mintaegyezés

A minta megfeleltetéséhez először észleli a mintán belüli entitásokat, majd érvényesíti a minta többi szóját és szósorrendét. A mintában entitásokra van szükség ahhoz, hogy egy minta egyezzen. A minta a jogkivonat szintjén van alkalmazva, nem a karakter szintjén.

Pattern.any entitás

A pattern.any entitás lehetővé teszi szabad formátumú adatok keresését olyankor, amikor az entitás szövegezése nehézzé teszi az entitás végének a kimondott szöveg fennmaradó részétől való elkülönítését.

Vegyük például egy emberierőforrás-alkalmazást, amely segít az alkalmazottaknak megtalálni a vállalati dokumentumokat. Előfordulhat, hogy az alkalmazásnak ismernie kell a következő kimondott szövegeket.

  • "Hol van a HRF-123456?"
  • "Ki írta a HRF-123234-et?"
  • "A HRF-456098 francia nyelven van közzétéve?"

Azonban minden dokumentumnak van egy formázott neve (a fenti listában szerepel), és egy olvasható név is, például a Kérés áthelyezésének kérése az alkalmazottból az új cég 2018 5-ös verziójába.

Az ember által olvasható névvel ellátott kimondott szövegek a következőképpen nézhetnek ki:

  • "Hol található az új alkalmazott áthelyezésének kérése a vállalat 2018 5-ös verziójára?"
  • "Ki írta meg a "Kérés áthelyezését az új alkalmazottról a vállalat 2018 5-ös verziójára"?
  • A Kérelem áthelyezése az alkalmazottról a vállalat 2018 5-ös verziójára francia nyelven van közzétéve?"

A kimondott szövegek olyan szavakat tartalmaznak, amelyek összezavarhatják a LUIS-t azzal kapcsolatban, hogy hol végződik az entitás. A Pattern.any entitás mintában való használatával megadhatja a dokumentumnév elejét és végét, így a LUIS megfelelően kinyeri az űrlap nevét. Például a következő sablonszövegek:

  • Hol található a {FormName}[?]
  • Ki a szerzője ennek: {FormName}[?]
  • A(z) {FormName} francia nyelven van közzétéve?]

Ajánlott eljárások a mintákhoz:

Minták hozzáadása későbbi iterációkban

A minták hozzáadása előtt meg kell értenie, hogyan viselkedik az alkalmazás, mert a minták súlyozása nagyobb, mint a kimondott szövegek, és a megbízhatóságot is meg fogja szabni.

Miután megismerte, hogyan viselkedik az alkalmazás, adjon hozzá mintákat az alkalmazásra vonatkozó módon. Nem kell minden alkalommal hozzáadnia őket, amikor iterál az alkalmazás kialakításán.

A modellterv elején nem okoz kárt a hozzáadásuk, de könnyebb áttekinteni, hogy az egyes minták hogyan módosítják a modellt, miután kimondott szövegekkel tesztelték a modellt.

Ne adjon hozzá sok mintát

Ne adjon hozzá túl sok mintát. A LUIS célja, hogy kevesebb példával gyorsan tanuljon. Ne terhelje túl feleslegesen a rendszert.

Funkciók

A gépi tanulásban a funkció az adatok megkülönböztető tulajdonsága vagy attribútuma, amelyet a rendszer megfigyel és megtanul.

A gépi tanulási funkciók fontos jeleket adnak a LUIS-nak arra vonatkozóan, hogy hol érdemes megkeresni azokat a dolgokat, amelyek megkülönböztetik a fogalmakat. Ezek olyan tippek, amelyeket a LUIS használhat, de ezek nem szigorú szabályok. A LUIS ezeket a tippeket használja a címkékkel az adatok megkereséséhez.

A funkció függvényként írható le, például f(x) = y. A példa kimondott szövegében a funkció megmutatja, hol kell keresni a megkülönböztető tulajdonságot. Ezen információk segítségével hozhatja létre a sémát.

A funkciók típusai

A funkciók a sématerv szükséges részei. A LUIS funkcióként támogatja a kifejezéslistákat és a modelleket:

  • Kifejezéslista funkció
  • Modell (szándék vagy entitás) funkcióként

Funkciók keresése a kimondott példaszövegekben

Mivel a LUIS nyelvalapú alkalmazás, a funkciók szövegalapúak. Válassza ki a megkülönböztetni kívánt tulajdonságot jelző szöveget. A LUIS esetében a legkisebb egység a jogkivonat. Az angol nyelv esetében a jogkivonat betűk és számok egybefüggő tartománya, amelynek nincs szóköze vagy írásjele.

Mivel a szóközök és írásjelek nem jogkivonatok, a funkciókként használható szöveges jelekre kell összpontosítani. Ne felejtse el a szavak különböző változatait, például:

  • Többes számú űrlap
  • Ige tenses
  • Abbreviations
  • Helyesírási és helyesírási hibák

Állapítsa meg, hogy a szövegnek szüksége van-e a következőkre, mert megkülönböztet egy tulajdonságot:

  • Pontosan egyező szó vagy kifejezés: Fontolja meg egy reguláris kifejezésentitás vagy listaentitás hozzáadását funkcióként az entitáshoz vagy szándékhoz.
  • Egy jól ismert fogalom, például dátumok, időpontok vagy személyek neve: Használjon előre összeállított entitást az entitás vagy a szándék funkciójaként.
  • Ismerje meg az új példákat az idő múlásával: Használjon kifejezéslistát az entitás vagy a szándék egyes példáinak kifejezéslistájából.

Kifejezéslista létrehozása fogalomhoz

A kifejezéslista a fogalmakat leíró szavak vagy kifejezések listája. A kifejezéslistát a rendszer kis- és nagybetűknek nem megfelelő egyezésként alkalmazza a jogkivonat szintjén.

Kifejezéslista hozzáadásakor a szolgáltatást globálisra állíthatja. A globális funkció a teljes alkalmazásra vonatkozik.

Mikor érdemes kifejezéslistát használni?

Használjon kifejezéslistát, ha a LUIS-alkalmazásra van szüksége a koncepció új elemeinek általánosításához és azonosításához. A kifejezéslisták olyan, mint a tartományspecifikus szókincs. Javítják a szándékok és entitások megértésének minőségét.

Kifejezéslista használata

Egy kifejezéslistával a LUIS figyelembe veszi a kontextust, és általánosítja azokat az elemeket, amelyek hasonlóak, de nem pontosan egyeznek a szöveggel. A kifejezéslista használatához kövesse az alábbi lépéseket:

  1. Kezdje egy gépi tanulási entitással:
  2. Példa kimondott szövegek hozzáadása.
  3. Címke egy gépi tanulási entitással.
  4. Kifejezéslista hozzáadása:
  5. Adjon hozzá hasonló jelentésű szavakat. Ne adjon hozzá minden lehetséges szót vagy kifejezést. Ehelyett adjon hozzá egyszerre néhány szót vagy kifejezést. Ezután újratanítás és közzététel.
  6. Tekintse át és adja hozzá a javasolt szavakat.

Egy kifejezéslista tipikus forgatókönyve

A kifejezéslisták tipikus forgatókönyve az adott ötlethez kapcsolódó szavak kiemelése.

Az orvosi kifejezések jó példa olyan szavakra, amelyekhez szükség lehet egy kifejezéslistára, hogy növeljék jelentőségüket. Ezek a kifejezések konkrét fizikai, kémiai, terápiás vagy absztrakt jelentéssel rendelkezhetnek. A LUIS nem fogja tudni, hogy a kifejezések fontosak-e a tárgytartomány számára kifejezéslista nélkül.

Például az orvosi kifejezések kinyeréséhez:

  1. Hozzon létre példa kimondott szövegeket, és címkézzen orvosi kifejezéseket ezeken a kimondott szövegeken belül.
  2. Hozzon létre egy kifejezéslistát, amely példákat tartalmaz a tárgytartományban lévő kifejezésekre. Ennek a kifejezéslistának tartalmaznia kell a címkézett tényleges kifejezést és az azonos fogalmat leíró egyéb kifejezéseket.
  3. Adja hozzá a kifejezéslistát ahhoz az entitáshoz vagy alhálózathoz, amely kinyeri a kifejezéslistában használt fogalmat. A leggyakoribb forgatókönyv egy gépi tanulási entitás összetevője (gyermeke). Ha a kifejezéslistát minden szándékra vagy entitásra alkalmazni kell, jelölje meg a kifejezéslistát globális kifejezéslistaként. Az engedélyezettForAllModels jelölő vezérli ezt a modell hatókörét az API-ban.

Kifejezéslistához tartozó jogkivonat-egyezések

A kifejezéslista mindig a jogkivonat szintjén érvényes. Az alábbi táblázat bemutatja, hogy az Ann szót tartalmazó kifejezéslisták hogyan vonatkoznak az adott sorrendben szereplő azonos karakterek variációira.

Az "Ann" tokenváltozata A kifejezéslista megegyezik a jogkivonat megtalálásakor
ANN
Ann
Igen – a jogkivonat Ann
Ann's Igen – a jogkivonat Ann
Anne Nem – a jogkivonat Anne

A modell mint funkció segít egy másik modellnek

Egy modellt (szándékot vagy entitást) funkcióként hozzáadhat egy másik modellhez (szándékhoz vagy entitáshoz). Ha meglévő szándékot vagy entitást ad hozzá funkcióként, egy jól definiált koncepciót ad hozzá, amely példákat címkézett.

Modell funkcióként való hozzáadásakor a következő módon állíthatja be a funkciót:

  • Kötelező. Meg kell találni egy szükséges funkciót ahhoz, hogy a modell vissza legyen adva az előrejelzési végpontról.
  • Globális. A globális funkció a teljes alkalmazásra vonatkozik.

Mikor érdemes egy entitást funkcióként használni egy szándékhoz?

Adjon hozzá egy entitást funkcióként egy szándékhoz, ha az entitás észlelése jelentős a szándék szempontjából.

Ha például a szándék egy járat foglalására vonatkozik, például a BookFlightra , és az entitás jegyinformáció (például az ülések, a forrás és a cél száma), akkor a jegyinformációs entitás megkeresésének jelentős súlyt kell adnia a BookFlight szándék előrejelzéséhez.

Mikor érdemes egy entitást szolgáltatásként használni egy másik entitáshoz?

Egy entitást (A) funkcióként kell hozzáadni egy másik entitáshoz (B), ha az entitás (A) észlelése jelentős az entitás (B) előrejelzése szempontjából.

Ha például egy szállítási cím entitás egy utcacím-alhálózatban található, akkor az utcacím-alhálózat megkeresése jelentős súlyt ad a szállítási cím entitás előrejelzéséhez.

  • Szállítási cím (gépi tanulási entitás):
    • Utcaszám (alhálózat)
    • Utcanév (alhálózat)
    • Város (alhálózat)
    • Állam vagy tartomány (alhálózat)
    • Ország/régió (alhálózat)
    • Irányítószám (alhálózat)

Beágyazott alhálózatok funkciókkal

A gépi tanulási részentitás azt jelzi, hogy egy fogalom jelen van a szülő entitásban. A szülő lehet egy másik alhálózat vagy a felső entitás. Az alösszeg értéke a szülő számára funkcióként működik.

Az alhálózatok kifejezéslistával és modellel (egy másik entitással) is rendelkezhetnek funkcióként.

Ha az alhálózat kifejezéslistával rendelkezik, az növeli a fogalom szókincsét, de nem ad hozzá semmilyen információt az előrejelzés JSON-válaszához.

Ha az alhálózat egy másik entitás egyik funkciójával rendelkezik, a JSON-válasz tartalmazza a másik entitás kinyert adatait.

Szükséges funkciók

Meg kell találni egy szükséges funkciót, hogy a modell vissza legyen adva az előrejelzési végpontról. Ha tudja, hogy a bejövő adatoknak meg kell egyeznie a szolgáltatással, használjon egy kötelező funkciót.

Ha a kimondott szöveg nem felel meg a szükséges funkciónak, akkor a rendszer nem nyeri ki.

A szükséges funkciók nem gépi tanulási entitást használnak:

  • Reguláris kifejezés entitás
  • Listaentitás
  • Előre összeállított entitás

Ha biztos abban, hogy a modell megtalálható lesz az adatokban, állítsa be a funkciót igény szerint. A szükséges funkció nem ad vissza semmit, ha nem található.

Folytassa a szállítási cím példájával:

Szállítási cím (gép által tanult entitás)

  • Utcaszám (alhálózat)
  • Utcanév (alhálózat)
  • Utcanév (alhálózat)
  • Város (alhálózat)
  • Állam vagy tartomány (alhálózat)
  • Ország/régió (alhálózat)
  • Irányítószám (alhálózat)

Kötelező funkció előre összeállított entitások használatával

Az előre összeállított entitások, például a város, az állam és az ország/régió általában zárt listák, ami azt jelenti, hogy idővel nem változnak sokat. Ezek az entitások a megfelelő ajánlott funkciókkal rendelkezhetnek, és ezek a funkciók szükség szerint megjelölhetők. Az isRequired jelölő azonban csak ahhoz az entitáshoz kapcsolódik, amelyhez hozzá van rendelve, és nem befolyásolja a hierarchiát. Ha az előre összeállított alentitási funkció nem található, az nem befolyásolja a szülő entitás észlelését és visszatérését.

Egy kötelező funkció példájaként érdemes lehet felismerni a címeket. Érdemes lehet egy utcaszámot kötelezővé tenni. Ez lehetővé teszi, hogy a felhasználó "1 Microsoft Way" vagy "One Microsoft Way" értéket adjon meg, és mindkettő az "1" számra oldaná fel az utcaszám al entitását. További információt az előre összeállított entitásrólszóló cikkben talál.

Kötelező funkció listaentitások használatával

A listaentitások a canonical nevek és szinonimáik listájaként használatosak. Kötelező funkcióként, ha a kimondott szöveg nem tartalmazza sem a canonical name,sem a szinonimát, akkor az entitás nem lesz visszaadva az előrejelzési végpont részeként.

Tegyük fel, hogy a vállalat csak korlátozott számú országba/régióba szállít. Létrehozhat egy listaentitást, amely több módszert is tartalmaz arra, hogy az ügyfél hivatkozzon az országra/régióra. Ha a LUIS nem talál pontos egyezést a kimondott szövegben, akkor az entitás (amely rendelkezik a lista entitás szükséges funkciójával) nem lesz visszaadva az előrejelzésben.

Canonical name** Szinonimák
Egyesült Államok Az Egyesült Államok
Egyesült Államok
MINKET
USA
0

Az ügyfélalkalmazások, például a csevegőrobotok, feltehetnek egy követő kérdést, hogy segítsenek. Ez segít az ügyfélnek megérteni, hogy az ország/régió kiválasztása korlátozott és kötelező.

Kötelező funkció reguláris kifejezési entitásokkal

A kötelező funkcióként használt reguláris kifejezésentitások részletes szövegmegfeleltetési képességeket biztosítanak.

A szállítási cím példában létrehozhat egy reguláris kifejezést, amely az ország/régió irányítószámainak szintaxisszabályait rögzíti.

Globális funkciók

Bár a leggyakrabban használt funkció egy adott modellre való alkalmazása, a szolgáltatást globális funkcióként konfigurálhatja úgy, hogy a teljes alkalmazásra alkalmazza.

A globális funkciók leggyakoribb használata egy további szókincs hozzáadása az alkalmazáshoz. Ha például az ügyfelek elsődleges nyelvet használnak, de várhatóan egy másik nyelvet fognak használni ugyanazon a kimondott szövegen belül, hozzáadhat egy olyan funkciót, amely a másodlagos nyelvből származó szavakat is tartalmazza.

Mivel a felhasználó elvárja, hogy a másodlagos nyelvet bármilyen szándékon vagy entitáson keresztül használja, adjon hozzá szavakat a másodlagos nyelvről a kifejezéslistához. Konfigurálja a kifejezéslistát globális funkcióként.

Funkciók egyesítése a hozzáadott előnyök érdekében

Egy tulajdonság vagy fogalom leírására több funkció is használható. Gyakori párosítás a következő:

Példa: utazási alkalmazás jegyfoglalási entitásfunkciói

Alapszintű példaként érdemes megfontolni egy olyan alkalmazást, amely egy járatfoglalási szándékkal és egy jegyfoglalási entitással rendelkező járatot foglal le. A jegyfoglalási entitás rögzíti a repülőjegy foglalásához szükséges információkat egy foglalási rendszerben.

A jegykönyv gépi tanulási entitásának két alösszetevője van a forrás és a cél rögzítéséhez. A funkciókat hozzá kell adni az egyes alhálózatokhoz, nem pedig a legfelső szintű entitáshoz.

Képernyőkép egy jegyfoglalási alkalmazás példaentitásairól.

A jegyfoglalási entitás egy gépi tanulási entitás, amely alhálózatokkal rendelkezik, beleértve az Origint és a Célhelyet is. Ezek az alhálózatok mind földrajzi helyet jelölnek. A helyek kinyeréséhez és a forrás és a cél közötti különbségtételhez minden alhálózatnak rendelkeznie kell funkciókkal.

Típus Forrás-részentitás Cél alhálózata
Modell mint funkció geographyV2 előre összeállított entitás geographyV2 előre összeállított entitás
Kifejezéslista Forrásszavak : start at, begin from, leave Célszavak : oda, érkezés, land at, go, going, stay, heading
Kifejezéslista Repülőtéri kódok – ugyanaz a lista a forrás és a cél esetében is Repülőtéri kódok – ugyanaz a lista a forrás és a cél esetében is
Kifejezéslista Repülőtérnevek – ugyanaz a lista a forrás és a cél esetében is Repülőtéri kódok – ugyanaz a lista a forrás és a cél esetében is

Ha arra számít, hogy a személyek repülőtéri kódokat és repülőtérneveket használnak, akkor a LUIS-nak olyan kifejezéslistákat kell használnia, amelyek mindkét típusú kifejezést használják. A repülőtéri kódok gyakoribbak lehetnek a csevegőrobotokban beírt szövegeknél, míg a repülőtérnevek gyakoribbak lehetnek a beszélt beszélgetésekben, például a beszédalapú csevegőrobotokban.

A funkciók egyező részletei csak a modellekhez lesznek visszaadva, a kifejezéslistákhoz nem, mert csak a modellek jelennek meg az előrejelzési JSON-ban.

Jegyfoglalási címkézés a szándékban

A gépi tanulási entitás létrehozása után példaszövegeket kell hozzáadnia egy szándékhoz, és fel kell címkéznie a szülő entitást és az összes alösszetevőt.

A jegyfoglalási példa esetében címkézze fel a szándékban lévő példa kimondott szövegeit a TicketBooking entitással és a szöveg minden alösszetevőjével.

Képernyőkép egy kimondott példa címkézésével.

Példa: pizzarendelési alkalmazás

Egy második példában fontolja meg egy pizza étterem alkalmazását, amely pizzarendeléseket fogad, beleértve a megrendelt pizza típusának részleteit is. A pizza minden részletét ki kell nyerni, ha lehetséges, a megrendelés feldolgozásának befejezéséhez.

A példában szereplő gépi tanulási entitás összetettebb beágyazott alösszetevőkkel, kifejezéslistákkal, előre összeállított entitásokkal és egyéni entitásokkal.

Képernyőkép egy gépi tanulási entitásról, amely különböző alösszetevőkkel rendelkezik.

Ez a példa az alhálózati szinten és az alárendeltségi szinten lévő szolgáltatásokat használja. Az entitásterv fontos része, hogy melyik szint milyen kifejezéslistát vagy modellt kap funkcióként.

Bár az alösszetevők számos olyan kifejezéslistával rendelkezhetnek, amelyek segítenek észlelni az entitást, minden alhálózat csak egy modellel rendelkezik funkcióként. Ebben a pizzaalkalmazásban ezek a modellek elsősorban listák.

Képernyőkép egy gépi tanulási entitásról, amely számos kifejezéslistát jelenít meg funkcióként.

A helyesen címkézett kimondott szövegek az entitások beágyazásának bemutatására jelennek meg.

Következő lépések