Přidání více kategorií do robota s nejčastějšími dotazy
V tomto kurzu se naučíte:
- Vytvoření projektu a páru odpovědí na otázky do různých kategorií s metadaty
- Vytvoření samostatného projektu pro každou doménu
- Vytvoření samostatného prostředku jazyka pro každou doménu
Při vytváření robota s nejčastějšími dotazy můžete narazit na případy použití, které vyžadují, abyste vyřešili dotazy napříč několika doménami. Řekněme, že marketingový tým v Microsoftu chce vytvořit robota zákaznické podpory, který odpovídá na běžné dotazy uživatelů na více produktech Surface. Pro zjednodušení zde budeme k vytvoření projektu používat dvě adresy URL nejčastějších dotazů, Pero pro Surface a Sluchátka Surface Earbuds .
Vytvoření projektu s metadaty specifickými pro doménu
Autoři obsahu můžou pomocí dokumentů extrahovat páry odpovědí na otázky nebo do projektu přidat vlastní páry odpovědí na otázky. Pokud chcete tyto otázky seskupit a odpovědi do konkrétních domén nebo kategorií, můžete přidat metadata.
U robota na produktech Surface můžete pomocí následujících kroků vytvořit robota, který odpovídá na dotazy na oba typy produktů:
Přidejte následující adresy URL nejčastějších dotazů jako zdroje tak, že vyberete Přidat zdrojové>adresy URL> a pak přidáte všechny následující adresy URL:
Nejčastější dotazy k Peru pro Surface
Nejčastější dotazy k sluchátkům Surface EarbudsV tomto projektu máme dvojice odpovědí na otázky na dvou produktech a rádi bychom mezi nimi rozlišovali tak, abychom mohli hledat odpovědi mezi otazníky a odpověďmi na daný produkt. Abychom to mohli udělat, mohli bychom aktualizovat pole metadat pro páry odpovědí na otázky.
Jak vidíte v následujícím příkladu, přidali jsme metadata s kódem Product As Key a surface_pen nebo surface_earbuds jako hodnoty, kdykoli je to možné. Tento příklad můžete rozšířit tak, aby extrahovali data o více produktech a přidali pro každý produkt jinou hodnotu.
Abyste teď omezili systém tak, aby hledal odpověď v konkrétním produktu, musíte tento produkt předat jako filtr ve vlastním rozhraní REST API pro odpovědi na otázky.
Adresu URL predikce rozhraní REST API je možné načíst z podokna Nasazení projektu:
V textu JSON pro volání rozhraní API jsme předali surface_pen jako hodnotu pro produkt metadat. Systém tedy bude hledat odpověď pouze mezi páry QnA se stejnými metadaty.
{ "question": "What is the price?", "top": 3 }, "answerSpanRequest": { "enable": true, "confidenceScoreThreshold": 0.3, "topAnswersWithSpan": 1 }, "filters": { "metadataFilter": { "metadata": [ { "key": "product", "value": "surface_pen" } ] } }
Hodnotu metadat můžete získat na základě uživatelského vstupu následujícími způsoby:
Explicitně převezměte doménu jako vstup od uživatele prostřednictvím klienta robota. Například jak je znázorněno níže, můžete při zahájení konverzace použít kategorii produktů jako vstup od uživatele.
Implicitně identifikujte doménu na základě kontextu robota. Například v případě, že předchozí otázka byla na konkrétním produktu Surface, může ji klient uložit jako kontext. Pokud uživatel v dalším dotazu nezadá produkt, můžete kontext robota předat jako metadata do rozhraní API pro generování odpovědí.
Extrahujte entitu z uživatelského dotazu, abyste identifikovali doménu, která se má použít pro filtr metadat. K extrakci entit můžete použít jiné služby Azure AI, jako je rozpoznávání pojmenovaných entit (NER) a porozumění konverzačnímu jazyku.
Jak velké mohou být naše projekty?
Do jednoho projektu můžete přidat až 5 0000 dvojic odpovědí na otázky. Pokud vaše data překračují 50 000 dvojic odpovědí na otázky, měli byste zvážit rozdělení projektu.
Vytvoření samostatného projektu pro každou doménu
Můžete také vytvořit samostatný projekt pro každou doménu a spravovat projekty samostatně. Všechna rozhraní API vyžadují, aby uživatel předal název projektu, aby udělal jakoukoli aktualizaci projektu nebo načte odpověď na otázku uživatele.
Když služba obdrží otázku uživatele, budete muset předat projectName
koncový bod rozhraní REST API zobrazený k načtení odpovědi z příslušného projektu. Adresu URL můžete najít na stránce Nasadit projekt v části Získat adresu URL předpovědi:
https://southcentralus.api.cognitive.microsoft.com/language/:query-knowledgebases?projectName=Test-Project-English&api-version=2021-10-01&deploymentName=production
Vytvoření samostatného prostředku jazyka pro každou doménu
Řekněme, že marketingový tým v Microsoftu chce vytvořit robota zákaznické podpory, který odpovídá na dotazy uživatelů na produktech Surface a Xbox. Plánují přiřazovat různé týmy pro přístup k projektům na zařízení Surface a Xbox. V tomto případě doporučujeme vytvořit dva vlastní prostředky pro odpovědi na otázky – jeden pro Surface a druhý pro Xbox. Můžete ale definovat různé role pro uživatele, kteří přistupují ke stejnému prostředku.