Benutzerdefiniertes Modell für Wissensempfehlungen trainieren

Agent Assist bietet zwei Modellierungsoptionen für Wissensvorschläge: ein Basismodell (Standard) und ein benutzerdefiniertes Modell. In dieser Anleitung wird beschrieben, wie Sie ein benutzerdefiniertes Modell mit einem Dataset trainieren, das Modell bereitstellen und seine Leistung testen.

Übersicht

Agent Assist bietet zwei Funktionen für Wissensvorschläge: Artikelvorschläge (mit denen Dokumente vorgeschlagen werden) und FAQ Assist (mit dem Antworten auf Fragen von Endnutzern vorgeschlagen werden). Wenn Sie diese Funktionen implementieren, verwendet Agent Assist standardmäßig ein vortrainiertes Basismodell für Vorschläge. Das Basismodell verwendet Information Retrieval-Technologie und erfordert keinen expliziten Schritt zum Modelltraining. Die Option für benutzerdefinierte Modelle verwendet moderne NLU-Technologie (Natural Language Understanding). Dazu müssen Sie Ihre Unterhaltungstranskripte hochladen und einen expliziten Schritt zum Modelltraining ausführen, um ein benutzerdefiniertes NLU-Modell zu erstellen. Im Durchschnitt liefern benutzerdefinierte Modelle bessere Vorschläge als das Basismodell.

Hinweis

Führen Sie die folgenden Schritte aus, bevor Sie mit dieser Anleitung beginnen:

  1. Aktivieren Sie die Dialogflow API für Ihr Google Cloud Projekt.

Wissensdatenbank erstellen und benutzerdefiniertes Modell trainieren

Wenn Sie Vorschläge von Agent Assist erhalten möchten, müssen Sie eine Wissens datenbank erstellen, Ihre Dokumente in die Wissens datenbank hochladen und ein Unterhaltungs profil konfigurieren.

In den folgenden Schritten werden diese Aktionen mithilfe direkter API-Aufrufe beschrieben. Dabei wird die Funktion „Artikelvorschläge“ als Beispiel verwendet. Alternativ können Sie eine Wissens datenbank und Dokumente auch über die Agent Assist Console erstellen.

Wissensdatenbank erstellen

Bevor Sie Dokumente hochladen können, müssen Sie zuerst eine Wissensdatenbank erstellen, in der Sie sie ablegen können. Rufen Sie zum Erstellen einer Wissensdatenbank die create Methode für den KnowledgeBase Typ auf.

REST

Ersetzen Sie folgende Werte in den Anfragedaten:

  • PROJECT_ID: Ihre GCP-Projekt-ID
  • KNOWLEDGE_BASE_DISPLAY_NAME: Name der gewünschten Wissensdatenbank

HTTP-Methode und URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/knowledgeBases

JSON-Text der Anfrage:

{
  "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "name": "projects/PROJECT_ID/knowledgeBases/NDA4MTM4NzE2MjMwNDUxMjAwMA",
  "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME"
}

Das Pfadsegment nach knowledgeBases enthält Ihre neue Wissensdatenbank-ID.

Python

Richten Sie zur Authentifizierung bei Agent Assist die Standardanmeldedaten für Anwendungen (ADC) ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def create_knowledge_base(project_id, display_name):
    """Creates a Knowledge base.

    Args:
        project_id: The GCP project linked with the agent.
        display_name: The display name of the Knowledge base."""
    from google.cloud import dialogflow_v2beta1 as dialogflow

    client = dialogflow.KnowledgeBasesClient()
    project_path = client.common_project_path(project_id)

    knowledge_base = dialogflow.KnowledgeBase(display_name=display_name)

    response = client.create_knowledge_base(
        parent=project_path, knowledge_base=knowledge_base
    )

    print("Knowledge Base created:\n")
    print("Display Name: {}\n".format(response.display_name))
    print("Name: {}\n".format(response.name))

Wissensdokument erstellen

Sie können der Wissensdatenbank jetzt Dokumente hinzufügen. Rufen Sie zum Erstellen eines Dokuments in der Wissensdatenbank die Methode create für den Document Typ auf. Set KnowledgeType auf ARTICLE_SUGGESTION. In diesem Beispiel wird eine HTML-Datei mit Informationen zur Rückgabe von Bestellungen verwendet, die in einen öffentlich freigegebenen Cloud Storage Bucket hochgeladen wurde. Wenn Sie Artikelvorschläge in Ihrem eigenen System einrichten, müssen die Dokumente eines der folgenden Formate haben. Weitere Informationen zu Best Practices für Dokumente finden Sie in der Dokumentation zu Wissensdokumenten.

