跳转到主要内容
cathy 提交于

<strong><font color="#004a85">作者 Wang Jing</font> </strong>

你是否曾经幻想过这些场景:回到家,对着电视说想看的节目,电视会自动开启并切换至目标频道?或者对着炉子说开始小火慢炖,晚餐会以恰当的火候自动烹饪?现如今,家用电器的确可以实现诸如此类的功能,通过语音控制,疲惫一天的你不用亲力亲为,坐在沙发上对着各种电器发出指令,它们便会听话地完成你的各种需求。

实际上,家用电器能说会听是物联网的产物。物联网架构复杂,涉及方面广,越来越多的企业选择云上托管物联网设备体系,因为云端架构安全便捷,基于人工智能(比如,自然语言处理)模型,训练和部署等过程都通过简单的点击即可完成,功能强大,可以极大程度地为公司节约人力和物力。云端物联网通常包括一个安置在家庭中的传感器设备,通过Wi-Fi连接到网络,用于接受数据,将数据传给云端数据库,在云环境中进行分析处理。

随着人工智能和物联网的发展,人机交互给人们带来越来越高端的体验。语音控制技术应用最为广泛,也是当今的热门研究课题。令人耳目一新的是在家用电器方面的应用,摒弃了传统的遥控器装备,通过口令让家用电器完成各项功能。语音控制家电技术围绕人工智能,机器学习语义识别,物联网(IoT),云计算(cloud computing)而展开。

本文以云端架构为框架,为大家介绍语音控制技术是如何让家用电器能说会听的。主要内容将围绕以下几个方面展开:

<ul>
<li>Azure云端语音控制和识别技术
<ol>
<li>云端物联网</li>
<li value="2">云端语音控制技术基本解决方案步骤</li>
</ol>
</li>
</ul>
<ul>
<li value="2">相关主要技术说明
<ol>
<li>Universal Windows Platform(UWP)</li>
<li>Cognitive service 的语音识别APIs &amp; SDK</li>
<li>Language Understanding Intelligent Service (LUIS)</li>
<li>运行Windows 10 IoT核心版的Raspberry Pi 3</li>
</ol>
</li>

</ul>
<ul>
<li value="3">语音控制技术如何应用于家电
<ol>
<li>核心技术</li>
<li>架构</li>
<li>功能</li>
<li>解决方案</li>
</ol>
</li></ul>
<ul>
<li value="4">总结</li>
</ul>

<strong>Azure云端语音控制和识别技术</strong>

语音控制系统包括了语音识别、自然语音理解、对话管理、自然语言生成、语音合成。

<center><img src="http://mouser.eetrend.com/files/2021-02/wen_zhang_/100061568-121584-1.p…; alt=“” width="600"></center><center><i>来源:https://zhuanlan.zhihu.com/p/53639416</i></center&gt;

<strong><font color="#004a85">1) 云端物联网</font> </strong>

<ul>
<li>语音识别是指语音到文本的转化。Azure 平台的TTS(text to speech)采用Universal language模型,该模型对Microsoft已有数据进行了训练,并部署在云端,也可以创建和训练自定义的语言模型,根据需要选择特定的词汇并将其加入训练数据中。</li>
<li>自然语言分析/自然语言处理,是机器学习的一部分,设计模型并进行训练。</li>
<li>对话管理的任务主要有下三点:</li>
</ul>

a、预测用户意图
对话内容进行分析,机器学习模型预测,确定下一步做什么。

b、作为接口与后端/任务模型进行交互
作为应用程序接口与服务器端或模型进行请求交互,获取反馈结果,生成文字结果。

c、提供语义分析结果的期望值
根据用户的提问,通过一系列的语义解析,做出满足用户期望的回应。

<ul>
<li>语言答案的文本生成是通过模型分析用户的指令并作出文字回应。</li>
</ul>
<ul>
<li>语音合成技术主要作用是将文本转化成拟人化语音的需求,基础的Azure 云端语音合成使用语音SDK或REST API使用标准(详细说明见下文),神经或自定义语音实现文本转语音的过程。</li>
</ul>

家用电器中,对话模式的情感要求会低一些,因为用户发出的大多是功能请求,比如:开机,询问温度或湿度等等。

