rasa-nlu - 如何在 RASA 中识别多个实体
问题描述
我想从用户输入中提取多个实体。示例-“由于 CPU 使用率高和 DNS 错误,服务 httpd 没有响应”所以我想在下面确定:Httpd 高 CPU 使用率 DNS 错误
我将使用这个关键字从数据库中获取响应。
解决方案
只需相应地注释它们,例如
## intent: query_error
- Service [httpd](keyword) is not responding because of [high CPU usage](keyword) and [DNS Error](keyword)
有了上面的句子,Rasa NLU 将提取 3 个类型的实体keyword
。然后,您可以在自定义操作中访问这些实体并查询您的数据库。
关于所需示例的数量:这取决于
- 您正在使用的NLU 管道。通常
tensorflow_embedding
需要比spacy_sklearn
不使用预训练语言模型更多的训练示例。 - 您的实体可以具有的不同值的数量。如果只是
httpd
,high CPU usage
,DNS error
那么你不需要很多例子。但是,如果您的实体有一千个不同的值,那么您需要更多的训练示例
如果您总是想触发相同的自定义操作,那么一个意图就足够了。但是,如果您想对不同类型的问题进行分类,例如服务器问题和客户端问题,并根据问题类型触发不同的数据库,您可能会考虑拥有多个意图。
抱歉,答案含糊不清,但在机器学习中,大多数事情都高度依赖于用例和数据集。
推荐阅读
- json - 从 JSON 响应中提取数据到 VB.Net 中的列表或数组
- c++ - grpc 的 ServerBuilder::AddListeningPort() 总是返回 TCP 端口零
- android - 为什么在没有 postValue 的情况下观察 MutableLiveData 触发器两次?
- python - python - 如何在python电报机器人中使用conversationhandler编写动态键盘?
- php - PHP中的基本URL路由不使用.htaccess
- excel - 有没有办法用excel将日期转换为2008.5(2008年年中)?
- java - 如何使 PDF (html2pdf) 中的 Header 与浏览器中的 Header 看起来相同?
- php - 通过密码和 openssl_decrypt 解密加密的私钥
- c# - 在 Xamarin 应用程序中成功登录 MSAL 后关闭 .Auth/login/done
- postgresql - 标签的 SQL 数据库设计。如何处理两个表之间的缺失关系?