Udostępnij za pośrednictwem


Filtrowanie odpowiedzi za pomocą metadanych

Usługa QnA Maker umożliwia dodawanie metadanych w postaci par klucz i wartość do par pytań i odpowiedzi. Następnie możesz użyć tych informacji, aby filtrować wyniki do zapytań użytkowników i przechowywać dodatkowe informacje, które mogą być używane w kolejnych konwersacjach.

Uwaga

Usługa QnA Maker jest wycofywana 31 marca 2025 r. Nowsza wersja funkcji pytań i odpowiedzi jest teraz dostępna w ramach języka sztucznej inteligencji platformy Azure. Aby uzyskać odpowiedzi na pytania w usłudze językowej, zobacz odpowiadanie na pytania. Od 1 października 2022 r. nie będzie można tworzyć nowych zasobów usługi QnA Maker. Aby uzyskać informacje na temat migrowania istniejących baza wiedzy usługi QnA Maker do odpowiadania na pytania, zapoznaj się z przewodnikiem migracji.

Przechowywanie pytań i odpowiedzi za pomocą jednostki pytań i odpowiedzi

Ważne jest, aby zrozumieć, jak usługa QnA Maker przechowuje dane pytania i odpowiedzi. Poniższa ilustracja przedstawia jednostkę pytań i pytań i pytań i pytań:

Ilustracja jednostki pytań i pytań

Każda jednostka pytań i pytań i pytań ma unikatowy i trwały identyfikator. Możesz użyć identyfikatora, aby zaktualizować określoną jednostkę pytań i odpowiedzi.

Używanie metadanych do filtrowania odpowiedzi według niestandardowych tagów metadanych

Dodawanie metadanych umożliwia filtrowanie odpowiedzi według tych tagów metadanych. Dodaj kolumnę metadanych z menu Wyświetl opcje . Dodaj metadane do baza wiedzy, wybierając ikonę metadanych+, aby dodać parę metadanych. Ta para składa się z jednego klucza i jednej wartości.

Zrzut ekranu przedstawiający dodawanie metadanych

Filtrowanie wyników za pomocą filtrów strictFilters dla tagów metadanych

Rozważ pytanie użytkownika "Kiedy ten hotel jest blisko?", gdzie intencja jest implikowane dla restauracji "Paradise".

Ponieważ wyniki są wymagane tylko dla restauracji "Paradise", można ustawić filtr w wywołaniu GenerateAnswer na metadanych "Nazwa restauracji". W poniższym przykładzie pokazano następujące kwestie:

{
    "question": "When does this hotel close?",
    "top": 1,
    "strictFilters": [ { "name": "restaurant", "value": "paradise"}]
}

Filtruj według źródła

Jeśli masz wiele źródeł zawartości w baza wiedzy i chcesz ograniczyć wyniki do określonego zestawu źródeł, możesz to zrobić przy użyciu zastrzeżonego słowa kluczowegosource_name_metadata, jak pokazano poniżej.

"strictFilters": [
    {
        "name": "category",
        "value": "api"
    },
   {
        "name": "source_name_metadata",
        "value": "boby_brown_docx"
    },
   {
        "name": "source_name_metadata",
        "value": "chitchat.tsv"
   }
]

Wartość logiczna AND domyślnie

Aby połączyć kilka filtrów metadanych w zapytaniu, dodaj dodatkowe filtry metadanych do tablicy strictFilters właściwości. Domyślnie wartości są logicznie łączone (AND). Kombinacja logiczna wymaga, aby wszystkie filtry odpowiadały parom pytań i odpowiedzi, aby para została zwrócona w odpowiedzi.

Jest to równoważne użyciu strictFiltersCompoundOperationType właściwości z wartością AND.

Wartość logiczna OR używająca właściwości strictFiltersCompoundOperationType

W przypadku łączenia kilku filtrów metadanych, jeśli dotyczy to tylko jednego lub niektórych pasujących filtrów, użyj strictFiltersCompoundOperationType właściwości z wartością OR.

Dzięki temu baza wiedzy zwraca odpowiedzi, gdy wszystkie dopasowania filtru nie będą zwracać odpowiedzi, ale nie będą zwracać odpowiedzi, które nie mają metadanych.

{
    "question": "When do facilities in this hotel close?",
    "top": 1,
    "strictFilters": [
      { "name": "type","value": "restaurant"},
      { "name": "type", "value": "bar"},
      { "name": "type", "value": "poolbar"}
    ],
    "strictFiltersCompoundOperationType": "OR"
}

Przykłady metadanych w przewodnikach Szybki start

Dowiedz się więcej o metadanych w przewodniku Szybki start dotyczącym metadanych w portalu usługi QnA Maker:

Użyj wyników pytań i odpowiedzi, aby zachować kontekst konwersacji

Odpowiedź na element GenerateAnswer zawiera odpowiednie metadane dopasowanej pary pytań i odpowiedzi. Te informacje można używać w aplikacji klienckiej do przechowywania kontekstu poprzedniej konwersacji do użycia w późniejszych konwersacjach.

{
    "answers": [
        {
            "questions": [
                "What is the closing time?"
            ],
            "answer": "10.30 PM",
            "score": 100,
            "id": 1,
            "source": "Editorial",
            "metadata": [
                {
                    "name": "restaurant",
                    "value": "paradise"
                },
                {
                    "name": "location",
                    "value": "secunderabad"
                }
            ]
        }
    ]
}

Następne kroki