# Notebook from yasmine1994/Yasmine.github.io
Path: finalcode.ipynb

# Dans cette section, nous allons nous intéresser à la classification des textes par catégorie:

# Nous verrons comment:

## 1) charger le contenu du fichier et les catégories
## 2) explorer la base de données
## 3) pré-traitement de la base de données
## 4) Partition en corpus d’apprentissage et de test
## 5) extraire des vecteurs caractéristiques adaptés à l'apprentissage automatique (Construction de la matrice documents termes pour l’apprentissage)
## 6) former un modèle  pour effectuer la catégorisation
## 7) utiliser une stratégie de recherche de grille pour trouver une bonne configuration des composants d'extraction de caractéristiques et du classificateur
## 8) Remarques et une touche de NLTK (pour le stemming)
## 9) Déploiement de mon modèle
## 10) Conclusion
_____no_output_____############################_____no_output_____##  **La Classification des documents / Texte**

> ### est l' une des tâches importantes et typique du machine learning supervisé. C'est affecter des catégories à des documents, qui peuvent être une page Web, un livre de bibliothèque, des articles de presse, etc. contient de nombreuses applications telles que le filtrage de spam, le routage de courriers électroniques, l'analyse des sentiments, etc. _____no_output_____# 1) charger le contenu du fichier et les catégories_____no_output_____## *À propos de cet ensemble de données*

### Cet ensemble de données contient les titres, les URL et les catégories de 422 937 reportages collectés par un agrégateur Web entre le 10 mars 2014 et le 10 août 2014.

### Les catégories de nouvelles incluses dans cet ensemble de données incluent les entreprises; science et technologie; divertissement; et la santé. Différents articles de presse faisant référence au même article (par exemple, plusieurs articles sur les statistiques de l’emploi récemment publiées) sont également classés ensemble.

## *Contenu *
### Les colonnes incluses dans cet ensemble de données sont les suivantes:

> ID : l'ID numérique de l'article

> TITRE : le titre de l'article

> URL : l'URL de l'article

> EDITEUR : l'éditeur de l'article

> CATÉGORIE : la catégorie de l'information; un de: - b : business - t : science et technologie - e : divertissement - m : santé

> HISTOIRE : identifiant alphanumérique du reportage que l'article traite

> HOSTNAME : nom d'hôte où l'article a été publié

> TIMESTAMP : horodatage approximatif de la publication de l'article, donné en heure Unix (secondes écoulées depuis minuit le 1er janvier 1970)

