├── .gitignore ├── README.md ├── main.py ├── requirements.txt ├── setup.py └── textrank ├── __init__.py ├── articles ├── 1.txt ├── 10.txt ├── 2.txt ├── 3.txt ├── 4.txt ├── 5.txt ├── 6.txt ├── 7.txt ├── 8.txt └── 9.txt ├── keywords ├── 1.txt ├── 10.txt ├── 2.txt ├── 3.txt ├── 4.txt ├── 5.txt ├── 6.txt ├── 7.txt ├── 8.txt └── 9.txt └── summaries ├── 1.txt ├── 10.txt ├── 2.txt ├── 3.txt ├── 4.txt ├── 5.txt ├── 6.txt ├── 7.txt ├── 8.txt └── 9.txt /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__/ 2 | .DS_Store 3 | env/ 4 | *.pyc 5 | *.egg-info/ 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## TextRank 2 | This is a python implementation of TextRank for automatic keyword and sentence extraction (summarization) as done in https://web.eecs.umich.edu/~mihalcea/papers/mihalcea.emnlp04.pdf. However, this implementation uses Levenshtein Distance as the relation between text units. 3 | 4 | This implementation carries out automatic keyword and sentence extraction on 10 articles gotten from http://theonion.com 5 | 6 | - 100 word summary 7 | - Number of keywords extracted is relative to the size of the text (a third of the number of nodes in the graph) 8 | - Adjacent keywords in the text are concatenated into keyphrases 9 | 10 | ### Usage 11 | To install the library run the `setup.py` module located in the repository's root directory. Alternatively, if you have access to pip you may install the library directly from github: 12 | 13 | ``` 14 | pip install git+https://github.com/davidadamojr/TextRank.git 15 | ``` 16 | 17 | Use of the library requires downloading nltk resources. Use the `textrank initialize` command to fetch the required data. Once the data has finished downloading you may execute the following commands against the library: 18 | 19 | ``` 20 | textrank extract_summary 21 | textrank extract_phrases 22 | ``` 23 | 24 | ### Contributing 25 | Install the library as "editable" within a virtual environment. 26 | 27 | ``` 28 | pip install -e . 29 | ``` 30 | 31 | 32 | ### Dependencies 33 | Dependencies are installed automatically with pip but can be installed serparately. 34 | 35 | * Networkx - https://pypi.python.org/pypi/networkx/ 36 | * NLTK 3.0 - https://pypi.python.org/pypi/nltk/3.2.2 37 | * Numpy - https://pypi.python.org/pypi/numpy 38 | * Click - https://pypi.python.org/pypi/click 39 | 40 | 41 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import click 2 | import textrank 3 | 4 | 5 | @click.group() 6 | def cli(): 7 | pass 8 | 9 | 10 | @cli.command() 11 | def initialize(): 12 | """Download required nltk libraries.""" 13 | textrank.setup_environment() 14 | 15 | 16 | @cli.command() 17 | @click.argument('filename') 18 | def extract_summary(filename): 19 | """Print summary text to stdout.""" 20 | with open(filename) as f: 21 | summary = textrank.extract_sentences(f.read()) 22 | print(summary) 23 | 24 | 25 | @cli.command() 26 | @click.argument('filename') 27 | def extract_phrases(filename): 28 | """Print key-phrases to stdout.""" 29 | with open(filename) as f: 30 | phrases = textrank.extract_key_phrases(f.read()) 31 | print(phrases) 32 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | click>=6.6 2 | networkx>=1.11 3 | nltk>=3.2.1 4 | numpy>=1.11.2 5 | editdistance==0.4 6 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import find_packages, setup 2 | 3 | 4 | setup( 5 | name='textrank', 6 | py_modules=['textrank', 'main'], 7 | version='0.1.0', 8 | description='TextRank implementation in Python', 9 | author='Unknown', 10 | author_email='', 11 | url='http://github.com/suminb/textrank', 12 | install_requires=['networkx>=1.11.0', 'nltk>=3.2.1', 'numpy>=1.11.2', 'click>=6.6', 'editdistance==0.4'], 13 | packages=find_packages(), 14 | entry_points=''' 15 | [console_scripts] 16 | textrank=main:cli 17 | ''', 18 | ) 19 | -------------------------------------------------------------------------------- /textrank/__init__.py: -------------------------------------------------------------------------------- 1 | """Python implementation of the TextRank algoritm. 2 | 3 | From this paper: 4 | https://web.eecs.umich.edu/~mihalcea/papers/mihalcea.emnlp04.pdf 5 | 6 | Based on: 7 | https://gist.github.com/voidfiles/1646117 8 | https://github.com/davidadamojr/TextRank 9 | """ 10 | import editdistance 11 | import io 12 | import itertools 13 | import networkx as nx 14 | import nltk 15 | import os 16 | 17 | 18 | def setup_environment(): 19 | """Download required resources.""" 20 | nltk.download('punkt') 21 | nltk.download('averaged_perceptron_tagger') 22 | print('Completed resource downloads.') 23 | 24 | 25 | def filter_for_tags(tagged, tags=['NN', 'JJ', 'NNP']): 26 | """Apply syntactic filters based on POS tags.""" 27 | return [item for item in tagged if item[1] in tags] 28 | 29 | 30 | def normalize(tagged): 31 | """Return a list of tuples with the first item's periods removed.""" 32 | return [(item[0].replace('.', ''), item[1]) for item in tagged] 33 | 34 | 35 | def unique_everseen(iterable, key=None): 36 | """List unique elements in order of appearance. 37 | 38 | Examples: 39 | unique_everseen('AAAABBBCCDAABBB') --> A B C D 40 | unique_everseen('ABBCcAD', str.lower) --> A B C D 41 | """ 42 | seen = set() 43 | seen_add = seen.add 44 | if key is None: 45 | def key(x): return x 46 | for element in iterable: 47 | k = key(element) 48 | if k not in seen: 49 | seen_add(k) 50 | yield element 51 | 52 | 53 | def build_graph(nodes): 54 | """Return a networkx graph instance. 55 | 56 | :param nodes: List of hashables that represent the nodes of a graph. 57 | """ 58 | gr = nx.Graph() # initialize an undirected graph 59 | gr.add_nodes_from(nodes) 60 | nodePairs = list(itertools.combinations(nodes, 2)) 61 | 62 | # add edges to the graph (weighted by Levenshtein distance) 63 | for pair in nodePairs: 64 | firstString = pair[0] 65 | secondString = pair[1] 66 | levDistance = editdistance.eval(firstString, secondString) 67 | gr.add_edge(firstString, secondString, weight=levDistance) 68 | 69 | return gr 70 | 71 | 72 | def extract_key_phrases(text): 73 | """Return a set of key phrases. 74 | 75 | :param text: A string. 76 | """ 77 | # tokenize the text using nltk 78 | word_tokens = nltk.word_tokenize(text) 79 | 80 | # assign POS tags to the words in the text 81 | tagged = nltk.pos_tag(word_tokens) 82 | textlist = [x[0] for x in tagged] 83 | 84 | tagged = filter_for_tags(tagged) 85 | tagged = normalize(tagged) 86 | 87 | unique_word_set = unique_everseen([x[0] for x in tagged]) 88 | word_set_list = list(unique_word_set) 89 | 90 | # this will be used to determine adjacent words in order to construct 91 | # keyphrases with two words 92 | 93 | graph = build_graph(word_set_list) 94 | 95 | # pageRank - initial value of 1.0, error tolerance of 0,0001, 96 | calculated_page_rank = nx.pagerank(graph, weight='weight') 97 | 98 | # most important words in ascending order of importance 99 | keyphrases = sorted(calculated_page_rank, key=calculated_page_rank.get, 100 | reverse=True) 101 | 102 | # the number of keyphrases returned will be relative to the size of the 103 | # text (a third of the number of vertices) 104 | one_third = len(word_set_list) // 3 105 | keyphrases = keyphrases[0:one_third + 1] 106 | 107 | # take keyphrases with multiple words into consideration as done in the 108 | # paper - if two words are adjacent in the text and are selected as 109 | # keywords, join them together 110 | modified_key_phrases = set([]) 111 | 112 | i = 0 113 | while i < len(textlist): 114 | w = textlist[i] 115 | if w in keyphrases: 116 | phrase_ws = [w] 117 | i += 1 118 | while i < len(textlist) and textlist[i] in keyphrases: 119 | phrase_ws.append(textlist[i]) 120 | i += 1 121 | 122 | phrase = ' '.join(phrase_ws) 123 | if phrase not in modified_key_phrases: 124 | modified_key_phrases.add(phrase) 125 | else: 126 | i += 1 127 | 128 | return modified_key_phrases 129 | 130 | 131 | def extract_sentences(text, summary_length=100, clean_sentences=False, language='english'): 132 | """Return a paragraph formatted summary of the source text. 133 | 134 | :param text: A string. 135 | """ 136 | sent_detector = nltk.data.load('tokenizers/punkt/'+language+'.pickle') 137 | sentence_tokens = sent_detector.tokenize(text.strip()) 138 | graph = build_graph(sentence_tokens) 139 | 140 | calculated_page_rank = nx.pagerank(graph, weight='weight') 141 | 142 | # most important sentences in ascending order of importance 143 | sentences = sorted(calculated_page_rank, key=calculated_page_rank.get, 144 | reverse=True) 145 | 146 | # return a 100 word summary 147 | summary = ' '.join(sentences) 148 | summary_words = summary.split() 149 | summary_words = summary_words[0:summary_length] 150 | dot_indices = [idx for idx, word in enumerate(summary_words) if word.find('.') != -1] 151 | if clean_sentences and dot_indices: 152 | last_dot = max(dot_indices) + 1 153 | summary = ' '.join(summary_words[0:last_dot]) 154 | else: 155 | summary = ' '.join(summary_words) 156 | 157 | return summary 158 | 159 | 160 | def write_files(summary, key_phrases, filename): 161 | """Write key phrases and summaries to a file.""" 162 | print("Generating output to " + 'keywords/' + filename) 163 | key_phrase_file = io.open('keywords/' + filename, 'w') 164 | for key_phrase in key_phrases: 165 | key_phrase_file.write(key_phrase + '\n') 166 | key_phrase_file.close() 167 | 168 | print("Generating output to " + 'summaries/' + filename) 169 | summary_file = io.open('summaries/' + filename, 'w') 170 | summary_file.write(summary) 171 | summary_file.close() 172 | 173 | print("-") 174 | 175 | 176 | def summarize_all(): 177 | # retrieve each of the articles 178 | articles = os.listdir("articles") 179 | for article in articles: 180 | print('Reading articles/' + article) 181 | article_file = io.open('articles/' + article, 'r') 182 | text = article_file.read() 183 | keyphrases = extract_key_phrases(text) 184 | summary = extract_sentences(text) 185 | write_files(summary, keyphrases, article) 186 | -------------------------------------------------------------------------------- /textrank/articles/1.txt: -------------------------------------------------------------------------------- 1 | LINCOLNSHIRE, IL With next-generation video game systems such as the Xbox One and the Playstation 4 hitting stores later this month, the console wars got even hotter today as electronics manufacturer Zenith announced the release of its own console, the Gamespace Pro, which arrives in stores Nov. 19. “With its sleek silver-and-gray box, double-analog-stick controllers, ability to play CDs, and starting price of $374.99, the Gamespace Pro is our way of saying, ‘Move over, Sony and Microsoft, Zenith is now officially a player in the console game,’” said Zenith CEO Michael Ahn at a Gamespace Pro press event, showcasing the system’s launch titles MoonChaser: Radiation, Cris Collinsworth’s Pigskin 2013, and survival-horror thriller InZomnia. “With over nine launch titles, 3D graphics, and the ability to log on to the internet using our Z-Connect technology, Zenith is finally poised to make some big waves in the video game world.” According to Zenith representatives, over 650 units have already been preordered. -------------------------------------------------------------------------------- /textrank/articles/10.txt: -------------------------------------------------------------------------------- 1 | WASHINGTON In an announcement that could forever change the way scientists study the hydrogen-based star, NASA researchers published a comprehensive study today theorizing that the sun may be capable of supporting fire-based lifeforms. “After extensive research, we have reason to believe that the sun may be habitable for fire-based life, including primitive single-flame microbes and more complex ember-like organisms capable of thriving under all manner of burning conditions,” lead investigator Dr. Steven T. Aukerman wrote, noting that the sun’s helium-rich surface of highly charged particles provides the perfect food source for fire-based lifeforms. “With a surface temperature of 10,000 degrees Fahrenheit and frequent eruptions of ionized gases flowing along strong magnetic fields, the sun is the first star we’ve seen with the right conditions to support fire organisms, and we believe there is evidence to support the theory that fire-bacteria, fire-insects, and even tiny fire-fish were once perhaps populous on the sun’s surface.” Scientists cautioned that despite the exciting possibilities of fire-life on the star, there are numerous logistical, moral, and ethical questions to resolve before scientists could even begin to entertain the possibility of putting fire-people on the sun. -------------------------------------------------------------------------------- /textrank/articles/2.txt: -------------------------------------------------------------------------------- 1 | BOSTON Calling itself “just a catalyst, nothing more,” humbled enzyme α-amylase confirmed Monday that while its contributions to a recent biochemical reaction significantly sped up the breakdown of starch into maltose, the formation of the disaccharide was, overall, a team effort. “All I did was lower the activation energy required for the reaction to take place, but if I don’t have an amazing substrate like starch to act upon, there is no reaction, period,” said the modest catabolic enzyme, adding that it’s easy to forget about the calcium ion, chloride ion, and the 496 amino-acid residues that all need to come together to make this biomolecule possible. “Say the pH isn’t slightly acidic, or say there is just one less carbon atom. Are we left with a simple sugar that can be used as an immediate energy source? Absolutely not. You need teamwork for that, and thankfully, that’s what we had today.” The reserved molecule added that, when it comes down to it, every atomic particle down to the very last electron owes the successful creation of maltose to a working pancreas. -------------------------------------------------------------------------------- /textrank/articles/3.txt: -------------------------------------------------------------------------------- 1 | NEW YORK Addressing the show’s legions of passionate fans, HBO executives officially announced Friday that the hit series Game Of Thrones will not be returning for its highly anticipated fourth season this weekend. “For those who have been patiently waiting to find out when the exciting war for the Iron Throne will be coming back, the wait is over—we will not be airing a brand-new episode of the show on Sunday,” said HBO’s president of programming Michael Lombardo, confirming that, if viewers turn on their television Sunday night and tune it to HBO, the popular adaptation of George R.R. Martin’s A Song Of Ice And Fire fantasy novels would not be on. “I would also like to announce that the thrilling new season premiere of Game Of Thrones will not be on next weekend either. Or the weekend after that. Goodbye.” Lombardo did confirm, however, that the award-winning series The Newsroom would be returning this Sunday with three new episodes. -------------------------------------------------------------------------------- /textrank/articles/4.txt: -------------------------------------------------------------------------------- 1 | OAK RIDGE, TN Snack physicists at Nabisco Labs announced Friday the first successful synthesis of a Quadriscuit cracker, a salty treat long postulated by the theoretical models of food scientists but never confirmed by experiment until now. “At the moment, this hyperwafer can only exist for six milliseconds in a precisely calibrated field of magnetic energy, positrons, roasted garlic, and beta particles,” lab chief Dr. Paul Ellison told reporters at a press conference outside Nabisco’s $200 million seven-whole-grain accelerator. “However, by bombarding the cracker with neutrons until it reaches critical levels of zestiness and crunchability, we believe we can one day develop a chemically stable and edible Quadriscuit. Needless to say, such an irresistibly tasty breakthrough could upend everything we thought we knew about snacking.” Ellison added that the snack’s existence cannot be explained by classical Fig Newtonian physics. -------------------------------------------------------------------------------- /textrank/articles/5.txt: -------------------------------------------------------------------------------- 1 | WASHINGTON Calling it the next great milestone in mankind’s journey into outer space, NASA officials boldly declared in a press conference Friday that a mass shooting would occur on the moon no later than 2055.The panel of NASA administrators and scientists said that, given the current rate of progress in research and development, the space agency was on track to place a deranged gun-toting madman on the moon by the middle of this century, with officials expressing confidence that a double-digit body count on the lunar surface would be a reality within the majority of Americans’ lifetimes.“While such a feat may have seemed inconceivable just 10 years ago, it is our belief that a cold-blooded shooting rampage on the moon is no longer a fantasy,” said administrator Charles Bolden from NASA’s headquarters, unveiling the agency’s four-decade plan to construct a lunar colony capable of sustaining a human society against which a lone gunman would feel a psychotic compulsion to lash out. “Indeed, with enough funding, ingenuity, and America’s pioneering spirit, we can ensure that a shocking act of unspeakable horror will claim the lives of dozens of innocent, unsuspecting lunar colonists by 2055.”“So when you look upon the moon at night, do so with the knowledge that one day in the not too distant future a man will walk out upon the lunar surface and take those first unforgettable gunshots at his fellow residents and thereby shatter the innocence of an entire moon colony forever,” Bolden continued. “I can assure you that it is not a matter of if, but when.”According to Bolden, by 2045 NASA plans to begin sending residents to inhabit pressurized lunar housing pods on the Mare Tranquillitatis and the Ptolemaeus crater. By 2047, Bolden said, the colony’s paranoid and unhinged members should begin stewing over their perceived persecution, authoring barely comprehensible manifestos, and amassing massive stockpiles of ammunition.NASA officials also laid out long-term plans to grow their initial settlement by constructing universities, office buildings, places of worship, and shopping centers across the lunar surface, any one of which, they noted, could serve as both the blood-spattered, body-strewn location of the moon’s first grisly shooting rampage as well as the eventual memorial site for those lost.Bolden noted, however, that the space agency expects to attain a number of intermediate benchmarks before the mass lunar shooting. According to projections, researchers anticipate the first workplace shooting aboard the International Space Station within the next 10 years. Additionally, Bolden stated that NASA expects its first zero-gravity murder-suicide by 2035, with researchers predicting the first armed orbital standoff will end with a botched, bloody raid by authorities just several years thereafter.“2055 is certainly an ambitious target date, but we believe that with dedication and hard work, we can ensure that a deeply troubled young man bursts through a lunar airlock and begins firing indiscriminately at men, women, and children before placing the gun to his own space helmet and taking his own life,” said Project Manager Scott Robles before cautioning that it will take decades to create a lunar society with the proper substandard mental health system to overlook the clear red flags coming from the future mass murderer. “Moving from our current situation, in which we have no permanent presence on the moon, to one in which panicked moon residents gather outside the grisly scene and make frantic, teary-eyed phone calls to determine if their loved ones are among the dead simply won’t happen overnight. But I know this country has what it takes to make this bold vision a reality.”Provided that NASA is able to adhere to its timeline, Robles estimated that the 2055 mass shooting would usher in a wave of smaller landmarks, including the moon’s first candlelight vigil, the first presidential visit to comfort grieving space colonists, and the first emergency lockdown and escape-pod drill at the lunar high school.In addition, Robles added that, following the gruesome tragedy, the moon colony would be on track to hold its first entirely futile and ineffective effort to impose gun control laws in 2056.In his closing remarks, NASA administrator Bolden offered a stirring vision to reporters, declaring that the mass shooting on the moon was not an end in itself, but rather represented “just the beginning” of countless horrific and senseless public massacres in outer space.“We believe that the 2055 shooting will be just the first of many such horrendous acts that will help prepare American space colonists for eventual mass shootings on Mars, on Jupiter’s moon Europa, and on future deep-space voyages to worlds unknown,” Bolden said. “Rest assured that wherever this great country ventures in our solar system and beyond, this time-honored tradition will always come along with us. -------------------------------------------------------------------------------- /textrank/articles/6.txt: -------------------------------------------------------------------------------- 1 | WASHINGTON In a landmark report experts say fundamentally reshapes our understanding of the global warming crisis, new data published this week by the Intergovernmental Panel on Climate Change has found that the phenomenon is caused primarily by the actions of 7 billion key individuals.These several billion individuals, who IPCC officials confirmed are currently operating in 195 countries worldwide, are together responsible for what experts called the “lion’s share” of the devastating consequences of global warming affecting the entire planet.“Our research has proved conclusively that, year after year, the acceleration of the rate of global warming and the damage caused by this man-made acceleration can be clearly linked to 7 billion main culprits,” explained lead author Dr. John Bartlett, noting that many of these individuals have links to climate change going back nearly a century. “Worse, the significant majority of damage was done within the past two decades, when the consequences of climate change were widely known and yet these specific individuals did nothing to curb or amend their practices.”“Now that we’ve done the hard work of identifying the key players responsible for this crisis, we can move forward with holding them accountable,” Bartlett added. “And it is my opinion that we need to regulate these individuals swiftly and decisively before they do any more damage.”According to policy analysts, urgent regulation is needed in order to monitor and govern the behavior of these targeted individuals, who experts say collectively commit as much as 100 percent of violations to the environment each year.Researchers have isolated numerous instances of environmentally harmful activity committed by these 7 billion perpetrators in the past few decades alone, identifying practices such as using electric lights, shipping packages, traveling by car, traveling by air, buying clothes, washing clothes, using heat, using air conditioning, buying food, buying water, eating meat, commuting to work, shopping, exercising at the gym, disposing of waste, operating computers, operating televisions, operating other household electronic appliances, and showering—alarming activities that experts say show no signs of remitting.In addition, IPCC officials confirmed that billions of pounds per year in waste products can be traced to these 7 billion individuals alone.“We’re actually looking at a situation where a select group of individuals—7,125,985,886 of them, to be exact—are singlehandedly responsible for global warming and are refusing to do anything about it,” author and activist Dan Cregmann told reporters, noting that these culprits have a horrible track record of following recommended environmental guidelines and disclosing their total energy consumption. “Many of these offenders have of course pledged goals for fighting climate change and going green in their daily operations, but statistics show these proclamations have been largely ineffective and halfhearted at best.”At press time, IPCC officials confirmed that, since their report was released this morning, 153,007 more individuals had been added to the list of top contributors to global warming. -------------------------------------------------------------------------------- /textrank/articles/7.txt: -------------------------------------------------------------------------------- 1 | BOSTON According to a new study published in The New England Journal Of Medicine this week, human beings were never meant to wake up after falling asleep, but were rather supposed to remain in a deep, peaceful slumber until eventually expiring. “Our research team of evolutionary biologists conducted an extensive and thorough examination of human physiology, past and present, and determined that human beings were, in their ideal state, supposed to be born, spend a solid 12 hours awake as an infant, and then lie down for a tranquil, dream-filled sleep from which they would then not awaken,”lead researcher Dennis Zeveloff said of the findings, which also suggest that life for early man was not supposed to last longer than one day. “Eventually, after spending three or four weeks lying comfortably in bed, humans were meant to just slide directly into death. In fact, the truly optimal state toward which human evolution aspired was for all individuals to succumb to Sudden Infant Death Syndrome almost instantly after exiting the womb.” The study concluded that, based on these findings, coma patients should be considered among the most highly evolved humans on the planet. -------------------------------------------------------------------------------- /textrank/articles/8.txt: -------------------------------------------------------------------------------- 1 | FAIRFAX, VA In the wake of Monday’s tragic Nevada school shooting in which a 12-year-old student killed a teacher and wounded two classmates, representatives from the National Rifle Association pushed for all teachers around the country to keep a loaded gun pointed at their classes throughout the school day. “The only way to ensure safety in our schools is to make sure teachers hold fully loaded firearms at students from the moment they walk into the classroom until the moment they leave,” said NRA Executive Vice President Wayne LaPierre, explaining that educators should, at the very least, point one 9mm semiautomatic pistol at the class while also keeping a concealed .357 magnum revolver and several spare cartridges of ammo nearby at all times. “If teachers need to write on the board or turn the page of a textbook, they should always use their free hand while keeping the gun at face level of all students and holding one finger firmly on the trigger. Frankly, this is just common sense if we want to prevent these tragedies like Nevada from happening again in the future.” LaPierre added that for maximum security, teachers should give all lessons from underneath their desks while blindly firing a semiautomatic M4 carbine assault rifle in all directions. -------------------------------------------------------------------------------- /textrank/articles/9.txt: -------------------------------------------------------------------------------- 1 | FORT COLLINS, CO Claiming that it is the humane thing to do, and that the planet is “just going to suffer” if kept alive any longer, members of the world’s scientific community recommended today that Earth be put down.“We realize this isn’t the easiest thing to hear, but we’ve run a number of tests and unfortunately there’s really nothing more we can do for Earth at this point,” said leading climatologist Dr. Robert Wyche of Colorado State University’s Department of Atmospheric Science. “Earth’s ecosystems have hung in there for a while, and you have to hand it to the old gal for staying alive this long, but at this point the chances of a recovery are, I’m sorry to say, incredibly unlikely. It might be time to say goodbye.”“Earth is in a lot of pain, folks,” Wyche continued. “Time to think about sending it off peacefully, for its own sake.”While admitting that the prospect of saying goodbye to the terrestrial planet is very difficult, Wyche explained to reporters that letting nature take its course would only prolong the inevitable. Wyche also stressed that if Earth is not put down, humanity would ultimately be responsible for its continuing care, which would be “increasingly difficult as time goes on.”Scientists reportedly also made several heartfelt assurances that the procedure would be quick and virtually painless.“We understand that you’ve all become very attached to Earth over the years, and it’s hard to let go of something you love like this, but the fact is that no matter what, it simply won’t be able to keep going for much longer,” said Wyche, adding that there would be no guarantees regarding Earth’s already substandard quality of life if it is not put down in the immediate future. “Look, at the end of the day, Earth is 4.5 billion years old and had a great life. The last thing you want to do is wait and draw this difficult ordeal out any further.”“Granted, this is a very tough decision, so if you need more time to think about it or discuss it amongst yourselves, that’s totally understandable,” Wyche added. “But just be aware that the longer you wait, the more pain Earth will ultimately endure.”Reportedly sensing some hesitancy on the part of humanity, Wyche then reiterated that very little can be done to prevent or counteract the myriad of maladies currently plaguing Earth, and that putting down the planet would in fact be the caring thing to do at this juncture.“To be honest, there is a chance that had we taken more drastic steps earlier, Earth would have been able to survive for longer—much, much longer, even,” Wyche said. “But unfortunately, that is now a moot point. Right now, you should just cherish the good times you and Earth had together and give it a gentle and merciful send-off.”“It’s your choice, though,” Wyche added. “So, you know, take your time.”At press time, scientists had given humanity a few private moments to say goodbye before finally putting Earth out of its misery. -------------------------------------------------------------------------------- /textrank/keywords/1.txt: -------------------------------------------------------------------------------- 1 | Playstation 2 | survival-horror thriller 3 | MoonChaser 4 | Collinsworth’s 5 | Radiation 6 | Microsoft 7 | double-analog-stick 8 | silver-and-gray 9 | Z-Connect technology 10 | LINCOLNSHIRE 11 | next-generation 12 | system’s 13 | Gamespace 14 | manufacturer 15 | -------------------------------------------------------------------------------- /textrank/keywords/10.txt: -------------------------------------------------------------------------------- 1 | announcement 2 | helium-rich 3 | temperature 4 | investigator 5 | “After 6 | comprehensive 7 | primitive single-flame 8 | fire-bacteria 9 | possibility 10 | logistical 11 | Fahrenheit 12 | hydrogen-based 13 | ember-like 14 | habitable 15 | populous 16 | WASHINGTON 17 | fire-people 18 | Scientists 19 | supporting fire-based 20 | -------------------------------------------------------------------------------- /textrank/keywords/2.txt: -------------------------------------------------------------------------------- 1 | breakdown 2 | substrate 3 | disaccharide 4 | biomolecule 5 | amino-acid 6 | teamwork 7 | Absolutely 8 | activation 9 | immediate 10 | BOSTON 11 | α-amylase 12 | successful 13 | electron 14 | that’s 15 | formation 16 | catalyst 17 | isn’t 18 | biochemical 19 | chloride 20 | catabolic 21 | -------------------------------------------------------------------------------- /textrank/keywords/3.txt: -------------------------------------------------------------------------------- 1 | Addressing 2 | NEW 3 | thrilling 4 | over—we 5 | exciting 6 | Newsroom 7 | television 8 | popular adaptation 9 | Michael Lombardo 10 | brand-new 11 | show’s 12 | HBO’s president 13 | award-winning 14 | Martin’s 15 | passionate 16 | programming Michael 17 | -------------------------------------------------------------------------------- /textrank/keywords/4.txt: -------------------------------------------------------------------------------- 1 | conference 2 | successful synthesis 3 | “However 4 | classical 5 | Nabisco’s 6 | Newtonian 7 | theoretical 8 | everything 9 | experiment 10 | seven-whole-grain 11 | existence 12 | hyperwafer 13 | bombarding 14 | Quadriscuit 15 | crunchability 16 | zestiness 17 | -------------------------------------------------------------------------------- /textrank/keywords/5.txt: -------------------------------------------------------------------------------- 1 | Tranquillitatis 2 | constructing 3 | ingenuity 4 | “Moving 5 | innocence 6 | countless horrific 7 | dedication 8 | sustaining 9 | “Indeed 10 | International 11 | settlement 12 | moon’s 13 | America’s pioneering 14 | unforgettable 15 | conference 16 | gun-toting 17 | body-strewn 18 | knowledge 19 | candlelight 20 | deep-space 21 | senseless 22 | cold-blooded 23 | intermediate 24 | Additionally 25 | teary-eyed 26 | comprehensible 27 | beginning” 28 | mankind’s 29 | development 30 | administrator 31 | ambitious 32 | NASA’s 33 | confidence 34 | psychotic compulsion 35 | According 36 | blood-spattered 37 | permanent 38 | milestone 39 | persecution 40 | WASHINGTON 41 | inconceivable 42 | horrendous 43 | escape-pod 44 | presidential 45 | time-honored tradition 46 | zero-gravity murder-suicide 47 | Americans’ 48 | double-digit 49 | Ptolemaeus 50 | emergency lockdown 51 | ineffective 52 | workplace 53 | colony’s 54 | long-term 55 | situation 56 | substandard 57 | agency’s four-decade 58 | unspeakable 59 | standoff 60 | -------------------------------------------------------------------------------- /textrank/keywords/6.txt: -------------------------------------------------------------------------------- 1 | phenomenon 2 | household electronic 3 | “Worse 4 | showering—alarming 5 | acceleration 6 | addition 7 | responsible 8 | individuals—7,125,985,886 9 | environment 10 | regulation 11 | activist 12 | horrible 13 | Bartlett 14 | numerous 15 | “lion’s share” 16 | ineffective 17 | understanding 18 | environmental 19 | operating 20 | significant 21 | WASHINGTON 22 | exact—are 23 | devastating 24 | specific 25 | accountable 26 | man-made acceleration 27 | activity 28 | landmark 29 | situation 30 | Intergovernmental 31 | -------------------------------------------------------------------------------- /textrank/keywords/7.txt: -------------------------------------------------------------------------------- 1 | evolution 2 | evolutionary 3 | Syndrome 4 | dream-filled 5 | Zeveloff 6 | researcher 7 | Journal 8 | tranquil 9 | research 10 | spending 11 | examination 12 | peaceful 13 | Medicine 14 | optimal 15 | extensive 16 | BOSTON 17 | physiology 18 | -------------------------------------------------------------------------------- /textrank/keywords/8.txt: -------------------------------------------------------------------------------- 1 | classroom 2 | assault 3 | Frankly 4 | LaPierre 5 | country 6 | National 7 | Executive 8 | 12-year-old 9 | semiautomatic 10 | revolver 11 | underneath 12 | FAIRFAX 13 | textbook 14 | concealed 15 | Monday’s 16 | President 17 | maximum security 18 | Association 19 | -------------------------------------------------------------------------------- /textrank/keywords/9.txt: -------------------------------------------------------------------------------- 1 | prospect 2 | suffer” 3 | heartfelt 4 | Claiming 5 | something 6 | terrestrial 7 | FORT 8 | recovery 9 | there’s 10 | decision 11 | responsible 12 | merciful 13 | humanity 14 | difficult 15 | climatologist 16 | Atmospheric 17 | admitting 18 | understand 19 | immediate 20 | hesitancy 21 | world’s scientific 22 | “Look 23 | Colorado 24 | “Earth’s 25 | University’s Department 26 | scientific community 27 | that’s 28 | understandable 29 | procedure 30 | -------------------------------------------------------------------------------- /textrank/summaries/1.txt: -------------------------------------------------------------------------------- 1 | “With its sleek silver-and-gray box, double-analog-stick controllers, ability to play CDs, and starting price of $374.99, the Gamespace Pro is our way of saying, ‘Move over, Sony and Microsoft, Zenith is now officially a player in the console game,’” said Zenith CEO Michael Ahn at a Gamespace Pro press event, showcasing the system’s launch titles MoonChaser: Radiation, Cris Collinsworth’s Pigskin 2013, and survival-horror thriller InZomnia. LINCOLNSHIRE, IL With next-generation video game systems such as the Xbox One and the Playstation 4 hitting stores later this month, the console wars got even hotter today as electronics manufacturer Zenith announced the release of -------------------------------------------------------------------------------- /textrank/summaries/10.txt: -------------------------------------------------------------------------------- 1 | “With a surface temperature of 10,000 degrees Fahrenheit and frequent eruptions of ionized gases flowing along strong magnetic fields, the sun is the first star we’ve seen with the right conditions to support fire organisms, and we believe there is evidence to support the theory that fire-bacteria, fire-insects, and even tiny fire-fish were once perhaps populous on the sun’s surface.” Scientists cautioned that despite the exciting possibilities of fire-life on the star, there are numerous logistical, moral, and ethical questions to resolve before scientists could even begin to entertain the possibility of putting fire-people on the sun. WASHINGTON In an announcement -------------------------------------------------------------------------------- /textrank/summaries/2.txt: -------------------------------------------------------------------------------- 1 | “All I did was lower the activation energy required for the reaction to take place, but if I don’t have an amazing substrate like starch to act upon, there is no reaction, period,” said the modest catabolic enzyme, adding that it’s easy to forget about the calcium ion, chloride ion, and the 496 amino-acid residues that all need to come together to make this biomolecule possible. BOSTON Calling itself “just a catalyst, nothing more,” humbled enzyme α-amylase confirmed Monday that while its contributions to a recent biochemical reaction significantly sped up the breakdown of starch into maltose, the formation of the -------------------------------------------------------------------------------- /textrank/summaries/3.txt: -------------------------------------------------------------------------------- 1 | “For those who have been patiently waiting to find out when the exciting war for the Iron Throne will be coming back, the wait is over—we will not be airing a brand-new episode of the show on Sunday,” said HBO’s president of programming Michael Lombardo, confirming that, if viewers turn on their television Sunday night and tune it to HBO, the popular adaptation of George R.R. NEW YORK Addressing the show’s legions of passionate fans, HBO executives officially announced Friday that the hit series Game Of Thrones will not be returning for its highly anticipated fourth season this weekend. Or the -------------------------------------------------------------------------------- /textrank/summaries/4.txt: -------------------------------------------------------------------------------- 1 | “At the moment, this hyperwafer can only exist for six milliseconds in a precisely calibrated field of magnetic energy, positrons, roasted garlic, and beta particles,” lab chief Dr. Paul Ellison told reporters at a press conference outside Nabisco’s $200 million seven-whole-grain accelerator. OAK RIDGE, TN Snack physicists at Nabisco Labs announced Friday the first successful synthesis of a Quadriscuit cracker, a salty treat long postulated by the theoretical models of food scientists but never confirmed by experiment until now. Needless to say, such an irresistibly tasty breakthrough could upend everything we thought we knew about snacking.” Ellison added that the snack’s -------------------------------------------------------------------------------- /textrank/summaries/5.txt: -------------------------------------------------------------------------------- 1 | But I know this country has what it takes to make this bold vision a reality.”Provided that NASA is able to adhere to its timeline, Robles estimated that the 2055 mass shooting would usher in a wave of smaller landmarks, including the moon’s first candlelight vigil, the first presidential visit to comfort grieving space colonists, and the first emergency lockdown and escape-pod drill at the lunar high school.In addition, Robles added that, following the gruesome tragedy, the moon colony would be on track to hold its first entirely futile and ineffective effort to impose gun control laws in 2056.In his closing -------------------------------------------------------------------------------- /textrank/summaries/6.txt: -------------------------------------------------------------------------------- 1 | “And it is my opinion that we need to regulate these individuals swiftly and decisively before they do any more damage.”According to policy analysts, urgent regulation is needed in order to monitor and govern the behavior of these targeted individuals, who experts say collectively commit as much as 100 percent of violations to the environment each year.Researchers have isolated numerous instances of environmentally harmful activity committed by these 7 billion perpetrators in the past few decades alone, identifying practices such as using electric lights, shipping packages, traveling by car, traveling by air, buying clothes, washing clothes, using heat, using air conditioning, -------------------------------------------------------------------------------- /textrank/summaries/7.txt: -------------------------------------------------------------------------------- 1 | “Our research team of evolutionary biologists conducted an extensive and thorough examination of human physiology, past and present, and determined that human beings were, in their ideal state, supposed to be born, spend a solid 12 hours awake as an infant, and then lie down for a tranquil, dream-filled sleep from which they would then not awaken,”lead researcher Dennis Zeveloff said of the findings, which also suggest that life for early man was not supposed to last longer than one day. In fact, the truly optimal state toward which human evolution aspired was for all individuals to succumb to Sudden Infant -------------------------------------------------------------------------------- /textrank/summaries/8.txt: -------------------------------------------------------------------------------- 1 | “The only way to ensure safety in our schools is to make sure teachers hold fully loaded firearms at students from the moment they walk into the classroom until the moment they leave,” said NRA Executive Vice President Wayne LaPierre, explaining that educators should, at the very least, point one 9mm semiautomatic pistol at the class while also keeping a concealed .357 magnum revolver and several spare cartridges of ammo nearby at all times. FAIRFAX, VA In the wake of Monday’s tragic Nevada school shooting in which a 12-year-old student killed a teacher and wounded two classmates, representatives from the National -------------------------------------------------------------------------------- /textrank/summaries/9.txt: -------------------------------------------------------------------------------- 1 | Wyche also stressed that if Earth is not put down, humanity would ultimately be responsible for its continuing care, which would be “increasingly difficult as time goes on.”Scientists reportedly also made several heartfelt assurances that the procedure would be quick and virtually painless.“We understand that you’ve all become very attached to Earth over the years, and it’s hard to let go of something you love like this, but the fact is that no matter what, it simply won’t be able to keep going for much longer,” said Wyche, adding that there would be no guarantees regarding Earth’s already substandard quality of --------------------------------------------------------------------------------