如何识别 RASA 中的多个实体
How to identify multiple entities in RASA
我想从用户输入中提取多个实体。
示例- "Service httpd is not responding because of high CPU usage and DNS Error"
所以在这里我想确定如下:
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
类型的实体。然后,您可以在 custom action 中访问这些实体并查询您的数据库。
关于所需的示例数量:这取决于
- 您正在使用的NLU pipeline。通常
tensorflow_embedding
需要比 spacy_sklearn
更多的训练示例,因为它不使用预训练语言模型。
- 您的实体可以拥有的不同值的数量。如果只是
httpd
、high CPU usage
和 DNS error
那么你不需要很多例子。但是,如果您的实体有上千个不同的值,那么您需要更多的训练示例
如果您总是想触发相同的自定义操作,一个意图就足够了。但是,如果您想对不同类型的问题进行分类,例如服务器问题和客户端问题,并根据问题的类型触发不同的数据库,您可能会考虑具有多个意图。
很抱歉回答含糊不清,但在机器学习中,大多数事情都高度依赖于用例和数据集。
我想从用户输入中提取多个实体。 示例- "Service httpd is not responding because of high CPU usage and DNS Error" 所以在这里我想确定如下: 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
类型的实体。然后,您可以在 custom action 中访问这些实体并查询您的数据库。
关于所需的示例数量:这取决于
- 您正在使用的NLU pipeline。通常
tensorflow_embedding
需要比spacy_sklearn
更多的训练示例,因为它不使用预训练语言模型。 - 您的实体可以拥有的不同值的数量。如果只是
httpd
、high CPU usage
和DNS error
那么你不需要很多例子。但是,如果您的实体有上千个不同的值,那么您需要更多的训练示例
如果您总是想触发相同的自定义操作,一个意图就足够了。但是,如果您想对不同类型的问题进行分类,例如服务器问题和客户端问题,并根据问题的类型触发不同的数据库,您可能会考虑具有多个意图。
很抱歉回答含糊不清,但在机器学习中,大多数事情都高度依赖于用例和数据集。