## *Source*
> Cet ensemble de données provient du référentiel UCI Machine Learning [https://archive.ics.uci.edu/ml/datasets/News+Aggregator]. Irvine, Californie: Université de Californie, École d’information et d’informatique._____no_output_____

import pandas as pd
news = pd.read_csv("C:/Users/User/Desktop/uci-news-aggregator.csv") #Importing data from CSV
news = news.sample(frac=1, random_state=42) #Renvoie un échantillon aléatoire d'éléments_____no_output_____news.columns #colonnes de la base_____no_output_____#enlever les colonnes qui nous intéressent pas dans notre étude
columns=['TITLE','PUBLISHER','CATEGORY']
news=news[columns]
news=news.dropna(axis=0)
news=news.reset_index()
news=news.drop(['index'],axis=1)_____no_output_____#visulaliser les 5 premiers lignes due la base
news.head(5)_____no_output_____

# 2) explorer la base de données_____no_output_____

news.columns_____no_output_____#dimension de la base
news.shape_____no_output_____# summary statistics de la base (count, unique, top, freq)
news.describe()_____no_output_____#bref résumé sur la base
news.info()<class 'pandas.core.frame.DataFrame'>
RangeIndex: 422417 entries, 0 to 422416
Data columns (total 3 columns):
TITLE        422417 non-null object
PUBLISHER    422417 non-null object
CATEGORY     422417 non-null object
dtypes: object(3)
memory usage: 9.7+ MB

## Count Vs Publication_____no_output_____

import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
z=news.groupby(by=['PUBLISHER'],as_index=False).count().sort_values(by='TITLE',ascending=False).head(10)

plt.figure(figsize=(15,10))
sns.set_style("whitegrid")
ax = sns.barplot(x=z['PUBLISHER'],y=z['TITLE'], data=z)
plt.xlabel("Publication")
plt.ylabel("Count")
plt.title("Counts Vs PUBLISHER")C:\Users\User\Anaconda3\lib\site-packages\seaborn\categorical.py:1460: FutureWarning: remove_na is deprecated and is a private function. Do not use.
  stat_data = remove_na(group_data)

> Le graphique à barres ci-dessus montre les 10 premiers publieurs dans l'ensemble de données d'actualité en vue du nombre de publications.  Reuters a le numéro le plus élevé des publications._____no_output_____## Count Vs Category_____no_output_____

z=news.groupby(by=['CATEGORY'],as_index=False).count().sort_values(by='TITLE',ascending=False).head(10)

plt.figure(figsize=(10,10))
sns.set_style("whitegrid")
ax = sns.barplot(x=z['CATEGORY'],y=z['TITLE'], data=z)
plt.xlabel("Category")
plt.ylabel("Count")
plt.title("Counts Vs Category")C:\Users\User\Anaconda3\lib\site-packages\seaborn\categorical.py:1460: FutureWarning: remove_na is deprecated and is a private function. Do not use.
  stat_data = remove_na(group_data)

### Le graphique à barres ci-dessus montre la distribution des publications par catégorie sachant que
>  **e** :  Entertainment

>  **b** : business

>  **t** : Science and technology

>  **m** : health_____no_output_____## Dorénavant, nous allons nous intéresser seulement aux colonnes "TITLE" et "CATEGORY"_____no_output_____

columns=['TITLE','CATEGORY']
news=news[columns]
news=news.dropna(axis=0)
news=news.reset_index()
news=news.drop(['index'],axis=1)_____no_output_____news.head(5)_____no_output_____

# 3) Pré-traitement de la base de données_____no_output_____

# supprimer les colonnes TITRE en double (d'après le summary , on n'a pas trouvé des titres vides
#mais, en revanche, on a trouvé des titres en double )
news = news.drop_duplicates('TITLE')
news.shape_____no_output_____# Vérifier la distibution des longueurs des titres
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
tst=news.TITLE.map(len)
plt.hist(tst, bins=20)  # arguments are passed to np.histogram
plt.title("Représentation de la distribution des longueurs des titres")
plt.show()_____no_output_____

> ## On n'a pas besoin de limiter les longueurs des titres puisque la distribution est uniforme_____no_output_____# Maintenant, nous allons créer une fonction qui:
### enlève les caractères non ascii
### miniscule les titres et les tokenise
### fait appel au stopwords de nltk et les enlève_____no_output_____

from nltk.corpus import stopwords
def get_words( headlines ):
    headlines_onlyletters = re.sub("[^a-zA-Z]", " ",headlines) #Remove everything other than letters
    words = headlines_onlyletters.lower().split() #Convert to lower case, split into individual words
    stops = set(stopwords.words("english"))  #Convert the stopwords to a set for improvised performance
    meaningful_words = [w for w in words if not w in stops]   #Removing stopwords
    return( " ".join( meaningful_words )) #Joining the words_____no_output_____from tqdm import tqdm, tqdm_notebook

pd.options.display.max_columns = 200
pd.options.mode.chained_assignment = None

from collections import Counter
import re
import numpy as np

tqdm_notebook().pandas()
from tqdm._tqdm_notebook import tqdm_notebook

tqdm_notebook.pandas()_____no_output_____

## Une nouvelle colonne «cleaned_text» peut être facilement créée à l'aide de la méthode "progress_map" appliquée à la colonne «TITLE»._____no_output_____

cleaned_text = news.TITLE.progress_map(get_words)_____no_output_____#concaténer la base news et la nouvelle colonne cleaned_text
news =pd.concat([news, cleaned_text], axis=1, sort=False)_____no_output_____news.head(5)_____no_output_____myList = list(news.columns)
myList[2] = 'cleaned_text'
news.columns = myList_____no_output_____news.head(5)_____no_output_____

### Nous avons besoin maintenant d'encoder la variable CATEGORY en tant que variable catégorielle _____no_output_____

news['category_id'] = news['CATEGORY'].factorize()[0] _____no_output_____news.head(5)_____no_output_____news.CATEGORY.value_counts()_____no_output_____news.category_id.value_counts()_____no_output_____# 0: e:  Entertainment
# 1: b: business
# 2: m: health
# 3: t: Science and technology_____no_output_____

## Une fois les données sont propres, nous les enregistrons sur le disque_____no_output_____

news[['cleaned_text', 'category_id']].to_csv('./data/final_text2.csv')_____no_output_____import pandas as pd
data = pd.read_csv('./data/final_text2.csv')
print(data.shape)(406453, 3)
print(data.head(5))   Unnamed: 0                                       cleaned_text  category_id
0           0  people allowed delivery room pregger mila kuni...            0
1           1                       wealth info welter questions            1
2           2             robin thicke naming album paula patton            0
3           3        actress civil rights activist ruby dee dies            0
4           4                    feds review ga medicaid backlog            2
data= data.drop('Unnamed: 0',axis=1)_____no_output_____data.head(5)_____no_output_____data.info()<class 'pandas.core.frame.DataFrame'>
RangeIndex: 406453 entries, 0 to 406452
Data columns (total 2 columns):
cleaned_text    406443 non-null object
category_id     406453 non-null int64
dtypes: int64(1), object(1)
memory usage: 6.2+ MB

# 4) Partition en corpus d’apprentissage et de test_____no_output_____## => Avant, parlons un peu sur le Processus de catégorisation de textes

### Il importe de ne pas utiliser les mêmes donnés pour la modélisation et l’évaluation des classifieurs dans une démarche d’analyse prédictive.

###  une partie des observations est extraite aléatoirement, on parle d’échantillon d’apprentissage, elle est dévolue à la construction du modèle ; la partie restante, dite échantillon test, est consacrée à la mesure des performances. La répartition 2/3 vs. 1/3 est souvent utilisée mais il n’y a pas de règle véritable en la matière.

### Dans le cadre de la catégorisation de textes, cela se traduit par une partition du corpus AVANT la construction des matrices documents termes. Il ne faut pas que les observations du corpus de test puissent intervenir dans la constitution du dictionnaire (la liste des termes) et dans le calcul des pondérations (si on utilise la pondération TF-IDF par exemple) de la matrice utilisée pour l’apprentissage.

### Cette contrainte – partition des corpus avant la construction des matrices documents termes – prend tout son sens lorsque nous utilisons le classifieur final en déploiement, lors du classement d’un document supplémentaire qui n’est pas disponible lors de la phase de modélisation. Il est évident qu’il ne doit intervenir en rien dans la construction du modèle :

### s’il introduit des termes inconnus dans la phase de modélisation, ils doivent être ignorés ; demême, nous ne connaissons pas le nombre de documents à classer lors du cycle de vie du modèle, le calcul de l’IDF des termes (inverse document frequency) doit se baser exclusivement sur les informations issues de l’échantillon d’apprentissage.
_____no_output_____> ### Nous créons les corpus d’apprentissage et de test avec, respectivement, ntrain = 2/3=270969 documents etntest = 1/3= 135484 documents, via une partition au hasard, stratifiée selon les classes pour préserver les proportions des 4 catégories dans les sous-ensembles.
> ### Nous utilisons la procédure train_test_split du module sklearn.model_selection._____no_output_____

#subdivision into train and test sets
X, y = data.cleaned_text.fillna(' '), data.category_id
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(X,y,
                                                    test_size=1/3, train_size=2/3,
                                                    random_state=42,
                                                    stratify=y)

print(x_train.shape, x_test.shape, y_train.shape, y_test.shape)(270968,) (135485,) (270968,) (135485,)
#frequency distribution of the class attribute
#train set
freqTrain = pd.crosstab(index=y_train,columns="count")
print(freqTrain/freqTrain.sum())
#test set
freqTest = pd.crosstab(index=y_train,columns="count")
print(freqTest/freqTest.sum())col_0           count
category_id
0            0.361312
1            0.274409
2            0.107378
3            0.256901
col_0           count
category_id
0            0.361312
1            0.274409
2            0.107378
3            0.256901

> Les proportions sont bien respectées, la précision de l’évaluation n’en sera qu’améliorée._____no_output_____# 5) Extraire des fonctionnalités
### Les fichiers texte sont en réalité des séries de mots (ordonnés). Afin d'exécuter des algorithmes d'apprentissage automatique, nous devons convertir les fichiers texte en vecteurs d'entités numériques.
### En fait, Les classificateurs ont derrière eux des opérations mathématiques qui ne fonctionnent que sur des nombres. Nous devrons donc transformer notre contribution sous forme numérique.

# a) Bag of words:
### La manière la plus intuitive de le faire est la représentation par sacs de mots:
### En bref, nous segmentons chaque fichier texte en mots (pour la division en anglais par espace) et comptons le nombre de fois où chaque mot apparaît dans chaque document et assignons enfin un identifiant à chaque mot. Chaque mot unique dans notre dictionnaire correspondra à une fonctionnalité (fonction descriptive).

### Scikit-learn possède un composant de haut niveau qui créera des vecteurs de fonctionnalités pour nous "CountVectorizer"._____no_output_____### (1) Nous instancions l’objet de calcul CountVectorizer.
### (2) Nous appelons la méthode fit_transform() en passant en paramètre les messages du corpus d’apprentissage x_train._____no_output_____

#import the CountVectorizer tool
from sklearn.feature_extraction.text import CountVectorizer
parseur = CountVectorizer(min_df=10)
# ngram_range=(1, 2)
#create the document term matrix
XTrain = parseur.fit_transform(x_train)_____no_output_____

> min_df : float dans la plage [0.0, 1.0] ou int, valeur par défaut = 1

Lors de la construction du vocabulaire, ignorez les termes ayant une fréquence de document strictement inférieure au seuil donné. Cette valeur est également appelée coupure dans la littérature. _____no_output_____### Ici, en faisant ' parseur.fit_transform (x_train) ', nous apprenons le dictionnaire de vocabulaire et il retourne une matrice de document-terme [n_samples, n_features].

### Ainsi, Nous pouvons afficher le nombre et la liste des termes qui composent le dictionnaire._____no_output_____

#number of tokens
print(len(parseur.get_feature_names()))
#list of tokens
print(parseur.get_feature_names())13649
['aa', 'aaa', 'aaliyah', 'aapl', 'aaron', 'abandon', 'abandoned', 'abandoning', 'abandons', 'abba', 'abbott', 'abbv', 'abbvie', 'abby', 'abc', 'abe', 'abercrombie', 'abilities', 'ability', 'able', 'abnormalities', 'aboard', 'aborted', 'abortion', 'abound', 'abrams', 'abramson', 'abroad', 'abruptly', 'abs', 'absence', 'absolute', 'absolutely', 'absurd', 'abu', 'abundant', 'abuse', 'abused', 'abusing', 'ac', 'aca', 'academic', 'academy', 'accelerate', 'accelerated', 'accelerates', 'accelerating', 'acceleration', 'accelerators', 'accent', 'accept', 'acceptance', 'accepted', 'accepting', 'accepts', 'access', 'accessed', 'accessible', 'accessories', 'accessory', 'accident', 'accidental', 'accidentally', 'accidents', 'acclaimed', 'accord', 'according', 'account', 'accounting', 'accounts', 'accra', 'accuracy', 'accurate', 'accurately', 'accusations', 'accuse', 'accused', 'accuser', 'accuses', 'ace', 'achieve', 'achievement', 'achievements', 'achieves', 'acid', 'acidification', 'acids', 'ackman', 'acknowledges', 'acm', 'acne', 'acoustic', 'acp', 'acquire', 'acquired', 'acquires', 'acquiring', 'acquisition', 'acquisitions', 'acreage', 'acres', 'acrobats', 'across', 'act', 'acting', 'action', 'actions', 'active', 'activision', 'activism', 'activist', 'activists', 'activities', 'activity', 'actor', 'actors', 'actos', 'actress', 'actresses', 'acts', 'actual', 'actually', 'ad', 'adam', 'adams', 'adapt', 'adaptation', 'adapting', 'adbe', 'add', 'added', 'addicted', 'addiction', 'addictive', 'adding', 'addition', 'additional', 'additions', 'additives', 'address', 'addressed', 'addresses', 'addressing', 'adds', 'ade', 'adele', 'adhd', 'adidas', 'adieu', 'adj', 'adjusted', 'adjusts', 'adkins', 'adm', 'administration', 'admission', 'admit', 'admits', 'admitted', 'admitting', 'adobe', 'adolescents', 'adopt', 'adopting', 'adoption', 'adopts', 'adorable', 'adore', 'adp', 'adr', 'adrian', 'adrienne', 'ads', 'adult', 'adulthood', 'adults', 'advance', 'advanced', 'advances', 'advantage', 'adventure', 'advert', 'advertisers', 'advertising', 'advice', 'advise', 'advised', 'adviser', 'advisers', 'advises', 'advisor', 'advisory', 'advocacy', 'advocate', 'advocates', 'adwords', 'aegis', 'aereo', 'aerial', 'aerospace', 'affair', 'affairs', 'affect', 'affected', 'affecting', 'affects', 'affiliate', 'affiliated', 'affirms', 'affleck', 'afford', 'affordable', 'afghanistan', 'afp', 'afraid', 'afrezza', 'africa', 'african', 'aftermarket', 'aftermath', 'afternoon', 'ag', 'age', 'aged', 'ageing', 'agencies', 'agency', 'agenda', 'agent', 'agents', 'ages', 'aggressive', 'aging', 'agn', 'ago', 'agree', 'agreed', 'agreement', 'agreements', 'agrees', 'agricultural', 'agriculture', 'agron', 'aguilera', 'ah', 'ahead', 'ahrendts', 'ai', 'aid', 'aided', 'aides', 'aiding', 'aids', 'aig', 'aiken', 'ailing', 'aim', 'aimed', 'aiming', 'aims', 'air', 'airbag', 'airbags', 'airbnb', 'airborne', 'airbus', 'aircraft', 'airlifted', 'airline', 'airliner', 'airlines', 'airplane', 'airplanes', 'airport', 'airports', 'airs', 'airspace', 'airtime', 'airways', 'aisle', 'aj', 'aka', 'akamai', 'akb', 'akron', 'al', 'ala', 'alabama', 'aladdin', 'alamo', 'alamuddin', 'alan', 'alarm', 'alarming', 'alarmists', 'alarms', 'alaska', 'alaskan', 'alba', 'albany', 'albert', 'album', 'albums', 'alcatel', 'alcoa', 'alcohol', 'alcoholic', 'alcoholics', 'alcoholism', 'alcohols', 'aldean', 'aldrin', 'alec', 'alejandro', 'alert', 'alerts', 'alex', 'alexa', 'alexander', 'alexandra', 'alfa', 'algorithm', 'ali', 'alibaba', 'alice', 'alicia', 'alien', 'aliens', 'align', 'alignment', 'alike', 'alitalia', 'alive', 'allegations', 'alleged', 'allegedly', 'alleges', 'allegiant', 'alleging', 'allen', 'allergan', 'allergic', 'allergies', 'allergy', 'alleviate', 'alley', 'alli', 'alliance', 'alliant', 'allies', 'allison', 'allman', 'allow', 'allowed', 'allowing', 'allows', 'allure', 'ally', 'almost', 'alone', 'along', 'alongside', 'aloud', 'alpha', 'alphabet', 'alpine', 'alprolix', 'already', 'als', 'alsina', 'also', 'alstom', 'alter', 'altercation', 'altered', 'alternate', 'alternative', 'alternatives', 'alters', 'altitude', 'alto', 'alum', 'aluminum', 'always', 'alzheimer', 'ama', 'amal', 'amanda', 'amateur', 'amaya', 'amazing', 'amazon', 'amazoncart', 'ambassador', 'amber', 'ambition', 'ambitions', 'ambitious', 'ambulance', 'amc', 'amd', 'amedisys', 'america', 'american', 'americans', 'americas', 'amfar', 'amgen', 'amid', 'amidst', 'amiga', 'amoeba', 'amoled', 'among', 'amount', 'amounts', 'amp', 'ample', 'amputee', 'amputees', 'amtrak', 'amy', 'amzn', 'anaconda', 'analyses', 'analysis', 'analyst', 'analysts', 'analytics', 'anarchy', 'anatomy', 'ancestors', 'anchor', 'ancient', 'ancier', 'andersen', 'anderson', 'andi', 'andre', 'andrew', 'andrews', 'android', 'andy', 'anew', 'angel', 'angela', 'angeles', 'angelina', 'angelou', 'anger', 'angers', 'angle', 'anglo', 'angrily', 'angry', 'angus', 'animal', 'animals', 'animated', 'animation', 'aniston', 'anita', 'ankle', 'ann', 'anna', 'anne', 'annie', 'anniversary', 'announce', 'announced', 'announcement', 'announcements', 'announces', 'announcing', 'annoying', 'annual', 'annually', 'anonymous', 'another', 'ansel', 'answer', 'answered', 'answers', 'ant', 'antarctic', 'antarctica', 'ante', 'anthem', 'anthony', 'anthrax', 'anti', 'antibacterial', 'antibiotic', 'antibiotics', 'antibodies', 'anticipate', 'anticipated', 'anticipation', 'antics', 'antidepressant', 'antidepressants', 'antidote', 'antioxidant', 'antioxidants', 'antitrust', 'antonio', 'antony', 'anxiety', 'anxious', 'anymore', 'anyone', 'anything', 'anytime', 'anyway', 'anywhere', 'aol', 'ap', 'apache', 'apart', 'apartheid', 'apartment', 'apatow', 'ape', 'apes', 'api', 'apis', 'apnea', 'apnewsbreak', 'apocalypse', 'apollo', 'apologies', 'apologise', 'apologises', 'apologize', 'apologizes', 'apology', 'app', 'apparel', 'apparent', 'apparently', 'appeal', 'appeals', 'appear', 'appearance', 'appearances', 'appeared', 'appearing', 'appears', 'appendix', 'appetite', 'applaud', 'applauds', 'apple', 'appleton', 'applicants', 'application', 'applications', 'applies', 'apply', 'appointed', 'appointment', 'appointments', 'appoints', 'appreciate', 'appreciation', 'approach', 'approaches', 'approaching', 'appropriate', 'approval', 'approvals', 'approve', 'approved', 'approves', 'apps', 'appstore', 'apr', 'april', 'aquaman', 'aquarid', 'aquino', 'ar', 'ara', 'arab', 'arabia', 'arabic', 'arbitration', 'arbor', 'arcade', 'archaeologists', 'archaeopteryx', 'archbishop', 'archer', 'archie', 'architect', 'architecture', 'archive', 'archives', 'arctic', 'arden', 'area', 'areas', 'arena', 'aretha', 'argentina', 'argentine', 'argue', 'argues', 'arguing', 'argument', 'arguments', 'ariana', 'arias', 'ariel', 'arizona', 'ark', 'arkansas', 'arkham', 'arm', 'armed', 'armies', 'armor', 'armour', 'armpit', 'arms', 'armstrong', 'army', 'arnett', 'arnold', 'aronofsky', 'around', 'arquette', 'arrest', 'arrested', 'arrests', 'arrival', 'arrivals', 'arrive', 'arrived', 'arrives', 'arriving', 'arrogant', 'arrow', 'art', 'artery', 'arthritis', 'arthur', 'article', 'articles', 'artifacts', 'artificial', 'artist', 'artists', 'artpop', 'arts', 'artsentertainment', 'artwork', 'artworks', 'arya', 'ascend', 'ascending', 'asco', 'asean', 'ash', 'ashamed', 'ashes', 'asheton', 'ashley', 'ashore', 'ashton', 'asia', 'asian', 'asiana', 'aside', 'ask', 'asked', 'asking', 'asks', 'askthicke', 'asleep', 'aspirin', 'ass', 'assassin', 'assassination', 'assault', 'assaulted', 'assaulting', 'assaults', 'assayas', 'assembly', 'assess', 'assessing', 'assessment', 'asset', 'assets', 'assist', 'assistant', 'associated', 'association', 'assures', 'asteroid', 'asteroids', 'asthma', 'aston', 'astonishing', 'astra', 'astrazeneca', 'astronaut', 'astronauts', 'astronomers', 'astronomy', 'asus', 'asx', 'atari', 'ate', 'athens', 'athlete', 'athletes', 'athletica', 'atk', 'atlanta', 'atlantic', 'atlas', 'atm', 'atmos', 'atmosphere', 'atms', 'atoms', 'atop', 'ats', 'attached', 'attack', 'attacked', 'attacker', 'attackers', 'attacking', 'attacks', 'attempt', 'attempted', 'attempting', 'attempts', 'attenborough', 'attend', 'attendance', 'attendant', 'attendees', 'attending', 'attends', 'attention', 'attitude', 'attorney', 'attorneys', 'attract', 'attraction', 'attractive', 'attracts', 'au', 'aubrey', 'auburn', 'auction', 'auctioned', 'auctioning', 'auctions', 'aud', 'audi', 'audience', 'audiences', 'audio', 'audit', 'audited', 'audition', 'auditions', 'audra', 'audrey', 'aug', 'augmented', 'august', 'aunt', 'aura', 'auras', 'aussie', 'aussies', 'aust', 'austerity', 'austin', 'australia', 'australian', 'australians', 'austria', 'austrian', 'authentic', 'authentication', 'author', 'authorities', 'authority', 'authors', 'autism', 'autistic', 'auto', 'autobots', 'autographs', 'automaker', 'automakers', 'automated', 'automatic', 'automatically', 'automation', 'automobiles', 'automotive', 'autonomous', 'autonomy', 'autopsy', 'autos', 'autotune', 'autumn', 'availability', 'available', 'avalanche', 'avast', 'avatar', 'avengers', 'aveo', 'average', 'averages', 'avert', 'averted', 'aviation', 'avicii', 'aviv', 'avoid', 'avoided', 'avoiding', 'avoids', 'avril', 'await', 'awaited', 'awaiting', 'awaits', 'award', 'awarded', 'awards', 'aware', 'awareness', 'away', 'awe', 'awesome', 'awful', 'awkward', 'awkwardly', 'awry', 'ax', 'axe', 'axed', 'axes', 'axing', 'az', 'azalea', 'azn', 'azure', 'ba', 'baba', 'babies', 'baby', 'bac', 'bachelor', 'bachelorette', 'back', 'backdoor', 'backed', 'backers', 'backfire', 'backfires', 'background', 'backing', 'backlash', 'backless', 'backlog', 'backs', 'backstage', 'backstreet', 'backtrack', 'backtracks', 'backup', 'backyard', 'bacon', 'bacteria', 'bacterial', 'bad', 'badass', 'badly', 'badman', 'badu', 'baffled', 'baffles', 'bafta', 'baftas', 'bag', 'baghdad', 'bags', 'bahamas', 'bail', 'bailed', 'bailon', 'bailout', 'baird', 'bait', 'baiting', 'bake', 'baker', 'bakken', 'balance', 'balances', 'balancing', 'balcony', 'bald', 'baldwin', 'ball', 'ballas', 'ballet', 'ballmer', 'ballot', 'ballroom', 'balls', 'bally', 'baltimore', 'ban', 'bana', 'banana', 'bananas', 'band', 'bandits', 'bandmates', 'bands', 'bandwagon', 'bandwidth', 'bang', 'bangerz', 'bangkok', 'bangladesh', 'bangs', 'bank', 'bankcorp', 'banker', 'bankers', 'banking', 'bankrupt', 'bankruptcy', 'banks', 'bankston', 'banksy', 'banned', 'banner', 'banning', 'bans', 'baptist', 'bar', 'barack', 'baratheon', 'barbara', 'barbie', 'barbra', 'barbs', 'barcelona', 'barclays', 'bard', 'bardarbunga', 'bare', 'barely', 'bares', 'bargain', 'bariatric', 'baring', 'bark', 'barker', 'barnes', 'barney', 'barra', 'barred', 'barrel', 'barrels', 'barrie', 'barrier', 'barriers', 'barring', 'barry', 'barrymore', 'bars', 'base', 'baseball', 'based', 'baseline', 'bash', 'bashing', 'basic', 'basically', 'basis', 'basket', 'basketball', 'baskets', 'baskett', 'bassett', 'bat', 'batch', 'bateman', 'bates', 'bath', 'bathroom', 'batkid', 'batman', 'batmobile', 'baton', 'batteries', 'battery', 'batterybox', 'battle', 'battlefield', 'battles', 'battling', 'bauer', 'bautista', 'baxter', 'bay', 'bayer', 'bb', 'bbb', 'bbc', 'bbm', 'bbry', 'bby', 'bc', 'bcs', 'beach', 'beaches', 'beagle', 'beam', 'beams', 'bean', 'beans', 'bear', 'beard', 'bearded', 'bearer', 'bearing', 'bearish', 'bears', 'beast', 'beastie', 'beasts', 'beat', 'beaten', 'beating', 'beatles', 'beats', 'beatz', 'beau', 'beautiful', 'beauty', 'bebop', 'became', 'beck', 'beckel', 'beckham', 'become', 'becomes', 'becoming', 'bed', 'bedroom', 'beds', 'bee', 'beef', 'beefs', 'beer', 'bees', 'beg', 'began', 'begged', 'begging', 'begin', 'beginning', 'beginnings', 'begins', 'begs', 'begun', 'behavior', 'behavioral', 'behaviors', 'behaviour', 'behemoth', 'behind', 'behold', 'beige', 'beijing', 'beleodaq', 'belgium', 'belief', 'beliefs', 'believe', 'believed', 'believers', 'believes', 'believing', 'bell', 'bella', 'belle', 'bellisario', 'bells', 'belly', 'belong', 'beloved', 'belt', 'belts', 'ben', 'benchmark', 'benchmarks', 'bend', 'beneath', 'benedict', 'beneficial', 'benefit', 'benefits', 'benham', 'bennett', 'benz', 'benzene', 'benzinga', 'benzino', 'bergdahl', 'berkeley', 'berkshire', 'berkus', 'berlin', 'bernanke', 'berners', 'bernie', 'bernstein', 'berry', 'bertolli', 'bes', 'best', 'bests', 'bestseller', 'bestselling', 'bet', 'beta', 'beth', 'bethesda', 'betrayed', 'bets', 'better', 'bettie', 'betting', 'beverage', 'beverages', 'beverly', 'beware', 'bey', 'beyonc', 'beyonce', 'beyond', 'bezos', 'bff', 'bhp', 'bi', 'bible', 'biblical', 'bicycle', 'bid', 'bidder', 'bidders', 'bidding', 'biden', 'bids', 'bieber', 'big', 'bigfoot', 'bigger', 'biggest', 'bike', 'bikini', 'bil', 'bild', 'bilingual', 'bill', 'billboard', 'billie', 'billing', 'billings', 'billion', 'billionaire', 'billions', 'billiton', 'bills', 'billy', 'binary', 'binding', 'bing', 'binge', 'binoche', 'bio', 'biodelivery', 'biofuels', 'biogen', 'biological', 'biometric', 'bionic', 'biopic', 'bioshock', 'biotech', 'biotechs', 'bipartisan', 'bird', 'birdman', 'birds', 'birmingham', 'birth', 'birthday', 'birthdays', 'births', 'bis', 'bisexual', 'bishop', 'bit', 'bitch', 'bitcoin', 'bitcoins', 'bite', 'bites', 'biting', 'bits', 'bitten', 'bitter', 'bittersweet', 'biz', 'bizarre', 'bj', 'bkw', 'black', 'blackberry', 'blackface', 'blackjack', 'blacklist', 'blackmail', 'blackrock', 'blacks', 'blackshades', 'blackstock', 'bladder', 'blake', 'blame', 'blamed', 'blames', 'blaming', 'blasio', 'blast', 'blasted', 'blasts', 'blaze', 'bleak', 'bleed', 'bleeding', 'bleeds', 'blend', 'blended', 'blessed', 'blessing', 'blight', 'blind', 'blindness', 'bling', 'blink', 'bliss', 'blitz', 'blizzard', 'blm', 'bln', 'block', 'blockbuster', 'blockbusters', 'blocked', 'blocking', 'blocks', 'blog', 'blogger', 'bloggers', 'blogging', 'blogs', 'blond', 'blonde', 'blood', 'blooded', 'bloody', 'bloom', 'bloomberg', 'blow', 'blowing', 'blown', 'blowout', 'blows', 'blu', 'blue', 'blueprint', 'blues', 'bluetooth', 'blunder', 'blunt', 'blurred', 'bmo', 'bmw', 'bn', 'bnp', 'bny', 'bo', 'boa', 'board', 'boards', 'boasts', 'boat', 'boaters', 'boating', 'bob', 'bobby', 'boc', 'bod', 'bodies', 'body', 'bodyguard', 'boe', 'boeing', 'bofa', 'boffins', 'bogus', 'boil', 'boj', 'bold', 'boldly', 'bolster', 'bolstered', 'bolsters', 'bomb', 'bombing', 'bombs', 'bombshell', 'bomer', 'bon', 'bonanza', 'bonas', 'bond', 'bondholders', 'bonds', 'bone', 'bones', 'bonnaroo', 'bonus', 'bonuses', 'boo', 'boob', 'boobs', 'booed', 'book', 'booking', 'books', 'boom', 'boomers', 'booming', 'booms', 'boon', 'boone', 'boos', 'boost', 'boosted', 'booster', 'boosting', 'boosts', 'boot', 'booted', 'booth', 'boots', 'booty', 'booze', 'border', 'borders', 'bored', 'boring', 'borlaug', 'born', 'borne', 'borrow', 'borrowers', 'borrowing', 'boseman', 'boson', 'boss', 'bosses', 'bossy', 'boston', 'botched', 'bother', 'botnet', 'botnets', 'botox', 'bottle', 'bottles', 'bottom', 'bought', 'boulder', 'boulevard', 'bounce', 'bounces', 'bound', 'bounty', 'bouygues', 'bow', 'bowe', 'bowl', 'bows', 'box', 'boxer', 'boxes', 'boy', 'boycott', 'boycotted', 'boycotts', 'boyd', 'boyega', 'boyer', 'boyfriend', 'boyhood', 'boyle', 'boys', 'bp', 'bra', 'brace', 'braced', 'bracelet', 'braces', 'brad', 'bradley', 'brady', 'braff', 'brain', 'brains', 'brake', 'brakes', 'braless', 'branch', 'branches', 'brand', 'branded', 'branding', 'brandon', 'brands', 'brandy', 'brangelina', 'branson', 'braun', 'brave', 'brawl', 'brazil', 'brazilian', 'breach', 'breached', 'breaches', 'bread', 'break', 'breakdown', 'breaker', 'breakers', 'breakfast', 'breaking', 'breakout', 'breaks', 'breakthrough', 'breakup', 'breast', 'breastfeeding', 'breasts', 'breath', 'breathe', 'breather', 'breathing', 'breeze', 'brendan', 'brenner', 'brent', 'brett', 'brewing', 'bria', 'brian', 'bribery', 'brick', 'brickell', 'bridal', 'bride', 'bridesmaid', 'bridge', 'brie', 'brief', 'briefing', 'briefly', 'briefs', 'brien', 'bright', 'brighten', 'brightens', 'brighter', 'brightest', 'brilliant', 'brin', 'bring', 'bringing', 'brings', 'brink', 'bristol', 'britain', 'british', 'britney', 'britons', 'brits', 'brittany', 'brittny', 'bro', 'broad', 'broadband', 'broadcast', 'broadcaster', 'broadcasters', 'broadcasting', 'broadcasts', 'broadchurch', 'broadens', 'broader', 'broadly', 'broadway', 'broadwell', 'brockie', 'brody', 'broke', 'broken', 'broker', 'brokers', 'broking', 'brolin', 'bromance', 'bronx', 'brooding', 'brooklyn', 'brooks', 'bros', 'brosnan', 'brother', 'brothers', 'brought', 'brown', 'browns', 'browse', 'browser', 'browsers', 'browsing', 'bruce', 'brunch', 'brunei', 'bruno', 'brunt', 'brushes', 'brussels', 'brutal', 'brutally', 'bryan', 'bskyb', 'bubble', 'bubbles', 'buck', 'bucket', 'buckle', 'buckles', 'bucks', 'budapest', 'buddies', 'buddy', 'budget', 'budweiser', 'buffalo', 'buffet', 'buffett', 'bug', 'bugs', 'buick', 'build', 'builder', 'builders', 'building', 'builds', 'built', 'bulgaria', 'bulgarian', 'bulger', 'bulk', 'bull', 'bullard', 'bullet', 'bullets', 'bullied', 'bullies', 'bullion', 'bullish', 'bullock', 'bulls', 'bully', 'bullying', 'bum', 'bump', 'bumped', 'bumper', 'bumping', 'bumps', 'bumpy', 'bunch', 'bundchen', 'bundle', 'bundles', 'bungie', 'bunny', 'buns', 'buoy', 'buoyant', 'buoyed', 'buoys', 'burberry', 'burden', 'bure', 'bureau', 'burger', 'burgers', 'burglarized', 'burglary', 'burial', 'buried', 'burke', 'burn', 'burned', 'burning', 'burns', 'burrito', 'burst', 'bursts', 'burton', 'burwell', 'bury', 'bus', 'busby', 'bush', 'busiest', 'business', 'businesses', 'bust', 'busted', 'busting', 'busts', 'busy', 'butler', 'butt', 'butterflies', 'butterfly', 'button', 'butts', 'buy', 'buyback', 'buybacks', 'buyer', 'buyers', 'buying', 'buyout', 'buys', 'buzz', 'bvo', 'bww', 'bye', 'bynes', 'bypass', 'byrne', 'bytes', 'ca', 'cab', 'cabaret', 'cabbage', 'cabbies', 'cabinet', 'cabins', 'cable', 'cabs', 'cache', 'cad', 'cadillac', 'caesar', 'caesars', 'cafe', 'caffeine', 'cage', 'cake', 'cal', 'calculator', 'caleb', 'calendar', 'calif', 'california', 'californians', 'call', 'called', 'calling', 'calls', 'calm', 'calorie', 'calories', 'calvin', 'cam', 'camaro', 'camaros', 'cambridge', 'came', 'camel', 'camelopardalid', 'camelopardalids', 'camels', 'cameo', 'cameos', 'camera', 'cameras', 'cameron', 'camp', 'campaign', 'campaigners', 'campaigns', 'campbell', 'campus', 'camry', 'canaccord', 'canada', 'canadian', 'canadians', 'cancel', 'cancelcolbert', 'canceled', 'canceling', 'cancellation', 'cancellations', 'cancelled', 'cancelling', 'cancels', 'cancer', 'cancerous', 'cancers', 'candace', 'candice', 'candid', 'candidate', 'candidates', 'candy', 'cannabis', 'canned', 'cannes', 'cannibal', 'cannibals', 'cannon', 'cannot', 'canon', 'cantor', 'cap', 'capabilities', 'capability', 'capable', 'capacity', 'cape', 'caper', 'capex', 'capital', 'capitalism', 'capitalist', 'capitol', 'capped', 'caps', 'capsule', 'capsules', 'captain', 'captive', 'capture', 'captured', 'captures', 'capturing', 'car', 'cara', 'caracal', 'carat', 'caravan', 'carb', 'carbon', 'card', 'cardboard', 'cardiac', 'cardiovascular', 'cards', 'care', 'career', 'careers', 'careful', 'carefully', 'caregivers', 'carell', 'cares', 'carey', 'cargill', 'cargo', 'caribbean', 'carl', 'carly', 'carlyle', 'carmakers', 'carnage', 'carney', 'carnival', 'carolina', 'carousel', 'carpet', 'carphone', 'carplay', 'carriage', 'carriages', 'carrie', 'carried', 'carrier', 'carriers', 'carries', 'carry', 'carrying', 'cars', 'carson', 'cart', 'carta', 'carter', 'cartoon', 'cartridges', 'casablancas', 'case', 'cases', 'casey', 'cash', 'cashes', 'casino', 'cast', 'casting', 'castle', 'castro', 'casts', 'casual', 'casualty', 'cat', 'catalog', 'catanzaro', 'cataract', 'catastrophe', 'catastrophic', 'catch', 'catcher', 'catches', 'catching', 'categories', 'category', 'cater', 'caterpillar', 'catherine', 'catholic', 'cats', 'cattle', 'caught', 'cause', 'caused', 'causes', 'causing', 'caution', 'cautions', 'cautious', 'cautiously', 'cavallari', 'cavanagh', 'cave', 'cavill', 'cbeyond', 'cbo', 'cbs', 'cc', 'cd', 'cdc', 'cease', 'cee', 'celeb', 'celebrate', 'celebrated', 'celebrates', 'celebrating', 'celebration', 'celebrations', 'celebrities', 'celebrity', 'celebs', 'celestial', 'celgene', 'celine', 'cell', 'cellphone', 'cellphones', 'cells', 'cellular', 'cement', 'cena', 'censor', 'censored', 'censorship', 'census', 'cent', 'center', 'centers', 'central', 'centre', 'centric', 'cents', 'century', 'ceo', 'ceos', 'cereal', 'cereals', 'ceremony', 'cersei', 'certain', 'certainly', 'certified', 'certifies', 'cervical', 'cesar', 'ceylan', 'cfda', 'cfdas', 'cfo', 'cfpb', 'cg', 'cgi', 'ch', 'cha', 'chad', 'chadder', 'chadwick', 'chai', 'chain', 'chains', 'chair', 'chairman', 'challenge', 'challenged', 'challenger', 'challenges', 'challenging', 'champ', 'champion', 'champions', 'chance', 'chancellor', 'chances', 'chanel', 'chang', 'change', 'changed', 'changer', 'changes', 'changing', 'channel', 'channels', 'channing', 'chaos', 'chaotic', 'chappelle', 'chapter', 'character', 'characters', 'charge', 'charged', 'charger', 'chargers', 'charges', 'charging', 'chariklo', 'charities', 'charity', 'charles', 'charleston', 'charlie', 'charlize', 'charlotte', 'charlottesville', 'charm', 'charming', 'charney', 'charon', 'chart', 'charter', 'charts', 'chase', 'chased', 'chases', 'chasing', 'chastain', 'chat', 'chats', 'chattanooga', 'chatter', 'chatting', 'chavez', 'cheap', 'cheaper', 'cheapest', 'cheat', 'cheated', 'cheating', 'cheats', 'check', 'checked', 'checking', 'checkout', 'checks', 'checkup', 'cheek', 'cheeky', 'cheer', 'cheerleader', 'cheers', 'cheese', 'cheesecake', 'cheetah', 'chef', 'chefs', 'chelsea', 'cheltenham', 'chemical', 'chemicals', 'chemistry', 'chemo', 'chemotherapy', 'chen', 'chennai', 'chernin', 'cherokee', 'cherry', 'cheryl', 'chesapeake', 'chest', 'chevrolet', 'chevron', 'chevy', 'chewbacca', 'chf', 'chia', 'chic', 'chicago', 'chick', 'chicken', 'chief', 'chiefs', 'chiklis', 'chikungunya', 'child', 'childbirth', 'childhood', 'children', 'chili', 'chill', 'chilling', 'chills', 'chime', 'chimerica', 'chimerix', 'chimps', 'china', 'chinese', 'ching', 'chip', 'chipmaker', 'chipotle', 'chips', 'chiquita', 'chloe', 'chmerkovskiy', 'chobani', 'chocolate', 'chocolates', 'choice', 'choices', 'choir', 'cholesterol', 'chong', 'choose', 'chooses', 'choosing', 'chop', 'choppy', 'chops', 'chord', 'chose', 'chosen', 'chris', 'christ', 'christian', 'christians', 'christie', 'christina', 'christine', 'christmas', 'christopher', 'chrome', 'chromebook', 'chromebooks', 'chromecast', 'chronic', 'chrysler', 'chu', 'chubby', 'chuck', 'chunk', 'church', 'churches', 'cialis', 'ciara', 'cig', 'cigarette', 'cigarettes', 'cigs', 'cincinnati', 'cinco', 'cinema', 'cinemacon', 'cinemas', 'cinematic', 'cinematographer', 'cio', 'circle', 'circles', 'circling', 'circuit', 'circular', 'circus', 'cirrus', 'cisco', 'cite', 'cited', 'cites', 'citi', 'citibank', 'cities', 'citigroup', 'citing', 'citizen', 'citizens', 'citrus', 'city', 'civil', 'civilization', 'cj', 'ck', 'clad', 'claim', 'claimed', 'claiming', 'claims', 'claire', 'clamp', 'clampdown', 'clan', 'clare', 'clarifies', 'clarify', 'clarity', 'clark', 'clarke', 'clarkson', 'clash', 'clashes', 'class', 'classic', 'classics', 'classified', 'classy', 'clause', 'claws', 'clay', 'clean', 'cleaner', 'cleaning', 'cleans', 'cleanup', 'clear', 'cleared', 'clearer', 'clearing', 'clearly', 'clears', 'cleary', 'cleavage', 'cleveland', 'clever', 'clich', 'cliches', 'click', 'clicks', 'client', 'clients', 'cliff', 'climate', 'climb', 'climbed', 'climbing', 'climbs', 'clinches', 'clinic', 'clinical', 'clinics', 'clint', 'clinton', 'clip', 'clips', 'clock', 'clone', 'cloned', 'clones', 'cloning', 'clooney', 'close', 'closed', 'closely', 'closer', 'closes', 'closest', 'closing', 'closure', 'closures', 'clot', 'clothes', 'clothing', 'clots', 'cloud', 'clouds', 'cloudy', 'clover', 'clown', 'club', 'clue', 'clueless', 'clues', 'clunky', 'cluster', 'cmcsa', 'cmg', 'cms', 'cnbc', 'cnn', 'co', 'coach', 'coachella', 'coaches', 'coal', 'coalition', 'coast', 'coastal', 'coaster', 'cobain', 'cobalt', 'cobra', 'coca', 'cocaine', 'cochlear', 'cochran', 'cockpit', 'cocktail', 'cocktails', 'code', 'codeine', 'coding', 'cody', 'coen', 'coffee', 'coffin', 'cofounder', 'cognitive', 'cohen', 'coin', 'coins', 'coke', 'cola', 'colbert', 'cold', 'coldest', 'coldplay', 'coldwater', 'coleman', 'colfer', 'coli', 'colin', 'colitis', 'collaborate', 'collaboration', 'collapse', 'collapsed', 'collapses', 'collapsing', 'colleagues', 'collect', 'collected', 'collecting', 'collection', 'collector', 'collectors', 'collects', 'college', 'collide', 'collided', 'collins', 'collision', 'colo', 'colombia', 'colombian', 'colon', 'colonoscopy', 'color', 'colorado', 'colorectal', 'colorful', 'colors', 'colossal', 'colour', 'colourful', 'colours', 'columbia', 'columbus', 'column', 'columnist', 'columns', 'com', 'coma', 'combat', 'combating', 'combination', 'combine', 'combined', 'combines', 'combining', 'combo', 'combs', 'comcast', 'come', 'comeback', 'comedian', 'comedic', 'comedies', 'comedy', 'comes', 'comet', 'comex', 'comfort', 'comfortable', 'comic', 'comics', 'coming', 'comixology', 'command', 'commands', 'commemorate', 'commemorates', 'commence', 'commencement', 'comment', 'commentary', 'comments', 'commerce', 'commercial', 'commission', 'commissioner', 'commit', 'commitment', 'commitments', 'commits', 'committed', 'committee', 'commodities', 'commodity', 'common', 'commonwealth', 'communicated', 'communication', 'communications', 'communion', 'communities', 'community', 'commute', 'commuter', 'commuters', 'compact', 'companies', 'companion', 'company', 'compare', 'compared', 'compares', 'comparing', 'comparison', 'comparisons', 'compass', 'compatibility', 'compatible', 'compelling', 'compensation', 'compete', 'competing', 'competition', 'competitive', 'competitor', 'competitors', 'complacency', 'complacent', 'complain', 'complained', 'complaining', 'complains', 'complaint', 'complaints', 'complete', 'completed', 'completely', 'completes', 'complex', 'compliance', 'complicated', 'complication', 'complications', 'comply', 'component', 'components', 'composer', 'composite', 'compound', 'comprehensive', 'compromise', 'compromised', 'compton', 'computer', 'computers', 'computex', 'computing', 'comrie', 'con', 'conagra', 'conakry', 'conan', 'concentration', 'concept', 'conception', 'concepts', 'concern', 'concerned', 'concerns', 'concert', 'concertgoers', 'concerts', 'conchita', 'concierge', 'conclude', 'concludes', 'conclusion', 'concussion', 'concussions', 'condemn', 'condemned', 'condemns', 'condition', 'conditional', 'conditions', 'condo', 'condoms', 'conduct', 'conducted', 'conducting', 'conducts', 'cone', 'conference', 'confesses', 'confession', 'confidence', 'confident', 'confirm', 'confirmation', 'confirmed', 'confirming', 'confirms', 'conflict', 'conflicting', 'conflicts', 'confront', 'confrontation', 'confronted', 'confronts', 'confused', 'confusing', 'confusion', 'congo', 'congrats', 'congratulates', 'congress', 'congressional', 'congressman', 'conjoined', 'conn', 'connect', 'connected', 'connecticut', 'connecting', 'connection', 'connections', 'connectivity', 'connector', 'connects', 'connelly', 'connick', 'connor', 'conquer', 'conquest', 'conquests', 'cons', 'conscious', 'consciously', 'consecutive', 'consensus', 'consent', 'consequences', 'conservation', 'conservative', 'conservatives', 'consider', 'consideration', 'considered', 'considering', 'considers', 'consistent', 'console', 'consoles', 'consolidate', 'consolidates', 'consolidation', 'consortium', 'conspiracy', 'constancio', 'constant', 'constantly', 'constitution', 'constitutional', 'construction', 'consumer', 'consumers', 'consuming', 'consumption', 'contact', 'contacts', 'contagion', 'contagious', 'contain', 'contained', 'container', 'containing', 'contains', 'contaminated', 'contamination', 'contemporary', 'contempt', 'contender', 'content', 'contest', 'contestant', 'contestants', 'context', 'continent', 'continue', 'continued', 'continues', 'continuing', 'continuity', 'contraception', 'contraceptive', 'contract', 'contracted', 'contracting', 'contractor', 'contractors', 'contracts', 'contribute', 'contributed', 'contributes', 'contributor', 'control', 'controlled', 'controller', 'controllers', 'controlling', 'controls', 'controversial', 'controversy', 'convenes', 'convention', 'conventional', 'converge', 'conversation', 'conversations', 'conversion', 'convertible', 'convicted', 'conviction', 'convince', 'convinced', 'coo', 'cook', 'cooking', 'cool', 'cooler', 'coolest', 'cooling', 'cools', 'cooper', 'cooperation', 'cop', 'copaxone', 'cope', 'copied', 'copies', 'copper', 'coppola', 'cops', 'copy', 'copying', 'copyright', 'coral', 'corbett', 'cord', 'core', 'corey', 'cork', 'corn', 'corned', 'cornelius', 'cornell', 'corner', 'coronavirus', 'coroner', 'corp', 'corporate', 'corporation', 'corporations', 'corps', 'correct', 'corrected', 'correction', 'correctness', 'corrects', 'corruption', 'cortana', 'corvette', 'cory', 'cos', 'cosby', 'cosmic', 'cosmos', 'cosplay', 'cost', 'costa', 'costco', 'costing', 'costly', 'costner', 'costolo', 'costs', 'costume', 'costumes', 'cosy', 'cota', 'cotillard', 'cottage', 'cotton', 'couch', 'cough', 'could', 'coulier', 'council', 'counihan', 'counseling', 'counselor', 'counselors', 'count', 'countdown', 'counter', 'counters', 'counties', 'counting', 'countries', 'country', 'countrywide', 'counts', 'county', 'coup', 'coupe', 'couple', 'couples', 'courage', 'couric', 'course', 'court', 'courteney', 'courtesy', 'courting', 'courtney', 'courtroom', 'courts', 'cousin', 'cousteau', 'couture', 'cov', 'cover', 'coverage', 'covered', 'covering', 'covers', 'covert', 'coveted', 'covidien', 'cow', 'cowell', 'cowles', 'cows', 'cox', 'coyne', 'cozy', 'cpi', 'cpu', 'cr', 'cra', 'crack', 'crackdown', 'cracked', 'cracking', 'crackle', 'cracks', 'craft', 'crafts', 'craig', 'cramer', 'cramming', 'cranks', 'cranston', 'crap', 'crapo', 'crash', 'crashed', 'crashes', 'crashing', 'crater', 'cravings', 'crawford', 'crawl', 'crawley', 'craze', 'crazed', 'craziest', 'crazy', 'cream', 'create', 'created', 'creates', 'creating', 'creation', 'creationists', 'creative', 'creativity', 'creator', 'creators', 'creature', 'creatures', 'cred', 'credentials', 'credibility', 'credible', 'credit', 'creditors', 'credits', 'creed', 'creek', 'creep', 'creeps', 'creepy', 'cref', 'cressida', 'crew', 'crews', 'cricket', 'cried', 'cries', 'crime', 'crimea', 'crimes', 'criminal', 'criminals', 'cringe', 'cripple', 'crippled', 'crises', 'crisis', 'criss', 'cristina', 'critic', 'critical', 'critically', 'criticised', 'criticises', 'criticism', 'criticize', 'criticized', 'criticizes', 'critics', 'crocodile', 'crohn', 'croke', 'cronenberg', 'crop', 'crops', 'crore', 'crosby', 'cross', 'crosse', 'crossed', 'crosses', 'crossing', 'crossover', 'crossovers', 'crow', 'crowd', 'crowded', 'crowdfunding', 'crowds', 'crowe', 'crown', 'crowned', 'crowns', 'crows', 'crucial', 'crucifixion', 'crude', 'cruel', 'cruise', 'cruises', 'crumbles', 'crumbling', 'crumbs', 'crunch', 'crusade', 'crush', 'crushed', 'crushes', 'crushing', 'cruz', 'cruze', 'cruzes', 'cry', 'cryengine', 'crying', 'cryptic', 'cryptocurrency', 'cryptolocker', 'crystal', 'crytek', 'cs', 'ct', 'ctia', 'ctos', 'cts', 'cu', 'cub', 'cuba', 'cube', 'cuddle', 'cuddles', 'cuddly', 'cue', 'cues', 'culkin', 'cull', 'culprit', 'cult', 'cultural', 'culture', 'cumberbatch', 'cumia', 'cumming', 'cuoco', 'cuomo', 'cup', 'cupcake', 'cupcakes', 'cups', 'curate', 'curb', 'curbing', 'curbs', 'cure', 'cured', 'cures', 'curiosity', 'curious', 'currencies', 'currency', 'current', 'currently', 'curry', 'curse', 'curtain', 'curve', 'curved', 'curves', 'custody', 'custom', 'customer', 'customers', 'customizable', 'customization', 'customize', 'customs', 'cut', 'cutbacks', 'cute', 'cutest', 'cutler', 'cuts', 'cutters', 'cutting', 'cw', 'cyanogenmod', 'cyber', 'cyberattack', 'cybercrime', 'cybersecurity', 'cyberspying', 'cyborg', 'cycle', 'cyclists', 'cygnus', 'cynical', 'cynicism', 'cynk', 'cynthia', 'cyprus', 'cyrus', 'da', 'dad', 'daddy', 'dads', 'daenerys', 'dai', 'daiichi', 'daily', 'dailydish', 'daimler', 'dairy', 'daisy', 'dakota', 'dallas', 'dam', 'damage', 'damaged', 'damages', 'damaging', 'dame', 'damn', 'damon', 'dan', 'dance', 'dancer', 'dancers', 'dances', 'dancing', 'dane', 'danger', 'dangerous', 'dangerously', 'dangers', 'dani', 'danica', 'daniel', 'daniels', 'danish', 'danny', 'danske', 'darabont', 'darden', 'dare', 'daredevil', 'daring', 'dark', 'darker', 'darkness', 'darling', 'darpa', 'darren', 'dash', 'dashboard', 'data', 'database', 'date', 'dated', 'dates', 'dating', 'daughter', 'daughters', 'daum', 'dave', 'david', 'davidson', 'davis', 'dawn', 'dax', 'day', 'daylight', 'days', 'daytime', 'dazeem', 'dazs', 'dazzle', 'dazzles', 'dazzling', 'dc', 'ddd', 'ddos', 'de', 'dea', 'dead', 'deadlier', 'deadliest', 'deadline', 'deadly', 'deadmau', 'deaf', 'deal', 'dealer', 'dealers', 'dealerships', 'dealing', 'deals', 'dealt', 'dean', 'dear', 'death', 'deaths', 'debacle', 'debate', 'debates', 'debbie', 'debit', 'debris', 'debt', 'debts', 'debunk', 'debunked', 'debunks', 'debut', 'debuting', 'debuts', 'dec', 'decade', 'decades', 'deceased', 'deceived', 'deceiving', 'december', 'decent', 'deception', 'deceptive', 'decide', 'decided', 'decides', 'decision', 'decisions', 'decisive', 'deck', 'declaration', 'declare', 'declared', 'declares', 'declaring', 'decline', 'declined', 'declines', 'declining', 'decrease', 'decreased', 'decreases', 'decreasing', 'decries', 'decry', 'dedicated', 'dedicates', 'dedication', 'dee', 'deemed', 'deems', 'deep', 'deepens', 'deeper', 'deepest', 'deeply', 'deepwater', 'default', 'defaults', 'defeat', 'defeats', 'defect', 'defective', 'defects', 'defence', 'defend', 'defended', 'defending', 'defends', 'defense', 'defensive', 'defiant', 'deficiency', 'deficit', 'deficits', 'defies', 'define', 'defined', 'definitely', 'definition', 'definitive', 'deflation', 'deflationary', 'defy', 'degeneres', 'degrasse', 'degree', 'dehaan', 'del', 'delaware', 'delay', 'delayed', 'delaying', 'delays', 'delete', 'deleted', 'deletes', 'deleting', 'delevingne', 'delhi', 'deliberately', 'deliberations', 'delicious', 'delight', 'delights', 'deliver', 'delivered', 'deliveries', 'delivering', 'delivers', 'delivery', 'dell', 'delmarvas', 'delphi', 'delta', 'delvin', 'demand', 'demanding', 'demands', 'dementia', 'demi', 'demise', 'demo', 'democracy', 'democrat', 'democratic', 'democrats', 'demonstrate', 'demonstrates', 'demonstration', 'demos', 'dems', 'dengue', 'denial', 'denied', 'denies', 'denim', 'denounces', 'dent', 'dentist', 'dents', 'denver', 'deny', 'denzel', 'depardieu', 'depart', 'departing', 'department', 'departs', 'departure', 'depends', 'depiction', 'deploy', 'deposit', 'deposition', 'deposits', 'depot', 'depp', 'depressed', 'depressing', 'depression', 'deprill', 'dept', 'depth', 'deputies', 'deputy', 'derail', 'derailed', 'derailment', 'derails', 'derek', 'derrickson', 'derulo', 'deryck', 'described', 'describes', 'desert', 'deserve', 'deserved', 'deserves', 'design', 'designation', 'designed', 'designer', 'designers', 'designing', 'designs', 'desire', 'desktop', 'desktops', 'desperate', 'desperately', 'despite', 'destination', 'destined', 'destiny', 'destroy', 'destroyed', 'destroying', 'destroys', 'destruction', 'detail', 'detailed', 'details', 'detained', 'detect', 'detected', 'detecting', 'detection', 'detective', 'detector', 'detectors', 'detects', 'deter', 'determine', 'determined', 'determines', 'detroit', 'deutsche', 'deutschland', 'dev', 'devastated', 'devastating', 'develop', 'developed', 'developer', 'developers', 'developing', 'development', 'developments', 'develops', 'device', 'devices', 'devil', 'devon', 'devoted', 'devotion', 'devs', 'dewan', 'dexter', 'dhabi', 'di', 'diabetes', 'diabetic', 'diabetics', 'diablo', 'diagnose', 'diagnosed', 'diagnoses', 'diagnosis', 'diagnostics', 'diagon', 'dialogue', 'dials', 'dialysis', 'diamond', 'diamonds', 'diana', 'diane', 'dianna', 'diary', 'diaz', 'dibs', 'dicaprio', 'dick', 'dictator', 'diddy', 'die', 'died', 'diego', 'diem', 'dies', 'diesel', 'diet', 'dietary', 'dieters', 'dieting', 'diets', 'difference', 'differences', 'different', 'differently', 'difficult', 'difficulties', 'dig', 'digest', 'digging', 'digit', 'digital', 'digits', 'digs', 'dilemma', 'diller', 'dim', 'dimensions', 'dimon', 'dina', 'diners', 'dining', 'dinklage', 'dinner', 'dino', 'dinosaur', 'dinosaurs', 'dion', 'dior', 'dioxide', 'dip', 'dipping', 'dips', 'dire', 'direct', 'directed', 'directing', 'direction', 'directions', 'directly', 'director', 'directorial', 'directors', 'directs', 'directtv', 'directv', 'dirt', 'dirtiest', 'dirty', 'dis', 'disability', 'disable', 'disabled', 'disagree', 'disappear', 'disappearance', 'disappearing', 'disappoint', 'disappointed', 'disappointing', 'disappointment', 'disappoints', 'disaster', 'disasters', 'disastrous', 'disclose', 'discloses', 'disclosure', 'discontinue', 'discontinued', 'discontinues', 'discount', 'discounted', 'discounts', 'discourages', 'discouraging', 'discover', 'discovered', 'discovers', 'discovery', 'discrimination', 'discuss', 'discussed', 'discusses', 'discussing', 'discussion', 'discussions', 'disease', 'diseases', 'disguise', 'disguised', 'disgusted', 'disgusting', 'dish', 'dishes', 'disick', 'disks', 'dismal', 'dismiss', 'dismissal', 'dismissed', 'dismisses', 'disney', 'disneyland', 'disneynature', 'disorder', 'disorderly', 'disorders', 'disparaging', 'display', 'displays', 'dispute', 'disputed', 'disputes', 'disrespectful', 'disrupt', 'disrupted', 'disrupting', 'disruption', 'disruptions', 'disruptive', 'disrupts', 'diss', 'dissed', 'dissent', 'disses', 'dissing', 'distance', 'distances', 'distant', 'distinct', 'distinguish', 'distracted', 'distraction', 'distraught', 'distressed', 'distributed', 'distribution', 'district', 'disturbing', 'ditch', 'ditched', 'ditches', 'ditching', 'diva', 'dive', 'divergent', 'diverse', 'diversity', 'diverted', 'dives', 'divest', 'divide', 'divided', 'dividend', 'dividends', 'diving', 'division', 'divorce', 'divorced', 'divorcing', 'dixons', 'dj', 'djia', 'dlc', 'dmitry', 'dmv', 'dna', 'doc', 'dock', 'docker', 'docking', 'docks', 'docomo', 'docs', 'doctor', 'doctors', 'docu', 'document', 'documentary', 'documents', 'dodge', 'dodgers', 'dodges', 'dodging', 'dog', 'dogg', 'dogs', 'doh', 'doj', 'dolan', 'dolby', 'dolce', 'doldrums', 'doll', 'dollar', 'dollars', 'dolls', 'dolly', 'dolphin', 'dolphins', 'dom', 'domain', 'dome', 'domestic', 'domestication', 'dominance', 'dominate', 'dominated', 'dominates', 'dominating', 'domination', 'domino', 'donald', 'donate', 'donated', 'donates', 'donating', 'donation', 'donations', 'done', 'donetsk', 'dong', 'donnell', 'donner', 'donnie', 'donor', 'donors', 'donovan', 'dons', 'doo', 'doodle', 'doom', 'doomed', 'door', 'doors', 'dorchester', 'dorfman', 'dornan', 'dorothy', 'dos', 'dose', 'doses', 'dot', 'dotcom', 'dots', 'double', 'doubled', 'doubles', 'doubling', 'doubt', 'doubters', 'doubtfire', 'doubts', 'doug', 'doughnuts', 'douglas', 'dov', 'dove', 'dovish', 'dow', 'dowd', 'downbeat', 'downed', 'downes', 'downey', 'downgrade', 'downgraded', 'downgrades', 'download', 'downloads', 'downplays', 'downs', 'downside', 'downtown', 'downward', 'dozen', 'dozens', 'dr', 'draft', 'drag', 'dragged', 'draghi', 'dragon', 'dragons', 'drags', 'drain', 'drake', 'drama', 'dramatic', 'dramatically', 'draper', 'drastic', 'drastically', 'draw', 'drawing', 'drawn', 'draws', 'dre', 'dreadful', 'dream', 'dreaming', 'dreamliner', 'dreams', 'dreamworks', 'dress', 'dressed', 'dresses', 'dressing', 'drew', 'dreyfus', 'dri', 'drift', 'drifting', 'drifts', 'drill', 'drilling', 'drills', 'drink', 'drinkable', 'drinker', 'drinkers', 'drinking', 'drinks', 'drive', 'driven', 'driver', 'driverless', 'drivers', 'drives', 'driving', 'drone', 'drones', 'drop', 'dropbox', 'dropcam', 'dropped', 'dropping', 'drops', 'drought', 'drove', 'drowsy', 'drug', 'drugging', 'drugmaker', 'drugs', 'drugstore', 'drum', 'drummer', 'drunk', 'drunken', 'dry', 'ds', 'dsk', 'dsw', 'dtv', 'dual', 'duane', 'dubai', 'dubbed', 'dubious', 'dublin', 'duchenne', 'duchess', 'duck', 'dud', 'dude', 'dudley', 'due', 'duel', 'duet', 'duets', 'duff', 'dug', 'dui', 'duke', 'dull', 'dumb', 'dump', 'dumped', 'dumping', 'dumps', 'duncan', 'dunham', 'duo', 'duos', 'dupont', 'durable', 'duracell', 'durata', 'durbin', 'durham', 'dust', 'dutch', 'duties', 'duty', 'dvd', 'dvf', 'dvr', 'dwarf', 'dwayne', 'dwi', 'dwts', 'dx', 'dyes', 'dying', 'dyken', 'dylan', 'dynamic', 'dynasty', 'dysfunction', 'dystrophy', 'ea', 'eaccess', 'eager', 'eagle', 'ear', 'earbuds', 'earlier', 'early', 'earn', 'earned', 'earning', 'earnings', 'earns', 'earp', 'earphones', 'earpods', 'ears', 'earth', 'earthquake', 'earthquakes', 'earthrise', 'earths', 'ease', 'eased', 'eases', 'easier', 'easily', 'easing', 'east', 'easter', 'eastern', 'eastwood', 'easy', 'easyjet', 'eat', 'eaten', 'eating', 'eats', 'eavesdropping', 'eavis', 'eazy', 'ebay', 'ebert', 'ebola', 'ebook', 'ebooks', 'ec', 'ecb', 'eccentric', 'echo', 'echoes', 'eclipse', 'eclipses', 'eco', 'ecoboost', 'economic', 'economics', 'economies', 'economist', 'economists', 'economy', 'ecosystem', 'ecosystems', 'ecowas', 'ecstasy', 'eczema', 'ed', 'eddie', 'eddy', 'edgar', 'edge', 'edged', 'edges', 'edging', 'edie', 'edit', 'editing', 'edition', 'editions', 'editor', 'editorial', 'edt', 'education', 'edward', 'edwards', 'eerie', 'eerily', 'effect', 'effective', 'effectively', 'effectiveness', 'effects', 'efficacy', 'efficiency', 'efficient', 'effort', 'efforts', 'efron', 'egan', 'egg', 'egging', 'eggs', 'ego', 'egypt', 'egyptian', 'eia', 'eich', 'eight', 'eighth', 'either', 'el', 'elaine', 'elba', 'elder', 'elderly', 'elec', 'elected', 'election', 'elections', 'electric', 'electrical', 'electricity', 'electro', 'electron', 'electronic', 'electronics', 'elegant', 'element', 'elementary', 'elephant', 'elephants', 'elevated', 'elevator', 'eleven', 'elgort', 'eli', 'eligible', 'eliminate', 'eliminated', 'eliminates', 'elimination', 'eliminations', 'elin', 'elisabeth', 'elite', 'elizabeth', 'elle', 'ellen', 'ellie', 'elliot', 'elliott', 'elon', 'elop', 'elope', 'elr', 'elsa', 'else', 'elsewhere', 'elton', 'elusive', 'elvis', 'em', 'email', 'emails', 'emanuel', 'embark', 'embarks', 'embarrassed', 'embarrassing', 'embassy', 'embattled', 'embrace', 'embraced', 'embraces', 'embracing', 'embryonic', 'emc', 'emerge', 'emergency', 'emerges', 'emerging', 'emilia', 'emily', 'eminem', 'emirates', 'emission', 'emissions', 'emma', 'emmy', 'emmys', 'emoji', 'emojis', 'emotion', 'emotional', 'emotionally', 'emotions', 'emperor', 'emphasizes', 'empire', 'employee', 'employees', 'employer', 'employers', 'employment', 'empower', 'empowerment', 'empty', 'emt', 'en', 'enable', 'enabled', 'enables', 'encana', 'encounter', 'encourage', 'encouraged', 'encourages', 'encouraging', 'encrypted', 'encryption', 'encrypts', 'end', 'endangered', 'endangers', 'ended', 'ending', 'endless', 'endocyte', 'endorses', 'ends', 'enemies', 'enemy', 'energy', 'enforce', 'enforcement', 'engage', 'engaged', 'engagement', 'engaging', 'engine', 'engineer', 'engineered', 'engineering', 'engineers', 'engines', 'england', 'english', 'enhance', 'enhanced', 'enhancements', 'enhances', 'eni', 'enjoy', 'enjoyed', 'enjoys', 'enlisted', 'enlists', 'enormous', 'enough', 'enovance', 'enroll', 'enrolled', 'enrollees', 'enrollment', 'ensure', 'enter', 'entered', 'entering', 'enterprise', 'enterprises', 'enters', 'entertainer', 'entertaining', 'entertainment', 'enthusiasts', 'entire', 'entirely', 'entrance', 'entrepreneur', 'entrepreneurs', 'entries', 'entry', 'entwistle', 'entyvio', 'envelopes', 'environment', 'environmental', 'envoy', 'envy', 'ep', 'epa', 'epic', 'epidemic', 'epilepsy', 'episcopal', 'episode', 'episodes', 'eps', 'equal', 'equality', 'equalizer', 'equals', 'equinox', 'equipment', 'equipped', 'equities', 'equity', 'er', 'era', 'eradicate', 'erase', 'erased', 'erases', 'erdogan', 'erectile', 'eric', 'ericsson', 'erie', 'error', 'errors', 'ers', 'erste', 'erupting', 'eruption', 'erupts', 'erykah', 'esa', 'escalate', 'escalates', 'escalating', 'escape', 'escapes', 'escaping', 'escort', 'escorted', 'especially', 'espionage', 'esposito', 'espresso', 'espy', 'espys', 'esque', 'essay', 'essence', 'essential', 'est', 'establish', 'estate', 'estimate', 'estimated', 'estimates', 'estranged', 'et', 'eta', 'eteplirsen', 'eternal', 'etf', 'etfs', 'ethanol', 'ethereal', 'ethical', 'ethics', 'etihad', 'eu', 'eur', 'euro', 'europe', 'european', 'europeans', 'euros', 'eurosceptic', 'eurostar', 'eurotunnel', 'eurovision', 'eurozone', 'eurusd', 'ev', 'eva', 'evacuate', 'evacuated', 'evacuates', 'evade', 'evaluate', 'evaluation', 'evans', 'evansville', 'evasion', 'eve', 'even', 'evening', 'event', 'events', 'eventually', 'ever', 'everest', 'every', 'everybody', 'everyday', 'everyone', 'everything', 'everywhere', 'eviction', 'evidence', 'evil', 'evolution', 'evolutionary', 'evolved', 'ew', 'ex', 'exact', 'exactly', 'exaggerated', 'exam', 'examine', 'examined', 'examiner', 'examines', 'examining', 'example', 'exams', 'exceed', 'exceeds', 'excel', 'excellent', 'except', 'excerpt', 'excess', 'excessive', 'exchange', 'exchanges', 'excited', 'excitement', 'exciting', 'exclusive', 'exclusively', 'excuse', 'exec', 'execs', 'executive', 'executives', 'exelon', 'exercise', 'exhausting', 'exhibit', 'exhibition', 'exist', 'existence', 'existing', 'exists', 'exit', 'exiting', 'exits', 'exodus', 'exomoon', 'exoplanet', 'exoskeleton', 'exotic', 'expand', 'expanded', 'expanding', 'expands', 'expansion', 'expect', 'expectancy', 'expectations', 'expected', 'expecting', 'expects', 'expedition', 'expendables', 'expense', 'expenses', 'expensive', 'experience', 'experiences', 'experiencing', 'experiment', 'experimental', 'experimented', 'experimenting', 'experiments', 'expert', 'experts', 'expires', 'explain', 'explained', 'explainer', 'explaining', 'explains', 'explanation', 'expletive', 'explicit', 'explode', 'explodes', 'exploding', 'exploit', 'exploited', 'exploiting', 'exploits', 'exploration', 'explore', 'explored', 'explorer', 'explorers', 'explores', 'exploring', 'explosion', 'explosions', 'explosive', 'expo', 'export', 'exporting', 'exports', 'expose', 'exposed', 'exposes', 'exposure', 'expr', 'express', 'expresses', 'expression', 'expressions', 'expressway', 'extant', 'extend', 'extended', 'extending', 'extends', 'extension', 'extensions', 'extensive', 'external', 'extinct', 'extinction', 'extortion', 'extra', 'extract', 'extradited', 'extradition', 'extraordinary', 'extravaganza', 'extreme', 'extremely', 'exxon', 'exynos', 'eye', 'eyebrows', 'eyed', 'eyeing', 'eyes', 'eyewear', 'faa', 'fab', 'fabien', 'fabricated', 'fabulous', 'face', 'facebook', 'faced', 'facelift', 'faces', 'facetime', 'facial', 'facilities', 'facility', 'facing', 'fact', 'factbox', 'factor', 'factories', 'factors', 'factory', 'facts', 'fad', 'fade', 'fades', 'fading', 'fail', 'failed', 'failing', 'failings', 'fails', 'failure', 'failures', 'faint', 'fair', 'fairfax', 'fairly', 'fairness', 'fairy', 'fairytale', 'faith', 'faithful', 'fake', 'faked', 'fakes', 'faking', 'falcon', 'falcone', 'fall', 'fallen', 'falling', 'fallon', 'fallout', 'falls', 'false', 'falsified', 'falter', 'falters', 'fame', 'famed', 'famer', 'familiar', 'families', 'family', 'famous', 'fan', 'fancy', 'fandango', 'fanless', 'fannie', 'fanning', 'fans', 'fantastic', 'fantasy', 'faq', 'far', 'farce', 'fare', 'fared', 'fares', 'farewell', 'fargo', 'farley', 'farm', 'farmer', 'farmers', 'farming', 'farmland', 'farms', 'farmville', 'fascinating', 'fashion', 'fashionable', 'fashioned', 'fast', 'faster', 'fastest', 'fasting', 'fat', 'fatal', 'fatality', 'fatburger', 'fate', 'father', 'fathers', 'fatigue', 'fats', 'fatter', 'fattest', 'fatty', 'fault', 'faults', 'faulty', 'faux', 'favor', 'favorable', 'favorite', 'favorites', 'favors', 'favour', 'favourite', 'favourites', 'favreau', 'fb', 'fbi', 'fca', 'fcc', 'fda', 'fdr', 'fear', 'feared', 'fears', 'feast', 'feat', 'feathers', 'feature', 'featured', 'features', 'featurette', 'featuring', 'feb', 'february', 'fed', 'federal', 'fedex', 'feds', 'fee', 'feed', 'feedback', 'feeding', 'feeds', 'feel', 'feeling', 'feelings', 'feels', 'feely', 'fees', 'feet', 'fell', 'fellow', 'felony', 'felt', 'female', 'feminism', 'feminist', 'fence', 'fend', 'ferguson', 'ferrari', 'ferras', 'ferrell', 'ferrera', 'ferry', 'fertility', 'fertilization', 'fest', 'festival', 'festivals', 'festivities', 'fetch', 'fetches', 'feud', 'feuding', 'fever', 'fewer', 'fey', 'fha', 'fhfa', 'fi', 'fianc', 'fiance', 'fiancee', 'fiasco', 'fiat', 'fiber', 'fibroid', 'fiction', 'fidelity', 'field', 'fields', 'fierce', 'fiery', 'fifa', 'fifi', 'fifth', 'fifty', 'fight', 'fightback', 'fighter', 'fighters', 'fighting', 'fights', 'figure', 'figured', 'figures', 'figurine', 'file', 'filed', 'filers', 'files', 'filing', 'filipino', 'filipinos', 'fill', 'filled', 'filling', 'fills', 'film', 'filmed', 'filming', 'filmmaker', 'filmmakers', 'films', 'filters', 'final', 'finale', 'finalise', 'finalises', 'finalist', 'finalists', 'finalize', 'finalized', 'finalizes', 'finally', 'finals', 'finance', 'finances', 'financial', 'financials', 'financier', 'financing', 'fincher', 'find', 'finding', 'findings', 'finds', 'fine', 'fined', 'fines', 'finest', 'finger', 'fingerprint', 'fingerreader', 'finish', 'finished', 'finishes', 'finland', 'finnish', 'fio', 'fire', 'firearms', 'fireball', 'fired', 'firefighters', 'firefly', 'firefox', 'fires', 'firestorm', 'firewalls', 'firework', 'fireworks', 'firing', 'firm', 'firmer', 'firming', 'firmly', 'firms', 'firmware', 'first', 'firsttweet', 'firth', 'fiscal', 'fischer', 'fish', 'fisher', 'fisheries', 'fishermen', 'fishing', 'fist', 'fit', 'fitbit', 'fitch', 'fitness', 'fittest', 'fitting', 'fitz', 'fitzpatrick', 'five', 'fives', 'fix', 'fixed', 'fixes', 'fixing', 'fizzle', 'fizzles', 'fl', 'fla', 'flag', 'flagged', 'flagging', 'flags', 'flagship', 'flagships', 'flame', 'flames', 'flaming', 'flap', 'flappy', 'flare', 'flares', 'flash', 'flashback', 'flashes', 'flat', 'flaunt', 'flaunts', 'flavor', 'flavors', 'flaw', 'flawed', 'flawless', 'flaws', 'flee', 'fleet', 'fleetwood', 'flesh', 'flew', 'flex', 'flexes', 'flexibility', 'flexible', 'flick', 'flickr', 'flier', 'flies', 'flight', 'flights', 'fling', 'flip', 'flipkart', 'flipped', 'flipping', 'flips', 'flirt', 'flirting', 'flirts', 'flirty', 'float', 'floating', 'floats', 'flock', 'flood', 'flooded', 'flooding', 'floods', 'floor', 'flop', 'floppy', 'flops', 'floral', 'florence', 'florida', 'floridians', 'flounder', 'flow', 'flowers', 'flown', 'flows', 'floyd', 'flu', 'flub', 'flubs', 'fluctuate', 'fluid', 'flurry', 'flush', 'fly', 'flyers', 'flying', 'fm', 'focus', 'focused', 'focuses', 'focusing', 'foe', 'foes', 'foil', 'fold', 'folders', 'folks', 'follow', 'followed', 'following', 'follows', 'fomc', 'fonda', 'font', 'foo', 'food', 'foodborne', 'foods', 'fool', 'fooled', 'fools', 'foot', 'footage', 'football', 'footing', 'footloose', 'footprint', 'footprints', 'footsie', 'footsteps', 'foray', 'forbes', 'force', 'forced', 'forces', 'forcing', 'ford', 'forecast', 'forecasts', 'foreign', 'foresees', 'forest', 'forever', 'forex', 'forfour', 'forge', 'forget', 'forgets', 'forgetting', 'forgiveness', 'forgot', 'forgotten', 'fork', 'form', 'formal', 'formally', 'format', 'former', 'formerly', 'forms', 'formula', 'fort', 'forthcoming', 'fortified', 'fortress', 'fortune', 'fortunes', 'fortwo', 'forum', 'forward', 'fossil', 'fossils', 'foster', 'fought', 'foul', 'found', 'foundation', 'founder', 'founders', 'fountain', 'four', 'foursquare', 'fourth', 'fox', 'foxcatcher', 'foxconn', 'foxx', 'fps', 'fracking', 'fracture', 'frame', 'frames', 'franc', 'france', 'frances', 'franchise', 'franchisees', 'francis', 'francisco', 'franco', 'frank', 'franken', 'frankie', 'franklin', 'frat', 'fraud', 'fraudulent', 'fray', 'freak', 'freaking', 'freaks', 'freaky', 'fred', 'freddie', 'free', 'freebies', 'freed', 'freedom', 'freeman', 'freepalestine', 'frees', 'freeway', 'freeze', 'frehley', 'freida', 'freight', 'french', 'frenzy', 'frequency', 'frequent', 'frequently', 'fresh', 'fresno', 'fret', 'friday', 'fridge', 'fried', 'friend', 'friendly', 'friends', 'friendship', 'frieze', 'fringe', 'frog', 'front', 'frontier', 'frontman', 'fronts', 'frostie', 'frozen', 'fruit', 'fruits', 'frustrated', 'frustration', 'fry', 'ft', 'fta', 'ftc', 'ftse', 'fuel', 'fuelband', 'fueled', 'fueling', 'fuelled', 'fuels', 'fugitive', 'fukushima', 'full', 'fully', 'fun', 'function', 'functional', 'functionality', 'functioning', 'fund', 'fundamental', 'fundamentals', 'funded', 'funding', 'fundraiser', 'fundraising', 'funds', 'funeral', 'fungus', 'funk', 'funky', 'funniest', 'funny', 'furious', 'furnish', 'furniture', 'furor', 'furstenberg', 'fury', 'fusion', 'future', 'futures', 'futuristic', 'fx', 'fy', 'fyffes', 'fyq', 'ga', 'gaap', 'gabbana', 'gabriel', 'gadget', 'gadgets', 'gaffe', 'gag', 'gaga', 'gags', 'gain', 'gained', 'gaining', 'gains', 'gal', 'gala', 'galactic', 'galavis', 'galaxy', 'galifianakis', 'gall', 'gallbladder', 'gallery', 'gallon', 'gallons', 'gallup', 'gambit', 'gamble', 'gambling', 'game', 'gameover', 'gameplay', 'gamer', 'gamers', 'games', 'gamestop', 'gaming', 'gandhi', 'gang', 'gangsta', 'gangster', 'gao', 'gap', 'gaps', 'garbage', 'garc', 'garcetti', 'garcia', 'garden', 'gareth', 'garfield', 'garment', 'garmin', 'garner', 'garners', 'garth', 'gartner', 'gary', 'gas', 'gases', 'gasoline', 'gastineau', 'gastric', 'gate', 'gates', 'gather', 'gathering', 'gathers', 'gauge', 'gave', 'gawker', 'gay', 'gays', 'gaza', 'gazers', 'gazprom', 'gb', 'gbp', 'gchq', 'gdc', 'gdp', 'ge', 'gear', 'gearing', 'gears', 'geek', 'geeks', 'geforce', 'geithner', 'gel', 'geldof', 'gellar', 'gen', 'gender', 'gene', 'genentech', 'general', 'generally', 'generate', 'generates', 'generation', 'generations', 'generic', 'genes', 'genesis', 'genetic', 'genetically', 'genetics', 'genghis', 'genius', 'genome', 'genre', 'gentiva', 'gentleman', 'genuine', 'geologists', 'geopolitical', 'george', 'georgia', 'georgina', 'gerard', 'gere', 'german', 'germany', 'germs', 'germy', 'gervais', 'gestational', 'gesture', 'get', 'getaway', 'gets', 'getting', 'getty', 'geysers', 'ghana', 'ghost', 'ghostbusters', 'ghosts', 'ghz', 'gi', 'gia', 'giant', 'giants', 'gibson', 'gif', 'gifs', 'gift', 'gifts', 'gig', 'gigabit', 'gigafactory', 'gigantic', 'giger', 'gigolo', 'gigs', 'gilbert', 'gild', 'gilead', 'gillan', 'gilmour', 'gimmick', 'gin', 'ginnifer', 'giraffe', 'girl', 'girlfriend', 'girlfriends', 'girls', 'gisele', 'give', 'giveaway', 'given', 'givenchy', 'gives', 'giving', 'glaad', 'glacier', 'glaciers', 'glad', 'glam', 'glamorous', 'glamour', 'glance', 'glasgow', 'glass', 'glasses', 'glasshole', 'glassware', 'glastonbury', 'glaxo', 'glaxosmithkline', 'glee', 'gleeson', 'glen', 'glencore', 'glenn', 'gliese', 'glimpse', 'glitch', 'glitches', 'glittering', 'global', 'globally', 'globe', 'gloom', 'gloomy', 'glorious', 'glory', 'glove', 'gloves', 'glow', 'glowing', 'glows', 'glucose', 'gluten', 'gm', 'gma', 'gmail', 'gme', 'gmo', 'gmos', 'gnip', 'go', 'goal', 'goals', 'goat', 'goblin', 'god', 'godard', 'goddard', 'goddess', 'godfather', 'gods', 'godzilla', 'goers', 'goes', 'gog', 'goggles', 'gogh', 'going', 'gold', 'goldberg', 'golden', 'goldilocks', 'goldman', 'golf', 'gomez', 'gone', 'gonna', 'gonzalez', 'good', 'goodbye', 'goodies', 'goods', 'goodwill', 'goodwin', 'goog', 'googl', 'google', 'goonies', 'goop', 'gop', 'gopro', 'gordimer', 'gordon', 'gore', 'gorgeous', 'gorilla', 'gorillas', 'gosling', 'gospel', 'goss', 'gossip', 'got', 'gotham', 'gotta', 'gotten', 'goulding', 'gov', 'governance', 'government', 'governments', 'governor', 'governors', 'govt', 'gowex', 'gown', 'gowns', 'gox', 'gp', 'gpe', 'gpro', 'gps', 'gpu', 'gq', 'grab', 'grabs', 'grace', 'graces', 'graco', 'grad', 'grade', 'grader', 'grades', 'grads', 'gradual', 'graduate', 'graduates', 'graduation', 'graffiti', 'graft', 'graham', 'grail', 'grain', 'grains', 'gram', 'grammar', 'grammy', 'grams', 'granada', 'grand', 'grande', 'grandfather', 'grandma', 'grandmother', 'grandson', 'grant', 'granted', 'grants', 'graphene', 'graphic', 'graphics', 'grass', 'grateful', 'gratitude', 'grave', 'graves', 'gravitational', 'gravity', 'gray', 'grease', 'great', 'greater', 'greatest', 'greatly', 'greece', 'greek', 'green', 'greenback', 'greenhouse', 'greening', 'greenland', 'greenlights', 'greenpeace', 'greet', 'greets', 'greg', 'gregg', 'grenada', 'grew', 'grey', 'gridlock', 'grief', 'griesa', 'grieving', 'griffin', 'grill', 'grilled', 'grilling', 'grills', 'grim', 'grimes', 'grimmie', 'grind', 'grinds', 'grint', 'grip', 'grips', 'gritty', 'groceries', 'grocery', 'grodd', 'grohl', 'groot', 'groove', 'gross', 'grossing', 'ground', 'groundbreaking', 'grounded', 'grounds', 'groundwater', 'group', 'groupon', 'groups', 'grove', 'grow', 'growing', 'grown', 'grows', 'growth', 'grpn', 'grumpy', 'gs', 'gse', 'gsk', 'gt', 'gta', 'guarantee', 'guarantees', 'guard', 'guardian', 'guardians', 'guardianship', 'guards', 'gucci', 'guess', 'guessing', 'guest', 'guests', 'guidance', 'guide', 'guided', 'guideline', 'guidelines', 'guides', 'guillon', 'guilt', 'guilty', 'guinea', 'guinness', 'guitar', 'guitarist', 'gujarat', 'gulf', 'gun', 'gundotra', 'gunman', 'gunn', 'gunpoint', 'guns', 'gupta', 'gurlitt', 'guru', 'gushes', 'gustin', 'gut', 'gutted', 'guy', 'guys', 'gwar', 'gwen', 'gwyneth', 'gym', 'gymnast', 'haagen', 'habit', 'habitable', 'habits', 'hachette', 'hack', 'hacked', 'hacker', 'hackers', 'hacking', 'hacks', 'hague', 'haig', 'hail', 'hailed', 'hails', 'hair', 'haircut', 'hairstyle', 'hairy', 'haiti', 'haj', 'hajj', 'half', 'hall', 'halle', 'halley', 'halliburton', 'halo', 'halston', 'halt', 'halted', 'halting', 'halts', 'ham', 'hamill', 'hamilton', 'hamm', 'hammer', 'hammered', 'hamper', 'hampered', 'hampshire', 'hampton', 'hamptons', 'han', 'hand', 'handcuffs', 'handed', 'handful', 'handheld', 'handing', 'handle', 'handled', 'handler', 'handles', 'handling', 'hands', 'handset', 'handsets', 'handshake', 'handshakes', 'handwritten', 'handy', 'hang', 'hanging', 'hangout', 'hangouts', 'hangover', 'hangry', 'hangs', 'hank', 'hanks', 'hannah', 'hanoi', 'hans', 'happen', 'happened', 'happening', 'happens', 'happier', 'happily', 'happiness', 'happy', 'harassment', 'hard', 'hardcore', 'harder', 'hardest', 'hardly', 'hardware', 'hardy', 'harington', 'harley', 'harm', 'harmful', 'harmon', 'harms', 'harness', 'harper', 'harris', 'harrisburg', 'harrison', 'harry', 'harsh', 'hart', 'hartford', 'hartnett', 'harvard', 'harvest', 'hasbro', 'hashtag', 'hashtags', 'hasselbeck', 'hastings', 'haswell', 'hat', 'hatch', 'hatches', 'hatchet', 'hate', 'hated', 'hateful', 'haters', 'hates', 'hathaway', 'hating', 'haul', 'haunt', 'haunted', 'haunting', 'haute', 'havoc', 'hawaii', 'hawking', 'hawkish', 'hawks', 'hayden', 'hayes', 'hazard', 'hazardous', 'hazards', 'hbo', 'hd', 'head', 'headache', 'headaches', 'headband', 'headbanging', 'headed', 'headey', 'heading', 'headlights', 'headline', 'headlines', 'headlining', 'headphone', 'headphones', 'headquarters', 'heads', 'headset', 'headsets', 'heal', 'healing', 'health', 'healthcare', 'healthier', 'healthiest', 'healthkit', 'healthy', 'hear', 'heard', 'hearing', 'hearings', 'hears', 'heart', 'heartbleed', 'heartbreak', 'heartbreaking', 'heartbroken', 'heartfelt', 'heartland', 'hearts', 'heartwarming', 'heat', 'heated', 'heathers', 'heating', 'heats', 'heaven', 'heavier', 'heavily', 'heavy', 'heavyweight', 'heck', 'heckler', 'hedge', 'hedgehog', 'hedison', 'hedwig', 'hee', 'heels', 'hefty', 'heidi', 'heightened', 'heights', 'heigl', 'heir', 'heirs', 'heist', 'held', 'helicopter', 'helion', 'helium', 'hell', 'hellcat', 'hello', 'helm', 'help', 'helped', 'helpful', 'helping', 'helps', 'hemingway', 'hemophilia', 'hemorrhagic', 'hemp', 'hemsworth', 'hendricks', 'henry', 'hep', 'hepatitis', 'hepburn', 'herald', 'heralds', 'herbalife', 'hercules', 'hero', 'heroes', 'heroic', 'heroin', 'hertz', 'hess', 'heuer', 'hewitt', 'hewlett', 'hey', 'hft', 'hgtv', 'hhs', 'hi', 'hiatus', 'hidden', 'hide', 'hides', 'hiding', 'higgs', 'high', 'higher', 'highest', 'highlight', 'highlighted', 'highlights', 'highly', 'highs', 'highway', 'hijack', 'hijacked', 'hike', 'hikes', 'hiking', 'hilarious', 'hilariously', 'hilary', 'hill', 'hillary', 'hills', 'hillshire', 'hilton', 'himym', 'hinder', 'hinges', 'hint', 'hinted', 'hints', 'hip', 'hipster', 'hire', 'hired', 'hires', 'hiring', 'hishammuddin', 'historic', 'historical', 'history', 'hit', 'hitch', 'hitched', 'hits', 'hitting', 'hiv', 'hk', 'hlf', 'ho', 'hoard', 'hoarded', 'hoarder', 'hoax', 'hobbit', 'hobie', 'hockey', 'hog', 'hogwarts', 'holbrook', 'holcim', 'hold', 'holden', 'holder', 'holders', 'holding', 'holdings', 'holdout', 'holdouts', 'holds', 'hole', 'holes', 'holiday', 'holidays', 'hollaback', 'hollande', 'holler', 'hollow', 'hollywood', 'holmes', 'holocaust', 'hologram', 'holograms', 'holy', 'homage', 'home', 'homebuilder', 'homekit', 'homeland', 'homeless', 'homeowners', 'homer', 'homes', 'homesman', 'hometown', 'homophobic', 'homosexual', 'homosexuality', 'honda', 'honduran', 'honduras', 'honest', 'honey', 'honeymoon', 'honeymooning', 'honeywell', 'hong', 'honor', 'honorary', 'honored', 'honoring', 'honors', 'honour', 'honoured', 'honours', 'hood', 'hook', 'hookah', 'hooked', 'hooking', 'hooks', 'hookup', 'hop', 'hope', 'hoped', 'hopeful', 'hopefully', 'hopefuls', 'hopes', 'hoping', 'hopkins', 'horan', 'horizon', 'horizons', 'hormel', 'hormone', 'horn', 'hornaday', 'horns', 'horrendous', 'horrible', 'horribly', 'horrific', 'horror', 'horse', 'horses', 'horton', 'hortons', 'hospital', 'hospitalised', 'hospitality', 'hospitalization', 'hospitalized', 'hospitals', 'host', 'hostage', 'hosted', 'hostile', 'hosting', 'hosts', 'hot', 'hotel', 'hotels', 'hotmail', 'hotter', 'hottest', 'hough', 'hoult', 'hound', 'hour', 'hourly', 'hours', 'house', 'household', 'households', 'housekeeper', 'houses', 'housewives', 'housing', 'houston', 'hover', 'hovers', 'howard', 'hp', 'hpq', 'hpv', 'hq', 'hr', 'hsbc', 'hsh', 'htc', 'http', 'https', 'huawei', 'hub', 'hubble', 'hubby', 'hudgens', 'hudl', 'hudson', 'huebl', 'hug', 'huge', 'hugging', 'hugh', 'hugs', 'hulk', 'hulu', 'human', 'humanity', 'humanoid', 'humans', 'humble', 'humid', 'hummus', 'humor', 'humour', 'humphries', 'hundred', 'hundreds', 'hungary', 'hunger', 'hungry', 'hunt', 'hunter', 'hunting', 'huntington', 'hunts', 'huntsman', 'hurdle', 'hurdles', 'hurt', 'hurtful', 'hurting', 'hurts', 'husband', 'hustle', 'hutcherson', 'hybrid', 'hybrids', 'hydrogen', 'hygienic', 'hype', 'hypersonic', 'hypertension', 'hypocrisy', 'hypocrite', 'hysterectomy', 'hyundai', 'iac', 'ian', 'iata', 'ibiza', 'ibm', 'icahn', 'icann', 'icd', 'ice', 'iceland', 'icelandic', 'ichi', 'icj', 'icloud', 'icon', 'iconic', 'icons', 'icu', 'icy', 'icymi', 'id', 'idaho', 'idea', 'ideal', 'ideas', 'idec', 'identical', 'identified', 'identifies', 'identify', 'identity', 'idina', 'idiot', 'idol', 'idoltop', 'idris', 'ie', 'ifa', 'ifixit', 'ifo', 'iggy', 'ignite', 'ignites', 'ignition', 'ignorance', 'ignore', 'ignored', 'ignores', 'ignoring', 'ii', 'iii', 'ikea', 'il', 'iliad', 'ill', 'illegal', 'illegally', 'illinois', 'illmatic', 'illness', 'illnesses', 'illum', 'illustrates', 'im', 'imac', 'image', 'imagery', 'images', 'imagination', 'imagine', 'imaging', 'imax', 'imessage', 'imf', 'immediate', 'immediately', 'immigration', 'imminent', 'immune', 'immunity', 'immunization', 'immunotherapy', 'impact', 'impacted', 'impacting', 'impacts', 'impaired', 'impairment', 'impasse', 'impending', 'imperial', 'implant', 'implanted', 'implants', 'implement', 'implementation', 'implications', 'implies', 'import', 'importance', 'important', 'imported', 'imports', 'impose', 'imposed', 'imposes', 'impossible', 'impress', 'impressed', 'impresses', 'impression', 'impressions', 'impressive', 'impromptu', 'improper', 'improve', 'improved', 'improvement', 'improvements', 'improves', 'improving', 'inaccurate', 'inaction', 'inadequate', 'inadvertently', 'inappropriate', 'inarritu', 'inbox', 'inc', 'incentive', 'incentives', 'inception', 'inch', 'inches', 'incidence', 'incident', 'incidents', 'inciting', 'include', 'included', 'includes', 'including', 'income', 'incomes', 'incoming', 'increase', 'increased', 'increases', 'increasing', 'increasingly', 'incredible', 'incredibles', 'incredibly', 'ind', 'indecent', 'indeed', 'indefinitely', 'independence', 'independent', 'index', 'indexes', 'india', 'indian', 'indiana', 'indians', 'indicate', 'indicates', 'indicator', 'indicators', 'indices', 'indicted', 'indictment', 'indicts', 'indie', 'indio', 'individual', 'individuals', 'indonesia', 'indonesian', 'indoor', 'induce', 'induced', 'induct', 'inducted', 'inductees', 'induction', 'industrial', 'industrials', 'industries', 'industry', 'ineffective', 'inequality', 'inevitable', 'inexcusable', 'infamous', 'infant', 'infants', 'infect', 'infected', 'infecting', 'infection', 'infections', 'infectious', 'infects', 'infertility', 'infidelity', 'infinite', 'inflammation', 'inflatable', 'inflation', 'influence', 'influential', 'influenza', 'info', 'infographic', 'information', 'infrared', 'infrastructure', 'infringed', 'infringement', 'infringing', 'ing', 'ingredient', 'ingredients', 'inhaled', 'inherited', 'inishmaan', 'initial', 'initially', 'initiates', 'initiative', 'initiatives', 'injecting', 'injection', 'injections', 'injunction', 'injured', 'injures', 'injuries', 'injury', 'ink', 'inks', 'inmarsat', 'inner', 'innocent', 'innovation', 'innovations', 'innovative', 'innovator', 'input', 'inquiry', 'inr', 'ins', 'insane', 'insecurity', 'insensitive', 'inside', 'insider', 'insiders', 'insight', 'insights', 'insist', 'insists', 'inspection', 'inspections', 'inspectors', 'inspiration', 'inspirational', 'inspire', 'inspired', 'inspires', 'inspiring', 'instagram', 'instagrams', 'install', 'installed', 'installment', 'installs', 'instant', 'instead', 'institute', 'instruments', 'insufficient', 'insulin', 'insult', 'insulting', 'insults', 'insurance', 'insured', 'insurer', 'insurers', 'insurgency', 'int', 'intact', 'intake', 'intc', 'integrate', 'integrated', 'integrates', 'integration', 'integrity', 'integrys', 'intel', 'intellectual', 'intelligence', 'intelligent', 'intended', 'intends', 'intense', 'intensifies', 'intensify', 'intensity', 'intent', 'intention', 'intentions', 'interaction', 'interactive', 'intercloud', 'interconnect', 'interest', 'interested', 'interesting', 'interests', 'interface', 'interfered', 'interference', 'interim', 'interior', 'interiors', 'intermune', 'intern', 'internal', 'international', 'internet', 'interrupt', 'interrupted', 'interrupts', 'intervene', 'intervenes', 'intervention', 'interview', 'interviews', 'intimate', 'intl', 'intoxicated', 'intoxication', 'intraday', 'intrigue', 'intriguing', 'intro', 'introduce', 'introduced', 'introduces', 'introducing', 'introduction', 'intros', 'intruder', 'intuit', 'intuitive', 'invade', 'invades', 'invasion', 'invasive', 'invented', 'invention', 'inventor', 'inventories', 'inventory', 'invents', 'inversion', 'inversions', 'invest', 'investigate', 'investigated', 'investigates', 'investigating', 'investigation', 'investigations', 'investigator', 'investigators', 'investing', 'investment', 'investments', 'investor', 'investors', 'invests', 'invitation', 'invite', 'invited', 'invites', 'involuntary', 'involve', 'involved', 'involvement', 'involves', 'involving', 'io', 'iodine', 'ion', 'ios', 'iot', 'iovine', 'iowa', 'ip', 'ipad', 'ipads', 'ipcc', 'iphone', 'iphones', 'ipo', 'ipod', 'ipos', 'iran', 'iranian', 'iranians', 'iraq', 'iraqi', 'ire', 'ireland', 'irene', 'iris', 'irish', 'iron', 'irrational', 'irresponsible', 'irreverent', 'irreversible', 'irritation', 'irs', 'isaac', 'ish', 'isight', 'isis', 'isla', 'islamic', 'island', 'islanders', 'islands', 'ism', 'isolated', 'isolation', 'isp', 'isps', 'israel', 'israeli', 'iss', 'isspresso', 'issue', 'issued', 'issues', 'issuing', 'italia', 'italian', 'italy', 'item', 'items', 'itunes', 'ivan', 'ivf', 'ivory', 'ivy', 'iwatch', 'jab', 'jabs', 'jace', 'jack', 'jackman', 'jackson', 'jacksonville', 'jacques', 'jada', 'jagger', 'jail', 'jailbreak', 'jailed', 'jails', 'jaime', 'jaitley', 'jakarta', 'jake', 'jam', 'james', 'jamie', 'jams', 'jan', 'jana', 'jane', 'janelle', 'janet', 'january', 'japan', 'japanese', 'jar', 'jared', 'jason', 'java', 'jaw', 'jaxon', 'jay', 'jazz', 'jazzman', 'jc', 'jcp', 'jd', 'jealous', 'jean', 'jeans', 'jeddah', 'jedi', 'jeep', 'jeeps', 'jeezy', 'jeff', 'jefferies', 'jefferson', 'jeffries', 'jelena', 'jelly', 'jem', 'jena', 'jenkins', 'jenna', 'jenner', 'jennette', 'jennifer', 'jenny', 'jeopardy', 'jepsen', 'jeremiah', 'jeremy', 'jerk', 'jerky', 'jermaine', 'jerry', 'jersey', 'jerusalem', 'jesse', 'jessica', 'jessie', 'jesus', 'jet', 'jetblue', 'jetliner', 'jets', 'jett', 'jetta', 'jew', 'jewelry', 'jewish', 'jews', 'jill', 'jim', 'jimmy', 'jitters', 'jj', 'jk', 'jm', 'jmp', 'jnj', 'joan', 'joaquin', 'job', 'jobless', 'jobs', 'jock', 'jodie', 'joe', 'joel', 'joey', 'joffrey', 'johannes', 'johansson', 'john', 'johnny', 'johns', 'johnson', 'join', 'joined', 'joining', 'joins', 'joint', 'joke', 'joker', 'jokes', 'joking', 'jolie', 'jolt', 'jolts', 'jon', 'jonah', 'jonathan', 'jones', 'joneses', 'jong', 'jordan', 'jos', 'jose', 'joseph', 'josh', 'joss', 'journal', 'journalism', 'journalist', 'journalists', 'journey', 'joy', 'jp', 'jpm', 'jpmorgan', 'jpy', 'jr', 'juan', 'judd', 'jude', 'judge', 'judges', 'judging', 'judgment', 'juggalos', 'juice', 'juicy', 'jul', 'julia', 'julian', 'julianna', 'julianne', 'julie', 'july', 'jumbo', 'jump', 'jumped', 'jumping', 'jumps', 'jumpsuit', 'jun', 'june', 'jungle', 'junior', 'juniper', 'junk', 'juno', 'jupiter', 'jurassic', 'jurors', 'jury', 'justice', 'justices', 'justified', 'justify', 'justin', 'justina', 'kacy', 'kaepernick', 'kagan', 'kaiser', 'kakao', 'kaley', 'kaling', 'kane', 'kanojia', 'kansas', 'kanye', 'karaoke', 'kardashian', 'kardashians', 'karen', 'karl', 'karma', 'karrueche', 'kart', 'kasem', 'kashi', 'kat', 'kate', 'katherine', 'katheryn', 'kathleen', 'kathryn', 'kathy', 'katie', 'katniss', 'katt', 'katy', 'katz', 'kaufman', 'kazakhstan', 'kc', 'kctv', 'keaton', 'kebbell', 'keen', 'keep', 'keeping', 'keeps', 'keibler', 'keira', 'keith', 'kellogg', 'kelly', 'ken', 'kendall', 'kendra', 'kendrick', 'kennedy', 'kenny', 'kent', 'kentucky', 'kentz', 'kenya', 'kepler', 'kept', 'kerala', 'keri', 'kermit', 'kerr', 'kerry', 'kevin', 'key', 'keyboard', 'keyboards', 'keynote', 'keys', 'kfc', 'khalifa', 'khan', 'khlo', 'khloe', 'kick', 'kicked', 'kicking', 'kickoff', 'kicks', 'kickstarter', 'kid', 'kidding', 'kidman', 'kidnap', 'kidnapped', 'kidnapping', 'kidney', 'kids', 'kiefer', 'kiev', 'kill', 'killed', 'killer', 'killers', 'killing', 'killings', 'kills', 'kim', 'kimmel', 'kimye', 'kin', 'kind', 'kinda', 'kindle', 'kindness', 'kindred', 'kinds', 'kinect', 'king', 'kingdom', 'kingfisher', 'kings', 'kinnear', 'kinney', 'kirkland', 'kirstie', 'kiss', 'kissed', 'kisser', 'kisses', 'kissing', 'kit', 'kitimat', 'kitkat', 'kits', 'kitsap', 'kitt', 'kitty', 'kiwi', 'kiwis', 'kizashi', 'kkk', 'klan', 'klein', 'kleiner', 'klitschko', 'klm', 'klout', 'klum', 'klux', 'km', 'kmph', 'knee', 'knees', 'knew', 'knife', 'knight', 'knightley', 'knock', 'knocked', 'knocks', 'knot', 'knots', 'know', 'knowingly', 'knowledge', 'knowles', 'known', 'knows', 'knox', 'knuckles', 'ko', 'koalas', 'kocherlakota', 'kodiak', 'komodo', 'kong', 'kopelman', 'korea', 'korean', 'kourtney', 'kraft', 'kramer', 'kreme', 'kris', 'krispy', 'kristen', 'kristin', 'kristoff', 'kroeger', 'kroger', 'krugman', 'ktul', 'ktvn', 'ku', 'kudrow', 'kun', 'kunis', 'kurdish', 'kurdistan', 'kuroda', 'kurt', 'kutcher', 'kuwtk', 'kwwl', 'ky', 'kylie', 'la', 'lab', 'label', 'labeled', 'labeling', 'labels', 'labeouf', 'labor', 'laboratories', 'laboratory', 'labour', 'labs', 'lachey', 'lachlan', 'lack', 'lacking', 'lackluster', 'lacklustre', 'lacks', 'lacrosse', 'ladder', 'ladee', 'laden', 'ladies', 'lady', 'lafarge', 'lag', 'lagarde', 'lagging', 'lags', 'laid', 'lake', 'lakshmi', 'lamar', 'lambert', 'lambesis', 'lame', 'lana', 'lancet', 'lancetfish', 'land', 'landed', 'lander', 'landfill', 'landing', 'landmark', 'landmarks', 'lands', 'landscape', 'lane', 'lanes', 'language', 'languages', 'lannister', 'lap', 'lapd', 'lapse', 'lapses', 'laptop', 'laptops', 'large', 'largely', 'larger', 'largest', 'larry', 'larson', 'las', 'laser', 'lasers', 'lashes', 'lassa', 'last', 'lasting', 'late', 'lately', 'later', 'latest', 'latin', 'latinos', 'lauds', 'lauer', 'laugh', 'laughing', 'laughs', 'laughter', 'launch', 'launched', 'launcher', 'launches', 'launching', 'laura', 'laureate', 'lauren', 'laurent', 'lavalin', 'laverne', 'lavigne', 'lavish', 'lavrov', 'law', 'lawmaker', 'lawmakers', 'lawn', 'lawrence', 'laws', 'lawsuit', 'lawsuits', 'lawyer', 'lawyers', 'lax', 'lay', 'layer', 'laying', 'layoff', 'layoffs', 'lays', 'lazaretto', 'lb', 'lbs', 'ld', 'le', 'lea', 'lead', 'leader', 'leaders', 'leadership', 'leading', 'leads', 'league', 'leak', 'leaked', 'leaker', 'leakes', 'leaking', 'leaks', 'lean', 'leans', 'leap', 'leaps', 'learn', 'learned', 'learning', 'learns', 'learnt', 'lease', 'least', 'leather', 'leave', 'leaves', 'leaving', 'lebanon', 'lebeouf', 'lebron', 'led', 'lee', 'left', 'leftovers', 'leg', 'legacy', 'legal', 'legalization', 'legalize', 'legalized', 'legalizing', 'legally', 'legend', 'legendary', 'legends', 'legere', 'legislation', 'legislative', 'legislators', 'legislature', 'legit', 'lego', 'legs', 'lehman', 'leia', 'leibovitz', 'leigh', 'leitch', 'len', 'lena', 'lend', 'lender', 'lenders', 'lending', 'lends', 'length', 'lengthy', 'lenient', 'lennar', 'leno', 'lenovo', 'lens', 'lenses', 'leo', 'leonardo', 'leone', 'les', 'lesbian', 'leslie', 'lesnar', 'less', 'lesser', 'lesson', 'lessons', 'let', 'lethal', 'leto', 'lets', 'letter', 'letterman', 'letters', 'letting', 'leung', 'levar', 'level', 'levels', 'leverage', 'levi', 'levine', 'levy', 'lew', 'lewd', 'lewis', 'lexicon', 'lg', 'lgbt', 'li', 'liability', 'liable', 'liam', 'liar', 'liars', 'liberal', 'liberals', 'liberia', 'liberian', 'liberty', 'library', 'libya', 'libyan', 'licence', 'licences', 'license', 'licenses', 'licensing', 'lid', 'lie', 'lied', 'lies', 'life', 'lifeline', 'lifelong', 'lifespan', 'lifestyle', 'lifetime', 'lift', 'lifted', 'lifting', 'lifts', 'light', 'lighter', 'lighting', 'lightning', 'lights', 'like', 'liked', 'likely', 'likeness', 'likes', 'liking', 'lil', 'lilies', 'lilly', 'lilo', 'lily', 'lima', 'limbaugh', 'limbo', 'lime', 'limelight', 'limes', 'limit', 'limitations', 'limited', 'limiting', 'limits', 'limo', 'lincoln', 'linda', 'lindelof', 'lindsay', 'lindsey', 'lindt', 'line', 'lines', 'lineup', 'linger', 'lingerie', 'lining', 'link', 'linked', 'linkedin', 'linking', 'linklater', 'links', 'linn', 'linux', 'lion', 'lionel', 'lions', 'lionsgate', 'lip', 'lips', 'liquid', 'liquidity', 'liquor', 'lirr', 'lisa', 'list', 'listed', 'listen', 'listeners', 'listening', 'listeria', 'listing', 'listings', 'lists', 'lit', 'literacy', 'literally', 'literary', 'lithium', 'lithuania', 'litigation', 'litter', 'little', 'littlefinger', 'live', 'lived', 'lively', 'liver', 'liverail', 'lives', 'livestock', 'livestream', 'livewire', 'living', 'liza', 'lizard', 'lizzy', 'llc', 'lloyd', 'lloyds', 'llp', 'lng', 'lnkd', 'lo', 'loach', 'load', 'loaded', 'loan', 'loaner', 'loaners', 'loans', 'lobby', 'lobbying', 'lobster', 'local', 'locally', 'locals', 'locate', 'location', 'locations', 'loch', 'lock', 'locked', 'lockheed', 'locking', 'lockout', 'locks', 'lockup', 'loeb', 'log', 'logan', 'logic', 'login', 'logo', 'logs', 'lohan', 'loko', 'lol', 'lollipop', 'london', 'lone', 'lonely', 'long', 'longer', 'longest', 'longevity', 'longlegs', 'longoria', 'longtime', 'longview', 'look', 'lookalike', 'looked', 'looking', 'lookout', 'looks', 'loom', 'looming', 'looms', 'loonie', 'loop', 'loophole', 'loose', 'loosen', 'loosens', 'loot', 'looted', 'lopez', 'lord', 'lorde', 'lorenzo', 'lorillard', 'los', 'lose', 'loser', 'losers', 'loses', 'losing', 'loss', 'losses', 'lost', 'lot', 'lots', 'lottery', 'lou', 'loud', 'louie', 'louis', 'louisiana', 'louisville', 'lousy', 'louvre', 'lovato', 'love', 'loved', 'lovely', 'lover', 'lovers', 'loves', 'lovin', 'loving', 'low', 'lowe', 'lower', 'lowered', 'lowering', 'lowers', 'lowest', 'lows', 'loyal', 'lp', 'lse', 'ltd', 'lte', 'lucas', 'lucasfilm', 'lucent', 'lucid', 'luck', 'lucky', 'lucy', 'lufthansa', 'luke', 'lukewarm', 'lukyanova', 'lulu', 'lululemon', 'lumia', 'lunar', 'lunch', 'lunches', 'lundberg', 'lunden', 'lung', 'lupita', 'lure', 'lurks', 'luxembourg', 'luxottica', 'luxury', 'lyft', 'lying', 'lyme', 'lynch', 'lynn', 'lyric', 'lyrics', 'lyrid', 'lytro', 'mac', 'macaulay', 'macbook', 'macfarlane', 'machine', 'machinery', 'machines', 'macho', 'macklemore', 'macro', 'macs', 'macy', 'mad', 'made', 'madison', 'madly', 'madness', 'madoff', 'madonna', 'mae', 'maersk', 'mafia', 'mag', 'magazine', 'maggie', 'magic', 'magical', 'magna', 'magnetic', 'magnificent', 'mahone', 'maid', 'mail', 'mailbox', 'mails', 'main', 'maine', 'mainland', 'mainly', 'mainstream', 'maintain', 'maintains', 'maintenance', 'maisie', 'majesty', 'major', 'majority', 'majors', 'make', 'makeover', 'maker', 'makerbot', 'makers', 'makes', 'makeup', 'making', 'maks', 'maksim', 'malaria', 'malaya', 'malaysia', 'malaysian', 'malcolm', 'maldives', 'male', 'maleficent', 'malfunction', 'malia', 'malibu', 'malicious', 'malik', 'mall', 'malpractice', 'malta', 'malware', 'mama', 'mammals', 'mammogram', 'mammograms', 'mammography', 'man', 'manage', 'managed', 'management', 'manager', 'managers', 'manages', 'managing', 'manchester', 'mandate', 'mandatory', 'maneuvers', 'manganiello', 'mangoes', 'mangos', 'manhattan', 'mania', 'manifesto', 'manipulate', 'manipulated', 'manipulates', 'manipulating', 'manipulation', 'manipulator', 'mann', 'manned', 'mannkind', 'manny', 'mansfield', 'mansion', 'mansions', 'manslaughter', 'mantis', 'mantra', 'manuel', 'manufacture', 'manufacturer', 'manufacturers', 'manufacturing', 'manuscript', 'many', 'manziel', 'map', 'mapping', 'maps', 'mar', 'mara', 'marathon', 'marc', 'march', 'marches', 'marchionne', 'marco', 'marcus', 'margin', 'marginally', 'margins', 'margulies', 'maria', 'mariah', 'marie', 'marijuana', 'marilyn', 'marin', 'marine', 'mario', 'marion', 'marissa', 'marital', 'maritime', 'mark', 'marked', 'market', 'marketers', 'marketing', 'marketplace', 'markets', 'marketwired', 'marking', 'markit', 'marks', 'marlboro', 'maroon', 'marquez', 'marred', 'marriage', 'married', 'marries', 'marriott', 'marrow', 'marry', 'marrying', 'mars', 'marshal', 'marshall', 'marshals', 'mart', 'martha', 'martian', 'martin', 'marvel', 'marx', 'mary', 'maryland', 'mas', 'mascot', 'maserati', 'mash', 'mashup', 'mask', 'maslany', 'maslow', 'mason', 'mass', 'massachusetts', 'massacre', 'masses', 'massimo', 'massive', 'mastectomies', 'mastectomy', 'master', 'mastercard', 'mastering', 'mastermind', 'masterpiece', 'masters', 'mastodon', 'mat', 'match', 'matched', 'matches', 'matching', 'mate', 'material', 'materials', 'maternal', 'maternity', 'math', 'mathematical', 'matisse', 'matrix', 'matt', 'mattel', 'matter', 'matters', 'matthew', 'mature', 'mauled', 'maundy', 'maureen', 'max', 'maxim', 'maximillion', 'maximum', 'may', 'maya', 'maybe', 'mayer', 'mayhew', 'mayo', 'mayor', 'mayors', 'mayweather', 'mazda', 'mazursky', 'mcadams', 'mcafee', 'mcauliffe', 'mccain', 'mccarron', 'mccarthy', 'mccartney', 'mccaskill', 'mcchrystal', 'mcconaughey', 'mccreery', 'mccurdy', 'mcd', 'mcdermott', 'mcdonald', 'mcdonalds', 'mcfadden', 'mcgregor', 'mchale', 'mckellar', 'mckenzie', 'mclarty', 'mcmahon', 'mcvie', 'md', 'mdt', 'meadow', 'meager', 'meal', 'meals', 'mean', 'meaning', 'means', 'meant', 'measles', 'measure', 'measurement', 'measures', 'measuring', 'meat', 'mechanical', 'med', 'medal', 'media', 'median', 'mediatek', 'mediator', 'medicaid', 'medical', 'medicare', 'medication', 'medications', 'medicine', 'medics', 'meditation', 'mediterranean', 'medium', 'medley', 'meds', 'medtronic', 'meet', 'meeting', 'meetings', 'meets', 'meg', 'mega', 'megan', 'megapixel', 'megaupload', 'mel', 'melanoma', 'melbourne', 'melissa', 'mellon', 'melt', 'meltdown', 'melting', 'melts', 'member', 'members', 'membership', 'memes', 'memo', 'memoir', 'memorabilia', 'memorable', 'memorial', 'memories', 'memory', 'memphis', 'men', 'mend', 'mendes', 'menino', 'mental', 'mentally', 'mention', 'mentioned', 'mentions', 'mentor', 'menu', 'menzel', 'mercedes', 'merciless', 'merck', 'mercury', 'mercy', 'mere', 'merge', 'merged', 'merger', 'mergers', 'merges', 'merit', 'merkel', 'merlin', 'mermaid', 'meron', 'merrill', 'mers', 'mersch', 'meryl', 'meshach', 'mess', 'message', 'messages', 'messaging', 'messed', 'messenger', 'messing', 'messy', 'met', 'metal', 'metallica', 'metals', 'metamorphosis', 'meteor', 'meteorite', 'meteors', 'meth', 'methane', 'method', 'methodist', 'methods', 'metro', 'metropolitan', 'metso', 'meuse', 'mexican', 'mexico', 'meyers', 'mh', 'mi', 'mia', 'miami', 'mice', 'mich', 'michael', 'michaels', 'michele', 'michelle', 'michigan', 'michod', 'mick', 'mickelson', 'mickey', 'micro', 'microbeads', 'microbes', 'microcap', 'microchip', 'microphone', 'micros', 'microsoft', 'mid', 'midair', 'midday', 'middle', 'middleton', 'mideast', 'midland', 'midnight', 'midseason', 'midsize', 'midst', 'midstream', 'midwest', 'might', 'mighty', 'migraine', 'migraines', 'migration', 'mike', 'mil', 'mila', 'milan', 'mild', 'mile', 'mileage', 'miles', 'milestone', 'milestones', 'miley', 'milhiser', 'miliband', 'militants', 'military', 'milk', 'mill', 'millennials', 'millennium', 'miller', 'millers', 'million', 'millionaire', 'millions', 'mills', 'milsap', 'milwaukee', 'min', 'minaj', 'mind', 'mindfulness', 'minds', 'mindy', 'mine', 'minecraft', 'miner', 'mineral', 'miners', 'ming', 'mini', 'minimal', 'minimum', 'mining', 'miniseries', 'minister', 'ministers', 'ministry', 'minivan', 'minivans', 'mink', 'minneapolis', 'minnelli', 'minnesota', 'minnillo', 'minor', 'minority', 'minors', 'mint', 'minus', 'minute', 'minutes', 'miracle', 'miranda', 'mirror', 'miscarriage', 'misconduct', 'misdiagnosed', 'miserable', 'misery', 'misfit', 'misguided', 'mishap', 'misleading', 'misled', 'mismanagement', 'mismanagment', 'miss', 'missed', 'misses', 'missile', 'missing', 'mission', 'missionary', 'missions', 'mississippi', 'missouri', 'misspelled', 'missy', 'mistake', 'mistakes', 'misused', 'mit', 'mite', 'mitigate', 'mitsubishi', 'mix', 'mixed', 'mixing', 'mixtape', 'mizkan', 'mj', 'mk', 'mlb', 'mln', 'mls', 'mm', 'mmva', 'mmvas', 'mn', 'mnkd', 'mo', 'moab', 'mob', 'mobil', 'mobile', 'mobiles', 'mobileye', 'mobility', 'moby', 'mock', 'mocked', 'mocking', 'mockingbird', 'mockingjay', 'mocks', 'mode', 'model', 'models', 'moderate', 'modern', 'modes', 'modest', 'modestly', 'modi', 'modified', 'modular', 'mogul', 'moises', 'mojo', 'mold', 'mole', 'moles', 'molestation', 'molested', 'molly', 'molner', 'mom', 'moma', 'moment', 'moments', 'momentum', 'mommy', 'momoa', 'moms', 'mon', 'monae', 'monday', 'mondays', 'monet', 'monetary', 'money', 'moneybeat', 'monica', 'monitor', 'monitored', 'monitoring', 'monitors', 'monkey', 'monkeys', 'mono', 'monolith', 'monologue', 'monopoly', 'monroe', 'monsanto', 'monster', 'monsters', 'montana', 'monteith', 'monterey', 'montgomery', 'month', 'monthly', 'months', 'montreal', 'monty', 'mood', 'moods', 'moody', 'moon', 'moonie', 'moonlight', 'moons', 'moonshot', 'moore', 'mooted', 'mopub', 'moral', 'morale', 'morcellation', 'moretz', 'morgan', 'mormon', 'morning', 'morpheus', 'morphin', 'morris', 'morrison', 'morrissey', 'morse', 'mortality', 'mortdecai', 'mortem', 'mortgage', 'mortgages', 'mosaic', 'moscow', 'mosquito', 'mosquitoes', 'mosquitos', 'moss', 'mostly', 'mot', 'motel', 'mother', 'mothercare', 'motherhood', 'mothers', 'motion', 'motivation', 'motive', 'moto', 'motogp', 'motor', 'motorcycle', 'motorcycling', 'motorhead', 'motorists', 'motorola', 'motors', 'mount', 'mountain', 'mounting', 'mounts', 'mourn', 'mourned', 'mourning', 'mourns', 'mouse', 'mouth', 'move', 'moved', 'movement', 'movers', 'moves', 'movie', 'movies', 'moving', 'mowat', 'moyer', 'moz', 'mozilla', 'mp', 'mpc', 'mpg', 'mph', 'mps', 'mr', 'mrs', 'mrsa', 'ms', 'msf', 'msft', 'msg', 'msnbc', 'mt', 'mta', 'mtgox', 'mth', 'mtv', 'much', 'muchmusic', 'mud', 'mudslide', 'mug', 'mugshot', 'muir', 'mulally', 'mulberry', 'mull', 'mulling', 'mulls', 'multi', 'multibillion', 'multiplayer', 'multiple', 'mum', 'mumps', 'mums', 'mumsnet', 'muppet', 'muppets', 'mural', 'murder', 'murderer', 'murdoch', 'murphy', 'murray', 'muscle', 'muscles', 'muscular', 'muse', 'museum', 'mushrooms', 'music', 'musical', 'musician', 'musicians', 'musk', 'muslim', 'must', 'mustang', 'mustangs', 'mutant', 'mutants', 'mutations', 'mute', 'muted', 'mutual', 'mw', 'mya', 'myers', 'myntra', 'myrtle', 'mysteries', 'mysterious', 'mystery', 'myth', 'mythical', 'myths', 'nab', 'nabbed', 'nabs', 'nadella', 'nadine', 'naftogaz', 'nail', 'nails', 'naked', 'name', 'named', 'names', 'naming', 'nancy', 'nanowires', 'naomi', 'narendra', 'narrative', 'narrator', 'narrow', 'narrowed', 'narrower', 'narrowly', 'narrows', 'nas', 'nasa', 'nasal', 'nascar', 'nasdaq', 'nash', 'nashville', 'nasty', 'natalie', 'natco', 'nate', 'nation', 'national', 'nationally', 'nationals', 'nations', 'nationwide', 'native', 'natural', 'naturally', 'nature', 'naughty', 'naval', 'navigate', 'navigation', 'navy', 'nazi', 'nba', 'nbc', 'nbcuniversal', 'nc', 'ncaa', 'nd', 'nda', 'neal', 'neanderthal', 'neanderthals', 'near', 'nearby', 'nearing', 'nearly', 'nears', 'nebraska', 'nebula', 'necessary', 'neck', 'need', 'needed', 'needs', 'neeson', 'negative', 'negligence', 'negotiate', 'negotiating', 'negotiation', 'negotiations', 'neighbor', 'neighborhood', 'neighbors', 'neighbours', 'neil', 'neill', 'neither', 'nelson', 'nene', 'neo', 'nephew', 'neptune', 'nerd', 'nerds', 'nerves', 'nervous', 'ness', 'nest', 'nestle', 'net', 'netapp', 'netflix', 'netherlands', 'nets', 'network', 'networking', 'networks', 'neuroscientists', 'neutral', 'neutrality', 'nevada', 'neve', 'never', 'new', 'newark', 'newbies', 'newborn', 'newborns', 'newcomers', 'newest', 'newfound', 'newly', 'newman', 'news', 'newscast', 'newson', 'newspaper', 'newsroom', 'newswire', 'next', 'nexus', 'nfc', 'nfl', 'nflx', 'nfp', 'nguyen', 'nh', 'nhl', 'nhs', 'nhtsa', 'nia', 'niall', 'nic', 'nice', 'niche', 'nicholas', 'nick', 'nickel', 'nickelodeon', 'nicki', 'nickname', 'nicks', 'nicola', 'nicole', 'nicotine', 'niederauer', 'nielsen', 'nigeria', 'nigerian', 'nigh', 'night', 'nightclub', 'nightmare', 'nights', 'nightsnake', 'nih', 'nike', 'nikkei', 'nikki', 'nile', 'nine', 'ninja', 'nintendo', 'ninth', 'nip', 'nipple', 'nipples', 'niro', 'nirvana', 'nissan', 'nixes', 'nj', 'nlrb', 'nm', 'noaa', 'noah', 'nobel', 'noble', 'nobody', 'nod', 'nods', 'noise', 'nok', 'nokia', 'nollywood', 'nominate', 'nominated', 'nominates', 'nomination', 'nominations', 'nominee', 'nominees', 'noms', 'nomura', 'non', 'none', 'nonfarm', 'nonsense', 'nonstop', 'nonsurgical', 'nook', 'nope', 'nordegren', 'nordstrom', 'norfolk', 'noriega', 'normal', 'norovirus', 'north', 'northeast', 'northern', 'northwest', 'northwestern', 'norton', 'norway', 'nose', 'nosed', 'nostalgia', 'nostalgic', 'nostrils', 'notable', 'notch', 'notches', 'note', 'notebook', 'noted', 'notes', 'nothing', 'notice', 'noticed', 'notices', 'notifications', 'notify', 'notifyr', 'noto', 'novartis', 'novel', 'novelist', 'novell', 'novels', 'november', 'nowhere', 'nowotny', 'noyer', 'npd', 'nsa', 'nsfw', 'ntsb', 'ntt', 'nuance', 'nuclear', 'nude', 'nudge', 'nudity', 'nuggets', 'nuisance', 'nuke', 'number', 'numbers', 'numerous', 'numsa', 'nuptials', 'nurse', 'nurses', 'nutrients', 'nutrition', 'nutritional', 'nutritious', 'nuts', 'nutter', 'nuveen', 'nv', 'nvda', 'nvidia', 'nw', 'nwa', 'ny', 'nyc', 'nymex', 'nyong', 'nypd', 'nyse', 'nyt', 'nyu', 'nz', 'nzd', 'oak', 'oakland', 'oakley', 'oarfish', 'oates', 'oathkeeper', 'oats', 'obama', 'obamacare', 'obamas', 'obese', 'obesity', 'object', 'objection', 'objects', 'obokata', 'obscene', 'obscure', 'observatory', 'observe', 'observed', 'observes', 'obsessed', 'obsession', 'obstruction', 'obtain', 'obvious', 'obviously', 'occupy', 'occur', 'ocean', 'oceans', 'oco', 'octa', 'october', 'octopus', 'octopuses', 'oculus', 'od', 'odd', 'odds', 'ode', 'oderus', 'odom', 'odor', 'odors', 'odyssey', 'oecd', 'offended', 'offender', 'offenders', 'offends', 'offensive', 'offer', 'offered', 'offering', 'offerings', 'offers', 'office', 'officer', 'officers', 'offices', 'official', 'officially', 'officials', 'offline', 'offroad', 'offs', 'offset', 'offsets', 'offshore', 'often', 'oh', 'ohio', 'ohioans', 'oil', 'oilfield', 'ois', 'ok', 'okay', 'okcupid', 'oklahoma', 'oks', 'old', 'older', 'oldest', 'oldman', 'oled', 'oleg', 'oligarch', 'olive', 'oliver', 'olivia', 'olivier', 'olsen', 'olson', 'olufsen', 'olympian', 'olympic', 'omaha', 'omega', 'omg', 'omnicom', 'omsignal', 'onboard', 'oncology', 'one', 'onedrive', 'onenote', 'oneplus', 'ones', 'ongoing', 'online', 'ono', 'ons', 'onscreen', 'onset', 'onstage', 'ontario', 'onto', 'oops', 'op', 'opec', 'open', 'opened', 'opener', 'opening', 'openings', 'openly', 'opens', 'openssl', 'openstack', 'opentable', 'opera', 'operating', 'operation', 'operations', 'operator', 'operators', 'opie', 'opinion', 'opinions', 'opioid', 'oppo', 'opponents', 'opportunities', 'opportunity', 'oppose', 'opposed', 'opposes', 'opposing', 'opposite', 'opposition', 'oprah', 'ops', 'opt', 'optical', 'optimism', 'optimistic', 'optimus', 'option', 'options', 'opts', 'ora', 'oracle', 'oral', 'orange', 'orbit', 'orbital', 'orbiting', 'orbitz', 'orcl', 'ordeal', 'order', 'ordered', 'ordering', 'orders', 'ordinary', 'oregon', 'org', 'organ', 'organic', 'organics', 'organisation', 'organism', 'organization', 'organizations', 'organize', 'organizers', 'organs', 'origin', 'original', 'originally', 'originals', 'origins', 'orion', 'orkut', 'orlando', 'orleans', 'orphan', 'orthodox', 'os', 'osborne', 'osbourne', 'oscar', 'oscars', 'oslo', 'osmo', 'osteoarthritis', 'osu', 'ota', 'otc', 'otcmkts', 'otezla', 'others', 'otis', 'ottawa', 'ouch', 'ounce', 'oust', 'ousted', 'ouster', 'ousting', 'ousts', 'outage', 'outbreak', 'outbreaks', 'outburst', 'outcome', 'outcomes', 'outcry', 'outdoor', 'outed', 'outer', 'outfit', 'outfits', 'outfitters', 'outflows', 'outing', 'outkast', 'outlander', 'outlines', 'outlook', 'outpace', 'outperform', 'outperforms', 'output', 'outrage', 'outraged', 'outrageous', 'outs', 'outsell', 'outselling', 'outsells', 'outside', 'outsider', 'outsold', 'outstanding', 'outta', 'ovarian', 'overage', 'overall', 'overcome', 'overdose', 'overdoses', 'overdraft', 'overflow', 'overhaul', 'overhauled', 'overhauls', 'overheating', 'overload', 'overloaded', 'overnight', 'overseas', 'oversee', 'overshadow', 'oversight', 'oversold', 'overstated', 'overtake', 'overtakes', 'overturns', 'overview', 'overweight', 'overwhelmed', 'overwhelming', 'owe', 'owed', 'owes', 'owl', 'owned', 'owner', 'owners', 'ownership', 'owns', 'oxford', 'oxygen', 'oy', 'oyj', 'oyster', 'oz', 'pa', 'pablo', 'paccar', 'pace', 'pacemaker', 'pacemakers', 'pacific', 'pack', 'package', 'packaged', 'packaging', 'packard', 'packed', 'packer', 'packing', 'packs', 'pact', 'pad', 'paddington', 'padfone', 'padma', 'paedophile', 'paetz', 'page', 'pages', 'paid', 'pain', 'painful', 'painkiller', 'painkillers', 'paint', 'painted', 'painting', 'paints', 'pair', 'paired', 'pairs', 'paisley', 'pakistan', 'pal', 'palace', 'palbociclib', 'palcohol', 'paleontologists', 'palermo', 'palestinian', 'paleyfest', 'palin', 'palladium', 'palm', 'palme', 'palmer', 'palo', 'pals', 'paltrow', 'pam', 'pamela', 'pamplona', 'pan', 'panama', 'panasonic', 'pancreas', 'pancreatic', 'panda', 'pandemic', 'pandora', 'panel', 'panels', 'panem', 'panera', 'panettiere', 'panic', 'pants', 'pap', 'paparazzi', 'paparazzo', 'paper', 'papers', 'papyrus', 'paquin', 'parachute', 'parade', 'parades', 'paradise', 'paragliding', 'paralysed', 'paralysis', 'paralyzed', 'paramedic', 'paramount', 'paranoia', 'paranoid', 'paraplegic', 'paraplegics', 'parasailing', 'parasite', 'pare', 'parent', 'parenthood', 'parenting', 'parents', 'paribas', 'paris', 'park', 'parked', 'parker', 'parking', 'parkinson', 'parks', 'parliament', 'parodies', 'parody', 'parrot', 'parsons', 'part', 'partial', 'partially', 'participants', 'participate', 'participating', 'particle', 'particularly', 'partied', 'parties', 'parting', 'partly', 'partner', 'partnering', 'partners', 'partnership', 'parton', 'parts', 'party', 'partying', 'pas', 'pascal', 'paso', 'pass', 'passed', 'passenger', 'passengers', 'passes', 'passing', 'passion', 'passionate', 'passover', 'password', 'passwords', 'past', 'pastor', 'pat', 'pataky', 'patch', 'patches', 'patent', 'patents', 'path', 'paths', 'patience', 'patient', 'patients', 'patricia', 'patrick', 'patriotism', 'patrol', 'patrols', 'pattern', 'patterson', 'pattinson', 'patton', 'paul', 'paula', 'pauley', 'paulson', 'pause', 'pauses', 'pave', 'paves', 'pavilion', 'pay', 'paycheck', 'payday', 'paying', 'payment', 'payments', 'payoff', 'payout', 'payouts', 'paypal', 'payroll', 'payrolls', 'pays', 'pboc', 'pc', 'pcs', 'pct', 'pda', 'peabody', 'peace', 'peaceful', 'peaches', 'peak', 'peaks', 'peanut', 'peanuts', 'pearce', 'pebble', 'pedal', 'pedals', 'pedophile', 'pee', 'peek', 'peeks', 'peeples', 'peeps', 'peer', 'peering', 'peers', 'peeta', 'peg', 'pegg', 'pegged', 'peggy', 'pegs', 'pelagornis', 'pelletier', 'pelt', 'pelted', 'peltz', 'pelvic', 'pen', 'penalties', 'penalty', 'pending', 'penelope', 'penguin', 'penguins', 'penis', 'penn', 'penney', 'pennsylvania', 'penny', 'pens', 'pension', 'pensions', 'pentagon', 'people', 'pepco', 'pepper', 'peppers', 'pepsi', 'pepsico', 'per', 'percent', 'percentage', 'perception', 'perch', 'peregrym', 'perfect', 'perfection', 'perfectly', 'perform', 'performance', 'performances', 'performed', 'performer', 'performers', 'performing', 'performs', 'perhaps', 'peril', 'perils', 'period', 'periodic', 'peripheral', 'perk', 'perkins', 'perks', 'permanent', 'permanente', 'permanently', 'permission', 'permit', 'permits', 'perrotta', 'perry', 'pershing', 'persist', 'persists', 'person', 'personal', 'personality', 'personalized', 'perspective', 'perth', 'peru', 'pesticide', 'pesticides', 'pet', 'petco', 'pete', 'peter', 'petition', 'petitions', 'petrol', 'petroleum', 'pets', 'petsmart', 'pew', 'pf', 'pfe', 'pfister', 'pfizer', 'pg', 'ph', 'phablet', 'pharma', 'pharmaceutical', 'pharmaceuticals', 'pharmacies', 'pharmacists', 'pharmacy', 'pharrell', 'phase', 'phenomenal', 'phenomenon', 'phh', 'phil', 'philadelphia', 'philae', 'philip', 'philippine', 'philippines', 'philips', 'philly', 'phoenix', 'phone', 'phones', 'phony', 'photo', 'photograph', 'photographed', 'photographer', 'photographers', 'photography', 'photos', 'photoshoot', 'photoshop', 'photoshopped', 'physical', 'physically', 'physician', 'physicians', 'physics', 'pi', 'pia', 'pic', 'picasso', 'pichai', 'pick', 'picked', 'picket', 'picking', 'picks', 'pickup', 'pickups', 'pics', 'picture', 'pictured', 'pictures', 'pie', 'piece', 'pieces', 'pierce', 'pierced', 'piers', 'pig', 'piggy', 'pigs', 'pike', 'pikes', 'piketty', 'pile', 'piles', 'pilgrim', 'pilgrims', 'pill', 'pillinger', 'pills', 'pilot', 'pilots', 'pimco', 'pin', 'pine', 'pinette', 'ping', 'pings', 'pink', 'pinkett', 'pinnacle', 'pinned', 'pinocchio', 'pins', 'pinterest', 'pinto', 'pioneer', 'pioneering', 'pip', 'pipe', 'pipeline', 'piper', 'pippa', 'piracy', 'pissed', 'pistorius', 'pit', 'pitbull', 'pitch', 'pitches', 'pits', 'pitt', 'pittsburgh', 'pivot', 'pivotal', 'pixar', 'pixel', 'pixies', 'pizza', 'place', 'placed', 'placement', 'placenta', 'placentas', 'places', 'plagiarism', 'plague', 'plagued', 'plain', 'plan', 'plane', 'planes', 'planet', 'planetary', 'planets', 'planned', 'planning', 'plano', 'plans', 'plant', 'planting', 'plants', 'plastic', 'plate', 'platform', 'platforms', 'platinum', 'play', 'playable', 'playback', 'playbook', 'playboy', 'played', 'player', 'players', 'playing', 'playlist', 'playoffs', 'plays', 'playstation', 'plaza', 'plc', 'plea', 'plead', 'pleads', 'please', 'pleased', 'pledge', 'pledges', 'plenty', 'plight', 'pliss', 'plosser', 'plot', 'plots', 'plotting', 'plow', 'plug', 'plugs', 'plummet', 'plummets', 'plunge', 'plunged', 'plunges', 'plunging', 'plus', 'pluto', 'pm', 'pmi', 'pmis', 'pnc', 'poaches', 'poaching', 'pobre', 'pocket', 'pockets', 'podcast', 'poet', 'poignant', 'point', 'pointing', 'points', 'poised', 'poison', 'poisoning', 'pok', 'poke', 'pokemon', 'poker', 'pokerstars', 'pokes', 'poland', 'polar', 'pole', 'police', 'policies', 'policy', 'policymakers', 'polio', 'political', 'politician', 'politicians', 'politics', 'poll', 'pollen', 'pollinator', 'pollinators', 'polls', 'polluted', 'pollution', 'polo', 'ponder', 'pono', 'ponomusic', 'ponoplayer', 'pony', 'poo', 'pool', 'pools', 'poolside', 'poop', 'poor', 'poorly', 'pop', 'popcorn', 'pope', 'popeyes', 'popping', 'pops', 'popular', 'popularity', 'population', 'pork', 'porn', 'pornographic', 'poroshenko', 'porsche', 'port', 'portable', 'portal', 'porter', 'portfolio', 'portia', 'portion', 'portions', 'portland', 'portrait', 'portray', 'portrayal', 'portraying', 'ports', 'portugal', 'portuguese', 'pose', 'posed', 'poses', 'posing', 'position', 'positioned', 'positions', 'positive', 'posse', 'possession', 'possibility', 'possible', 'possibly', 'post', 'postal', 'posted', 'poster', 'posters', 'posthumous', 'posting', 'postpartum', 'postpone', 'postponed', 'postpones', 'posts', 'pot', 'potato', 'potential', 'potentially', 'potter', 'pottermore', 'poultry', 'pound', 'pounds', 'pour', 'poverty', 'powder', 'powdered', 'powell', 'power', 'powerade', 'powerbeats', 'powered', 'powerful', 'powerhouse', 'powermat', 'powerpoint', 'powerpuff', 'powers', 'ppg', 'ppi', 'ppv', 'pr', 'practice', 'practices', 'prairie', 'praise', 'praised', 'praises', 'prank', 'pranks', 'prankster', 'pratt', 'pray', 'prayer', 'prayers', 'praying', 'prays', 'pre', 'preacher', 'precautions', 'precious', 'predator', 'predators', 'predatory', 'predecessor', 'predict', 'predictable', 'predicted', 'predicting', 'prediction', 'predictions', 'predicts', 'preeclampsia', 'prefer', 'pregnancy', 'pregnant', 'prehistoric', 'preliminary', 'premarket', 'premature', 'prematurely', 'premier', 'premiere', 'premieres', 'premise', 'premium', 'premiums', 'prenatal', 'prenup', 'preorder', 'preorders', 'prep', 'prepaid', 'preparation', 'preparations', 'prepare', 'prepared', 'prepares', 'preparing', 'prepayment', 'prepon', 'prepping', 'preps', 'prequel', 'presbyterian', 'prescribe', 'prescribed', 'prescribing', 'prescription', 'prescriptions', 'presence', 'present', 'presentation', 'presented', 'presenter', 'presents', 'preservation', 'preserve', 'president', 'presidential', 'press', 'presses', 'pressure', 'pressured', 'pressures', 'preston', 'pretend', 'preterm', 'pretty', 'prevails', 'prevalence', 'prevent', 'preventable', 'prevented', 'preventing', 'prevention', 'prevents', 'preview', 'previews', 'previous', 'previously', 'price', 'priced', 'priceless', 'priceline', 'prices', 'pricey', 'pricing', 'pride', 'primary', 'prime', 'primed', 'primer', 'primetime', 'prince', 'princess', 'print', 'printed', 'printer', 'printing', 'prints', 'prinze', 'prior', 'priorities', 'priority', 'prison', 'prisons', 'pritzker', 'privacy', 'private', 'privatization', 'prix', 'prize', 'prizes', 'pro', 'probable', 'probably', 'probation', 'probe', 'probed', 'probes', 'probing', 'problem', 'problems', 'procedure', 'procedures', 'proceeds', 'process', 'processed', 'processing', 'procession', 'processor', 'processors', 'procter', 'produce', 'produced', 'producer', 'producers', 'produces', 'producing', 'product', 'production', 'productive', 'productivity', 'products', 'professional', 'professionals', 'professor', 'profile', 'profiles', 'profit', 'profitability', 'profitable', 'profits', 'program', 'programme', 'programmer', 'programming', 'programs', 'progress', 'progresses', 'progression', 'project', 'projected', 'projections', 'projects', 'prolific', 'prolonged', 'prom', 'promaster', 'promise', 'promised', 'promises', 'promising', 'promo', 'promos', 'promote', 'promoted', 'promoter', 'promotes', 'promoting', 'promotion', 'promotional', 'promotions', 'prompt', 'prompted', 'prompts', 'prone', 'pronounce', 'proof', 'prop', 'propaganda', 'propel', 'propels', 'proper', 'properties', 'property', 'proportions', 'proposal', 'proposals', 'propose', 'proposed', 'proposes', 'proposing', 'pros', 'prosecution', 'prosecutor', 'prosecutors', 'prospect', 'prospects', 'prostate', 'prosthetic', 'protect', 'protected', 'protecting', 'protection', 'protections', 'protective', 'protects', 'protein', 'protest', 'protesters', 'protesting', 'protestors', 'protests', 'prototype', 'prototypes', 'proud', 'prove', 'proven', 'proves', 'provide', 'provided', 'providence', 'provider', 'providers', 'provides', 'providing', 'province', 'proving', 'provisions', 'provocative', 'proxy', 'pryte', 'ps', 'psa', 'psn', 'psoriatic', 'psp', 'psych', 'psychedelic', 'psychiatric', 'psychiatrist', 'psychological', 'psychology', 'pt', 'ptc', 'ptsd', 'public', 'publication', 'publicis', 'publicist', 'publicity', 'publicly', 'publish', 'published', 'publisher', 'publishers', 'publishes', 'publishing', 'puerto', 'puff', 'puking', 'pulaski', 'pulitzer', 'pull', 'pullback', 'pulled', 'pulling', 'pulls', 'pulp', 'pulse', 'pump', 'pumps', 'punch', 'punched', 'punches', 'punching', 'punish', 'punished', 'punishment', 'punk', 'puppy', 'purchase', 'purchased', 'purchases', 'purchasing', 'purdy', 'pure', 'purge', 'purple', 'purported', 'purpose', 'purposes', 'pursue', 'pursues', 'pursuing', 'pursuit', 'push', 'pushed', 'pushes', 'pushing', 'pussy', 'put', 'putin', 'puts', 'putting', 'puzzle', 'puzzled', 'puzzles', 'pv', 'pyramid', 'python', 'pythons', 'qatar', 'qb', 'qcom', 'qe', 'qhd', 'qtr', 'quad', 'quadrant', 'quadruples', 'quake', 'quakes', 'qualcomm', 'qualify', 'qualifying', 'quality', 'quantitative', 'quantum', 'quarantine', 'quarantined', 'quarantines', 'quarter', 'quarterback', 'quarterly', 'quartz', 'quebec', 'queen', 'queens', 'quentin', 'quest', 'question', 'questionable', 'questioned', 'questioning', 'questions', 'quick', 'quicken', 'quickens', 'quickly', 'quicksilver', 'quiet', 'quietly', 'quincy', 'quinn', 'quinta', 'quintuplets', 'quirky', 'quit', 'quite', 'quits', 'quitting', 'quiz', 'quiznos', 'quo', 'quot', 'quote', 'quoted', 'quotes', 'rabbi', 'raccoon', 'race', 'races', 'rachel', 'racial', 'racially', 'racing', 'racism', 'racist', 'racists', 'racy', 'radar', 'radcliffe', 'radiation', 'radical', 'radio', 'rae', 'raft', 'rage', 'rages', 'raghuram', 'raging', 'ragu', 'raid', 'raided', 'raids', 'rail', 'railgun', 'railroad', 'rails', 'railway', 'rain', 'rainbow', 'rains', 'raise', 'raised', 'raises', 'raisin', 'raising', 'rajan', 'rajat', 'rajeev', 'rakes', 'raknet', 'raleigh', 'rallies', 'rally', 'rallying', 'ralph', 'ram', 'ramp', 'rampage', 'ramping', 'ramps', 'ran', 'rana', 'ranbaxy', 'rand', 'randall', 'random', 'randy', 'range', 'rangers', 'rank', 'ranked', 'ranking', 'rankings', 'ranks', 'rannells', 'ransom', 'ransomware', 'rant', 'rants', 'rap', 'rape', 'raped', 'rapid', 'rapidly', 'raping', 'rapper', 'rappers', 'rapping', 'raps', 'rapture', 'rare', 'rash', 'rashes', 'rat', 'rate', 'rated', 'rates', 'rather', 'rating', 'ratings', 'ratio', 'rational', 'rats', 'rattler', 'rattles', 'raunchy', 'rave', 'raves', 'raw', 'ray', 'raymond', 'rays', 'razor', 'rba', 'rbc', 'rbi', 'rbnz', 'rbs', 'rcmp', 'rd', 'rdio', 'reach', 'reached', 'reaches', 'reaching', 'react', 'reacted', 'reaction', 'reactions', 'reacts', 'read', 'reade', 'reader', 'readers', 'readies', 'reading', 'reads', 'ready', 'readying', 'reaffirmed', 'reaffirms', 'real', 'realism', 'realistic', 'reality', 'realize', 'really', 'reaps', 'rear', 'rearview', 'reason', 'reasonable', 'reasons', 'reassurance', 'reassures', 'reattach', 'rebasing', 'rebecca', 'rebel', 'rebellion', 'rebels', 'rebhorn', 'reboot', 'rebooted', 'rebooting', 'reborn', 'rebound', 'rebounding', 'rebounds', 'rebrand', 'rebuffed', 'rebuild', 'rebuilt', 'recall', 'recalled', 'recalling', 'recalls', 'recap', 'recaps', 'recast', 'receive', 'received', 'receives', 'receiving', 'recent', 'recently', 'reception', 'recession', 'recipe', 'recipes', 'reckless', 'reckoning', 'reclaims', 'recluse', 'reclusive', 'recognise', 'recognition', 'recognize', 'recognized', 'recognizes', 'recommend', 'recommendation', 'recommendations', 'recommended', 'recommends', 'reconciliation', 'reconsider', 'record', 'recorded', 'recording', 'recordings', 'records', 'recover', 'recoverable', 'recovered', 'recovering', 'recovers', 'recovery', 'recreate', 'recreates', 'recreational', 'recruits', 'recycling', 'red', 'reddit', 'redefine', 'redefines', 'redemption', 'redesign', 'redesigned', 'redesigns', 'rediscovered', 'redskins', 'reduce', 'reduced', 'reduces', 'reducing', 'reduction', 'reductions', 'reed', 'reef', 'reefs', 'reel', 'reese', 'reeva', 'reeves', 'reference', 'references', 'referendum', 'referral', 'refile', 'refinance', 'refinery', 'reflect', 'reflection', 'reflections', 'reflects', 'refocus', 'reform', 'reforms', 'refrains', 'refresh', 'refreshed', 'refreshes', 'refugees', 'refund', 'refunds', 'refuse', 'refused', 'refuses', 'refusing', 'refutes', 'regain', 'regains', 'regarding', 'regime', 'regimen', 'region', 'regional', 'regions', 'register', 'registered', 'registers', 'registration', 'regret', 'regrets', 'regs', 'regular', 'regulars', 'regulate', 'regulated', 'regulating', 'regulation', 'regulations', 'regulator', 'regulators', 'regulatory', 'rehab', 'rehearsal', 'reid', 'reign', 'reigns', 'reilly', 'rein', 'reins', 'reinstate', 'reinvent', 'reissue', 'reiterated', 'reiterates', 'reitman', 'reject', 'rejected', 'rejection', 'rejects', 'rejoice', 'rejoins', 'rejuvenates', 'relapse', 'related', 'relations', 'relationship', 'relationships', 'relative', 'relatively', 'relatives', 'relativity', 'relaunch', 'relaunches', 'relax', 'relaxes', 'relay', 'release', 'released', 'releases', 'releasing', 'relents', 'relenza', 'relevant', 'reliability', 'reliable', 'reliance', 'reliant', 'relief', 'relieved', 'religion', 'religious', 'relive', 'remain', 'remainder', 'remained', 'remaining', 'remains', 'remake', 'remarkable', 'remarks', 'remastered', 'remember', 'remembered', 'remembering', 'remembers', 'remind', 'reminder', 'reminders', 'reminds', 'reminiscent', 'remix', 'remote', 'remotely', 'removal', 'remove', 'removed', 'removes', 'removing', 'renaissance', 'rename', 'renamed', 'renault', 'render', 'renders', 'renegade', 'renesas', 'renew', 'renewable', 'renewables', 'renewal', 'renewals', 'renewed', 'renews', 'reno', 'renowned', 'rent', 'rental', 'reopen', 'reopens', 'reorganization', 'rep', 'repair', 'repairs', 'repay', 'repeal', 'repeat', 'repeats', 'replace', 'replaced', 'replacement', 'replacements', 'replaces', 'replacing', 'replica', 'replies', 'repo', 'report', 'reported', 'reportedly', 'reporter', 'reporters', 'reporting', 'reports', 'representative', 'reprieve', 'reprise', 'reprises', 'republic', 'republican', 'republicans', 'reputation', 'request', 'requested', 'requests', 'require', 'required', 'requirement', 'requirements', 'requires', 'requiring', 'res', 'rescheduled', 'reschedules', 'rescue', 'rescued', 'rescuers', 'rescues', 'research', 'researcher', 'researchers', 'resembles', 'resembling', 'resentment', 'reservations', 'reserve', 'reserves', 'reservoir', 'reset', 'resets', 'residency', 'resident', 'residential', 'residents', 'resign', 'resignation', 'resigns', 'resilience', 'resist', 'resistance', 'resistant', 'resolution', 'resolve', 'resort', 'resorts', 'resources', 'respawn', 'respect', 'respectfully', 'respiratory', 'respite', 'respond', 'responders', 'responding', 'responds', 'response', 'responses', 'responsibility', 'responsible', 'rest', 'restart', 'restarts', 'restaurant', 'restaurants', 'resting', 'restore', 'restored', 'restores', 'restraining', 'restraint', 'restrict', 'restricted', 'restriction', 'restrictions', 'restricts', 'restructuring', 'result', 'results', 'resume', 'resumes', 'resupply', 'resurfaces', 'resurgence', 'resurrection', 'resurrects', 'resveratrol', 'retail', 'retailer', 'retailers', 'retain', 'retains', 'retaliation', 'retardant', 'reteam', 'rethink', 'retina', 'retinal', 'retire', 'retired', 'retiree', 'retirees', 'retirement', 'retires', 'retiring', 'retracted', 'retraction', 'retracts', 'retreat', 'retreats', 'retrial', 'retro', 'retrospective', 'return', 'returned', 'returning', 'returns', 'retweet', 'reunion', 'reunite', 'reunited', 'reunites', 'reuniting', 'reusable', 'reuters', 'rev', 'revamp', 'revamped', 'revamps', 'reveal', 'revealed', 'revealing', 'reveals', 'revelation', 'revelations', 'revenant', 'revenge', 'revenue', 'revenues', 'reversal', 'reverse', 'reversed', 'reverses', 'reversing', 'review', 'reviewed', 'reviewing', 'reviews', 'revise', 'revised', 'revises', 'revising', 'revision', 'revisions', 'revisit', 'revisited', 'revisits', 'revival', 'revive', 'revived', 'revives', 'reviving', 'revolt', 'revolution', 'revolutionary', 'revolutionize', 'revs', 'revue', 'rewalk', 'reward', 'rewards', 'rewrite', 'rex', 'rey', 'reynolds', 'rhapsody', 'rhcp', 'rhead', 'rhimes', 'rhode', 'rhonda', 'ri', 'ricci', 'rice', 'rich', 'richard', 'richards', 'richardson', 'richer', 'richie', 'richman', 'richmond', 'rick', 'ricky', 'rico', 'rid', 'riddle', 'ride', 'rider', 'riders', 'rides', 'ridesharing', 'ridiculous', 'ridiculously', 'riding', 'ridley', 'riff', 'rifle', 'rift', 'rig', 'rigged', 'rigging', 'right', 'rights', 'rigs', 'rihanna', 'riken', 'riley', 'ring', 'ringling', 'rings', 'rio', 'riot', 'riots', 'rip', 'ripe', 'ripley', 'ripoff', 'ripped', 'ripping', 'ripple', 'ripples', 'rips', 'rise', 'risen', 'rises', 'rising', 'risk', 'risks', 'risky', 'rita', 'rival', 'rivalry', 'rivals', 'river', 'rivers', 'riverside', 'rixson', 'rk', 'road', 'roadmap', 'roads', 'roanoke', 'roar', 'roaring', 'rob', 'robach', 'robbed', 'robbers', 'robbery', 'robert', 'roberts', 'robertson', 'robin', 'robonaut', 'robot', 'robotic', 'robots', 'robust', 'roche', 'rochester', 'rock', 'rockchip', 'rocked', 'rocker', 'rockers', 'rocket', 'rockets', 'rockford', 'rocking', 'rocks', 'rockstar', 'rockwood', 'rocky', 'rodger', 'rodgers', 'rodriguez', 'rogan', 'rogen', 'roger', 'rogers', 'rogue', 'roku', 'role', 'roles', 'rolf', 'roll', 'rolled', 'roller', 'rolling', 'rollins', 'rollout', 'rolls', 'rom', 'romance', 'romantic', 'romeo', 'romp', 'ron', 'ronald', 'ronnie', 'roof', 'rookie', 'room', 'roombots', 'rooms', 'rooney', 'root', 'roots', 'rope', 'ropes', 'rosamund', 'rose', 'roseland', 'rosemary', 'roses', 'rosetta', 'rosie', 'rosneft', 'ross', 'rossi', 'rosy', 'roth', 'rotten', 'rouen', 'rouge', 'rough', 'roughly', 'rouhani', 'round', 'rounded', 'rounds', 'roundup', 'rout', 'route', 'routes', 'routine', 'rover', 'rovio', 'row', 'rowe', 'rowghani', 'rowland', 'rowling', 'roy', 'royal', 'royals', 'royalties', 'royalty', 'royce', 'rpt', 'rquez', 'rr', 'rs', 'rt', 'rubble', 'rubik', 'rubio', 'ruble', 'ruby', 'rudd', 'rude', 'rudolph', 'ruffalo', 'ruin', 'ruined', 'ruining', 'ruins', 'rule', 'ruled', 'rules', 'ruling', 'rumor', 'rumored', 'rumors', 'rumour', 'rumoured', 'rumours', 'run', 'runaway', 'runaways', 'rundown', 'runkeeper', 'runner', 'runners', 'running', 'runs', 'runway', 'rupee', 'rupert', 'rural', 'rush', 'rushed', 'rushes', 'rushing', 'russell', 'russia', 'russian', 'russians', 'rust', 'rwe', 'ryan', 'ryanair', 'rybolovlev', 'rza', 'sa', 'saban', 'sabotage', 'sac', 'sachs', 'sack', 'sacked', 'sacks', 'sacramento', 'sacred', 'sacrifice', 'sad', 'saddened', 'sadly', 'sadness', 'safari', 'safe', 'safely', 'safer', 'safety', 'safran', 'sag', 'saga', 'sage', 'sags', 'sahara', 'said', 'sail', 'sailing', 'sailor', 'sails', 'saint', 'sajak', 'sake', 'salad', 'salary', 'saldana', 'sale', 'sales', 'salesforce', 'sally', 'salmon', 'salmonella', 'salomon', 'salon', 'salt', 'salty', 'salute', 'sam', 'samaritan', 'samba', 'samberg', 'sample', 'samples', 'samsung', 'samuel', 'san', 'sanchez', 'sanction', 'sanctioned', 'sanctions', 'sand', 'sandberg', 'sanders', 'sandisk', 'sandler', 'sandra', 'sands', 'sandwich', 'sandy', 'sane', 'sang', 'sank', 'sanofi', 'sanrio', 'sans', 'sansa', 'santa', 'sap', 'sapphire', 'sara', 'sarah', 'sarandon', 'sarasota', 'sardinia', 'sarepta', 'sars', 'sasha', 'saskatoon', 'sat', 'satellite', 'satellites', 'satire', 'satisfaction', 'satisfied', 'satisfying', 'saturated', 'saturday', 'saturn', 'saturns', 'satya', 'sauce', 'saucer', 'saudi', 'saudis', 'savage', 'savannah', 'save', 'saved', 'savers', 'saves', 'savile', 'saving', 'savings', 'savior', 'savvy', 'saw', 'sawyer', 'say', 'saying', 'sayings', 'says', 'sbarro', 'sc', 'scale', 'scaled', 'scales', 'scam', 'scammers', 'scams', 'scan', 'scandal', 'scandalous', 'scania', 'scanner', 'scanning', 'scans', 'scare', 'scared', 'scares', 'scarlet', 'scarlett', 'scary', 'scenario', 'scene', 'scenes', 'scents', 'schedule', 'scheduled', 'schedules', 'scheme', 'schmidt', 'schneiderman', 'school', 'schools', 'schumacher', 'schumer', 'schwarzenegger', 'sci', 'science', 'sciences', 'scientific', 'scientist', 'scientists', 'sclerosis', 'scolded', 'scolds', 'scooby', 'scoop', 'scoops', 'scooter', 'scope', 'score', 'scorecard', 'scores', 'scotland', 'scott', 'scottish', 'scotty', 'scotus', 'scout', 'scouts', 'scramble', 'scrambles', 'scrap', 'scrape', 'scrapping', 'scraps', 'scratch', 'scratching', 'scream', 'screaming', 'screams', 'screen', 'screened', 'screening', 'screenings', 'screens', 'screenshot', 'screenshots', 'screenwriter', 'screw', 'screwed', 'screwing', 'screws', 'script', 'scripts', 'scrubbed', 'scrubs', 'scrutiny', 'scty', 'scuffle', 'sd', 'sdcc', 'sdk', 'se', 'sea', 'seabed', 'seacrest', 'seafood', 'seal', 'sealed', 'seals', 'sean', 'search', 'searched', 'searchers', 'searches', 'searching', 'sears', 'seas', 'season', 'seasonal', 'seasons', 'seat', 'seats', 'seattle', 'seaworld', 'sebelius', 'sec', 'second', 'seconds', 'secret', 'secretary', 'secretly', 'secrets', 'section', 'sections', 'sector', 'sectors', 'secure', 'secures', 'securing', 'securities', 'security', 'secusmart', 'sedan', 'sedans', 'seder', 'sediuk', 'see', 'seed', 'seeds', 'seeing', 'seek', 'seeking', 'seeks', 'seem', 'seemingly', 'seems', 'seen', 'sees', 'segel', 'segment', 'segway', 'seinfeld', 'seismic', 'seize', 'seized', 'seizes', 'seizure', 'seizures', 'select', 'selected', 'selection', 'selects', 'selena', 'self', 'selfie', 'selfies', 'sell', 'seller', 'sellers', 'selling', 'selloff', 'sells', 'semen', 'semi', 'semifinals', 'semitic', 'semitism', 'sen', 'senate', 'senator', 'senators', 'send', 'sending', 'sendoff', 'sends', 'senegal', 'seng', 'senior', 'seniors', 'sensation', 'sense', 'sensing', 'sensitive', 'sensor', 'sensors', 'sent', 'sentence', 'sentenced', 'sentences', 'sentencing', 'sentiment', 'sentinel', 'sentinels', 'seoul', 'separate', 'separated', 'separates', 'separating', 'separation', 'separatists', 'sept', 'septa', 'september', 'sequel', 'sequels', 'sequence', 'seragon', 'sergey', 'serial', 'series', 'serious', 'seriously', 'serkis', 'sermon', 'serum', 'serve', 'served', 'server', 'servers', 'serves', 'service', 'serviceman', 'services', 'serving', 'session', 'sessions', 'set', 'setback', 'seth', 'seti', 'sets', 'setting', 'settings', 'settle', 'settlement', 'settlements', 'settles', 'settling', 'setup', 'seven', 'seventeen', 'seventh', 'several', 'severance', 'severe', 'severed', 'severely', 'severs', 'sex', 'sexiest', 'sexism', 'sexist', 'sexting', 'sexual', 'sexuality', 'sexually', 'sexy', 'sf', 'sfr', 'sgr', 'sgt', 'sh', 'shade', 'shades', 'shadow', 'shady', 'shae', 'shaggy', 'shailene', 'shake', 'shakedown', 'shakes', 'shakespeare', 'shakeup', 'shaking', 'shakira', 'shakur', 'shaky', 'shale', 'shame', 'shamed', 'shameless', 'shames', 'shaming', 'shane', 'shanghai', 'shape', 'shaped', 'shaquille', 'share', 'shared', 'sharefactory', 'shareholder', 'shareholders', 'shares', 'sharia', 'sharing', 'shark', 'sharknado', 'sharp', 'sharply', 'shatner', 'shattered', 'shatters', 'shaun', 'shaved', 'shaves', 'shaving', 'shazam', 'shed', 'sheds', 'sheen', 'sheer', 'sheeran', 'sheet', 'sheets', 'sheffield', 'shell', 'shells', 'shelter', 'shelton', 'shelves', 'shepard', 'shepherd', 'sheriff', 'sherlock', 'sherman', 'sherri', 'sheryl', 'shia', 'shield', 'shields', 'shift', 'shifted', 'shifting', 'shifts', 'shigeru', 'shiller', 'shine', 'shines', 'shining', 'shiny', 'ship', 'shipment', 'shipments', 'shipped', 'shipping', 'ships', 'shipwreck', 'shire', 'shirt', 'shirtless', 'shirts', 'shock', 'shocked', 'shocker', 'shockers', 'shocking', 'shockingly', 'shocks', 'shoe', 'shoes', 'shonda', 'shoot', 'shooter', 'shooting', 'shootings', 'shootout', 'shoots', 'shop', 'shoppers', 'shopping', 'shoprunner', 'shops', 'shore', 'shores', 'short', 'shortage', 'shortages', 'shortened', 'shorter', 'shortlist', 'shortly', 'shorts', 'shot', 'shots', 'shovel', 'show', 'showbiz', 'showcase', 'showcases', 'showdown', 'showed', 'shower', 'showers', 'showing', 'shown', 'showrunner', 'showrunners', 'shows', 'showtime', 'shpg', 'shrank', 'shredder', 'shrew', 'shrine', 'shrink', 'shrinking', 'shrinks', 'shrug', 'shrugs', 'shrunk', 'shulgin', 'shun', 'shut', 'shutdown', 'shuts', 'shutter', 'shutters', 'shutting', 'shy', 'sia', 'siberia', 'siblings', 'sick', 'sickened', 'sickens', 'sickle', 'sid', 'side', 'sided', 'sidelines', 'sides', 'sideshow', 'sideways', 'siding', 'siemens', 'sierra', 'sigh', 'sight', 'sighted', 'sighting', 'sightings', 'sights', 'sign', 'signal', 'signals', 'signature', 'signed', 'significance', 'significant', 'significantly', 'signing', 'signs', 'signup', 'signups', 'sigourney', 'sikka', 'sikorsky', 'silence', 'silent', 'silevo', 'silicon', 'siliconangle', 'silk', 'silly', 'sils', 'silver', 'silverman', 'sim', 'simband', 'similar', 'similarities', 'simmons', 'simon', 'simple', 'simpler', 'simplified', 'simply', 'simpson', 'simpsons', 'simulation', 'simulator', 'simulcast', 'sin', 'sina', 'since', 'sinead', 'sing', 'singapore', 'singer', 'singers', 'singing', 'single', 'singles', 'singpost', 'sings', 'sinister', 'sink', 'sinkhole', 'sinking', 'sinks', 'sino', 'sins', 'sioux', 'sir', 'siri', 'sirius', 'siriusxm', 'sis', 'sisaundra', 'sister', 'sisters', 'sit', 'sitcom', 'site', 'sites', 'sits', 'sitting', 'situation', 'six', 'sixth', 'size', 'sized', 'sizes', 'sizzle', 'sizzles', 'sizzurp', 'skarsgard', 'skeleton', 'skeptical', 'skepticism', 'skeptics', 'sketch', 'sketches', 'sketchy', 'skid', 'skidmore', 'skids', 'skies', 'skills', 'skin', 'skinny', 'skip', 'skipped', 'skipping', 'skips', 'skirt', 'skit', 'sky', 'skybridge', 'skylanders', 'skype', 'skyrocket', 'skyrocketing', 'skyrockets', 'skyway', 'slack', 'slam', 'slammed', 'slams', 'slap', 'slapped', 'slaps', 'slash', 'slashed', 'slashes', 'slashing', 'slate', 'slated', 'slates', 'slave', 'slavery', 'slaying', 'slays', 'sleek', 'sleep', 'sleeping', 'sleeps', 'sleepy', 'sleeve', 'slept', 'slew', 'slice', 'sliced', 'slide', 'slides', 'slideshow', 'sliding', 'slight', 'slightly', 'slim', 'slime', 'slimed', 'slimmer', 'slingshot', 'slip', 'slipped', 'slips', 'slit', 'sloppy', 'slot', 'slow', 'slowdown', 'slowed', 'slower', 'slowest', 'slowing', 'slowly', 'slows', 'sluggish', 'slump', 'slumping', 'slumps', 'slur', 'slut', 'sm', 'smackdown', 'smacked', 'small', 'smaller', 'smallest', 'smallpox', 'smart', 'smarter', 'smartphone', 'smartphones', 'smartwatch', 'smartwatches', 'smash', 'smashes', 'smashing', 'smear', 'smell', 'smells', 'smile', 'smiles', 'smiling', 'smith', 'smithsonian', 'smitten', 'smog', 'smoke', 'smokers', 'smokes', 'smoking', 'smooth', 'sms', 'smucker', 'snack', 'snacks', 'snafu', 'snag', 'snags', 'snake', 'snap', 'snapchat', 'snapdragon', 'snapped', 'snaps', 'snapshot', 'snares', 'snatches', 'snc', 'sne', 'sneak', 'sneakers', 'sneaking', 'sneaks', 'sneaky', 'sniff', 'sniffing', 'snl', 'snooki', 'snoop', 'snooping', 'snoopy', 'snow', 'snowden', 'snowy', 'snub', 'snubbed', 'snubs', 'snyder', 'soaked', 'soap', 'soaps', 'soar', 'soared', 'soaring', 'soars', 'sober', 'sobriety', 'sobs', 'soc', 'soccer', 'social', 'society', 'sociology', 'soda', 'sodas', 'sodium', 'sofia', 'soft', 'softbank', 'softer', 'software', 'soho', 'soil', 'solange', 'solar', 'solarcity', 'sold', 'soldier', 'soldiers', 'sole', 'solid', 'solo', 'solution', 'solutions', 'solve', 'solved', 'solves', 'soma', 'somehow', 'someone', 'something', 'sometimes', 'somewhere', 'son', 'sonata', 'sonatas', 'song', 'songs', 'songwriter', 'songza', 'sonic', 'sons', 'sony', 'sookie', 'soon', 'sooner', 'soprano', 'sopranos', 'sorkin', 'sorrentino', 'sorry', 'sort', 'sotheby', 'sought', 'soul', 'soules', 'souls', 'sound', 'sounds', 'soundtrack', 'soup', 'sour', 'source', 'sources', 'sourcing', 'south', 'southeast', 'southern', 'southwest', 'sovaldi', 'sovereign', 'soviet', 'soy', 'soybean', 'soybeans', 'soyuz', 'sp', 'space', 'spacecraft', 'spaces', 'spaceship', 'spacetime', 'spacewalk', 'spacewalking', 'spacex', 'spain', 'spam', 'spammy', 'span', 'spangled', 'spanish', 'spans', 'spare', 'spark', 'sparked', 'sparkles', 'sparks', 'spat', 'spawns', 'spdr', 'speak', 'speaker', 'speakers', 'speaking', 'speaks', 'spears', 'spec', 'special', 'specialist', 'specialties', 'specialty', 'species', 'specific', 'specification', 'specifications', 'specs', 'spectacle', 'spectacular', 'spectrum', 'speculation', 'speech', 'speed', 'speeding', 'speeds', 'speedway', 'spell', 'spelling', 'spells', 'spencer', 'spend', 'spending', 'spends', 'spent', 'sperm', 'spf', 'spice', 'spider', 'spiderman', 'spiders', 'spidey', 'spielberg', 'spies', 'spike', 'spikes', 'spill', 'spilled', 'spills', 'spin', 'spinal', 'spine', 'spinning', 'spinoff', 'spins', 'spiral', 'spirit', 'spiritual', 'splash', 'splashes', 'split', 'splits', 'splitting', 'spoil', 'spoiler', 'spoilers', 'spoils', 'spokane', 'spoke', 'spoken', 'spokesman', 'spokesperson', 'sponge', 'spongebob', 'sponsored', 'spoof', 'spoofed', 'spoofs', 'spooked', 'spooks', 'sport', 'sporting', 'sports', 'spot', 'spotify', 'spotlight', 'spotlights', 'spots', 'spotted', 'spouse', 'spouses', 'spray', 'spraying', 'spread', 'spreading', 'spreads', 'spree', 'spring', 'springfield', 'springs', 'springsteen', 'sprint', 'spritz', 'sprouts', 'spur', 'spurs', 'spurt', 'spwr', 'spy', 'spying', 'squad', 'square', 'squarepants', 'squeeze', 'squeezed', 'squibb', 'squirrel', 'sr', 'srpt', 'srt', 'srx', 'ssl', 'st', 'stab', 'stabbing', 'stability', 'stabilize', 'stabilizes', 'stabilizing', 'stable', 'stacey', 'stack', 'stacks', 'stacy', 'stadium', 'staff', 'stage', 'staged', 'stages', 'staggering', 'stagnant', 'stairway', 'stake', 'stakes', 'stale', 'stalker', 'stalking', 'stalks', 'stall', 'stalled', 'stalling', 'stallone', 'stalls', 'stamos', 'stamp', 'stamps', 'stan', 'stance', 'stand', 'standalone', 'standard', 'standards', 'standing', 'standoff', 'stands', 'standstill', 'stanford', 'stanley', 'stap', 'staples', 'star', 'starbucks', 'stargazers', 'stargazing', 'stark', 'starring', 'stars', 'start', 'started', 'starter', 'starting', 'starts', 'startup', 'startups', 'starwood', 'starz', 'state', 'statement', 'statements', 'states', 'statewide', 'statins', 'station', 'stations', 'statistics', 'stats', 'statue', 'status', 'stave', 'stay', 'staying', 'stays', 'std', 'steadies', 'steady', 'steak', 'steal', 'stealing', 'steals', 'stealth', 'steam', 'steamy', 'steel', 'steenkamp', 'steep', 'steering', 'stefani', 'steinberg', 'steinhafel', 'stella', 'stellar', 'stem', 'step', 'stepbrother', 'stephen', 'stepped', 'stepper', 'stepping', 'steps', 'stereotype', 'sterling', 'stern', 'steroid', 'steve', 'steven', 'stevens', 'stevie', 'stewart', 'stick', 'sticker', 'stickers', 'sticking', 'sticks', 'sticky', 'stigma', 'still', 'stills', 'stimulant', 'stimulation', 'stimulus', 'sting', 'stint', 'stipe', 'stir', 'stirs', 'stock', 'stockholder', 'stockpile', 'stockpiles', 'stockpiling', 'stocks', 'stocktwits', 'stokes', 'stole', 'stolen', 'stoll', 'stomach', 'stomps', 'stone', 'stoneheart', 'stones', 'stooges', 'stop', 'stopped', 'stopping', 'stops', 'storage', 'store', 'stored', 'stores', 'stories', 'storm', 'storms', 'story', 'storyful', 'storyline', 'storytelling', 'stover', 'strahan', 'straight', 'strain', 'strait', 'stranded', 'strange', 'stranger', 'strangers', 'strapless', 'strategic', 'strategies', 'strategy', 'strauss', 'strawberry', 'streak', 'stream', 'streamed', 'streaming', 'streams', 'street', 'streets', 'streisand', 'strength', 'strengthen', 'strengthening', 'strengthens', 'stress', 'stressed', 'stresses', 'stressful', 'stretch', 'stricken', 'strict', 'stricter', 'strife', 'strike', 'strikes', 'striking', 'string', 'strip', 'striped', 'stripes', 'stripped', 'strips', 'stritch', 'stroke', 'strokes', 'stroll', 'strong', 'stronger', 'strongest', 'strongly', 'struck', 'structure', 'struggle', 'struggles', 'struggling', 'stuck', 'studded', 'student', 'students', 'studied', 'studies', 'studio', 'studios', 'study', 'studying', 'stuff', 'stumble', 'stumbles', 'stung', 'stunned', 'stunning', 'stuns', 'stunt', 'stunts', 'stupid', 'stupidity', 'style', 'styles', 'stylish', 'stylus', 'sub', 'subcompacts', 'subdued', 'subject', 'submarine', 'submissive', 'submit', 'submits', 'submitted', 'subpoena', 'subpoenaed', 'subprime', 'subrata', 'subs', 'subscriber', 'subscribers', 'subscription', 'subscriptions', 'subsidiary', 'subsidies', 'subsidy', 'substance', 'substantial', 'subtle', 'suburban', 'subway', 'succeed', 'succeeds', 'success', 'successful', 'successfully', 'succession', 'successor', 'succumbs', 'suck', 'sucks', 'sudan', 'sudden', 'suddenly', 'sudeikis', 'sue', 'sued', 'sues', 'suffer', 'suffered', 'sufferers', 'suffering', 'suffers', 'sugar', 'sugary', 'suggest', 'suggested', 'suggesting', 'suggestions', 'suggests', 'suicidal', 'suicide', 'suing', 'suisse', 'suit', 'suite', 'suites', 'suitor', 'suitors', 'suits', 'sultan', 'sulzberger', 'sum', 'summary', 'summer', 'summers', 'summerslam', 'summertime', 'summit', 'summoned', 'summons', 'sun', 'sunday', 'sunny', 'sunpower', 'sunrise', 'sunscreen', 'sunscreens', 'sunset', 'sunshine', 'suntrust', 'super', 'superb', 'superbug', 'superbugs', 'supercharger', 'superfund', 'superhero', 'superheroes', 'superior', 'superman', 'supermarket', 'supermassive', 'supermodel', 'supermoon', 'supermoons', 'supersonic', 'superstar', 'supper', 'supplement', 'supplements', 'supplier', 'suppliers', 'supplies', 'supply', 'support', 'supported', 'supporters', 'supporting', 'supports', 'supposed', 'supposedly', 'supreme', 'sure', 'surface', 'surfaced', 'surfaces', 'surfboard', 'surfing', 'surge', 'surged', 'surgeon', 'surgeons', 'surgery', 'surges', 'surgical', 'surging', 'suri', 'surpass', 'surpasses', 'surplus', 'surprise', 'surprised', 'surprises', 'surprising', 'surprisingly', 'surrender', 'surrounded', 'surrounding', 'surveillance', 'survey', 'surveys', 'survival', 'survive', 'survived', 'survives', 'surviving', 'survivor', 'survivors', 'susan', 'sushi', 'sushma', 'suspect', 'suspected', 'suspects', 'suspend', 'suspended', 'suspends', 'suspension', 'suspicion', 'suspicious', 'sustain', 'sustained', 'sutherland', 'sutton', 'suv', 'suvs', 'suzuki', 'swan', 'swanepoel', 'swap', 'swaps', 'swaraj', 'swarm', 'swartz', 'swatch', 'swayze', 'swearing', 'swears', 'sweat', 'swedish', 'sweeney', 'sweep', 'sweeping', 'sweeps', 'sweet', 'sweetened', 'sweetener', 'sweetens', 'sweeting', 'sweets', 'swell', 'swhc', 'swift', 'swim', 'swimming', 'swims', 'swimsuit', 'swing', 'swings', 'swipe', 'swirl', 'swiss', 'switch', 'switches', 'switching', 'switzerland', 'swizz', 'swoops', 'swords', 'sxsw', 'sycamore', 'sydney', 'syfy', 'sylvia', 'symantec', 'symbol', 'symc', 'symptoms', 'sync', 'syncing', 'syndrome', 'synopsis', 'synthetic', 'syphilis', 'syria', 'syrian', 'system', 'systems', 'tab', 'table', 'tablet', 'tablets', 'tabloid', 'tabloids', 'tabs', 'tackle', 'tackles', 'tackling', 'tacky', 'taco', 'tactics', 'tag', 'tagging', 'tags', 'tahoe', 'tail', 'tailored', 'tainted', 'taiwan', 'taiwanese', 'takata', 'take', 'takeaways', 'takeda', 'taken', 'takeoff', 'takeover', 'takes', 'taking', 'tale', 'talent', 'talents', 'tales', 'talk', 'talked', 'talker', 'talking', 'talks', 'tall', 'tallahassee', 'tallest', 'tally', 'tame', 'tamiflu', 'tammy', 'tampa', 'tampering', 'tan', 'tang', 'tangled', 'tango', 'tank', 'tankan', 'tanker', 'tanks', 'tanning', 'tap', 'tape', 'taper', 'tapering', 'tapes', 'tapped', 'taps', 'tar', 'tara', 'tarantino', 'targaryen', 'target', 'targeted', 'targeting', 'targets', 'tariffs', 'task', 'taste', 'tasty', 'tate', 'tatiana', 'tattoo', 'tattooed', 'tattoos', 'tatum', 'taught', 'taunts', 'tax', 'taxable', 'taxed', 'taxes', 'taxi', 'taxing', 'taxis', 'taxpayer', 'taxpayers', 'taylor', 'tb', 'tbt', 'tca', 'td', 'te', 'tea', 'teach', 'teacher', 'teachers', 'teaches', 'teaching', 'team', 'teaming', 'teams', 'tear', 'teardown', 'tearful', 'tears', 'tease', 'teased', 'teaser', 'teasers', 'teases', 'teasing', 'tech', 'technical', 'technique', 'techniques', 'technologies', 'technology', 'techs', 'techsystems', 'ted', 'teddy', 'teen', 'teenage', 'teenager', 'teenagers', 'teens', 'teeth', 'teething', 'tegra', 'tehran', 'tel', 'tele', 'telecast', 'telecom', 'telecoms', 'telescope', 'television', 'teliasonera', 'tell', 'telling', 'tells', 'telus', 'temper', 'temperature', 'temperatures', 'tempers', 'temporarily', 'temporary', 'ten', 'tencent', 'tend', 'tender', 'tenders', 'tenn', 'tennessee', 'tennis', 'tens', 'tense', 'tension', 'tensions', 'tentative', 'tepco', 'tepid', 'tequila', 'term', 'terminal', 'terminally', 'terminals', 'terminates', 'termination', 'terminator', 'terminus', 'termite', 'terms', 'terrible', 'terrific', 'terrified', 'terrifying', 'territorial', 'territory', 'terror', 'terrorism', 'terrorist', 'terry', 'tesco', 'tesla', 'tess', 'test', 'tested', 'testers', 'testifies', 'testify', 'testimony', 'testing', 'testosterone', 'tests', 'teva', 'texas', 'text', 'texting', 'texts', 'tgt', 'th', 'thai', 'thailand', 'thank', 'thankful', 'thanks', 'thanos', 'thaw', 'theater', 'theaters', 'theatre', 'theatres', 'theatrical', 'theft', 'theme', 'themed', 'theo', 'theories', 'theory', 'therapeutic', 'therapeutics', 'therapy', 'thermostat', 'thermostats', 'theron', 'theroux', 'thevoice', 'thi', 'thicke', 'thieves', 'thigh', 'thin', 'thing', 'things', 'think', 'thinking', 'thinkpad', 'thinks', 'thinner', 'thinnest', 'thinspiration', 'third', 'thirds', 'thirty', 'thomas', 'thor', 'thorne', 'thornton', 'though', 'thought', 'thoughts', 'thousand', 'thousands', 'thread', 'threat', 'threaten', 'threatened', 'threatening', 'threatens', 'threats', 'three', 'threes', 'threshold', 'threw', 'thrill', 'thrilled', 'thriller', 'thrilling', 'thrills', 'thrive', 'throat', 'throne', 'thrones', 'throttle', 'throughout', 'throw', 'throwback', 'throwing', 'thrown', 'throws', 'thru', 'thumbs', 'thunder', 'thurman', 'thursday', 'thwart', 'ti', 'tiaa', 'tibetans', 'tick', 'ticker', 'ticket', 'tickets', 'ticking', 'ticks', 'ticon', 'tide', 'tie', 'tied', 'tier', 'ties', 'tif', 'tiffany', 'tiger', 'tight', 'tighten', 'tightening', 'tightens', 'tighter', 'tightrope', 'til', 'tila', 'till', 'tilt', 'tim', 'timberlake', 'time', 'timeline', 'times', 'timing', 'timothy', 'tina', 'tinder', 'tiny', 'tip', 'tipped', 'tipping', 'tips', 'tirade', 'tired', 'tissue', 'tissues', 'titan', 'titanfall', 'titanic', 'titanium', 'titanosaur', 'titans', 'title', 'titled', 'titles', 'tivo', 'tizen', 'tjx', 'tln', 'tm', 'tmnt', 'tmus', 'tmz', 'tn', 'toast', 'tobacco', 'toby', 'today', 'toddler', 'toe', 'together', 'toilet', 'tokyo', 'told', 'toledo', 'tolerance', 'toll', 'tom', 'tomb', 'tomlin', 'tomlinson', 'tommy', 'tomodachi', 'tomorrow', 'ton', 'tone', 'toned', 'tongue', 'toni', 'tonight', 'tons', 'tony', 'took', 'tool', 'tools', 'tooth', 'top', 'topanga', 'topic', 'topics', 'topless', 'topped', 'topping', 'topples', 'tops', 'topshop', 'tori', 'torn', 'toronto', 'torrent', 'torture', 'toss', 'tossed', 'tosses', 'total', 'totally', 'totals', 'touch', 'touches', 'touching', 'touchy', 'tough', 'tougher', 'toughest', 'tour', 'touring', 'tourism', 'tourist', 'tourists', 'tournament', 'tours', 'tout', 'touts', 'tow', 'toward', 'towards', 'tower', 'towers', 'town', 'towns', 'townsend', 'township', 'toxic', 'toy', 'toyota', 'toys', 'tpg', 'trace', 'traced', 'traces', 'track', 'tracked', 'tracker', 'tracking', 'tracks', 'traction', 'tracy', 'trade', 'traded', 'trademark', 'trademarks', 'trader', 'traders', 'trades', 'trading', 'tradition', 'traditional', 'traditions', 'traffic', 'tragedies', 'tragedy', 'tragic', 'trail', 'trailer', 'trailers', 'trails', 'train', 'trainer', 'training', 'trains', 'trainwreck', 'trampled', 'tramples', 'tran', 'trans', 'transaction', 'transactions', 'transcend', 'transcendence', 'transcends', 'transcript', 'transfer', 'transfers', 'transform', 'transformation', 'transformed', 'transformers', 'transforms', 'transgender', 'transit', 'transition', 'translate', 'translates', 'translation', 'translator', 'transmission', 'transmit', 'transmitted', 'transparency', 'transparent', 'transplant', 'transplants', 'transport', 'transportation', 'transsexual', 'trap', 'trapped', 'traps', 'trash', 'trashes', 'trauma', 'traumatic', 'travel', 'traveled', 'traveler', 'travelers', 'traveling', 'travellers', 'travels', 'travis', 'travolta', 'trax', 'treasure', 'treasuries', 'treasury', 'treasurys', 'treat', 'treated', 'treating', 'treatment', 'treatments', 'treats', 'trebek', 'tree', 'trees', 'trek', 'tremendous', 'trench', 'trend', 'trending', 'trends', 'trial', 'trials', 'triangle', 'tribeca', 'tribune', 'tribute', 'tributes', 'triceratops', 'trick', 'tricks', 'tricky', 'triclosan', 'tried', 'tries', 'trigger', 'triggered', 'triggers', 'trillion', 'trilogy', 'trim', 'trimester', 'trims', 'trio', 'trip', 'triple', 'tripled', 'triples', 'trippy', 'trips', 'tristan', 'triton', 'triumph', 'triumphant', 'triumphs', 'trl', 'trla', 'troian', 'troll', 'trolling', 'trolls', 'troop', 'troops', 'trophy', 'trouble', 'troubled', 'troubles', 'troubling', 'trousers', 'trove', 'truce', 'truck', 'trucking', 'trucks', 'true', 'truecar', 'trulia', 'truly', 'trump', 'trumps', 'trust', 'trustees', 'truth', 'truths', 'try', 'trying', 'tsla', 'tsn', 'tsx', 'tt', 'tube', 'tuberculosis', 'tucson', 'tuesday', 'tulsa', 'tumble', 'tumbles', 'tumbling', 'tumblr', 'tune', 'tunes', 'tuning', 'tunnel', 'tupac', 'turkey', 'turkish', 'turks', 'turlock', 'turmoil', 'turn', 'turnaround', 'turned', 'turner', 'turning', 'turnover', 'turns', 'turtle', 'turtles', 'tv', 'tvs', 'tvtype', 'tw', 'twain', 'twc', 'tweak', 'tweaks', 'tweet', 'tweetdeck', 'tweeted', 'tweeters', 'tweeting', 'tweets', 'twenty', 'twerk', 'twerking', 'twerks', 'twice', 'twilight', 'twin', 'twins', 'twist', 'twisted', 'twists', 'twitch', 'twitter', 'two', 'twtr', 'tx', 'txu', 'tycoon', 'tying', 'tyler', 'type', 'typeface', 'types', 'typical', 'typo', 'tyrannosaurus', 'tyrant', 'tyrese', 'tyrion', 'tyson', 'tywin', 'uae', 'uber', 'uberx', 'ubisoft', 'ubs', 'uc', 'ucla', 'ufo', 'uganda', 'ugly', 'uh', 'uhd', 'ui', 'uk', 'ukraine', 'ukrainian', 'ula', 'ultimate', 'ultra', 'ultrasound', 'ultraviolence', 'ultron', 'um', 'uma', 'un', 'unable', 'unacceptable', 'unaffected', 'unanimous', 'unanimously', 'unannounced', 'unanswered', 'unapproved', 'unauthorized', 'unaware', 'unbelievable', 'unborn', 'unboxing', 'unbroken', 'uncarrier', 'uncertain', 'uncertainty', 'unchanged', 'uncle', 'unclear', 'uncomfortable', 'uncouple', 'uncoupling', 'uncover', 'uncovered', 'uncovers', 'underage', 'underbody', 'undercover', 'underestimate', 'underestimated', 'undergo', 'undergoes', 'undergoing', 'underground', 'undermine', 'underperform', 'underscores', 'undersea', 'understand', 'understanding', 'undervalued', 'underwater', 'underway', 'underwear', 'underweight', 'underwood', 'undisclosed', 'undo', 'unearth', 'unearthed', 'unearths', 'unedited', 'unemployed', 'unemployment', 'unethical', 'uneven', 'unexpected', 'unexpectedly', 'unexplained', 'unfair', 'unfazed', 'unfollows', 'unforgettable', 'unh', 'unhappy', 'unhealthiest', 'unhealthy', 'unheard', 'unicef', 'unicode', 'unicredit', 'uniform', 'uniforms', 'unilever', 'uninsured', 'unintended', 'union', 'unions', 'unique', 'unit', 'unite', 'united', 'unitedhealth', 'unites', 'units', 'unity', 'universal', 'universe', 'university', 'unknown', 'unknowns', 'unleash', 'unleashed', 'unleashes', 'unless', 'unlike', 'unlikely', 'unlimited', 'unloads', 'unlock', 'unlocked', 'unlocking', 'unlocks', 'unmanned', 'unnecessary', 'unneeded', 'unofficial', 'unpaid', 'unpatriotic', 'unprecedented', 'unprepared', 'unprofessional', 'unpublished', 'unradio', 'unreasonable', 'unrelated', 'unreleased', 'unrest', 'unsafe', 'unseated', 'unseats', 'unsecured', 'unseen', 'unsolicited', 'unstable', 'unstoppable', 'unsure', 'untitled', 'untouched', 'untreatable', 'unused', 'unusual', 'unusually', 'unveil', 'unveiled', 'unveiling', 'unveils', 'unwanted', 'unwraps', 'upbeat', 'upcoming', 'update', 'updated', 'updates', 'updating', 'upfront', 'upfronts', 'upgrade', 'upgraded', 'upgrades', 'upgrading', 'upheaval', 'upheld', 'uphold', 'upholds', 'uplay', 'upload', 'uploads', 'upon', 'uproar', 'ups', 'upscale', 'upset', 'upsetting', 'upside', 'upstart', 'uptick', 'upton', 'upward', 'upwards', 'uranium', 'urban', 'urbanization', 'urbn', 'urge', 'urged', 'urgency', 'urgent', 'urges', 'urging', 'urinate', 'urinates', 'urine', 'url', 'urungus', 'us', 'usa', 'usage', 'usb', 'usd', 'usda', 'use', 'used', 'useful', 'user', 'users', 'uses', 'usher', 'ushers', 'using', 'usps', 'usual', 'utah', 'uterine', 'utilities', 'utility', 'utterly', 'va', 'vacancy', 'vacation', 'vaccination', 'vaccinations', 'vaccine', 'vaccines', 'vagina', 'vaginal', 'vaginas', 'vaio', 'val', 'valderrama', 'valeant', 'valentino', 'valeria', 'valerie', 'valley', 'valuable', 'valuation', 'valuations', 'value', 'valued', 'values', 'valve', 'vampire', 'vampires', 'van', 'vancouver', 'vandalism', 'vandenberg', 'vanessa', 'vanguard', 'vanity', 'vans', 'vaping', 'vardalos', 'variant', 'variants', 'varies', 'variety', 'various', 'vary', 'vast', 'vatican', 'vavi', 'vc', 'veep', 'veg', 'vegan', 'vegas', 'vegetable', 'vegetables', 'vegetative', 'veggies', 'vehicle', 'vehicles', 'vending', 'vendor', 'vengeance', 'venice', 'venom', 'vent', 'venture', 'ventures', 'venue', 'verdict', 'vergara', 'verge', 'verified', 'verizon', 'vermont', 'veronica', 'versa', 'versace', 'versailles', 'versatile', 'verse', 'version', 'versions', 'versus', 'vessel', 'vessels', 'vessyl', 'vet', 'veteran', 'veterans', 'vets', 'vh', 'via', 'viacom', 'viago', 'viagra', 'viall', 'vials', 'vibe', 'viber', 'vibrant', 'vibrating', 'vibrio', 'vic', 'vice', 'vicious', 'victim', 'victims', 'victor', 'victoria', 'victory', 'vid', 'vidcon', 'video', 'videogame', 'videos', 'vie', 'vietnam', 'vietnamese', 'view', 'viewed', 'viewer', 'viewers', 'viewership', 'viewing', 'views', 'vigil', 'vigilance', 'vigilant', 'vignelli', 'vii', 'village', 'villain', 'villains', 'vimeo', 'vin', 'vince', 'vincent', 'vinci', 'vine', 'vintage', 'vinyl', 'violate', 'violated', 'violates', 'violating', 'violation', 'violations', 'violence', 'violent', 'viper', 'viral', 'virgin', 'virginia', 'virtu', 'virtual', 'virus', 'viruses', 'visa', 'visas', 'visibility', 'visible', 'vision', 'visionary', 'visit', 'visited', 'visiting', 'visitors', 'visits', 'vista', 'visual', 'visuals', 'vita', 'vitacost', 'vital', 'vitalii', 'vitamin', 'vitamins', 'vivendi', 'vivienne', 'vix', 'vlc', 'vma', 'vmas', 'vmware', 'vocals', 'vodafone', 'vodka', 'vogue', 'voice', 'voiced', 'voices', 'void', 'volantis', 'volatile', 'volatility', 'volcanic', 'volcano', 'volcanoes', 'volkswagen', 'volt', 'volte', 'volume', 'volumes', 'voluntarily', 'voluntary', 'volunteers', 'volvo', 'von', 'vonn', 'voronov', 'vortex', 'vote', 'voted', 'voter', 'voters', 'votes', 'voting', 'vow', 'vows', 'voyager', 'vp', 'vr', 'vrx', 'vs', 'vt', 'vu', 'vudu', 'vulnerabilities', 'vulnerability', 'vulnerable', 'vulture', 'vw', 'wachowskis', 'waffle', 'wag', 'wage', 'wages', 'wagner', 'wagon', 'wahlberg', 'waist', 'wait', 'waited', 'waiting', 'waits', 'wake', 'wal', 'wale', 'wales', 'walgreen', 'walgreens', 'walk', 'walkable', 'walked', 'walker', 'walkers', 'walking', 'walks', 'wall', 'wallach', 'wallet', 'wallets', 'wally', 'walmart', 'walnuts', 'walsh', 'walt', 'walter', 'walters', 'wand', 'wandering', 'wanes', 'wang', 'waning', 'wanna', 'want', 'wanted', 'wanting', 'wants', 'war', 'warcraft', 'ward', 'wardrobe', 'warehouse', 'warfare', 'warhol', 'warm', 'warmer', 'warming', 'warms', 'warn', 'warned', 'warner', 'warning', 'warnings', 'warns', 'warrant', 'warranty', 'warren', 'warrior', 'wars', 'wary', 'wasde', 'wash', 'washer', 'washes', 'washing', 'washington', 'waste', 'wasted', 'wasters', 'wastewater', 'wasting', 'watch', 'watchdog', 'watched', 'watchers', 'watches', 'watching', 'water', 'waterloo', 'waters', 'watsa', 'watson', 'wave', 'waver', 'waves', 'way', 'wayne', 'ways', 'wb', 'wboc', 'wcbd', 'weak', 'weaken', 'weakening', 'weakens', 'weaker', 'weakest', 'weakness', 'wealth', 'wealthy', 'weapon', 'weapons', 'wear', 'wearable', 'wearables', 'wearhouse', 'wearing', 'wears', 'weather', 'weaver', 'web', 'webb', 'webby', 'webcam', 'webcast', 'webs', 'website', 'websites', 'wed', 'wedbush', 'wedding', 'weddings', 'wednesday', 'weds', 'weed', 'week', 'weekend', 'weekly', 'weeks', 'weev', 'weibo', 'weidmann', 'weigh', 'weighed', 'weighing', 'weighs', 'weight', 'weiner', 'weir', 'weird', 'weirdest', 'welcome', 'welcomed', 'welcomes', 'welfare', 'well', 'wellness', 'wells', 'went', 'wes', 'wesfarmers', 'wesson', 'west', 'westboro', 'western', 'westeros', 'wet', 'wetlands', 'wfc', 'wfm', 'wfsb', 'wh', 'whale', 'whales', 'whaling', 'whatever', 'whatsapp', 'whatson', 'wheat', 'whedon', 'wheel', 'wheelan', 'wheelchair', 'wheeler', 'wheels', 'whether', 'whibley', 'whig', 'whilst', 'whips', 'whistleblower', 'whitbread', 'white', 'whiteface', 'whitey', 'whiting', 'whitman', 'whitney', 'whlt', 'whoa', 'whole', 'wholesale', 'whoopi', 'whooping', 'whopper', 'whopping', 'whose', 'wi', 'wichita', 'wicked', 'wide', 'widely', 'widen', 'widening', 'widens', 'wider', 'widespread', 'widow', 'wielding', 'wieners', 'wife', 'wifi', 'wig', 'wiggle', 'wigig', 'wii', 'wikipedia', 'wild', 'wilde', 'wildfires', 'wildlife', 'wildly', 'wilkinson', 'william', 'williams', 'willing', 'willis', 'willow', 'wilmer', 'wilmore', 'wilocity', 'wilson', 'wimbledon', 'win', 'winchester', 'wind', 'windfall', 'window', 'windows', 'winds', 'windshield', 'wine', 'winfrey', 'wing', 'wings', 'wingspan', 'winner', 'winners', 'winning', 'winnipeg', 'wins', 'winslet', 'winston', 'winter', 'winters', 'wintour', 'wipe', 'wiped', 'wipes', 'wiping', 'wire', 'wireless', 'wirelessly', 'wisconsin', 'wisdom', 'wise', 'wiseman', 'wish', 'wishes', 'witch', 'witchcraft', 'withdraw', 'withdrawal', 'withdrawn', 'withdraws', 'witherspoon', 'within', 'without', 'witness', 'wives', 'wiz', 'wizard', 'wizarding', 'wladimir', 'wmt', 'wncn', 'wnem', 'wobble', 'woes', 'wolf', 'wolfson', 'wolverine', 'wolves', 'womack', 'woman', 'womb', 'women', 'wonder', 'wondercon', 'wonderful', 'wondering', 'wonderland', 'wonders', 'woo', 'wood', 'wooden', 'woodley', 'woods', 'woodside', 'woody', 'wooing', 'woolf', 'woos', 'wop', 'word', 'words', 'wore', 'work', 'worked', 'worker', 'workers', 'workforce', 'working', 'workout', 'workplace', 'works', 'world', 'worlds', 'worldwide', 'worn', 'worried', 'worries', 'worry', 'worrying', 'worse', 'worsen', 'worsening', 'worsens', 'worst', 'worth', 'worthington', 'worthless', 'worthy', 'would', 'wounded', 'wow', 'wows', 'wrap', 'wraps', 'wrapup', 'wrath', 'wreck', 'wreckage', 'wrecking', 'wren', 'wrestlemania', 'wrestler', 'wrestles', 'wrestling', 'wright', 'wrinkly', 'wrist', 'wristband', 'write', 'writer', 'writers', 'writes', 'writethru', 'writing', 'written', 'wrong', 'wrote', 'wsfa', 'wshm', 'wsj', 'wsop', 'wsvn', 'wtc', 'wtf', 'wti', 'wto', 'wu', 'wurst', 'wv', 'wvir', 'ww', 'wwdc', 'wwe', 'wwii', 'www', 'wxow', 'wyatt', 'wynn', 'wyoming', 'wzvn', 'xbox', 'xcom', 'xiaomi', 'xiii', 'xinhua', 'xlte', 'xp', 'xperia', 'xscape', 'xss', 'xstrata', 'xtreme', 'ya', 'yacht', 'yahoo', 'yakima', 'yale', 'yang', 'yanked', 'yankovic', 'yanks', 'yard', 'yasukuni', 'yates', 'yawn', 'yawning', 'yeager', 'yeah', 'year', 'yearly', 'years', 'yellen', 'yellow', 'yelp', 'yen', 'yes', 'yesterday', 'yet', 'yeti', 'yhoo', 'yield', 'yields', 'yikes', 'ymca', 'yo', 'yoga', 'yogurt', 'york', 'yorkers', 'yosemite', 'young', 'younger', 'youth', 'youths', 'youtube', 'yr', 'yrs', 'yuan', 'yukos', 'yum', 'zac', 'zach', 'zachary', 'zack', 'zacks', 'zadan', 'zambia', 'zamperini', 'zara', 'zayn', 'zealand', 'zebra', 'zebras', 'zedd', 'zendaya', 'zenimax', 'zeppelin', 'zero', 'zeus', 'zew', 'ziering', 'zillow', 'zimmerman', 'zionist', 'zions', 'zip', 'zoe', 'zombie', 'zombies', 'zone', 'zones', 'zonkey', 'zoo', 'zoom', 'zte', 'zuckerberg', 'zynga']

> Nous observons 13649 termes._____no_output_____# b) Des occurrences aux fréquences
### Le nombre d'occurrences est un bon début, mais il y a un problème: les documents plus longs auront des valeurs moyennes plus élevées que les documents plus courts, même s'ils peuvent parler des mêmes sujets.

### Pour éviter ces divergences potentielles, il suffit de diviser le nombre d'occurrences de chaque mot d'un document par le nombre total de mots du document: ces nouvelles fonctionnalités sont appelées tf (fréquences de terme).

### Un autre raffinement de tf consiste à réduire les poids pour les mots qui apparaissent dans de nombreux documents du corpus et sont donc moins informatifs que ceux qui ne se produisent que dans une petite partie du corpus.

### Cette réduction est appelée tf-idf (la fréquence d'un terme (TF) multipliée par la fréquence de document inverse (IDF) ).

### En d'autres termes, plus le score TF * IDF (poids) est élevé, plus le terme est rare et inversement.

### Les deux tf et tf-idf peut être calculée comme suit:_____no_output_____

from sklearn.feature_extraction.text import TfidfTransformer
tfidf_transformer = TfidfTransformer()
tf_transformer = tfidf_transformer.fit(XTrain) #méthode pour adapter notre estimateur aux données
X_train_tf = tf_transformer.transform(XTrain) #méthode pour transformer notre matrice de comptage en une représentation tf-idf
X_train_tf.shape_____no_output_____

### Pour la base d'apprentissage, nous avons obtenu une matrice tf-idf de dimension (270968, 13649)_____no_output_____# 6) Former un classificateur

### Maintenant que nous avons nos fonctionnalités, nous pouvons former un classificateur pour essayer de prédire la catégorie d'un article.
### Différents algorithmes peuvent être utilisés pour la classification de texte. Commençons par un classificateur Naives Bayes , qui fournit une base de référence intéressante pour cette tâche.

# 1) Multinomial Naive Bayes

## *Parlons un peu sur l'algorithme Naive Bayes *

### **C'est une technique de classification basée sur le  théorème de Bayes avec une hypothèse d'indépendance parmi les prédicteurs. En termes simples, un classificateur Naive Bayes suppose que la présence d'une entité particulière dans une classe n'est pas liée à la présence d'une autre entité. Par exemple, un fruit peut être considéré comme une pomme s'il est rouge, rond et d'environ 3 pouces de diamètre. Même si ces caractéristiques dépendent les unes des autres ou sur l'existence des autres caractéristiques, toutes ces propriétés contribuent indépendamment à la probabilité que ce fruit soit une pomme et c'est pourquoi on l'appelle «Naive».**

### Le modèle Naive Bayes est facile à construire et particulièrement utile pour les très grands ensembles de données. En plus de la simplicité, Naive Bayes est connue pour surpasser les méthodes de classification les plus sophistiquées.

### scikit-learn comprend plusieurs variantes de ce classificateur; le plus approprié pour le compte de mots est la variante multinomiale:

### Vous pouvez facilement construire un NBclassifier dans scikit en utilisant 2 lignes de code ci-dessous:_____no_output_____

#import the class LogistiRegression
from sklearn.naive_bayes import MultinomialNB
#instatiate the object
modelFirst = MultinomialNB()_____no_output_____#perform the training process
clf= modelFirst.fit(X_train_tf,y_train)_____no_output_____clf_____no_output_____

> **Paramètres de MultinomialNB**

#### *alpha* : paramètre de lissage additif (1: par défaut, 0 pour aucun lissage)

#### *fit_prior* : permet d'apprendre les classes antérieures (true: par défaut, false: signifie q'un uniforme antérieur sera utilisé)

#### *class_prior* : taille(n_classes) : probabilités antérieures de classes (aucun: par défaut, si spécifié: les valeurs antérieures ne sont pas ajustées en fonction des données) _____no_output_____## Evaluation sur l’échantillon test

### Pour appliquer le modèle sur le corpus de texte, nous devons construire la matrice documents termes correspondante, en utilisant le dictionnaire issu de l’apprentissage.
### Nous appliquons la méthode transform() de l’objet parseur instancié lors de la phase d’apprentissage sur le corpus de test issu de la partition aléatoire des données ._____no_output_____

X_test=parseur.transform(x_test)
X_test_tf= tf_transformer.transform(X_test)
X_test_tf.shape_____no_output_____

> Nous avons une matrice (135485, 13649) cette fois-ci :
135485 lignes parce qu’il y a 135485 documents dans le corpus de test,
13649 colonnes parce que 13649 termes ont été extraits du corpus d’apprentissage.

> Nous calculons les prédictions du modèle sur les documents de l’échantillon test…_____no_output_____

#prediction for the test set
predTest = clf.predict(X_test_tf)_____no_output_____

## Performance du classificateur NB:
### Nous allons maintenant tester les performances du classificateur NB sur l’ ensemble de test et déduisons les différents indicateurs de performances en les confrontant avec lesvaleurs observées de l’attribut cible sur l’échantillon test.
### Nous utilisons les procédures dumodule metrics de scikit-learn._____no_output_____

#import the metrics class for the performance measurement
from sklearn import metrics
#confusion matrix
mcTest = metrics.confusion_matrix(y_test,predTest)
print(mcTest)

#accuracy rate
print(metrics.accuracy_score(y_test,predTest))

print(metrics.classification_report(y_test, predTest))       [[47389   639   157   767]
 [  786 33703   311  2378]
 [  714   733 12716   386]
 [  826  2388   201 31391]]
0.924080156475
             precision    recall  f1-score   support

          0       0.95      0.97      0.96     48952
          1       0.90      0.91      0.90     37178
          2       0.95      0.87      0.91     14549
          3       0.90      0.90      0.90     34806

avg / total       0.92      0.92      0.92    135485

####################################################################################################"_____no_output_____### Voilà! Voici un résumé de ce que j'ai fait: j'ai chargé les données, les ai divisées en formations et tests, ajusté un modèle aux données d'entraînement, fait des prédictions basées sur ces données et testé les prédictions sur les données de test. Semble bon, non? Mais la séparation train / test présente des dangers - et si la scission que nous faisons n'est pas aléatoire ? Que se passe-t-il si un sous-ensemble de nos données ne comprend que des article d'une certaie catégorie mais pas d'autres catégories. Cela se traduira par un ajustement excessif, même si nous essayons de l'éviter! C'est là qu'intervient la validation croisée.

### Le schéma apprentissage-test n’est pas adapté lorsque nous traitons des bases de taille réduite. Donc, il est plus judicieux dans ce cas d’utiliser la totalité de la base pour élaborer le modèle prédictif, puis de passer par une technique de rééchantillonnage pour en évaluer les performances, typiquement la validation croisée ou le bootstrap.

### La validation croisée est très similaire à la séparation train / test, mais il s’applique à plus de sous-ensembles. Cela signifie que nous divisons nos données en k sous-ensembles et que nous nous entraînons sur l'un de ces sous-ensembles. Ce que nous faisons est de tenir le dernier sous-ensemble pour le test. Nous sommes en mesure de le faire pour chacun des sous-ensembles.

### Il y a un tas de méthodes de validation croisée ; Pour les problèmes de classification, on utilise généralement la validation croisée par k-fois stratifiée, dans laquelle les plis sont sélectionnés de sorte que chaque pli contient à peu près les mêmes proportions d'étiquettes de classe.

###  *Validation croisée K-Folds en plus de détails *
> l'échantillon original est partitionné au hasard en k sous-échantillons de taille égale. Parmi les k sous-échantillons, un seul sous-échantillon est retenu comme données de validation pour tester le modèle et les sous-échantillons k-1 restants sont utilisés comme données d'apprentissage. Le processus de validation croisée est ensuite répété k fois (les plis), chacun des k sous-échantillons étant utilisé exactement une fois comme données de validation. Les k résultats des plis peuvent ensuite être moyennés (ou combinés autrement) pour produire une estimation unique. L'avantage de cette méthode est que toutes les observations sont utilisées à la fois pour l'entraînement et la validation, et chaque observation est utilisée pour la validation une seule fois._____no_output_____### J'ai pensé que l'utilisation de l'itérateur de validation croisée comme une boucle externe est une bonne idée et un point de départ qui rendrait mes étapes claires et lisibles:_____no_output_____

from sklearn.cross_validation import KFold
kf = KFold(y.shape[0], n_folds=10) # j'ai choisi 10 comme nombre de folds
for train_index, test_index in kf:
    x_train_cv, y_train_cv = X[train_index], y[train_index]
    x_test_cv, y_test_cv = X[test_index], y[test_index]
    #Now continue with your pre-processing steps..C:\Users\User\Anaconda3\lib\site-packages\sklearn\cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.
  "This module will be removed in 0.20.", DeprecationWarning)
