Intentions : zep explique comment faire pour que les grands modèles comprennent les intentions des clients.

Dans le traitement du langage naturel (NLP), l'intention fait référence à l'expression par un utilisateur d'un objectif, d'un souhait ou d'un désir. En analysant les messages envoyés par l'utilisateur et en identifiant l'intention qui les sous-tend, nous pouvons répondre par un contenu pertinent. Par exemple, "commander de la nourriture", "consulter la météo", "je veux aller à Paris", etc. sont autant d'intentions valables.

Pour que le chatbot puisse reconnaître avec précision l'intention de l'utilisateur, nous devons définir un nom et un ensemble d'exemples pour chaque intention. Le nom est une étiquette unique utilisée pour identifier l'intention et les exemples sont des énoncés types utilisés pour entraîner le chatbot à reconnaître l'intention. Le nom doit être concis, clair et cohérent, et les exemples doivent être variés, typiques et couvrants. Par exemple, nous pouvons définir ce qui suit pour l'intention "commander de la nourriture" :

Nom : order_food
Exemple :

  • Je voudrais commander une pizza.
  • Un bol de nouilles au bœuf, s'il vous plaît.
  • Quelles sont vos spécialités ?

En définissant différentes intentions, nous pouvons permettre aux chatbots de traiter plusieurs types de demandes d'utilisateurs et de fournir des réponses ou des actions appropriées en fonction de différents scénarios. Par exemple, si un utilisateur tape "Je veux aller à Paris", le chatbot peut reconnaître qu'il s'agit d'une intention de "voyage" et fournir des informations et des suggestions pour Paris en fonction des préférences et du budget de l'utilisateur. De cette manière, nous pouvons créer un chatbot plus intelligent, plus flexible et plus convivial.

 

Présentation des intentions

Zep L'extracteur d'intention d'EMC identifie l'intention d'un message et la persiste dans les métadonnées du message. 💡 Grâce aux données d'intention, les développeurs peuvent créer des interactions plus riches et plus personnalisées avec le corps intelligent. 🔥

Dans le domaine du traitement du langage naturel (NLP), l'extraction du sens dans le chaos de la communication humaine peut sembler déconcertante. Aujourd'hui, nous sommes ravis de présenter une fonctionnalité importante, l'extraction d'intention, qui offre une valeur plus profonde pour la compréhension en temps réel.

La compréhension de l'intention de l'utilisateur est la pierre angulaire de la conception d'interactions significatives et personnalisées dans tout système d'intelligence artificielle conversationnelle. Extraire l'intention ne consiste pas seulement à reconnaître des mots ou des phrases, mais aussi à comprendre ce que l'utilisateur veut dire dans un contexte donné. La personnalisation des applications LLM (Large Language Model) nécessite de comprendre l'intention tout au long de la conversation.

Notre nouvelle fonctionnalité :Extraction des intentionsest un outil précieux pour les organisations qui souhaitent tirer parti des interactions avec les clients basées sur l'IA.

 

Qu'est-ce que l'extraction d'intention ?

L'extraction d'intention est une tâche NLP qui consiste à reconnaître l'objectif ou le but de l'utilisateur - ce qu'il veut faire - à partir de ses données. Par exemple, un utilisateur peut dire "Jouer de la musique entraînante". L'intention ici n'est pas seulement de "jouer de la musique", mais de spécifier le type de musique - "rythmée".

 

Intention d'utilisation

Par défaut, Zep extrait automatiquement l'intention de chaque message, et vous pouvez activer ou désactiver cette fonctionnalité en éditant config.yaml :

...
extractors:
summarizer:
enabled: true
entities:
enabled: true
intent:
enabled: true
embeddings:
enabled: true
dimensions: 1536
model: "AdaEmbeddingV2"
...

Par défaut, toutes les conversations contiennent une métadonnée "système" avec une "intention" pour chaque message stocké dans Zep.

 

L'intention, moteur de la personnalisation

L'exemple suivant montre comment l'intention peut être combinée avec les préférences des clients pour favoriser des interactions personnalisées avec les utilisateurs dans un environnement de commerce électronique :

