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); }
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); }