#import the CountVectorizer tool
from sklearn.feature_extraction.text import CountVectorizer
parseur = CountVectorizer(min_df=10)
# ngram_range=(1, 2)
#create the document term matrix
XTrain_cv = parseur.fit_transform(x_train_cv)_____no_output_____from sklearn.feature_extraction.text import TfidfTransformer
tfidf_transformer = TfidfTransformer()
tf_transformer_cv = tfidf_transformer.fit(XTrain_cv) #méthode pour adapter notre estimateur aux données
X_train_tf_cv = tf_transformer_cv.transform(XTrain_cv) #méthode pour transformer notre matrice de comptage en une représentation tf-idf
X_train_tf_cv.shape_____no_output_____#perform the training process
clf_cv= modelFirst.fit(X_train_tf_cv,y_train_cv)_____no_output_____X_test_cv=parseur.transform(x_test_cv)
X_test_tf_cv= tf_transformer_cv.transform(X_test_cv)
X_test_tf_cv.shape_____no_output_____#prediction for the test set
predTest_cv = clf_cv.predict(X_test_tf_cv)_____no_output_____#import the metrics class for the performance measurement
from sklearn import metrics
#confusion matrix
mcTest_cv = metrics.confusion_matrix(y_test_cv,predTest_cv)
print(mcTest)

