K. *_*ler 11 nlp amazon-web-services alexa alexa-skill dialogflow-es
我正在构建一个Alexa技能,允许Alexa用户与面向消费者的电子商务网站进行交互.可以调用站点上已存在的代表.现在,我想构建一个语音应用程序作为一个侧面项目,通过对话扩展相同的选项.将需要像位置,呼叫类别等的插槽.它基本上是应用程序/事务机器人.
在未来,如果这是成功的,我希望在不同的物联网设备(如Google Home Assistant等)上可以访问相同的通用应用程序.因此,我想抽象出语音交互并拥有相同的(一般)流程和API进行交互.
这让我对api.ai,wit.ai,Lex等不同技术进行了一些研究.
但是,由于这是Alexa的应用程序,我已经完全依赖AWS和亚马逊,我想我更喜欢使用Lex或者只是编写一个原生的Alexa应用程序.
我很难理解两者之间的差异.我知道Alexa是使用Lex构建的,我发现他们有类似的概念,如意图,插槽等.
但是,我正在寻找两种服务之间的任何差异:
使用Lex会让我更容易与其他设备集成吗?或者有任何好处吗?
使用Lex会让我在设计/修改会话流程方面有更大的灵活性吗?看起来Lex有点复杂,因此可能允许更多的功能.
或者只是Lex提供了几乎完全相同的功能,而且仅适用于不是Alexa的设备?
Lex是否提供比Alexa更多的分析处理?在Alexa我只能看到意图/插槽,但如果我能看到Lex中的实际文本,那将是理想的.
在我看来(Alexa 开发经验非常有限)AWS Lex 可以更好地控制机器人对话。它定义了单独的验证和实现代码挂钩,在 UI 上启用插槽的特定提示,支持意图之间的编程转换,提供适当的版本控制和别名处理等......因此,它似乎更像是一种企业产品,而不是“消费者-级别”Alexa 技能。
但令人惊讶的是它缺少一些重要的功能,例如它没有内置的“布尔”槽类型,因此您必须围绕是/否问题进行编码。或者根本没有 lex 的 Cloudwatch 日志。此外,(不断增长的)集成列表将使其更加通用。
尽管我是 AWS 的忠实粉丝,但我不得不说 api.ai 似乎是一个相当完善、功能丰富的主张,至少目前如此。
关于与其他设备的集成,我认为这些平台都没有承诺这一点。看来如果你的目标是 Google home,那就是他们的平台,如果你的目标是 Alexa,那么嗯,那就是 Alexa 或 api.ai(不确定谷歌将来是否会推出这个)。但如果你打算与聊天平台集成,或者直接集成到网络应用程序中,那么我认为所有主要平台都可以为你提供,或者在不久的将来。
顺便问一下,您检查过 IBM Watson 或 Microsoft Bot 框架(带有 LUIS)吗?它们也是非常强大、完整的框架,不要小看它们!