【问题标题】:How to deal with a huge number of intents using DialogFlow?如何使用 DialogFlow 处理大量意图?
【发布时间】:2022-12-18 14:58:08
【问题描述】:
我创建了一个关系数据库,它有多个表。例如,第一个表中是所有可用的汽车,第二个表中是每辆车的可用型号,第三个表中是每个型号的价格。
我需要将其与 Google Dialogflow Chatbot 一起使用。
我的问题是,如果我想为每辆车和每个模型手动创建意图,它最终会有数百个意图,我认为这不是专业的方式。那么,遇到这种情况我该怎么办。
例如,流程是这样的:网友:有什么车?
提示:“显示所有汽车的列表”
用户:我要宝马的车型
提示:“显示BMW所有可用车型列表”
用户:我要型号XXXX的价格
提示:“显示该型号的价格”我需要帮助。
我尝试过手动创建意图,但由于意图数量众多,我被卡住了。我希望有一种更专业的方式来处理这些意图。
【问题讨论】:
标签:
python
flask
dialogflow-es
【解决方案1】:
如果让所有的意图完全依赖于汽车,那么意图的数量就会爆炸。
如何创建下面列出的分别处理汽车、型号和价格的 3 个意图。
我希望这对你有帮助。
对话流设置
实体
| entity name |
reference value |
synonyms |
| car |
car |
cars, vehicle |
| company |
BMW |
bmw |
|
Mercedes-Benz |
mercedes, benz |
|
Nissan |
nissan |
| model |
XXXX |
xxxx |
意图
| intent name |
entity |
context in |
context out |
| car intent |
@car |
- |
car |
| company intent |
@company |
car |
company |
| model intent |
@model |
company |
model |
每个 Intent 行为
汽车意图
-
描述
当用户想看汽车时,这个意图显示汽车。
-
话语和实体
| utterance |
entity name |
value |
| What cars are available? |
@car |
cars |
SELECT car_name FROM car_table;
公司意向
-
描述
当用户说汽车公司时,此意图显示模型。
-
话语和实体
| utterance |
entity name |
value |
| I want the models of BMW |
@company |
BMW |
SELECT model_name FROM model_table WHERE comapny_name = '[@company]';
模型意图
| utterance |
entity name |
value |
| I want the price of model XXXX |
@model |
XXXX |
SELECT price FROM price_of_each_model_table WHERE model_name = '[@model]';