0% found this document useful (0 votes)
21 views10 pages

NM 2024 T Mid 104009

The document discusses the importance of intent recognition in virtual assistants, highlighting challenges such as language variability and ambiguity. It outlines the use of NLP, machine learning, and deep learning techniques to enhance user engagement and improve response accuracy. Additionally, it provides an overview of tools, metrics for evaluation, and a coding example for implementing intent recognition systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views10 pages

NM 2024 T Mid 104009

The document discusses the importance of intent recognition in virtual assistants, highlighting challenges such as language variability and ambiguity. It outlines the use of NLP, machine learning, and deep learning techniques to enhance user engagement and improve response accuracy. Additionally, it provides an overview of tools, metrics for evaluation, and a coding example for implementing intent recognition systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Intent Recognition for

Virtual Assistants
1.FELICIA R P
2.GOMATHI M
3.HARINI R
4.HEMA HAMSAVENI M
oblem statement :
Virtual assistants rely heavily on accurately identifying user intent to provide meaningful and context-aware
responses. However, recognizing intent from natural language input is challenging due to variations in language
use, ambiguity, context dependency, and multilingual expressions. This complexity can lead to
misinterpretations, reducing the effectiveness and user satisfaction of virtual assistants. Therefore, there is a need
for robust intent recognition systems that leverage advanced NLP, machine learning, and deep learning
techniques to improve accuracy, adaptability, and overall user experience in real-world applications.

Impact :
• Improves user engagement and trust
• Enables more natural and human-like conversations
• Enhances the accuracy of virtual assistant responses
• Supports broader language and contextual understanding
• Contributes to advancements in conversational AI systems
ABSTRACT:
Intent recognition helps virtual assistants understand user queries by identifying their
purpose (e.g., requests, questions, commands). It uses NLP and ML techniques,
including supervised/unsupervised learning, neural networks, and transformers. Key
challenges include handling ambiguity, context, and multilingual input. Future advances
aim to improve accuracy and user experience.

Pros of Intent Recognition in Virtual


Assistants
• Better understanding of user needs
• Improved user experience
• Faster task execution
• Handles context and multiple languages
TOOLS USED IN INTENT RECOGNITION :
1.NLP Tools 3.Deep Learning Tools
Tokenization Recurrent Neural Networks (RNN)
Named Entity Recognition (NER) Long Short-Term Memory (LSTM)
Part-of-Speech (POS) Tagging Gated Recurrent Units (GRU)
Dependency Parsing Transformers (BERT, GPT)

2.Machine Learning Tools 4.Semantic Matching Tools


Supervised Learning Models Word Embeddings (Word2Vec, GloVe)
Support Vector Machines (SVM) Cosine Similarity
Logistic Regression
Decision Trees
k-Nearest Neighbors (k-NN)
METRICS FOR INTENT
RECOGNITION :
1.Accuracy
Percentage of correctly predicted intents out of total predictions.
2.Precision
Measures how many predicted intents were actually correct.
Precision = TP / (TP + FP)
3.F1-Score
Harmonic mean of precision and recall; balances both metrics.
F1 = 2 × (Precision × Recall) / (Precision + Recall)
4.Confusion Matrix
A table showing true vs. predicted intents to visualize model
performance.
5.Top-N Accuracy

Checks if the correct intent is among the top N predicted


intents (e.g., Top-1, Top-3)
CODING :
pip install scikit-learn nltknump
importnltk
fromsklearn.feature_extraction.text
import CountVectorizer
fromsklearn.naive_bayes import MultinomialNB
fromsklearn.pipeline
import make_pipeline fromsklearn.model_selection import train_test_split
# Sample dataset: Intent and corresponding phrases

data = [ {"intent": "greeting", "text": "Hello"}, {"intent": "greeting", "text":


"Hi"}, {"intent": "greeting", "text": "Good morning"}, {"intent": "goodbye",
"text": "Goodbye"}, {"intent": "goodbye", "text": "See you later"}, {"intent":
"goodbye", "text": "Bye"}, {"intent": "weather", "text": "What's the weather
like?"}, {"intent": "weather", "text": "Is it raining today?"}, {"intent": "weather",
"text": "Tell me the weather forecast"}, {"intent": "time", "text": "What time is
it?"}, {"intent": "time", "text": "Can you tell me the time?"}, {"intent": "time",
"text": "What’s the current time?"} ]

# Prepare the dataset texts = [item['text'] for item in data] labels = [item['intent']
for item in data])
# Create a training/test split
X_train, X_test, y_train, y_test = train_test_split(texts, labels, test_size=0.3,
random_state=42
# Build a model using a Naive Bayes classifier with CountVectorizer
model = make_pipeline(CountVectorizer(), MultinomialNB())
# Train the model
model.fit(X_train, y_train)
# Evaluate the mode
l accuracy = model.score(X_test, y_test)
print(f"Model Accuracy: {accuracy * 100:.2f}%")
# Function to predict intent from a user input defpredict_intent(text):
returnmodel.predict([text])[0]
# Test the model with some sample input
while True:
user_input = input("You: ")
ifuser_input.lower() in ['exit', 'quit', 'bye']:
print("Goodbye!")
break
intent = predict_intent(user_input) print(f"Intent recognized: {intent}")
OUTPUT :
Queries for Intent
Recognition
1."Set an alarm for 6 AM."
→ Intent: Set_Alarm
2."What's the weather like tomorrow?”
→ Intent: Check_Weather
3."Play jazz music."
→ Intent: Play_Music
4."Remind me to take medicine at 8 PM."
→ Intent: Set_Reminder
5."Send a text to Sarah."
→ Intent: Send_Message
THANK YOU

You might also like