跳到内容 跳到主导航 跳到页脚

接入第三方语音

观看人机对话演示视频

申请谷歌服务账号

  1.创建谷歌GCP账号

                点击谷歌GCP(Google Cloud Platform)

                类型选择:用于商家管理

                注:本文使用简体中文撰写;您可切换自己熟悉的语言。

  2.进入GCP控制台

点击右上角“控制台”,或点击链接:https://console.cloud.google.com/

创建Google服务凭据

  1.Tips:更改语言为简体中文

                修改语言步骤:”…” ——> 偏好设置 ——> 语言 ——> 中文(中国) ——> 保存

                这里不建议使用浏览器所提供的网页翻译,因为翻译结果可能与配图中的选项不一致。

  2.项目相关

    a.创建项目  

                        点击:https://console.cloud.google.com/projectcreate

                        自定义输入项目名称,然后点击“创建”

     b.进入该项目

                         点击下拉箭头“↓”

                         点击进入刚刚创建的项目:

  3.创建服务账号并设置角色

     a.点击左侧的“导航菜单——> IAM和管理 ——> 服务账号”

     b.点击“创建服务账号”

     c.输入服务账号的名称,并点击底部“创建并继续”

                         注意:页面会自动填写服务账号ID,一般不必修改。

     d.点击角色下拉列表,选择“基本-Owner”,然后“添加其他角色”

      e.点击第二个角色的下拉列表,选择“Dialogflow – Dialogflow API Client”,然后点击底部的“完成”即可

  4.获取密钥

          a.点击进入刚刚创建的服务账号

          b.点击“密钥”——>“添加密钥”——“创建新密钥”

          c.选择json类型后,点击创建

          d.您的电脑会自动下载一个json文件,这就是Google服务凭据

提供谷歌服务凭据给猎户星空 

  1.需要提供的内容

  • Google服务凭据(Json文件)
  • 企业的完整名称

  2.提供给对接人

  • 张国梁Grayson 或 杨婧(Yami)

                我们需要1个工作日来完成企业和谷歌项目的绑定。此时,您可以继续完成后续的步骤。

启用谷歌API 

  1.启用Cloud Speech-to-Text API服务

                                打开:https://console.cloud.google.com/marketplace/product/google/speech.googleapis.com

                                点击“启用”按钮

启用结算功能:需要绑定付款账户,可以使用个人信用卡,或者使用GCP Partner的付款账户。

  2.启用Cloud Text -to- Speech API服务

                                打开:https://console.cloud.google.com/marketplace/product/google/texttospeech.googleapis.com 点击“启用”按钮

Dialogflow(人机对话设计)

Dialogflow是用于设计人机对话(Q&As)的操作平台

  1.新建Agent

                                输入名称、选择语言(暂时以英文”en”举例)、选择已创建的Google Project,然后点击右上角的”Create”即可。

  2.设计机器人Q&A能力

                                 a.添加第一个问题

  • 【重要】请按照格式“tell_me_why::orion_baike::sample question”的格式填写您希望添加的问答信息的名称
    • 新建Agent自带的“Default Welcome Intent”请改为”tell_me_why::orion_baike::Default Welcome Intent”。当有人跟机器人打招呼时,会播报里面的回答,比如“你好”。
    • 新建Agent自带的“Default Fallback Intent” 表示当机器人听到问题但是回答不上来的时候,就会播报它里面的回答。这个不需要添加前缀,保持原状即可。否则机器人听到各种噪音,也会当作问题进行回答。
  • 开头的 “tell_me_why::orion_baike::”必须一字不差,”::”为英文双冒号,这样才能让招财豹机器人正确解析此问答
  • 末尾的”sample question”可以完全自定义,相当于是给这条问答信息起一个名字,比如: what’s your job
  • Training Phrases:就是用户可能会问答的问题,建议添加多种类似的问法。
    • 注意:问题只写文字即可,末尾不要带问号“?”,参考下面两个示例
  • Text Response:是希望机器人回答的内容,可以填写一条或多条回答;如果多条,会随机选择一个进行回答
  • Training phrases 和 Text Response 需要使用与该Agent当前正在配置的语言一致:
    • 如果当前语言为”en”,那么问题和回答需要全部使用英文填写。 
    • 如果当前语言为”zh-hk”,那么问题和回答都要用繁体中文填写。

注:“Save”之后,页面右侧可以在线测试;如果成功的话,再到机器上测试体验

                                 b.支持多语种对话

                                                                  如果需要支持多种语言, 可后续点击“+”,添加相应的语言,然后点击右上角“Save”按钮保存即可。

如果希望机器人支持“粤语”的语音识别,请添加:Chinese(Traditional)-zh-hk.

但是每种语言需要配置该语言的问题和回答,才能支持相应语言的语音交互

  3.高级用法

                                 a.导出与导入

                                                    如果您已经完成了第一个Agent的配置,需要开通第二个Agent并复用第一个Agent里面的问题和答案,此时有个简单的办法。

                                                    从第二个Agent中导出zip包,如下图示;然后解压,并删除其中的intent文件夹

                然后从第一个Agent中导出Zip包,解压之后把intent文件夹复制到上面的目录中