#accuracy rate
print(metrics.accuracy_score(y_test_cv,predTest_cv))

print(metrics.classification_report(y_test_cv, predTest_cv)) [[47389   639   157   767]
 [  786 33703   311  2378]
 [  714   733 12716   386]
 [  826  2388   201 31391]]
0.927346537089
             precision    recall  f1-score   support

          0       0.96      0.97      0.96     14734
          1       0.91      0.91      0.91     11058
          2       0.95      0.89      0.92      4371
          3       0.90      0.91      0.91     10482

avg / total       0.93      0.93      0.93     40645

### Le taux de succès en validation croisée annoncé est de 93%, celui mesuré par la méthode train_test_split était de 92.4%. Tout cela est très cohérent. Donc, on aurait pu se passer de la subdivision des données en apprentissage-test dans notre étude._____no_output_____################################################################################################_____no_output_____## Construire un pipeline

### Nous pouvons écrire moins de code et faire tout ce qui précède (vectorizer => transformer => modelisation), en construisant un pipeline qui se comporte comme un classificateur composé.
### La solution scikit-learn à ce problème consiste à valider de manière croisée un Pipeline estimateur_____no_output_____

#pipeline of feature engineering and model
from sklearn.pipeline import Pipeline
text_clf = Pipeline([('vect', CountVectorizer()),
                     ('tfidf', TfidfTransformer()),
                     ('clf', MultinomialNB())
])_____no_output_____

