edu.columbia.hs2807.Sentiment.java Source code

Java tutorial

Introduction

Here is the source code for edu.columbia.hs2807.Sentiment.java

Source

package edu.columbia.hs2807;

import java.io.IOException;
import java.util.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.*;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.mapreduce.Mapper.Context;

// Counts the words in tweets. Ignores stop words and lines that are not tweets.

public class Sentiment {

    public static class LongArrayWritable extends ArrayWritable {
        public LongArrayWritable() {
            super(LongWritable.class);
        }
    }

    public static class Map extends Mapper<LongWritable, Text, IntWritable, LongArrayWritable> {
        private IntWritable timestamp = new IntWritable();
        private LongWritable positiveWordCount = new LongWritable();
        private LongWritable negativeWordCount = new LongWritable();
        private LongArrayWritable output = new LongArrayWritable();

        private static final String[] positiveWordsArray = new String[] { "abidance", "abidance", "abilities",
                "ability", "able", "above", "above-average", "abundant", "abundance", "acceptance", "acceptable",
                "accessible", "acclaim", "acclaimed", "accolade", "accolades", "accommodative", "accomplishment",
                "accomplishments", "accordance", "accordantly", "accurate", "accurately", "achievable",
                "achievement", "achievements", "acknowledgement", "active", "acumen", "adaptable", "adaptability",
                "adaptive", "adept", "adeptly", "adequate", "adherence", "adherent", "adhesion", "admirable",
                "admirer", "admirable", "admirably", "admiration", "admiring", "admiringly", "admission",
                "admission", "adorable", "adored", "adorer", "adoring", "adoringly", "adroit", "adroitly",
                "adulatory", "advanced", "advantage", "advantage", "advantageous", "advantages", "advantages",
                "adventure", "adventure", "adventuresome", "adventurism", "adventurous", "advice", "advice",
                "advisable", "advocacy", "affable", "affability", "affably", "affection", "affection",
                "affectionate", "affinity", "affirmation", "affirmation", "affirmative", "affluent", "affluence",
                "affordable", "afloat", "agile", "agilely", "agility", "agreeable", "agreement", "agreement",
                "allowable", "allure", "alluring", "alluringly", "almighty", "altruist", "altruistic",
                "altruistically", "amazed", "amazement", "amazing", "amazingly", "ambitious", "ambitious",
                "amenable", "amenity", "amiability", "amiabily", "amiable", "amicability", "amicable", "amicably",
                "amity", "amity", "amnesty", "amour", "ample", "amply", "amusement", "amusement", "amusing",
                "angel", "angelic", "animated", "apostle", "apostle", "apotheosis", "apotheosis", "appeal",
                "appeal", "appealing", "appreciable", "appreciation", "appreciation", "appreciative", "appropriate",
                "approval", "apt", "aptly", "aptitude", "ardent", "ardently", "ardor", "aristocratic", "arresting",
                "articulate", "ascendant", "ascendant", "ascertainable", "ascertainable", "aspiration",
                "aspirations", "aspirations", "assertions", "assertions", "assertive", "asset", "assiduous",
                "assiduously", "assurance", "assurance", "assurances", "assurances", "assuredly", "astonished",
                "astonishing", "astonishingly", "astonishment", "astounded", "astounding", "astounding",
                "astoundingly", "astute", "astutely", "asylum", "asylum", "attainable", "attentive", "attraction",
                "attraction", "attractive", "attractive", "attune", "auspicious", "authentic", "authoritative",
                "award", "autonomous", "avid", "avidly", "awe", "awed", "awesome", "awesomely", "awesomeness",
                "awestruck", "backbone", "balanced", "bargain", "bargain", "basic", "beacon", "beauteous",
                "beautiful", "beautifully", "beauty", "befitting", "believable", "beloved", "benefactor",
                "beneficial", "beneficent", "beneficiary", "beneficiary", "benefit", "benefit", "benefits",
                "benefits", "benevolence", "benevolent", "benign", "best-known", "best-performing", "best-selling",
                "better", "better-known", "better-than-expected", "blameless", "blessing", "blessing", "bliss",
                "blissful", "blissfully", "blithe", "bold", "boldly", "boldness", "bonny", "bonus", "boom",
                "booming", "boost", "boundless", "bountiful", "brains", "brains", "brainy", "brave", "bravery",
                "bravery", "breakthrough", "breakthrough", "breakthroughs", "breakthroughs", "breathlessness",
                "breathlessness", "breathtaking", "breathtakingly", "bright", "brightness", "brilliance",
                "brilliant", "brilliantly", "brisk", "broad", "brotherly", "bull", "bull", "bullish", "bullish",
                "buoyant", "calm", "calmness", "candid", "candor", "capable", "capability", "capably",
                "captivating", "captivation", "carefree", "careful", "catalyst", "catalyst", "catchy", "celebrated",
                "celebration", "celebrity", "champion", "champ", "champion", "charismatic", "charitable",
                "charitable", "charity", "charm", "charm", "charming", "charming", "charmingly", "chaste", "cheer",
                "cheery", "cheerful", "cherished", "cherub", "chic", "chivalry", "chivalrous", "chum", "civility",
                "civilization", "civilize", "civil", "clarity", "classic", "clean", "cleanliness", "cleanse",
                "clear-cut", "clearer", "clearer", "clearly", "clever", "closeness", "closeness", "clout", "clout",
                "co-operation", "co-operation", "cogent", "cohesive", "coherence", "coherence", "coherent",
                "cohesion", "cohesive", "colorful", "colossal", "comeback", "comeback", "comely", "comfortable",
                "comfortable", "comfortably", "comforting", "commendable", "commendably", "commensurate",
                "commonsense", "commonsensible", "commonsensibly", "commonsensical", "commodious", "commitment",
                "commitment", "compact", "compassion", "compassionate", "compatible", "compatible", "compelling",
                "compelling", "competent", "competence", "competency", "competitive", "competitive",
                "competitiveness", "complement", "compliant", "compliant", "complimentary", "comprehensive",
                "compromise", "compromise", "compromises", "compromises", "comrades", "comrades", "conceivable",
                "conceivable", "conciliatory", "conclusive", "concrete", "conducive", "conducive", "confidence",
                "confidence", "confident", "congenial", "congratulations", "congratulations", "conscience",
                "conscientious", "consensus", "considerate", "consistent", "constancy", "constructive",
                "constructive", "constructive", "consummate", "content", "contentment", "continuity",
                "contribution", "contribution", "convenient", "convenient", "conviction", "conviction",
                "convincing", "convincing", "convincingly", "cooperation", "cooperation", "cooperative",
                "cooperatively", "cordial", "cornerstone", "cornerstone", "correct", "cost-effective",
                "cost-saving", "courage", "courage", "courageous", "courageously", "courageousness", "courteous",
                "courtesy", "courtly", "covenant", "cozy", "craving", "creative", "credence", "credence",
                "credible", "crisp", "crusade", "crusade", "crusader", "cure-all", "cure-all", "cute", "dance",
                "daring", "daringly", "dashing", "dauntless", "dazzled", "dazzling", "deal", "dear", "decent",
                "decency", "decisive", "decisiveness", "decisiveness", "dedicated", "defender", "defender",
                "deference", "defense", "definite", "definitive", "definitive", "definitively", "deflationary",
                "deft", "delectable", "delicacy", "delicate", "delicious", "delight", "delighted", "delightful",
                "delightful", "delightfully", "delightfulness", "democratic", "dependable", "deserved",
                "deservedly", "deserving", "desirable", "desire", "desire", "desirous", "destined", "destinies",
                "destinies", "destiny", "determination", "determination", "devoted", "devotee", "devotion",
                "devout", "dexterity", "dexterous", "dexterously", "dextrous", "dignified", "dignity", "diligence",
                "diligent", "diligently", "diplomatic", "diplomatic", "discerning", "discreet", "discreet",
                "discretion", "discriminating", "discriminatingly", "distinct", "distinction", "distinctive",
                "distinctive", "distinctive", "distinguished", "diversified", "divine", "divinely", "dodge",
                "dodge", "dotingly", "doubtless", "dream", "dream", "dreamland", "dreams", "dreams", "dreamy",
                "drive", "driven", "durable", "durability", "dynamic", "eager", "eagerly", "eagerness", "earnest",
                "earnestly", "earnestness", "ease", "easy", "easygoing", "ebullience", "ebullient", "ebulliently",
                "eclectic", "economical", "ecstasies", "ecstasy", "ecstatic", "ecstatically", "educable",
                "educated", "educational", "effective", "effectiveness", "effectual", "efficacious", "efficiency",
                "efficient", "effortless", "effortlessly", "effusion", "effusive", "effusively", "effusiveness",
                "egalitarian", "elan", "elated", "elatedly", "elation", "electrification", "electrification",
                "elegance", "elegant", "elegantly", "elevated", "eligible", "elite", "eloquence", "eloquent",
                "eloquently", "eminence", "eminent", "empowerment", "enchanted", "enchanting", "enchantingly",
                "encouragement", "encouragement", "encouraging", "encouraging", "encouragingly", "endearing",
                "endorsement", "endorsement", "endorser", "endurable", "enduring", "energetic", "energetic",
                "engaging", "engrossing", "enhanced", "enhancement", "enjoyable", "enjoyably", "enjoyment",
                "enlightenment", "enrapt", "enrichment", "enterprising", "entertaining", "enthusiasm", "enthusiast",
                "enthusiastic", "enthusiastically", "enticing", "enticingly", "entrancing", "entreatingly",
                "enviable", "enviably", "envisions", "envisions", "epic", "epitome", "equality", "equality",
                "equitable", "erudite", "essential", "especially", "esteem", "established", "eternity", "eternity",
                "ethical", "euphoria", "euphoric", "euphorically", "even", "evenly", "eventful", "everlasting",
                "evocative", "exalt", "exaltation", "exalted", "exaltedly", "exalting", "exaltingly", "exceeding",
                "exceedingly", "excellence", "excellency", "excellent", "excellently", "exceptional",
                "exceptionally", "excited", "excitedly", "excitedness", "excitement", "exciting", "excitingly",
                "exclusive", "excusable", "excusable", "exemplar", "exemplary", "exhaustive", "exhaustively",
                "exhilarating", "exhilaratingly", "exhilaration", "expansive", "experienced", "expert", "expertly",
                "explicit", "explicitly", "expressive", "exquisite", "exquisitely", "extraordinarily",
                "extraordinary", "exuberance", "exuberant", "exuberantly", "exultation", "exultingly", "fabulous",
                "fabulously", "fair", "fair", "fairly", "fairness", "fairness", "faith", "faith", "faithful",
                "faithful", "faithfully", "faithfulness", "famed", "fame", "famed", "famous", "famously", "fancy",
                "fanfare", "fanfare", "fantastic", "fantastically", "fantasy", "fantasy", "farsighted",
                "fascinating", "fascinatingly", "fascination", "fashionable", "fashionably", "fast-growing",
                "fast-paced", "fastest-growing", "favor", "favor", "favorable", "favored", "favorite", "favour",
                "fearless", "fearlessly", "feasible", "feasibly", "feat", "featly", "feisty", "feisty",
                "felicitous", "felicity", "fertile", "fertile", "fervent", "fervently", "fervid", "fervidly",
                "fervor", "festive", "fidelity", "fiery", "fine", "finely", "first-class", "first-rate", "fit",
                "fitting", "flair", "flame", "flame", "flattering", "flatteringly", "flawless", "flawlessly",
                "flexible", "flourish", "flourishing", "fluent", "fond", "fondly", "fondness", "foolproof",
                "foremost", "foresight", "forgave", "forgiven", "forgiveness", "forgiving", "forgivingly",
                "fortitude", "fortuitous", "fortuitously", "fortunate", "fortune", "fortune", "fragrant", "frank",
                "free", "freedom", "freedom", "freedoms", "freedoms", "fresh", "friend", "friend", "friendliness",
                "friendliness", "friendly", "friends", "friends", "friendship", "friendship", "fruitful",
                "fulfillment", "fulfillment", "full-fledged", "fun", "functional", "funny", "gaiety", "gaily",
                "gain", "gainful", "gainfully", "gallant", "gallantly", "galore", "gem", "gem", "gems", "gems",
                "generosity", "generous", "generously", "genial", "genius", "gentle", "genuine", "germane", "giddy",
                "gifted", "glad", "gladly", "gladness", "glamorous", "glee", "gleeful", "gleefully", "glimmer",
                "glimmer", "glimmering", "glisten", "glistening", "glitter", "glorious", "gloriously", "glory",
                "glossy", "glowingly", "go-ahead", "go-ahead", "god-given", "godlike", "gold", "golden", "good",
                "goodly", "goodness", "goodwill", "goodwill", "gorgeous", "gorgeously", "grace", "graceful",
                "gracefully", "gracious", "graciously", "graciousness", "grail", "grail", "grand", "grandeur",
                "grateful", "grateful", "gratefully", "gratification", "gratifying", "gratifyingly", "gratitude",
                "gratitude", "great", "greatest", "greatness", "grit", "grit", "groundbreaking", "groundbreaking",
                "guarantee", "guardian", "guidance", "guidance", "guiltless", "gumption", "gusto", "gutsy",
                "halcyon", "hale", "hallowed", "handily", "handsome", "handy", "happily", "happiness", "happy",
                "hard-working", "hardier", "hardier", "hardy", "harmless", "harmonious", "harmony", "harmony",
                "haven", "headway", "heady", "healthful", "healthy", "healthy", "heart", "heartening", "heartfelt",
                "heartily", "heartwarming", "heaven", "heavenly", "help", "help", "helpful", "hero", "heroic",
                "heroically", "heroine", "heros", "high-quality", "highlight", "hilarious", "hilariously",
                "hilariousness", "hilarity", "historic", "holy", "homage", "honest", "honest", "honestly",
                "honesty", "honesty", "honeymoon", "honor", "honor", "honorable", "hope", "hope", "hopeful",
                "hopefully", "hopefulness", "hopes", "hopes", "hospitable", "hot", "hug", "hug", "humane", "humane",
                "humanists", "humanists", "humanity", "humankind", "humility", "humorous", "humorously", "humour",
                "humour", "humourous", "ideal", "ideal", "idealism", "idealist", "idol", "idol", "idolized",
                "illuminati", "illuminati", "illuminating", "illustrious", "imaginative", "immaculate",
                "immaculately", "impartial", "impartiality", "impartially", "impassioned", "impeccable",
                "impeccably", "imperial", "imperturbable", "impervious", "impetus", "importance", "important",
                "importantly", "impregnable", "impression", "impression", "impressions", "impressions",
                "impressive", "impressively", "impressiveness", "improving", "improved", "improvement",
                "inalienable", "incisive", "incisively", "incisiveness", "inclination", "inclination",
                "inclinations", "inclined", "inclusive", "incontestable", "incontrovertible", "incorruptible",
                "incredible", "incredibly", "indebted", "indefatigable", "indelible", "indelibly", "independence",
                "independence", "independent", "indescribable", "indescribably", "indestructible", "indispensable",
                "indispensability", "indisputable", "individuality", "indomitable", "indomitably", "indubitable",
                "indubitably", "indulgence", "indulgent", "industrious", "inestimable", "inestimably",
                "inexpensive", "infallible", "infallibly", "infallibility", "influential", "informative",
                "ingenious", "ingeniously", "ingenuity", "ingenuous", "ingenuously", "ingratiating",
                "ingratiatingly", "innocence", "innocence", "innocent", "innocently", "innocuous", "innocuous",
                "innovation", "innovation", "innovative", "inoffensive", "inquisitive", "insight", "insight",
                "insightful", "insightfully", "insistence", "insistence", "insistent", "insistently", "inspiration",
                "inspirational", "inspiring", "inspiring", "instructive", "instrumental", "intact", "integral",
                "integrity", "intelligent", "intelligence", "intelligible", "interest", "interest", "interested",
                "interesting", "interests", "interests", "intimacy", "intimacy", "intimate", "intricate",
                "intrigue", "intrigue", "intriguing", "intriguing", "intriguingly", "intuitive", "invaluable",
                "invaluablely", "inventive", "invigorating", "invincibility", "invincible", "inviolable",
                "inviolate", "invulnerable", "irrefutable", "irrefutably", "irreproachable", "irresistible",
                "irresistibly", "jauntily", "jaunty", "joke", "jovial", "joy", "joyful", "joyfully", "joyless",
                "joyous", "joyously", "jubilant", "jubilantly", "jubilation", "jubilation", "judicious", "just",
                "just", "just", "justice", "justice", "justifiable", "justification", "justly", "keen", "keenly",
                "keenness", "keenness", "kemp", "kind", "kindly", "kindliness", "kindness", "kingmaker", "kiss",
                "knowledgeable", "large", "large", "laudable", "laudably", "lavish", "lavishly", "law-abiding",
                "lawful", "lawfully", "leading", "lean", "lean", "learning", "learned", "legendary", "legitimacy",
                "legitimate", "legitimately", "lenient", "leniently", "less-expensive", "leverage", "levity",
                "liberal", "liberation", "liberation", "liberalism", "liberally", "liberty", "lifeblood",
                "lifelong", "light", "light", "light-hearted", "likable", "liking", "lionhearted", "literate",
                "live", "lively", "lofty", "logical", "lovable", "lovably", "love", "loveliness", "lover", "lovely",
                "low-cost", "low-risk", "lower-priced", "loyal", "loyalty", "loyalty", "lucid", "lucidly", "luck",
                "luckier", "luckier", "luckily", "luckiness", "lucky", "lucky", "lucrative", "lucrative",
                "luminous", "lush", "luster", "lustrous", "luxuriant", "luxurious", "luxuriously", "luxury",
                "luxury", "lyrical", "magic", "magical", "magnanimous", "magnanimously", "magnetic", "magnificence",
                "magnificent", "magnificent", "magnificently", "magnify", "majestic", "majesty", "manageable",
                "manifest", "manly", "mannerly", "marvel", "marvellous", "marvelous", "marvelously",
                "marvelousness", "marvels", "master", "master", "masterful", "masterfully", "masterpiece",
                "masterpieces", "masters", "masters", "mastery", "matchless", "mature", "maturely", "maturity",
                "meaningful", "meek", "mellow", "memorable", "mentor", "mercifully", "mercy", "mercy", "merit",
                "meritorious", "merrily", "merriment", "merriness", "merry", "mesmerizing", "mesmerizing",
                "mesmerizingly", "meticulous", "meticulously", "might", "mightily", "mighty", "mild", "mindful",
                "miracle", "miracles", "miraculous", "miraculously", "miraculousness", "mirth", "moderate",
                "moderation", "moderation", "modern", "modest", "modesty", "momentous", "monumental",
                "monumentally", "moral", "moral", "morality", "motivated", "motivation", "motivation", "moving",
                "myriad", "natural", "naturally", "navigable", "neat", "neatly", "necessarily", "necessary", "nice",
                "nifty", "nimble", "noble", "nobly", "non-violence", "non-violent", "normal", "notable", "notable",
                "noteworthy", "noteworthy", "noticeable", "novel", "nourishing", "nourishment", "nurturing",
                "nurturing", "oasis", "obedience", "obedient", "obediently", "objective", "objectively", "offbeat",
                "okay", "onward", "onward", "open", "openly", "openness", "openness", "opportune", "opportunity",
                "optimal", "optimism", "optimistic", "opulent", "orderly", "original", "originality", "outgoing",
                "outstanding", "outstandingly", "ovation", "ovation", "overachiever", "overjoyed", "overture",
                "overture", "pacifist", "pacifists", "pacifists", "painless", "painlessly", "painstaking",
                "painstakingly", "palatable", "palatial", "paradise", "paramount", "passion", "passionate",
                "passionately", "patience", "patient", "patient", "patient", "patiently", "patriot", "patriotic",
                "peace", "peace", "peaceable", "peaceful", "peaceful", "peacefully", "peacekeepers", "peacekeepers",
                "peerless", "penetrating", "penitent", "perceptive", "perfect", "perfection", "perfectly",
                "permissible", "perseverance", "persistent", "persistent", "personages", "personages",
                "personality", "personality", "perspicuous", "perspicuously", "persuasive", "persuasive",
                "persuasively", "pertinent", "phenomenal", "phenomenally", "picturesque", "piety", "pillar",
                "pillar", "pinnacle", "pious", "pithy", "pithy", "placid", "plain", "plausibility", "plausible",
                "playful", "playfully", "pleasant", "pleasantly", "pleased", "pleasing", "pleasure", "pleasure",
                "pledge", "pledges", "pledges", "plentiful", "plush", "poetic", "poignant", "poise", "poised",
                "polished", "polite", "politeness", "popular", "popular", "popularity", "popularity", "portable",
                "posh", "positive", "positiveness", "positively", "posterity", "potent", "potential", "potential",
                "powerful", "powerfully", "practicable", "practical", "pragmatic", "praise", "praiseworthy",
                "praising", "praising", "pre-eminent", "preaching", "preaching", "precaution", "precautions",
                "precedent", "precious", "precious", "precise", "precisely", "precision", "preeminent",
                "preemptive", "preferable", "preference", "preferences", "preferences", "premier", "premium",
                "prepared", "preponderance", "preponderance", "prestige", "prestigious", "prettily", "pretty",
                "priceless", "pride", "principle", "principle", "principled", "privilege", "privileged", "pro",
                "pro-American", "pro-American", "pro-Beijing", "pro-Beijing", "pro-Cuba", "pro-Cuba", "pro-peace",
                "pro-peace", "proactive", "proactive", "prodigious", "prodigiously", "prodigy", "productive",
                "proficient", "proficiently", "profit", "profitable", "profound", "profoundly", "profuse",
                "profusely", "profusion", "progress", "progressive", "prolific", "prominent", "prominence",
                "promise", "promise", "promising", "promoter", "promoter", "prompt", "promptly", "proper",
                "properly", "propitious", "propitiously", "prospect", "prospect", "prospects", "prospects",
                "prosperity", "prosperity", "prosperous", "protection", "protective", "protector", "protector",
                "proud", "providence", "prowess", "prudence", "prudence", "prudent", "prudently", "punctual",
                "pundits", "pundits", "pure", "purification", "purity", "purposeful", "quaint", "qualified",
                "qualify", "quasi-ally", "quasi-ally", "radiance", "radiant", "rapprochement", "rapprochement",
                "rapport", "rapture", "raptureous", "raptureously", "rational", "rationality", "rationality",
                "re-conquest", "re-conquest", "readily", "ready", "reaffirm", "reaffirmation", "reaffirmation",
                "real", "realist", "realistic", "realistically", "reason", "reasonable", "reasonably", "reasoned",
                "reassurance", "reassurance", "receptive", "recognition", "recognition", "recommendation",
                "recommendations", "recommendations", "recommended", "recompense", "reconciliation",
                "reconciliation", "record-setting", "rectification", "rectification", "rectifying", "rectifying",
                "redeeming", "redemption", "refined", "refinement", "reform", "reform", "refreshing", "refuge",
                "regal", "regally", "regard", "rehabilitation", "reinforcement", "rejoicing", "rejoicingly",
                "relaxed", "relevant", "relevance", "reliable", "reliability", "reliably", "relief", "relief",
                "remarkable", "remarkably", "remedy", "reminiscent", "reminiscent", "renaissance", "renewal",
                "renovation", "renown", "renowned", "repair", "reparation", "repentance", "reputable", "rescue",
                "resilient", "resolute", "resolve", "resolve", "resolved", "resounding", "resourceful",
                "resourcefulness", "respect", "respect", "respectable", "respectful", "respectfully", "respite",
                "resplendent", "responsibility", "responsible", "responsibly", "responsive", "restful",
                "restoration", "restraint", "restraint", "resurgent", "revel", "revel", "revelation", "revelation",
                "reverence", "reverent", "reverently", "revival", "revolution", "revolution", "rewarding",
                "rewardingly", "rich", "riches", "richly", "richness", "right", "right", "righteous", "righteously",
                "righteousness", "rightful", "rightfully", "rightness", "rightness", "rights", "rights", "ripe",
                "risk-free", "robust", "rosy", "rousing", "sacred", "safe", "sagacity", "sage", "sagely", "saint",
                "saintliness", "saintly", "salable", "salutary", "salvation", "sanctity", "sanctuary", "sanctuary",
                "sanguine", "sane", "sanity", "sanity", "satisfaction", "satisfaction", "satisfactorily",
                "satisfactory", "satisfying", "savvy", "scenic", "scruples", "scrupulous", "scrupulously",
                "seamless", "seasoned", "secure", "securely", "security", "security", "seductive", "selective",
                "self-determination", "self-determination", "self-respect", "self-satisfaction",
                "self-satisfaction", "self-sufficiency", "self-sufficiency", "self-sufficient", "semblance",
                "sensation", "sensation", "sensational", "sensationally", "sensations", "sensations", "sense",
                "sense", "sensible", "sensibly", "sensitive", "sensitive", "sensitivity", "sensitivity",
                "sentiment", "sentiment", "sentiments", "serene", "serenity", "settle", "sexy", "shelter",
                "shimmeringly", "shiny", "shiny", "shrewd", "shrewdly", "shrewdness", "significant", "significance",
                "simple", "simplicity", "simplified", "sincere", "sincerely", "sincerity", "sincerity", "skill",
                "skilled", "skillful", "skillful", "skillfully", "sleek", "slender", "slim", "slim", "smart",
                "smarter", "smartest", "smartly", "smile", "smiling", "smilingly", "smooth", "sociable",
                "soft-spoken", "soften", "soften", "solicitous", "solicitously", "solicitude", "solid", "solid",
                "solidarity", "solidarity", "soothingly", "sophisticated", "sound", "soundness", "spacious",
                "sparing", "sparingly", "sparkling", "special", "spectacular", "spectacularly", "speedy",
                "spellbinding", "spellbindingly", "spirit", "spirit", "spirited", "spiritual", "spiritual",
                "splendid", "splendidly", "splendor", "spotless", "sprightly", "squarely", "stability", "stability",
                "stable", "stable", "stainless", "star", "star", "stars", "stars", "stately", "statuesque",
                "staunch", "staunchly", "staunchness", "steadfast", "steadfastly", "steadfastness", "steadiness",
                "steady", "stellar", "stellarly", "stimulating", "stimulative", "stirring", "stirringly",
                "straight", "straightforward", "streamlined", "stride", "stride", "strides", "strides", "striking",
                "strikingly", "striving", "striving", "strong", "studious", "studiously", "stunned", "stunning",
                "stunningly", "stupendous", "stupendously", "sturdy", "stylish", "stylishly", "suave", "sublime",
                "substantial", "substantially", "substantive", "subtle", "success", "success", "successful",
                "successfully", "sufficient", "sufficiently", "suggestions", "suggestions", "suitable", "sumptuous",
                "sumptuously", "sumptuousness", "sunny", "super", "superb", "superbly", "superior", "superlative",
                "support", "support", "supporter", "supporter", "supportive", "supportive", "supreme", "supremely",
                "supurb", "supurbly", "sure", "surge", "surging", "survival", "survivor", "sustainability",
                "sustainability", "sustainable", "sustainable", "sustained", "sweeping", "sweet", "sweetheart",
                "sweetly", "sweetness", "swift", "swiftness", "sworn", "tact", "talent", "talent", "talented",
                "tantalizing", "tantalizingly", "taste", "temperance", "temperate", "tenacious", "tenaciously",
                "tenacity", "tender", "tenderly", "tenderness", "terrific", "terrifically", "terrified",
                "terrifying", "terrifying", "terrifyingly", "thankful", "thankfully", "thinkable", "thinkable",
                "thorough", "thoughtful", "thoughtfully", "thoughtfulness", "thrift", "thrifty", "thrill",
                "thrilling", "thrillingly", "thrills", "thriving", "tidy", "time-honored", "timely", "titillating",
                "titillatingly", "togetherness", "tolerable", "tolerably", "tolerance", "tolerance", "tolerant",
                "tolerantly", "toleration", "top", "torrid", "torridly", "tradition", "traditional", "tranquil",
                "tranquility", "tranquility", "treat", "tremendous", "trendy", "trepidation", "tribute", "trim",
                "triumph", "triumphal", "triumphant", "triumphantly", "truculent", "truculently", "true", "truly",
                "trust", "trust", "trusting", "trustingly", "trustworthiness", "trustworthy", "truthful",
                "truthfully", "truthfulness", "ultimate", "ultimately", "ultra", "unabashed", "unabashedly",
                "unanimous", "unassailable", "unassailable", "unbiased", "unbound", "unbroken", "uncommon",
                "uncommonly", "unconcerned", "unconditional", "unconventional", "undaunted", "understandable",
                "understanding", "understanding", "understood", "understated", "understatedly", "undisputable",
                "undisputably", "undisputed", "undoubted", "undoubtedly", "unencumbered", "unequivocal", "unfazed",
                "unfettered", "unforgettable", "uniform", "uniformly", "unique", "unity", "unity", "universal",
                "unlimited", "unparalleled", "unpretentious", "unrestricted", "unscathed", "unselfish", "untouched",
                "untrained", "upbeat", "upfront", "upheld", "uphold", "uplifting", "upliftment", "upliftment",
                "upright", "upscale", "upside", "upside", "upward", "usable", "useful", "usefulness", "utilitarian",
                "utmost", "uttermost", "valiant", "valiantly", "valid", "validity", "valor", "valuable", "values",
                "values", "vast", "vastly", "vastness", "venerable", "venerably", "verifiable", "veritable",
                "versatile", "versatility", "viable", "viability", "vibrant", "vibrantly", "victorious", "victory",
                "victory", "vigilance", "vigilant", "vigilant", "vigorous", "vigorously", "vintage", "virtue",
                "virtuous", "virtuously", "visionary", "vital", "vitality", "vitality", "vivacious", "vivid",
                "voluntarily", "voluntary", "vulnerable", "vulnerable", "warm", "warmhearted", "warmly", "warmth",
                "wealthy", "welcome", "welcome", "welfare", "welfare", "well", "well", "well-being", "well-being",
                "well-connected", "well-educated", "well-established", "well-informed", "well-intentioned",
                "well-managed", "well-positioned", "well-publicized", "well-received", "well-regarded", "well-run",
                "well-wishers", "well-wishers", "wellbeing", "wellbeing", "whimsical", "white", "wholeheartedly",
                "wholesome", "wide", "wide-open", "wide-ranging", "will", "will", "willful", "willfully", "willing",
                "willingness", "willingness", "wink", "wink", "winnable", "winnable", "winners", "winners",
                "wisdom", "wisdom", "wise", "wise", "wisely", "wish", "wish", "wishes", "wishes", "wishing",
                "wishing", "witty", "wonderful", "wonderfully", "wonderous", "wonderously", "workable",
                "world-famous", "worth", "worth", "worth-while", "worthiness", "worthwhile", "worthy", "wow", "wry",
                "yearning", "yearningly", "youthful", "zeal", "zenith", "zest" };
        private static final String[] negativeWordsArray = new String[] { "abandoned", "abandonment", "aberration",
                "aberration", "abhorred", "abhorrence", "abhorrent", "abhorrently", "abhors", "abhors", "abject",
                "abjectly", "abnormal", "abominable", "abominably", "abomination", "abrasive", "abrupt", "absence",
                "absent-minded", "absurd", "absurdity", "absurdly", "absurdness", "abuse", "abuse", "abuses",
                "abuses", "abusive", "abysmal", "abysmally", "abyss", "accidental", "accountable", "accursed",
                "accusation", "accusation", "accusations", "accusations", "accuses", "accusing", "accusingly",
                "acerbic", "acerbically", "acrid", "acridly", "acridness", "acrimonious", "acrimoniously",
                "acrimony", "adamant", "adamantly", "addict", "addiction", "admonition", "adrift", "adulterated",
                "adulteration", "adversarial", "adverse", "adversity", "affectation", "affliction", "afflictive",
                "affront", "afraid", "against", "aggravating", "aggravation", "aggression", "aggression",
                "aggressiveness", "aggressor", "aggrieved", "aghast", "agitated", "agitation", "agitator",
                "agonies", "agonizing", "agonizingly", "agony", "ail", "ailment", "aimless", "airs", "airs",
                "alarm", "alarmed", "alarming", "alarmingly", "alienated", "alienation", "allegation",
                "allegations", "allege", "allegations", "allergic", "aloof", "altercation", "ambiguous",
                "ambiguity", "ambivalent", "ambivalent", "ambush", "amiss", "anarchism", "anarchist", "anarchistic",
                "anarchy", "anemic", "anger", "anger", "angry", "anguish", "annihilation", "animosity", "annoyance",
                "annoyed", "annoying", "annoyingly", "anomalous", "anomaly", "antagonism", "antagonist",
                "antagonistic", "anti-", "anti-American", "anti-American", "anti-Israeli", "anti-Israeli",
                "anti-Semites", "anti-Semites", "anti-US", "anti-US", "anti-occupation", "anti-occupation",
                "anti-proliferation", "anti-proliferation", "anti-social", "anti-white", "anti-white", "antipathy",
                "antiquated", "antithetical", "antithetical", "anxieties", "anxiety", "anxious", "anxiously",
                "anxiousness", "apathetic", "apathetic", "apathetically", "apathy", "apocalypse", "apocalyptic",
                "apologist", "apologist", "apologists", "apologists", "appall", "appalled", "appalling",
                "appallingly", "apprehension", "apprehensions", "apprehensions", "apprehensive", "apprehensive",
                "arbitrary", "arcane", "archaic", "arduous", "arduously", "argument", "argument", "arguments",
                "arguments", "arrogance", "arrogant", "arrogantly", "artificial", "ashamed", "asinine", "asininely",
                "asinininity", "askance", "aspersion", "aspersions", "assassin", "assault", "assault", "astray",
                "asunder", "atrocious", "atrocities", "atrocity", "attack", "audacious", "audaciously",
                "audaciousness", "audacity", "austere", "authoritarian", "autocrat", "autocratic", "autocratic",
                "autocratic", "avalanche", "avalanche", "avarice", "avaricious", "avariciously", "averse",
                "aversion", "avoidance", "awful", "awful", "awfully", "awfulness", "awkward", "awkwardness",
                "backbiting", "backward", "backwardness", "bad", "badly", "baffled", "bafflement", "baffling",
                "banal", "bane", "banish", "banishment", "bankrupt", "barbarian", "barbarian", "barbaric",
                "barbarically", "barbarity", "barbarity", "barbarous", "barbarously", "barren", "baseless",
                "bashful", "bastard", "battered", "battering", "battering", "battle-lines", "battle-lines",
                "battlefield", "battleground", "battleground", "batty", "bearish", "beast", "beast", "beastly",
                "bedlam", "bedlamite", "beggar", "beggarly", "begging", "begging", "belated", "belittled",
                "bellicose", "bellicose", "belligerence", "belligerent", "belligerently", "bemoaning", "bemused",
                "bent", "bereavement", "bereft", "berserk", "beset", "bestial", "betrayal", "betrayals", "betrayer",
                "bewildered", "bewildering", "bewildering", "bewilderingly", "bewilderment", "bias", "bias",
                "biased", "biased", "biases", "biases", "bickering", "bid-rigging", "bitchy", "biting", "bitingly",
                "bitter", "bitterly", "bitterness", "bizarre", "black", "blame", "blame", "blameworthy", "bland",
                "blasphemous", "blasphemy", "blatant", "blatantly", "bleak", "bleakly", "bleakness", "blemish",
                "blind", "blinding", "blindingly", "blindness", "blistering", "bloated", "block", "blockhead",
                "blood", "bloodshed", "bloodthirsty", "bloody", "blow", "blow", "blunder", "blunder", "blundering",
                "blunders", "blunt", "boastful", "bogus", "boiling", "boisterous", "bombardment", "bombardment",
                "bombastic", "bondage", "bonkers", "bonkers", "boredom", "boring", "bother", "bothersome",
                "boycott", "boycott", "braggart", "bragger", "brash", "brashly", "brashness", "brat", "bravado",
                "brazen", "brazenly", "brazenly", "brazenness", "brazenness", "breach", "breach", "break-point",
                "break-point", "brimstone", "brimstone", "brittle", "broke", "broken-hearted", "bruise", "brusque",
                "brutal", "brutalising", "brutalising", "brutalities", "brutalities", "brutality", "brutalizing",
                "brutally", "brute", "brutish", "bulky", "bullies", "bullies", "bully", "bully", "bullyingly",
                "bum", "bumpy", "bunk", "burden", "burden", "burdensome", "busy", "busybody", "butchery",
                "byzantine", "calamities", "calamitous", "calamitously", "calamity", "callous", "calumniation",
                "calumnies", "calumnious", "calumniously", "calumny", "cancer", "cancerous", "cannibal",
                "capricious", "capriciously", "capriciousness", "captive", "careless", "carelessness", "carnage",
                "cartoon", "cartoon", "cash-strapped", "cataclysm", "cataclysmal", "cataclysmic", "cataclysmically",
                "catastrophe", "catastrophes", "catastrophic", "catastrophically", "caustic", "caustically",
                "cautionary", "cautious", "censure", "censure", "chagrin", "challenge", "challenging", "chaos",
                "chaotic", "charisma", "cheap", "cheat", "cheerless", "childish", "chilly", "choppy", "chore",
                "chronic", "clamor", "clamorous", "clash", "clash", "cliche", "cliched", "clique", "close",
                "clumsy", "coarse", "cocky", "coercion", "coercive", "cold", "coldly", "collapse", "collusion",
                "combative", "comedy", "comedy", "comical", "commonplace", "commotion", "commotion", "complacent",
                "complacent", "complaining", "complaining", "complaint", "complaints", "complaints", "complex",
                "complicated", "complication", "complicit", "compulsion", "compulsive", "compulsory", "conceit",
                "conceited", "concern", "concern", "concerns", "concerns", "concession", "concession",
                "concessions", "concessions", "condescending", "condescendingly", "condescension", "condemnable",
                "condemnation", "condolence", "condolences", "condolences", "confession", "confessions",
                "confessions", "conflict", "conflict", "confrontation", "confrontation", "confrontational",
                "confusing", "confusion", "confusion", "congested", "congestion", "conspicuous", "conspicuous",
                "conspiracies", "conspiracies", "conspiracy", "conspiracy", "conspirator", "conspirator",
                "conspiratorial", "consternation", "constraint", "contagious", "contamination", "contempt",
                "contemptible", "contemptuous", "contemptuously", "contention", "contentious", "contentious",
                "contortions", "contortions", "contradiction", "contradictory", "contrariness", "contrary",
                "contrived", "controversial", "controversial", "controversy", "controversy", "convoluted", "coping",
                "coping", "corrosion", "corrosive", "corrupt", "corruption", "costly", "counterproductive",
                "coupists", "coupists", "covetous", "covetous", "coward", "cowardly", "crackdown", "crackdown",
                "crafty", "cramped", "cranky", "crass", "cravenly", "craze", "crazily", "craziness", "crazy",
                "credulous", "crime", "criminal", "crippling", "crisis", "crisis", "critic", "criticism",
                "criticism", "criticisms", "criticisms", "critics", "critics", "crook", "crooked", "cross",
                "crowded", "crude", "cruel", "cruelties", "cruelty", "crushing", "culpable", "cuplrit",
                "cumbersome", "curse", "cursed", "cursed", "curses", "cursory", "curt", "cutthroat", "cynical",
                "cynicism", "damage", "damage", "damaging", "damn", "damn", "damnable", "damnably", "damnation",
                "damned", "damning", "danger", "danger", "dangerous", "dangerousness", "dangerousness", "dark",
                "darkness", "dastard", "daunting", "dauntingly", "dazed", "dead", "deadbeat", "deadlock", "deadly",
                "deadweight", "deaf", "dearth", "death", "debacle", "debasement", "debaser", "debatable",
                "debaucher", "debauchery", "debilitating", "debility", "decadence", "decadent", "decay", "decayed",
                "deceit", "deceitful", "deceitfully", "deceitfulness", "deceiving", "deceiver", "deceivers",
                "deception", "deception", "deceptive", "deceptive", "deceptively", "decline", "declining",
                "decrease", "decreasing", "decrement", "decrepit", "decrepitude", "deep", "deepening", "deepening",
                "defamation", "defamations", "defamatory", "defeat", "defect", "defective", "defensive", "defiance",
                "defiance", "defiant", "defiantly", "deficiency", "deficient", "defiler", "deformed", "defrauding",
                "defrauding", "defunct", "degenerate", "degenerately", "degeneration", "degradation", "degrading",
                "degradingly", "dehumanization", "dejected", "dejectedly", "dejection", "delinquency", "delinquent",
                "delirious", "delirium", "deluded", "deluge", "delusion", "delusion", "delusional", "delusions",
                "delusions", "demeaning", "demise", "demolisher", "demon", "demonic", "demoralizing",
                "demoralizingly", "denial", "denunciation", "denunciations", "deplorable", "deplorably",
                "deploring", "deploringly", "depraved", "depravedly", "depressed", "depressing", "depressing",
                "depression", "depression", "deprived", "derision", "derisive", "derisively", "derisiveness",
                "derogatory", "desertion", "desiccate", "desiccated", "desolate", "desolately", "desolation",
                "despair", "despairing", "despairingly", "desperate", "desperation", "despicable", "despised",
                "despised", "despite", "despoiler", "despondence", "despondency", "despondent", "despondently",
                "despot", "despotic", "despotism", "despotism", "destabilisation", "destabilisation", "destitute",
                "destitution", "destroyer", "destroyer", "destruction", "destructive", "desultory", "deteriorate",
                "deteriorating", "deteriorating", "deterioration", "deterrent", "detestable", "detestably",
                "detraction", "detriment", "detrimental", "devastated", "devastating", "devastatingly",
                "devastation", "deviate", "deviate", "deviation", "devil", "devilish", "devilishly", "devilment",
                "devilry", "devious", "deviously", "deviousness", "devoid", "diabolic", "diabolical",
                "diabolically", "diametrically", "diatribe", "diatribes", "dictator", "dictatorial", "difficult",
                "difficulties", "difficulties", "difficulty", "difficulty", "diffidence", "diffidence", "dig",
                "dilapidated", "dilemma", "dilemma", "dim", "diminishing", "din", "dinky", "dire", "direly",
                "direness", "dirt", "dirty", "disabled", "disaccord", "disadvantage", "disadvantaged",
                "disadvantageous", "disadvantageous", "disaffected", "disagreement", "disagreement", "disappointed",
                "disappointing", "disappointment", "disappointment", "disapprobation", "disapproval", "disapproval",
                "disapproving", "disarray", "disarray", "disaster", "disastrous", "disastrously", "disavowal",
                "disbelief", "disbeliever", "discomfititure", "discomfort", "disconcerted", "disconcerting",
                "disconcertingly", "disconsolate", "disconsolately", "disconsolation", "discontent", "discontent",
                "discontented", "discontentedly", "discontinuity", "discontinuity", "discord", "discordance",
                "discordant", "discountenance", "discouragement", "discouraging", "discouragingly", "discourteous",
                "discourteously", "discrepant", "discrimination", "discrimination", "discriminatory", "disdain",
                "disdainful", "disdainfully", "disease", "diseased", "disgrace", "disgraced", "disgraceful",
                "disgracefully", "disgruntled", "disgust", "disgusted", "disgustedly", "disgustful", "disgustfully",
                "disgusting", "disgustingly", "disheartening", "dishearteningly", "dishonest", "dishonest",
                "dishonestly", "dishonesty", "dishonor", "dishonorable", "dishonorablely", "disillusion",
                "disillusioned", "disinclination", "disinclined", "disingenuous", "disingenuously", "disinterested",
                "disintegration", "disinterest", "disinterested", "dislocated", "disloyal", "disloyal",
                "disloyalty", "dismal", "dismally", "dismalness", "dismay", "dismayed", "dismaying", "dismayingly",
                "dismissive", "dismissive", "dismissively", "disobedience", "disobedient", "disorder", "disordered",
                "disorderly", "disorganized", "disoriented", "disparaging", "disparagingly", "dispensable",
                "dispirited", "dispiritedly", "displaced", "displeasing", "displeasure", "displeasure",
                "disproportionate", "disputable", "dispute", "disputed", "disquieting", "disquietingly",
                "disquietude", "disregard", "disregard", "disregardful", "disreputable", "disrepute",
                "disrespectable", "disrespectablity", "disrespectful", "disrespectfully", "disrespectfulness",
                "disrespecting", "disrespecting", "disruption", "disruption", "disruptive", "dissatisfaction",
                "dissatisfaction", "dissatisfactory", "dissatisfied", "dissembler", "dissension", "dissent",
                "dissent", "dissenter", "dissention", "disservice", "disservice", "dissidence", "dissident",
                "dissident", "dissidents", "dissidents", "dissocial", "dissolute", "dissolution", "dissonance",
                "dissonant", "dissonantly", "dissuasive", "distaste", "distasteful", "distastefully", "distortion",
                "distortion", "distracting", "distraction", "distraction", "distraught", "distraughtly",
                "distraughtness", "distressed", "distressing", "distressingly", "distrustful", "distrusting",
                "disturbed", "disturbed-let", "disturbed-let", "disturbing", "disturbingly", "disunity", "disvalue",
                "divergent", "divided", "division", "divisive", "divisively", "divisiveness", "divorce", "divorced",
                "dizzy", "dizzing", "dizzingly", "doddering", "dodgey", "dogged", "doggedly", "dogmatic",
                "doldrums", "dominance", "dominance", "domination", "domination", "domineering", "domineering",
                "doomsday", "doomsday", "dope", "doubt", "doubtful", "doubtfully", "doubts", "doubts", "down",
                "downbeat", "downcast", "downer", "downfall", "downfallen", "downhearted", "downheartedly",
                "downside", "drab", "draconian", "draconic", "dragon", "dragons", "dragons", "drain", "drain",
                "drama", "drama", "drastic", "drastically", "dread", "dreadful", "dreadfully", "dreadfulness",
                "dreary", "drones", "drones", "drought", "drought", "drowning", "drunk", "drunkard", "drunken",
                "dubious", "dubiously", "dubitable", "dud", "dull", "dullard", "dumb", "dumb", "dumbfounded",
                "dummy", "dump", "dunce", "dungeon", "dungeons", "dungeons", "dusty", "dwindling", "dying",
                "earsplitting", "eccentric", "eccentricity", "edgy", "effigy", "effrontery", "ego", "ego",
                "egocentric", "egomania", "egotism", "egotistical", "egotistically", "egregious", "egregiously",
                "election-rigger", "election-rigger", "elimination", "emaciated", "embarrassing", "embarrassingly",
                "embarrassment", "embattled", "embroiled", "embroilment", "emotional", "empathy", "emphatic",
                "emphatically", "emptiness", "emptiness", "empty", "encroachment", "endless", "enemies", "enemies",
                "enemy", "enmity", "enormities", "enormity", "enormous", "enormously", "enraged", "entanglement",
                "entrapment", "envious", "enviously", "enviousness", "envy", "epidemic", "equivocal", "erosion",
                "errant", "erratic", "erratically", "erroneous", "erroneously", "error", "error", "escapade",
                "esoteric", "estranged", "eternal", "evasion", "evasive", "evil", "evil", "evildoer", "evils",
                "evils", "exacting", "exaggeration", "exaggeration", "exasperation", "exasperating", "excessive",
                "excessively", "exclusion", "excruciating", "excruciatingly", "excuse", "excuse", "excuses",
                "excuses", "exhaustion", "exorbitant", "exorbitantance", "exorbitantly", "expedient",
                "expediencies", "expediencies", "expensive", "expensive", "exploitation", "exploitation", "exposed",
                "explosive", "expropriate", "expropriate", "expropriation", "expropriation", "extermination",
                "extortion", "extraneous", "extravagance", "extravagant", "extravagantly", "extreme", "extreme",
                "extremely", "extremism", "extremism", "extremist", "extremists", "extremists", "fabrication",
                "facetious", "facetiously", "fading", "failing", "failure", "failure", "failures", "failures",
                "faint", "fainthearted", "faithless", "fake", "fallacies", "fallacies", "fallacious",
                "fallaciously", "fallaciousness", "fallacy", "fallout", "false", "false", "falsehood", "falsely",
                "famine", "famished", "fanatic", "fanatical", "fanatically", "fanaticism", "fanatics", "fanciful",
                "far-fetched", "farfetched", "farce", "farcical", "farcical-yet-provocative", "farcically",
                "fascism", "fascism", "fascist", "fastidious", "fastidiously", "fastuous", "fat", "fatal",
                "fatalistic", "fatalistically", "fatally", "fateful", "fatefully", "fathomless", "fatigue", "fatty",
                "fatuity", "fatuous", "fatuously", "faulty", "fawningly", "fear", "fearful", "fearfully", "fears",
                "fears", "fearsome", "feckless", "feeble", "feeblely", "feebleminded", "feint", "fell", "felon",
                "felonious", "ferocious", "ferociously", "ferocity", "feverish", "fetid", "fever", "fiasco", "fiat",
                "fiat", "fib", "fibber", "fickle", "fiction", "fiction", "fictional", "fictitious", "fidgety",
                "fiend", "fiendish", "fierce", "fight", "fight", "figurehead", "figurehead", "filth", "filthy",
                "fissures", "fissures", "fist", "flabbergasted", "flagging", "flagrant", "flagrantly", "flak",
                "flak", "flake", "flakey", "flaky", "flash", "flash", "flat-out", "flaw", "flaw", "flaws", "flawed",
                "flawed", "fleeting", "flighty", "flimflam", "flimsy", "floundering", "foe", "foolhardy",
                "foolishly", "foolishness", "forbid", "forbidden", "forbidding", "forbidding", "forceful",
                "foreboding", "forebodingly", "forged", "forgetful", "forgetfully", "forgetfulness", "forlorn",
                "forlornly", "formidable", "forsaken", "foul", "foul", "foully", "foulness", "fractious",
                "fractiously", "fracture", "fragile", "fragile", "fragmented", "frail", "frantic", "frantically",
                "franticly", "fraud", "fraud", "fraudulent", "fraught", "fraught", "freak", "freakish", "freakish",
                "freakishly", "frazzle", "frazzled", "frenetic", "frenetically", "frenzied", "frenzy", "fretful",
                "friction", "friction", "frictions", "frictions", "friggin", "fright", "frightening",
                "frighteningly", "frighteningly", "frightful", "frightfully", "frigid", "frivolous", "frown",
                "frown", "frozen", "fruitless", "fruitlessly", "frustrated", "frustrating", "frustrating",
                "frustratingly", "frustration", "fudge", "fudge", "fugitive", "full-blown", "fundamentalism",
                "fundamentalism", "furious", "furiously", "furor", "fury", "fuss", "fuss", "fussy", "fusty",
                "futile", "futilely", "futility", "fuzzy", "gaff", "gaffe", "gainsayer", "gaga", "galling",
                "gallingly", "gamble", "game", "garbage", "garbage", "garish", "gasp", "gasp", "gauche", "gaudy",
                "gawky", "genocide", "genocide", "get-rich", "get-rich", "ghastly", "ghetto", "gibberish", "glare",
                "glaring", "glaringly", "glib", "glibly", "glitch", "gloatingly", "gloom", "gloomy", "glum", "glut",
                "gnawing", "goading", "god-awful", "goddam", "goddamn", "goof", "gossip", "gossip", "graceless",
                "gracelessly", "graft", "grandiose", "grating", "gratuitous", "gratuitous", "grave", "gravely",
                "greed", "greedy", "grief", "grievance", "grievances", "grievances", "grieving", "grievous",
                "grievously", "grim", "grind", "grind", "gripe", "grisly", "gritty", "gross", "grossly",
                "grotesque", "grouch", "grouchy", "groundless", "grudges", "grudges", "grudging", "gruesome",
                "gruesomely", "gruff", "guile", "guilt", "guilty", "guiltily", "gullible", "haggard", "halfhearted",
                "halfheartedly", "hallucination", "hamstring", "hamstrung", "handicapped", "hapless", "haphazard",
                "harangue", "harassment", "harassment", "harboring", "harboring", "harbors", "harbors", "hard",
                "hard-hit", "hard-line", "hard-liner", "hardball", "hardball", "hardened", "hardheaded",
                "hardhearted", "hardliner", "hardliners", "hardliners", "hardly", "hardship", "hardships",
                "hardships", "harm", "harm", "harmful", "harms", "harms", "harpy", "harridan", "harried", "harsh",
                "hassle", "haste", "haste", "hasty", "hasty", "hater", "hateful", "hatefully", "hatefulness",
                "haughtily", "haughty", "hatred", "haunting", "havoc", "hawkish", "hawkish", "hazard", "hazardous",
                "hazy", "headache", "headaches", "headaches", "heartbreak", "heartbreaker", "heartbreaking",
                "heartbreakingly", "heartless", "heartrending", "heathen", "heathen", "heavily", "heavy-handed",
                "heavyhearted", "heck", "heck", "hectic", "hedonistic", "heedless", "hegemonism", "hegemonism",
                "hegemonistic", "hegemony", "hegemony", "hegemony", "heinous", "hell", "hell-bent", "helpless",
                "helplessly", "helplessness", "heresy", "heretic", "heretical", "hesitant", "hideous", "hideously",
                "hideousness", "hindrance", "hole", "hollow", "hopeless", "hopelessly", "hopelessness", "horde",
                "horrendous", "horrendously", "horrible", "horribly", "horrid", "horrific", "horrifically",
                "horrify", "horrifying", "horrifyingly", "horror", "horrors", "hostage", "hostile", "hostile",
                "hostilities", "hostilities", "hostility", "hostility", "hothead", "hotheaded", "hotbeds",
                "hotbeds", "hothouse", "hothouse", "hubris", "huckster", "humbling", "humiliating", "humiliation",
                "hungry", "hurt", "hurtful", "hustler", "hypocrisy", "hypocrite", "hypocrites", "hypocritical",
                "hypocritically", "hysteria", "hysteric", "hysterical", "hysterically", "hysterics", "icy",
                "idiocies", "idiocy", "idiot", "idiotic", "idiotically", "idiots", "idle", "ignoble", "ignominious",
                "ignominiously", "ignominy", "ignorance", "ignorance", "ignorant", "ignorant", "ill", "ill",
                "ill-advised", "ill-conceived", "ill-fated", "ill-favored", "ill-mannered", "ill-natured",
                "ill-sorted", "ill-tempered", "ill-treated", "ill-treatment", "ill-treatment", "ill-usage",
                "ill-used", "illegal", "illegally", "illegitimate", "illicit", "illiquid", "illiterate", "illness",
                "illogic", "illogical", "illogically", "illusion", "illusion", "illusions", "illusions", "illusory",
                "imaginary", "imbalance", "imbalance", "imbecile", "imbroglio", "immaterial", "immature",
                "imminence", "imminent", "imminently", "immobilized", "immoderate", "immoderately", "immodest",
                "immoral", "immorality", "immorally", "immovable", "impaired", "impasse", "impatience", "impatient",
                "impatiently", "impedance", "impediment", "impending", "impending", "impenitent", "imperfect",
                "imperfectly", "imperialist", "imperious", "imperiously", "impermissible", "impersonal",
                "impertinent", "impetuous", "impetuously", "impiety", "impious", "implacable", "implausible",
                "implausibly", "implication", "implication", "impolite", "impolitely", "impolitic", "importunate",
                "imposers", "imposers", "imposing", "imposing", "imposition", "imposition", "impossible",
                "impossiblity", "impossibly", "impotent", "impotent", "impoverished", "impractical", "impractical",
                "imprecise", "imprecisely", "imprecision", "improbability", "improbable", "improbably", "improper",
                "improperly", "impropriety", "imprudence", "imprudent", "impudence", "impudent", "impudently",
                "impulsive", "impulsively", "impunity", "impunity", "impure", "impurity", "inability", "inability",
                "inaccessible", "inaccuracy", "inaccuracies", "inaccurate", "inaccurately", "inaction", "inactive",
                "inadequacy", "inadequate", "inadequately", "inadverent", "inadverently", "inadvisable",
                "inadvisably", "inane", "inanely", "inappropriate", "inappropriately", "inapt", "inaptitude",
                "inarticulate", "inattentive", "incapable", "incapably", "incautious", "incendiary", "incessant",
                "incessantly", "incitement", "incitement", "incivility", "inclement", "incognizant", "incoherence",
                "incoherent", "incoherently", "incommensurate", "incomparable", "incomparably", "incompatibility",
                "incompatible", "incompatible", "incompetence", "incompetent", "incompetently", "incomplete",
                "incompliant", "incomprehensible", "incomprehension", "inconceivable", "inconceivably",
                "inconclusive", "incongruous", "incongruously", "inconsequent", "inconsequently", "inconsequential",
                "inconsequentially", "inconsiderate", "inconsiderately", "inconsistence", "inconsistencies",
                "inconsistencies", "inconsistency", "inconsistent", "inconsolable", "inconsolably", "inconstant",
                "inconvenience", "inconvenience", "inconvenient", "inconveniently", "incorrect", "incorrectly",
                "incorrigible", "incorrigibly", "incredulous", "incredulously", "indecency", "indecent",
                "indecently", "indecision", "indecisive", "indecisively", "indecorum", "indefensible",
                "indefensible", "indefinite", "indefinitely", "indelicate", "indeterminable", "indeterminably",
                "indeterminate", "indifference", "indifferent", "indigent", "indignant", "indignantly",
                "indignation", "indignity", "indignity", "indiscernible", "indiscreet", "indiscreet",
                "indiscreetly", "indiscriminate", "indiscriminating", "indiscriminately", "indisposed",
                "indistinct", "indistinctive", "indoctrination", "indoctrination", "indolent", "ineffective",
                "ineffectively", "ineffectiveness", "ineffectual", "ineffectually", "ineffectualness",
                "inefficacious", "inefficacious", "inefficacy", "inefficiency", "inefficient", "inefficiently",
                "ineligible", "inelegance", "inelegant", "ineloquent", "ineloquently", "inept", "ineptitude",
                "ineptly", "inequalities", "inequalities", "inequality", "inequality", "inequitable", "inequitably",
                "inequities", "inequities", "inertia", "inertia", "inescapable", "inescapably", "inessential",
                "inevitable", "inevitable", "inevitably", "inexact", "inexcusable", "inexcusably", "inexorable",
                "inexorably", "inexperience", "inexperienced", "inexpert", "inexpertly", "inexpiable",
                "inexplainable", "inexplicable", "inextricable", "inextricably", "infamous", "infamously", "infamy",
                "infected", "inferior", "inferiority", "infernal", "infested", "infidel", "infidels", "infiltrator",
                "infiltrators", "infiltrators", "infirm", "inflammatory", "inflated", "inflationary", "inflexible",
                "infraction", "infringement", "infringements", "infringements", "infuriated", "infuriating",
                "infuriatingly", "inglorious", "ingrate", "ingratitude", "inhibition", "inhospitable",
                "inhospitality", "inhuman", "inhumane", "inhumanity", "inimical", "inimically", "iniquitous",
                "iniquity", "injudicious", "injurious", "injury", "injustice", "injustice", "injustices",
                "injustices", "innuendo", "innuendo", "inopportune", "inordinate", "inordinately", "insane",
                "insanely", "insanity", "insatiable", "insecure", "insecurity", "insecurity", "insensible",
                "insensitive", "insensitively", "insensitivity", "insensitivity", "insidious", "insidiously",
                "insignificance", "insignificant", "insignificantly", "insincere", "insincerely", "insincerity",
                "insinuating", "insinuation", "insinuation", "insociable", "isolation", "insolence", "insolence",
                "insolent", "insolently", "insolvent", "insouciance", "instability", "instable", "instigator",
                "instigators", "insubordinate", "insubstantial", "insubstantially", "insufferable", "insufferably",
                "insufficiency", "insufficient", "insufficiently", "insular", "insult", "insulted", "insulting",
                "insulting", "insultingly", "insupportable", "insupportably", "insurmountable", "insurmountably",
                "insurrection", "insurrection", "interference", "interference", "intermittent", "interruption",
                "intimidating", "intimidatingly", "intimidation", "intimidation", "intolerable", "intolerablely",
                "intolerance", "intolerance", "intolerant", "intractable", "intransigence", "intransigence",
                "intransigent", "intrusion", "intrusive", "inundated", "invader", "invader", "invalid",
                "invalidity", "invasive", "invective", "invidious", "invidiously", "invidiousness", "involuntarily",
                "involuntary", "irate", "irately", "ire", "irksome", "ironic", "ironies", "ironies", "irony",
                "irrational", "irrationality", "irrationally", "irreconcilable", "irredeemable", "irredeemably",
                "irreformable", "irregular", "irregularity", "irrelevance", "irrelevant", "irreparable",
                "irreplacible", "irrepressible", "irresolute", "irresolvable", "irresponsible", "irresponsibly",
                "irretrievable", "irreverence", "irreverent", "irreverently", "irreversible", "irreversible",
                "irritable", "irritably", "irritant", "irritated", "irritating", "irritation", "irritation",
                "isolated", "isolation", "jaded", "jam", "jaundiced", "jealous", "jealously", "jealousness",
                "jealousy", "jeer", "jeers", "jeopardy", "jittery", "jobless", "joker", "jumpy", "junk", "junky",
                "juvenile", "kaput", "keen", "kick", "kick", "killer", "killer", "killjoy", "knave", "knock",
                "kook", "kooky", "lack", "lack", "lackadaisical", "lackey", "lackeys", "lackeys", "lacking",
                "laconic", "lame", "lame-duck", "lamentable", "lamentably", "languid", "lanky", "languor",
                "languorous", "languorously", "lapse", "lascivious", "last-ditch", "last-ditch", "laugh",
                "laughable", "laughably", "laughingstock", "laughter", "lawbreaker", "lawbreaking", "lawless",
                "lawlessness", "lawlessness", "lax", "lax", "lazy", "leakage", "leaky", "least", "lech", "lecher",
                "lecher", "lecherous", "lechery", "lecture", "leech", "leech", "leer", "leery", "left-leaning",
                "less", "less-developed", "lesser", "lesser-known", "letch", "lethal", "lethargic", "lethargy",
                "lewd", "lewdly", "lewdness", "liable", "liability", "liability", "liar", "liar", "liars", "liars",
                "licentious", "licentiously", "licentiousness", "lie", "lie", "lie", "lier", "lies", "lies",
                "life-threatening", "lifeless", "limit", "limitation", "limited", "limp", "listless", "litigious",
                "little", "little-known", "livid", "lividly", "loath", "loathe", "loathing", "loathly", "loathsome",
                "loathsomely", "lone", "lone", "loneliness", "lonely", "lonesome", "longing", "longingly",
                "loophole", "loopholes", "loopholes", "loot", "lorn", "losing", "losing", "loser", "loss", "lost",
                "lousy", "loveless", "lovelorn", "low", "low-rated", "lowly", "ludicrous", "ludicrously",
                "lukewarm", "lunatic", "lunatic", "lunaticism", "lurid", "lurking", "lying", "macabre", "mad",
                "maddening", "maddeningly", "madder", "madder", "madly", "madman", "madness", "maladjusted",
                "maladjustment", "malady", "malaise", "malcontent", "malcontent", "malcontented", "maledict",
                "malevolence", "malevolent", "malevolently", "malice", "malicious", "maliciously", "maliciousness",
                "malign", "malignant", "malodorous", "maltreatment", "maltreatment", "maneuver", "maneuver",
                "mania", "maniac", "maniacal", "manic", "manipulation", "manipulation", "manipulative",
                "manipulators", "manipulators", "mar", "marginal", "marginally", "martyrdom", "martyrdom-seeking",
                "massacre", "massacres", "maverick", "mawkish", "mawkishly", "mawkishness", "maxi-devaluation",
                "maxi-devaluation", "meager", "mean", "meaningless", "meanness", "mediocre", "mediocrity",
                "melancholy", "melodramatic", "melodramatically", "menace", "menacing", "menacingly", "mendacious",
                "mendacity", "menial", "merciless", "mercilessly", "mere", "mess", "mess", "messy", "midget",
                "midget", "militancy", "militancy", "mindless", "mindlessly", "mirage", "mirage", "mire",
                "misbecoming", "misbegotten", "misbehavior", "miscalculation", "miscalculation", "mischief",
                "mischief", "mischievous", "mischievously", "misconception", "misconceptions", "misconceptions",
                "miscreant", "miscreants", "misdirection", "miser", "miserly", "miserable", "miserableness",
                "miserably", "miseries", "misery", "misery", "misfit", "misfortune", "misgiving", "misgivings",
                "misguidance", "misguided", "mishap", "misinformed", "misjudgment", "mislead", "misleading",
                "misreading", "misreading", "misstatement", "mistake", "mistake", "mistakes", "mistakes",
                "mistrust", "mistrust", "misunderstand", "misunderstood", "misunderstanding", "misunderstanding",
                "misunderstanding", "misunderstandings", "misunderstandings", "mock", "mockeries", "mockery",
                "mocking", "mockingly", "molestation", "monotonous", "monotony", "monster", "monstrosities",
                "monstrosity", "monstrous", "monstrously", "moody", "moot", "morbid", "morbidly", "mordant",
                "mordantly", "moribund", "mortification", "mortified", "mortifying", "mortifying", "motionless",
                "motley", "mourner", "mournful", "mournfully", "muddy", "mudslinger", "mudslinging", "mulish",
                "multi-polarization", "multi-polarization", "mundane", "murder", "murderous", "murderously",
                "murky", "muscle-flexing", "mysterious", "mysteriously", "mystery", "mistified", "myth", "myth",
                "naive", "naively", "narrow", "narrower", "narrower", "nastily", "nastiness", "nasty",
                "nationalism", "nationalism", "naughty", "nauseating", "nauseatingly", "nebulous", "nebulous",
                "nebulously", "need", "need", "needless", "needlessly", "needy", "nefarious", "nefariously",
                "negation", "negative", "neglect", "neglected", "negligent", "negligence", "negligible", "nemesis",
                "nettlesome", "nervous", "nervously", "nervousness", "neurotic", "neurotically", "nightmare",
                "nightmarish", "nightmarishly", "noisy", "non-confidence", "non-confidence", "nonexistent",
                "nonsense", "nosey", "notorious", "notoriously", "nuisance", "nuisance", "obese", "obese",
                "objection", "objection", "objectionable", "objections", "objections", "oblique", "obliterated",
                "oblivious", "oblivious", "obnoxious", "obnoxiously", "obscene", "obscenely", "obscenity",
                "obscure", "obsession", "obsessions", "obsessive", "obsessively", "obsessiveness", "obsolete",
                "obstacle", "obstacle", "obstinate", "obstinately", "obstruction", "obtrusive", "obtuse",
                "obviously", "odd", "oddities", "oddities", "oddity", "oddly", "offence", "offence", "offend",
                "offending", "offenses", "offenses", "offensive", "offensive", "offensively", "offensiveness",
                "officious", "ominous", "ominously", "omission", "one-side", "one-sided", "onerous", "onerously",
                "onslaught", "onslaught", "opinionated", "opponent", "opportunistic", "opposition", "opposition",
                "oppositions", "oppositions", "oppression", "oppression", "oppressive", "oppressively",
                "oppressiveness", "oppressors", "oppressors", "orphan", "outbreak", "outburst", "outburst",
                "outbursts", "outbursts", "outcast", "outcry", "outdated", "outlaw", "outmoded", "outrage",
                "outraged", "outrageous", "outrageously", "outrageousness", "outrages", "outsider", "over-acted",
                "over-valuation", "over-valuation", "overacted", "overbalanced", "overbearing", "overbearingly",
                "overblown", "overdone", "overdue", "overkill", "oversight", "oversimplification", "oversimplified",
                "oversized", "overstatement", "overstatement", "overstatements", "overtaxed", "overwhelming",
                "overwhelmingly", "overworked", "overzealous", "overzealously", "pain", "pain", "painful",
                "painfully", "pains", "pains", "pale", "pale", "paltry", "pandemonium", "panic", "panicky",
                "paradoxical", "paradoxically", "paralize", "paralyzed", "paranoia", "paranoid", "parasite",
                "pariah", "partiality", "partiality", "partisan", "partisan", "partisans", "partisans", "passe",
                "passive", "passive", "passiveness", "passiveness", "pathetic", "pathetically", "paucity",
                "paucity", "pauper", "paupers", "paupers", "payback", "payback", "peculiar", "pedantic",
                "pedestrian", "peeved", "peevish", "peevishly", "penalty", "penalty", "perfidious", "perfidity",
                "perfunctory", "perfunctory", "peril", "perilous", "perilously", "peripheral", "pernicious",
                "perplexed", "perplexing", "perplexity", "persecution", "persecution", "pertinacious",
                "pertinaciously", "pertinacity", "perturbed", "perverse", "perversely", "perversion", "perversity",
                "perverted", "pessimism", "pessimistic", "pessimistically", "pest", "pestilent", "petrified",
                "petty", "phobia", "phobic", "phony", "picky", "pillage", "pinch", "pitiable", "pitiful",
                "pitifully", "pitiless", "pitilessly", "pittance", "pity", "plague", "plague", "plaything",
                "plaything", "plea", "pleas", "pleas", "plebeian", "plight", "plotters", "plotters", "ploy", "ploy",
                "plunderer", "pointless", "pointlessly", "poison", "poison", "poisonous", "poisonously",
                "polarisation", "polarisation", "polluter", "polluter", "polluters", "polluters", "polution",
                "pompous", "poor", "poorly", "posturing", "posturing", "poverty", "powerless", "pratfall",
                "precarious", "precariously", "precipitous", "predatory", "predicament", "prejudice", "prejudice",
                "prejudicial", "premeditated", "preposterous", "preposterously", "pressing", "pressing",
                "presumptuous", "presumptuously", "pretence", "pretence", "pretend", "pretense", "pretense",
                "pretentious", "pretentiously", "pricey", "prickles", "prickles", "prideful", "primitive",
                "primitive", "prison", "prisoner", "problem", "problematic", "problematic", "problems", "problems",
                "procrastination", "profane", "profanity", "prohibitive", "prohibitively", "propaganda",
                "propaganda", "proscription", "proscription", "proscriptions", "proscriptions", "protest",
                "protest", "protests", "protests", "protracted", "provocation", "provocation", "provocative",
                "provocative", "pugnacious", "pugnaciously", "pugnacity", "punch", "punch", "punishable",
                "punitive", "punitive", "puny", "puppet", "puppet", "puppets", "puppets", "puzzled", "puzzlement",
                "puzzling", "qualms", "qualms", "quandary", "quarrel", "quarrel", "quarrellous", "quarrellously",
                "quarrels", "quarrelsome", "queer", "questionable", "quitter", "racism", "racism", "racist",
                "racist", "racist", "racists", "racists", "radical", "radical", "radical", "radicalization",
                "radicalization", "radically", "radicals", "rage", "ragged", "raging", "rampant", "ramshackle",
                "rancor", "rank", "ranting", "rantingly", "rascal", "rash", "rat", "raving", "reactionary",
                "rebellious", "recalcitrant", "recession", "recessionary", "reckless", "recklessly", "recklessness",
                "recourses", "recourses", "redundancy", "redundant", "refusal", "refusal", "refuse", "refutation",
                "refutation", "regression", "regressive", "regret", "regret", "regretful", "regretfully",
                "regrettable", "regrettably", "rejection", "rejection", "relentless", "relentlessly",
                "relentlessness", "reluctance", "reluctance", "reluctant", "reluctantly", "remorse", "remorseful",
                "remorsefully", "remorseless", "remorselessly", "remorselessness", "renunciation", "repetitive",
                "reprehensible", "reprehensibly", "reprehension", "reprehensive", "repression", "repression",
                "repressive", "reproach", "reproach", "reproachful", "reprovingly", "repudiation", "repudiation",
                "repugnance", "repugnant", "repugnantly", "repulsed", "repulsing", "repulsive", "repulsively",
                "repulsiveness", "resentful", "resentment", "resentment", "reservations", "reservations",
                "resigned", "resistance", "resistance", "resistant", "resistant", "restless", "restlessness",
                "restricted", "restriction", "restrictive", "retaliatory", "reticent", "retreat", "revenge",
                "revengeful", "revengefully", "reviled", "revolting", "revoltingly", "revulsion", "revulsive",
                "rhetoric", "rhetoric", "rhetorical", "rhetorical", "ridicule", "ridiculous", "ridiculously",
                "rife", "rift", "rift", "rifts", "rifts", "rigid", "rigor", "rigorous", "riled", "risk", "risk",
                "risky", "rival", "rivalry", "roadblocks", "roadblocks", "rocky", "rogue", "rogue", "rollercoaster",
                "rollercoaster", "rot", "rotten", "rough", "rubbish", "rude", "rue", "ruffian", "ruin", "ruin",
                "ruinous", "rumbling", "rumbling", "rumor", "rumor", "rumors", "rumors", "rumours", "rumours",
                "run-down", "runaway", "rupture", "rusty", "ruthless", "ruthlessly", "ruthlessness", "sacrifice",
                "sacrifice", "sad", "sadly", "sadness", "salacious", "sanctimonious", "sanctimonious", "sarcasm",
                "sarcastic", "sarcastically", "sardonic", "sardonically", "sass", "satirical", "savage", "savage",
                "savaged", "savagely", "savagery", "savages", "scandal", "scandal", "scandalized", "scandalous",
                "scandalously", "scandals", "scant", "scapegoat", "scar", "scarred", "scarce", "scarcely",
                "scarcity", "scared", "scarier", "scariest", "scarily", "scars", "scars", "scary", "scary",
                "scathing", "scathingly", "scheme", "scheming", "scoffingly", "scolding", "scoldingly", "scorching",
                "scorchingly", "scornful", "scornfully", "scoundrel", "scourge", "scowl", "screech", "scum",
                "scummy", "second-class", "second-tier", "secretive", "secretive", "sedentary", "seedy", "seething",
                "self-coup", "self-coup", "self-criticism", "self-criticism", "self-defeating", "self-destructive",
                "self-humiliation", "self-humiliation", "self-interest", "self-interest", "self-interested",
                "self-serving", "self-serving", "selfinterested", "selfish", "selfishly", "selfishness", "senile",
                "senseless", "senselessly", "serious", "seriously", "seriousness", "servitude", "set-up", "set-up",
                "sever", "severe", "severe", "severely", "severity", "shabby", "shadowy", "shady", "shaky",
                "shallow", "sham", "shambles", "shame", "shameful", "shameful", "shamefully", "shamefully",
                "shamefulness", "shameless", "shamelessly", "shamelessness", "shark", "sharp", "sharply", "sheer",
                "shirker", "shipwreck", "shock", "shock", "shocking", "shockingly", "shoddy", "short-lived",
                "shortage", "shortcoming", "shortcomings", "shortsighted", "shortsightedness", "showdown",
                "showdown", "shred", "shrew", "shrill", "shrill", "shrilly", "shrouded", "shrug", "shunned", "shy",
                "shyly", "shyness", "sick", "sickly", "sickening", "sickening", "sickeningly", "sickness",
                "sidetracked", "siege", "sillily", "silly", "simplistic", "simplistic", "simplistically", "sin",
                "sin", "sinful", "sinfully", "sinister", "sinisterly", "sinking", "sinking", "skeletons",
                "skeletons", "skeptical", "skeptical", "skeptically", "skepticism", "skepticism", "sketchy",
                "skimpy", "skittish", "skittishly", "slack", "slander", "slanderer", "slanderous", "slanderously",
                "slanders", "slanders", "slashing", "slashing", "slaughter", "slaughter", "slaughtered", "slaves",
                "slaves", "sleazy", "slight", "slight", "slightly", "slime", "sloppy", "sloppily", "sloth",
                "slothful", "slow", "slowly", "slow-moving", "slug", "sluggish", "slump", "slump", "slur", "sly",
                "smack", "smack", "smash", "smokescreen", "smokescreen", "smoldering", "smouldering", "smug",
                "smugly", "smut", "smuttier", "smuttiest", "smutty", "snare", "snarl", "sneak", "sneakily",
                "sneaky", "sneer", "sneering", "sneeringly", "so-cal", "so-called", "sober", "sobering", "solemn",
                "solemn", "somber", "sore", "sore", "sorely", "soreness", "sorrow", "sorrowful", "sorrowfully",
                "sorry", "sounding", "sour", "sourly", "spade", "spade", "spilling", "spilling", "spinster",
                "spiritless", "spite", "spiteful", "spitefully", "spitefulness", "split", "splitting", "spookier",
                "spookiest", "spookily", "spooky", "spooky", "spoon-fed", "spoonfed", "sporadic", "spot", "spotty",
                "spurious", "squabbling", "staggering", "staggeringly", "stagnant", "stagnation", "staid", "stake",
                "stake", "stale", "stalemate", "stampede", "stampede", "standstill", "stark", "starkly",
                "startling", "startlingly", "starvation", "static", "stealing", "steep", "steeply", "stench",
                "stereotype", "stereotypical", "stereotypically", "stern", "stern", "sticky", "stiff", "stifling",
                "stiflingly", "stigma", "sting", "sting", "stinging", "stingingly", "stink", "stinking", "stodgy",
                "stole", "stolen", "stolen", "stooge", "stooges", "stooges", "stormy", "straggler", "strain",
                "strained", "strange", "strenuous", "stress", "stressful", "stressfully", "stricken", "strict",
                "strictly", "strident", "stridently", "strife", "stringent", "stringently", "struggle", "struggle",
                "stubborn", "stubbornly", "stubbornness", "stuffy", "stunt", "stunted", "stupid", "stupidity",
                "stupidly", "stupified", "stupor", "sty", "sty", "subdued", "subjected", "subjection", "subjugate",
                "subjugation", "submissive", "subordinate", "subordinate", "subservience", "subservient",
                "substandard", "subversion", "subversive", "subversively", "sucker", "sufferer", "sufferers",
                "sufferers", "suffering", "suffering", "sugar-coated", "sugarcoated", "suicidal", "suicide",
                "sullen", "superficial", "superficial", "superficiality", "superficially", "superfluous",
                "superiority", "superiority", "superstition", "superstitious", "suppression", "suppression",
                "supremacy", "supremacy", "surrender", "surrender", "susceptible", "suspect", "suspect",
                "suspicion", "suspicion", "suspicions", "suspicions", "suspicious", "suspicious", "suspiciously",
                "swamped", "swear", "swipe", "swipe", "swore", "sympathetic", "sympathetic", "sympathetically",
                "sympathies", "sympathies", "sympathy", "sympathy", "symptom", "syndrome", "syndrome", "taboo",
                "taboo", "tainted", "tangled", "tantrum", "tardy", "taunt", "taunting", "tauntingly", "taunts",
                "tawdry", "teasingly", "taxing", "tedious", "tediously", "temerity", "temper", "tempest",
                "temptation", "tense", "tension", "tension", "tentative", "tentatively", "tenuous", "tenuously",
                "tepid", "terrible", "terribleness", "terribly", "terror", "terror-genic", "terror-genic",
                "terrorism", "thankless", "thirst", "thorny", "thorny", "thoughtless", "thoughtlessly",
                "thoughtlessness", "threat", "threat", "threatening", "threatening", "threats", "threats", "thumbs",
                "thumbs", "timid", "timidity", "timidly", "timidness", "tiny", "tired", "tiresome", "tiring",
                "tiring", "tiringly", "toll", "toll", "torment", "tormented", "torrent", "torture", "tortured",
                "tortuous", "torturous", "torturously", "totalitarian", "touchy", "toughness", "toughness", "toxic",
                "tragedy", "tragedy", "tragic", "tragically", "traitor", "traitorous", "traitorously",
                "traitorously", "tramp", "transgression", "trauma", "trauma", "traumatic", "traumatic",
                "traumatically", "traumatized", "travesties", "travesty", "treacherous", "treacherously",
                "treachery", "treason", "treasonous", "trial", "trick", "trick", "tricky", "tricky", "trickery",
                "trivial", "trivial", "trivially", "trouble", "trouble", "troublemaker", "troublemaker",
                "troublesome", "troublesome", "troublesomely", "truant", "trying", "tumultuous", "turbulent",
                "turmoil", "twist", "twisted", "twists", "twists", "tyrannical", "tyrannically", "tyranny",
                "tyrant", "ugliness", "ugliness", "ugly", "ulterior", "ultimatum", "ultimatums", "ultimatums",
                "ultra-hardline", "ultra-hardline", "unable", "unacceptable", "unacceptablely", "unaccustomed",
                "unattractive", "unauthentic", "unavailable", "unavoidable", "unavoidably", "unbearable",
                "unbearablely", "unbelievable", "unbelievably", "uncertain", "uncivil", "uncivilized",
                "uncivilized", "unclean", "unclear", "uncollectible", "uncomfortable", "uncompetitive",
                "uncompromising", "uncompromisingly", "unconfirmed", "unconstitutional", "uncontrolled",
                "unconvincing", "unconvincingly", "uncouth", "undecided", "undefined", "undependability",
                "undependable", "underdog", "underdog", "underlings", "underlings", "underpaid", "undesirable",
                "undetermined", "undid", "undignified", "undo", "undocumented", "undone", "undue", "unease",
                "unease", "uneasily", "uneasiness", "uneasiness", "uneasy", "uneconomical", "unethical", "uneven",
                "uneventful", "unexpected", "unexplained", "unfair", "unfairly", "unfaithful", "unfaithfully",
                "unfamiliar", "unfavorable", "unfeeling", "unfinished", "unfit", "unforeseen", "unfortunate",
                "unfounded", "unfriendly", "unfulfilled", "unfunded", "ungrateful", "ungovernable", "ungovernable",
                "unhappily", "unhappiness", "unhappy", "unhealthy", "unilateralism", "unilateralism",
                "unimaginable", "unimaginably", "unimportant", "uninformed", "uninsured", "unipolar", "unipolar",
                "unjust", "unjustifiable", "unjustifiably", "unjustified", "unkind", "unkindly", "unlamentable",
                "unlamentably", "unlawful", "unlawfully", "unlawfulness", "unlawfulness", "unlicensed", "unlucky",
                "unmoved", "unnatural", "unnecessary", "unneeded", "unnerved", "unnerving", "unnervingly",
                "unnoticed", "unobserved", "unorthodox", "unorthodoxy", "unpleasant", "unpleasantries",
                "unpleasantries", "unpopular", "unprecedent", "unprecedented", "unpredictable", "unprepared",
                "unproductive", "unprofitable", "unqualified", "unravel", "unravel", "unraveled", "unrealistic",
                "unreasonable", "unreasonably", "unrelenting", "unrelentingly", "unreliability", "unreliability",
                "unreliable", "unresolved", "unrest", "unruly", "unsafe", "unsatisfactory", "unsavory",
                "unscrupulous", "unscrupulously", "unsettled", "unsettlingly", "unskilled", "unsophisticated",
                "unsound", "unspeakable", "unspeakablely", "unspecified", "unstable", "unsteadily", "unsteadiness",
                "unsteady", "unsuccessful", "unsuccessfully", "unsupported", "unsure", "unsuspecting",
                "unsustainable", "untenable", "untested", "unthinkable", "unthinkably", "untimely", "untrue",
                "untrustworthy", "untruthful", "unusual", "unusually", "unwanted", "unwarranted", "unwelcome",
                "unwieldy", "unwilling", "unwillingly", "unwillingness", "unwise", "unwisely", "unworkable",
                "unworthy", "unyielding", "upheaval", "uprising", "uproar", "uproarious", "uproariously",
                "uproarous", "uproarously", "upset", "upsetting", "upsettingly", "urgency", "urgency", "urgent",
                "urgent", "urgently", "useless", "usurper", "utter", "utterly", "vagrant", "vague", "vague",
                "vagueness", "vain", "vainly", "vanity", "vehement", "vehemently", "vengeance", "vengeful",
                "vengefully", "vengefulness", "venom", "venom", "venomous", "venomously", "vent", "vent",
                "vestiges", "vestiges", "veto", "veto", "vexation", "vexing", "vexingly", "vice", "vicious",
                "viciously", "viciousness", "vile", "vileness", "villainous", "villainously", "villains",
                "villains", "villian", "villianous", "villianously", "vindictive", "vindictively", "vindictiveness",
                "violation", "violator", "violator", "violent", "violently", "viper", "virulence", "virulent",
                "virulently", "virus", "virus", "vocally", "vociferous", "vociferously", "void", "volatile",
                "volatility", "vomit", "vulgar", "waning", "waning", "wanton", "war", "war", "war-like", "war-like",
                "warfare", "warlike", "warning", "warning", "warped", "wary", "warily", "wariness", "waste",
                "wasteful", "wastefulness", "watchdog", "watchdog", "wayward", "weak", "weakening", "weakening",
                "weakness", "weakness", "weaknesses", "weaknesses", "weariness", "wearisome", "weary", "weary",
                "wedge", "wedge", "wee", "weed", "weird", "weird", "weirdly", "whips", "whips", "wicked",
                "wickedly", "wickedness", "widespread", "wild", "wildly", "wiles", "wily", "withheld", "withhold",
                "woe", "woebegone", "woeful", "woefully", "worn", "worried", "worriedly", "worrier", "worries",
                "worries", "worrisome", "worry", "worry", "worryingly", "worse", "worst", "worthless",
                "worthlessly", "worthlessness", "wound", "wound", "wounds", "wounds", "wreck", "wrath", "wretch",
                "wretched", "wretchedly", "wretchedness", "wrong", "wrongful", "wrought", "wrought", "yawn",
                "zealot", "zealous", "zealously" };
        private static final long byteBucketSize = 1800000;

