Ejemplo n.º 1
0
 private IClassifier CreateClassifier()
 {
     var classifiers = new List<IClassifier>();
     if (this.naiveBayesCheckBox.Checked)
         classifiers.Add(new NaiveBayesClassifier(this.stopWords));
     if (this.wordLengthCheckBox.Checked)
         classifiers.Add(new AverageWordLengthClassifier());
     if (this.sentenceLengthCheckBox.Checked)
         classifiers.Add(new SentenceLengthClassifier());
     if (this.questionMarkCheckBox.Checked)
         classifiers.Add(new PunctuationClassifier('?', PunctuationClassifier.PerSentence));
     if (this.exclamationMarkCheckBox.Checked)
         classifiers.Add(new PunctuationClassifier('!', PunctuationClassifier.PerSentence));
     if (this.apostropheCheckBox.Checked)
         classifiers.Add(new PunctuationClassifier('\'', PunctuationClassifier.PerWord));
     if (classifiers.Count == 1)
         return classifiers.First();
     else
     {
         var boostingClassifier = new BoostingClassifier();
         foreach (var subclassifier in classifiers)
             boostingClassifier.Add(subclassifier);
         return boostingClassifier;
     }
 }
Ejemplo n.º 2
0
        public MainForm()
        {
            InitializeComponent();

            this.stopWords = Regex.Split(Stopwords.StopWords, @"\r\n");

            var classifier = new BoostingClassifier();
            classifier.Add(new NaiveBayesClassifier(stopWords));
            classifier.Add(new SentenceLengthClassifier());
            classifier.Add(new AverageWordLengthClassifier());
            classifier.Add(new PunctuationClassifier('\'', PunctuationClassifier.PerWord));
            classifier.Add(new PunctuationClassifier('?', PunctuationClassifier.PerSentence));
            classifier.Add(new PunctuationClassifier('!', PunctuationClassifier.PerSentence));

            this.classifier = classifier;
        }