创建您自己的简单虚拟助手
什么是虚拟助手?
聊天机器人和虚拟助手之间的区别:
现在我们正在建造什么?
什么是虚拟助手?
定义:智能虚拟助理 (IVA) 或智能个人助理 (IPA) 是一种可以根据命令或问题为个人执行任务或服务的软件代理。
简单来说,它是一组可以自行执行任务的程序,可以减少用户通过一组命令在机器上的工作量。
行业中有不同类型的虚拟系统,用于通用、社交媒体、营销等。
聊天机器人和虚拟助手之间的区别:
一般来说,聊天机器人通过短信提供服务,功能有限,无需高级算法。
而虚拟助手则提供了一个更具互动性的平台。虚拟助手提供了一个更具互动性的平台。它采用了先进的自然语言处理 (NLP) 技术和其他复杂的算法。
现在我们正在建造什么?
流行的虚拟助手,如亚马逊的 Alexa、苹果的 Siri、微软的 Cortana 都使用了高度复杂的算法。
但我将为我们的本地机器创建一个简单的虚拟助手,它可以执行使用Python的基本概念和其库构建的语音命令的简单任务。
让我们开始吧...
首先,你需要在你的机器上安装 Python。
点击此处下载。
我推荐 Python 3.6 或更高版本。
需要安装的软件包:
打开命令提示符并使用以下命令安装这些包
pip install SpeechRecognition
pip install gtts
pip install playsound
完成所有安装后,我们需要下载pyaudio。打开链接并根据你的机器下载文件。
使用 pip install 设置下载文件的位置。
pip install 'file name with its absolute path'
现在我们可以开始了...
在此之前,让我先解释一下我们正在使用的两个主要包,
- 语音识别:这个 Python 库将口语转换为文本。
- Google Text-to-Speech:这个 Python 库将文本转换为语音。
我们的实施思路:
使用语音识别,我们将用户语音命令转换为文字,然后机器根据转换后的文本中的关键词执行任务。执行任务后,结果将使用 gtts(Google 文本转语音)库转换为语音。
让我们编码
创建一个新的以 .py 为扩展名的 python 文件。
首先导入所有需要的包
import speech_recognition as sr
from gtts import gTTS
import playsound
import os
现在将创建一个 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
监听之后应该有一个响应,因此将创建一个 respond() 函数。
def listen():
print(String)
tts = gTTS(text=String,lang="en")
tts.save("Speech.mp3")
playsound.playsound("Speech.mp3")
os.remove("Speech.mp3")
然后我们需要创建虚拟助手。它会使用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")
创建所有必需的函数后,我们需要调用这些函数。
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)
现在您可以修改响应,也可以在 voice_assistant() 函数中构建更多交互。
通过打开命令提示符运行此文件之后
python filename.py
现在让我们让虚拟助手告诉当前的日期和时间,为此,我们导入时间模块
import time
from time import ctime
现在在 voice_assistant() 函数中添加以下 if 条件
if "time" in data:
listening = True
respond(crime())
点击此处获取完整代码。
尝试使用更多 if 条件语句来增强与虚拟助手的互动体验。
如有任何疑问,欢迎随时评论。
敬请关注,了解我们的虚拟助手还能做什么。
谢谢
文章来源:https://dev.to/vinayveerappaji/create-your-own-simple-virtual-assistant-1kfp