Share via


Több kategória hozzáadása a GYIK-robothoz

Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Projekt létrehozása és kérdésekre adott válaszpárok címkézése különböző kategóriákba metaadatokkal
  • Külön projekt létrehozása minden tartományhoz
  • Külön nyelvi erőforrás létrehozása minden tartományhoz

Gyakori kérdéseket tartalmazó robot létrehozásakor olyan használati esetek fordulhatnak elő, amelyek megkövetelik, hogy több tartomány lekérdezéseit kezelje. Tegyük fel, hogy a Microsoft marketingcsapata egy ügyfélszolgálati robotot szeretne létrehozni, amely több Surface-termék gyakori felhasználói lekérdezéseire válaszol. Az egyszerűség kedvéért a projekt létrehozásához két GYAKORI URI-t, Surface-tollat és Surface-fülhallgatót fogunk használni.

Projekt létrehozása tartományspecifikus metaadatokkal

A tartalomkészítők dokumentumokkal kinyerhetik a kérdésekre adott válaszpárokat, vagy egyéni kérdésekre adott válaszpárokat adhatnak hozzá a projekthez. Ha ezeket a kérdéseket és válaszokat adott tartományokba vagy kategóriákba szeretné csoportosítani, metaadatokat adhat hozzá.

A Surface-termékeken található robot esetében az alábbi lépéseket követve hozhat létre egy olyan robotot, amely mindkét terméktípus lekérdezéseire válaszol:

  1. Adja hozzá a következő gyakori kérdések URL-címeit forrásként a Forrás>URL-címek> hozzáadása, majd az Összes hozzáadása lehetőség kiválasztásával, miután hozzáadta az alábbi URL-címeket:

    Surface-toll – gyakori kérdések
    Surface-fülhallgatók – gyakori kérdések

    Screenshot of add URL UI.

  2. Ebben a projektben két terméken található kérdés-válasz pár, és szeretnénk megkülönböztetni őket, hogy válaszokat keressünk az adott termékre vonatkozó kérdések és válaszok között. Ennek érdekében frissíthetjük a kérdés-válasz párok metaadatmezőit.

    Ahogy az alábbi példában látható, hozzáadottunk egy metaadatokat a termékkel kulcsként, surface_pen vagy surface_earbuds értékként, ahol csak lehetséges. Ezt a példát kiterjesztheti több termék adatainak kinyerésére, és az egyes termékekhez eltérő érték hozzáadására.

    Screenshot of metadata example.

  3. Ahhoz, hogy a rendszer egy adott termékre vonatkozó választ keressen, szűrőként kell átadnia a terméket a REST API-t megválaszoló egyéni kérdésben.

    A REST API előrejelzési URL-címe lekérhető a Projekt üzembe helyezése panelről:

    Screenshot of the Deploy project page with the prediction URL displayed.

    Az API-hívás JSON-törzsében surface_pen a metaadat-termék értékeként. A rendszer tehát csak az azonos metaadatokat tartalmazó QnA-párok válaszát fogja keresni.

        {
          "question": "What is the price?",
          "top": 3
        },
        "answerSpanRequest": {
          "enable": true,
          "confidenceScoreThreshold": 0.3,
          "topAnswersWithSpan": 1
        },
        "filters": {
          "metadataFilter": {
            "metadata": [
              {
                "key": "product",
                "value": "surface_pen"
              }
            ]
          }
        }
    

    A metaadatok értékét a felhasználói bemenet alapján a következő módokon szerezheti be:

    • Explicit módon vegye a tartományt bemenetként a felhasználótól a robotügyfélen keresztül. Például az alábbiakban látható módon a termékkategória a felhasználó bemenete lehet a beszélgetés indításakor.

      Take metadata input

    • A tartomány implicit azonosítása a robotkörnyezet alapján. Ha például az előző kérdés egy adott Surface-terméken volt, az ügyfél kontextusként mentheti. Ha a felhasználó nem adja meg a terméket a következő lekérdezésben, metaadatként továbbíthatja a robotkörnyezetet a Válasz létrehozása API-nak.

      Pass context

    • Entitás kinyerése a felhasználói lekérdezésből a metaadat-szűrőhöz használandó tartomány azonosításához. Az entitások kinyerésére más Azure AI-szolgáltatásokat is használhat, például a Named Entity Recognition (NER) szolgáltatást és a beszélgetési nyelv megértését .

      Extract metadata from query

Mekkoraak lehetnek a projektjeink?

Egyetlen projekthez legfeljebb 50000 kérdés-válaszpárt adhat hozzá. Ha az adatok száma meghaladja az 50 000 kérdésre adott válaszpárt, fontolja meg a projekt felosztását.

Külön projekt létrehozása minden tartományhoz

Az egyes tartományokhoz külön projektet is létrehozhat, és külön fenntarthatja a projekteket. Minden API megköveteli, hogy a felhasználó átadja a projekt nevét, hogy frissítse a projektet, vagy választ kapjon a felhasználó kérdésére.

Amikor a szolgáltatás megkapja a felhasználói kérdést, a rest API-végponton kell továbbítania, projectName hogy a megfelelő projekt válaszát lekérje. Az URL-címet a Projekt üzembe helyezése lapon, az Előrejelzési URL-cím lekérése területen találja:

https://southcentralus.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=Test-Project-English&api-version=2021-10-01&deploymentName=production

Külön nyelvi erőforrás létrehozása minden tartományhoz

Tegyük fel, hogy a Microsoft marketingcsapata egy ügyféltámogatási robotot szeretne létrehozni, amely választ ad a Surface- és Xbox-termékek felhasználói kérdéseire. Különböző csapatokat terveznek hozzárendelni a Surface- és Xbox-projektekhez való hozzáféréshez. Ebben az esetben javasoljuk, hogy hozzon létre két egyéni kérdést megválaszoló erőforrást – egyet a Surface-hez, a másikat pedig Xboxhoz. Azonban különböző szerepköröket is meghatározhat az ugyanazon erőforráshoz hozzáférő felhasználók számára.