جدول محتوایی

ساخت چت‌بات ساده با پایتون : قدم‌به‌قدم با دنیای هوش مصنوعی

آیا تا حالا با یه چت‌بات مثل دستیارهای تلگرام یا واتس‌اپ گپ زدی و فکر کردی چطور ساخته شدن تو این پست، قراره با هم یه چت‌بات ساده مبتنی بر هوش مصنوعی با پایتون بسازیم که بتونه به سوالای تو جواب بده! این آموزش برای کساییه که تازه دارن برنامه‌نویسی یا هوش مصنوعی رو یاد می‌گیرن. فقط کافیه یه کم با پایتون آشنا باشی. آماده‌ای؟ بریم شروع کنیم!

چت‌بات چیه و چرا باحاله

چت‌بات یه برنامه کامپیوتریه که می‌تونه با آدما گپ بزنه، انگار یه دوست دیجیتال! از چت‌بات‌ها تو اپلیکیشن‌های پیام‌رسان، پشتیبانی مشتری، یا حتی بازی‌ها استفاده می‌شه. ما قراره از کتابخانه ChatterBot استفاده کنیم که کارمون رو خیلی راحت می‌کنه.

چرا باید اینو امتحان کنی؟

  • با مفاهیم اولیه هوش مصنوعی آشنا می‌شی.
  • یه پروژه عملی داری که می‌تونی به رزومه‌ات اضافه کنی.
  • کلی کیف می‌کنی وقتی چت‌باتت بهت جواب می‌ده!

چیزی که نیاز داری

قبل از شروع، اینا رو آماده کن:

پایتون: نسخه 3.7 یا بالاتر (از python.org دانلود کن)

یه ویرایشگر کد مثل VS Code یا PyCharm

اینترنت برای نصب کتابخانه‌ها

اگه نمی‌خوای پایتون رو نصب کنی، می‌تونی از Google Colab استفاده کنی.

آماده‌سازی محیط

اول باید کتابخانه ChatterBot رو نصب کنیم. این کتابخانه به چت‌باتت کمک می‌کنه یاد بگیره و جواب بده.

  1. ترمینال یا خط فرمان رو باز کن (تو ویندوز cmd یا PowerShell، تو مک/لینوکس ترمینال).
  2. این دستورات رو اجرا کن:
    pip install chatterbot
    pip install chatterbot_corpus
    

    این دستورا کتابخانه ChatterBot و داده‌های اولیه (مثل مکالمات آماده) رو نصب می‌کنن.

حل مشکل: اگه خطای نسخه پایتون دیدی، مطمئن شو از پایتون 3.7 تا 3.9 استفاده می‌کنی (ChatterBot با نسخه‌های خیلی جدید ممکنه مشکل داشته باشه).

نوشتن کد چت‌بات

حالا وقتشه کد چت‌بات رو بنویسیم. این کد یه چت‌بات می‌سازه که می‌تونه به چند سوال ساده جواب بده و با کاربر گپ بزنه.

  1. یه فایل جدید بساز و اسمش رو بذار simple_chatbot.py
  2. کد زیر رو توش کپی کن:
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer

# ایجاد چت‌بات با نام "SimpleBot"
chatbot = ChatBot(
    "SimpleBot",
    storage_adapter="chatterbot.storage.SQLStorageAdapter",
    database_uri="sqlite:///database.sqlite3"
)

# تعریف مکالمات اولیه برای آموزش
conversation = [
    "سلام",
    "سلام! چطور می‌تونم بهت کمک کنم؟",
    "اسمت چیه؟",
    "من SimpleBot هستم! تو کی هستی؟",
    "هوش مصنوعی چیه؟",
    "هوش مصنوعی مثل یه مغز دیجیتال عمل می‌کنه که می‌تونه یاد بگیره و تصمیم بگیره. مثلاً من یه نمونه کوچیکشم!",
    "خداحافظ",
    "بای! بازم بیا پیشم!"
]

# آموزش چت‌بات با مکالمات
trainer = ListTrainer(chatbot)
trainer.train(conversation)

# حلقه برای تعامل با کاربر
print("چت‌بات آماده است! بنویسید (برای خروج بنویسید 'خروج')")
while True:
    try:
        user_input = input("شما: ")
        if user_input == "خروج":
            print("چت‌بات: خداحافظ!")
            break
        response = chatbot.get_response(user_input)
        print(f"چت‌بات: {response}")
    except (KeyboardInterrupt, EOFError, SystemExit):
        break

این کد چیکار می‌کنه؟

خط 1-2: کتابخانه‌های مورد نیاز رو وارد می‌کنه.

