Я пытаюсь добавить синонимы к сущности RASA. Я определил синонимы в самих обучающих данных. Я также определил ner_synonyms в файле конфигурации. Если после обучения я задаю такие вопросы, как «До скольких отпусков по болезни можно накопить», это означает понимание сущности, но когда я использую sl вместо отпуска по болезни («До скольких отпусков по болезни можно накопить»), это не идентифицирует сущность.
training.json
{
“rasa_nlu_data”: {
“entity_synonyms”: [{
“value”: “loss of pay”,
“synonyms”: [
{
“value”: “loss of pay”,
“synonyms”: [
“lop”, “leave withour pay”, “lwp”
]
},
{“value”: “casual leave”, “synonyms”: [“cl”]},
{“value”: “privilege leave”, “synonyms”: [“pl”]},
{“value”: “sick leave”, “synonyms”: [“sl”]}
…
],
“common_examples”: [
{
“text”:”Upto how many sick leave can be accumulated”,
“intent”:”leave_accumulate”,
“entities”:[
{
“start”:14,
“end”:24,
“value”:”sick leave”,
“entity”:”leave_type”
}
]
},
…
}}
configuration.yml
language: “en”
конвейер:
- name: “nlp_spacy”
model: “en”
- name: “tokenizer_spacy”
- name: “intent_featurizer_spacy”
- name: “intent_classifier_sklearn”
- name: “ner_crf”
- name: “ner_synonyms”