The error of the grader system? For "Train naive bayes"

That length is right for both vocab and the loglikelihood dictionary, since you get one entry per word in the vocabulary. I added some instrumentation to my code, including showing the computation for one particular word. Check if your values agree:

V = 9165, len(wordlist) 11436
V: 9165, V_pos: 5804, V_neg: 5632, D: 8000, D_pos: 4000, D_neg: 4000, N_pos: 27547, N_neg: 27152
freq_pos for smile = 47
freq_neg for smile = 9
loglikelihood for smile = 1.5577981920239676
0.0
9165