Я вижу, что есть возможность внутри SUTime разрешить неоднозначные ссылки времени на будущее, но я не уверен, как сообщить аннотатору NER. Например, при аннотации этого предложения «давайте выйдем в пятницу» (и, допустим, сегодня воскресенье), я хочу, чтобы SUTime вернул дату следующей пятницы, а не предыдущую, которая появляется по умолчанию, поскольку она ближе к воскресенью. Благодарю.Как я могу инструктировать NER SUTime для решения будущего?
ответ
Вы должны предоставить свой собственный файл грамматики. Вы можете скопировать значение по умолчанию из corenlp. Он должен быть расположен где-нибудь stanford-sutime-models-1.3.5.jar:edu/stanford/nlp/models/sutime/english.sutime.txt
Затем добавьте следующий код в конце раздела, который начинается с комментарием # Final rules to determine how to resolve date
:
{
pattern: ([ $hasTemporal ]),
action: VTag($0[0].temporal.value, "resolveTo", RESOLVE_TO_FUTURE)
}
Это будет помечать все temporals быть решены в будущем. Обратите внимание, что существует несколько предопределенных тегов, которые разрешают некоторые временные шаблоны в прошлом. Вы также можете удалить и изменить их.
Затем укажите путь ресурса к файлу конструктору TimeAnnotator:
Properties props = new Properties();
props.setProperty("sutime.rules", "edu/stanford/nlp/models/sutime/defs.sutime.txt,PATH_TO_YOUR_RESOURCE_FOLDER/english.sutime.txt,edu/stanford/nlp/models/sutime/english.holidays.sutime.txt");
TimeAnnotator timeAnnotator = new TimeAnnotator("sutime", props);
Существует также небольшой трюк с DocDateAnnotation
. Если вы хотите, чтобы временные шаблоны, такие как «в пятницу в 7 вечера», были правильно решены, вы должны указать дату и время форматирования iso (не только дату, например, ГГГГ-ММ-ДД), в DocDateAnnotation
.
- 1. Настройка SUTime для использования файлов пользовательских правил
- 2. Как я могу инструктировать парсер не продолжать обработку неисполненных комментариев?
- 3. Как я могу ждать внутри __await__ будущего?
- 4. Как я могу предсказать значения для будущего вместо известного столбца?
- 5. Как я могу сделать цель NSDate для ближайшего будущего матча?
- 6. Как я могу сделать мой код расширяемым для будущего использования
- 7. Как использовать Mallet для NER
- 8. Как я могу найти k-лучшие решения?
- 9. Пользовательское правило для SUTime не работает
- 10. Как я могу инструктировать Eclipse для поиска моего файла AndroidManifest.xml в другой папке?
- 11. Как я могу инструктировать Perforce для слияния вместо перезаписывания или возврата при удалении файла?
- 12. Как я могу инструктировать SQLAlchemy для создания таблиц SQLite FTS3 в create_all()?
- 13. Как я могу сортировать функцию решения (MATLAB)?
- 14. Как я могу показать запись с ближайшей датой будущего?
- 15. Как я могу узнать о шаге решения?
- 16. java - Как я могу получить трассировку стека будущего в TimeoutException
- 17. Почему Stanford CoreNLP NER-аннотатор загружает 3 модели по умолчанию?
- 18. Обучение модели NER для анализа временных и локальных выражений
- 19. Какая разница для будущего и будущего?
- 20. Как я могу использовать Симс для решения N различных переменных
- 21. Как я могу использовать регулярное выражение для решения этой проблемы?
- 22. Как я могу вернуть свои решения для разрешения конфликтов?
- 23. Как я могу использовать javascript для решения этого уравнения?
- 24. Как я могу использовать Math.pow() для решения проблемы усугубления интереса?
- 25. Как я могу использовать макет решения для моего приложения WinForms?
- 26. Как я могу сделать приведение для решения явной необходимости преобразования?
- 27. Как я могу получить Webpack для решения моего загрузчика
- 28. Как я могу исправить свою функцию, предназначенную для решения детерминант?
- 29. Как я могу получить счетчик для решения судоку? (Питон)
- 30. завершение будущего в течение будущего будущего