Formate von Wissensdokumenten:

  • Eine Datei, die in einem Cloud Storage-Bucket gespeichert ist. Sie können den Pfad angeben, wenn Sie die API aufrufen.
  • Der Textinhalt eines Dokuments zum Senden in einer API-Anfrage.
  • Eine öffentliche URL.

REST

Ersetzen Sie folgende Werte in den Anfragedaten:

  • PROJECT_ID: Ihre GCP-Projekt-ID
  • KNOWLEDGE_BASE_ID: ID Ihrer Wissensdatenbank (bei der vorherigen Anfrage zurückgegeben)
  • DOCUMENT_DISPLAY_NAME: gewünschter Name des Wissensdokuments

HTTP-Methode und URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents

JSON-Text der Anfrage:

{
  "displayName": "DOCUMENT_DISPLAY_NAME",
  "mimeType": "text/html",
  "knowledgeTypes": "ARTICLE_SUGGESTION",
  "contentUri": "gs://agent-assist-public-examples/public_article_suggestion_example_returns.html"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "name": "projects/PROJECT_ID/operations/ks-add_document-MzA5NTY2MTc5Mzg2Mzc5NDY4OA"
}

Die Antwort ist ein Vorgang mit langer Ausführungszeit, bei dem Sie prüfen können, ob er abgeschlossen wurde.

Python

Richten Sie zur Authentifizierung bei Agent Assist die Standardanmeldedaten für Anwendungen (ADC) ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def create_document(
    project_id, knowledge_base_id, display_name, mime_type, knowledge_type, content_uri
):
    """Creates a Document.

    Args:
        project_id: The GCP project linked with the agent.
        knowledge_base_id: Id of the Knowledge base.
        display_name: The display name of the Document.
        mime_type: The mime_type of the Document. e.g. text/csv, text/html,
            text/plain, text/pdf etc.
        knowledge_type: The Knowledge type of the Document. e.g. FAQ,
            EXTRACTIVE_QA.
        content_uri: Uri of the document, e.g. gs://path/mydoc.csv,
            http://mypage.com/faq.html."""
    from google.cloud import dialogflow_v2beta1 as dialogflow

    client = dialogflow.DocumentsClient()
    knowledge_base_path = dialogflow.KnowledgeBasesClient.knowledge_base_path(
        project_id, knowledge_base_id
    )

    document = dialogflow.Document(
        display_name=display_name, mime_type=mime_type, content_uri=content_uri
    )

    document.knowledge_types.append(
        getattr(dialogflow.Document.KnowledgeType, knowledge_type)
    )

    response = client.create_document(parent=knowledge_base_path, document=document)
    print("Waiting for results...")
    document = response.result(timeout=120)
    print("Created Document:")
    print(" - Display Name: {}".format(document.display_name))
    print(" - Knowledge ID: {}".format(document.name))
    print(" - MIME Type: {}".format(document.mime_type))
    print(" - Knowledge Types:")
    for knowledge_type in document.knowledge_types:
        print("    - {}".format(KNOWLEDGE_TYPES[knowledge_type]))
    print(" - Source: {}\n".format(document.content_uri))

Neues benutzerdefiniertes Modell erstellen und bereitstellen

  1. Rufen Sie die Agent Assist-Benutzeroberfläche auf und klicken Sie ganz links auf der Seite auf die Menüoption Modelle.

  2. Im Menü Modelle werden alle Ihre Modelle angezeigt. Klicken Sie rechts oben auf die Schaltfläche + Neu erstellen , um ein neues Modell zu erstellen.

  3. Wählen Sie unter Modelltyp die Option Artikelvorschläge aus. Geben Sie im Feld Name einen eindeutigen Namen für das neue Modell ein. Wählen Sie dann die Namen der Wissensdatenbanken aus, die Sie zum Trainieren des Modells verwenden möchten. Wenn Sie auf dieses Feld klicken, wird ein Menü mit einer Liste aller bereits erstellten Datasets angezeigt.

  4. Ein Modell für Wissensvorschläge wird mit Unterhaltungs-Datasets trainiert, genau wie ein Modell für intelligente Antworten. Anstatt Agents Wortvorschläge wie bei der Funktion „Intelligente Antwort“ zu präsentieren, werden bei Modellen für Wissensvorschläge Artikel oder Antworten auf häufig gestellte Fragen angezeigt.

    Wählen Sie so viele Unterhaltungs-Datasets aus, wie Sie zum Trainieren des Modells verwenden möchten. Klicken Sie auf Erstellen , um das neue Modell zu erstellen.

  5. Das neue Modell wird jetzt in der Liste der Modelle auf der Seite Modelle angezeigt. Der Status des neuen Modells wird als Ausstehend und dann als Wird erstellt angezeigt, bis das Modell trainiert ist. Das Training dauert je nach Computing-Ressourcen einen Tag oder länger. Wenn Sie das trainierte Modell bereitstellen möchten, klicken Sie ganz rechts auf der Seite auf das Symbol mit den drei vertikalen Punkten, das mit dem Modell verknüpft ist, und dann auf Bereitstellen.

