from nltk.tokenize import word_tokenize from nltk.stem import WordNetLemmatizer def preprocess(sentence): lemmatizer = WordNetLemmatizer() sentence = sentence.lower() tokens = word_tokenize(sentence) tokens = [lemmatizer.lemmatize(token) for token in tokens if token.isalnum()] return tokens import random class Chatbot: def __init__(self, pairs): self.pairs = pairs def respond(self, sentence): for pair in self.pairs: if sentence in pair[0]: return random.choice(pair[1]) return "متاسفم، متوجه نشدم." pairs = [ (["سلام", "درود"], ["سلام! چطور میتوانم کمکتان کنم؟", "سلام!"]), (["خداحافظ", "بای"], ["خدانگهدار!", "موفق باشید!"]) ] chatbot = Chatbot(pairs) def chat(): print("چتبات: سلام! من اینجا هستم تا کمکتان کنم. برای خروج 'بای' را تایپ کنید.") while True: user_input = input("شما: ") if user_input.lower() in ["بای", "خداحافظ"]: print("چتبات: خداحافظ!") break response = chatbot.respond(user_input.lower()) print(f"چتبات: {response}") chat()