Human: I'm looking for a new skincare product.
ZepMemory:
{
"uuid": "6026b3b7-3755-4d00-89d8-243ecfc45931",
"created_at": "2023-06-21T02:19:45.577522Z",
"role": "human",
"content": "I'm looking for a new skincare product.",
"metadata": {
"system": {
"intent": "The subject is expressing a need or want for a new skincare product."
}
"customer_firstname": "Alice",
"customer_id": "KDSJFJDSF",
"member_since": "03-01-2009",
"product_pref_tags": "eco-friendly, vegan"
},
"token_count": 11
}
AI: Of course, Alice. Based on your preference for eco-friendly and vegan products, I can recommend a few options. Are you looking for a specific type of skincare product like a cleanser, moisturizer, or serum?
ZepMemory:
{
"uuid": "30eb918d-4b3a-42a9-a64b-c79e01f87ec4",
"created_at": "2023-06-21T02:19:45.577522Z",
"role": "ai",
"content": "Of course, Alice. Based on your preference for eco-friendly and vegan products, I can recommend a few options. Are you looking for a specific type of skincare product like a cleanser, moisturizer, or serum?",
"metadata": {
"system": {
"intent": "The subject is offering recommendations for eco-friendly and vegan skincare options and inquiring about the specific type of product the person is looking for."
}
},
"token_count": 46
}
Human: I'm looking for a good face moisturizer.
ZepMemory:
{
"uuid": "f8ec855b-fd59-4084-a3d1-2b81857d5dcd",
"created_at": "2023-06-21T02:19:45.577522Z",
"role": "human",
"content": "I'm looking for a good face moisturizer.",
"metadata": {
"system": {
"intent": "The subject is searching for a specific type of facial skincare product."
}
},
"token_count": 12
}
AI: I recommend the 'Green Goddess' vegan moisturizer. It's a highly rated, eco-friendly product and is particularly effective for dry skin. Would you like to add this to your cart?
ZepMemory:
{
"uuid": "4e3d0fe8-5242-4c9c-8891-34636af1e576",
"created_at": "2023-06-21T02:19:45.577522Z",
"role": "ai",
"content": "I recommend the 'Green Goddess' vegan moisturizer. It's a highly rated, eco-friendly product and is particularly effective for dry skin. Would you like to add this to your cart?",
"metadata": {
"system": {
"intent": "The subject is making a product recommendation and asking if the listener would like to add it to their cart."
}
},
"token_count": 40
}
Human: Great, that should work!
ZepMemory:
{
"uuid": "5ec6a546-eec9-4b9d-b03d-11b142600a0a",
"created_at": "2023-06-21T02:19:45.577522Z",
"role": "human",
"content": "Great, that should work!",
"metadata": {
"system": {
"intent": "None."
}
},
"token_count": 8
}
]
}

 

Pourquoi l'extraction d'intention est-elle si importante ?