Benutzerdefiniertes Modell für Knowledge Assist mit dem Agent Assist-Simulator testen

Mit dem Agent Assist-Simulator können Sie eine Vorschau der Leistung Ihres Modells aufrufen, bevor Sie es implementieren. Der Simulator kann mit jeder Agent Assist-Funktion verwendet werden. In den folgenden Schritten wird beschrieben, wie Sie Ihr benutzerdefiniertes Modell für Knowledge Assist mit dem Simulator testen.

  1. Bevor Sie den Simulator ausführen können, müssen Sie ein oder mehrere Unterhaltungsprofile erstellen. Ein Unterhaltungsprofil steht für ein trainiertes und bereitgestelltes Modell für Knowledge Assist. Im Gegensatz zu Modellen für intelligente Antworten haben Modelle für Knowledge Assist keine zugehörige Zulassungsliste.

    Klicken Sie zum Erstellen eines Unterhaltungsprofils im Hauptmenü links auf der Seite auf Unterhaltungsprofile.

  2. Eine Liste Ihrer vorhandenen Unterhaltungsprofile wird angezeigt. Wenn Sie ein vorhandenes Profil verwenden möchten, können Sie mit Schritt 4 fortfahren. Andernfalls erstellen Sie ein neues Unterhaltungsprofil, indem Sie rechts auf der Seite auf die Schaltfläche + Neu erstellen klicken.

  3. Geben Sie im eingeblendeten Menü einen eindeutigen Namen für Ihr Unterhaltungsprofil in das Feld Anzeigename ein. Wählen Sie im Feld Vorschlagstyp entweder Artikel oder FAQs aus, je nachdem, welchen Modelltyp Sie trainiert haben. Sie werden auch aufgefordert, Werte für Konfidenzgrenzwert und Maximale Vorschläge einzugeben. „Maximale Vorschläge“ ist die Anzahl der zurückgegebenen Antwortartikel oder Antworten auf häufig gestellte Fragen. Der Konfidenzgrenzwert bezieht sich auf das Konfidenzniveau des Modells, dass jede Antwort für die Anfrage des Agents relevant ist. Ein höherer Konfidenzwert erhöht die Wahrscheinlichkeit, dass relevante Antworten zurückgegeben werden. Wenn jedoch keine verfügbare Option den hohen Grenzwert erfüllt, werden möglicherweise weniger oder keine Antworten zurückgegeben. Für eine höhere Genauigkeit und eine geringere Abdeckung empfehlen wir einen Konfidenzgrenzwert von 0, 8. Für eine geringere Genauigkeit und eine höhere Abdeckung empfehlen wir einen Konfidenzgrenzwert von 0, 2.

    Wählen Sie Ihre Abrufmethode aus (inline oder Pub/Sub), ob die Sentimentanalyse aktiviert werden soll und ob ein virtueller Kundenservicemitarbeiter von Dialogflow verwendet werden soll. Klicken Sie auf die Schaltfläche Erstellen, um das Unterhaltungsprofil zu erstellen.

  4. Ihr Unterhaltungsprofil wird jetzt in der Liste der Profile auf der Hauptseite Unterhaltungsprofile angezeigt. Wenn Sie den Simulator verwenden möchten, klicken Sie ganz rechts neben dem Namen des Unterhaltungsprofils, das Sie testen möchten, auf die drei vertikalen Punkte und dann auf Simulator verwenden.

  5. Das daraufhin angezeigte Fenster enthält Eingabefelder für Antworten von sowohl Kunden als auch Kundenservicemitarbeitern. In diesen Feldern können Sie die Agent Assist-Funktionen testen, die Sie beim Konfigurieren des Unterhaltungsprofils ausgewählt haben. Wenn Sie ändern möchten, welche Kombination von Funktionen getestet wird, klicken Sie rechts oben auf die Schaltfläche Optionen und wählen Sie die gewünschten Funktionen im eingeblendeten Menü Ansicht konfigurieren aus.

  6. Klicken Sie rechts oben auf die Schaltfläche Fertig , um zur Hauptseite „Unterhaltungsprofile“ zurückzukehren.