コード例 #1
0
        public virtual void Annotate(Annotation ann)
        {
            Document document;

            try
            {
                document = docMaker.MakeDocument(ann);
            }
            catch (Exception e)
            {
                throw new Exception("Error making document", e);
            }
            CorefUtils.CheckForInterrupt();
            corefAlgorithm.RunCoref(document);
            if (removeSingletonClusters)
            {
                CorefUtils.RemoveSingletonClusters(document);
            }
            CorefUtils.CheckForInterrupt();
            IDictionary <int, CorefChain> result = Generics.NewHashMap();

            foreach (CorefCluster c in document.corefClusters.Values)
            {
                result[c.clusterID] = new CorefChain(c, document.positions);
            }
            ann.Set(typeof(CorefCoreAnnotations.CorefChainAnnotation), result);
        }
コード例 #2
0
 /// <summary>main entry of coreference system.</summary>
 /// <param name="anno">Input annotation.</param>
 /// <returns>Map of coref chain ID and corresponding chain</returns>
 /// <exception cref="System.Exception"/>
 public virtual IDictionary <int, CorefChain> Coref(Annotation anno)
 {
     return(Coref(docMaker.MakeDocument(anno)));
 }