import pandas as pd
movies = pd.read_csv("movie_reviews.zip")
movies
review | sentiment | |
---|---|---|
0 | This film is absolutely awful, but nevertheles... | negative |
1 | Well since seeing part's 1 through 3 I can hon... | negative |
2 | I got to see this film at a preview and was da... | positive |
3 | This adaptation positively butchers a classic ... | negative |
4 | Råzone is an awful movie! It is so simple. It ... | negative |
... | ... | ... |
24995 | With this movie being the only Dirty Harry mov... | positive |
24996 | Any screen adaptation of a John Grisham story ... | positive |
24997 | This film captured my heart from the very begi... | positive |
24998 | A deplorable social condition triggers off the... | positive |
24999 | Always enjoy the great acting of Drew Barrymor... | positive |
25000 rows × 2 columns
print(movies.loc[0, 'review'])
This film is absolutely awful, but nevertheless, it can be hilarious at times, although this humor is entirely unintentional.<br /><br />The plot was beyond ridiculous. I don't even think a 2 year-old would be convinced by the ludicrous idiocy that the film-makers tried to slap together into a story. However, on the positive side, some of the horrifically inane plot twists provide a great deal of humor. For example, "Wow, Lady Hogbottom has a giant missile hidden in her back yard!" It gets worse (and even funnier), but I'll spare you.<br /><br />The acting is generally laughable. Most of the kids' roles are sort of cute, but not very believable. On the other hand, Annie is pretty awful all-around. The adults don't take their roles seriously at all, but this is largely a good thing. If they'd tried to be believable, the film would've been even worse. Which is difficult to imagine.<br /><br />Once you get past the overall crappiness of the movie, there are actually a few standout moments of almost-not-crappiness. The scene where Lady Hogbottom's son runs away with the maid is surprisingly hilarious, though it's an annoying letdown when they get caught by the police. The butler character, while very minor, is a ray of sunlight that almost, but never quite pierces through the gloom.<br /><br />Watching this movie actually caused me physical pain. Nevertheless, there were a few redeeming parts that made it almost watchable without beginning to hemorrhage internally. Judged on its good parts alone, the movie would be about a 5; unfortunately, the rest of the movie hardly deserves a 1. Thus, I give it a 3.<br /><br />That's being pretty generous, I'd say.
print(movies.loc[0, 'sentiment'])
negative
from sklearn.model_selection import train_test_split
train_df, test_df = train_test_split(movies, test_size=0.5, random_state=1)
train_df
review | sentiment | |
---|---|---|
19669 | Though the plot elements to "The Eighth Day" s... | positive |
22940 | This show proved to be a waste of 30 minutes o... | negative |
23368 | Why does this movie fall WELL below standards?... | negative |
6716 | This is according to me a quite bizarre movie ... | positive |
19755 | This film is based on the novel by John Fante.... | negative |
... | ... | ... |
10955 | I researched this film a little and discovered... | positive |
17289 | This is one of the best bond games i have ever... | positive |
5192 | I saw this movie in the theater when I was a k... | negative |
12172 | Man, this was hilarious. It should be under CO... | negative |
235 | This is so exciting! After I saw "La Roue" thi... | positive |
12500 rows × 2 columns
test_df
review | sentiment | |
---|---|---|
21492 | I saw this recent Woody Allen film because I'm... | negative |
9488 | I thought this film was just about perfect. Th... | positive |
16933 | I really wanted to like this movie, but it nev... | negative |
12604 | You know? Our spirit is based on that revoluti... | positive |
8222 | Today actresses happily gain weight, dye their... | positive |
... | ... | ... |
18411 | Maybe the movie itself isn't one of the best J... | positive |
19647 | Largely dense road movie with some comic relie... | negative |
22079 | I saw this film at the Santa Barbara Film Fest... | positive |
8600 | Before this, the flawed "Slaughterhouse Five" ... | positive |
2983 | As a fan of Science-fiction movies, I have bee... | negative |
12500 rows × 2 columns
s = "adsfkjadsfhkjaesfqewilafs"
ls1 = list(s)
ls1
['a', 'd', 's', 'f', 'k', 'j', 'a', 'd', 's', 'f', 'h', 'k', 'j', 'a', 'e', 's', 'f', 'q', 'e', 'w', 'i', 'l', 'a', 'f', 's']
from collections import Counter
c1 = Counter(ls1)
c1
Counter({'a': 4, 'd': 2, 's': 4, 'f': 4, 'k': 2, 'j': 2, 'h': 1, 'e': 2, 'q': 1, 'w': 1, 'i': 1, 'l': 1})
c1['a']
4
c1.most_common(3)
[('a', 4), ('s', 4), ('f', 4)]
s2 = "adsflkjadfsbjkadsfhjkadsfhjkadfs"
ls2 = list(s2)
ls2
['a', 'd', 's', 'f', 'l', 'k', 'j', 'a', 'd', 'f', 's', 'b', 'j', 'k', 'a', 'd', 's', 'f', 'h', 'j', 'k', 'a', 'd', 's', 'f', 'h', 'j', 'k', 'a', 'd', 'f', 's']
c2 = Counter(ls2)
c2
Counter({'a': 5, 'd': 5, 's': 5, 'f': 5, 'l': 1, 'k': 4, 'j': 4, 'b': 1, 'h': 2})
c1 + c2
Counter({'a': 9, 'd': 7, 's': 9, 'f': 9, 'k': 6, 'j': 6, 'h': 3, 'e': 2, 'q': 1, 'w': 1, 'i': 1, 'l': 2, 'b': 1})
c1
Counter({'a': 4, 'd': 2, 's': 4, 'f': 4, 'k': 2, 'j': 2, 'h': 1, 'e': 2, 'q': 1, 'w': 1, 'i': 1, 'l': 1})
c2
Counter({'a': 5, 'd': 5, 's': 5, 'f': 5, 'l': 1, 'k': 4, 'j': 4, 'b': 1, 'h': 2})
d = {'c1': c1, 'c2': c2}
d
{'c1': Counter({'a': 4, 'd': 2, 's': 4, 'f': 4, 'k': 2, 'j': 2, 'h': 1, 'e': 2, 'q': 1, 'w': 1, 'i': 1, 'l': 1}), 'c2': Counter({'a': 5, 'd': 5, 's': 5, 'f': 5, 'l': 1, 'k': 4, 'j': 4, 'b': 1, 'h': 2})}
df = pd.DataFrame(d)
df
c1 | c2 | |
---|---|---|
a | 4.0 | 5.0 |
d | 2.0 | 5.0 |
s | 4.0 | 5.0 |
f | 4.0 | 5.0 |
k | 2.0 | 4.0 |
j | 2.0 | 4.0 |
h | 1.0 | 2.0 |
e | 2.0 | NaN |
q | 1.0 | NaN |
w | 1.0 | NaN |
i | 1.0 | NaN |
l | 1.0 | 1.0 |
b | NaN | 1.0 |
df = df.fillna(0)
df
c1 | c2 | |
---|---|---|
a | 4.0 | 5.0 |
d | 2.0 | 5.0 |
s | 4.0 | 5.0 |
f | 4.0 | 5.0 |
k | 2.0 | 4.0 |
j | 2.0 | 4.0 |
h | 1.0 | 2.0 |
e | 2.0 | 0.0 |
q | 1.0 | 0.0 |
w | 1.0 | 0.0 |
i | 1.0 | 0.0 |
l | 1.0 | 1.0 |
b | 0.0 | 1.0 |
wc = pd.read_csv("word_counts.csv", index_col=0)
wc
negative | positive | |
---|---|---|
this | 20294 | 17756 |
show | 1390 | 1791 |
proved | 49 | 76 |
to | 34325 | 33630 |
be | 7241 | 6262 |
... | ... | ... |
virginny | 0 | 2 |
seeping | 0 | 1 |
lode | 0 | 2 |
spooner | 0 | 1 |
stirrings | 0 | 1 |
56367 rows × 2 columns
wc = wc.sort_values("positive", ascending=False)
wc.head(50)
negative | positive | |
---|---|---|
the | 81431 | 87334 |
and | 36813 | 45240 |
a | 39146 | 42334 |
of | 34273 | 38891 |
to | 34325 | 33630 |
is | 24699 | 29001 |
in | 21747 | 25215 |
it | 24039 | 24290 |
i | 22999 | 20716 |
that | 18592 | 17965 |
this | 20294 | 17756 |
s | 15812 | 16941 |
as | 10172 | 13222 |
with | 10268 | 11761 |
for | 10771 | 11220 |
was | 12977 | 11062 |
film | 9603 | 10621 |
but | 10729 | 10478 |
movie | 12312 | 9726 |
on | 8536 | 8616 |
his | 5999 | 8580 |
you | 8787 | 8535 |
he | 6787 | 8178 |
are | 7302 | 7550 |
t | 10259 | 7139 |
not | 8237 | 7057 |
one | 6561 | 6915 |
have | 7525 | 6342 |
be | 7241 | 6262 |
all | 5953 | 6003 |
by | 5282 | 5981 |
who | 4967 | 5726 |
an | 5039 | 5682 |
at | 6165 | 5627 |
her | 3933 | 5369 |
from | 4858 | 5350 |
they | 6581 | 5083 |
so | 5717 | 4658 |
has | 3727 | 4601 |
like | 5615 | 4551 |
about | 4671 | 4290 |
very | 2833 | 4209 |
out | 4504 | 4176 |
there | 5319 | 4072 |
or | 5133 | 3924 |
she | 3257 | 3895 |
what | 4173 | 3889 |
good | 3561 | 3858 |
when | 3362 | 3791 |
more | 3338 | 3782 |
%pip install wordcloud
Requirement already satisfied: wordcloud in /Users/bb/opt/anaconda3/lib/python3.8/site-packages (1.8.1) Requirement already satisfied: numpy>=1.6.1 in /Users/bb/opt/anaconda3/lib/python3.8/site-packages (from wordcloud) (1.22.2) Requirement already satisfied: pillow in /Users/bb/opt/anaconda3/lib/python3.8/site-packages (from wordcloud) (8.4.0) Requirement already satisfied: matplotlib in /Users/bb/opt/anaconda3/lib/python3.8/site-packages (from wordcloud) (3.5.0) Requirement already satisfied: fonttools>=4.22.0 in /Users/bb/opt/anaconda3/lib/python3.8/site-packages (from matplotlib->wordcloud) (4.25.0) Requirement already satisfied: pyparsing>=2.2.1 in /Users/bb/opt/anaconda3/lib/python3.8/site-packages (from matplotlib->wordcloud) (3.0.4) Requirement already satisfied: kiwisolver>=1.0.1 in /Users/bb/opt/anaconda3/lib/python3.8/site-packages (from matplotlib->wordcloud) (1.3.1) Requirement already satisfied: packaging>=20.0 in /Users/bb/opt/anaconda3/lib/python3.8/site-packages (from matplotlib->wordcloud) (21.3) Requirement already satisfied: python-dateutil>=2.7 in /Users/bb/opt/anaconda3/lib/python3.8/site-packages (from matplotlib->wordcloud) (2.8.2) Requirement already satisfied: cycler>=0.10 in /Users/bb/opt/anaconda3/lib/python3.8/site-packages (from matplotlib->wordcloud) (0.11.0) Requirement already satisfied: six>=1.5 in /Users/bb/opt/anaconda3/lib/python3.8/site-packages (from python-dateutil>=2.7->matplotlib->wordcloud) (1.16.0) Note: you may need to restart the kernel to use updated packages.
from wordcloud import WordCloud
cloud = WordCloud(max_words=200, background_color='black', colormap='spring')
cloud.generate_from_frequencies(wc['positive'])
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 5))
plt.imshow(cloud);
cloud = WordCloud(max_words=200, background_color='black', colormap='spring')
cloud.generate_from_frequencies(wc['negative'])
plt.figure(figsize=(10, 5))
plt.imshow(cloud);
with open('stopwords.txt') as f:
stops = f.read()
print(stops)
a,able,about,across,after,all,almost,also,am,among,an,and,any,are,as,at,be,because,been,but,by,can,cannot,could,dear,did,do,does,either,else,ever,every,for,from,get,got,had,has,have,he,her,hers,him,his,how,however,i,if,in,into,is,it,its,just,least,let,like,likely,may,me,might,most,must,my,neither,no,nor,not,of,off,often,on,only,or,other,our,own,rather,said,say,says,she,should,since,so,some,than,that,the,their,them,then,there,these,they,this,tis,to,too,twas,us,wants,was,we,were,what,when,where,which,while,who,whom,why,will,with,would,yet,you,your
stops = stops.split(',')
stops
['a', 'able', 'about', 'across', 'after', 'all', 'almost', 'also', 'am', 'among', 'an', 'and', 'any', 'are', 'as', 'at', 'be', 'because', 'been', 'but', 'by', 'can', 'cannot', 'could', 'dear', 'did', 'do', 'does', 'either', 'else', 'ever', 'every', 'for', 'from', 'get', 'got', 'had', 'has', 'have', 'he', 'her', 'hers', 'him', 'his', 'how', 'however', 'i', 'if', 'in', 'into', 'is', 'it', 'its', 'just', 'least', 'let', 'like', 'likely', 'may', 'me', 'might', 'most', 'must', 'my', 'neither', 'no', 'nor', 'not', 'of', 'off', 'often', 'on', 'only', 'or', 'other', 'our', 'own', 'rather', 'said', 'say', 'says', 'she', 'should', 'since', 'so', 'some', 'than', 'that', 'the', 'their', 'them', 'then', 'there', 'these', 'they', 'this', 'tis', 'to', 'too', 'twas', 'us', 'wants', 'was', 'we', 'were', 'what', 'when', 'where', 'which', 'while', 'who', 'whom', 'why', 'will', 'with', 'would', 'yet', 'you', 'your']
wc.head(50)
negative | positive | |
---|---|---|
s | 15812 | 16941 |
film | 9603 | 10621 |
movie | 12312 | 9726 |
t | 10259 | 7139 |
one | 6561 | 6915 |
very | 2833 | 4209 |
out | 4504 | 4176 |
good | 3561 | 3858 |
more | 3338 | 3782 |
story | 2644 | 3423 |
time | 3071 | 3345 |
great | 1291 | 3222 |
well | 2115 | 3213 |
up | 3483 | 3200 |
see | 2786 | 2960 |
really | 3129 | 2769 |
even | 3786 | 2526 |
first | 2162 | 2416 |
much | 2511 | 2345 |
people | 2405 | 2246 |
love | 1095 | 2184 |
best | 984 | 2152 |
life | 1260 | 2079 |
way | 1949 | 2000 |
made | 2204 | 1938 |
many | 1459 | 1912 |
two | 1603 | 1906 |
films | 1482 | 1902 |
think | 1894 | 1834 |
characters | 1768 | 1806 |
movies | 2080 | 1804 |
show | 1390 | 1791 |
seen | 1662 | 1776 |
don | 2668 | 1774 |
character | 1742 | 1763 |
watch | 1745 | 1759 |
man | 1297 | 1715 |
still | 1110 | 1678 |
make | 2385 | 1666 |
being | 1657 | 1653 |
little | 1510 | 1635 |
never | 1610 | 1602 |
over | 1663 | 1547 |
know | 1714 | 1423 |
years | 872 | 1406 |
here | 1508 | 1390 |
end | 1462 | 1322 |
such | 1282 | 1316 |
acting | 2008 | 1294 |
real | 1092 | 1283 |
wc = wc.drop(stops, errors='ignore')
wc
negative | positive | |
---|---|---|
s | 15812 | 16941 |
film | 9603 | 10621 |
movie | 12312 | 9726 |
t | 10259 | 7139 |
one | 6561 | 6915 |
... | ... | ... |
throughoutrajpal | 1 | 0 |
songcinematography | 1 | 0 |
pritam | 1 | 0 |
priyan | 1 | 0 |
insufferably | 5 | 0 |
56249 rows × 2 columns
cloud = WordCloud(max_words=200, background_color='black', colormap='spring')
cloud.generate_from_frequencies(wc['positive'])
plt.figure(figsize=(10, 5))
plt.imshow(cloud);
wc
negative | positive | |
---|---|---|
film | 9350 | 10367 |
movie | 12188 | 9616 |
one | 6504 | 6846 |
it's | 4284 | 4257 |
very | 2833 | 4211 |
... | ... | ... |
porteau | 1 | 0 |
stylus | 1 | 0 |
read' | 1 | 0 |
attorney's | 1 | 0 |
montagues | 1 | 0 |
62088 rows × 2 columns
wc.loc['amazing']
negative 122 positive 561 Name: amazing, dtype: int64
wc.sum()
negative 754003 positive 797484 dtype: int64
p = wc.loc['amazing']/wc.sum()
p
negative 0.000084 positive 0.000372 dtype: float64
p['negative']
8.406905239017964e-05
wc.loc['fiasco']
negative 16 positive 0 Name: fiasco, dtype: int64
Laplace smoothing:
wc = wc + 1
wc
negative | positive | |
---|---|---|
film | 9351 | 10368 |
movie | 12189 | 9617 |
one | 6505 | 6847 |
it's | 4285 | 4258 |
very | 2834 | 4212 |
... | ... | ... |
porteau | 2 | 1 |
stylus | 2 | 1 |
read' | 2 | 1 |
attorney's | 2 | 1 |
montagues | 2 | 1 |
62088 rows × 2 columns
import numpy as np
probs = np.random.rand(1000)
probs
array([9.83170162e-01, 4.60810843e-01, 1.26857693e-01, 7.74078458e-01, 3.63762467e-01, 9.75646945e-01, 2.32110809e-02, 9.47244162e-01, 4.81477360e-01, 5.38609463e-01, 6.21893065e-01, 7.76559741e-01, 6.45978550e-01, 2.74954398e-02, 4.72023561e-01, 1.93966837e-01, 8.71724211e-01, 6.09255968e-02, 2.95906442e-01, 9.73067255e-01, 8.20657475e-01, 1.03695287e-02, 9.93324334e-02, 2.84986197e-01, 7.17500718e-01, 6.60940361e-01, 3.23809459e-01, 9.94747500e-01, 9.85017944e-01, 2.92726234e-03, 2.97986094e-01, 3.46203389e-01, 1.37257141e-01, 1.69781233e-01, 9.78401119e-01, 9.45081185e-01, 6.30495887e-01, 2.77771425e-01, 6.29705818e-01, 8.50878878e-01, 3.65266641e-01, 8.52010261e-02, 6.45679895e-02, 8.56585372e-01, 3.79892288e-01, 8.51770422e-01, 7.53813157e-01, 2.02082675e-01, 4.62082966e-02, 4.18505745e-01, 7.75394532e-01, 3.08368159e-01, 9.48696414e-01, 9.15824464e-01, 2.65254807e-01, 6.88391326e-01, 3.90834633e-01, 1.21194144e-01, 2.87027827e-01, 5.13434953e-02, 2.97880150e-01, 7.74686676e-01, 4.13498585e-01, 2.68150038e-01, 5.32496747e-01, 2.71139104e-01, 6.38110994e-01, 2.20756227e-01, 8.20385198e-01, 1.80655661e-01, 4.27486039e-01, 3.68610541e-01, 2.82788448e-01, 9.97614475e-01, 2.77916493e-01, 1.62388942e-02, 4.27509151e-01, 3.52061190e-02, 5.52562810e-01, 5.16295652e-01, 9.72061879e-01, 7.28096762e-01, 5.59187346e-01, 6.25541595e-01, 5.44797312e-01, 1.35739500e-01, 4.58369359e-02, 5.10188558e-01, 3.82094708e-02, 5.28452774e-01, 3.72241365e-01, 4.00895954e-02, 4.93586623e-01, 5.39142928e-01, 6.69958703e-02, 1.84349156e-01, 7.75598410e-01, 2.39274026e-01, 4.96976959e-01, 9.97544819e-02, 1.15263528e-02, 9.07269676e-01, 8.13225939e-01, 6.33242678e-01, 4.61112088e-01, 3.10738460e-02, 6.57020090e-01, 5.61087203e-01, 8.66669475e-01, 1.75932068e-01, 4.15295789e-01, 6.06345352e-01, 4.91478584e-01, 6.50531871e-01, 1.33570196e-01, 4.05116837e-01, 5.46447460e-01, 6.66433558e-01, 7.51771532e-01, 2.20807373e-01, 6.31835705e-01, 8.89555868e-01, 2.36908404e-01, 7.85010184e-01, 4.62083376e-01, 4.94298330e-02, 8.89229101e-01, 4.34846986e-01, 6.34329965e-01, 6.96866936e-01, 2.06356901e-01, 9.92808268e-01, 4.83990398e-01, 4.19266024e-01, 6.16472984e-01, 4.96847543e-01, 9.94040826e-01, 7.77234237e-01, 1.94915565e-01, 7.01562426e-01, 6.60528022e-02, 4.48794827e-02, 6.54735494e-01, 8.28330913e-01, 6.44915171e-01, 6.47891502e-01, 4.12967959e-01, 8.83469000e-01, 5.52480858e-01, 2.42764452e-02, 8.96434509e-01, 7.15642606e-01, 9.89256744e-01, 6.92077228e-01, 5.69965487e-01, 4.22484859e-01, 7.70049421e-01, 4.30663880e-01, 9.64447708e-01, 9.04254075e-01, 5.13690554e-01, 8.01447687e-01, 2.49344978e-01, 1.93055228e-01, 7.45699066e-01, 6.17007154e-01, 9.78614630e-01, 1.06611457e-01, 1.26303305e-01, 3.73816392e-01, 8.04108128e-01, 1.24972058e-01, 9.44077526e-01, 2.49372863e-01, 2.54075742e-01, 8.39127821e-01, 5.05900757e-01, 8.89981559e-01, 8.61099054e-01, 9.79356994e-01, 3.65833867e-02, 2.73116145e-01, 7.08043967e-01, 1.29224005e-01, 3.12190013e-01, 4.35496805e-02, 2.47782723e-01, 8.52173834e-01, 7.69644720e-01, 2.46979392e-01, 2.41416575e-01, 2.93918940e-01, 9.80016556e-01, 9.59223226e-01, 6.10942175e-01, 6.77958024e-01, 2.31827350e-01, 9.51950092e-01, 7.16631753e-01, 8.27349413e-01, 3.10727564e-02, 9.57068457e-01, 5.09297924e-01, 2.99939632e-01, 2.84570955e-01, 9.93579756e-01, 2.45939360e-01, 1.30827914e-02, 3.15822719e-02, 9.12808832e-01, 8.88766947e-01, 6.51164502e-01, 7.50208668e-01, 9.01005929e-02, 3.68544410e-01, 5.24043558e-01, 8.04738606e-01, 6.80434445e-01, 6.25404591e-01, 6.53889528e-01, 6.38950061e-01, 2.89525915e-01, 4.10719066e-01, 4.95282697e-02, 1.84916766e-01, 9.22557522e-01, 7.19027204e-01, 5.12974036e-01, 9.71450041e-01, 5.90267164e-01, 5.74869277e-01, 7.16634135e-01, 9.18008139e-01, 3.77298128e-01, 3.03310547e-01, 2.89598274e-01, 2.58203158e-01, 2.68637252e-01, 4.26505640e-01, 5.20094817e-01, 9.41582907e-01, 6.04976245e-01, 4.20965854e-01, 5.33003849e-01, 1.86251786e-01, 5.28944081e-01, 6.16440498e-01, 9.72763506e-01, 7.08621637e-01, 4.53606796e-01, 3.91280014e-01, 4.40475139e-01, 5.56726538e-01, 3.68040996e-01, 8.19140180e-01, 4.12669342e-01, 8.98010801e-01, 4.42821439e-01, 8.18920458e-01, 1.67628127e-01, 1.24438935e-01, 8.84070155e-02, 7.29828678e-01, 2.48705514e-01, 7.16158347e-01, 2.06744376e-01, 3.41115746e-01, 5.03165415e-01, 3.69562736e-01, 9.02746072e-01, 5.06553425e-01, 5.35811388e-02, 6.89866995e-01, 9.79909712e-01, 6.87555420e-01, 2.89359628e-01, 9.16326305e-01, 3.17321830e-01, 6.07082079e-01, 2.01332321e-01, 6.92454511e-01, 1.80628816e-01, 5.52459535e-02, 2.97863672e-01, 1.24847753e-01, 3.63785404e-01, 4.16152310e-01, 4.23249793e-01, 2.78511581e-01, 6.70809563e-01, 6.03728575e-01, 8.54955924e-03, 6.42601644e-01, 4.47189765e-01, 9.58111850e-02, 7.97065087e-01, 7.79263316e-01, 8.53346955e-02, 2.56563125e-01, 4.75926474e-02, 6.65317571e-01, 3.24413460e-01, 9.27062187e-01, 6.95595359e-01, 1.12650573e-01, 9.47492493e-02, 7.01361153e-01, 8.31366566e-01, 6.15714813e-01, 7.18129351e-01, 8.93514975e-01, 6.40339563e-01, 7.60131316e-01, 9.23676525e-01, 3.53315780e-01, 8.23536051e-01, 9.33516239e-01, 8.10637885e-01, 1.25629442e-01, 9.31140635e-01, 7.76653631e-02, 3.58627912e-01, 3.89045351e-02, 8.80217765e-02, 7.19916799e-01, 8.88969077e-01, 8.69566520e-01, 3.01813075e-02, 4.20709450e-01, 7.76596636e-01, 8.98679154e-01, 5.25525327e-01, 5.87322045e-01, 3.19030633e-01, 7.96464250e-01, 2.14035371e-01, 1.30275500e-01, 8.53292636e-01, 1.20314841e-01, 4.61502230e-01, 7.09405797e-01, 4.18519143e-02, 9.16211151e-01, 4.69490149e-02, 8.88011038e-01, 3.40673830e-01, 7.74006078e-01, 6.64032832e-01, 1.78316910e-01, 3.74751277e-03, 6.68357833e-01, 7.98264258e-01, 7.28591857e-01, 8.40937476e-01, 3.50690013e-01, 3.46160323e-01, 1.42050316e-01, 2.84922881e-01, 2.56978157e-01, 8.49059329e-01, 2.37050416e-01, 1.86206928e-01, 4.30774280e-01, 6.99982295e-01, 7.08252542e-01, 2.82848665e-01, 5.18023119e-01, 9.10157567e-01, 1.76557656e-01, 5.89088110e-01, 6.23770869e-03, 4.22451974e-01, 6.44182200e-01, 6.88849288e-01, 4.09914997e-01, 2.23771283e-01, 5.95937544e-01, 5.61726939e-01, 9.55073383e-01, 9.72972555e-01, 8.42679917e-01, 3.92592610e-02, 3.28332560e-01, 2.86253268e-01, 2.29794219e-01, 3.85908885e-01, 6.62840273e-01, 3.83930435e-01, 5.46077451e-01, 8.78240354e-01, 6.99505142e-01, 7.90336277e-01, 5.53994706e-01, 5.85037606e-01, 5.24281225e-01, 9.43524566e-01, 6.08276924e-01, 7.25058115e-01, 6.27317807e-01, 8.55617775e-01, 5.48134489e-01, 9.57061315e-01, 1.23630911e-02, 6.35657783e-01, 2.39733088e-01, 6.10796068e-01, 6.84426489e-01, 7.93372881e-01, 3.94837989e-01, 7.31694871e-01, 3.74750256e-01, 2.05154397e-01, 6.36872154e-02, 9.63417690e-01, 5.36170289e-02, 2.94336558e-01, 8.41906502e-01, 8.03801960e-01, 3.83336396e-01, 5.36319951e-01, 1.06698768e-01, 9.05959443e-01, 3.43953932e-01, 3.40061789e-01, 6.05579343e-01, 6.39896388e-01, 7.25394100e-01, 5.21044970e-01, 5.88767296e-01, 1.91769200e-01, 2.26809767e-01, 3.99012790e-01, 8.28047271e-01, 5.79702269e-01, 5.62159785e-03, 9.64526258e-01, 6.36984337e-01, 5.84062630e-01, 4.64926775e-01, 2.02024404e-01, 5.68196162e-01, 5.02739151e-01, 7.21132320e-01, 1.22740827e-01, 6.57293118e-01, 9.69252471e-01, 1.59596073e-01, 9.59785828e-01, 2.69591503e-01, 9.55712701e-01, 8.38108181e-01, 5.04923112e-01, 6.88184788e-01, 1.77885205e-03, 2.92877140e-01, 3.47078570e-01, 4.73061031e-01, 4.39076019e-01, 1.41354164e-01, 8.46207187e-01, 1.43343185e-01, 2.83421854e-01, 9.75776722e-01, 2.77783792e-01, 6.50756608e-02, 2.87547841e-01, 1.70501253e-01, 3.69786783e-01, 4.71337608e-03, 7.17820836e-01, 5.28274494e-01, 9.28903829e-01, 4.07771077e-01, 8.58281766e-02, 1.35734465e-01, 4.61790452e-01, 9.03690880e-01, 3.52935395e-01, 2.90385855e-01, 2.04313246e-01, 3.43430991e-01, 1.64228488e-01, 2.06646235e-01, 5.55300616e-01, 9.26679712e-01, 9.98086272e-01, 4.93985218e-01, 6.06960898e-01, 3.42067968e-01, 7.81210602e-02, 4.32382998e-01, 3.08448417e-01, 1.19115344e-02, 8.82778606e-01, 3.80252692e-01, 3.68020097e-01, 4.52021182e-01, 3.04118442e-01, 3.54596500e-01, 2.25139447e-01, 6.89955151e-01, 8.68612591e-01, 7.21228128e-01, 3.53174461e-01, 8.09020610e-01, 5.45949730e-01, 9.82865704e-01, 5.89423467e-02, 5.81540977e-01, 8.60015118e-01, 9.59448722e-01, 5.16492280e-01, 6.04953709e-01, 3.70279143e-01, 2.88765164e-01, 2.75034563e-01, 9.20180641e-01, 8.07854586e-01, 5.23608505e-01, 7.64505604e-01, 5.39404625e-01, 6.73747777e-01, 5.97583152e-01, 1.32098082e-01, 5.23518368e-01, 7.69570663e-02, 8.17840788e-01, 7.45419029e-02, 3.95665131e-01, 5.59257567e-01, 8.40296096e-01, 9.56764342e-01, 8.99842142e-01, 4.66195515e-04, 2.76123359e-01, 2.83107627e-01, 4.43334131e-01, 8.28145506e-01, 3.04052286e-01, 1.85619967e-01, 1.40700005e-01, 1.08727627e-01, 2.37916919e-03, 2.66554373e-01, 7.32027934e-01, 3.37366401e-01, 9.48762171e-01, 9.38755374e-01, 8.34016641e-02, 7.84686258e-01, 7.48103519e-01, 5.70909344e-01, 6.98624262e-01, 9.55269598e-01, 9.99467499e-01, 7.18866249e-01, 7.20057328e-01, 3.75333151e-01, 8.72047982e-01, 6.42390359e-01, 7.23238882e-02, 8.73193396e-02, 1.13031484e-01, 6.69644557e-01, 9.90155117e-01, 7.32489030e-01, 7.63015122e-01, 9.07994013e-01, 5.13441780e-02, 6.54775435e-01, 5.77566257e-01, 8.24811339e-01, 6.23118935e-02, 7.18209400e-01, 5.45467763e-01, 8.94688477e-01, 1.71692334e-01, 5.34327564e-01, 6.04682830e-01, 3.08479704e-01, 4.44665206e-03, 3.64867042e-01, 1.36097376e-01, 6.71817778e-04, 1.26020767e-01, 6.26004518e-01, 8.95899396e-01, 5.57203655e-01, 4.67618718e-01, 1.92605089e-01, 1.78059551e-01, 5.81529588e-01, 8.57607743e-01, 2.94544999e-01, 3.30895915e-02, 6.51779185e-01, 7.26891333e-01, 5.51140098e-01, 1.34322389e-01, 8.83357969e-01, 5.77549750e-01, 4.05988082e-01, 9.64897457e-02, 7.62590429e-01, 2.52362483e-01, 5.08769911e-01, 8.29193509e-01, 2.89386095e-01, 2.43008110e-01, 2.17193550e-01, 8.84827391e-01, 3.15128207e-01, 5.08932360e-01, 4.58231630e-01, 8.95284350e-01, 8.25605444e-01, 3.86728961e-01, 7.85154387e-01, 9.47083120e-02, 5.36756780e-01, 9.00353007e-01, 3.68673439e-01, 5.52084798e-02, 8.81794902e-01, 1.90825765e-01, 3.53846353e-01, 5.99659849e-01, 9.13897840e-01, 8.96736183e-01, 9.72108247e-01, 8.30249890e-01, 6.43940792e-01, 4.61640925e-01, 6.78646891e-01, 5.27078466e-01, 1.44118962e-01, 2.46908036e-01, 1.30902652e-01, 5.20330431e-01, 3.17604745e-01, 4.45436302e-01, 1.25697713e-01, 2.55304293e-01, 2.49488012e-01, 2.42418893e-02, 1.40761019e-01, 1.31053126e-02, 5.86817065e-01, 2.49558520e-01, 8.86509923e-02, 2.12390523e-01, 4.03843954e-01, 6.77832515e-02, 3.36611221e-01, 8.61305475e-01, 9.83772059e-01, 8.24277174e-01, 5.78911026e-01, 1.03180070e-01, 8.08539992e-01, 6.69396199e-01, 7.22940147e-01, 8.60338560e-02, 7.30562981e-01, 6.73614609e-01, 2.78480886e-01, 4.84440920e-01, 2.88866619e-02, 7.85574751e-02, 7.21658262e-01, 4.60058037e-01, 4.15671010e-01, 1.26682743e-01, 4.24751746e-01, 3.17304858e-01, 2.86203061e-01, 3.82295645e-01, 7.03545985e-02, 6.95623539e-01, 9.06018297e-01, 6.43154613e-02, 5.16764915e-01, 8.24759553e-01, 6.17547274e-01, 9.94007790e-01, 4.41230826e-01, 3.50641964e-01, 5.78417482e-01, 1.66215015e-01, 7.05249889e-01, 1.89965045e-01, 8.57266234e-01, 8.27419884e-01, 5.06410703e-01, 1.59729422e-01, 5.30554534e-01, 2.10794270e-01, 9.34159855e-01, 7.46270696e-02, 7.59456860e-01, 9.82954389e-01, 5.87664187e-01, 7.96449960e-01, 7.59850493e-01, 9.31141853e-02, 9.64014756e-01, 6.52259534e-01, 7.20184773e-01, 6.07886096e-01, 9.85366867e-02, 9.05521841e-01, 7.45028080e-01, 1.23143549e-01, 1.43574514e-01, 2.70961173e-01, 6.22838950e-01, 7.86721383e-01, 8.95544203e-01, 9.11762207e-01, 4.43544073e-01, 4.50218137e-01, 8.04625213e-01, 4.72009708e-01, 3.97410675e-01, 6.42488696e-01, 1.80704350e-01, 9.32614586e-01, 5.21475376e-01, 4.43455908e-01, 5.76292273e-01, 8.70187294e-01, 3.54344067e-01, 1.30608950e-01, 6.54654242e-01, 4.37528384e-01, 3.16059644e-01, 6.08657194e-01, 3.46618320e-01, 4.54106602e-01, 4.09464661e-01, 8.22299275e-01, 8.44358632e-01, 6.20323155e-01, 8.96835551e-01, 8.15747474e-02, 8.88572441e-01, 8.70642730e-01, 1.69644958e-01, 2.59847178e-01, 6.26854736e-01, 5.56129744e-02, 2.22292058e-01, 6.03930541e-01, 7.62248389e-01, 6.98962567e-01, 5.54901354e-01, 6.22535853e-01, 2.47173674e-01, 6.53740231e-01, 7.12555438e-01, 2.95057738e-01, 4.31032892e-01, 5.56758446e-01, 8.46338057e-01, 1.52034667e-01, 2.88642207e-01, 8.98894058e-01, 6.47264629e-02, 7.70429716e-01, 6.21396369e-01, 9.32885707e-01, 7.82405599e-01, 1.62614614e-01, 5.57368883e-01, 4.33410511e-01, 9.13437352e-01, 6.05874891e-01, 1.20583683e-02, 3.30010182e-01, 8.02763544e-01, 4.25510966e-01, 2.23578499e-02, 5.57389496e-01, 8.19918828e-01, 9.94222048e-01, 6.03670090e-01, 7.10512649e-01, 7.58261700e-01, 3.73684381e-01, 5.49342749e-02, 9.52509431e-01, 3.88606171e-01, 7.26085116e-01, 8.99211049e-01, 2.80490823e-01, 9.61007965e-01, 2.45575070e-01, 6.05607993e-01, 7.38659196e-02, 5.78284754e-01, 5.16664970e-01, 6.03075510e-01, 8.87597945e-01, 9.76490434e-01, 1.63779802e-01, 8.01268037e-03, 2.67989326e-01, 7.12115315e-01, 2.12851577e-01, 5.34122545e-01, 7.44104400e-01, 2.23429939e-01, 5.15526354e-01, 1.22193895e-02, 7.10761282e-01, 5.26901723e-02, 3.39172078e-01, 4.19401171e-01, 9.37712737e-01, 9.56598932e-01, 2.87568763e-01, 7.06046083e-01, 3.96922687e-01, 2.38230614e-01, 8.72135878e-01, 9.10488604e-02, 6.08883191e-02, 8.06773425e-01, 3.11052134e-01, 4.90733060e-01, 9.26917310e-01, 1.09965612e-01, 1.83096063e-01, 4.30244147e-04, 6.47219261e-01, 8.40932423e-01, 2.97971126e-01, 7.39042799e-01, 8.97654781e-01, 4.70052407e-01, 9.25352251e-01, 8.86786552e-01, 8.38010866e-01, 1.02294879e-01, 8.49119909e-01, 6.96260059e-01, 6.20217846e-01, 4.05870360e-01, 8.20533091e-01, 1.94057299e-01, 6.50827273e-01, 7.39561445e-01, 2.98596242e-01, 1.05703095e-01, 3.14797424e-01, 2.96211337e-01, 4.90924839e-01, 1.30460610e-01, 4.09788617e-01, 1.16605985e-01, 6.29616938e-01, 3.60056503e-01, 5.40434626e-01, 4.35664800e-01, 4.43603338e-01, 6.07185058e-01, 3.53488120e-01, 5.59251829e-01, 9.58721028e-01, 4.95666707e-01, 5.80994437e-01, 2.84022314e-01, 5.56960643e-02, 3.07421208e-01, 8.31615519e-01, 4.39424653e-01, 1.79172279e-02, 3.02905705e-01, 4.44261914e-01, 6.84475644e-01, 8.87595450e-01, 4.87130559e-01, 5.19849052e-01, 4.94604692e-01, 1.87157479e-01, 2.00866935e-01, 2.84817225e-01, 8.74540125e-01, 7.01921064e-01, 7.22491426e-01, 4.17523799e-01, 9.76463025e-01, 7.24296191e-01, 9.06810405e-01, 4.73953930e-01, 2.16999610e-01, 4.03261279e-01, 3.34898932e-01, 5.17885152e-01, 8.95488127e-01, 5.40631481e-02, 5.34750180e-01, 6.64372858e-01, 1.49463756e-01, 1.44824276e-01, 6.60385320e-01, 3.26932787e-01, 3.81353284e-02, 3.61634406e-01, 8.08830336e-01, 5.86500694e-02, 9.85304070e-01, 8.40984280e-01, 2.69517340e-01, 1.09951926e-01, 3.74507754e-01, 1.93695968e-02, 9.58739173e-01, 3.74633752e-02, 5.76636437e-01, 9.51665384e-02, 8.94854833e-01, 7.92613043e-01, 8.11770772e-01, 5.62171223e-01, 2.09212230e-01, 3.57667549e-02, 8.07771312e-01, 2.08744371e-01, 2.88165103e-02, 1.23158885e-02, 2.14272719e-01, 5.93515431e-01, 2.51179653e-01, 5.66373207e-01, 5.56111778e-01, 9.16596052e-01, 5.47427610e-01, 9.00400298e-03, 5.84069119e-01, 2.34751961e-01, 6.76060199e-01, 6.91654410e-01, 1.04992455e-01, 2.68650213e-01, 6.53687558e-01, 2.83075957e-01, 8.39822206e-01, 1.94279776e-01, 6.32564184e-01, 5.23242946e-01, 2.72563461e-01, 2.38338259e-01, 9.79166608e-01, 1.28835985e-01, 7.31338829e-01, 3.52011753e-01, 9.54396912e-01, 8.20106475e-01, 3.43141976e-01, 1.69883906e-02, 2.57899242e-01, 8.47838682e-01, 6.07575801e-01, 2.35256769e-01, 5.08664292e-01, 3.40534959e-01, 1.82739068e-01, 5.37607551e-01, 9.68936274e-01, 7.90826223e-01, 7.06499277e-01, 6.27236836e-01, 7.65317929e-01, 2.57218952e-01, 4.22461010e-01, 9.08750693e-01, 2.93271115e-01, 7.72754509e-01, 4.99605037e-01, 7.12097353e-01, 3.57312927e-01, 3.96370399e-01, 4.34572673e-01, 1.06911360e-01, 7.34700422e-01, 4.44247368e-01, 7.47482548e-01, 6.84546950e-01, 4.54900676e-01, 5.25575225e-01, 8.25950187e-01, 4.49958538e-01, 8.19107895e-01, 5.83659576e-01, 9.75431460e-01, 5.54321339e-01, 8.11128251e-01, 1.18530840e-01, 1.76850282e-01])
np.prod(probs)
0.0
np.log10(probs).sum()
-444.8520875975599
list(wc.index)
['the', 'and', 'a', 'of', 'to', 'is', 'in', 'it', 'i', 'that', 'this', 's', 'as', 'with', 'for', 'was', 'film', 'but', 'movie', 'on', 'his', 'you', 'he', 'are', 't', 'not', 'one', 'have', 'be', 'all', 'by', 'who', 'an', 'at', 'her', 'from', 'they', 'so', 'has', 'like', 'about', 'very', 'out', 'there', 'or', 'she', 'what', 'good', 'when', 'more', 'some', 'if', 'can', 'just', 'story', 'time', 'my', 'great', 'well', 'which', 'up', 'their', 'see', 'also', 'really', 'would', 'we', 'had', 'only', 'will', 'me', 'even', 'him', 'other', 'were', 'most', 'first', 'than', 'much', 'into', 'its', 'no', 'people', 'love', 'get', 'best', 'been', 'how', 'life', 'because', 'way', 'them', 'after', 'do', 'made', 'many', 'two', 'too', 'films', 'think', 'characters', 'movies', 'show', 'seen', 'don', 'character', 'watch', 'man', 'then', 'still', 'make', 'being', 'little', 'could', 'where', 'never', 'over', 'does', 'any', 'ever', 'while', 'know', 'did', 'years', 'here', 'these', 'end', 'such', 'acting', 'real', 'those', 'back', 'scene', 've', 'plot', 'off', 'though', 'go', 'new', 'through', 'scenes', 'your', 'say', 'makes', 'work', 'world', 'now', 'old', 'better', 'find', 'young', 'both', 'lot', 'something', 'series', 'before', 'us', 'again', 'should', 'cast', 'quite', 'always', 'family', 'another', 'part', 'doesn', 'actors', 'own', 'watching', 'between', 'm', 'director', 'funny', 're', 'role', 'same', 'why', 'few', 'look', 'performance', 'may', 'every', 'however', 'things', 'bad', 'times', 'actually', 'action', 'going', 'bit', 'big', 'music', 'down', 'saw', 'didn', 'must', 'fact', 'fun', 'around', 'comedy', 'take', 'excellent', 'right', 'long', 'each', 'thought', 'thing', 'beautiful', 'done', 'without', 'feel', 'seems', 'last', 'day', 'played', 'give', 'almost', 'got', 'come', 'pretty', 'different', 'yet', 'since', 'especially', 'although', 'true', 'job', 'want', 'interesting', 'point', 'gets', 'enough', 'our', 'horror', 'shows', 'original', 'woman', 'tv', 'am', 'plays', 'john', 'probably', 'far', 'girl', 'father', 'll', 'dvd', 'wonderful', 'd', 'rather', 'american', 'away', 'perfect', 'course', 'place', 'whole', 'found', 'play', 'set', 'once', 'hard', 'isn', 'having', 'year', 'kind', 'together', 'making', 'later', 'sure', 'war', 'nothing', 'takes', 'everyone', 'might', 'classic', 'performances', 'anyone', 'actor', 'comes', 'himself', 'screen', 'enjoy', 'version', 'ending', 'worth', 'loved', 'everything', 'seeing', 'watched', 'book', 'goes', 'wife', 'during', 'three', 'nice', 'amazing', 'men', 'star', 'put', 'believe', 'top', 'anything', 'seem', 'house', 'night', 'least', 'audience', 'looking', 'high', 'used', 'main', 'fan', 'guy', 'episode', 'definitely', 'special', 'recommend', 'second', 'mind', 'truly', 'black', 'home', 'small', 'until', 'sense', 'full', 'hollywood', 'help', 'gives', 'human', 'script', 'early', 'remember', 'left', 'friends', 'let', 'liked', 'often', 'along', 'short', 'maybe', 'said', 'death', 'came', 'trying', 'cinema', 'heart', 'won', 'live', 'style', 'lives', 'become', 'today', 'shot', 'favorite', 'read', 'moments', 'enjoyed', 'next', 'stars', 'simply', 'looks', 'overall', 'less', 'given', 'others', 'brilliant', 'perhaps', 'kids', 'need', 'keep', 'use', 'drama', 'playing', 'highly', 'mother', 'works', 'entertaining', 'friend', 'mr', 'michael', 'against', 'face', 'minutes', 'children', 'fine', 'picture', 'effects', 'reason', 'women', 'someone', 'lost', 'understand', 'wasn', 'written', 'finally', 'line', 'couple', 'history', 'several', 'else', 'white', 'dead', 'certainly', 'dark', 'throughout', 'son', 'hope', 'fans', 'try', 'boy', 'school', 'town', 'production', 'stories', 'based', 'strong', 'art', 'rest', 'late', 'getting', 'start', 'money', 'able', 'itself', 'game', 'completely', 'idea', 'past', 'half', 'side', 'instead', 'viewer', 'tell', 'age', 'child', 'camera', 'close', 'city', 'humor', 'genre', 'soon', 'person', 'becomes', 'felt', 'sometimes', 'under', 'roles', 'yes', 'despite', 'video', 'case', 'final', 'days', 'experience', 'wrong', 'beginning', 'sort', 'oscar', 'either', 'simple', 'relationship', 'episodes', 'title', 'voice', 'name', 'head', 'parts', 'david', 'turn', 'example', 'fantastic', 'evil', 'wants', 'piece', 'doing', 'jack', 'already', 'turns', 'chance', 'absolutely', 'behind', 'directed', 'james', 'called', 'themselves', 'low', 'expect', 'actress', 'score', 'matter', 'feeling', 'told', 'went', 'documentary', 'known', 'hit', 'budget', 'eyes', 'brother', 'direction', 'particularly', 'cinematography', 'dialogue', 'moving', 'musical', 'including', 'quality', 'lines', 'murder', 'ago', 'hilarious', 'gave', 'sex', 'song', 'reality', 'entire', 'fight', 'etc', 'supporting', 'police', 'hand', 'lead', 'coming', 'english', 'living', 'leave', 'took', 'shown', 'events', 'laugh', 'greatest', 'number', 'future', 'modern', 'killer', 'totally', 'light', 'tells', 'view', 'moment', 'mean', 'superb', 'daughter', 'finds', 'sound', 'usual', 'happy', 'type', 'television', 'realistic', 'run', 'b', 'easy', 'enjoyable', 'released', 'knows', 'heard', 'animation', 'somewhat', 'george', 'self', 'wanted', 'comic', 'husband', 'career', 'paul', 'romantic', 'opinion', 'miss', 'important', 'whose', 'girls', 'violence', 'act', 'season', 'starts', 'extremely', 'king', 'begins', 'writing', 'change', 'rock', 'ends', 'country', 'ones', 'robert', 'within', 'power', 'hero', 'songs', 'care', 'due', 'sad', 'cannot', 'seemed', 'thriller', 'says', 'myself', 'tale', 'stop', 'british', 'o', 'attention', 'beauty', 'exactly', 'sets', 'eye', 'alone', 'writer', 'french', 'problem', 'guys', 'similar', 'lady', 'thinking', 'involved', 'kid', 'level', 'powerful', 'serious', 'cool', 'york', 'nature', 'opening', 'atmosphere', 'yourself', 'famous', 'theme', 'unique', 'four', 'happened', 'tries', 'wish', 'parents', 'order', 'bring', 'car', 'happen', 'ways', 'novel', 'memorable', 'among', 'red', 'mystery', 'follow', 'herself', 'perfectly', 'dance', 'kill', 'across', 'crime', 'needs', 'viewing', 'surprised', 'viewers', 'strange', 'mostly', 'taken', 'usually', 'local', 'sister', 'jane', 'god', 'slow', 'anyway', 'team', 'obviously', 'group', 'release', 'masterpiece', 'entertainment', 'major', 'haven', 'killed', 'disney', 'sequence', 'japanese', 'de', 'class', 'society', 'problems', 'brought', 'romance', 'match', 'form', 'taking', 'couldn', 'fast', 'whether', 'words', 'america', 'certain', 'hour', 'th', 'working', 'flick', 'stand', 'knew', 'above', 'stuff', 'hours', 'room', 'particular', 'easily', 'period', 'unfortunately', 'upon', 'emotional', 'incredible', 'guess', 'showing', 'typical', 'interest', 'era', 'soundtrack', 'earth', 'giving', 'deal', 'e', 'possible', 'feature', 'five', 'talent', 'middle', 'meets', 'deep', 'turned', 'believable', 'happens', 'brings', 'tom', 'blood', 'battle', 'clearly', 'elements', 'message', 'success', 'lots', 'indeed', 'general', 'poor', 'body', 'started', 'dog', 'talking', 'feels', 'surprise', 'cut', 'huge', 'non', 'means', 'richard', 'running', 'female', 'leads', 'shots', 'fall', 'meet', 'personal', 'sweet', 'subject', 'except', 'eventually', 'situation', 'mark', 'joe', 'named', 'near', 'wonder', 'business', 'present', 'sexual', 'sequences', 'please', 'earlier', 'fantasy', 'falls', 'buy', 'truth', 'unlike', 'beautifully', 'recently', 'none', 'points', 'third', 'keeps', 'kelly', 'appears', 'plenty', 'beyond', 'oh', 'clear', 'lee', 'note', 'married', 'obvious', 'older', 'comments', 'difficult', 'sees', 'rating', 'animated', 'stage', 'lack', 'using', 'tony', 'scary', 'nearly', 'word', 'learn', 'ten', 'check', 'filmed', 'boys', 'complete', 'peter', 'dr', 'leaves', 'wouldn', 'william', 'scott', 'storyline', 'decent', 'call', 'solid', 'talk', 'recommended', 'forget', 'effective', 'dramatic', 'basically', 'whom', 'dream', 'single', 'gone', 'return', 'interested', 'figure', 'hear', 'hell', 'popular', 'spirit', 'suspense', 'mary', 'doubt', 'move', 'street', 'actual', 'appreciate', 'add', 'acted', 'die', 'supposed', 'wait', 'question', 'rate', 'subtle', 'portrayed', 'mention', 'boring', 'directors', 'surprisingly', 'effect', 'natural', 'screenplay', 'jokes', 'sci', 'creepy', 'straight', 'charming', 'adventure', 'band', 'social', 'terrific', 'fi', 'adult', 'aren', 'caught', 'rare', 'smith', 'became', 'features', 'apart', 'ok', 'created', 'somehow', 'leading', 'setting', 'members', 'visual', 'touching', 'reading', 'portrayal', 'moves', 'successful', 'bill', 'various', 'sequel', 'disappointed', 'outstanding', 'looked', 'edge', 'outside', 'attempt', 'follows', 'break', 'space', 'realize', 'pace', 'stewart', 'brothers', 'imagine', 'dreams', 'western', 'towards', 'journey', 'quickly', 'further', 'language', 'harry', 'stunning', 'emotions', 'office', 'male', 'crazy', 'deserves', 'missed', 'impressive', 'expected', 'cold', 'previous', 'manages', 'hot', 'filled', 'escape', 'baby', 'kept', 'uses', 'awesome', 'air', 'wonderfully', 'complex', 'free', 'pure', 'directing', 'comment', 'telling', 'theater', 'intelligent', 'recent', 'plus', 'background', 'worked', 'material', 'rich', 'century', 'water', 'singing', 'gem', 'hate', 'starring', 'stay', 'needed', 'choice', 'odd', 'hold', 'open', 'themes', 'seriously', 'dancing', 'copy', 'review', 'co', 'glad', 'italian', 'silly', 'casting', 'saying', 'former', 'begin', 'catch', 'hands', 'inside', 'focus', 'dialog', 'front', 'secret', 'familiar', 'create', 'political', 'fascinating', 'doctor', 'c', 'images', 'tone', 'talented', 'agree', 'fear', 'lovely', ...]