Анализатор даты и времени на естественном языке для Java - PullRequest
15 голосов
/ 11 сентября 2009

Я работаю над анализатором естественного языка, который изучает предложение на английском языке и извлекает некоторую информацию, такую ​​как имя, дата и т. Д.

например: " Давайте встретимся в следующий вторник в 5 часов вечера на пляже. "

Таким образом, результат будет примерно таким: " Давайте встретимся 15.09.2009 в 17:00 на пляже "

Итак, в общем, я хочу знать, что есть ли какая-либо инфраструктура или библиотека, доступная для JAVA, для выполнения таких операций, как разбор дат в предложении, и выдача выходных данных в некотором заданном формате.

С уважением, Pranav


Спасибо за ответы. Я видел несколько НЛП, таких как LingPipe , OpenPL, Stanford NLP . Я хотел спросить, есть ли у них что-нибудь для разбора даты для Java.

Ответы [ 7 ]

23 голосов
/ 26 августа 2011

Natty - действительно хорошая замена для JChronic.

3 голосов
/ 11 сентября 2009

Вы можете использовать JChronic , порт Java Chronic .

1 голос
/ 11 сентября 2009

Вы пробовали jchronic ? Однако я сомневаюсь, что любая библиотека могла бы напрямую работать с предложениями: вам нужно было бы извлекать фрагменты предложений и подавать их в структуру синтаксического анализа дат НЛП самостоятельно, возможно, на основе метода проб и ошибок (все большие и большие фрагменты до тех пор, пока среда не выдает ошибка).

0 голосов
/ 19 октября 2018

Для моего случая использования мне повезло больше с chrono-java - к сожалению, он выглядит устаревшим и недоступен в любом репозитории Maven (также не через https://jitpack.io/, поскольку сборка не работает ), так что вы должны починить и построить его для себя.

Однако проверка кода и исправление зависимости (maven-javadoc-plugin отсутствовал groupId, и я обновил версию), позволили мне успешно построить и запустить простой пример:

List<ParsedResult> results = Chrono.Parse("Datum  Freitag, 08.04. bis einschl. Sonntag 10.04.2016");
    results.forEach(result -> System.out.println(result));

В результате было извлечено 2 даты:

ParsedResult: " 08.04" > 04/08/2018 12:00
ParsedResult: "10.04.2016" > 04/10/2016 12:00
0 голосов
/ 03 мая 2014

Я написал сценарий NLP в NLTK Python и передал результаты в Ruby's ronic .

0 голосов
/ 31 августа 2011

Я бы предложил использовать UIMA с OpenNLP разъемами и теми же правилами регулярного выражения, выполненными вручную.

0 голосов
/ 11 сентября 2009

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

...