Наивный байесовский идентификация нейтральных PHP - PullRequest
0 голосов
/ 30 декабря 2011

Я использую класс наивного байесовского анализа Яна Барберса для анализа настроения предложений для школьного проекта.Я создал свои собственные наборы позитивных нейтральных и негативных данных.Моя проблема в том, что я понятия не имею, как реализовать нейтральные элементы и заставить класс их найти.Ссылка ниже для класса php, который я использую

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

1 Ответ

2 голосов
/ 30 декабря 2011

Что ж, класс 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...