public static ProcessedEntity Classify(this StanfordCoreNLP nlp, string source) { CoreDocument document = new CoreDocument(source); nlp.annotate(document); return(document.sentences() .toArray() .OfType <CoreSentence>() .Select(s => new ParsedSentence(s)) .Aggregate(new ProcessedEntity(), (r, s) => ProcessedEntity.Union(r, s.ToProcessedEntity()))); }
public static ProcessedEntity Union(ProcessedEntity a, ProcessedEntity b) { return(new ProcessedEntity { Text = a.Text.Union(b.Text).ToArray(), Reference = a.Reference.Union(b.Reference).ToArray(), ParentReference = a.ParentReference.Union(b.ParentReference).ToArray(), Entities = a.Entities.Union(b.Entities).ToArray(), Triples = a.Triples.Union(b.Triples).ToArray(), Children = a.Children.Union(b.Children).ToList(), Dates = a.Dates.Union(b.Dates).ToArray() }); }
private static string SaveToJsonFile(DirectoryInfo output, Series series, ProcessedEntity entity) { var path = Path.GetFullPath(Path.Combine(output.FullName, Path.ChangeExtension(series.File, "json"))); using (var fs = File.Open(path, FileMode.Create, FileAccess.Write, FileShare.None)) using (var sw = new StreamWriter(fs)) using (var jw = new JsonTextWriter(sw)) { Serializer.Serialize(jw, entity); } return(path); }