在RASA-NLU训练数据中使用Spacy实体 [英] Use spaCy entities in Rasa-NLU training data
本文介绍了在RASA-NLU训练数据中使用Spacy实体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用Rasa创建一个简单的程序,该程序可以从文本输入中提取(法语)街道地址。
按照RASA-NLU文档(http://rasa-nlu.readthedocs.io/en/latest/entities.html)中的建议,我想使用Spacy进行地址检测。
我看到(https://spacy.io/usage/training)对应的Spacy预置实体将是LOC
。
但是,我不知道如何使用此实体创建培训数据集。
以下是我当前JSON培训数据集的摘录:
{
"text" : "je vis au 2 Rue des Platanes",
"intent" : "donner_adresse",
"entities" : [
{
"start" : 10,
"end" : 28,
"value" : 2 Rue des Platanes",
"entity" : "adresse"
}
]
}
如果我训练程序并使用文本输入"je vis au 2 Rue des Hetres"
运行它,则会得到以下输出:
{
"entities": [
"end": 26,
"entity": "adresse",
"extractor": "ner_crf",
"start": 10,
"value": "2 rue des hetres"
],
"intent": null,
"intent_ranking": [],
"text": "je vis au 2 Rue des Hetres"
}
考虑到我的训练数据集,这是很好的。但我想使用Spacy的LOC
实体。
我如何才能做到这一点?(我做错了什么?)
如果需要,以下是我的配置文件的相关摘要:
{
"pipeline" : "spacy_sklearn",
"language" : "fr",
"spacy_model_name" : "fr_core_news_md"
}
推荐答案
如果您想使用Spacy预训的NER,您只需要将其添加到您的管道中,例如
pipeline = ["nlp_spacy", "tokenizer_spacy", "ner_spacy"]
但根据您的需要,您可能只想复制其中一个preconfigured pipelines并在结尾处添加"ner_spacy"
这篇关于在RASA-NLU训练数据中使用Spacy实体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文