2011-12-30 10 views
0

私は、Ian Barbers Naive Bayes分析クラスを使用して、学校プロジェクトの文のセンチメントを分析しています。自分のポジティブなニュートラルとネガティブのデータセットを作成しました。私の問題は、中立性をどのように実装し、それらを見つけるためのクラスを得るかについての手がかりがないことです。下記のリンクは、私はまあOpinionクラスがすでに新しい「感情クラス」を追加するためにかなり柔軟ですNaive Bayes Neutralsを特定するPHP

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

答えて

2

を使用していますPHPのクラスです。ただ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

それは感謝しました! –

関連する問題