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())));
        }
Esempio n. 2
0
 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()
     });
 }
Esempio n. 3
0
        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);
        }