Пространство не распознать дату должным образом - PullRequest
2 голосов
/ 16 января 2020
nlp = spacy.load('en_core_web_md')
text =" Activity Date: 12/18/2019 06:00:00AM CST "
doc  = nlp(text)
for entity in doc.ents:
    print(entity.label_+" "+ entity.text)

Здесь spacy не может извлечь дату и время. Я также пробовал 'en' и 'en_core_web_lg'.

Я также сталкиваюсь с ситуацией, когда мы меняем формат даты на (ДД / ММ / ГГГГ). Он распознает дату.

text = " 18/12/2019"
doc  = nlp(text)
for entity in doc.ents:
    print(entity.label_+" "+ entity.text)

Кто-нибудь сталкивался с такой же проблемой.

Ответы [ 2 ]

3 голосов
/ 16 января 2020

Spacy использует вероятностные c модели, чтобы попытаться идентифицировать именованные объекты на естественном языке. Это означает, что это дает вероятность того, что Именованные объекты имеют определенный тип (например, дата, лицо или организация).

Вы можете влиять на вероятность того, что Дата распознается правильно, двумя способами: Убедитесь, что дополнительные текстовые подсказки включены в текст, окружающий дату, а именно: The activity occurred on 12/18/2019 at 06:00:00AM CST

Или, альтернативно, вы можете обучить модель Spacy probabilisti c для своего набора данных, передавая ее там, где необходимо распознавать даты. Более подробная информация здесь: https://spacy.io/usage/training

Однако, может быть, ваш вариант использования лучше подходит для подходов Regex или даже импорта даты и времени для распознавания даты? Это было сделано ранее, проверьте, например: даты совпадения, используя python регулярные выражения

1 голос
/ 17 января 2020

Для моего конкретного случая использования я решил его с помощью dateparser . Вы можете проверить это здесь Dateparser

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...