        private static final Pattern sTweetPattern = Pattern.compile("^@.+");
        private static final Pattern sTweetPrefixPattern = Pattern.compile("@\\w+");

        private HashSet<String> positiveWords;
        private HashSet<String> negativeWords;

        @Override
        public void setup(Context context) throws IOException, InterruptedException {
            positiveWords = new HashSet<String>();
            for (int i = 0; i < positiveWordsArray.length; i++) {
                positiveWords.add(positiveWordsArray[i]);
            }

            negativeWords = new HashSet<String>();
            for (int i = 0; i < negativeWordsArray.length; i++) {
                negativeWords.add(negativeWordsArray[i]);
            }
        }

        @Override
        public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
            String line = value.toString();

            // if it does not start with @ is not a tweet
            if (!sTweetPattern.matcher(line).matches()) {
                return;
            }

            // if it is a tweet, remove names 
            Matcher matcher = sTweetPrefixPattern.matcher(line);
            if (matcher.find()) {
                matcher.replaceAll("");
            } else {
                // did not identify format      
                return;
            }

            // tokenize and look for positive and negative words. Emit the tweet score.
            String[] tokens = line.split("[\\W_\\d]+");
            long positiveScore = 0;
            long negativeScore = 0;
            for (int i = 0; i < tokens.length; i++) {
                String token = tokens[i].toLowerCase();

                if (positiveWords.contains(token)) {
                    positiveScore += 1;
                } else if (negativeWords.contains(token)) {
                    negativeScore += 1;
                }
            }
            positiveWordCount.set(positiveScore);
            negativeWordCount.set(negativeScore);
            output.set(new Writable[] { positiveWordCount, negativeWordCount });