Alors que l'utilisation des chatbots d'IA continue de croître dans tous les domaines, la nécessité pour ces systèmes de comprendre et de répondre de manière appropriée à l'intention de l'utilisateur est devenue plus importante que jamais. L'extraction d'intention est utile :

  • Amélioration de l'expérience de l'utilisateur : En comprenant l'intention de l'utilisateur, les systèmes d'IA peuvent fournir des réponses pertinentes et personnalisées afin d'accroître la satisfaction de l'utilisateur.
  • Interaction simplifiée : Il permet de simplifier le dialogue en identifiant les objectifs de l'utilisateur dès le début de l'échange.
  • Efficacité accrue : En reconnaissant avec précision l'intention de l'utilisateur, les systèmes d'IA peuvent commencer à effectuer des actions au nom de l'utilisateur (par exemple, appeler des API, mettre à jour le système, etc.

 

application pratique

Les grands modèles de langage actuels sont très puissants en termes de compréhension, de raisonnement et d'inférence. Comment pouvez-vous exploiter la puissance de l'intention dans vos applications ?

Voyons comment l'exemple ci-dessus peut être utilisé dans un environnement de production réel :

Human intents that we captured in this conversation:
1: "The subject is expressing a need or want for a new skincare product."
2: "The subject is searching for a specific type of facial skincare product."

Maintenant que nous connaissons l'intention, nous pouvons analyser la façon dont les clients ont eu ces conversations dans le passé et l'utiliser pour modéliser plusieurs façons possibles d'interagir avec eux à l'avenir :

  • Clients à la recherche de produits de soin de la peau au cours des 7 derniers jours
  • Clients ayant recherché des produits de soins pour le visage au cours du dernier mois
  • Clients recherchant des types de produits spécifiques dans la catégorie des soins de la peau

 

Ainsi, si nous voulons rassembler tous les clients qui ont cherché des produits de soin de la peau au cours des sept derniers jours, nous pouvons maintenant créer un groupe de clients qui comprend tous les clients qui ont l'intention de répondre à ces critères.

# Use Zep SDK
search_results = await client.asearch_memory(
session_id=session_id,
search_payload=MemorySearchPayload(
metadata={
"start_date": "2023-06-02",
"end_date": "2023-06-09",
"where": {"jsonpath": "$[*]['metadata']['system']['intent'] == 'customers looking for skincare'"},
},
),
)
# You can also use Langchain
search_results = retriever.get_relevant_documents(
metadata={
"start_date": "2023-06-02",
"end_date": "2023-06-09",
"where": {"jsonpath": "$[*]['metadata']['system']['intent'] == 'customers looking for skincare'"},
},
)

 

En outre, vous pouvez poursuivre cette analyse pour déterminer combien de clients ayant l'intention d'acheter une crème hydratante pour la peau finissent par l'acheter au lieu d'un produit différent mais apparenté (par exemple, une crème solaire). Il pourrait s'agir d'une amélioration de la clientèle existante, voire d'une clientèle supplémentaire.

Chacun de ces segments de clientèle peut ensuite être associé à un parcours Prompt, qui peut ensuite être optimisé pour la personnalisation de l'utilisateur, la fidélité à la marque, la cohérence des réponses ou d'autres résultats commerciaux.

from langchain.prompts import PromptTemplate, StringPromptTemplate
from langchain.chains import LLMChain
...
prompt = """you are a helpful shopping assistant. Use the User preferences and Recommendations to write back responses based on the following rules:
1. If the user has preference for {user_pref} then suggest {recommend_sku} products.
2. Make a helpful {prompt_journey_append} suggestion.
"""
prompt_journey.prompt = prompt
...
#
# an example of how a prompt_journey may be used
# prompt_journey may be implemented as a structure that
# contains different prompts that can be used and chained together
# for different customer segments
#
if customer_segment.tag == "ecofriendly":
prompt_journey.type = customer_segment.type
prompt_journey.append("eco-friendly face cream")
prompt_journey.suggest_top(eco_sku)
elif customer_segment.tag == "newcustomer":
prompt_journey.append("face cream with built in sun-protection?)
prompt_journey.suggest_top(spf_facecream)
# Now you can use the chosen prompt
prompt = PromptTemplate.from_template(prompt_journey.prompt)
chain = LLMChain(llm=ChatOpenAI(), prompt=prompt)
chain.run(input=input)

Un système automatisé pertinent pourrait continuellement effectuer des tests A/B sur différents chemins d'invite en fonction de l'intention apprise et de la manière dont vous souhaitez positionner le produit.

Nous pouvons maintenant commencer à voir le pouvoir de l'intention dans la catégorisation de la façon dont les clients interagissent avec un produit et dans la construction de parcours de Prompt, qui peuvent fournir un niveau plus profond de personnalisation dans ces interactions.

 

l'avenir de l'intelligence

Ce qui est intéressant avec Intent, c'est son potentiel pour les intelligences IA autonomes. Nous sommes enthousiastes à l'idée de combiner une personnalisation approfondie avec des flux de travail qui peuvent déclencher des API ou appeler des systèmes externes sur la base d'actions identifiées dans le dialogue. Intent peut également être utilisé pour les étapes de débogage, l'élagage des boucles d'exécution d'intelligence inutiles et l'optimisation de l'exécution rapide de l'intelligence.

La compréhension de l'intention est au cœur de l'interprétabilité humaine, de la précision et de la répétabilité de ces systèmes. Il s'agit encore d'un domaine émergent et nous voyons des équipes expérimenter et innover rapidement. Nous espérons que cette fonctionnalité sera utile dans de nombreux cas d'utilisation.

Avec le lancement de l'extraction d'intention, nous souhaitons rendre l'IA conversationnelle plus personnelle, plus significative et plus efficace. Essayez-le dès maintenant et dites-nous ce que vous en pensez.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...