In der natürlichen Sprachverarbeitung (NLP) bezieht sich der Begriff Absicht auf die Äußerung eines Zwecks, eines Wunsches oder einer Sehnsucht durch den Nutzer. Indem wir die vom Nutzer gesendeten Nachrichten analysieren und die dahinter stehende Absicht erkennen, können wir mit relevanten Inhalten antworten. Zum Beispiel sind "Essen bestellen", "das Wetter abfragen", "ich möchte nach Paris" usw. alles gültige Absichten.
Damit der Chatbot die Absicht des Benutzers genau erkennen kann, müssen wir für jede Absicht einen Namen und eine Reihe von Beispielen definieren. Der Name ist eine eindeutige Bezeichnung, mit der die Absicht identifiziert wird, und die Beispiele sind Beispieläußerungen, mit denen der Chatbot trainiert wird, die Absicht zu erkennen. Der Name sollte prägnant, klar und konsistent sein, und die Beispiele sollten vielfältig, typisch und umfassend sein. Zum Beispiel können wir für die Absicht "Essen bestellen" folgendes definieren:
Name: bestellung_lebensmittel
Beispiel:
- Ich würde gerne eine Pizza bestellen.
- Eine Schüssel Nudeln mit Rindfleisch, bitte.
- Was sind Ihre Spezialitäten?
Durch die Definition verschiedener Intentionen können wir Chatbots in die Lage versetzen, mehrere Arten von Benutzeranfragen zu bearbeiten und auf der Grundlage verschiedener Szenarien geeignete Antworten oder Aktionen bereitzustellen. Wenn ein Nutzer beispielsweise eintippt: "Ich möchte nach Paris fahren", kann der Chatbot dies als "Reiseabsicht" erkennen und Informationen und Vorschläge für Paris auf der Grundlage der Vorlieben und des Budgets des Nutzers bereitstellen. Auf diese Weise können wir einen Chatbot schaffen, der intelligenter, flexibler und benutzerfreundlicher ist.
Vorstellung der Absichten
Zep identifiziert die Absicht einer Nachricht und speichert sie in den Metadaten der Nachricht. 💡 Mit Absichtsdaten können Entwickler reichhaltigere und personalisierte Smart-Body-Interaktionen erstellen. 🔥
Im Bereich der Verarbeitung natürlicher Sprache (NLP) kann es entmutigend erscheinen, aus dem Chaos der menschlichen Kommunikation eine Bedeutung zu extrahieren. Wir freuen uns, heute eine wichtige Funktion vorstellen zu können: die Intent-Extraktion, die einen tieferen Wert für das Verständnis in Echtzeit bietet.
Die Absicht des Nutzers zu verstehen, ist der Grundstein für die Entwicklung sinnvoller und personalisierter Interaktionen in jedem KI-System. Beim Extrahieren der Absicht geht es nicht nur um das Erkennen von Wörtern oder Sätzen, sondern darum, zu verstehen, was der Nutzer in einem bestimmten Kontext meint. Die Personalisierung von Large Language Model (LLM)-Anwendungen erfordert das Verstehen der Absicht während des gesamten Gesprächs.
Unser neu eingeführtes Feature:Extraktion von Absichtenist ein wertvolles Instrument für Unternehmen, um KI-gesteuerte Kundeninteraktionen zu nutzen.
Was ist Intent Extraction?
Im Mittelpunkt der Absichtsextraktion steht eine NLP-Aufgabe, bei der es darum geht, das Ziel oder den Zweck des Benutzers - das, was er tun möchte - aus seinen Eingaben zu erkennen. Ein Benutzer könnte zum Beispiel sagen: "Spielt etwas peppige Musik". Die Absicht besteht hier nicht nur darin, "Musik abzuspielen", sondern die Art der Musik zu spezifizieren - "peppig".
Absicht der Nutzung
Standardmäßig extrahiert Zep automatisch die Absicht jeder Nachricht. Sie können diese Funktion aktivieren oder deaktivieren, indem Sie config.yaml bearbeiten:
...
extractors:
summarizer:
enabled: true
entities:
enabled: true
intent:
enabled: true
embeddings:
enabled: true
dimensions: 1536
model: "AdaEmbeddingV2"
...
Standardmäßig enthalten alle Unterhaltungen ein "System"-Metadatum mit einer "Absicht" für jede in Zep gespeicherte Nachricht.
Personalisierung durch Intention
Das folgende Beispiel zeigt, wie Intent mit Kundenpräferenzen kombiniert werden kann, um personalisierte Interaktionen mit Benutzern in einer E-Commerce-Umgebung zu ermöglichen:
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
}
]
}
Warum ist die Absichtsextraktion so wichtig?
Da der Einsatz von KI-Chatbots in allen Bereichen weiter zunimmt, ist es für diese Systeme wichtiger denn je, die Absichten der Nutzer zu verstehen und angemessen darauf zu reagieren. Intent-Extraktion hilft dabei:
- Verbessertes Benutzererlebnis: Indem sie die Absicht des Nutzers verstehen, können KI-Systeme relevante und personalisierte Antworten geben und so die Nutzerzufriedenheit erhöhen.
- Vereinfachte Interaktion: Es trägt zur Vereinfachung des Dialogs bei, indem es die Ziele des Nutzers bereits in einem frühen Stadium des Austauschs ermittelt.
- Gesteigerte Effizienz: Indem sie die Absicht des Nutzers genau erkennen, können KI-Systeme beginnen, Aktionen im Namen des Nutzers auszuführen (z. B. APIs aufrufen, das System aktualisieren usw.), wodurch die Gesamteffizienz dieser Systeme verbessert wird.
praktische Anwendung
Die heutigen großen Sprachmodelle sind sehr leistungsfähig in Bezug auf Verständnis, Schlussfolgerungen und Inferenzen. Wie können Sie also die Macht der Absicht in Ihren Anwendungen nutzbar machen?
Schauen wir uns an, wie das obige Beispiel in einer realen Produktionsumgebung verwendet werden kann:
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."
Da wir nun die Absicht kennen, können wir analysieren, wie die Kunden diese Gespräche in der Vergangenheit geführt haben, und auf dieser Grundlage verschiedene Möglichkeiten für die künftige Interaktion mit ihnen modellieren:
- Kunden, die in den letzten 7 Tagen nach Hautpflegeprodukten gesucht haben
- Kunden, die im letzten Monat nach Hautpflegeprodukten für das Gesicht gesucht haben
- Kunden, die nach bestimmten Produkten aus der Kategorie Hautpflege suchen
Wenn wir also alle Kunden zusammenbringen wollen, die in den letzten sieben Tagen nach Hautpflegeprodukten gesucht haben, können wir jetzt eine Kundengruppe erstellen, die alle Kunden umfasst, die diese Kriterien erfüllen wollen.
# 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'"},
},
)
Darüber hinaus können Sie diese Analyse fortsetzen, um festzustellen, wie viele Kunden mit der Absicht, eine Feuchtigkeitscreme für die Haut zu kaufen, diese anstelle eines anderen, aber verwandten Produkts (z. B. eines Sonnenschutzmittels) kaufen. Dies könnte zu einer Verbesserung des bestehenden Kundenstamms oder vielleicht zu einem zusätzlichen Kundenstamm führen.
Jedes dieser Kundensegmente kann dann einer Prompt-Journey zugeordnet werden, die dann im Hinblick auf Benutzerpersonalisierung, Markentreue, Antwortkonsistenz oder andere Geschäftsergebnisse optimiert werden kann.
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)
Ein entsprechendes automatisiertes System könnte kontinuierlich A/B-Tests mit verschiedenen Prompt-Pfaden durchführen, die auf der erlernten Absicht basieren und darauf, wie Sie das Produkt möglicherweise positionieren möchten.
Wir können nun die Macht der Absicht erkennen, wenn es darum geht, zu kategorisieren, wie Kunden mit einem Produkt interagieren, und Prompt-Journeys zu erstellen, die ein tieferes Maß an Personalisierung bei diesen Interaktionen ermöglichen.
Zukunft der Intelligenz
Das Interessante an Intent ist sein Potenzial für autonome KI-Intelligenzen. Wir freuen uns darauf, eine tiefgreifende Personalisierung mit Workflows zu kombinieren, die auf der Grundlage der im Dialog identifizierten Aktionen APIs auslösen oder externe Systeme aufrufen können. Intent kann auch für Debugging-Schritte, das Ausschneiden unnötiger Ausführungsschleifen von Intelligenz und die Optimierung der schnellen Ausführung von Intelligenz verwendet werden.
Das Verstehen der Absicht ist das Herzstück der menschlichen Interpretierbarkeit, Genauigkeit und Wiederholbarkeit dieser Systeme. Es handelt sich hier um ein noch junges Gebiet, und wir beobachten, dass die Teams schnell experimentieren und innovieren. Wir hoffen, dass diese Funktion für eine Vielzahl von Anwendungsfällen nützlich sein wird.
Mit der Einführung von Intent Extraction wollen wir die KI für Konversationen persönlicher, sinnvoller und effizienter machen. Testen Sie es jetzt und lassen Sie uns wissen, was Sie davon halten.