public void ProblemP_DeterminePBucket()
        {
            Problem1Model problemP = new Problem1Model(Result);

            problemP.DeterminePBucket("the", "dog", "is").Should().Be(Problem1Model.PBucket.P1);
            problemP.DeterminePBucket("dog", "dog", "is").Should().Be(Problem1Model.PBucket.P2);
            problemP.DeterminePBucket("the", "the", "the").Should().Be(Problem1Model.PBucket.P3);
            problemP.DeterminePBucket("the", "dog", "dog").Should().Be(Problem1Model.PBucket.P3);
        }
Esempio n. 2
0
        private static double CalculateProblem1ModelPerplexityOnTestCorpus(CorpusParsingResult trainingCorpus, ReadCorpusResult evaluatingCorpus, bool development)
        {
            Console.WriteLine("Calculating Perplexity after training on {0}", trainingCorpus.CorpusName);
            Console.WriteLine("Calculating perplexity for {0}", evaluatingCorpus.CorpusName);

            Console.WriteLine("{0}\tProblem", evaluatingCorpus.CorpusName.ToString());

            ILanguageModel model = new Problem1Model(trainingCorpus);
            Console.WriteLine("{0}\tModel", model.GetModelName());
            StringParsingResult testCorpus = CorpusParsing.ParseString(development ? evaluatingCorpus.Development : evaluatingCorpus.Evaluation);
            double perplexity = CalculatePerplexityWrapper(model, trainingCorpus, testCorpus);

            Console.WriteLine("============================================================");

            return perplexity;
        }
 public void Problem1Model_WellDefinedProbability()
 {
     ILanguageModel problem1Model = new Problem1Model(_twoDogSentencesCorpus);
     TestWellDefinedProbability(problem1Model, false);
 }