在nlu.md文件中添加语音,并训练不起作用的模型

时间:2019-08-22 07:29:25

标签: rasa-nlu rasa

我在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进行培训很重要? 请在这里提出问题。 谢谢

3 个答案:

答案 0 :(得分:0)

选项1

嗨,您可以尝试在year中为nlu.md添加查询,如下所示。

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

选项2

我提供此选项是因为您已经使用交互式表单训练了机器人。尝试像下面那样更改您的意图,然后检查是否可行。

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

让我知道结果。

答案 1 :(得分:0)

2019年是您实现这一目标的唯一途径吗?我认为Rasa希望为每个意图提供几个示例。 尝试为此目的添加更多示例。

答案 2 :(得分:0)

是否已在域文件中指定了实体和槽位,是否必须指定它,因为如果要像[2019](year)这样定义目标,则必须指定。在您的情况下,广告位将为“年”。 您可以在 domain.yml 文件中指定类似下面的内容。

entities:
- echannel_service

slots:
  year:
    type: text

注意:可以将插槽类型作为文本实例化,可以使用类别并指定年份列表。请参阅有关slots

的内容

如果您已经提到了这些内容,但仍然没有用,请尝试在这样的故事中进行说明。

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

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

## intent:input_year
- 2019 year
- 2020 year
相关问题