25 lines
858 B
Python
Executable File
25 lines
858 B
Python
Executable File
#!/usr/bin/env python3
|
|
import sys
|
|
import pickle
|
|
from tokenize import tokenize
|
|
import math
|
|
model = pickle.load(open('model.pkl', 'rb', ))
|
|
pskeptic, vocabulary_size, skeptic_words_total, paranormal_words_total, skeptics_count, paranormal_count = model
|
|
for line in sys.stdin:
|
|
document = line.rstrip()
|
|
terms = tokenize(document)
|
|
log_prob_skeptic = math.log(pskeptic)
|
|
log_prob_paranormal = math.log(1-pskeptic)
|
|
|
|
for term in terms:
|
|
if term not in skeptics_count:
|
|
skeptics_count[term]=0
|
|
if term not in paranormal_count:
|
|
paranormal_count[term]=0
|
|
log_prob_skeptic += math.log((skeptics_count[term] +1)/(skeptic_words_total + vocabulary_size))
|
|
log_prob_paranormal += math.log((paranormal_count[term] +1)/(paranormal_words_total + vocabulary_size))
|
|
if log_prob_skeptic > log_prob_paranormal:
|
|
print("S")
|
|
else:
|
|
print("P")
|