Esempio n. 1
0
        public void checkTweetRating(List <Tweet> tweets)
        {
            AnalyisContainer analyisContainer = new AnalyisContainer();

            foreach (Tweet tweet in tweets)
            {
                float  rating         = 0f;
                string expectedRating = getExpectedRating(tweet.testRating);
                string actualRating   = getActualRating(tweet.positiveRating, tweet.negativeRating, ref rating);

                analyseResult(expectedRating, actualRating, ref analyisContainer);

                printAnalysisInfo(tweet, expectedRating, actualRating, rating);
            }
            int   correctTotal      = analyisContainer.correctPositive + analyisContainer.correctNegative + analyisContainer.correctNeutral;
            float correctPercentage = ((float)correctTotal) / tweets.Count * 100;

            int   totalPositive           = tweets.Count(t => t.testRating == 4f);
            float totalPositivePercentage = ((float)analyisContainer.correctPositive) / totalPositive * 100;

            int   totalNegative           = tweets.Count(t => t.testRating == 0f);
            float totalNegativePercentage = ((float)analyisContainer.correctNegative) / totalNegative * 100;

            int   totalNeutral           = tweets.Count(t => t.testRating == 2f);
            float totalNeutralPercentage = ((float)analyisContainer.correctNeutral) / totalNeutral * 100;

            Console.WriteLine("######################################################################");
            Console.WriteLine($"{correctTotal} of {tweets.Count} ({correctPercentage}%) correct.");
            Console.WriteLine($"Positive: {analyisContainer.correctPositive} of {totalPositive} ({totalPositivePercentage}%)");
            Console.WriteLine($"Negative: {analyisContainer.correctNegative} of {totalNegative} ({totalNegativePercentage}%)");
            Console.WriteLine($"Neutral: {analyisContainer.correctNeutral} of {totalNeutral} ({totalNeutralPercentage}%)");
            Console.WriteLine($"False positives: {analyisContainer.falsePositive}");
            Console.WriteLine($"\t- should be negative: {analyisContainer.shouldNegativeButIsPositive}");
            Console.WriteLine($"\t- should be neutral: {analyisContainer.shouldNeutralButIsPositive}");
            Console.WriteLine($"False negatives: {analyisContainer.falseNegative}");
            Console.WriteLine($"\t- should be positive: {analyisContainer.shouldPositiveButIsNegative}");
            Console.WriteLine($"\t- should be neutral: {analyisContainer.shouldNeutralButIsNegative}");
            Console.WriteLine($"False neutrals: {analyisContainer.falseNeutral}");
            Console.WriteLine($"\t- should be positive: {analyisContainer.shouldPositiveButIsNeutral}");
            Console.WriteLine($"\t- should be negative: {analyisContainer.shouldNegativeButIsNeutral}");
            Console.WriteLine($"Indecisive: {analyisContainer.indecisive}");
            Console.WriteLine($"\t- should be positive: {analyisContainer.shouldPositiveButIsEqual}");
            Console.WriteLine($"\t- should be negative: {analyisContainer.shouldNegativeButIsEqual}");
            Console.WriteLine($"\t- should be neutral: {analyisContainer.shouldNeutralButIsEqual}");
            Console.WriteLine("######################################################################");
        }
Esempio n. 2
0
 private void analyseResult(string expectedRating, string actualRating, ref AnalyisContainer analyisContainer)
 {
     if (expectedRating == actualRating)
     {
         if (actualRating == Positive)
         {
             analyisContainer.correctPositive++;
         }
         else if (actualRating == Negative)
         {
             analyisContainer.correctNegative++;
         }
         else
         {
             analyisContainer.correctNeutral++;
         }
     }
     else if (actualRating == Positive)
     {
         analyisContainer.falsePositive++;
         if (expectedRating == Negative)
         {
             analyisContainer.shouldNegativeButIsPositive++;
         }
         else if (expectedRating == Neutral)
         {
             analyisContainer.shouldNeutralButIsPositive++;
         }
     }
     else if (actualRating == Negative)
     {
         analyisContainer.falseNegative++;
         if (expectedRating == Positive)
         {
             analyisContainer.shouldPositiveButIsNegative++;
         }
         else if (expectedRating == Positive)
         {
             analyisContainer.shouldPositiveButIsNegative++;
         }
     }
     else if (actualRating == Neutral)
     {
         analyisContainer.falseNeutral++;
         if (expectedRating == Positive)
         {
             analyisContainer.shouldPositiveButIsNeutral++;
         }
         else if (expectedRating == Negative)
         {
             analyisContainer.shouldNegativeButIsNeutral++;
         }
     }
     else if (actualRating == Equal)
     {
         analyisContainer.indecisive++;
         if (expectedRating == Positive)
         {
             analyisContainer.shouldPositiveButIsEqual++;
         }
         else if (expectedRating == Negative)
         {
             analyisContainer.shouldNegativeButIsEqual++;
         }
         else
         {
             analyisContainer.shouldNeutralButIsEqual++;
         }
     }
 }