Как использовать инструмент Heideltime в коде Java
Я хочу использовать инструмент heideltime в своем java-коде, поэтому я скачал heideltime-standalone и импортировал файл de.unihd.dbs.heideltime.standalone.jar, а также stanford-postagger.jar.
вот код:
String textFile ="مدى اسبوع";
HeidelTimeStandalone H = new HeidelTimeStandalone(Language.ARABIC,
DocumentType.NEWS,
OutputType.TIMEML,
"/heideltime-standalone/config.props",
POSTagger.STANFORDPOSTAGGER,true);
String result = H.process(textFile,resultFormatter );
System.out.print(result);
и вот вывод:
mai 01, 2016 5:09:54 PM de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone initialize
INFOS: HeidelTimeStandalone initialized with language arabic
mai 01, 2016 5:09:54 PM de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone readConfigFile
INFOS: trying to read in file /heideltime-standalone/config.props
May 01, 2016 5:09:56 PM de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone initialize
INFO: HeidelTime initialized
May 01, 2016 5:09:56 PM de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone initialize
INFO: JCas factory initialized
May 01, 2016 5:09:56 PM de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone process
INFO: Processing started
de.unihd.dbs.heideltime.standalone.exceptions.DocumentCreationTimeMissingException
at de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone.provideDocumentCreationTime(HeidelTimeStandalone.java:304)
at de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone.process(HeidelTimeStandalone.java:493)
at de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone.process(HeidelTimeStandalone.java:427)
at Arabic_Parser.main(Arabic_Parser.java:54)
May 01, 2016 5:09:56 PM de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone process
WARNING: Processing aborted due to errors
May 01, 2016 5:09:56 PM de.unihd.dbs.heideltime.standalone.HeidelTimeStandalone process
INFO: Result formatted
<?xml version="1.0"?>
<!DOCTYPE TimeML SYSTEM "TimeML.dtd">
<TimeML>
مدى اسبوع
</TimeML>
как вы видите, обработка прервана из-за ошибок, пожалуйста, помогите мне исправить ошибки
1 ответ
HeidelTime - та функция, которую вы вызываете
String result = H.process(textFile,resultFormatter );
говорит в своем комментарии к документу:
/**
* Processes document with HeidelTime
*
* @param document
* @return Annotated document
* @throws DocumentCreationTimeMissingException
* If document creation time is missing when processing a
* document of type {@link DocumentType#NEWS}. Use
* {@link #process(String, Date)} instead to provide document
* creation time!
*/
public String process(String document, ResultFormatter resultFormatter)
throws DocumentCreationTimeMissingException {
Если вы хотите вызвать это с помощью NEWS, вам нужно будет указать и время, как дополнительный параметр между документом и средством форматирования результата.