/// <summary> /// Отримання даних для побудови карти тексту /// </summary> /// <param name="words"></param> /// <returns></returns> private List <WordForms> GetMapInfo(IEnumerable <string> words) { using (var context = new mph_uaContext()) { var list = context.WordList.Include(x => x.Nom) .Where(x => Constant.NounTypes.Contains((int)x.Nom.Part) && words.Contains(x.Word)) .Select(x => new ReestrWord() { Reestr = x.Nom.Reestr, Word = x.Word }) .ToList(); var listCopy = new List <ReestrWord>(list); listCopy.ForEach(x => { var wordCount = words.Where(y => x.Word.Equals(y)).Count(); while (list.Where(y => y.Reestr.Equals(x.Reestr)).Count() < wordCount) { if (wordCount > 1) { list.Add(x); } else { break; } } }); var groupedList = list.GroupBy(x => x.Reestr); return(groupedList.Select(x => new WordForms(x)).OrderByDescending(x => x.Words.Count).Take(5).ToList()); } }
/// <summary> /// Оримання списку значимих слів /// </summary> /// <param name="words"></param> /// <returns></returns> private List <string> GetSignificantList(IEnumerable <string> words) { using (var context = new mph_uaContext()) { var list = context.WordList.Include(x => x.Nom).Where(x => Constant.NounTypes.Contains((int)x.Nom.Part) && words.Contains(x.Word)).Select(x => x.Nom.Reestr); return(list.ToList()); } }
public SemanticController(mph_uaContext context) { _logic = new AnalysisLogic(context); }
public AnalysisLogic(mph_uaContext context) { _context = context; }