Python Chatbot互动

时间:2019-11-08 14:36:16

标签: python nltk chatbot

因此,我将在聊天机器人上使用本教程https://medium.com/analytics-vidhya/building-a-simple-chatbot-in-python-using-nltk-7c8c8215ac6e,并在Python中使用nltktf-idf

一切正常,我完全理解其中的内容。但我想走得更远。该聊天机器人适用于问答系统,我正在尝试创建一个聊天机器人来帮助用户订购披萨。

我考虑过要创建两个列表,一个用于调味,另一个用于尺寸。

pizza_flav = ['pepperoni', 'napolitan', 'pineapple']

pizza_size = ['small', 'large']

我还考虑过使用flavorsize创建字典并根据用户输入进行更新。

my_dict_keys = ['flavor', 'size']

slots = {key: None for key in my_dict_keys}

在我的response方法中,我尝试使用以下逻辑:

def response(user_response):
    robo_response=''
    sent_tokens.append(user_response)
    # same code as the post

    if req_tfidf == 0:
        robo_response += "I am sorry! I don't understand you"
        return robo_response
    else:  
        robo_response = robo_response+sent_tokens[idx]

        # my attempts
        if user_response in pizza_flav:
            slots['flavor'] = user_response
        if user_response in pizza_size:
            slots['flavor'] = user_response

        return robo_response

我不确定这是否是最好的方法。当我添加样式和大小时,机器人将继续回答问题(就像问答),而不是定向用户。

我期望的是类似的东西

user: what flavor do you guys have?
bot: we have pepperoni, napolitan and pineapple
user: i'd like pepperoni # set flavor to pepperoni
bot: great, what size? 
user: large # set size to large

我走对了吗?谢谢!

PS。我不想使用RASA或IBM Watson。

0 个答案:

没有答案