2015-05-23 51 views
-2

我目前正在做我的第一個項目在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在新手領域之外做出一個令人信服的chatbot。但是你可以看看http://en.wikipedia.org/wiki/ELIZA如何爲靈感啓發。 – Atsby