0

我在 nlu.md 文件中添加了以下话语:

## intent:input_year
- [2019](year)

并有这样的故事:

## test
* input_year{"year" : "2019"}
 - utter_year

意图input_year和操作utter_year被添加到 domain.yml

我通过命令行训练了一个新模型,启动了 rasa x 并与机器人交谈,在输入2019识别的意图时是null0.

这是我的管道:

pipeline: 
- name: "SpacyNLP"
- name: "SpacyTokenizer"
- name: "RegexFeaturizer"
- name: "SpacyFeaturizer"
- name: "CRFEntityExtractor"
- name: "EntitySynonymMapper"
- name: "SklearnIntentClassifier"
- name: "DucklingHTTPExtractor"
  # url of the running duckling server
  url: "http://localhost:8000"
  # dimensions to extract
  dimensions: ["email", "time", "number", "amount-of-money", "distance"]
  # allows you to configure the locale, by default the language is
  # used
  locale: "NL_Nothing"
  # if not set the default timezone of Duckling is going to be used
  # needed to calculate dates from relative expressions like "tomorrow"
  timezone: "US/Pacific"

这是训练新数据的有效方法吗?还是使用 UI 进行训练很重要?请提出这里有什么问题。谢谢

4

3 回答 3

1

您是否在域文件中指定了实体和插槽,如果没有,您必须指定它,因为如果您正在定义这样的意图[2019](year)。在您的情况下,插槽将是“年”。您可以在domain.yml文件中指定如下内容。

entities:
- echannel_service

slots:
  year:
    type: text

注意:将插槽类型替换为文本,您可以使用分类并指定年份列表。请参阅此关于插槽

如果您已经提到了这些事情,但仍然不起作用,请尝试在这样的故事中指定。

## input_year path
* input_year{"yea":"2019"}
    - slot{"year":"2019"}

如果您不想使用插槽,只需像这样在nlu.md文件中指定年份并尝试。

## intent:input_year
- 2019 year
- 2020 year
于 2019-10-23T08:37:30.843 回答
0

2019 年是您实现这一意图的唯一路线吗?我认为 Rasa 期望每个意图的可能输入有几个示例。尝试为该意图添加更多示例。

于 2019-08-23T11:11:22.223 回答
0

选项1

嗨,您可以尝试为您的yearin添加查找,nlu.md如下所示。

## lookup:year
 - 2001
 - 2002
 - 2003
 - 2010
 - 2011
 - 2012
 - 2018
 - 2019

选项 2

我提供此选项是因为您已经使用交互式表单训练了您的机器人。尝试如下更改您的意图并检查是否有效。

## intent:input_year
- [2019](year) year

让我知道结果。

于 2019-08-22T10:28:06.880 回答