Example #1
0
        private static ErrorType _getErrorType(ClasterizedSentenceError error)
        {
            if (error.SampleWordsCount == 0)
                return ErrorType.SurplusLinguisticObject;
            if (error.DetectedWordsCount == 0)
                return ErrorType.MissedLinguisticObject;

            return ErrorType.DetectionDefect;
        }
Example #2
0
        private static LinguisticObject _correctErrors(LinguisticObject linguisticObject, ClasterizedSentenceError error, int correctionClass)
        {
            if (error.ErrorClass > correctionClass) return linguisticObject;

            return new LinguisticObject
            {
                MappedObjects = linguisticObject.MappedObjects,
                WasEmulated = true,
                Metrics = _getCorrectedMetrics(linguisticObject.Metrics)
            };
        }
Example #3
0
        private static bool _isMatch(ClasterizedSentenceError error, LinguisticObjectDetectionMetrics metrics)
        {
            if (error.DetectedWordsCount != metrics.TargetWordsCount ||
                error.SampleWordsCount != metrics.SampleWordsCount || error.ErrorType != metrics.Type)
            {
                return false;
            }

            var metricsSampleWords = Enumerable.Zip(metrics.SampleWords, metrics.SampleWordIndexes,
                (s, i) => String.Format("{0} ({1})", s, i)).ToList();

            var metricsDetectedWords = Enumerable.Zip(metrics.TargetWords, metrics.TargetWordIndexes,
                (s, i) => String.Format("{0} ({1})", s, i)).ToList();

            return !metricsSampleWords.Except(error.SampleWords).Any() &&
                   !metricsDetectedWords.Except(error.DetectedWords).Any() &&
                   !error.SampleWords.Except(metricsSampleWords).Any() &&
                   !error.DetectedWords.Except(metricsDetectedWords).Any();
        }