2015-05-23 3 views
-2

В настоящее время я делаю свой первый проект в python, создавая чатбот, который учится и тренируется из заданных вопросов. Как мне это сделать?как программировать python chatbot, так что он тренируется сам

Вот пример кода, который я использовал.

import random 

greetings = ['helo','heyhey','yooyoo', 'hello', 'hi', 'Hi', 'hey!','hey'] 
random_greeting = random.choice(greetings) 

question = ['How are you?','How are you doing?','you good?','hows it going','you alright','you okay'] 
responses = ['Okay you?', "I'm fine wbu", 'not good rough day...', 'good what about you', 'tired :(, yourself?'] 
random_response = random.choice(responses) 


while True: 
    userInput = input(">>> ") 
    if userInput in greetings: 
     print(random_greeting) 
    elif userInput in question: 
     print(random_response) 
    else: 
     print("I did not understand what you said") 
+0

На что вы застряли? –

+0

Похоже, вы просите целое решение. Какая часть вашего кода не делает то, что вы ожидаете от этого? – TankorSmash

+0

Добро пожаловать в StackOverflow. К сожалению, этот вопрос скоро будет закрыт, потому что он даже не приблизился к руководству по [помощи]. Если вы просмотрите их, в частности инструкции о «слишком широком», в следующий раз вам будет лучше задавать лучший вопрос. – GreenAsJade

ответ

2

Простой алгоритм, когда он не имеет базы данных «ответ» на вопрос, он может повторить вопрос обратно к пользователю, а затем добавить ответ пользователя в базу данных.

+0

Я тоже думал о том, чтобы сделать что-то похожее на это, но я ищу, чтобы сделать бота более активным, поэтому используя слова, чтобы понять вопрос, вместо того, чтобы полагаться на весь вопрос, чтобы найти ответ? Как бы я мог добиться этого? .. до сих пор я подключился к базе данных и в настоящее время загружаю возможные вопросы. – user3537901

+0

@ user3537901 Это хорошо за пределами новичков, чтобы сделать убедительный чатбот. Но вы можете посмотреть, как работает http://en.wikipedia.org/wiki/ELIZA для вдохновения. – Atsby