> Les noms vect, tfidf et clf(classificateur) sont arbitraires. Nous verrons leur utilisation dans la section sur la recherche de grille ci-dessous. Nous pouvons maintenant former le modèle avec une seule commande:_____no_output_____

clf_pip1=text_clf.fit(x_train, y_train)_____no_output_____import numpy as np
predicted1 = clf_pip1.predict(x_test)
np.mean(predicted1 == y_test)_____no_output_____

# 2) Support Vector Machine
### nous avons atteint une précision de 0.925%. Voyons si nous pouvons faire mieux avec une machine à vecteurs de support linéaire (SVM) , qui est largement considérée comme l'un des meilleurs algorithmes de classification de texte (même si c'est un peu plus lent que Bayes naïf). Nous pouvons changer l'apprenant en branchant simplement un objet classificateur différent dans notre pipeline

> Afin de préparer la production de la conception du classificateur, nous pouvons créer un pipeline de tous ces processus décrits ci-dessus, facilitant ainsi le passage à d'autres systèmes._____no_output_____

### Formons le classifieur_____no_output_____import numpy as np
from sklearn.linear_model import SGDClassifier
modelSecond=SGDClassifier(loss='hinge', penalty='l2', n_iter =5, alpha=1e-3, random_state=42)_____no_output_____#perform the training process
clf2= modelSecond.fit(X_train_tf,y_train)C:\Users\User\Anaconda3\lib\site-packages\sklearn\linear_model\stochastic_gradient.py:117: DeprecationWarning: n_iter parameter is deprecated in 0.19 and will be removed in 0.21. Use max_iter and tol instead.
  DeprecationWarning)
