diff --git a/dev-0/out.tsv b/dev-0/out.tsv index db236b5..7196f88 100644 --- a/dev-0/out.tsv +++ b/dev-0/out.tsv @@ -26,7 +26,7 @@ S P S - P + S S S P @@ -155,8 +155,8 @@ S S P - P S + P S S S @@ -165,7 +165,7 @@ S P S - P + S P S S @@ -200,10 +200,10 @@ P P S - S P P S + S P S P @@ -211,17 +211,14 @@ S P S - P S S - P S S S S S S - P S S P @@ -236,10 +233,13 @@ P S S + P + S S S S S + P S S S @@ -287,10 +287,10 @@ S S S + S P P P - S P P P @@ -310,7 +310,7 @@ P S P - P + S P P P @@ -369,7 +369,7 @@ S S S - P + S S S S @@ -410,7 +410,7 @@ P S S - P + S P S P @@ -492,7 +492,7 @@ S S S - P + S S S S @@ -533,7 +533,7 @@ S S S - P + S P P S @@ -565,8 +565,8 @@ P S P - P S + P S S S @@ -588,7 +588,7 @@ S S S - P + S S S S @@ -637,7 +637,7 @@ S S S - S + P S P P @@ -712,7 +712,7 @@ P S P - P + S P P S @@ -733,7 +733,7 @@ S S S - P + S P S S @@ -831,10 +831,10 @@ S P S - P S S - P + S + S P S S @@ -886,14 +886,14 @@ S P S - P + S S S P P S P - P + S S S P @@ -925,7 +925,7 @@ S P P - S + P S S P @@ -957,7 +957,7 @@ P S S - P + S S P S @@ -1044,7 +1044,7 @@ P S S - P + S S S S @@ -1101,14 +1101,14 @@ S S S - S + P S S P S S S - P + S S S S @@ -1125,12 +1125,12 @@ S S S - P + S S S S P - P + S P P S @@ -1252,7 +1252,7 @@ S S S - S + P S P P @@ -1261,7 +1261,7 @@ S P S - P + S S S S @@ -1428,7 +1428,7 @@ S P S - S + P S S S @@ -1464,7 +1464,7 @@ S S S - P + S S S S @@ -1514,7 +1514,7 @@ S S S - S + P S S S @@ -1575,7 +1575,7 @@ S S S - P + S P S P @@ -1601,14 +1601,14 @@ S S P - S + P S S S S P S - S + P P P P @@ -1652,7 +1652,7 @@ S S P - S + P P S S @@ -1715,7 +1715,7 @@ S P P - P + S P S S @@ -1788,7 +1788,7 @@ S S S - P + S S P S @@ -1809,13 +1809,13 @@ S S S - P S S S S S S + P S S S @@ -1862,7 +1862,7 @@ S S S - P + S S S P @@ -2014,19 +2014,19 @@ S P S - P + S S P S P S S - P + S S P S S - P + S S P S @@ -2102,7 +2102,7 @@ S S S - S + P S S S @@ -2152,7 +2152,7 @@ P S P - P + S P S P @@ -2222,7 +2222,7 @@ P S S - P + S S S P @@ -2300,7 +2300,7 @@ S S S - S + P P P P @@ -2337,7 +2337,7 @@ P S S - P + S P P S @@ -2366,7 +2366,7 @@ S P S - P + S S P S @@ -2376,7 +2376,7 @@ S S S - P + S S P S @@ -2423,7 +2423,7 @@ S S S - S + P P S S @@ -2431,7 +2431,7 @@ S S P - P + S S S S @@ -2473,7 +2473,7 @@ S S P - P + S P S S @@ -2498,12 +2498,12 @@ P S S - P S S S - P S + P + P S S S @@ -2596,7 +2596,7 @@ S P P - P + S P P P @@ -2617,7 +2617,7 @@ S S S - P + S S S S @@ -2646,7 +2646,7 @@ S S S - S + P S S S @@ -2704,7 +2704,7 @@ P S S - S + P S S S @@ -2717,7 +2717,7 @@ S S S - P + S S P S @@ -2741,7 +2741,7 @@ S S P - P + S S P S @@ -2891,7 +2891,7 @@ S S S - P + S S P S @@ -2921,7 +2921,7 @@ S S S - P + S P S P @@ -2953,7 +2953,7 @@ P S P - S + P S S S @@ -2990,7 +2990,7 @@ S S S - S + P S P S @@ -3059,12 +3059,12 @@ S P S - P + S P S S S - P + S S S S @@ -3092,7 +3092,6 @@ S P S - P S S S @@ -3102,12 +3101,13 @@ S S S + P S P P S S - S + P P S P @@ -3150,7 +3150,7 @@ P S S - S + P S S S @@ -3252,7 +3252,7 @@ S S S - P + S S S P @@ -3281,13 +3281,13 @@ S P S - P - P + S P S S S S + S P P S @@ -3302,11 +3302,11 @@ P P S - P S S S - P + S + S S S S @@ -3372,7 +3372,7 @@ P P S - P + S P S P @@ -3410,7 +3410,7 @@ P S S - P + S S P S @@ -3459,7 +3459,7 @@ P P P - P + S P S S @@ -3469,12 +3469,12 @@ P P P - S + P P S P P - S + P S S S @@ -3485,13 +3485,12 @@ P P S - P S S S S S - P + S P S S @@ -3502,6 +3501,7 @@ S S S + S P S P @@ -3515,7 +3515,7 @@ S S P - P + S P S S @@ -3528,14 +3528,14 @@ S S P - P S - P S S S S - P + S + S + S S S P @@ -3634,7 +3634,7 @@ S S P - S + P S P S @@ -3666,7 +3666,7 @@ S S P - P + S S S S @@ -3687,7 +3687,7 @@ S P S - S + P S S S @@ -3773,7 +3773,7 @@ S P S - S + P S S S @@ -3826,7 +3826,7 @@ S P P - S + P P S S @@ -3839,7 +3839,6 @@ S S S - P S S S @@ -3851,6 +3850,7 @@ S S S + P S P S @@ -3879,7 +3879,7 @@ P P S - S + P S S S @@ -3894,8 +3894,8 @@ P S S - P - P + S + S S P S @@ -4003,7 +4003,7 @@ P S S - P + S P S S @@ -4015,7 +4015,7 @@ S P S - P + S S S S @@ -4035,15 +4035,15 @@ S S P - S + P S P S S S - P S - P + S + S S P P @@ -4117,7 +4117,7 @@ S S S - S + P S P S @@ -4125,10 +4125,10 @@ P P S + S P P S - S P P S @@ -4173,7 +4173,7 @@ S S S - P + S P P S @@ -4220,7 +4220,7 @@ S S S - P + S S P P @@ -4238,7 +4238,7 @@ S S S - S + P S P S @@ -4294,7 +4294,7 @@ S S S - P + S S S S @@ -4322,7 +4322,7 @@ S P S - P + S P S S @@ -4437,11 +4437,11 @@ S P P - P S S S - P + S + S S S P @@ -4462,7 +4462,7 @@ P S P - S + P S P S @@ -4503,7 +4503,7 @@ P S S - S + P P S S @@ -4585,7 +4585,7 @@ P S S - S + P P P S @@ -4599,7 +4599,7 @@ S P S - P + S S S S @@ -4658,8 +4658,8 @@ P S S - S - S + P + P S S S @@ -4721,7 +4721,7 @@ S S S - P + S S S S @@ -4732,7 +4732,7 @@ P P S - S + P S S S @@ -4748,7 +4748,7 @@ S S S - P + S P P S @@ -4827,12 +4827,12 @@ S S S - P S S S S - P + S + S P S P @@ -4846,7 +4846,7 @@ S P S - P + S S P P @@ -5002,7 +5002,7 @@ S S P - P + S S S P @@ -5022,7 +5022,7 @@ P P S - P + S S S S @@ -5117,7 +5117,7 @@ S S S - P + S S P S @@ -5155,7 +5155,7 @@ S S S - P + S S S P diff --git a/predict.py b/predict.py index a123ab0..f059f66 100755 --- a/predict.py +++ b/predict.py @@ -7,7 +7,7 @@ import sys import nltk from nltk.corpus import stopwords -def calc_post_class(post, paranormal_class_logprob, sceptic_class_logprob, bigrams_logprobs, words_logprobs): +def calc_post_class(post, paranormal_class_logprob, sceptic_class_logprob, bigrams_logprobs, words_logprobs, total_sceptic_bigram, total_paranormal_bigram, total_sceptic_word, total_paranormal_word): text, timestap = post.rstrip('\n').split('\t') tokens = clear_post(text) #tokens = text.lower().split(' ') @@ -22,11 +22,20 @@ def calc_post_class(post, paranormal_class_logprob, sceptic_class_logprob, bigra product += bigrams_logprobs[class_][bigram] except KeyError: product += 0 + # if class_ == 'sceptic': + # product += math.log(1/total_sceptic_bigram) + # elif class_ == 'paranormal': + # product += math.log(1/total_paranormal_bigram) for token in tokens: try: - product += words_logprobs[class_][token] + product += words_logprobs[class_][token]/7 except KeyError: - product += 0 + product +=0 + #if class_ == 'sceptic': + # product += math.log(1/total_sceptic_word) + #elif class_ == 'paranormal': + # product += math.log(1/total_paranormal_word) + if class_ == 'sceptic': product += sceptic_class_logprob elif class_ == 'paranormal': @@ -65,10 +74,17 @@ def main(): sceptic_class_logprob = pickle_list[1] bigrams_logprobs = pickle_list[2] words_logprobs = pickle_list[3] - + total_sceptic_bigram = pickle_list[4] + total_paranormal_bigram = pickle_list[5] + total_sceptic_word = pickle_list[6] + total_paranormal_word = pickle_list[7] + print(math.log(1/total_sceptic_bigram)) + print(math.log(1/total_paranormal_bigram)) + print(math.log(1/total_sceptic_word)) + print(math.log(1/total_paranormal_word)) with open(in_file) as in_f, open(out_file, 'w') as out_f: for line in in_f: - hyp = calc_post_class(line, paranormal_class_logprob, sceptic_class_logprob, bigrams_logprobs, words_logprobs) + hyp = calc_post_class(line, paranormal_class_logprob, sceptic_class_logprob, bigrams_logprobs, words_logprobs, total_sceptic_bigram, total_paranormal_bigram, total_sceptic_word, total_paranormal_word) if hyp == 'sceptic': out_f.write(' S\n') elif hyp == 'paranormal': diff --git a/test-A/out.tsv b/test-A/out.tsv index cbc4c5a..0cfa7db 100644 --- a/test-A/out.tsv +++ b/test-A/out.tsv @@ -14,7 +14,7 @@ P S S - S + P P S S @@ -64,7 +64,7 @@ S S S - P + S P S S @@ -100,7 +100,7 @@ P P S - S + P S S S @@ -108,7 +108,7 @@ P S S - P + S P S P @@ -161,7 +161,7 @@ S S P - S + P S P S @@ -254,7 +254,7 @@ S P P - P + S P S S @@ -263,7 +263,7 @@ S S P - S + P S S S @@ -316,14 +316,13 @@ S S S - P - P S P S P S P + S P P P @@ -336,6 +335,7 @@ S S S + S P S S @@ -438,7 +438,7 @@ S S P - P + S P S S @@ -505,7 +505,7 @@ S P S - P + S S P S @@ -558,7 +558,7 @@ S S P - P + S S S S @@ -674,7 +674,7 @@ S S S - P + S S S S @@ -759,7 +759,7 @@ S P S - P + S S S P @@ -827,7 +827,7 @@ P S P - P + S S P S @@ -858,7 +858,7 @@ P P S - S + P S P S @@ -871,7 +871,7 @@ S S S - P + S P S P @@ -879,7 +879,7 @@ S S P - P + S P S S @@ -959,7 +959,7 @@ S S S - S + P S S S @@ -1008,7 +1008,7 @@ P S P - P + S S S S @@ -1050,7 +1050,7 @@ P P S - P + S P S S @@ -1059,7 +1059,7 @@ S P S - P + S S P P @@ -1079,7 +1079,7 @@ P S P - S + P S P P @@ -1178,7 +1178,7 @@ P S P - P + S S S P @@ -1213,14 +1213,14 @@ S S S - P + S P S S P S S - P + S P P S @@ -1233,10 +1233,10 @@ P S P - P - P S + P S + P S S S @@ -1244,7 +1244,7 @@ S S P - P + S P S S @@ -1316,14 +1316,14 @@ S P S - S + P S S P S P P - P + S S S P @@ -1358,7 +1358,7 @@ S P S - S + P P S S @@ -1366,7 +1366,7 @@ S P S - S + P P S S @@ -1374,7 +1374,7 @@ S S S - P + S S S P @@ -1383,7 +1383,7 @@ P S S - S + P P S S @@ -1395,7 +1395,7 @@ S P P - S + P P S P @@ -1422,10 +1422,10 @@ S S P - S P P P + S P S S @@ -1443,7 +1443,7 @@ S S S - P + S S S P @@ -1459,7 +1459,7 @@ S P S - P + S S P S @@ -1573,7 +1573,7 @@ S S S - S + P S S P @@ -1582,7 +1582,7 @@ P S S - S + P S S S @@ -1660,7 +1660,7 @@ P S S - S + P S S P @@ -1804,7 +1804,7 @@ S S S - S + P P S S @@ -1841,7 +1841,7 @@ S S S - P + S P S S @@ -1894,10 +1894,9 @@ P S S - P S S - P + S P S S @@ -1907,6 +1906,7 @@ S S S + S P P S @@ -1916,13 +1916,13 @@ P P P - P - P S P S P S + S + S P P S @@ -2004,7 +2004,7 @@ P S S - P + S S S S @@ -2146,7 +2146,7 @@ S P S - P + S S S P @@ -2203,6 +2203,7 @@ P S S + P S S S @@ -2210,8 +2211,7 @@ S S S - S - S + P S P S @@ -2273,7 +2273,7 @@ S P S - S + P S S S @@ -2286,7 +2286,7 @@ S S S - P + S P S P @@ -2328,7 +2328,7 @@ S S S - P + S S S S @@ -2352,7 +2352,7 @@ S S P - S + P P P S @@ -2405,8 +2405,8 @@ P S S - P - P + S + S P S P @@ -2418,7 +2418,7 @@ S P S - P + S S P S @@ -2434,7 +2434,7 @@ S S S - P + S S S P @@ -2453,7 +2453,7 @@ S S S - P + S P S S @@ -2502,17 +2502,17 @@ S P S - P S S S - P S P S + P S S S + P S S P @@ -2603,7 +2603,7 @@ S P S - S + P S P P @@ -2632,12 +2632,12 @@ S S S - S + P S S P S - P + S S P S @@ -2662,7 +2662,7 @@ S S S - P + S S S S @@ -2700,7 +2700,7 @@ P S S - P + S S P S @@ -2800,7 +2800,7 @@ S S S - S + P P S S @@ -2872,7 +2872,7 @@ S P P - S + P S S S @@ -2917,7 +2917,7 @@ S P S - P + S S S P @@ -2927,7 +2927,7 @@ S S P - P + S S P S @@ -2937,7 +2937,7 @@ S S S - P + S S P S @@ -2952,13 +2952,13 @@ S P S - S + P S S S S P - S + P S S P @@ -3077,7 +3077,7 @@ S S S - P + S P P S @@ -3096,7 +3096,7 @@ S S S - S + P S S P @@ -3112,7 +3112,7 @@ S S P - P + S P P S @@ -3121,14 +3121,14 @@ S S S - P + S P P S S S S - P + S P S S @@ -3137,7 +3137,7 @@ S P P - P + S S S P @@ -3218,7 +3218,7 @@ S S S - S + P S P S @@ -3242,7 +3242,7 @@ S P S - P + S P S S @@ -3258,7 +3258,7 @@ P S S - P + S S P S @@ -3327,13 +3327,13 @@ S S S - S + P S S S P S - S + P S S S @@ -3419,7 +3419,7 @@ S P S - P + S P P S @@ -3490,7 +3490,7 @@ P S S - P + S S S P @@ -3525,7 +3525,7 @@ S S P - S + P S S P @@ -3538,16 +3538,16 @@ S S S - P + S S S P S S P + S P P - S P S S @@ -3594,7 +3594,7 @@ S P S - S + P P S S @@ -3625,7 +3625,7 @@ S S S - P + S S S P @@ -3649,7 +3649,7 @@ S S S - S + P S S S @@ -3685,7 +3685,7 @@ S P P - P + S S S S @@ -3715,7 +3715,7 @@ S S S - P + S S S S @@ -3723,7 +3723,7 @@ S P P - P + S S P S @@ -3793,7 +3793,7 @@ P S S - P + S S S S @@ -3850,7 +3850,7 @@ S S S - S + P S S S @@ -3909,7 +3909,7 @@ S S S - S + P S S S @@ -3923,7 +3923,6 @@ S S S - P S S S @@ -3934,7 +3933,8 @@ S S S - P + S + S S P S @@ -4087,13 +4087,13 @@ S S S - S + P S P S S - P - P + S + S S S P @@ -4118,7 +4118,7 @@ S S S - P + S S S S @@ -4158,7 +4158,7 @@ S S S - S + P S S P @@ -4233,7 +4233,7 @@ S P S - S + P S P S @@ -4245,7 +4245,7 @@ S P S - S + P S P S @@ -4317,7 +4317,7 @@ S S P - P + S S P S @@ -4381,7 +4381,7 @@ S S S - P + S S S P @@ -4491,7 +4491,7 @@ S S S - P + S P S S @@ -4519,7 +4519,7 @@ S S P - P + S S S S @@ -4547,7 +4547,7 @@ S S S - P + S S S S @@ -4573,7 +4573,7 @@ P S S - P + S P S S @@ -4643,21 +4643,21 @@ S S S - P S S S S S S - P + S + S S S S S P P - S + P P S P @@ -4682,7 +4682,7 @@ P S P - P + S S P S @@ -4700,7 +4700,7 @@ S S S - P + S P S S @@ -4710,7 +4710,7 @@ S S S - P + S S S S @@ -4749,12 +4749,12 @@ S S S - P S S - P S P + P + P S S P @@ -4772,7 +4772,7 @@ P S S - P + S S S P @@ -4839,13 +4839,13 @@ S P P - S + P P S S P P - S + P S S S @@ -4871,7 +4871,7 @@ S S S - S + P S S S @@ -4880,7 +4880,7 @@ S S S - P + S P P S @@ -4895,7 +4895,7 @@ P S S - S + P S S S @@ -5059,7 +5059,7 @@ S S S - P + S S S S @@ -5078,9 +5078,9 @@ P P S - S P S + S P S S @@ -5099,7 +5099,7 @@ S S S - S + P S S S diff --git a/train.py b/train.py index 0dd0edc..7d367a5 100755 --- a/train.py +++ b/train.py @@ -147,7 +147,11 @@ def main(): bigrams_count, words_count = launch_bigrams_and_words(in_file, expected_file) bigram_logprobs = calc_bigram_logprobs(bigrams_count) word_logprobs = calc_word_logprobs(words_count) + total_sceptic_bigram = sum(bigrams_count['sceptic'].values()) + len(bigrams_count['sceptic'].keys()) + total_paranormal_bigram = sum(bigrams_count['paranormal'].values()) + len(bigrams_count['paranormal'].keys()) + total_sceptic_word = sum(words_count['sceptic'].values()) + len(words_count['sceptic'].keys()) + total_paranormal_word = sum(words_count['paranormal'].values())+ len(words_count['paranormal'].keys()) with open(model, 'wb') as f: - pickle.dump([paranormal_class_logprob, sceptic_class_logprob, bigram_logprobs, word_logprobs],f) + pickle.dump([paranormal_class_logprob, sceptic_class_logprob, bigram_logprobs, word_logprobs, total_sceptic_bigram, total_paranormal_bigram, total_sceptic_word, total_paranormal_word],f) main()