(以上内容参考自:https://zhuanlan.zhihu.com/p/53639416

<strong><font color="#004a85">2) 云端语音控制技术基本解决方案步骤</font> </strong>

<ul>
<li>对话模式</li>
</ul>
<p>对话模式是人机语言交互的核心,所有模式围绕其展开。当用户发出指令,系统便切换到了对话模式。Azure上使用UWP 应用平台,开发一个界面,用于监测人声触发(例如:对平台说: &lsquo;Hi, cloud!&lsquo;)成功与否。</p>
<ul>
<li>听写模式</li>
</ul>
<p>使用者说出一段较长的语音,然后等待语音识别的结果。当&lsquo;Hi, cloud!&lsquo;指令发起后,用户正式发出指令(说出想对机器说的话),这时语音便传到了语义分析系统(Azure LUIS),内容传入语义分析系统,Azure上的实时语音转文本服务使用初始化Universal Language模型,通过REST API/Speech software development kit (SDK)完成。</p>
<ul>
<li>交互模式</li>
</ul>
<p>使用者发出简短的请求, 并期望应用程序执行响应,交互模式主要是指将语音识别和文字到语音的转换过程嵌入到应用程序中去。本文例子中,Azure云端部署语音控制系统的交互模式体现在与用户交互的Universal Windows Platform(UWP)应用。在UWP上开发一个简单的界面供用户操控,或供开发者测试使用。</p>

<strong>相关主要技术说明</strong>

<strong><font color="#004a85">1) Universal Windows Platform(UWP)</font> </strong>

Windows通用应用平台,同一个API可以在电脑端,手机端,或其他windows10设备通用。换句话说,同样的代码可以在不同的终端运行,不必为不同的平台写不同的代码。

<strong><font color="#004a85">2) Cognitive service 的语音识别REST APIs & SDK</font> </strong>

以语音识别为例:REST API 需要提前获取密钥,然后向服务器发送HTTP请求,经过身份验证后,服务器将转换后的音频返回至本地。

<ul>
<li>下面通过图示说明云上的REST APIS:</li>
</ul>

<center><img src="http://mouser.eetrend.com/files/2021-02/wen_zhang_/100061568-121585-2.p…; alt=“” width="600"></center><center><i>图片来源:https://gunnarpeipman.com/wp-content/uploads/2016/04/rest-api-adapter.p…;

这是Rest client应用于Application(应用程序)并在其中创建rest client的实例,然后在Application上调用一些方法。当调用Rest client方法时,该方法将输入转换为http请求,并将请求发送到Rest api。来自端点的响应是http响应,Rest client将其转换为Application可识别的类型,并返回给Application端。

由于我们不想向我们的Application(应用程序)公开Rest client的详细信息,可以添加Adapter(适配器)用来与外部服务通信。适配器接受Application(应用程序)中已知类型的参数,并且返回值也是Application(应用程序)中已知类型的参数。

<ul>
<li>SDK即为可以调用的库,支持Python,C#, C++, Java, JavaScript, Objective-C/Swift.</li>
</ul>
<p>官方文献明确指出: &ldquo;作为语音 SDK 的一种替代方法,语音服务允许使用 REST API 将语音转换为文本。 每个可访问的终结点都与某个区域相关联。 应用程序需要所用终结点的订阅密钥。 REST API 非常有限,只应在语音 SDK 不能使用的情况下使用。&rdquo;</p>
<p>引用来源:https://docs.microsoft.com/zh-cn/azure/cognitive-services/speech-servic…;
<p>有关SDK 和REST API 可以参考以下连接: </p>
<p><a href="https://docs.microsoft.com/en-us/azure/cognitive-services/speech-servic…;
<p><a href="http://docs.microsoft.com/en-us/azure/cognitive-services/speech-service… API</a></p>

<strong><font color="#004a85">3) Language Understanding Intelligent Service (LUIS)</font> </strong>

Azure的LUIS是基于云的对话式AI服务,作用是使机器理解人的语言。 运行方式可用一句话概括为:客户端通过应用程序直接发送语音请求到 LUIS, LUIS中的自然语言处理功能将命令转换为JSON格式,分析后答案同样以JSON的形式返回。LUIS平台为用户提供了训练模型的服务,并且模型具备“不断学习的功能”,通过使用模型去回应客户请求,模型会不断自动修正以提高准确度。

