Я пытался использовать функциональность «SUTime» из core-nlp. Если я попытаюсь использовать это из онлайн-демонстрации для «sampleInput»,
From next month, we will have meeting on every friday, from 3:00 pm to 4:00 pm.”
что приводит к (с датой отсчета: 2017-1-1):
<TIMEX3 range="(2017-02-01,2017-02-28,P1M)" tid="t1" type="DATE" value="2017-02">next month</TIMEX3>
Но когда я пытаюсь запустить тот же ввод через SUTime API, это приводит к (особенно: «Временное значение»)
<Token text="next month" Temporal Value="THIS P1M OFFSET P1M" Timex="null" Timex type="DATE" Start offset="5" End Offset="15" />
Ниже приведен код:
List<CoreMap> timexAnnsAll = document.get(TimeAnnotations.TimexAnnotations.class);
for (CoreMap cm : timexAnnsAll) {
try {
List<CoreLabel> tokens = cm.get(CoreAnnotations.TokensAnnotation.class);
Temporal temporal = cm.get(TimeExpression.Annotation.class).getTemporal();
System.out.println("Token text : " + cm.toString());
System.out.println("Temporal Value : " + temporal.toString());
System.out.println("Timex : " + temporal.getTimexValue());
System.out.println("Timex type : " + temporal.getTimexType().name());