public string Summarize(ITextRequest Request) { if (Request.NumberOfSentences == 0 && Request.StopWords == null) { return(_summarizer.Summarize(Request.Content)); } else if (Request.NumberOfSentences == 0) { return(_summarizer.Summarize(Request.Content, 5, Request.StopWords)); } else { return(_summarizer.Summarize(Request.Content, Request.NumberOfSentences, Request.StopWords)); } }
public IEnumerable <IStemmedWord> Stem(ITextRequest Request) { var sw = new Stopwatch(); var stems = new List <IStemmedWord>(); sw.Start(); Request.Content.Split(_models.DefaultDelimiters) .Where(x => !_models.DefaultStopWords.Contains(x) && !string.IsNullOrEmpty(x)) .ToList() .ForEach(x => { var stemmed = _stemmer.Stem(x); if (!stems.Contains(stemmed)) { stems.Add(stemmed); } }); sw.Stop(); _logger.LogInformation($"stemming algorithm took {sw.Elapsed.TotalMilliseconds * 1000} µs (microseconds)"); return(stems.AsEnumerable()); }