dialogflow-es - 将 DialogFlow 提取参数映射到数据库列值
问题描述
处理从意图训练短语提取的参数映射到特定于该用户的数据库中的用户定义值的建议解决方案是什么。
我认为一个实际的例子是购物清单应用程序。
通过 Web UI,用户将catchup
购物清单添加到存储在数据库中的item
.
然后通过那个代理(即谷歌助手),话语ketchup
被提取为item
参数。我无法知道如何将提取的参数从话语映射到数据库中的用户定义值
所以要清楚
// in the database added by the user from a web UI
"catchup"
// extracted from voice utterance
"ketchup"
我应该如何确保提取的参数可以与它们添加到列表中的自由格式值相匹配?
此外,我在这方面缺乏经验,并且已经浏览了很多文档,可能只是错过了这一点。不确定开发者实体或会话实体是否是解决方案。
解决方案
开发者或会话实体在这里可能有用。这取决于。
如果您可以枚举用户可以说的所有可能的事情,并可能为其中一些创建别名,那么您应该使用开发者实体。这是最简单且效果最好的——当单词被预定义为训练模型的一部分时,ML 系统有更好的机会匹配单词。
如果您不能这样做,并且您只想匹配他们已经添加到数据库中的内容,那么会话实体将很好地工作。这确实最适合您已经拥有的有关用户的信息,或者可能会根据上下文发生巨大变化的信息。
您甚至可能希望提供组合 - 定义尽可能多的实体(以获得最常见的回复),允许自由形式的回复,并将这些自由形式的回复合并为会话实体。
推荐阅读
- sql - 在视图 sql 中过滤嵌套表
- ios - 快递正文解析器整个请求正文是没有价值的关键
- python - 在网络服务器上写入文件时的权限问题(flask、apache 和 wsgi)
- ruby-on-rails - 当我发布我的 gem 时出现此错误:“在 Gemfile 中列出的任何 gem 源中找不到 gem 'uix_validations (~> 0.5.0)'。”
- html - 为线条设置动画并使其变成 css3
- algorithm - 一个范围内连接的城市数量
- r - 数字属性在 ggnet2 中进行 alpha 排序
- c# - 从资源字典中读取画笔
- visual-studio - 如何在 Visual Studio 2017 中为 .Net core 2.1 应用程序引用 F# 交互中的 Dll?
- c# - 最佳实践 - 两个具有类比意义的函数