import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
/kaggle/input/clinton-trump-tweets/tweets.csv
!pip install transformers
Requirement already satisfied: transformers in /opt/conda/lib/python3.7/site-packages (3.4.0)
Requirement already satisfied: numpy in /opt/conda/lib/python3.7/site-packages (from transformers) (1.18.5)
Requirement already satisfied: packaging in /opt/conda/lib/python3.7/site-packages (from transformers) (20.1)
Requirement already satisfied: requests in /opt/conda/lib/python3.7/site-packages (from transformers) (2.23.0)
Requirement already satisfied: tokenizers==0.9.2 in /opt/conda/lib/python3.7/site-packages (from transformers) (0.9.2)
Requirement already satisfied: filelock in /opt/conda/lib/python3.7/site-packages (from transformers) (3.0.10)
Requirement already satisfied: protobuf in /opt/conda/lib/python3.7/site-packages (from transformers) (3.13.0)
Requirement already satisfied: sacremoses in /opt/conda/lib/python3.7/site-packages (from transformers) (0.0.43)
Requirement already satisfied: regex!=2019.12.17 in /opt/conda/lib/python3.7/site-packages (from transformers) (2020.4.4)
Requirement already satisfied: sentencepiece!=0.1.92 in /opt/conda/lib/python3.7/site-packages (from transformers) (0.1.94)
Requirement already satisfied: tqdm>=4.27 in /opt/conda/lib/python3.7/site-packages (from transformers) (4.45.0)
Requirement already satisfied: pyparsing>=2.0.2 in /opt/conda/lib/python3.7/site-packages (from packaging->transformers) (2.4.7)
Requirement already satisfied: six in /opt/conda/lib/python3.7/site-packages (from packaging->transformers) (1.14.0)
Requirement already satisfied: idna<3,>=2.5 in /opt/conda/lib/python3.7/site-packages (from requests->transformers) (2.9)
Requirement already satisfied: chardet<4,>=3.0.2 in /opt/conda/lib/python3.7/site-packages (from requests->transformers) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.7/site-packages (from requests->transformers) (2020.6.20)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/lib/python3.7/site-packages (from requests->transformers) (1.25.9)
Requirement already satisfied: setuptools in /opt/conda/lib/python3.7/site-packages (from protobuf->transformers) (46.1.3.post20200325)
Requirement already satisfied: click in /opt/conda/lib/python3.7/site-packages (from sacremoses->transformers) (7.1.1)
Requirement already satisfied: joblib in /opt/conda/lib/python3.7/site-packages (from sacremoses->transformers) (0.14.1)
!pip install simpletransformers==0.32.3
Collecting simpletransformers==0.32.3
Downloading simpletransformers-0.32.3-py3-none-any.whl (187 kB)
|████████████████████████████████| 187 kB 1.3 MB/s
Requirement already satisfied: tensorboardx in /opt/conda/lib/python3.7/site-packages (from simpletransformers==0.32.3) (2.1)
Requirement already satisfied: numpy in /opt/conda/lib/python3.7/site-packages (from simpletransformers==0.32.3) (1.18.5)
Requirement already satisfied: requests in /opt/conda/lib/python3.7/site-packages (from simpletransformers==0.32.3) (2.23.0)
Requirement already satisfied: tqdm in /opt/conda/lib/python3.7/site-packages (from simpletransformers==0.32.3) (4.45.0)
Requirement already satisfied: scipy in /opt/conda/lib/python3.7/site-packages (from simpletransformers==0.32.3) (1.4.1)
Collecting seqeval
Downloading seqeval-1.2.2.tar.gz (43 kB)
|████████████████████████████████| 43 kB 1.3 MB/s
Requirement already satisfied: transformers>=2.11.0 in /opt/conda/lib/python3.7/site-packages (from simpletransformers==0.32.3) (3.4.0)
Requirement already satisfied: pandas in /opt/conda/lib/python3.7/site-packages (from simpletransformers==0.32.3) (1.1.3)
Requirement already satisfied: regex in /opt/conda/lib/python3.7/site-packages (from simpletransformers==0.32.3) (2020.4.4)
Requirement already satisfied: tokenizers in /opt/conda/lib/python3.7/site-packages (from simpletransformers==0.32.3) (0.9.2)
Requirement already satisfied: scikit-learn in /opt/conda/lib/python3.7/site-packages (from simpletransformers==0.32.3) (0.23.2)
Requirement already satisfied: protobuf>=3.8.0 in /opt/conda/lib/python3.7/site-packages (from tensorboardx->simpletransformers==0.32.3) (3.13.0)
Requirement already satisfied: six in /opt/conda/lib/python3.7/site-packages (from tensorboardx->simpletransformers==0.32.3) (1.14.0)
Requirement already satisfied: chardet<4,>=3.0.2 in /opt/conda/lib/python3.7/site-packages (from requests->simpletransformers==0.32.3) (3.0.4)
Requirement already satisfied: idna<3,>=2.5 in /opt/conda/lib/python3.7/site-packages (from requests->simpletransformers==0.32.3) (2.9)
Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.7/site-packages (from requests->simpletransformers==0.32.3) (2020.6.20)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/lib/python3.7/site-packages (from requests->simpletransformers==0.32.3) (1.25.9)
Requirement already satisfied: sentencepiece!=0.1.92 in /opt/conda/lib/python3.7/site-packages (from transformers>=2.11.0->simpletransformers==0.32.3) (0.1.94)
Requirement already satisfied: filelock in /opt/conda/lib/python3.7/site-packages (from transformers>=2.11.0->simpletransformers==0.32.3) (3.0.10)
Requirement already satisfied: packaging in /opt/conda/lib/python3.7/site-packages (from transformers>=2.11.0->simpletransformers==0.32.3) (20.1)
Requirement already satisfied: sacremoses in /opt/conda/lib/python3.7/site-packages (from transformers>=2.11.0->simpletransformers==0.32.3) (0.0.43)
Requirement already satisfied: python-dateutil>=2.7.3 in /opt/conda/lib/python3.7/site-packages (from pandas->simpletransformers==0.32.3) (2.8.1)
Requirement already satisfied: pytz>=2017.2 in /opt/conda/lib/python3.7/site-packages (from pandas->simpletransformers==0.32.3) (2019.3)
Requirement already satisfied: threadpoolctl>=2.0.0 in /opt/conda/lib/python3.7/site-packages (from scikit-learn->simpletransformers==0.32.3) (2.1.0)
Requirement already satisfied: joblib>=0.11 in /opt/conda/lib/python3.7/site-packages (from scikit-learn->simpletransformers==0.32.3) (0.14.1)
Requirement already satisfied: setuptools in /opt/conda/lib/python3.7/site-packages (from protobuf>=3.8.0->tensorboardx->simpletransformers==0.32.3) (46.1.3.post20200325)
Requirement already satisfied: pyparsing>=2.0.2 in /opt/conda/lib/python3.7/site-packages (from packaging->transformers>=2.11.0->simpletransformers==0.32.3) (2.4.7)
Requirement already satisfied: click in /opt/conda/lib/python3.7/site-packages (from sacremoses->transformers>=2.11.0->simpletransformers==0.32.3) (7.1.1)
Building wheels for collected packages: seqeval
Building wheel for seqeval (setup.py) ... - \ done
Created wheel for seqeval: filename=seqeval-1.2.2-py3-none-any.whl size=16170 sha256=f824df014e63e8498155598725e18e53007763df78c34047952fd540fb209456
Stored in directory: /root/.cache/pip/wheels/05/96/ee/7cac4e74f3b19e3158dce26a20a1c86b3533c43ec72a549fd7
Successfully built seqeval
Installing collected packages: seqeval, simpletransformers
Successfully installed seqeval-1.2.2 simpletransformers-0.32.3
import pandas as pd
from nltk.corpus import stopwords
import re
from wordcloud import WordCloud, STOPWORDS
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from transformers import (GPT2Config,GPT2LMHeadModel,GPT2Tokenizer)
import torch
from string import punctuation as pnc
from collections import Counter
import gc
pd.set_option('display.max_colwidth', -1)
wandb: WARNING W&B installed but not logged in. Run `wandb login` or set the WANDB_API_KEY env variable.
/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:12: FutureWarning: Passing a negative integer is deprecated in version 1.0 and will not be supported in future version. Instead, use None to not limit the column width.
if sys.path[0] == '':
tweets = pd.read_csv('tweets.csv')
display(tweets.head(1))
tweets = tweets[['handle','text','is_retweet']]
print("Number of Tweets : ",len(tweets))
print("Null Count in the 3 columns : ")
print(tweets.isna().sum())
Number of Tweets : 6444
Null Count in the 3 columns :
handle 0
text 0
is_retweet 0
dtype: int64
print("Number of Tweets from Doland and Hillary : ")
tweets['handle'].value_counts()
Number of Tweets from Doland and Hillary :
tweets['tweetLen'] = tweets['text'].apply(lambda x : len(x.split(" ")))
doland_tweets = tweets[tweets['handle']=='realDonaldTrump']
print("Doland Tweets : ")
display(doland_tweets['text'].head(5))
hillary_tweets = tweets[tweets['handle']=='HillaryClinton']
print("Hillary Tweets : ")
display(hillary_tweets['text'].head(5))
Doland Tweets :
Hillary Tweets :
doland_tweets['tweetLen'].hist(bins=32)
hillary_tweets['tweetLen'].hist(bins=32)
def getWordCloud(df,col):
comment_words = ''
stopwords = set(STOPWORDS)
for val in df[col]:
val = str(val)
tokens = val.split()
for i in range(len(tokens)):
tokens[i] = tokens[i].lower()
comment_words += " ".join(tokens)+" "
wordcloud = WordCloud(width = 800, height = 800,
background_color ='white',
stopwords = stopwords,
min_font_size = 10).generate(comment_words)
plt.figure(figsize = (5, 5), facecolor = None)
plt.imshow(wordcloud)
plt.axis("off")
plt.tight_layout(pad = 0)
plt.show()
getWordCloud(doland_tweets,'text')
getWordCloud(hillary_tweets,'text')
# Prints only the top 20 frequently occured Twitter handles
def getTwitterHandlesTagged(df, col):
taggedHandlesList = []
for tweet in df[col].tolist():
taggedHandles = [x for x in tweet.split(" ") if x.startswith('@')]
taggedHandlesList = taggedHandlesList + taggedHandles
print(list({k: v for k, v in sorted(dict(Counter(taggedHandlesList)).items(), key=lambda item: item[1], reverse = True)}.items())[:20])
getTwitterHandlesTagged(doland_tweets, 'text')
[('@realDonaldTrump', 291), ('@FoxNews', 61), ('@CNN', 60), ('@megynkelly', 48), ('@nytimes', 36), ('@foxandfriends', 34), ('@oreillyfactor', 20), ('@seanhannity', 17), ('@Morning_Joe', 16), ('@tedcruz', 15), ('@JebBush', 14), ('@FoxNews.', 10), ('@', 10), ('@SeanHannity', 10), ('@IvankaTrump', 8), ('@WSJ', 8), ('@greta', 8), ('@jdickerson', 8), ('@Mike_Pence', 7), ('@DonaldJTrumpJr', 7)]
getTwitterHandlesTagged(hillary_tweets, 'text')
[('@HillaryClinton', 50), ('@realDonaldTrump', 41), ('@POTUS', 26), ('@TimKaine', 19), ("@realDonaldTrump's", 13), ('@GOP', 11), ('@POTUS.', 10), ('@realDonaldTrump.', 10), ("@HillaryClinton's", 7), ('@HillaryClinton.', 6), ('@ClintonFdn', 6), ('@TheBriefing2016', 5), ('@FLOTUS', 5), ('@POTUS,', 5), ('@timkaine', 5), ('@DemConvention', 5), ("@POTUS's", 4), ('@JoeBiden', 4), ('@BernieSanders', 4), ('@HamiltonMusical', 4)]
# Prints only the top 20 frequently occured tags
def getTags(df, col):
tagsList = []
for tweet in df[col].tolist():
tags = [x for x in tweet.split(" ") if x.startswith('#')]
tagsList = tagsList + tags
print(list({k: v for k, v in sorted(dict(Counter(tagsList)).items(), key=lambda item: item[1], reverse = True)}.items())[:20])
getTags(doland_tweets, 'text')
[('#Trump2016', 218), ('#MakeAmericaGreatAgain', 89), ('#VoteTrump', 49), ('#MAGA', 39), ('#AmericaFirst', 37), ('#ImWithYou', 36), ('#FITN', 20), ('#TrumpTrain', 19), ('#CrookedHillary', 18), ('#MakeAmericaGreatAgain!', 17), ('#TrumpPence16', 16), ('#GOPDebate', 15), ('#IACaucus', 14), ('#Debates2016', 11), ('#RNCinCLE', 11), ('#SuperTuesday', 10), ('#Trump2016\n#MakeAmericaGreatAgain', 9), ('#Trump', 8), ('#TrumpTrain"', 7), ('#MakeAmericaGreatAgain"', 7)]
getTags(hillary_tweets, 'text')
[('#DemsInPhilly', 47), ('#RNCinCLE', 40), ('#DebateNight', 23), ('#debatenight', 18), ('#ImWithHer', 17), ('#NBCNewsForum', 12), ('#NoBillNoBreak', 9), ('#DemConvention', 7), ('#NationalVoterRegistrationDay', 5), ('#LoveTrumpsHate', 5), ('#StrongerTogether', 5), ('#DemConvention:', 5), ('#DemPlatform', 5), ('#EstoyConElla', 5), ('#SheWon', 4), ('#TBT', 4), ('#PrimaryDay', 4), ('#debate', 3), ('#DemsInPHL', 3), ('#RNCInCLE', 3)]
hillary_tweets['textLwr'] = hillary_tweets['text'].str.lower()
hillary_tweets['hasHillaySubString'] = hillary_tweets['textLwr'].str.contains('hillary')
display(hillary_tweets[hillary_tweets['hasHillaySubString'] == True]['text'].head(10))
/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:1: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
"""Entry point for launching an IPython kernel.
/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:2: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
def getQuoteAuthor(df, col):
quoteAuthorList = []
for tweet in df[col].tolist():
quoteAuthor = [x for x in tweet.split(" ") if x.startswith('—')]
quoteAuthorList = quoteAuthorList + quoteAuthor
print(list({k: v for k, v in sorted(dict(Counter(quoteAuthorList)).items(), key=lambda item: item[1], reverse = True)}.items())[:20])
getQuoteAuthor(hillary_tweets, 'text')
[('—Hillary', 294), ('—@POTUS', 83), ('—@JoeBiden', 26), ('—@BillClinton', 23), ('—@BernieSanders', 21), ('—@FLOTUS', 21), ('—Donald', 20), ('—@TimKaine', 13), ('—@CoryBooker', 9), ('—', 8), ('—@MikeBloomberg', 8), ('—Hillary:', 7), ('—@ChelseaClinton', 6), ('—Tim', 6), ('—@timkaine', 6), ('—@POTUS:', 5), ('—@NYTimes', 4), ('—@RepJohnLewis', 4), ('—@ElizabethForMA', 4), ('—@ElizabethforMA', 4)]
getQuoteAuthor(doland_tweets, 'text')
[('—Donald', 1)]
def removeTagTaggedHandlesQuoteAuthor(text):
text = " ".join([x for x in text.split(" ") if not x.startswith("@")])
text = " ".join([x for x in text.split(" ") if not x.startswith("#")])
text = " ".join([x for x in text.split(" ") if not x.startswith("—")])
return text
hillary_tweets['preProcessedText'] = hillary_tweets['text'].str.replace('http\S+|www.\S+', '', case=False)
hillary_tweets['preProcessedText'] = hillary_tweets['preProcessedText'].str.replace('\n','')
hillary_tweets['preProcessedText'] = hillary_tweets['preProcessedText'].apply(removeTagTaggedHandlesQuoteAuthor)
/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:7: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
import sys
/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:8: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:9: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
if __name__ == '__main__':
hillary_preprocessedtweets = hillary_tweets['preProcessedText']
hillary_preprocessedtweets_train, hillary_preprocessedtweets_eval = train_test_split(hillary_preprocessedtweets,test_size = 0.05)
print("Number of tweets in training data : ",len(hillary_preprocessedtweets_train))
print("Number of tweets in validation data : ",len(hillary_preprocessedtweets_eval))
Number of tweets in training data : 3064
Number of tweets in validation data : 162
hillary_preprocessedtweets_train.to_csv('hillary_preprocessedtweets_train.txt', header=None, index=None, sep=' ')
hillary_preprocessedtweets_eval.to_csv('hillary_preprocessedtweets_eval.txt', header=None, index=None, sep=' ')
from simpletransformers.language_modeling import LanguageModelingModel
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger()
logger.warning("Is this working?")
transformers_logger = logging.getLogger("transformers")
transformers_logger.setLevel(logging.WARNING)
args = {
"reprocess_input_data": True,
"overwrite_output_dir": True,
"num_train_epochs": 10,
"train_batch_size": 32,
"mlm": False,
"dataset_type" : "simple",
"block_size" : 24,
"max_seq_length" : 24,
"evaluate_during_training": True,
"evaluate_during_training_steps": 50,
"evaluate_during_training_verbose": True,
"use_cached_eval_features": True,
"save_eval_checkpoints" : False,
"save_model_every_epoch" : False,
"early_stopping_patience" : 2,
"use_early_stopping" : True,
"save_optimizer_and_scheduler " : False,
"fp16" : False
}
hillary_model = LanguageModelingModel(
'gpt2',
'gpt2',
args=args,
use_cuda=True,
)
/opt/conda/lib/python3.7/site-packages/transformers/tokenization_utils_base.py:1374: FutureWarning: The `max_len` attribute has been deprecated and will be removed in a future version, use `model_max_length` instead.
FutureWarning,
print("Get Value of all the hyperparameters : ")
for key in hillary_model.args:
print(key, '->', hillary_model.args[key])
Get Value of all the hyperparameters :
block_size -> 24
config_name -> None
dataset_class -> None
dataset_type -> simple
discriminator_config -> {}
discriminator_loss_weight -> 50
generator_config -> {}
max_steps -> -1
min_frequency -> 2
mlm -> False
mlm_probability -> 0.15
sliding_window -> False
special_tokens -> ['<s>', '<pad>', '</s>', '<unk>', '<mask>']
stride -> 0.8
tie_generator_and_discriminator_embeddings -> True
tokenizer_name -> gpt2
vocab_size -> None
adam_epsilon -> 1e-08
best_model_dir -> outputs/best_model
cache_dir -> cache_dir/
config -> {}
do_lower_case -> False
early_stopping_consider_epochs -> False
early_stopping_delta -> 0
early_stopping_metric -> eval_loss
early_stopping_metric_minimize -> True
early_stopping_patience -> 2
encoding -> None
eval_batch_size -> 8
evaluate_during_training -> True
evaluate_during_training_steps -> 50
evaluate_during_training_verbose -> True
fp16 -> False
fp16_opt_level -> O1
gradient_accumulation_steps -> 1
learning_rate -> 4e-05
logging_steps -> 50
manual_seed -> None
max_grad_norm -> 1.0
max_seq_length -> 24
multiprocessing_chunksize -> 500
n_gpu -> 1
no_cache -> False
no_save -> False
num_train_epochs -> 10
output_dir -> outputs/
overwrite_output_dir -> True
process_count -> 1
reprocess_input_data -> True
save_best_model -> True
save_eval_checkpoints -> False
save_model_every_epoch -> False
save_steps -> 2000
save_optimizer_and_scheduler -> True
silent -> False
tensorboard_dir -> None
train_batch_size -> 32
use_cached_eval_features -> True
use_early_stopping -> True
use_multiprocessing -> True
wandb_kwargs -> {}
wandb_project -> None
warmup_ratio -> 0.06
warmup_steps -> 0
weight_decay -> 0
save_optimizer_and_scheduler -> False
model_name -> gpt2
model_type -> gpt2
hillary_model.train_model("hillary_preprocessedtweets_train.txt", eval_file="hillary_preprocessedtweets_eval.txt")
Running loss: 3.869449
/opt/conda/lib/python3.7/site-packages/torch/optim/lr_scheduler.py:231: UserWarning: To get the last learning rate computed by the scheduler, please use `get_last_lr()`.
warnings.warn("To get the last learning rate computed by the scheduler, "
/opt/conda/lib/python3.7/site-packages/torch/optim/lr_scheduler.py:200: UserWarning: Please also save or load the state of the optimzer when saving or loading the scheduler.
warnings.warn(SAVE_STATE_WARNING, UserWarning)
Running loss: 2.437874
Running loss: 3.300184
Running loss: 1.836159
Running loss: 2.405286
!ls ./outputs/best_model
config.json model_args.json scheduler.pt training_args.bin
eval_results.txt optimizer.pt special_tokens_map.json vocab.json
merges.txt pytorch_model.bin tokenizer_config.json
config_class, model_class, tokenizer_class = GPT2Config, GPT2LMHeadModel, GPT2Tokenizer
BestModel = model_class.from_pretrained('gpt2')
BestModel.load_state_dict(torch.load("./outputs/best_model/pytorch_model.bin"))
prompt_texts = ["I will reduce Gun violence.","Donald will build a wall","I will make our health care system better","Come rally with us","America is in financial stress","We have to preserve secularism","We will win the election"]
tokenizer = tokenizer_class.from_pretrained('gpt2')
for prompt_text in prompt_texts:
encoded_prompt = tokenizer.encode(prompt_text, add_special_tokens=False, return_tensors="pt")
generated = BestModel.generate(encoded_prompt,max_length = 128, num_beams = 2, repetition_penalty = 5.0,verbose=False)
generated = generated.tolist()[0]
text = tokenizer.decode(generated, clean_up_tokenization_spaces=True)
print(".".join(text.split(".")[:3]))
Setting `pad_token_id` to 50256 (first `eos_token_id`) to generate sequence
Setting `pad_token_id` to 50256 (first `eos_token_id`) to generate sequence
I will reduce Gun violence.” on Hillary""We can't let this happen again. We have to act now
Setting `pad_token_id` to 50256 (first `eos_token_id`) to generate sequence
Donald will build a wall, deport 11 million people, and make it harder for women to access reproductive health care. ""We’ve got to do everything we can to keep our country safe—not just by building walls but also by making sure that no one gets hurt in the process.""""""Hillary Clinton has spent her life fighting for equal pay & paid family leave
Setting `pad_token_id` to 50256 (first `eos_token_id`) to generate sequence
I will make our health care system better for all Americans. ""We’ve got to do everything in our power to prevent the spread of Zika from becoming a national epidemic, and we can't let it happen again.""""""Hillary Clinton has spent her career fighting for women's reproductive rights—and she knows how hard that work is
Setting `pad_token_id` to 50256 (first `eos_token_id`) to generate sequence
Come rally with us. ""We’ve got to do everything we can to make sure every American has access to affordable health care, and that everyone gets the same coverage.""""""Hillary Clinton is a woman who knows what it takes to be Commander-in-Chief
Setting `pad_token_id` to 50256 (first `eos_token_id`) to generate sequence
America is in financial stress. We need a president who can fix it.""""We’ve got to do everything we can to make sure every American has access to affordable health care, and that no one gets hurt or killed by gun violence
Setting `pad_token_id` to 50256 (first `eos_token_id`) to generate sequence
We have to preserve secularism. We have to protect the rights of women and LGBT people.""""“I am so proud that we are standing together in this fight for equality, not dividing us
We will win the election.” on Hillary""Donald Trump is not a man for the middle class, he's a man for the rich and powerful.""""""Hillary Clinton has spent her career fighting for working families—not just in New York but across the country