(相当于是替换掉之前的intent文件夹)。

                最后把zip压缩后重新导入第二个Agent即可,如下图示:

                注意:导入时,需要按照页面提示,准确输入“IMPORT”方可导入。

                注意:您也可参考猎户星空提供的intent配置文件,可手工添加意图:按照下图编辑意图的名称、问法、回答,然后保存即可

英语日语韩语繁体中文(粤语)
配置文件示例intents.zip配置文件示例intents.zip
配置文件的意图列表:配置文件的意图列表:
配置文件中的一条内容:what’s your job进入intent文件夹,把“what’s your job.json”及“what’s your job_usersays_en.json”两个文件拖入浏览器可查看内容,复制其中的文本,按照上图的格式填写即可配置文件中的一条内容:你做咩呀进入intent文件夹,把“你做咩呀.json”及“你做咩呀_usersays_zh-hk.json”两个文件拖入浏览器可查看内容,复制其中的文本,按照上图的格式填写即可
“Save”之后,页面右侧可以在线测试;如果成功的话,再到机器人上测试

                                 b.人工干预

                                                    可通过”Training”模块对语义解析的结果进行干预。

                                                    如果是正确识别的结果,但匹配了错误的意图或者没有匹配任何意图,可以直接指定到适合的意图。 比如:

                                                    Try it now:

                                                     如果文字识别结果无法判断出明确的意图,可以点击右侧按钮进行屏蔽。

                                 c.招财豹领位指令

                                              (1).进入Dialogflow

                                                                   https://dialogflow.cloud.google.com/

                                              (2).创建地点列表Entity

                                                                   输入Entity信息:

    • Entity名字:location_list
    • 勾选3项:1、3、4打勾
    • 添加地点词:
      • 第一栏为地点名(与地图中的地点名称保持一致,包括大小写)
      • 第二栏可以添加该地点词的几个别名

                        点击Save保存

                                              (3).新建领位Intent

                                                        领位Intent的标题格式:leading::go_location::帶我去零食區 (标红部分必须一字不差)

                                                        Training Phrases填入一个领位的句式:比如“帶我去零食區

                                                        然后鼠标选中地点名称”零食區”,在出现的下拉列表中选择刚刚添加的Entity“location_list

                                                        此时,”零食區”和“location_list”都变为黄色,说明零食区已经匹配到了Entity”location_list”中的对应条目.

                                                        然后在Parameter name下方,把 location_list 改为location,此时下方的”Action and Paramaters”中的

                                                        location_list也会自动改为location。 如下图所示:

                                                        可以继续添加不同的句式:比如“零食區去邊度”,同样用鼠标选中”零食區”,然后可直接选            择”@location_list:location“,这就是第一个句式中设置好的匹配规则.

                                                        然后点击“SAVE“保存

                                              (4).在线测试

                                                        右上方Try it now,输入测试句子,即可查看结果。

                                                        如果匹配了正确的intent、parameter 和 value,那么就可以在机器人上测试了。

                                                        要注意的是:value的值应该与机器人地图地点中的某个地点名完全一致

                                            以下是别名“零食”的测试结果,以及换了 另一个地点“汽水”和另一个句式“xxx去邊度”的测试结果。

                                            该结果表示:Entity“location_list”中的所有地点名都可以适用于领位Intent中的所有句式,能够

                                            正确识别并执行领位任务。如果有30个地点 和5个句式,那么就支持150种领位指令的不同说法.

                                 d.招财豹送餐指令

                                            与3.3的领位指令相互,只有两处不同

                                            Intent的名字前缀格式:cafe_meal::add_task::xxxx

                                            Parameter Name修改:table_number

                                            其他的配置与领位指令相同,快去试试吧!

                                 e.招财豹问某一道菜指令

                                            与3.3的领位指令配置方法一致。区别之处有以下几点:

                                            菜品需要新建一个Entity(菜品词典表),如下表的”Dish_List”

                                            第一栏为菜名(需要与招牌菜中的菜名完全一致,包括大小写),如Pork Pot/Fish

                                            第二栏可以添加该地点词的几个别名,不区分大小写

                                            Intent的名字前缀格式:solicit::specialty::ask dish::xxx

                                            Parameter Name修改:entity

常见问题排查

  1. rpc error: code = PermissionDenied desc = IAM permission ‘dialogflow.sessions.detectIntent’ on ‘projects/orion-314912/agent’ denied.

——>账号授权问题:确认是否给服务账号授予dialogflow api client 权限

  1. 机器人听到一个问题并且屏幕上显示了正确的文字,但是没有任何回答

——>在Dialogflow Agent中通过Try it now测试一下,如果也没有回答,就表示尚未配置该问题及其回答。请添加问答并Save之后,先在网页上通过”try it now”测试,成功之后即可在机器人上测试。

这篇文章是否有帮助?

0