AI ChatBot แนะนำActivityตามอารมณ์ ในภาษา Python

แชทบอทนี้สามารถวิเคราะห์อารมณ์ของผู้ใช้จากข้อความที่พิมพ์เข้ามา และแนะนำActivityที่เหมาะสม เช่น ภาพยนตร์ เพลง หรือวิดีโอ โดยใช้เทคนิคNatural Language Processing (NLP) และโมเดลปัญญาประดิษฐ์แบบ Zero-shot classification ซึ่งช่วยให้สามารถเข้าใจบริบทของคำถามได้แม้ไม่ได้มีการสอนล่วงหน้า ระบบนี้ฝึกการเข้าใจเจตนา (intent) ของ user ขั้นตอนที่ 1: ติดตั้งไลบรารีที่จำเป็น !pip install transformers ipywidgets --quiet transformers: ไลบรารีจาก Hugging Face ใช้โหลดโมเดล NLP สำเร็จรูป ipywidgets: ใช้สร้างแบบฟอร์มโต้ตอบ (interactive) สำหรับให้ผู้ใช้พิมพ์คำถาม ขั้นตอนที่ 2: โหลดโมเดล Zero-shot Classification from transformers import pipeline classifier = pipeline("zero-shot-classification", model="facebook/bart-large-mnli") โมเดล facebook/bart-large-mnli ไว้สำหรับวิเคราะห์ความหมายของข้อความ Zero-shot เอาไว้กำหนด “หมวด” ที่ต้องการให้chatเลือก เช่น "เบื่อ", "เครียด" ขั้นตอนที่ 3: กำหนดหมวดอารมณ์ และactivityที่แนะนำ labels = ["เครียด", "เบื่อ", "เศร้า", "อยากแรงบันดาลใจ", "ดีใจ"] recommendations = { "เครียด": ["

Apr 11, 2025 - 16:30
 0
AI ChatBot แนะนำActivityตามอารมณ์ ในภาษา Python

แชทบอทนี้สามารถวิเคราะห์อารมณ์ของผู้ใช้จากข้อความที่พิมพ์เข้ามา และแนะนำActivityที่เหมาะสม เช่น ภาพยนตร์ เพลง หรือวิดีโอ โดยใช้เทคนิคNatural Language Processing (NLP) และโมเดลปัญญาประดิษฐ์แบบ Zero-shot classification ซึ่งช่วยให้สามารถเข้าใจบริบทของคำถามได้แม้ไม่ได้มีการสอนล่วงหน้า ระบบนี้ฝึกการเข้าใจเจตนา (intent) ของ user

ขั้นตอนที่ 1: ติดตั้งไลบรารีที่จำเป็น

!pip install transformers ipywidgets --quiet
  • transformers: ไลบรารีจาก Hugging Face ใช้โหลดโมเดล NLP สำเร็จรูป
  • ipywidgets: ใช้สร้างแบบฟอร์มโต้ตอบ (interactive) สำหรับให้ผู้ใช้พิมพ์คำถาม

ขั้นตอนที่ 2: โหลดโมเดล Zero-shot Classification

from transformers import pipeline
classifier = pipeline("zero-shot-classification", model="facebook/bart-large-mnli")
  • โมเดล facebook/bart-large-mnli ไว้สำหรับวิเคราะห์ความหมายของข้อความ
  • Zero-shot เอาไว้กำหนด “หมวด” ที่ต้องการให้chatเลือก เช่น "เบื่อ", "เครียด"

ขั้นตอนที่ 3: กำหนดหมวดอารมณ์ และactivityที่แนะนำ

labels = ["เครียด", "เบื่อ", "เศร้า", "อยากแรงบันดาลใจ", "ดีใจ"]
recommendations = {
    "เครียด": ["