我想构建一个简单的聊天机器人,以了解一些变量,名称等。 例: Bot:你叫什么名字? 用户:我叫约翰(用户名) Bot:很高兴认识您John(您可以看到它了解名称并在对话中使用它)
我的问题是:chatterbot是否提供此功能?如果是这样,在chatterbot中使用什么来创建它?
答案 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?')
您可以添加更多替换子句以获取更多标点符号和随机响应。您还可以使用不同的声明短语添加更多这些内容。
如果您希望做一些更通用的事情,而没有特殊的变量声明情况,建议您使用机器学习的聊天机器人,这需要聊天数据和分析来确定声明短语,或更经常地,只是给出响应。