From 74ba3d8c0a85d64f3c7ffe7a300f3e10fb9fb2d6 Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 27 Mar 2018 00:06:29 +0200 Subject: [PATCH] added database and userlearning --- .gitignore | 1 + src/build_database.py | 101 +++++++++++++++++++++++++++++++++++++++++- src/chatbook.py | 5 ++- src/index.json | 2 +- src/oulibot.py | 86 ++++++----------------------------- 5 files changed, 118 insertions(+), 77 deletions(-) diff --git a/.gitignore b/.gitignore index 96e8e14..a98492d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ images/** output/** src/index.json +src/database.json .DS_Store src/**.wav diff --git a/src/build_database.py b/src/build_database.py index 722f54c..69d71d8 100644 --- a/src/build_database.py +++ b/src/build_database.py @@ -2,16 +2,30 @@ import json import argparse import sys from nltk.tokenize import sent_tokenize, word_tokenize +from nltk.corpus import stopwords +import nltk +import numpy as np from rake_nltk import Rake - +from textblob import TextBlob +stop_words = set(stopwords.words('english')) r= Rake() ap = argparse.ArgumentParser("JSON Dumper") ap.add_argument("text", nargs="+", help="text sources") args=ap.parse_args() +def cleanedText(text): + word_tokens = word_tokenize(text) + word_tokens = [word.lower() for word in word_tokens] + word_tokens = [word for word in word_tokens if word.isalpha()] + filtered_sentence = [w for w in word_tokens if not w in stop_words] + text = " ".join(filtered_sentence) + print(text) + return text + +#### INDEX (DEPR) -with open('src/index.json') as f: +with open('src/index.json', 'w') as f: try: index = json.load(f) except: @@ -36,3 +50,86 @@ for n in args.text: with open('src/index.json', 'w') as outfile: json.dump(index, outfile) + + + +######## DATABASE + +with open('src/database.json', 'w') as f: + try: + index = json.load(f) + except: + index={} + + +nouns = [] +verbs = [] +adverbs = [] +pronouns = ["I", "you", "we", "they"] +adjectives = [] +keywords = [] +keywordspersentence = {} +alltext = "" +allcharacters = [] + +for n in args.text: + text = open(n).read() + rawtext = text.replace("\n", " ") + #get pos + for letter in list(rawtext): + if letter not in allcharacters and not letter.isalpha(): + allcharacters.append(letter) + + alltext += rawtext + text = cleanedText(text) + thistext = TextBlob(text) + words = word_tokenize(text) + listWithPos = nltk.pos_tag(words) + print(thistext.tags) + for key, tag in thistext.tags: + if(tag == "VBP"): + verbs.append(key) + if(tag == "NN" or tag == "NNS"): + nouns.append(key) + if(tag == "RB"): + adverbs.append(key) + if(tag == "JJ"): + adjectives.append(key) + + print("Verbs: {}".format(verbs)) + print("Nouns: {}".format(nouns)) + print("Adverbs: {}".format(adverbs)) + print("Adjectives: {}".format(adjectives)) + #keywords + r.extract_keywords_from_text(rawtext) + phrases = r.get_ranked_phrases_with_scores() + for key, phrase in phrases: + if key > 2: + keywords.append(phrase) + + print("Keywords: {}".format(keywords)) + + # keywordsofsentences + sentences = sent_tokenize(text) + for sentence in sentences: + + r.extract_keywords_from_text(sentence) + keys = r.get_ranked_phrases() + for key in keys: + if key not in keywordspersentence: + keywordspersentence[key] = [] + keywordspersentence[key].append({'filename': n, 'sentence': sentence, 'key': key}) + +print(allcharacters) +index["nouns"]=nouns +index["verbs"]=verbs +index["pronouns"]=pronouns +index["adverbs"]=adverbs +index["adjectives"]=adjectives +index["keywords"]=keywords +index["keywordspersentence"]=keywordspersentence +index["rawtext"]=alltext +index["chars"] = allcharacters + +with open('src/database.json', 'w') as outfile: + json.dump(index, outfile) diff --git a/src/chatbook.py b/src/chatbook.py index 0c98dca..09b5d49 100644 --- a/src/chatbook.py +++ b/src/chatbook.py @@ -69,9 +69,10 @@ if __name__ == "__main__": try: index = json.load(f) except: - index={} + print("I can't work with no knowledge") + sys.exit() + - #print(index) myhost = os.uname()[1] diff --git a/src/index.json b/src/index.json index 764d814..4ee31d1 100644 --- a/src/index.json +++ b/src/index.json @@ -1 +1 @@ -{"ones digital women 4 |\u00bb": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "ones digital women 4 |\u00bb"}, {"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "ones digital women 4 |\u00bb"}], "\u201d invisible voices conducted": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "\u201d invisible voices conducted"}, {"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "\u201d invisible voices conducted"}], "\ufb01ngers .\"": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "\ufb01ngers .\""}, {"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "\ufb01ngers .\""}], "newtechnoculture moments": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "newtechnoculture moments"}, {"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "newtechnoculture moments"}], "disconnected lives": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "disconnected lives"}, {"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "disconnected lives"}], "zeros": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "zeros"}, {"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "zeros"}], "unknown": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "unknown"}, {"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "unknown"}], "tips": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "tips"}, {"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "tips"}], "thousands oi opera tors": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "thousands oi opera tors"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "thousands oi opera tors"}], "three hundred times": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "three hundred times"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "three hundred times"}], "one hundred words": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "one hundred words"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "one hundred words"}], "maybe two hundred": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "maybe two hundred"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "maybe two hundred"}], "\ufb01ngertip mastery": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "\ufb01ngertip mastery"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "\ufb01ngertip mastery"}], "virtual conjunction": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "virtual conjunction"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "virtual conjunction"}], "viral speed": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "viral speed"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "viral speed"}], "typists connected": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "typists connected"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "typists connected"}], "qwerty alphabets": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "qwerty alphabets"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "qwerty alphabets"}], "pushing plugs": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "pushing plugs"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "pushing plugs"}], "exchanges humming": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "exchanges humming"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "exchanges humming"}], "digital machines": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "digital machines"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "digital machines"}], "bodies shaped": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "bodies shaped"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "bodies shaped"}], "answering iacks": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "answering iacks"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "answering iacks"}], "also wired": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "also wired"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "also wired"}], "\ufb02ipping": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "\ufb02ipping"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "\ufb02ipping"}], "world": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "world"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "world"}], "switches": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "switches"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "switches"}], "ringing": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "ringing"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "ringing"}], "responses": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "responses"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "responses"}], "repeating": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "repeating"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "repeating"}], "relays": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "relays"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "relays"}], "poised": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "poised"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "poised"}], "phrases": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "phrases"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "phrases"}], "network": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "network"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "network"}], "motion": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "motion"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "motion"}], "minute": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "minute"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "minute"}], "man": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "man"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "man"}], "learning": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "learning"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "learning"}], "keys": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "keys"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "keys"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "keys"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "keys"}], "interface": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "interface"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "interface"}], "hours": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "hours"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "hours"}], "calls": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "calls"}, {"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "calls"}], "hundred thousand times": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "hundred thousand times"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "hundred thousand times"}], "honey combed formation": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "honey combed formation"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "honey combed formation"}], "becomes second nature": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "becomes second nature"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "becomes second nature"}], "become quite good": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "become quite good"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "become quite good"}], "toll circuits": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "toll circuits"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "toll circuits"}], "making connections": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "making connections"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "making connections"}], "key shelf": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "key shelf"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "key shelf"}], "information -\"": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "information -\""}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "information -\""}], "trunks": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "trunks"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "trunks"}], "tandem": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "tandem"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "tandem"}], "switching": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "switching"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "switching"}], "stufl": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "stufl"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "stufl"}], "rows": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "rows"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "rows"}], "row": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "row"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "row"}], "recording": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "recording"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "recording"}], "parts": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "parts"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "parts"}], "meaning": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "meaning"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "meaning"}], "location": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "location"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "location"}], "listening": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "listening"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "listening"}], "jacks": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "jacks"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "jacks"}], "grows": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "grows"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "grows"}], "done": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "done"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "done"}], "dial": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "dial"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "dial"}], "cords": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "cords"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "cords"}], "time .\"": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "time .\""}, {"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "time .\""}], "forty cords": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "forty cords"}, {"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "forty cords"}], "disconnecting ten": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "disconnecting ten"}, {"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "disconnecting ten"}], "twenty": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "twenty"}, {"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "twenty"}], "plugging": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "plugging"}, {"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "plugging"}], "fact": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "fact"}, {"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "fact"}], "connecting": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "connecting"}, {"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "connecting"}], "upright loom ,\" 102": [{"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "upright loom ,\" 102"}, {"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "upright loom ,\" 102"}], "rather like weaving": [{"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "rather like weaving"}, {"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "rather like weaving"}], "quite satisfying": [{"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "quite satisfying"}, {"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "quite satisfying"}], "processes become": [{"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "processes become"}, {"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "processes become"}], "way": [{"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "way"}, {"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "way"}]} \ No newline at end of file +{"ones digital women 4 |\u00bb": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "ones digital women 4 |\u00bb"}], "\u201d invisible voices conducted": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "\u201d invisible voices conducted"}], "\ufb01ngers .\"": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "\ufb01ngers .\""}], "newtechnoculture moments": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "newtechnoculture moments"}], "disconnected lives": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "disconnected lives"}], "zeros": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "zeros"}], "unknown": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "unknown"}], "tips": [{"filename": "ocr/output.txt", "sentence": " ZEROS + ONES DIGITAL WOMEN 4|\u00bb THE NEWTECHNOCULTURE moments of unknown, disconnected lives, \u201dinvisible voices conducted through the tips of her \ufb01ngers.\"", "key": "tips"}], "thousands oi opera tors": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "thousands oi opera tors"}], "three hundred times": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "three hundred times"}], "one hundred words": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "one hundred words"}], "maybe two hundred": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "maybe two hundred"}], "\ufb01ngertip mastery": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "\ufb01ngertip mastery"}], "virtual conjunction": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "virtual conjunction"}], "viral speed": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "viral speed"}], "typists connected": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "typists connected"}], "qwerty alphabets": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "qwerty alphabets"}], "pushing plugs": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "pushing plugs"}], "exchanges humming": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "exchanges humming"}], "digital machines": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "digital machines"}], "bodies shaped": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "bodies shaped"}], "answering iacks": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "answering iacks"}], "also wired": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "also wired"}], "\ufb02ipping": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "\ufb02ipping"}], "world": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "world"}], "switches": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "switches"}], "ringing": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "ringing"}], "responses": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "responses"}], "repeating": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "repeating"}], "relays": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "relays"}], "poised": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "poised"}], "phrases": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "phrases"}], "network": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "network"}], "motion": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "motion"}], "minute": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "minute"}], "man": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "man"}], "learning": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "learning"}], "keys": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "keys"}, {"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "keys"}], "interface": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "interface"}], "hours": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "hours"}], "calls": [{"filename": "ocr/output.txt", "sentence": "Poised as an interface between man and the world, she is also wired to a network of digital machines: typists connected to QWERTY alphabets, bodies shaped by the motion of the keys, one hundred words a minute, viral speed, Thousands oi opera tors, relays, calls, exchanges humming in Virtual conjunction, learning the same phrases, \ufb02ipping the same switches, repeating the same responses, pushing plugs into the answering iacks, maybe two hundred, three hundred times an hours She has \"a \ufb01ngertip mastery of the ringing.", "key": "calls"}], "hundred thousand times": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "hundred thousand times"}], "honey combed formation": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "honey combed formation"}], "becomes second nature": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "becomes second nature"}], "become quite good": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "become quite good"}], "toll circuits": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "toll circuits"}], "making connections": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "making connections"}], "key shelf": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "key shelf"}], "information -\"": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "information -\""}], "trunks": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "trunks"}], "tandem": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "tandem"}], "switching": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "switching"}], "stufl": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "stufl"}], "rows": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "rows"}], "row": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "row"}], "recording": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "recording"}], "parts": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "parts"}], "meaning": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "meaning"}], "location": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "location"}], "listening": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "listening"}], "jacks": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "jacks"}], "grows": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "grows"}], "done": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "done"}], "dial": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "dial"}], "cords": [{"filename": "ocr/output.txt", "sentence": "listening, dial, and other keys on her key shelf; of the row or rows of cords for making connections; of the location and meaning of all parts of the honey combed formation of jacks and trunks for recording, for switching, for toll circuits, for tandem, for information-\" It becomes second nature it grows on her, \"Having done this stufl a few hundred thousand times, you become quite good at it.", "key": "cords"}], "time .\"": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "time .\""}], "forty cords": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "forty cords"}], "disconnecting ten": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "disconnecting ten"}], "twenty": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "twenty"}], "plugging": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "plugging"}], "fact": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "fact"}], "connecting": [{"filename": "ocr/output.txt", "sentence": "In fact you're plugging, and connecting, and disconnecting ten, twenty, forty cords at a time.\"", "key": "connecting"}], "upright loom ,\" 102": [{"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "upright loom ,\" 102"}], "rather like weaving": [{"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "rather like weaving"}], "quite satisfying": [{"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "quite satisfying"}], "processes become": [{"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "processes become"}], "way": [{"filename": "ocr/output.txt", "sentence": "After a while these processes become \"quite satisfying in a way, rather like weaving on an upright loom,\" 102", "key": "way"}]} \ No newline at end of file diff --git a/src/oulibot.py b/src/oulibot.py index b0ba69f..9405815 100644 --- a/src/oulibot.py +++ b/src/oulibot.py @@ -27,6 +27,7 @@ from textblob import TextBlob from textblob_aptagger import PerceptronTagger import string import re +import json import time import sys; from PIL import Image; import numpy as np chars = np.asarray(list(' .,:;irsXA253hMHGS#9B&@')) @@ -158,7 +159,7 @@ class HelloBot(irc.bot.SingleServerIRCBot): self.poem = [] self.keys = list(map(lambda x:re.compile(x[0], re.IGNORECASE),basicDialog)) self.values = list(map(lambda x:x[1],basicDialog)) - self.POSSIBLE_STRUCTURES=[["adjective", "noun", "adverb", "verb", "adjective", "noun"], ["pronoun", "verb", "noun"]] + self.POSSIBLE_STRUCTURES=[["adjective", "noun", "adverb", "verb", "adjective", "noun"], ["pronoun", "verb", "adverb"]] self.structure = random.choice(self.POSSIBLE_STRUCTURES) def translate(self,str,dict): @@ -455,10 +456,15 @@ class HelloBot(irc.bot.SingleServerIRCBot): else: self.sentence.append(incoming_msg) self.lastPOS +=1 + print(self.waitingfor + " " + incoming_msg) + self.index[self.waitingfor + "s"].append(incoming_msg) + with open('src/database.json', 'w') as outfile: + json.dump(self.index, outfile) self.generateSentence(c,e) + def cleanedText(text): word_tokens = word_tokenize(text) word_tokens = [word.lower() for word in word_tokens] @@ -482,77 +488,13 @@ if __name__ == "__main__": ap.add_argument("--text", nargs="+", help="text sources") args=ap.parse_args() - # build the index - index = {} - - nouns = [] - verbs = [] - adverbs = [] - pronouns = ["I", "you", "we", "they"] - adjectives = [] - keywords = [] - keywordspersentence = {} - alltext = "" - allcharacters = [] - - n = "ocr/output.txt" - text = open(n).read() - rawtext = text.replace("\n", " ") - #get pos - for letter in list(rawtext): - if letter not in allcharacters and not letter.isalpha(): - allcharacters.append(letter) - - alltext += rawtext - text = cleanedText(text) - thistext = TextBlob(text) - words = word_tokenize(text) - listWithPos = nltk.pos_tag(words) - print(thistext.tags) - for key, tag in thistext.tags: - if(tag == "VBP"): - verbs.append(key) - if(tag == "NN" or tag == "NNS"): - nouns.append(key) - if(tag == "RB"): - adverbs.append(key) - if(tag == "JJ"): - adjectives.append(key) - - print("Verbs: {}".format(verbs)) - print("Nouns: {}".format(nouns)) - print("Adverbs: {}".format(adverbs)) - print("Adjectives: {}".format(adjectives)) - #keywords - r.extract_keywords_from_text(rawtext) - phrases = r.get_ranked_phrases_with_scores() - for key, phrase in phrases: - if key > 2: - keywords.append(phrase) - - print("Keywords: {}".format(keywords)) - - # keywordsofsentences - sentences = sent_tokenize(text) - for sentence in sentences: - - r.extract_keywords_from_text(sentence) - keys = r.get_ranked_phrases() - for key in keys: - if key not in keywordspersentence: - keywordspersentence[key] = [] - keywordspersentence[key].append({'filename': n, 'sentence': sentence, 'key': key}) - - print(allcharacters) - index["nouns"]=nouns - index["verbs"]=verbs - index["pronouns"]=pronouns - index["adverbs"]=adverbs - index["adjectives"]=adjectives - index["keywords"]=keywords - index["keywordspersentence"]=keywordspersentence - index["rawtext"]=alltext - chars = np.asarray(allcharacters) + with open("src/database.json") as f: + try: + index = json.load(f) + except: + print("I can't work with no knowledge") + sys.exit() + chars = np.asarray(index["chars"]) bot = HelloBot(args.channel, args.nickname, args.server, args.port, index) bot.start()