2011-12-30 4 views
0

Я использую класс анализа Ian Barbers Naive Bayes для анализа настроений предложений для школьного проекта. Я создал свои собственные наборы положительных нейтральных и негативных. Моя проблема заключается в том, что я не знаю, как реализовать нейтралитет и получить класс, чтобы найти их. Ссылка ниже для класса PHP Я используетNaive Bayes Идентификация Нейтралов PHP

http://phpir.com/bayesian-opinion-mining

ответ

2

Ну Opinion класса уже довольно гибкий для добавления новых «настроение классов». Только метод classify выполнил вычисление «предшествующего» статического. Но его можно легко заменить на foreach:

private $classes = array('pos', 'neg', 'neutr'); 
private $classTokCounts = array('pos' => 0, 'neg' => 0, 'neutr' => 0); 
private $classDocCounts = array('pos' => 0, 'neg' => 0, 'neutr' => 0); 
private $prior = array('pos' => 1.0/3.0, 'neg' => 1.0/3.0, 'neutr' => 1.0/3.0); 

public function classify($document) { 
    // remove those: 
    //$this->prior['pos'] = $this->classDocCounts['pos']/$this->docCount; 
    //$this->prior['neg'] = $this->classDocCounts['neg']/$this->docCount; 
    // add this: 
    foreach($this->classes as $class) { 
     $this->prior[$class] = $this->classDocCounts[$class]/$this->docCount; 
    } 

    // the rest is fine 
+0

Это сработало спасибо! –

Смежные вопросы