Временное извлечение (т.е. извлечение даты / времени из текста в свободной форме) - Как? - PullRequest
9 голосов
/ 16 июля 2009

Кто-нибудь нашел простой, но эффективный способ извлечения ссылок на даты из текста? Я довольно много искал инструменты для временного извлечения, но там не так много. Есть несколько официальных документов, но, похоже, они попадают в подмножество всей семантической паутины, но им не уделяется много внимания.

Я просто ищу что-то, что на 80% эффективно. Нет необходимости фиксировать такие вещи, как «месяц после января 2009 года», но базовые сущности с общими датами были бы хорошими.

Я открыт для всех предложений, даже необычных выражений регулярных выражений.

Огонь прочь!

(и спасибо - Генри)

Ответы [ 3 ]

3 голосов
/ 14 августа 2013
  1. Если целевые временные выражения в ваших данных представлены только в ограниченном формате, используйте регулярное выражение и итеративный подход для уточнения вашей системы

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

1 голос
/ 16 июля 2009

Один из способов сделать это - просто найти все, что составляет 4 числа, и преобразовать его в число. Если число попадает в диапазон интересующих вас лет, возможно, у вас есть год, который вы можете использовать. Если вас интересуют какие-либо подходящие месяцы и дни, вы можете проверить соседние слова, чтобы узнать, являются ли они названием месяца или числом от 1 до 31. Я уверен, что это удовлетворит ваше требование 80%.

Регулярное выражение для лет: [0-9] {4} - вам нужно преобразовать число и посмотреть, находится ли оно в диапазоне лет, который вы считаете действительным.

регулярные выражения по месяцам: январь | январь | февраль | февраль… и т. Д. За каждый месяц

Регулярное выражение для дней месяца: [0-9] {1,2} - вам нужно преобразовать число в число и посмотреть, будет ли оно 1-31

0 голосов
/ 16 июля 2009

Я рисую пробел о том, как найти, что кормить, но эта библиотека будет анализировать широкий диапазон дат и может использоваться в качестве функции "это реальная дата". (Полное раскрытие, я автор этой библиотеки)

...