Как использовать предварительно определенные упоминания сущностей в CoreNLP Coreference и dcoref annotators? - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь ввести собственные упоминания о сущностях из модели обнаружения внешних упоминаний в трубопровод 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.

...