Пространственная модель en_core_web_sm не обнаруживает языковые объекты - PullRequest
0 голосов
/ 04 апреля 2020

Я написал небольшую программу для извлечения языковой сущности из текста. Я использую 'en_core_web_sm', но он обнаруживает что-то кроме ДАТА из следующего предложения.

Из простора сделать c https://spacy.io/models/en, я вижу, что «en_core_web_sm» поддерживает ЯЗЫК сущность.

Я думаю, что делаю очевидную ошибку. Может кто-нибудь указать, что я делаю не так?

   nlp2 = spacy.load("en_core_web_sm")
    test_text = "korean chinese  english spanish 2019-2-13 india america 2 years 6 months united states"
    doc2 = nlp2(test_text)
    for ent in doc2.ents:
        print(ent.label_, ent.text)
        print("\n")

Output
DATE 2 years 6 months

1 Ответ

1 голос
/ 04 апреля 2020

Какую версию spaCy вы используете? Если я запускаю этот точный фрагмент кода с текущей последней версией 2.2.4, я получаю эту распечатку:

NORP корейский

NORP китайский

ЯЗЫК engli sh

GPE Индия

GPE Америка

ДАТА 2 года 6 месяцев

Как видите, предварительно обученная модель en_core_web_sm действительно распознает LANGUAGE сущностей.

В качестве краткого совета: модуль NER в spaCy лучше работает с реальными предложениями, чему он и был обучен. Из моих результатов вы видите, что он работает также с неграмматическими последовательностями слов, как и при вводе, но он будет допускать больше ошибок, поскольку отсутствует грамматический контекст.

...