首页 > 解决方案 > 如何根据python中的输入长度创建聊天机器人

问题描述

我在下面有输入

inputs=["Hi","I want to know some information about the course"]

我这里有回复

responses=["Hi,How can I help you?","Which course do you want to take?"]

我想根据输入长度创建一个聊天机器人,它应该给出相应的响应,即,如果用户输入"Hi",它必须比较输入列表中的长度和单词,并从响应列表中给出相应的响应。我试过如下

### splitting list elements as words
user_word_split=[word for line in inputs for word in str(line).split()]
### Asking user for enter their text
while True:
    user=input('User:')
#### seeing if user text present in the existing list
    for i in range(0,len(user_word_split)):
        commonElements=[x for x in (user_word_split) if x in user]
#### comparing the length of the inputs and giving responses if condition meets.    
    if len(user)>=len(commonElements):
        user=input(responses[0])
    elif len(user)>=len(commonElements):
        user=input(responses[1])

输出:

User:Hi
chatbot: Hi,How can i help you?

即使我作为用户文本输入,它也会给出响应。它"go"不比较输入列表中存在的单词。它只是比较长度。我怎么能做到user text length >= len(commonElements)这一点。如果它必须从响应列表中获得第一个响应等等。但我是无论单词比较如何,每次都只从响应列表中获得第一个响应。

预期输出:

User: Hi
chatbot: Hi,How can I help you?
User: I want to know some information aout the course
chatbot: Which course do you want to take?

标签: python

解决方案


推荐阅读