Entraîner un modèle de suggestion de connaissances personnalisé

Agent Assist propose deux options de modélisation pour la suggestion de connaissances : un modèle de référence (par défaut) et un modèle personnalisé. Ce guide vous explique comment entraîner un modèle personnalisé à l'aide d'un ensemble de données, puis comment le déployer et tester ses performances.

Présentation

Agent Assist propose deux fonctionnalités de suggestion de connaissances : la suggestion d'articles (qui suggère des documents), et l'assistance FAQ (qui suggère des réponses aux questions des utilisateurs finaux). Lorsque vous mettez en œuvre ces fonctionnalités, Agent Assist utilise par défaut un modèle de suggestion de référence pré-entraîné. Le modèle de référence utilise une technologie de récupération d'informations et ne nécessite pas d'étape d'entraînement de modèle explicite. L'option de modèle personnalisé utilise une technologie de compréhension du langage naturel (NLU) de pointe. Vous devez importer vos transcriptions de conversation et effectuer une étape d'entraînement explicite pour créer un modèle de NLU personnalisé. En moyenne, les modèles personnalisés fournissent des suggestions de meilleure qualité que le modèle de référence.

Avant de commencer

Avant de commencer ce guide, procédez comme suit:

  1. Activez l'API Dialogflow pour votre Google Cloud projet.

Créer une base de connaissances et entraîner un modèle personnalisé

Pour obtenir des suggestions de Agent Assist, vous devez créer une base de connaissances, y importer vos documents, puis configurer un profil de conversation.

Les étapes suivantes décrivent ces actions à l'aide d'appels d'API directs, en utilisant la fonctionnalité de suggestion d'articles comme exemple. Si vous préférez, vous pouvez créer une base de connaissances et y ajouter des documents à l'aide de la console Agent Assist à la place.

Créer une base de connaissances

Avant de pouvoir importer des documents, vous devez d'abord créer une base de connaissances pour les y placer. Pour créer une base de connaissances, appelez la create méthode sur le KnowledgeBase type.

REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet GCP
  • KNOWLEDGE_BASE_DISPLAY_NAME : nom de base de connaissances souhaité

Méthode HTTP et URL :

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

Corps JSON de la requête :

{
  "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Le segment de chemin d'accès indiqué après knowledgeBases contient le nouvel ID de votre base de connaissances.

Python

Pour vous authentifier auprès de Agent Assist, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

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))

Créer un document de base de connaissances

Vous pouvez désormais ajouter des documents à la base de connaissances. Pour créer un document dans la base de connaissances, appelez la méthode create sur le type Document. Définissez KnowledgeType sur ARTICLE_SUGGESTION. Cet exemple utilise un fichier HTML contenant des informations de commande de retour qui a été importé dans un bucket Cloud Storage partagé publiquement. Lorsque vous configurez la suggestion d'article dans votre propre système, les documents doivent être dans l'un des formats suivants. Consultez la documentation des documents de base de connaissances pour en savoir plus sur les bonnes pratiques en matière de documents.

Formats de document de base de connaissances :

  • Fichier stocké dans un bucket Cloud Storage. Vous pouvez spécifier le chemin d'accès lorsque vous appelez l'API.
  • Contenu textuel d'un document, que vous pouvez envoyer dans une requête API.
  • URL publique.

REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet GCP
  • KNOWLEDGE_BASE_ID : ID de votre base de connaissances, renvoyé par une requête précédente
  • DOCUMENT_DISPLAY_NAME : nom de document de base de connaissances souhaité

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

La réponse est une opération de longue durée que vous pouvez interroger pour vérifier l'avancement.

Python

Pour vous authentifier auprès de Agent Assist, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

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))

