创建您自己的简单虚拟助手 什么是虚拟助手?聊天机器人和虚拟助手的区别:现在我们要构建什么?

2025-06-07

创建您自己的简单虚拟助手

什么是虚拟助手

聊天机器人虚拟助手之间的区别

现在我们正在建造什么?

什么是虚拟助手

定义:智能虚拟助理 (IVA) 或智能个人助理 (IPA) 是一种可以根据命令或问题为个人执行任务或服务的软件代理。

简单来说,它是一组可以自行执行任务的程序,可以减少用户通过一组命令在机器上的工作量。

行业中有不同类型的虚拟系统,用于通用、社交媒体、营销等。

聊天机器人虚拟助手之间的区别

一般来说,聊天机器人通过短信提供服务,功能有限,无需高级算法。
而虚拟助手则提供了一个更具互动性的平台。虚拟助手提供了一个更具互动性的平台。它采用了先进的自然语言处理 (NLP) 技术和其他复杂的算法。

现在我们正在建造什么?

流行的虚拟助手,如亚马逊的 Alexa、苹果的 Siri、微软的 Cortana 都使用了高度复杂的算法。

但我将为我们的本地机器创建一个简单的虚拟助手,它可以执行使用Python的基本概念和其库构建的语音命令的简单任务。

让我们开始吧...

首先,你需要在你的机器上安装 Python。
点击此处下载。
我推荐 Python 3.6 或更高版本。

需要安装的软件包:

打开命令提示符并使用以下命令安装这些包

pip install SpeechRecognition
pip install gtts
pip install playsound
Enter fullscreen mode Exit fullscreen mode

完成所有安装后,我们需要下载pyaudio。打开链接并根据你的机器下载文件。
使用 pip install 设置下载文件的位置。

pip install 'file name with its absolute path'
Enter fullscreen mode Exit fullscreen mode

现在我们可以开始了...
在此之前,让我先解释一下我们正在使用的两个主要包,

我们的实施思路:

使用语音识别,我们将用户语音命令转换为文字,然后机器根据转换后的文本中的关键词执行任务。执行任务后,结果将使用 gtts(Google 文本转语音)库转换为语音。

让我们编码

创建一个新的以 .py 为扩展名的 python 文件。

首先导入所有需要的包

import speech_recognition as sr
from gtts import gTTS
import playsound
import os
Enter fullscreen mode Exit fullscreen mode

现在将创建一个 listen() 函数,将从麦克风接收到的语音转换为文本。

def listen():
    r = sr.Recognizer()
    with sr.Microphone() as source:
        print("I am listening..")
        audio = r.listen(source,phrase_time_limit = 10)
    data=""
    try:
        data = r.recognize_google(audio,language='en-US')
        print("You said:"+data)
    except sr.UnknownValueError:
        print("I cannot hear you")
    except sr.RequestError as e:
        print("Request Failed")
    return data
Enter fullscreen mode Exit fullscreen mode

监听之后应该有一个响应,因此将创建一个 respond() 函数。

def listen():
    print(String)
    tts = gTTS(text=String,lang="en")
    tts.save("Speech.mp3")
    playsound.playsound("Speech.mp3")
    os.remove("Speech.mp3")
Enter fullscreen mode Exit fullscreen mode

然后我们需要创建虚拟助手。它会使用if条件检查模式,并执行if语句中的指令集

def voice_assistant(data):
    if "Who are you" in data:
        listening = True
        respond("I am your assistant")
    if "how are you" in data:
        listening = True
        respond("I am well")
try:
        return listening
    except UnboundLocalError:
        print("TimedOut-->Re-Launch")
Enter fullscreen mode Exit fullscreen mode

创建所有必需的函数后,我们需要调用这些函数。

time.sleep(2)
respond("Hello, What can I do for you?")
listening = True
while listening == True:
    data = listen() #calling the listen()
    listening = voice_assistant(data)
Enter fullscreen mode Exit fullscreen mode

现在您可以修改响应,也可以在 voice_assistant() 函数中构建更多交互。

通过打开命令提示符运行此文件之后

python filename.py
Enter fullscreen mode Exit fullscreen mode

下图解释了整体工作原理和数据流。
替代文本

现在让我们让虚拟助手告诉当前的日期和时间,为此,我们导入时间模块

import time
from time import ctime
Enter fullscreen mode Exit fullscreen mode

现在在 voice_assistant() 函数中添加以下 if 条件

if "time" in data:
        listening  = True
        respond(crime())
Enter fullscreen mode Exit fullscreen mode

点击此处获取完整代码。
尝试使用更多 if 条件语句来增强与虚拟助手的互动体验。
如有任何疑问,欢迎随时评论。
敬请关注,了解我们的虚拟助手还能做什么。

谢谢

文章来源:https://dev.to/vinayveerappaji/create-your-own-simple-virtual-assistant-1kfp
PREV
JavaScript 数组函数备忘单 Array.isArray() Array.from() Array.of()
NEXT
[24] 2021 年 8 月十大必备 Web 开发工具