Python中的虚拟助手

Python中的虚拟助手,python,Python,我试图用Python编写一个虚拟助手,但我希望它更“人性化”。我想让她解释我的问题,而不是拿一根绳子来比较。 因此,我的疑问是: 为了涵盖同一请求的所有变化,例如“明天会下雨吗?”和“明天我需要一把伞?”我必须将每个请求都放在If声明中? 例如: if audio == "Will rain tomorrow?": checkWeather()... if audio == "Tomorrow I'll need an umbrella?": checkWeather()...

我试图用Python编写一个虚拟助手,但我希望它更“人性化”。我想让她解释我的问题,而不是拿一根绳子来比较。 因此,我的疑问是:

为了涵盖同一请求的所有变化,例如“明天会下雨吗?”和“明天我需要一把伞?”我必须将每个请求都放在If声明中? 例如:

if audio == "Will rain tomorrow?":
    checkWeather()...

if audio == "Tomorrow I'll need an umbrella?":
    checkWeather()...

another if statements...

这就是伟大的虚拟助手(Siri、Google Now等)的编码方式,或者有没有一种方法可以覆盖这些变化,而无需对每种可能性重复一个条件语句?是一种代码建模技术还是我需要知道的东西?

您应该做的第一件事是查看和学习自然语言处理。了解标记化和标记,我认为您可能会有所收获

此链接可能有一些有趣的主题:


但是要意识到,你正在努力做的不是一件容易的事情

您可以自己用python编写代码..代码如下

#If you want to make hello/hi, etc you can do it like this
def take_query(q):
    if 'hello' or 'hi' in q:
        return 'Hey there!'
    elif 'weather' or 'temperature' in q:
        weather = #use some api, etc or scraping, etc to fetch it...
        return weather
# I recommend using wolframalpha
#pip install wolframalpha
这基本上就是你可以用来让它成为真正的人形助手的方法

#use it like this in while loop...
while 1:
    result = take_query(input('Please say something... : '))
    print(result)

Siri和Google现在是非常复杂的软件,它们当然不仅仅是一大堆if语句。它们涉及到尖端的自然语言分析和人工智能,这些主题太宽泛了,无法在这里涵盖。你的回答根本没有帮助。你能谈谈这个尖端的自然语言解析吗?关于人工智能?我不想要这个虚拟助手的副本,我想要改进我正在制作的那个。你问Siri和Google现在是否是这样工作的,我回答了这个确切的问题。你抓住了我整个问题中最细微的疑点,回答了我的问题,却没有给出一个回答来让对话继续下去,并告诉我学习的方法。如果你知道Siri和Google现在是如何工作的,我想问的是它们是如何工作的,它们使用了哪些技术,所以我可以继续将这些主题应用到我的虚拟助手中。也许看看这个,你可以研究一些有趣的主题:这是一个有效的答案。你知道我需要一个学习技巧的名字,并把它给了我。谢谢。