首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >deeppavlov intent dstc2分类输出不清晰(python)

deeppavlov intent dstc2分类输出不清晰(python)
EN

Stack Overflow用户
提问于 2018-12-31 12:35:28
回答 1查看 171关注 0票数 1

我遵循以下文档:https://github.com/deepmipt/DeepPavlov/blob/master/docs/components/classifiers.rst#id53

我的代码如下:

代码语言:javascript
复制
import os
from deeppavlov import build_model, configs

os.environ["KERAS_BACKEND"] = "tensorflow"

CONFIG_PATH =  configs.classifiers.intents_dstc2_big
model = build_model(CONFIG_PATH, download=True)
print(model(["Hello"]))

我期望得到如下输出:

代码语言:javascript
复制
"goals": {"pricerange": "cheap"},
"db_result": null,
"dialog-acts": [{"slots": [["pricerange", "cheap"]], "act": "inform"}]}

但是,我得到的数字数组如下所示:

代码语言:javascript
复制
[[0.004440320190042257, 0.0035526982974261045, 0.003814868861809373, 0.004386670421808958, 0.0026496422942727804, 0.004122086800634861, 0.004859328735619783, 0.005762884858995676, 0.006169301923364401, 0.9743947386741638, 0.005218957085162401, 0.004720163065940142, 0.006856555584818125, 0.0047727120108902454, 0.008368589915335178, 0.011183635331690311, 0.007578883320093155, 0.005414197687059641, 0.008248056285083294, 0.005105976946651936, 0.005934832151979208, 0.005890967790037394, 0.005130860488861799, 0.005532102193683386, 0.005490032024681568, 0.0046647703275084496, 0.004590084310621023, 0.004707065410912037]]

如何正确显示或使用输出?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-08 13:07:18

intents_dstc2_big模型并没有为您提供正确的DSTC2输出,相反,它根据原始数据集中的actslot值来识别发声的意图。

例如,

代码语言:javascript
复制
"goals": {"food": "dontcare", "pricerange": "cheap", "area": "south"},
"db_result": null,
"dialog-acts": [{"slots": [], "act": "thankyou"}, {"slots": [], "act": "bye"}]}

此消息包含两个意图(thankyou, bye)

为了获得意图方面的输出,您应该稍微更改一下配置。

代码语言:javascript
复制
import os
from deeppavlov import build_model, configs, train_model
from deeppavlov.core.common.file import read_json

os.environ["KERAS_BACKEND"] = "tensorflow"

model_config = read_json(configs.classifiers.intents_dstc2_big)
model_config['chainer']['out'] =  ['y_pred_labels']

model = build_model(model_config, download=True)
print(model(["thank you good bye"]))

更多输出选项,您可以在in the configuration file中找到。

请让我知道这是否足够有帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53983616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档