Rasa v-0.15
OS-Mac OS
文本-凌晨3点设置闹钟
实体= CARDINAL
value = 3
我们可以看到文本中的预期实体应该是
实体=时间
value = 3am
为什么显示错误结果?
spacy中使用的模型-'en_core_web_md'
我正在使用的管道是-
language: "en"
pipeline:
- name: "SpacyNLP"
model: "en_core_web_sm"
case_sensitive: false
- name: "WhitespaceTokenizer"
- name: "SpacyEntityExtractor"
- name: "CRFEntityExtractor"
- name: "EntitySynonymMapper"
- name: "CountVectorsFeaturizer"
- name: "EmbeddingIntentClassifier"
答案 0 :(得分:1)
我不熟悉不是Spacy的堆栈元素,但就Spacy而言:模型并不总是正确的。他们使用概率方法来确定命名实体的类别。
您可以尝试使用较大的模型(例如en_core_web_lg),但计算量较大。另外,您可以考虑培训NER模型,使其更适合您的目的。 Spacy.io为此提供了一个工具,我认为它叫做Prodigy。无论哪种方式-未经广泛的培训,创建完全可靠的命名实体识别仍然是一个挑战。
答案 1 :(得分:1)
我建议尝试拉萨/小鸭。这使用了来自wit.ai的实体提取器,它对于提取时间和日期实体非常有用且功能强大。为此,有必要运行一个单独的Docker容器并将其包含在nlu_config.yml中的管道配置中,并在endpoints.yml中指定此Docker容器的端点。