https://github.com/RasaHQ/rasa_nlu/issues/1468#issue-370187480
Версия Rasa NLU: 0.13.6
Операционная система (windows, osx, ...): windows
Содержимое файла конфигурации модели: yml
language: "en"
pipeline:
- name: tokenizer_whitespace
- name: intent_entity_featurizer_regex
- name: ner_crf
- name: ner_synonyms
- name: intent_featurizer_count_vectors
- name: intent_classifier_tensorflow_embedding
intent_tokenization_flag: true
intent_split_symbol: "+"
path: ./models/nlu
data: ./data/training_nlu.json
Проблема:
как извлечь сущность. которые не являются соседними словами. ниже приведен пример:
Мне нужно обучить свой NLU понимать общественные недовольства, такие как УЛИЧНЫЙ СВЕТ, УЛИЦА НА УЛИЦЕ, УЛИЧНОЕ ОСВЕЩЕНИЕ ДНЯ
Мое значение объекта - УЛИЧНЫЙ СВЕТ, это означает, что человек хочет сообщить, что уличный фонарь не работает. он / она сделает это в формате ниже.
Уличный фонарь рядом с клиникой доктора Васанта Шетти, WH Hanumanthappa Layout, Ulsoor Road, Bangalore 42, слился в течение недели.
Сам по себе уличный фонарь не является сущностью или слитный не является моей сущностью. уличные фонари слились - это синоним. Можно ли научить НЛУ извлекать из этого предложения уличный фонарь. если да, то как.
Если нет, то единственное решение - разделить Street Light и объединить его как разные объекты? но из приведенного выше предложения можно извлечь объединенный уличный фонарь, потому что он может извлекать объекты, в которых несколько слов в нем и tokenizer_whitespace просто разбиваются на пробел.
Подскажите, пожалуйста, лучший способ получить мою сущность без разделения на несколько сущностей.
вот еще пример по той же проблеме:
Пример 1:
Мусор не вывозился за последние 10 дней, требуется немедленная очистка.
здесь я могу выбрать Не выбран мусор, это проблема. Я могу обучить свой NLU извлекать этот именованный объект с помощью ner_crf с помощью приведенного ниже обучающего фрагмента
{
"text": "Garbage not picked from past 10 days,need immediate attention for clearance",
"intent": "inform_grevience",
"entities": [
{
"start": 20,
"end": 38,
"value": "Garbage not picked",
"entity": "issue"
}
]
}
Пример 2:
Мусор рядом с 10-й магистралью не собирался за последние 10 дней, требуются немедленные действия.
другой гражданин сообщает об одной и той же проблеме, но по другому приговору.
Могу ли я извлечь мусор, не выбранный из примера 2, с помощью ner_crf?