public double GetReadingLevelConfidence(ReadingLevel targetReadingLevel, ReadingLevel existingReadingLevel)
        {
            var fleschKincaidReadingEaseScore = getMatchConfidence(targetReadingLevel.FleschKincaidReadingEase, existingReadingLevel.FleschKincaidReadingEase, 100.0);
            var fleschKincaidGradeLevelScore  = getMatchConfidence(targetReadingLevel.FleschKincaidGradeLevel, existingReadingLevel.FleschKincaidGradeLevel, 12.0);
            var gunningFogScore           = getMatchConfidence(targetReadingLevel.GunningFogScore, existingReadingLevel.GunningFogScore, 18.0);
            var colemanLiauIndex          = getMatchConfidence(targetReadingLevel.ColemanLiauIndex, existingReadingLevel.ColemanLiauIndex, 18.0);
            var sMOGIndex                 = getMatchConfidence(targetReadingLevel.SMOGIndex, existingReadingLevel.SMOGIndex, 18.0);
            var automatedReadabilityIndex = getMatchConfidence(targetReadingLevel.AutomatedReadabilityIndex, existingReadingLevel.AutomatedReadabilityIndex, 14.0);

            var sum = fleschKincaidReadingEaseScore + fleschKincaidGradeLevelScore + gunningFogScore + colemanLiauIndex + sMOGIndex + automatedReadabilityIndex;

            return(sum / 6.0);
        }
Example #2
0
        public ReadingLevel GetReadingLevel(List <AnalyzedChat> responses)
        {
            var conversationText = GetConversationText(responses);
            var textStatistics   = TextStatistics.Net.TextStatistics.Parse(conversationText);

            var readingLevel = new ReadingLevel();

            readingLevel.FleschKincaidReadingEase = textStatistics.FleschKincaidReadingEase();
            readingLevel.FleschKincaidGradeLevel  = textStatistics.FleschKincaidGradeLevel();
            readingLevel.GunningFogScore          = textStatistics.GunningFogScore();
            readingLevel.ColemanLiauIndex         = textStatistics.ColemanLiauIndex();
            readingLevel.SMOGIndex = textStatistics.SMOGIndex();
            readingLevel.AutomatedReadabilityIndex = textStatistics.AutomatedReadabilityIndex();

            return(readingLevel);
        }