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