#!/usr/bin/env python

"""Compute VSPS sentiment scores; store in the database."""

import extract
import score
import publish

scorer = score.SentimentScorer.from_vaccine_phrases()
results = [(_id, scorer.get_document_score(text, normalize=False))
           for (_id, text) in extract.extract_text()]
publish.publish_sentiment('vsps', results)

print 'published %d results' % len(results)

#!/usr/bin/env python

# Andrew Whitaker

"""Compute sentiment scores using logistic regression; store in the database."""

import sys

# Hack: append common/ to sys.path
sys.path.append("../common")

import extract
import publish
from scikit_scorer import *
from insert_dict import *
import numpy as np

scorer = ScikitScorer(create_logistic_regression_classifier())
results = []
for i, (tweet_id, text) in enumerate(extract.extract_text('tweets_2014')):
    score = np.asscalar(scorer.get_document_score(text))
    results.append((tweet_id, score))
    if (i % 1000) == 0:
        print "%d" % i

publish.publish_sentiment('logistic', results)

print 'published %d results' % len(results)
#!/usr/bin/env python

"""Compute naive bayes sentiment scores; store in the database."""

import extract
import publish
from scikit_scorer import *
import numpy as np

scorer = ScikitScorer(create_naive_bayes_classifier())
results = []
for i, (_id, text) in enumerate(extract.extract_text()):
    score = np.asscalar(scorer.get_document_score(text))
    results.append((_id, score))
    if (i % 1000) == 0:
        print "%d" % i

publish.publish_sentiment('naivebayes', results)

print 'published %d results' % len(results)
#!/usr/bin/env python

"""Compute afinn111 sentiment scores; store in the database."""

import extract
import score
import publish

scorer = score.SentimentScorer.from_afinn_111()
results = [(_id, scorer.get_document_score(text, normalize=False))
           for (_id, text) in extract.extract_text()]
# Revised == without the "flu" keyword
publish.publish_sentiment('afinn111_revised', results)

print 'published %d results' % len(results)