SpacyEntityExtractor неправильно распознает объекты времени - PullRequest
0 голосов
/ 06 мая 2019

Rasa v - 0,15

ОС - Mac OS

text - установить будильник на 3 часа ночи

entity = CARDINAL

value = 3

Мы можем видеть, что ожидаемые объекты из текста должны быть -

entity = TIME

value = 3 am

Почему он показывает неверный результат?

Модель, используемая в 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"

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Я бы порекомендовал попробовать раса / утенка.Это использует экстрактор сущностей из wit.ai, и он очень полезен для извлечения сущностей времени и даты.Для этого необходимо запустить отдельный докер-контейнер и включить его в конфигурацию вашего конвейера в ваш nlu_config.yml и указать конечную точку этого док-контейнера в вашем endpoints.yml

1 голос
/ 06 мая 2019

Я не знаком с элементами стека, которые не являются Spacy, но в том, что касается Spacy: модели не всегда верны. Они используют вероятностные подходы для определения категории Именованного Сущности.

Вы можете поэкспериментировать с более крупными моделями (такими как en_core_web_lg), но они дороже в вычислительном отношении. Кроме того, вы можете подумать о том, чтобы подготовить модель NER, чтобы она лучше подходила для ваших целей. Spacy.io предлагает инструмент для этого, я думаю, он называется Prodigy. В любом случае - без тщательного обучения все еще сложно создать полностью надежное распознавание именованных объектов.

...