Как стать автором
Обновить

Комментарии 10

надо еще порядок день/месяц с оглядкой на локаль (территорию) учитывать 1/2/2019 — будет разной датой в en-US и в en-GB

"Wednesday" специально с ошибкой написано? Зачем?

Это токены которые спарсил из текста реальной переписки SpaCy, без правок и редакции. Люди ошибаются.
n-грамный поиск по тексту и сопоставление со словарем с правильным написанием тех слов, которые набрали высокий балл «похожести». И не надо будет цитировать ошибки. Вообще, меня поразил масштаб задачи. то, что можно сделать «врукопашную» на любом языке за день -два, без всяких там библиотек и сервисов, вряд-ли стоит и статьи об этом.

Не на python есть duckling, который прекрасно работает с датами на английском языке, в том числе распознаёт интервалы. Эта библиотека используется в том числе в сервисе wit.ai. Для duckling есть обертки на python.

А кто-то пробовал сделать то же, но с русским языком? Скажем так, есть какой-то алгоритм портирование на другие языки — немецкий, например?

алгоритм портированиЯ

dateparser и duckling мультиязычные, но для других языков поддержка сейчас как всегда хуже чем для английского. Почти все решения для парсинга дат на естественном языке, начиная от древнего SUTime, основаны на правилах и контекстно-свободных грамматиках. NER, основанные на классификации чаще всего очень ограничено извлекают даты и в любом случае требуется их нормализация.


Можно взять готовый томита-парсер от Яндекса и написать правила и грамматики для извлечения дат на любом языке. Но с написанием грамматик придется повозиться, конечно.

Существует ещё сортируемый формат времени — год, месяц, день. Как его отличить от год, день, месяц?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории