【Minecode|开发日记】1.据说小度在等待帅的人把它唤醒
【Minecode|开发日记】2.打造属于自己的小度(1):使用PythonSDK
【Minecode|开发日记】3.打造属于自己的小度(2):小白小白!——唤醒词替换
(未完持更)
上一教程中,我们成功使用Python SDK并将其部署到我们自己的开发者账号中,那么这一节,我们开始让DuerOS真正成为我们的专属AI。
叫惯了小度小度,想给它换个喜欢的名字怎么办?Let's do it!
【本节基于上一节的成果完成,如果没有通过SDK唤醒,建议先查看第二篇教程。】
为了保证识别精准性,并不是所有的唤醒词都适合。所以先前往DuerOS开放平台->控制台->进入你所创建的服务的服务配置页面->选择唤醒词评估就可以了。
如图所示,评级三星三星以上才可以作为唤醒词,否则这种识别率之下的人工智能只能是人工智障了
确定好唤醒词之后,下面进入训练阶段。
训练使用Snowboy平台,https://snowboy.kitt.ai/。平台支持很多种语言,也很高兴看到中文的模型越来越多了。
选择训练关键词(当然也可以参与别人的模型训练)
填写模型信息,然后录制三次即可完成初次训练
选择训练好的模型,下载即可
下载好的***.pmdl模型先留着,一会要用到。
训练完snowboy之后,我们需要下载Snowboy Python版到树莓派,从而读取模型。
该部分在文档中的讲解比较笼统,缺失了很多关键步骤。所以这里我们着重讲解。
git clone https://github.com/Kitt-AI/snowboy.git
直接从git仓库clone即可
如果你跟随文档走到这一步,很有可能遇到了如下图所示情况。
提示写的很明确:缺失swig。那么,我们现在来安装swig
首先在swig官网下载最新版,http://www.swig.org/download.html。本文使用的是3.0.12
解压swig
sudo tar -xzvf swig-3.0.12.tar.gz
安装swig需要g++和PREC支持,如果没有安装,请先安装g++和pcre,否则会出现下图报错
安装g++和pcre
sudo apt-get install g++
sudo apt-get install libpcre3 libpcre3-dev
然后进入刚刚解压的目录,开始swig的安装
./configure --prefix=/usr/local/swig3.0.12
make
sudo make install
最后设置环境变量
sudo vim /etc/profile
vim中,按i进入编辑状态,编辑完成后按ESC,输入:wq保存退出
现在,我们成功安装了swig
进入Snowboy目录,生成
cd snowboy/swig/Python
make
这一次,我们就正常生成了.so文件
将snowboy/examples目录下的Python目录更名为snowboy,然后替换DuerOS-Python-Clien目录的app/snowboy
注意:请备份原有的app/snowboy,一会还要用到
复制过来之后,会发现resource文件夹、.py、.so文件有感叹号。这是因为软拷贝的问题。
有一个简单的解决方法:将原来的snowboy文件夹中的Resource文件夹拷贝过来并替换。
将snowboy/swig/Python中对应的snowboydetect.py和snowboydetect.so这两个文件拷贝过来并替换。
最后,把刚刚的pmdl模型文件拷贝至snowboy目录,完成整个文件替换过程。
修改了模块,我们接下来在代码中完成修改
修改__ init __()函数,并添加feed_back方法
修改terminate方法
在main方法中更新模型,如图
完成修改。
注意:python对于代码对齐很敏感,请一定注意对齐,如下图错误
恭喜,现在已经成功的完成了唤醒词的替换,现在的小度成为了属于你自己的人工智能。接下来,我们可以根据自己需求进行更加个性化的开发
视频链接:http://v.youku.com/v_show/id_XMzEzMzUxNjM4MA==.html?spm=a2h3j.8428770.3416059.1
如果有任何疑问,欢迎在下方评论留言~