Разобрать строку в datetime (объект) Python - PullRequest
0 голосов
/ 11 июля 2020

Некоторые примеры:

a) Input: “foo document 23rd August 2017” 
Output: datetime(object)
b) Input:“text text 12/09/2014” 
Output: datetime(object)
c) Input: “Bla september 29 of 2014 bla bla”
Output: datetime(object)

1 Ответ

0 голосов
/ 11 июля 2020

Вы можете попробовать duckling библиотеку NLP для анализа вашего неструктурированного текста, чтобы определить дату и время. проверить документ

Вы можете установить duckling, используя docker. Найдите docker изображение

Поддерживает утенок:

  1. время
  2. электронная почта
  3. номер
  4. url
  5. номер телефона

и многие другие форматы. Он может извлекать время в различных форматах, например: «сегодня», «понедельник, 18 февраля», «1 марта», «последняя неделя», «с четверти до полудня»

Как запустить duckling библиотеку :

Образ утенка работает на порте 8000/tcp. Это услуга restful. После установки docker вы можете запустить изображение утенка следующим образом:

docker container run <duckling-container-image-id> -p 8000:8000

Затем вы можете проверить localhost:8000, он отвечает текстом quack вывод.

Как получить доступ к услуге отдыха утят в python:

import requests, json
response = requests.post("http://localhost:8000/parse", data={"text":"Bla september 29 of 2014 bla bla","locale":"en_GB"})
## response status code 200 then,
if response:
    print(json.loads(response.text))

вывод:

[{'body': 'september 29 of 2014', 'start': 4, 'value': {'values': [{'value': '2014-09-29T00:00:00.000-07:00', 'grain': 'day', 'type': 'value'}], 'value': '2014-09-29T00:00:00.000-07:00', 'grain': 'day', 'type': 'value'}, 'end': 24, 'dim': 'time', 'latent': False}]
...