Я пытаюсь ввести собственные упоминания о сущностях из модели обнаружения внешних упоминаний в трубопровод CoreNLP для аннотации coreference (аннотаторы coref
и dcoref
). Как я могу установить аннотации упоминаний / упоминаний для каждого документа при чтении документов?
Можно ли использовать читатель (например, для формата CoNLL2011) или способ добавить аннотацию упоминания вручную? Каждый документ доступен в формате токенов с упоминанием аннотации:
{
"doc_key": "oneofmydocuments",
"sentences": [["I", "need", "to", "manually", "input", "this", "to",
"CoreNLP, "."], ["Any", "help", "is", "highly", "appreciated", "."]],
"mentions": [[0,0], [5,5], [7,7]]
}
Этот формат может быть преобразован в CoNLL2011 формат .
В настоящее время я знаю только, каквведите необработанные документы в виде строк в конвейер CoreNLP:
public static void main(String[] args){
Properties props = new Properties();
props.setProperty("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref");
props.setProperty("sievePasses", "MarkRole, DiscourseMatch, RelaxedHeadMatch, PronounMatch");
props.setProperty("dcoref.postprocessing", "true");
props.setProperty("dcoref.replicate.conll", "false");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
// How to replace this with a CoreDocument with pre-annotated mentions?
String text = "My document";
CoreDocument doc = new CoreDocument(text);
pipeline.annotate(doc);
//...write to file
}
Спасибо за любые советы о том, как вводить токенизированные документы и упоминать аннотации в конвейер CoreNLP, а также о том, как читать и записывать формат CoNLL2011 с использованием CoreNLP.