#prediction for the test set
predTest2 = clf2.predict(X_test_tf)_____no_output_____## Performance du classifieur SVM_____no_output_____#import the metrics class for the performance measurement
from sklearn import metrics
#confusion matrix
mcTest = metrics.confusion_matrix(y_test,predTest2)
print(mcTest)

#accuracy rate
print(metrics.accuracy_score(y_test,predTest2))

print(metrics.classification_report(y_test, predTest2)) [[48019   555    95   283]
 [ 3683 30783   347  2365]
 [ 3810  1297  8986   456]
 [ 4654  2759   195 27198]]
0.848699117984
             precision    recall  f1-score   support

          0       0.80      0.98      0.88     48952
          1       0.87      0.83      0.85     37178
          2       0.93      0.62      0.74     14549
          3       0.90      0.78      0.84     34806

avg / total       0.86      0.85      0.85    135485

# Ici, on va construire un Pipeline à l'aide de scikit learn _____no_output_____import numpy as np
from sklearn.pipeline import Pipeline
from sklearn.linear_model import SGDClassifier
text_clf_svm = Pipeline([('vect', CountVectorizer()),
                     ('tfidf', TfidfTransformer()),
                     ('clf', SGDClassifier(loss='hinge', penalty='l2',
                                           alpha=1e-3, random_state=42,
                                           max_iter=5, tol=None)),
 ])
