Example #1
0
 public SimpleSentenceStats()
 {
     Predicates = new LinguisticObjectsGroup();
     Subjects = new LinguisticObjectsGroup();
     Uniforms = new LinguisticObjectsGroup();
     MeaningAuxParts = new LinguisticObjectsGroup();
     ChainsFromSubjects = new LinkedObjectsChainGroup();
     ChainsFromPredicates = new LinkedObjectsChainGroup();
     ChainsFromMeaningParts = new LinkedObjectsChainGroup();
     WasEmulated = false;
 }
Example #2
0
 private static double _calculateAverage(LinkedObjectsChainGroup chainsFromMeaningParts,
     LinkedObjectsChainGroup chainsFromPredicates, LinkedObjectsChainGroup chainsFromSubjects)
 {
     return (chainsFromMeaningParts.AverageDetectionQuality + chainsFromPredicates.AverageDetectionQuality +
             chainsFromSubjects.AverageDetectionQuality) / 3d;
 }
Example #3
0
        private static void _calculateAverage(LinkedObjectsChainGroup chainsGroup)
        {
            if (!chainsGroup.Any())
            {
                chainsGroup.AverageDetectionQuality = 1d;
            }
            else
            {
                var detectedChains = chainsGroup.SelectMany(pair => pair.Value).Where(o => o.MappedObjects.TargetObjects != null || o.WasEmulated).ToList();

                chainsGroup.AverageDetectionQuality = _calculateAverage(detectedChains);
            }
        }
Example #4
0
 private static List<LinguisticObjectDetectionMetrics> _getErrorObjects(LinkedObjectsChainGroup linkedChain)
 {
     return _getErrorObjects(linkedChain.Values.SelectMany(list => list));
 }
Example #5
0
        private static LinkedObjectsChainGroup _correctErrorsInObjectsGroup(LinkedObjectsChainGroup chains, IEnumerable<ClasterizedSentenceError> errors, int correctionClass)
        {
            var result = new LinkedObjectsChainGroup
            {
                AverageDetectionQuality = chains.AverageDetectionQuality
            };

            chains.Keys.ForEach(key => result[key] = chains[key].Select(o => _correctErrorsInObject(o, errors, correctionClass)).ToList());

            result.WasEmulated = result.Any(pair => pair.Value.Any(o => o.WasEmulated));

            return result;
        }
Example #6
0
 private void _writeStatsForObjects(LinkedObjectsChainGroup chains)
 {
     XlHelper.WriteValue(chains.SelectMany(pair => pair.Value).Count());
     XlHelper.WriteValue(chains.AverageDetectionQuality,
         chains.WasEmulated ? Colors.EmulatedQuality : (Color?) null, XlsxHelper.PercentageFormat);
 }