            // now choose the timestamp bucket to put this score
            timestamp.set((int) (key.get() / byteBucketSize));

            context.write(timestamp, output);
        }
    }

    public static class Combine extends Reducer<IntWritable, LongArrayWritable, IntWritable, LongArrayWritable> {
        private LongWritable positiveWordCount = new LongWritable();
        private LongWritable negativeWordCount = new LongWritable();
        private LongArrayWritable output = new LongArrayWritable();

        @Override
        public void reduce(IntWritable key, Iterable<LongArrayWritable> values, Context context)
                throws IOException, InterruptedException {
            long positive = 0;
            long negative = 0;
            Iterator<LongArrayWritable> it = values.iterator();
            while (it.hasNext()) {
                LongArrayWritable current = it.next();
                positive += ((LongWritable) current.get()[0]).get();
                negative += ((LongWritable) current.get()[1]).get();
            }

            positiveWordCount.set(positive);
            negativeWordCount.set(negative);
            output.set(new Writable[] { positiveWordCount, negativeWordCount });

            context.write(key, output);
        }
    }

    public static class Reduce extends Reducer<IntWritable, LongArrayWritable, IntWritable, DoubleWritable> {
        private DoubleWritable sentiment = new DoubleWritable();

        @Override
        public void reduce(IntWritable key, Iterable<LongArrayWritable> values, Context context)
                throws IOException, InterruptedException {
            long positive = 0;
            long negative = 0;
            Iterator<LongArrayWritable> it = values.iterator();
            while (it.hasNext()) {
                LongArrayWritable current = it.next();
                positive += ((LongWritable) current.get()[0]).get();
                negative += ((LongWritable) current.get()[1]).get();
            }

            sentiment.set(((double) (positive - negative)) / (positive + negative));

            context.write(key, sentiment);
        }
    }

    public static void main(String[] args) throws Exception {
        Configuration conf = new Configuration();
        Job job = Job.getInstance(conf, "sentiment");

        job.setJarByClass(Sentiment.class);
        job.setMapperClass(Map.class);
        job.setCombinerClass(Combine.class);
        job.setReducerClass(Reduce.class);
        job.setMapOutputKeyClass(IntWritable.class);
        job.setMapOutputValueClass(LongArrayWritable.class);
        job.setOutputKeyClass(IntWritable.class);
        job.setOutputValueClass(DoubleWritable.class);

        FileInputFormat.addInputPath(job, new Path(args[0]));
        FileOutputFormat.setOutputPath(job, new Path(args[1]));
        System.exit(job.waitForCompletion(true) ? 0 : 1);
    }
}