clf_pip2 = text_clf_svm.fit(x_train, y_train)
predicted2 = clf_pip2.predict(x_test)
np.mean(predicted2 == y_test)_____no_output_____metrics.confusion_matrix(y_test, predicted2)_____no_output_____

> scikit-learn fournit en outre des utilitaires pour une analyse plus détaillée des performances des résultats à l'aide d'un rapport:_____no_output_____

from sklearn import metrics
print(metrics.classification_report(y_test, predicted2))                    precision    recall  f1-score   support

          0       0.79      0.98      0.88     48952
          1       0.87      0.82      0.85     37178
          2       0.94      0.61      0.74     14549
          3       0.90      0.78      0.83     34806

avg / total       0.86      0.85      0.84    135485

# 7) Paramétrage en utilisant la recherche de grille

### Pour chaque algorithme d'apprentissage automatique utilisé, le réglage des paramètres joue un rôle important. Il a été observé qu'avec des valeurs de paramètres correctes définies, les performances du modèle augmentent raisonnablement. Nous pouvons trouver les paramètres appropriés dans notre cas en utilisant la recherche de grille.

### Nous avons déjà rencontré certains paramètres tels que min_df dans CountVectorizer Les classificateurs ont également tendance à avoir beaucoup de paramètres. par exemple, MultinomialNB inclut un paramètre de lissage alpha et SGDClassifier comporte un paramètre de pénalité alpha et des termes de perte et de pénalité configurables dans la fonction objectif.

### Au lieu de modifier les paramètres des différents composants de la chaîne, il est possible d'effectuer une recherche exhaustive des meilleurs paramètres sur une grille de valeurs possibles. Nous essayons tous les classificateurs sur des mots ou des bigrammes, avec ou sans idf, et avec un paramètre de pénalité de 0.01 ou 0.001 pour le Naive Bayes: _____no_output_____

from sklearn.model_selection import GridSearchCV
parameters = {'vect__ngram_range': [(1, 1), (1, 2)],
              'tfidf__use_idf': (True, False),
               'clf__alpha': (1e-2, 1e-3)
 }_____no_output_____

> De toute évidence, une recherche aussi exhaustive peut être coûteuse. Si nous avons plusieurs cœurs de CPU à notre disposition, nous pouvons demander au chercheur de la grille d'essayer ces huit combinaisons de paramètres en parallèle avec le n_jobs paramètre. Si nous donnons à ce paramètre une valeur de -1, la recherche par grille détectera le nombre de cœurs installés et les utilisera tous:_____no_output_____

gs_clf = GridSearchCV(text_clf, parameters, n_jobs=-1)_____no_output_____gs_clf = gs_clf.fit(x_train, y_train)_____no_output_____

### Enfin, pour voir le meilleur score moyen et les paramètres, exécutez le code suivant:_____no_output_____

gs_clf.best_score_ _____no_output_____gs_clf.best_params______no_output_____

> La précision a maintenant augmenté à ~ 95% pour le classificateur NB (il n'est plus si naïf! 😄) et les paramètres correspondants sont:  {'clf__alpha': 0.01, 'tfidf__use_idf': False, 'vect__ngram_range': (1, 2)}_____no_output_____### De même, nous obtenons une précision très peu améliorée ~ 86,48% pour le classificateur SVM avec le code ci-dessous. _____no_output_____

from sklearn.model_selection import GridSearchCV
parameters_svm = {'vect__ngram_range': [(1, 1), (1, 2)],
              'tfidf__use_idf': (True, False),
              'clf__alpha': (1e-2, 1e-3)
 }_____no_output_____gs_clf_svm = GridSearchCV(text_clf_svm, parameters_svm, n_jobs = -1) _____no_output_____gs_clf_svm = gs_clf_svm.fit(x_train, y_train)_____no_output_____gs_clf_svm.best_score_ _____no_output_____gs_clf_svm .best_params______no_output_____

> La précision n'a pas trop augmenté  pour le classificateur SVM et les paramètres correspondants sont:  {'clf__alpha': 0.001, 'tfidf__use_idf': True, 'vect__ngram_range': (1, 2)}
_____no_output_____## Donc , on va continuer à travailler avec le modèle Naive Bayes_____no_output_____# 8)  Remarques et une touche de NLTK._____no_output_____### 1. fit_prior = False: Lorsque cette option est définie sur false pour MultinomialNB , un préalable uniforme sera utilisé. Cela n'a pas aidé dans mon cas . _____no_output_____### 2. Stemming:  À partir de Wikipedia , le processus consiste à réduire les mots fléchis (ou parfois dérivés) à leur forme de mot, de base ou de racine. Par exemple, un algorithme de réduction réduit les mots “fishing”, “fished” et “fisher” au mot racine "fish".

### Nous avons besoin de NLTK qui peut être installé à partir d' ici . NLTK est livré avec divers stemmers , ce qui peut aider à réduire les mots à leur forme racine. Encore une fois, utilisez ceci, si cela a du sens pour votre problème.

### Ci-dessous, j'ai utilisé le logiciel Snowball qui fonctionne très bien pour l'anglais.

### *Remarque*: J'ai du utilisé le stemming dès le début dans le pré-traitement de la base de données , mais j'ai voulu le faire à la fin pour savoir de combien cette méthode augmente la précision de mon modèle._____no_output_____

import nltk
#nltk.download()
from nltk.stem.snowball import SnowballStemmer
stemmer = SnowballStemmer("english", ignore_stopwords=True)
class StemmedCountVectorizer(CountVectorizer):
    def build_analyzer(self):
        analyzer = super(StemmedCountVectorizer, self).build_analyzer()
        return lambda doc: ([stemmer.stem(w) for w in analyzer(doc)])_____no_output_____

### Ainsi, nous avons maintenant les paramètres appropriés de la recherche de grille. Il est temps de préparer le pipeline final en utilisant les paramètres les mieux adaptés. _____no_output_____

stemmed_count_vect = StemmedCountVectorizer(stop_words='english', ngram_range=(1,2))
text_mnb_stemmed = Pipeline([('vect', stemmed_count_vect),
                     ('tfidf', TfidfTransformer(use_idf=False)),
                      ('mnb', MultinomialNB(alpha=0.01))
 ])_____no_output_____text_mnb_stemmed = text_mnb_stemmed.fit(x_train,y_train)_____no_output_____

### Le résultat de l'appel fitsur un GridSearchCVobjet est un classificateur que nous pouvons utiliser pour predict:_____no_output_____

predicted_mnb_stemmed = text_mnb_stemmed.predict(x_test)_____no_output_____np.mean(predicted_mnb_stemmed == y_test) _____no_output_____### exemple_____no_output_____text_mnb_stemmed.predict(["Thyroid Medications Are Being Recalled Here’s What You Need to Know"])_____no_output_____# 0: e:  Entertainment
# 1: b: business
# 2: m: health
# 3: t: Science and technology_____no_output_____if text_mnb_stemmed.predict(["Thyroid Medications Are Being Recalled Here’s What You Need to Know"])==0:
   print("entertainment")
elif text_mnb_stemmed.predict(["Thyroid Medications Are Being Recalled Here’s What You Need to Know"])==1:
   print("business")
elif text_mnb_stemmed.predict(["Thyroid Medications Are Being Recalled Here’s What You Need to Know"])==2:
   print("health")
else:
   print("science and technology")health

### => La précision avec laquelle nous obtenons est de ~ 95,24%. Amélioration marginale dans notre cas avec le classificateur NB. Nous pouvons également essayer avec SVM et d'autres algorithmes._____no_output_____#  9) Déploiement
## Une des finalités de la catégorisation de textes est de produire une fonction permettant d’assigner automatiquement une classe (la catégorie) à un nouveau document. _____no_output_____## Donc, nous allons enregistrer le modèle de préparation dans un fichier de pickle, afin qu'il puisse être déployé du côté de la production. _____no_output_____## La bibliothèque pickle facilite la sérialisation des modèles en fichiers que je crée.
## Je suis également capable de charger le modèle dans mon code. Cela me permet de garder mon code d’entraînement du modèle séparé du code qui déploie mon modèle.

## Je peux importer ou exporter mon modèle Python pour l'utiliser dans d'autres scripts Python avec le code ci-dessous:_____no_output_____

# Save a dictionary into a pickle file.
import pickle

pickle.dump(text_mnb_stemmed, open("C:/Users/User/Desktop/finalmodel2.pkl", "wb"))  # save it into a file named save.p

text_mnb_stemmed = pickle.load(open("C:/Users/User/Desktop/finalmodel2.pkl", "rb"))
_____no_output_____## Créer un simple serveur web_____no_output_____

Pour déployer mon modèle, je dois d'abord créer un serveur. Les serveurs écoutent le trafic Web et exécutent des fonctions lorsqu'ils trouvent une demande qui leur est adressée. La fonction qui s'exécute peut dépendre de l'itinéraire de la requête et des autres données dont elle dispose. Ensuite, le serveur peut renvoyer un message de confirmation au demandeur.

Le framework Flask me permet de créer des serveurs Web en un temps record.

Dans le code ci-dessous, j'utilise Flask pour exécuter un serveur Web simple à une route. Mon seul itinéraire écoute les requêtes POST et renvoie un salut. Les requêtes POST sont un type spécial de requête qui transporte des données dans un objet JSON._____no_output_____

from flask import Flask
from flask import request

#code which helps initialize our server
app = flask.Flask(__name__)

#defining a /hello route for only post requests
@app.route('/hello', methods=['POST'])
def index():
    #grabs the data tagged as 'name'
    name = request.get_json()['name']

    #sending a hello back to the requester
    return "Hello " + name_____no_output_____

Ajout du modèle à mon serveur
Avec la bibliothèque de cornichons, je peux charger notre modèle formé sur mon serveur Web.

Notre serveur charge maintenant le modèle formé lors de son initialisation. Je peux y accéder en envoyant une demande de post à mon itinéraire "/ echo". La route saisit un tableau de caractéristiques du corps de la requête et le donne au modèle. La prédiction du modèle est ensuite renvoyée au demandeur._____no_output_____

import pickle
import flask

app = flask.Flask(__name__)

#getting our trained model from a file we created earlier
model = pickle.load(open("C:/Users/User/Desktop/finalmodel2.pkl","r"))

@app.route('/predict', methods=['POST'])
def predict():
    #grabbing a set of wine features from the request's body
    feature_array = request.get_json()['feature_array']

    #our model rates the wine based on the input array
    prediction = model.predict([feature_array]).tolist()

    #preparing a response object and storing the model's predictions
    response = {}
    response['predictions'] = prediction

    #sending our response object back as json
    return flask.jsonify(response)_____no_output_____

# 10) Conclusion_____no_output_____## Nous avons appris le problème classique de la NLP, la classification des textes. Nous avons appris des concepts importants comme le sac de mots, TF-IDF et 2 algorithmes importants multinomial Naive Bayes et SVM. Nous avons vu que pour notre ensemble de données, les deux algorithmes étaient quasiment identiques lorsqu'ils étaient optimisés. Parfois , si nous disposons d’un ensemble de données suffisant, le choix de l’algorithme ne fait guère de différence. Nous avons également vu comment effectuer une recherche de grille pour optimiser les performances et utiliser l'approche de NLTK.
## Bref, l’analyse statistique des données textuelles est une branche passionnante du data mining.
## Elle met à l’épreuve à la fois nos connaissances en statistique et en informatique. Cette section trace dans ses grandes lignes le processus de catégorisation de textes sur un problème de détection de catégories dans des articles.
## Le problème est suffisamment réaliste pour qu’on se rende compte à la fois de la saveur du domaine et des difficultés qu’elle représente.
## Et encore, nous avons fait simple. Les pistes de développement sont nombreuses : réduire la dimensionnalité via des techniques basées sur les caractéristiques des termes (ex.  lemmatisation, …), via de techniques statistiques de sélection plus agressives ou plus sophistiquées (ex. méthodes de ranking basées sur la corrélation), via des méthodes de changement de représentation (ex. topic modeling ) ;  utiliser d’autres méthodes prédictives (ex.  random forest, gradient boosting, etc.) ou étendre la liste des stopwords._____no_output_____#####################################################################################################_____no_output_____#####################################################################################################_____no_output_____# Dans cette section, nous allons nous intéresser à la modélisation des sujets  (Topic Modeling)
## Nous verrons comment:
## 1) Pré-traiter les données
## 2) Extraire des vecteurs caractéristiques (créer le dictionnaire et le corpus nécessaires à la modélisation du sujet)
## 3) Construire le modèle (LDA)
## 4) Voir les sujets dans le modèle LDA
## 5) Calculer le score de perplexité et de cohérence du modèle
## 6) Visualiser les sujets-mots-clés
## 7) Trouver le nombre optimal de sujets
## 8) Trouver le sujet dominant dans chaque phrase
## 9) Trouver le document le plus représentatif pour chaque sujet
## 10) Voir la distribution de sujets entre documents
## 11) Conclusion_____no_output_____### La modélisation de sujets
> ### est une technique permettant d'extraire les sujets cachés de grands volumes de texte. Latent Dirichlet Allocation (LDA) est un algorithme populaire pour la modélisation de sujets avec d'excellentes implémentations dans le package Gensim de Python. Le défi, cependant, est de savoir comment extraire des sujets de qualité, clairs, distincts et significatifs . Cela dépend fortement de la qualité du prétraitement du texte et de la stratégie de recherche du nombre optimal de sujets. Ce tutoriel tente de résoudre ces deux problèmes._____no_output_____### Introduction_____no_output_____### L'une des principales applications du traitement du langage naturel consiste à extraire automatiquement les sujets dont les gens discutent à partir de gros volumes de texte. Certains exemples de texte de grande taille peuvent être des flux provenant de médias sociaux, des critiques de clients sur des hôtels, des films, etc.

### Savoir ce que les gens parlent et comprendre leurs problèmes et leurs opinions est très précieux pour les entreprises, les administrateurs et les campagnes politiques. Et il est vraiment difficile de lire manuellement de si gros volumes et de compiler les sujets.

### Il faut donc un algorithme automatisé capable de lire les documents texte et de générer automatiquement les sujets abordés.

> ### Dans cette section , nous allons prendre la meme base de données de la section précédente et utiliser LDA pour extraire les sujets naturellement abordés.

> ### J'utiliserai l'allocation de Dirichlet Latent (LDA) de Gensim

> ### Nous allons également extraire le volume et le pourcentage de contribution de chaque sujet pour avoir une idée de l’importance d’un sujet.

># Commençons!_____no_output_____# Importations des packages _____no_output_____Les packages de base utilisés dans ce tutoriel sont re, gensim, spacyet pyLDAvis. En plus de cela , nous allons également d' utiliser matplotlib, numpyet pandaspour la manipulation et la visualisation des données. Importons-les._____no_output_____

import re
import numpy as np
import pandas as pd
from pprint import pprint

# Gensim
import gensim
import gensim.corpora as corpora
from gensim.utils import simple_preprocess
from gensim.models import CoherenceModel

# spacy for lemmatization
import spacy

# Plotting tools
import pyLDAvis
import pyLDAvis.gensim  # don't skip this
import matplotlib.pyplot as plt
%matplotlib inline

# Enable logging for gensim - optional
import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.ERROR)

