Chatterbot对话中的变量

时间:2019-08-03 07:00:14

标签: python chatbot chatterbot

我想构建一个简单的聊天机器人,以了解一些变量,名称等。 例: Bot:你叫什么名字? 用户:我叫约翰(用户名) Bot:很高兴认识您John(您可以看到它了解名称并在对话中使用它)

我的问题是:chatterbot是否提供此功能?如果是这样,在chatterbot中使用什么来创建它?

1 个答案:

答案 0 :(得分:0)

如果您希望有一个可以理解变量的短语列表,可以这样做:

if 'my name is ' in response.lower():
    index=response.lower().find('my name is ')+11 #index of start of name
    indexspace=response[index:].find(' ')+index #find index of space after name, indexspace gives result in terms of the index for response[index:], not response itself, so +index
    if indexspace==-1:
        name=response[index:].replace('.','') #handle 'My name is Joe.' without space at the end
    else:
        name=response[index:indexspace].replace('.','').replace(',','') #handle 'My name is Joe, nice to meet you!'
    print('Nice to meet you, '+name)
else:
    print('Hi, what is your name?')

您可以添加更多替换子句以获取更多标点符号和随机响应。您还可以使用不同的声明短语添加更多这些内容。

如果您希望做一些更通用的事情,而没有特殊的变量声明情况,建议您使用机器学习的聊天机器人,这需要聊天数据和分析来确定声明短语,或更经常地,只是给出响应。