Créer et déployer un modèle personnalisé

  1. Accédez à l'interface utilisateur Agent Assist puis cliquez sur l'option de menu Modèles sur le côté gauche de la page.

  2. Le menu Modèles affiche tous vos modèles. Pour créer un modèle, cliquez sur le bouton + Créer en haut à droite.

  3. Sous Type de modèle , sélectionnez Suggestion d'article. Saisissez un nom unique pour votre modèle dans le champ Nom. Enfin, sélectionnez le ou les noms des bases de connaissances que vous souhaitez utiliser pour entraîner votre modèle. Lorsque vous cliquez sur ce champ, un menu contenant la liste de tous les ensembles de données que vous avez déjà créés s'affiche.

  4. Un modèle de suggestion de connaissances est entraîné à l'aide d'ensembles de données de conversation, comme un modèle de réponse suggérée. Au lieu de suggérer des mots aux agents comme la fonctionnalité de réponse suggérée, les modèles de suggestion de connaissances affichent des articles ou des réponses aux questions fréquentes.

    Sélectionnez autant d'ensembles de données de conversation que vous le souhaitez pour entraîner votre modèle. Cliquez sur Créer pour créer votre modèle.

  5. Le nouveau modèle apparaît désormais dans la liste des modèles de la page Modèles. L'état du nouveau modèle s'affiche comme En attente , puis Création jusqu'à ce qu'il soit entraîné. L'entraînement prend un jour ou plus, selon vos ressources de calcul. Pour déployer votre modèle entraîné, cliquez sur l'icône composée de trois points verticaux à l'extrême droite de la page, associée à votre modèle, puis cliquez sur Déployer.

Tester votre modèle d'assistance base de connaissances personnalisé à l'aide du simulateur Agent Assist

Le simulateur Agent Assist vous permet de prévisualiser les performances de votre modèle avant de le mettre en œuvre. Le simulateur peut être utilisé avec n'importe quelle fonctionnalité Agent Assist. Les étapes suivantes vous expliquent comment tester votre modèle d'assistance base de connaissances personnalisé à l'aide du simulateur.

  1. Avant de pouvoir exécuter le simulateur, vous devez créer un ou plusieurs profils de conversation. Un profil de conversation représente un modèle d'assistance base de connaissances entraîné et déployé. Contrairement aux modèles de réponse suggérée, les modèles d'assistance à la connaissance n'ont pas de liste d'autorisations associée.

    Pour créer un profil de conversation, cliquez sur Profils de conversation dans le menu principal à gauche de la page.

  2. La liste de vos profils de conversation existants s'affiche. Si vous souhaitez utiliser un profil préexistant, vous pouvez passer à l'étape 4. Sinon, créez un profil de conversation en cliquant sur le bouton + Créer à droite de la page.

  3. Dans le menu qui s'affiche, saisissez un nom unique pour votre profil de conversation dans la zone Nom à afficher. Sélectionnez Articles ou Questions fréquentes (selon le type de modèle que vous avez entraîné) dans la zone Type de suggestion. Vous êtes également invité à entrer les valeurs du seuil de confiance et du nombre maximal de suggestions. Les suggestions maximales correspondent au nombre d'articles de réponse ou de réponses aux questions fréquentes renvoyées, et le seuil de confiance fait référence au niveau de confiance du modèle selon lequel chaque réponse est pertinente pour la requête de l'agent. Un niveau de confiance plus élevé augmente la probabilité de réponse pertinente, mais peut avoir moins de réponses ou aucune réponse si aucune option disponible ne correspond à la valeur du seuil élevé. Pour une plus grande justesse et une couverture plus faible, nous vous recommandons un seuil de confiance de 0,8. Pour une justesse plus faible et une couverture plus élevée, nous vous recommandons un seuil de confiance de 0,2.

    Choisissez votre méthode de récupération (directe ou Pub/Sub), si vous souhaitez activer l'analyse des sentiments ou non, et si vous souhaitez utiliser un agent virtuel Dialogflow ou non. Cliquez sur le bouton Créer pour créer le profil de conversation.

  4. Votre profil de conversation apparaît désormais dans la liste des profils de la page principale Profils de conversation. Pour utiliser le simulateur, cliquez sur les trois points verticaux à l'extrémité droite du nom du profil de conversation que vous souhaitez tester, puis cliquez sur Utiliser le simulateur.

  5. La fenêtre qui s'affiche vous fournit des zones de saisie pour les réponses du client et de l'agent. Vous pouvez utiliser ces zones pour tester les fonctionnalités Agent Assist que vous avez sélectionnées lors de la configuration du profil de conversation. Pour modifier la combinaison de fonctionnalités testées, cliquez sur le bouton Options en haut à droite, puis choisissez vos fonctionnalités dans le menu Configurer la vue qui s'affiche.

  6. Cliquez sur le bouton OK en haut à droite pour revenir à la page principale des profils de conversation.