<a href="https://dzone.com/articles/luis-language-understanding-intelligent-serv…;

<center><img src="http://mouser.eetrend.com/files/2021-02/wen_zhang_/100061568-121586-3.p…; alt=“” width="600"></center><center><i>图片来源:https://docs.microsoft.com/zh-cn/azure/cognitive-services/luis/what-is-…;

自然语言处理离不开以下几个方面:

(例如:用户向家用检测湿度系统发出”检查湿度?”的指令。)

<ul>
<li>目的性(动词)- &ldquo;检查&rdquo;就是一个动词, LUIS模型最大接受80个目的性词汇。</li>
<li>完整的语言内容 - 用户发出的完整指令,LUIS模型最多接受500字的语音请求。</li>
<li>实体(名词)-  湿度是一个名词。LUIS模型最多接受30个实体名词。</li>
</ul>
<p>LUIS定义特征,意思就是当你的模型很难识别某一个或几个单词的时候,可以自动加进数据中进行再训练。</p>

<strong><font color="#004a85">运行Windows 10 IoT核心版的Raspberry Pi 3</font> </strong>

Raspberry Pi 是一个开发板,可以连接到不同类型的传感器。Raspberry Pi可以被用作Web服务器,该服务器接收不同的解释命令并发送电信号,以控制安装在Smart Home中的家用电器。

<strong>语音控制技术如何应用于家电</strong>

语音控制使家庭环境更智能,实现家电的自动化。我们可以将其定义为:通过提供如健康,多媒体,娱乐和能源相关应用的不同服务,通过引入技术改善居住者的生活质量。

应用举例:智能湿度计---云端部署

<center><img src="http://mouser.eetrend.com/files/2021-02/wen_zhang_/100061568-121587-4.p…; alt=“” width="600"></center><center><i>图片来源:https://www.iotnewsportal.com/iot-images/1512640413.png</i></center&gt;

<strong><font color="#004a85">1) 核心技术</font> </strong>

在Raspberry Pi 3上运行的Universal Windows Platform(UWP)应用,使用语音识别API与传感器与用户进行交互, LUIS 进行语义分析,经由Raspberry pi 3 将用户的问题传入,最后通过Cognitive service 的语音识别APIs 技术给出答案。

<strong><font color="#004a85">2) 架构</font> </strong>

<center><img src="http://mouser.eetrend.com/files/2021-02/wen_zhang_/100061568-121588-5.p…; alt=“” width="600"></center><center><i>图片来源:https://azure.microsoft.com/en-in/solutions/architecture/azure-iot-subs…;

<strong><font color="#004a85">3) 功能</font> </strong>

<ul>
<li>存储数据,通过传感器搜集数据并存储在云端。</li>
<li>语音到文本和文本到语音的API,用于识别用户提出的问题,并使用语音提供答案。</li>
<li>LUIS语音识别,语义分析,通过预先训练的模型预测答案,以准确响应客户的指令。</li>
<li>通过Raspberry Pi 3传入语音,和Cognitive Services的语音识别API,让家电可以回答用户提出的问题。</li>
</ul>

<strong><font color="#004a85">4) 解决方案</font> </strong>

以下内容参考:https://microsoft.github.io/techcasestudies/iot/2017/06/02/Iomote.html

