private static List<SentenceErrors> _getErrors(ComparisonResult result, int i) { return result.SimpleSentenceStats.SelectMany(stats => _getErrors(stats, i)) .Concat(_getUnmappedWords(result.TargetSentence, i)) .Select(errors => { errors.Sentence = result.SampleSantence; return errors; }) .ToList(); }
private static ComparisonResult _correctErrors(ComparisonResult result, IEnumerable<ClasterizedSentenceError> clasterizedSentenceErrors, int correctionClass) { var res = new ComparisonResult { SampleSantence = result.SampleSantence, TargetSentence = result.TargetSentence, SimpleSentenceStats = result.SimpleSentenceStats.Select(stats => _correctErrors(stats, clasterizedSentenceErrors.ToList(), correctionClass)).ToList(), SimpleSentecesComparison = result.SimpleSentecesComparison }; return res; }
private void _write(ComparisonResult comparisonResult) { comparisonResult.SimpleSentenceStats.Select((stats, i) => new {I = i, Stats = stats}) .ForEach( stats => { var sentence = comparisonResult.SampleSantence.SimpleSentences.Count > stats.I ? comparisonResult.SampleSantence.SimpleSentences[stats.I] : comparisonResult.TargetSentence.SimpleSentences[stats.I]; var samepleSSId = comparisonResult.SampleSantence.SimpleSentences.Count > stats.I ? comparisonResult.SampleSantence.SimpleSentences[stats.I].Id : (int?) null; var targetSSId = comparisonResult.TargetSentence.SimpleSentences.Count> stats.I ? comparisonResult.TargetSentence.SimpleSentences[stats.I].Id : (int?) null; _writeSimpleSentenceStats(stats.Stats, sentence, comparisonResult.SampleSantence.Id, samepleSSId, targetSSId); }); }
private void _writeSs(ComparisonResult comparisonResult) { _writeSimpleSentenceComparisonResult(comparisonResult.SimpleSentecesComparison, comparisonResult.SampleSantence); }