关于制作聊天机器人的方法

Regarding approaches to make a chatbot

我正在创建一个 chatbot.Chatbot 包含一些功能,比如它会开一些玩笑,它会在互联网上搜索有关问题的信息,比如告诉我有关泰姬陵和圣雄甘地何时出生的问题,为此我正在使用 wiki搜索 API 和网络 scraping.am 也在其中添加了一个对话,比如你好,我是你的朋友,或者不像正常对话。但是当我说我是你的朋友时,它会搜索维基百科,但我不想那样。那么我该如何训练我的聊天机器人何时在维基百科上搜索以及何时从数据库中回复。

使用关键字,这就是我在个人助理中使用的关键字。 我这样做的方法是创建一个包含多个字符串的列表,所以是这样的:

Hello_Keywords = ["Hello", "Cheers", "How are you"]
Jokes_Keywords = ["Tell me a joke", "Can you tell me a joke", "Make me laugh"

然后你要做的就是将这些列表分配给函数。所以像这样:

def Hello():
    print("Hello there")

def Jokes():
    print("Why did the chicken cross the road?")
    time.sleep(3) 
    print("To get to the other side!")

if User in Hello_KeyWords
   Hello()
elif User in Jokes_Keywords
   Jokes()
else:
    print("Excuse me what?")

现在要回答你关于维基百科的具体问题,你可以按照以下方式做一些事情:

User = "What is Python"

if "what is" in User:
    User = User.split("is")
    User = User[1].strip()
    User = wikipedia.summary(User)
    print(User)

上面的代码会检查 User 是否说 "what is" 然后将变量拆分成一个列表 ["What", "Python"],然后取第二部分 (User[1]) 并查找在维基百科上,然后打印出来。显然,您也可以使用其他关键字来执行此操作,例如 "who is""search Wikipedia for",等等

我就是这么用的,希望对你有帮助!