5-9: یه چت‌بات به اسم SimpleBot می‌سازه که داده‌هاش تو یه دیتابیس SQLite ذخیره می‌شه.
12-19: چند مکالمه ساده (مثل سلام و خداحافظ) رو برای آموزش چت‌بات تعریف می‌کنه.
22-23: چت‌بات رو با این مکالمات آموزش می‌ده.
26-35: یه حلقه درست می‌کنه که ورودی کاربر رو می‌گیره و جواب چت‌بات رو نشون می‌ده.

اجرای چت‌بات

فایل simple_chatbot.py رو ذخیره کن.

تو ترمینال برو به پوشه‌ای که فایل توشه (مثلاً با دستور cd path/to/folder).

این دستور رو اجرا کن:

python simple_chatbot.py

حالا می‌تونی باهاش گپ بزنی! مثلاً:

چت‌بات آماده است! بنویسید (برای خروج بنویسید 'خروج')
شما: سلام
چت‌بات: سلام! چطور می‌تونم بهت کمک کنم؟
شما: هوش مصنوعی چیه؟
چت‌بات: هوش مصنوعی مثل یه مغز دیجیتال عمل می‌کنه که می‌تونه یاد بگیره و تصمیم بگیره. مثلاً من یه نمونه کوچیکشم!
شما: خروج
چت‌بات: خداحافظ!

پیشنهاد تصویری : یه اسکرین‌شات از خروجی ترمینال اینجا تو پست وبلاگت بذار تا خواننده‌ها ببینن چت‌بات چطور کار می‌کنه.

چت‌باتت رو بهتر کن

حالا که چت‌باتت کار می‌کنه، می‌تونی ارتقاش بدی :

مکالمات بیشتر اضافه کن: تو لیست conversation سوال و جوابای جدید بذار. مثلاً :

conversation.append("امروز هوا چطوره؟")
conversation.append("نمی‌دونم! ولی امیدوارم آفتابی باشه")

آموزش با داده‌های آماده : از داده‌های ChatterBot Corpus استفاده کن :

from chatterbot.trainers import ChatterBotCorpusTrainer
corpus_trainer = ChatterBotCorpusTrainer(chatbot)
corpus_trainer.train("chatterbot.corpus.english.greetings")

این کد مکالمات انگلیسی آماده رو به چت‌بات اضافه می‌کنه.

رابط کاربری وب: با کتابخانه Flask یه صفحه وب بساز که کاربرا بتونن از طریق مرورگر باهاش چت کنن.

پشتیبانی از فارسی: برای پردازش بهتر زبان فارسی، می‌تونی از کتابخانه Hazm برای نرمال‌سازی متن استفاده کنی.

مشکلات رایج و راه‌حل‌ها

خطای نصب ChatterBot: اگه نصب نشد، مطمئن شو نسخه پایتونت 3.7 تا 3.9 باشه. یا از محیط مجازی استفاده کن :

python -m venv venv
source venv/bin/activate  # تو ویندوز: venv\Scripts\activate
pip install chatterbot

چت‌بات جوابای عجیب می‌ده: مکالمات آموزشی رو بیشتر کن یا داده‌های Corpus رو اضافه کن.

دیتابیس قفل شده: اگه خطای دیتابیس دیدی، فایل database.sqlite3 رو حذف کن و دوباره اجرا کن.

چطور چت‌باتت رو به همه نشون بدی

پروژه‌ات رو به اشتراک بذار: کدت رو تو GitHub آپلود کن و لینک بده.

تو وبلاگت بنویس: تجربه‌ات از ساخت چت‌بات رو با خواننده‌ها به اشتراک بذار.

چت‌بات رو تست کن: از دوستات بخواه باهاش گپ بزنن و نظر بدن.

ایده برای تعامل: تو پستت بنویس: «چت‌باتت رو ساختی؟ اولین سوالی که ازش پرسیدی چی بود؟ تو کامنت‌ها برامون بگو!»

قدم بعدی چیه

حالا که چت‌باتت رو ساختی، می‌تونی:

یه رابط گرافیکی با Tkinter یا PyQt بسازی

چت‌باتت رو تو تلگرام ادغام کنی (با کتابخانه python-telegram-bot)

با مدل‌های پیشرفته‌تر مثل Hugging Face Transformers کار کنی

اگه دوست داری، تو کامنت‌ها بگو کدوم بخش رو بیشتر توضیح بدم یا چه چیزی به چت‌باتت اضافه کنی

منابع پیشنهادی:

مستندات ChatterBot

دوره رایگان پایتون در W3Schools

آموزش‌های هوش مصنوعی در Coursera

برای استقرار و میزبانی سرویس های خود با ایرانیکا سرور در ارتباط باشید

4رای - امتیاز 5 ممنون از امتیازی که دادید..!

دسته بندی شده در:

برچسب شده در:

,