<ul>
<li>数据到云端</li>
</ul>
<p>从传感器到云端数据库的数据传输过程已经可以通过完善的架构实现,客户可以直接使用不同类型的数据库,以满足不同的需求。</p>
<ul>
<li>开展语音对话:UWP应用</li>
</ul>
<p>例如:用户希望了解家里的湿度,&lsquo;Hey, cloud !&rsquo;  &rsquo; What is the humidity in the room now? &rsquo;通过UWP平台进行文本输出显示,UWP应用将在中安装的Raspberry Pi 3上运行,该应用程序将能够与所有传感器和执行器进行通信, 系统被触发后,问题会被传到LUIS中进行语义分析。</p>
<ul>
<li>问题分析,与LUIS连接</li>
</ul>
<p>LUIS 用于了解从Raspberry Pi 3接收的命令。经过对模型的训练,应用程序能够识别意图:检索室内湿度。之后,将LUIS API添加到UWP应用程序中,用户触发命令 &ldquo;Hey, cloud ! &rdquo; 之后,所有内容通过API发送到LUIS进行分析。LUIS在UWP内被调用,接收输入并分析意图。根据预测意图的置信度向用户提供正确答案,将命令发送到IoT中心以获取传感器的温度。</p>
<ul>
<li>开发网页端应用</li>
</ul>
<p>开发一个网页端应用程序用于设备管理。该程序可以显示连接到IoT中心的所有传感器,使管理设备变得更加容易,实现重新启动,固件更新等功能。</p>
<ul>
<li>人机交互</li>
</ul>
<p>UWP应用与网页端应用进行交互给客户进行响应,网页端应用负责将指令发送到指定的传感器,从特定的传感器检索当前室内的空气湿度,回答用户问题,最后通过 &ldquo;文本到语音&rdquo; API向用户提供当前室内的湿度值。</p>

<strong><font color="#004a85">总结</font> </strong>

语音交互为用户提供了一种全新的家居控制方式,使家用电器能说会听,与此同时,当下语言识别面临的困难也不同忽视,主要包括以下几点:

1、中文方言的识别/不同国家英语口音的识别。

2、模型预测准确度:

想要使语音识别达到一个近似于人大脑的效果,必须结合语言学、心理学及生理学等领域知识达到与人近似的情感分析。此外,预测模型是不可能达到百分之百准确的,总会有新的指令,新的词汇出现,这时,模型的不断迭代训练变得尤为重要。

3、排除噪声干扰:让语音控制系统精准定位到与其交互的用户声音,而不是其他较高音量的噪音。

作者认为,想要让机器像人一样思考问题,最大的挑战是机器学习/人工智能技术与医学(生理和心理学)的结合,因为当今科学界懂得医学知识的人工智能科学家寥寥无几。家用电器的人机对话可以大大减轻用户的劳动力,机器有了情感以后,便可以增加聊天功能,机器会像朋友一样在回答问题之余闲聊几句,增添生活的乐趣。此外,机器对温度等数据的把控度极为精准,这是人类无法达到的。

综上所述,语音控制技术应用于家用电器是非常有前景的项目,未来会说话的家用电器会普及所有家庭。将来希望大量科学家进入这个领域,致力于不断创新与研发,使这一目标早日实现。

<strong>参考文献及网站</strong>
<ul>
<li><a href="https://zhuanlan.zhihu.com/p/53639416">https://zhuanlan.zhihu.com/p/536…;
<li><a href="https://docs.microsoft.com/zh-cn/azure/cognitive-services/luis/what-is-…;
<li><a href="https://docs.microsoft.com/en-ie/azure/cognitive-services/speech-servic…;
<li><a href="https://www.cnblogs.com/sparkdev/p/8969238.html">https://www.cnblogs.co…;
<li><a href="https://docs.microsoft.com/en-ie/azure/cognitive-services/speech-servic…;
<li><a href="https://docs.microsoft.com/zh-cn/windows/uwp/get-started/universal-appl…;
<li><a href="https://zhuanlan.zhihu.com/p/40974083">https://zhuanlan.zhihu.com/p/409…;
<li><a href="https://blog.csdn.net/yushuzhen2008/article/details/104152122">https://…;
<li><a href="https://blog.csdn.net/Clovera/article/details/82705193?utm_medium=distr…;
<li><a href="https://dzone.com/articles/why-azure-rest-apis-and-how-to-prepare-for-u…;
</ul>

<center><img src="http://mouser.eetrend.com/files/2021-02/wen_zhang_/100061568-121590-6.p…; alt=“” width="200"></center>
王晶是一名机器学习算法工程师,目前在汽车检测领域工作。热衷于技术文章的创作。

她希望她的文章能引起读者们对人工智能的兴趣,以激励更多的专业人员致力于这个领域,将AI与云技术和大数据结合起来,以使人们的生活更加安全便捷。

本文转载自:贸泽电子
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

语音控制技术让每一个家电都能说会听