如何将 Alan 的听写引擎集成到 Doctor.ai

如何将 Alan 的听写引擎集成到 Doctor.ai

用高度精确的 Alan AI 改进 Doctor.ai 的语音识别能力

作者黄思行和李亮,英语原文

在这里插入图片描述
图片作者: GritteUnsplash

对于一个语音机器人来说,其听写的能力是决定用户体验的好坏最重要因素之一。和一个话头醒尾的机器人交谈是很有趣的。而且说话比打字快两到三倍,所以口头交互的效率会高很多。

相比之下,像 Chrome 这样的断断续续的听写引擎会很快就让用户感到无语。在这种情况下,用户很快会意识到纠错所花的时间比说话表达所花的时间还要多。这样下去,用户会只打字不说话。这完全违背了开发语音机器人的初衷。

在开发医疗语音机器人 Doctor.ai(1,2,3,4,56)的过程中,我们很早就注意到了 Chrome 的听写引擎不是很好。它会听漏,甚至听错单词。它会生成语义混乱和不连贯的句子。更甚,医疗领域的对话是 Doctor.ai 最被期待的能力,但它在那方面的听力更是惨不忍睹。

我们一直在物色更好的引擎。这个新引擎要不仅擅长于日常的对话,而且还应该能够理解常见的医学术语,如疾病,药物和病原体等专业名词。我们物色的结果就是Alan AI
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

官网介绍,Alan 是一个语音人工智能平台。自动语音识别(ASR)引擎的输出错误多,而Alan的口语理解(SLU)引擎就是专门为理顺这些数据而设计的。它有一个所谓的专业领域语言模型,可以更好地识别专业词汇,还可以动态适应用户的会话风格。

Alan 高度精确的听力给我们留下了深刻的印象(图 1)。它在正常和专业对话方面都完胜 Chrome。它听得懂许多生物医疗术语,如“photosynthesis”,“frontal sinus”,“Doxepin”,和“cowpox”(图 2)。正如你在图 1 中看到的,最让我们感到惊讶的是,尽管 Alan 也会听错一些单词,但每听完一句,它能够回头纠正错误并最终组成连贯的句子。
在这里插入图片描述

在本文中,我们将向你展示如何将 Alan 按钮集成到 Doctor.ai 的前端以改善用户体验(图 3)。它懂英语。如果你有企业版的 Alan,你也可以做一个德语版。Alan 的开发者计划有很慷慨的免费额度,所以这个项目不会产生开销。你可以在 GitHub仓库中找到这个项目的代码。

1.获取 Alan SDK 的 key

Alan的网站注册。然后按照说明获得“开发者计划”。这个计划可以让你在 Alan 上免费互动超过一万次。进入 Alan Studio 后,单击 Create Voice Assistant 并命名doctorai_en。
在这里插入图片描述
在这里插入图片描述

进入 Studio 后,创建一个"Alan Integrations"项目。删除左侧面板上的所有原始脚本,并创建一个新的脚本。将代码 1 复制并粘贴到内容中。这个脚本捕捉用户的语音,并且去掉了Alan 自带的语音回复。最后单击</>Integrations 按钮。
在这里插入图片描述

fallback((p) => {
  //p.play('Sorry, I have no answer');
  console.log("I just capture your voice");
});

在 Integration 页面中,将Microphone timeout设置为 3 秒,这样 Alan 就不会捕捉来自 Doctor.ai 的语言回复。在这里你可以改变语言。最后,复制 SDK 的密钥。
在这里插入图片描述

2.修改 Doctor.ai 的前端

这里,我们更新了 Doctor.ai 前端的代码来整合 Alan 按钮。你可以在代码仓库中找到最新的代码。以下是简概。
在这里插入图片描述

chatbot 的初始化方式与之前的文章类似。但我们加了一个ref。接下来,我们使用 Alan 的parsed事件来捕获语音并将文本传输到聊天机器人的输入框。最后,我们将 Alan 按钮添加到前端的DOM里。

3.在 Amplify 启动前端

现在让我们设置 Amplify 前端并测试 Alan。你可以从我们的代码仓库中分叉代码到你的账户上。如这篇文章所述一步一步设置Doctor.ai。在设置过程中添加以下环境变量:

REACT_APP_NEO4JPASSWORD=[your neo4j password]
REACT_APP_NEO4JURI=bolt://[your_neo4j_server_ip]:7687
REACT_APP_NEO4JUSER=neo4j
REACT_APP_OPENAI_API_KEY=[your OpenAI Key]
REACT_APP_LANGUAGE=English
REACT_APP_ALAN_API=[your Alan SDK Key]

所以你的 Configure build settings 页面应该像这样:
在这里插入图片描述

一旦 Amplify 完成了设置,到你的机器人页面好好玩吧。在 Alan 捕捉到你的语音之后,转录的文本将出现在输入框里。你可以检查更改文本,然后再确定发送到机器人那。
在这里插入图片描述

4.德语版本

如果你有 Alan 的企业版,设置德语版本很容易。在 Alan Studio 创建一个新的项目并设置语言为 de(如图 10)。复制并保存 SDK 的 key。
在这里插入图片描述

在 Amplify 中的设置过程中,将 REACT_APP_LANGUAGE 改变为 German。
在这里插入图片描述

现在,你也可以用德语聊天了。

结论

在本文中,我们向你展示了如何将 Alan 的听写引擎集成到 Doctor.ai 中。这个引擎比 Chrome 更能成功捕捉我们的话语。尽管 Alan 还是会误解一些单词,但我们可以更容易地在输入框中纠正它们。这大大提高了我们与 Doctor.ai 交互的效率。

这个项目还展示了,扩展 Doctor.ai 是多么的容易。Doctor.ai 是模块化的,通过 API 进行通信。开发人员可以相应地切换单个组件。我们可以很容易地添加元素到 Amplify 前端,以提高用户体验。所以我们鼓励你使用 Doctor.ai 并告诉我们你的使用经验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值