Timex3 разбор даты и времени - PullRequest
0 голосов
/ 20 января 2019

Мы используем языковую поддержку Microsoft (LUIS), которая позволяет извлекать даты и время из пользовательского ввода.

Пример строки

"my vacation is on 2019-10-01 at 3pm"

извлекает в объект Timex3: 2019-10-01T03:00pm, что замечательно, но если datetime не полностью распознан, тогда у timex есть свой собственный формат, который я не знаю, как анализировать.

Timex поддерживает неоднозначные данные, такие как:

XXXX-05-02 - May 2nd, any year
XXXX-05-02,XXXX-05-05,P3D - May 2nd to 5th

Этот формат отличный, но я не уверен, как проанализировать все возможные комбинации. Я пытаюсь получить пользовательский ввод для планирования напоминаний. Итак, для XXXX-05-02 я хочу отправлять им напоминание раз в год 2 мая. Большинство планировщиков поддерживают формат CRON, поэтому в идеале я хотел бы иметь возможность конвертировать TIMEX в CRON, но я не могу найти никакой информации о том, как это сделать. Доступны только следующие документы: Спецификация Timex3:
http://www.timeml.org/tempeval2/tempeval2-trial/guidelines/timex3guidelines-072009.pdf и статья Microsoft: https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-reference-prebuilt-datetimev2

1 Ответ

0 голосов
/ 21 января 2019

Так что в репозитории BotBuilder-Samples на GitHub, на стороне C #, есть пример с некоторыми пояснениями, приведенными в readme, относительно того, как обращаться с TIMEX здесь .

Посетив репозиторий распознавателей напрямую, где находится библиотека выражений TIMEX, вы также можете найти примеры того, как использовать библиотеку regonizers для обработки TIMEX и в JavaScript, здесь .

Примеры, приведенные в ссылках выше, не конвертируются в CRON, но позволяют вам сделать следующее (как указано в readme для C # samples):

  • Анализировать выражения TIMEX, чтобы получить свойства, содержащиеся в них.
  • Создание выражений TIMEX на основе задания необработанных свойств.
  • Создание естественного языка из выражения TIMEX. (Логически это обратная сторона распознавателя.)
  • Разрешить выражения TIMEX для получения примера даты-времени. (Это дает тот же результат, что и распознаватель (и, следовательно, LUIS)).
  • Оценивать выражения TIMEX по отношению к ограничениям так, чтобы создавались новые более точные выражения TIMEX.
...