import warnings
warnings.filterwarnings("ignore",category=DeprecationWarning)C:\Users\User\Anaconda3\lib\site-packages\gensim\utils.py:1197: UserWarning: detected Windows; aliasing chunkize to chunkize_serial
  warnings.warn("detected Windows; aliasing chunkize to chunkize_serial")

# Que fait LDA?_____no_output_____L'approche de LDA en matière de modélisation de sujets consiste à considérer chaque document comme un ensemble de sujets dans une certaine proportion. Et chaque sujet comme une collection de mots-clés, encore une fois, dans une certaine proportion.

Une fois que vous avez fourni l'algorithme avec le nombre de rubriques, il suffit de réorganiser la distribution des rubriques dans les documents et la distribution des mots-clés dans les rubriques pour obtenir une bonne composition de la distribution des mots-clés de rubrique.

Quand je parle de sujet, qu'est-ce que c'est réellement et comment il est représenté?

Un sujet n'est rien d'autre qu'une collection de mots-clés dominants qui sont des représentants typiques. Juste en regardant les mots-clés, vous pouvez identifier le sujet.

Les éléments suivants sont essentiels pour obtenir de bonnes rubriques de séparation:

_ La qualité du traitement de texte.

_ La variété des sujets dont parle le texte.

_ Le choix de l'algorithme de modélisation de sujet.

_ Le nombre de sujets alimentés par l'algorithme.

_ Les paramètres de réglage des algorithmes._____no_output_____# 1) Pré_traitement de la base_____no_output_____### Nous allos travailler avec les anciens nouvelles sauf que en raison de contraintes de mémoire sur certains packages utilisés dans cette section, nous limiterons l'analyse à 10 000 nouvelles.

### Obtenons juste quelques nouvelles aléatoires:_____no_output_____

#X=data.cleaned_text.fillna('')
cleaned_column= X.sample(10000, random_state=42)
cleaned_column.reset_index(inplace=True, drop=True)
cleaned_column.head(2)_____no_output_____

## Création de modèles Bigram _____no_output_____Les bigrammes sont deux mots qui apparaissent fréquemment ensemble dans le document. (Les trigrammes sont 3 mots fréquents.)

Quelques exemples sont: 'front_bumper', 'oil_leak', 'maryland_college_park' etc.

Le modèle Phrases de Gensim peut construire et implémenter les bigrammes, les trigrammes, les quadgrammes, etc. Les deux arguments importants à Phrases sont min_count et threshold. Plus les valeurs de ces paramètres sont élevées, plus il est difficile de combiner des mots avec des bigrammes._____no_output_____

# Build the bigram and trigram models
from gensim.models import Phrases
# Add bigrams and trigrams to docs (only ones that appear 10 times or more).
bigram = Phrases(cleaned_column, min_count=10)_____no_output_____

## faire des bigrammes et des lemmatiseurs_____no_output_____> ### Le modèle bigrams est prêt.
> ### Ici, on va créer des bigrammes et une fonction pour la  lemmatisation _____no_output_____

# Define  bigrams
for idx in range(len(cleaned_column)):
    for token in bigram[cleaned_column[idx]]:
        if '_' in token:
            # Token is a bigram, add to document.
            cleaned_column[idx].append(token) C:\Users\User\Anaconda3\lib\site-packages\gensim\models\phrases.py:494: UserWarning: For a faster implementation, use the gensim.models.phrases.Phraser class
  warnings.warn("For a faster implementation, use the gensim.models.phrases.Phraser class")
import gensim
from gensim.utils import simple_preprocess
from gensim.parsing.preprocessing import STOPWORDS
from nltk.stem import WordNetLemmatizer, SnowballStemmer
from nltk.stem.porter import *
import numpy as np
np.random.seed(2018)_____no_output_____#  define lemmatization
stemmer = SnowballStemmer('english')
def lemmatize_stemming(text):
    return stemmer.stem(WordNetLemmatizer().lemmatize(text, pos='v'))_____no_output_____# la fonction finale de pre_processing
def preprocess(text):
    result = []
    for token in gensim.utils.simple_preprocess(text):
        if token not in gensim.parsing.preprocessing.STOPWORDS:
            result.append(lemmatize_stemming(token))
    return result_____no_output_____cleaned_column= cleaned_column.map(preprocess)_____no_output_____cleaned_column[:10]_____no_output_____len(cleaned_column)_____no_output_____

# 2) Créer le dictionnaire et le corpus nécessaires à la modélisation du sujet_____no_output_____Le dictionnaire ( id2word) et le corpus sont les deux principaux intrants du modèle de sujet LDA . Créons-les._____no_output_____

# turn our tokenized documents into a id <-> term dictionary
dictionary = corpora.Dictionary(cleaned_column)_____no_output_____# convert tokenized documents into a document-term matrix
corpus = [dictionary.doc2bow(text) for text in cleaned_column]_____no_output_____corpus[:1]_____no_output_____

Gensim crée un identifiant unique pour chaque mot du document. Le corpus produit ci-dessus est un mappage de (word_id, word_frequency).

Par exemple, (0, 1) ci-dessus implique que le mot id 0 apparaît une fois dans le premier document. De même, le mot id 1 apparaît une fois et ainsi de suite.

Ceci est utilisé comme entrée par le modèle LDA.

Si vous voulez voir à quel mot correspond un identifiant donné, transmettez-le comme clé du dictionnaire._____no_output_____

print('Number of unique tokens: %d' % len(dictionary))
print('Number of documents: %d' % len(corpus))Number of unique tokens: 8925
Number of documents: 10000

### Nous avons tout ce qu'il faut pour former le modèle LDA. En plus du corpus et du dictionnaire, nous devons également indiquer le nombre de sujets. J'ai choisi 20 comme nombre de sujets. _____no_output_____# 3) Construire le modèle _____no_output_____

from gensim.models import LdaModel

# Set training parameters.
num_topics = 20
chunksize = 500 # size of the doc looked at every pass
passes = 20 # number of passes through documents
iterations = 400
eval_every = 1  # Don't evaluate model perplexity, takes too much time.

# Make a index to word dictionary.
temp = dictionary[0]  # This is only to "load" the dictionary.
id2word = dictionary.id2token

%time model = LdaModel(corpus=corpus, id2word=id2word, chunksize=chunksize, \
                       alpha='auto', eta='auto', \
                       iterations=iterations, num_topics=num_topics, \
                       passes=passes, eval_every=eval_every)Wall time: 6min 40s

## *Paramètres de LDA model*

_ alpha et eta sont des hyperparamètres qui affectent la rareté des sujets. Selon les documents de Gensim, les deux valeurs par défaut sont 1.0 / num_topics.

_ chunksize est le nombre de documents à utiliser dans chaque bloc de formation.

_ update_every détermine la fréquence à laquelle les paramètres du modèle doivent être mis à jour

_ passes est le nombre total de passages d’entraînement._____no_output_____# 4)  Voir les sujets dans le modèle LDA_____no_output_____Le modèle LDA ci-dessus est composé de 20 sujets différentes où chaque sujet est une combinaison de mots-clés et chaque mot-clé apporte un certain poids au sujet.

Vous pouvez voir les mots-clés de chaque sujet et la pondération (importance) de chaque mot-clé, comme indiqué ci-après.lda_model.print_topics()_____no_output_____

# Print the Keyword in the 10 topics
pprint(model.print_topics())
doc_lda = model[corpus][(0,
  '0.037*"music" + 0.032*"talk" + 0.029*"photo" + 0.028*"man" + 0.028*"tv" + '
  '0.027*"profit" + 0.021*"uk" + 0.020*"week" + 0.018*"night" + 0.016*"add"'),
 (1,
  '0.063*"say" + 0.040*"million" + 0.035*"recal" + 0.026*"gm" + 0.019*"ceo" + '
  '0.018*"internet" + 0.016*"award" + 0.016*"lead" + 0.015*"scott" + '
  '0.012*"dress"'),
 (2,
  '0.057*"stock" + 0.044*"buy" + 0.038*"deal" + 0.034*"billion" + 0.030*"like" '
  '+ 0.029*"sell" + 0.024*"compani" + 0.021*"pay" + 0.019*"street" + '
  '0.017*"voic"'),
 (3,
  '0.056*"star" + 0.031*"time" + 0.023*"war" + 0.022*"join" + 0.021*"cast" + '
  '0.018*"return" + 0.017*"window" + 0.015*"celebr" + 0.015*"propos" + '
  '0.014*"fight"'),
 (4,
  '0.058*"video" + 0.044*"season" + 0.044*"game" + 0.043*"new" + 0.031*"final" '
  '+ 0.028*"announc" + 0.025*"throne" + 0.023*"dead" + 0.021*"beyonc" + '
  '0.021*"month"'),
 (5,
  '0.036*"rise" + 0.034*"world" + 0.032*"die" + 0.030*"googl" + 0.022*"open" + '
  '0.021*"go" + 0.021*"babi" + 0.019*"glass" + 0.016*"offici" + 0.015*"miss"'),
 (6,
  '0.047*"kardashian" + 0.042*"kim" + 0.042*"west" + 0.029*"kany" + '
  '0.018*"stream" + 0.016*"chris" + 0.016*"netflix" + 0.015*"marri" + '
  '0.015*"russia" + 0.013*"nokia"'),
 (7,
  '0.065*"report" + 0.039*"amazon" + 0.037*"microsoft" + 0.028*"movi" + '
  '0.023*"offic" + 0.022*"health" + 0.021*"drop" + 0.020*"america" + '
  '0.020*"servic" + 0.020*"offer"'),
 (8,
  '0.054*"facebook" + 0.031*"miley" + 0.031*"cyrus" + 0.028*"high" + '
  '0.028*"plan" + 0.026*"big" + 0.022*"bring" + 0.016*"approv" + '
  '0.016*"target" + 0.015*"fda"'),
 (9,
  '0.038*"end" + 0.037*"home" + 0.024*"phone" + 0.023*"expect" + '
  '0.023*"smartphon" + 0.022*"quarter" + 0.022*"air" + 0.022*"near" + '
  '0.021*"know" + 0.018*"confirm"'),
 (10,
  '0.051*"updat" + 0.035*"market" + 0.033*"fall" + 0.027*"rat" + 0.024*"wed" + '
  '0.023*"oil" + 0.021*"case" + 0.020*"date" + 0.018*"april" + 0.018*"head"'),
 (11,
  '0.054*"day" + 0.026*"chang" + 0.025*"futur" + 0.021*"best" + 0.020*"drug" + '
  '0.020*"unveil" + 0.019*"post" + 0.018*"hold" + 0.016*"climat" + '
  '0.015*"face"'),
 (12,
  '0.035*"look" + 0.031*"bank" + 0.029*"record" + 0.024*"help" + 0.023*"warn" '
  '+ 0.021*"rate" + 0.021*"men" + 0.019*"need" + 0.019*"feed" + 0.018*"fox"'),
 (13,
  '0.033*"studi" + 0.029*"death" + 0.027*"ebola" + 0.022*"second" + '
  '0.022*"take" + 0.020*"rule" + 0.018*"risk" + 0.018*"attack" + 0.018*"net" + '
  '0.017*"virus"'),
 (14,
  '0.056*"price" + 0.047*"sale" + 0.034*"news" + 0.032*"releas" + 0.032*"data" '
  '+ 0.031*"reveal" + 0.027*"new" + 0.021*"gas" + 0.016*"lose" + '
  '0.015*"iphon"'),
 (15,
  '0.054*"year" + 0.036*"share" + 0.033*"hit" + 0.030*"twitter" + 0.029*"car" '
  '+ 0.028*"mobil" + 0.025*"state" + 0.021*"cut" + 0.020*"start" + '
  '0.019*"today"'),
 (16,
  '0.064*"appl" + 0.049*"samsung" + 0.041*"watch" + 0.038*"galaxi" + '
  '0.024*"review" + 0.022*"film" + 0.018*"want" + 0.017*"life" + 0.016*"cost" '
  '+ 0.012*"alleg"'),
 (17,
  '0.070*"googl" + 0.038*"launch" + 0.036*"android" + 0.031*"set" + '
  '0.020*"call" + 0.018*"loss" + 0.016*"heartble" + 0.015*"tech" + 0.014*"ban" '
  '+ 0.014*"walk"'),
 (18,
  '0.031*"american" + 0.029*"bieber" + 0.027*"live" + 0.025*"justin" + '
  '0.020*"close" + 0.017*"issu" + 0.017*"claim" + 0.015*"tesla" + '
  '0.015*"increas" + 0.015*"play"'),
 (19,
  '0.032*"china" + 0.031*"app" + 0.022*"growth" + 0.021*"show" + 0.020*"xbox" '
  '+ 0.020*"dollar" + 0.019*"busi" + 0.019*"work" + 0.016*"rais" + '
  '0.015*"real"')]

Comment interpréter cela?

Le sujet 0 est représenté par '0.037*"music" + 0.032*"talk" + 0.029*"photo" + 0.028*"man" + 0.028*"tv" + '
  '0.027*"profit" + 0.021*"uk" + 0.020*"week" + 0.018*"night" + 0.016*"add"').

Cela signifie que les 10 principaux mots-clés qui contribuent à ce sujet sont: «music», «talk», «photo», etc., et le poids de «music» sur le sujet 0 est de 0.037.

Les pondérations reflètent l'importance d'un mot clé pour ce sujet.

En regardant ces mots-clés, pouvez-vous deviner ce que ce sujet pourrait être?

De même, pouvez-vous parcourir les mots-clés restants et déterminer quel est le sujet?_____no_output_____# 5) Calculer le score de perplexité et de cohérence du modèle_____no_output_____LDA est une technique non supervisée, ce qui signifie que nous ne savons pas, avant de lancer le modèle, combien de sujets se trouvent dans notre corpus. Nous pouvons utiliser l'outil de visualisation LDA pyLDAvis, essayer un certain nombre de sujets et comparer les résultats. La cohérence des thèmes est l'une des principales techniques utilisées pour estimer le nombre de sujets. Nous utiliserons les mesures UMass et c_v pour voir le score de cohérence de notre modèle LDA

La perplexité du modèle et la cohérence du sujet fournissent une mesure pratique pour juger de la qualité d'un modèle de sujet donné. Dans mon expérience, le score de cohérence du sujet, en particulier, a été plus utile._____no_output_____

# Compute Perplexity
print('\nPerplexity: ', model.log_perplexity(corpus))  # a measure of how good the model is. lower the better.

# Compute Coherence Score using c_v
coherence_model_lda = CoherenceModel(model=model, texts=cleaned_column, dictionary=dictionary, coherence='c_v')
coherence_lda = coherence_model_lda.get_coherence()
print('\nCoherence Score c_v: ', coherence_lda)

# Compute Coherence Score using UMass
coherence_model_lda_umass = CoherenceModel(model=model, texts=cleaned_column, dictionary=dictionary, coherence="u_mass")
coherence_lda_umass = coherence_model_lda_umass.get_coherence()
print('\nCoherence Score u_mass: ', coherence_lda_umass)
Perplexity:  -8.59661152494

Coherence Score c_v:  0.577330695308

Coherence Score u_mass:  -16.7285355906

> ### Nous avons un score de cohérence  de mesure c_v de 0,577._____no_output_____# 6) Visualiser les sujets-mots-clés_____no_output_____Maintenant que le modèle LDA est créé, l'étape suivante consiste à examiner les sujets produites et les mots clés associés. Il n'y a pas de meilleur outil que le tableau interactif du package pyLDAvis et est conçu pour bien fonctionner avec les ordinateurs portables jupyter._____no_output_____

# Visualize the topics
pyLDAvis.enable_notebook()
vis = pyLDAvis.gensim.prepare(model, corpus, dictionary)
visC:\Users\User\Anaconda3\lib\site-packages\pyLDAvis\_prepare.py:257: FutureWarning: Sorting because non-concatenation axis is not aligned. A future version
of pandas will change to not sort by default.

To accept the future behavior, pass 'sort=False'.

To retain the current behavior and silence the warning, pass 'sort=True'.

  return pd.concat([default_term_info] + list(topic_dfs))

Alors, comment déduire les résultats de pyLDAvis?

Chaque bulle sur le graphique de gauche représente un sujet. Plus la bulle est grande, plus ce sujet est répandu.

Un bon modèle de sujet aura des bulles assez grandes et non chevauchantes dispersées dans le graphique au lieu d'être regroupées dans un quadrant.

Un modèle comportant trop de sujets aura généralement de nombreux chevauchements, des bulles de petite taille regroupées dans une région du graphique.

Bon, si vous déplacez le curseur sur l'une des bulles, les mots et les barres à droite seront mis à jour. Ces mots sont les mots clés importants qui forment le sujet sélectionné.

Nous avons construit avec succès un modèle de sujet intéressant.

Étant donné notre connaissance préalable du nombre de sujets naturels dans le document, trouver le meilleur modèle était assez simple.

Nous allons maintenant nous concentrer sur la manière de parvenir au nombre optimal de sujets._____no_output_____# 7)  Comment trouver le nombre optimal de sujets?_____no_output_____Mon approche pour trouver le nombre optimal de sujets consiste à créer de nombreux modèles LDA avec différentes valeurs du nombre de sujets (k) et à choisir celui qui donne la valeur de cohérence la plus élevée.

Le choix d'un «k» qui marque la fin d'une croissance rapide de la cohérence des sujets offre généralement des sujets significatifs et interprétables. Choisir une valeur encore plus élevée peut parfois fournir des sous-thèmes plus granulaires.

Si vous constatez que les mêmes mots-clés sont répétés sur plusieurs sujets, cela signifie probablement que le «k» est trop grand.

Le code ci_dessous forme plusieurs modèles de LDA et fournit les modèles et leurs scores de cohérence correspondants.compute_coherence_values()_____no_output_____

## Using c_v Measure
def compute_coherence_values(dictionary, corpus, texts, limit, start=2, step=3):
    """
    Compute c_v coherence for various number of topics

    Parameters:
    ----------
    dictionary : Gensim dictionary
    corpus : Gensim corpus
    texts : List of input texts
    limit : Max num of topics

    Returns:
    -------
    model_list : List of LDA topic models
    coherence_values : Coherence values corresponding to the LDA model with respective number of topics
    """
    coherence_values = []
    model_list = []
    for num_topics in range(start, limit, step):
        model=LdaModel(corpus=corpus, id2word=dictionary, num_topics=num_topics)
        model_list.append(model)
        coherencemodel = CoherenceModel(model=model, texts=texts, dictionary=dictionary, coherence='c_v')
        coherence_values.append(coherencemodel.get_coherence())

    return model_list, coherence_values_____no_output_____

## Maintenant, créons une liste de modèles et traçons le score de cohérence par rapport à un certain nombre de sujets._____no_output_____

# Can take a long time to run.
model_list, coherence_values = compute_coherence_values(dictionary=dictionary, corpus=corpus, texts=cleaned_column, start=2, limit=40, step=6)
# Show graph
import matplotlib.pyplot as plt
limit=40; start=2; step=6;
x = range(start, limit, step)
plt.plot(x, coherence_values)
plt.xlabel("Num Topics")
plt.ylabel("Coherence score")
plt.legend(("coherence_values"), loc='best')
plt.show()_____no_output_____# Print the coherence scores
for m, cv in zip(x, coherence_values):
    print("Num Topics =", m, " has Coherence Value of", round(cv, 4))Num Topics = 2  has Coherence Value of 0.5241
Num Topics = 8  has Coherence Value of 0.4618
Num Topics = 14  has Coherence Value of 0.5154
Num Topics = 20  has Coherence Value of 0.541
Num Topics = 26  has Coherence Value of 0.5701
Num Topics = 32  has Coherence Value of 0.5872
Num Topics = 38  has Coherence Value of 0.5828

Si le score de cohérence semble continuer à augmenter, il peut être préférable de choisir le modèle qui a donné le CV le plus élevé avant d'aplatir. C'est exactement le cas ici.

Donc, pour les prochaines étapes, je choisirai le modèle avec 20 sujets._____no_output_____# *Remarque* : il existe de nombreuses autres approches pour évaluer les modèles de sujets tels que Perplexity, mais son indicateur médiocre de la qualité des sujets. TOPIC COHERENCE MEASURE est également un bon moyen d'évaluer les modèles de sujet. La mesure de la cohérence des sujets est un bon moyen de comparer les modèles de sujets différents en fonction de leur interprétabilité humaine. _____no_output_____

# Select the model and print the topics
optimal_model = model_list[5]
model_topics = optimal_model.show_topics(formatted=False)
pprint(optimal_model.print_topics(num_words=10))[(9,
  '0.018*"android" + 0.016*"music" + 0.015*"cyrus" + 0.014*"miley" + '
  '0.014*"play" + 0.013*"googl" + 0.012*"ceo" + 0.012*"mad" + 0.012*"app" + '
  '0.012*"data"'),
 (11,
  '0.033*"compani" + 0.032*"ebola" + 0.022*"outbreak" + 0.019*"virus" + '
  '0.018*"use" + 0.016*"propos" + 0.015*"grow" + 0.013*"public" + '
  '0.011*"govern" + 0.011*"investig"'),
 (6,
  '0.039*"amazon" + 0.028*"launch" + 0.022*"smartphon" + 0.022*"death" + '
  '0.017*"america" + 0.016*"life" + 0.015*"reach" + 0.014*"walk" + '
  '0.014*"season" + 0.013*"new"'),
 (3,
  '0.020*"increas" + 0.018*"deal" + 0.017*"gas" + 0.015*"beyonc" + '
  '0.015*"russia" + 0.014*"jay" + 0.012*"alleg" + 0.012*"latest" + '
  '0.012*"attack" + 0.011*"host"'),
 (28,
  '0.056*"samsung" + 0.046*"galaxi" + 0.025*"facebook" + 0.019*"wall" + '
  '0.019*"featur" + 0.015*"street" + 0.014*"app" + 0.012*"android" + '
  '0.012*"scientist" + 0.011*"note"'),
 (21,
  '0.025*"award" + 0.019*"japan" + 0.018*"second" + 0.017*"close" + '
  '0.017*"fox" + 0.014*"happi" + 0.014*"bet" + 0.013*"video" + 0.011*"disney" '
  '+ 0.010*"comic"'),
 (2,
  '0.027*"end" + 0.017*"rise" + 0.016*"cancer" + 0.015*"countri" + 0.013*"dow" '
  '+ 0.012*"team" + 0.012*"million" + 0.012*"lose" + 0.011*"smart" + '
  '0.010*"profit"'),
 (0,
  '0.025*"gm" + 0.024*"recal" + 0.017*"movi" + 0.015*"oil" + 0.015*"car" + '
  '0.015*"drop" + 0.014*"buy" + 0.013*"paul" + 0.011*"thing" + 0.011*"man"'),
 (26,
  '0.029*"share" + 0.023*"th" + 0.016*"start" + 0.014*"new" + 0.013*"ftc" + '
  '0.012*"worth" + 0.012*"industri" + 0.011*"grand" + 0.010*"scandal" + '
  '0.010*"boy"'),
 (29,
  '0.029*"warn" + 0.016*"loss" + 0.016*"late" + 0.013*"tech" + 0.013*"south" + '
  '0.013*"game" + 0.013*"allow" + 0.012*"season" + 0.012*"spoiler" + '
  '0.012*"throne"'),
 (14,
  '0.018*"dress" + 0.015*"space" + 0.015*"hit" + 0.015*"today" + 0.015*"arriv" '
  '+ 0.013*"lower" + 0.013*"maker" + 0.012*"intern" + 0.012*"sell" + '
  '0.012*"break"'),
 (4,
  '0.027*"plan" + 0.024*"rat" + 0.020*"rate" + 0.019*"arrest" + 0.017*"hold" + '
  '0.017*"euro" + 0.016*"bank" + 0.011*"higher" + 0.011*"fix" + 0.011*"son"'),
 (19,
  '0.020*"come" + 0.016*"know" + 0.015*"need" + 0.014*"secur" + 0.014*"soon" + '
  '0.013*"stop" + 0.013*"ipad" + 0.012*"live" + 0.011*"counti" + '
  '0.011*"bieber"'),
 (16,
  '0.035*"kim" + 0.035*"kardashian" + 0.026*"kany" + 0.023*"west" + '
  '0.018*"drive" + 0.017*"wed" + 0.014*"airlin" + 0.014*"economi" + '
  '0.014*"cancel" + 0.014*"impact"'),
 (13,
  '0.020*"jam" + 0.019*"game" + 0.015*"sue" + 0.014*"blood" + 0.014*"video" + '
  '0.013*"true" + 0.013*"ahead" + 0.012*"recap" + 0.012*"acquisit" + '
  '0.011*"juli"'),
 (12,
  '0.022*"microsoft" + 0.015*"surfac" + 0.013*"custom" + 0.013*"littl" + '
  '0.011*"yellen" + 0.011*"yahoo" + 0.011*"soni" + 0.011*"begin" + '
  '0.011*"design" + 0.011*"vs"'),
 (24,
  '0.019*"april" + 0.017*"head" + 0.016*"new" + 0.013*"book" + 0.013*"face" + '
  '0.013*"appl" + 0.013*"bachelorett" + 0.013*"regul" + 0.013*"price" + '
  '0.012*"ban"'),
 (15,
  '0.030*"expect" + 0.022*"phone" + 0.022*"return" + 0.018*"retail" + '
  '0.016*"updat" + 0.015*"new" + 0.014*"lg" + 0.013*"nokia" + 0.013*"nasdaq" + '
  '0.013*"women"'),
 (22,
  '0.019*"cast" + 0.016*"lohan" + 0.016*"real" + 0.016*"lindsay" + '
  '0.016*"west" + 0.014*"internet" + 0.012*"black" + 0.012*"food" + '
  '0.011*"problem" + 0.010*"tablet"'),
 (23,
  '0.022*"googl" + 0.021*"open" + 0.020*"tesla" + 0.013*"split" + '
  '0.012*"mother" + 0.012*"model" + 0.011*"patent" + 0.011*"martin" + '
  '0.011*"parti" + 0.010*"final"')]
Ce sont les thèmes du modèle LDA choisi._____no_output_____

# 8)  Trouver le sujet dominant dans chaque phrase_____no_output_____L'une des applications pratiques de la modélisation de sujets consiste à déterminer le sujet d'un document donné.

Pour trouver cela, nous trouvons le numéro de sujet qui contient le pourcentage de contribution le plus élevé dans ce document.

La fonction ci-dessous agrège bien ces informations dans une table présentable.format_topics_sentences()_____no_output_____

def format_topics_sentences(ldamodel=model, corpus=corpus, texts=data):
    # Init output
    sent_topics_df = pd.DataFrame()

    # Get main topic in each document
    for i, row in enumerate(model[corpus]):
        row = sorted(row, key=lambda x: (x[1]), reverse=True)
        # Get the Dominant topic, Perc Contribution and Keywords for each document
        for j, (topic_num, prop_topic) in enumerate(row):
            if j == 0:  # => dominant topic
                wp = model.show_topic(topic_num)
                topic_keywords = ", ".join([word for word, prop in wp])
                sent_topics_df = sent_topics_df.append(pd.Series([int(topic_num), round(prop_topic,4), topic_keywords]), ignore_index=True)
            else:
                break
    sent_topics_df.columns = ['Dominant_Topic', 'Perc_Contribution', 'Topic_Keywords']

    # Add original text to the end of the output
    contents = pd.Series(texts)
    sent_topics_df = pd.concat([sent_topics_df, contents], axis=1)
    return(sent_topics_df)

df_topic_sents_keywords = format_topics_sentences(ldamodel=optimal_model, corpus=corpus, texts=cleaned_column)

# Format
df_dominant_topic = df_topic_sents_keywords.reset_index()
df_dominant_topic.columns = ['Document_No', 'Dominant_Topic', 'Topic_Perc_Contrib', 'Keywords', 'Text']

# Show
df_dominant_topic.head(10)_____no_output_____

# 9) Trouver le document le plus représentatif pour chaque sujet_____no_output_____Parfois, seuls les mots-clés du sujet peuvent ne pas suffire à donner un sens au sujet. Donc, pour aider à comprendre le sujet, vous pouvez trouver les documents auxquels un sujet donné a le plus contribué et déduire le sujet en lisant ce document. _____no_output_____

# Group top 5 sentences under each topic
sent_topics_sorted = pd.DataFrame()

sent_topics_outdf_grpd = df_topic_sents_keywords.groupby('Dominant_Topic')

for i, grp in sent_topics_outdf_grpd:
    sent_topics_sorted = pd.concat([sent_topics_sorted,
                                             grp.sort_values(['Perc_Contribution'], ascending=[0]).head(1)],
                                            axis=0)

# Reset Index
sent_topics_sorted.reset_index(drop=True, inplace=True)

# Format
sent_topics_sorted.columns = ['Topic_Num', "Topic_Perc_Contrib", "Keywords", "Text"]

# Show
sent_topics_sorted.head()_____no_output_____

Le tableau ci-dessus contient le numéro du sujet, les mots-clés et le document le plus représentatif. La Topic_Perc_Contribution colonne n'est rien d'autre que le pourcentage de contribution du sujet dans le document donné._____no_output_____# 10)  Distribution de sujets entre documents_____no_output_____Enfin, nous souhaitons comprendre le volume et la distribution des sujets afin de juger de l’ampleur des discussions. Le tableau ci-dessous expose ces informations._____no_output_____

# Number of Documents for Each Topic
topic_counts = df_topic_sents_keywords['Dominant_Topic'].value_counts()

# Percentage of Documents for Each Topic
topic_contribution = round(topic_counts/topic_counts.sum(), 4)

# Topic Number and Keywords
topic_num_keywords = df_topic_sents_keywords[['Dominant_Topic', 'Topic_Keywords']]

# Concatenate Column wise
df_dominant_topics = pd.concat([topic_num_keywords, topic_counts, topic_contribution], axis=1)

# Change Column names
df_dominant_topics.columns = ['Dominant_Topic', 'Topic_Keywords', 'Num_Documents', 'Perc_Documents']

# Show
df_dominant_topics.head(20)_____no_output_____

# 11) Conclusion_____no_output_____### En gros, nous avons construit un modèle de sujet de base en utilisant le LDA de Gensim et visualisé les sujets en utilisant pyLDAvis. Ensuite, nous avons vu comment trouver le nombre optimal de sujets en utilisant les scores de cohérence et comment comprendre logiquement comment choisir le modèle optimal.

### Enfin, nous avons vu comment agréger et présenter les résultats pour générer des informations qui pourraient être plus exploitables._____no_output_____