/// <exception cref="System.Exception"/> public virtual Document MakeDocument(InputDoc input) { IList <IList <Mention> > mentions = new List <IList <Mention> >(); if (CorefProperties.UseGoldMentions(props)) { IList <ICoreMap> sentences = input.annotation.Get(typeof(CoreAnnotations.SentencesAnnotation)); for (int i = 0; i < sentences.Count; i++) { ICoreMap sentence = sentences[i]; IList <CoreLabel> sentenceWords = sentence.Get(typeof(CoreAnnotations.TokensAnnotation)); IList <Mention> sentenceMentions = new List <Mention>(); mentions.Add(sentenceMentions); foreach (Mention g in input.goldMentions[i]) { sentenceMentions.Add(new Mention(-1, g.startIndex, g.endIndex, sentenceWords, null, null, new List <CoreLabel>(sentenceWords.SubList(g.startIndex, g.endIndex)))); } md.FindHead(sentence, sentenceMentions); } } else { foreach (ICoreMap sentence in input.annotation.Get(typeof(CoreAnnotations.SentencesAnnotation))) { mentions.Add(sentence.Get(typeof(CorefCoreAnnotations.CorefMentionsAnnotation))); } } Document doc = new Document(input, mentions); if (input.goldMentions != null) { FindGoldMentionHeads(doc); } DocumentPreprocessor.Preprocess(doc, dict, null, headFinder); return(doc); }