From 5a54d49aace205e7c36aefb316e350dd6226381b Mon Sep 17 00:00:00 2001 From: lapudvan Date: Wed, 24 Feb 2016 00:32:53 -0500 Subject: [PATCH 01/10] This is the file I used for my doctests --- DocTesting.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 DocTesting.txt diff --git a/DocTesting.txt b/DocTesting.txt new file mode 100644 index 0000000..0234b73 --- /dev/null +++ b/DocTesting.txt @@ -0,0 +1,2 @@ +This is a used +for doc testing \ No newline at end of file From 4a3cc5a628316df5d63acd274227e9f1d4b5242e Mon Sep 17 00:00:00 2001 From: lapudvan Date: Wed, 24 Feb 2016 00:34:56 -0500 Subject: [PATCH 02/10] This is one of the childrens books I used --- TheGivingTree.txt | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 TheGivingTree.txt diff --git a/TheGivingTree.txt b/TheGivingTree.txt new file mode 100644 index 0000000..b11f23e --- /dev/null +++ b/TheGivingTree.txt @@ -0,0 +1,46 @@ +The Giving Tree by Shel Silverstein +Once there was a tree and she loved a little boy +And every day the boy would come and he would gather her leaves and make them into crowns and play king of the forest +He would climb up her trunk and swing from her branches and eat apples +And they would play hid and go seek +And when he was tired he would sleep in her shade +And the boy loved the tree very much +and the tree was happy +But time went by and the boy grew older +And the tree was often alone +And then one day the boy came to the tree +And the tree said Come Boy come climb up my trunk and swing from my branches +and eat apples and play in my shade and be happy +I am too big to climb and play said the boy +I want to buy things and have fun +I want some money +Can you give me some money +I am sorry said the tree but I have no money +I have only leaves and apples +Take my applpes boy and sell them in the city +Then you will have money and you will be happy +And so the boy climbed up the tree and gethered her apples and carried them away and the tree was happy +But the boy stayed away for a long time and the tree was sad +And then one day the boy came back and the tree shook with joy and she said Come Boy climb up my trunk and swing from my branches and be happy +I am too busy to climb trees said the boy I want a house to keep me warm I want a wife and I want children and so I need a house Can you give me a house +I have no house said the tree the forest is my house but you may cut off my branches and build a house then you will be happy +And the boy cut off her branches and carried them away to build his house +And the tree was happy +But the boy stayed away for a long time +And when he came back the tree was so happy she could hardly speek +Come boy she wispered Come and play +I am too old and sad to play said the boy I want a boat that can take me far away from here Can you give me a boat Cut down my trunk and make a boat said the tree Then you can sail away and be happy +And so the boy but down her trunk and made a boat and sailed away +And the tree was happy but not really +And after a long time the boy came back again +I am sorry boy said the tree but I have nothing left to give you My apples are gone +My teeth are too weak for apples said the boy +My branches are gone said the tree you cannot swing on them +I am too old to swing on branches said the boy +My trunk is gone said the tree you cannot climb +I am too tired to climb said the boy +I am sorry said the tree I wish that I could give you something but I have nothing left I am just an old stump +I do not need very much now said the boy Just a quiet place to sit and rest I am very tired +well said the tree straightening herself up as much as she could Well an old stump is good for sitting and resting Come boy sit down and rest +And the boy did and the tree was happy +THE END \ No newline at end of file From f5ea81f9ec20ed90d17b1932ad9ffdbf099659a4 Mon Sep 17 00:00:00 2001 From: lapudvan Date: Wed, 24 Feb 2016 00:36:22 -0500 Subject: [PATCH 03/10] This is another book I used --- TheVeryHungryCatipillar.txt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 TheVeryHungryCatipillar.txt diff --git a/TheVeryHungryCatipillar.txt b/TheVeryHungryCatipillar.txt new file mode 100644 index 0000000..543213d --- /dev/null +++ b/TheVeryHungryCatipillar.txt @@ -0,0 +1,22 @@ +the very hungry caterpillar by eric carle +in the light of the moon a little egg lay on a leaf +one Sunday morning the warm sun came up and pop out of the egg came a tiny very hungry caterpillar +he started to look for some food +on Monday he ate through one apple +but he was still hungry +on Tuesday he ate through two pears +but he was still hungry +on Wednesday he ate through three plums +but he was still hungry +on Thursday he ate through four strawberries but he was still hungry +on Friday he ate through five oranges but he was still hungry +on Saturday he ate one peice of chocolate cake one ice cream cone one pickle one slice of swiss cheese one slice of salami one lollipop one peice of cherry pie one sausage one cupcake and one slice of watermellon +that night he had a stomach ache +the next day was Sunday again +the caterpillar ate through one nice green leaf and after that he felt much better +now he was not hungry any more and he was not a little caterpillar any more +he was a big fat caterpillar +he buit a small house called a cocoon around himself +he stayed inside for more than two weeks +then he nibbled a hole in the cocoon pushed his way out and he was a beautiful butterfly +the end \ No newline at end of file From 57d20274fdbc89f26e19f12d21e8761b54b2bd9f Mon Sep 17 00:00:00 2001 From: lapudvan Date: Wed, 24 Feb 2016 00:40:38 -0500 Subject: [PATCH 04/10] The third text I used --- TheTaleOfPeterRabbitClean.txt | 195 ++++++++++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 TheTaleOfPeterRabbitClean.txt diff --git a/TheTaleOfPeterRabbitClean.txt b/TheTaleOfPeterRabbitClean.txt new file mode 100644 index 0000000..f454212 --- /dev/null +++ b/TheTaleOfPeterRabbitClean.txt @@ -0,0 +1,195 @@ +once upon a time there were four little rabbits and their names + +were + +flopsy + +mopsy + +cottontail + +and peter + +they lived with their mother in a sandbank underneath the root of a + +very big firtree + +now my dears said old mrs rabbit one morning you may go into + +the fields or down the lane but dont go into mr mcgregors garden + +your father had an accident there he was put in a pie by mrs + +mcgregor + +now run along and dont get into mischief i am going out + +then old mrs rabbit took a basket and her umbrella and went through + +the wood to the bakers she bought a loaf of brown bread and five + +currant buns + +flopsy mopsy and cottontail who were good little bunnies went + +down the lane to gather blackberries + +but peter who was very naughty ran straight away to mr mcgregors + +garden and squeezed under the gate + +first he ate some lettuces and some french beans and then he ate + +some radishes + +and then feeling rather sick he went to look for some parsley + +but round the end of a cucumber frame whom should he meet but mr + +mcgregor + +mr mcgregor was on his hands and knees planting out young cabbages + +but he jumped up and ran after peter waving a rake and calling out + +stop thief + +peter was most dreadfully frightened he rushed all over the garden + +for he had forgotten the way back to the gate + +he lost one of his shoes among the cabbages and the other shoe + +amongst the potatoes + +after losing them he ran on four legs and went faster so that i + +think he might have got away altogether if he had not unfortunately + +run into a gooseberry net and got caught by the large buttons on his + +jacket it was a blue jacket with brass buttons quite new + +peter gave himself up for lost and shed big tears but his sobs were + +overheard by some friendly sparrows who flew to him in great + +excitement and implored him to exert himself + +mr mcgregor came up with a sieve which he intended to pop upon the + +top of peter but peter wriggled out just in time leaving his jacket + +behind him + +and rushed into the toolshed and jumped into a can it would have + +been a beautiful thing to hide in if it had not had so much water in it + +mr mcgregor was quite sure that peter was somewhere in the + +toolshed perhaps hidden underneath a flowerpot he began to turn + +them over carefully looking under each + +presently peter sneezedkertyschoo mr mcgregor was after him in + +no time + +and tried to put his foot upon peter who jumped out of a window + +upsetting three plants the window was too small for mr mcgregor and + +he was tired of running after peter he went back to his work + +peter sat down to rest he was out of breath and trembling with + +fright and he had not the least idea which way to go also he was + +very damp with sitting in that can + +after a time he began to wander about going lippitylippitynot + +very fast and looking all round + +he found a door in a wall but it was locked and there was no room + +for a fat little rabbit to squeeze underneath + +an old mouse was running in and out over the stone doorstep carrying + +peas and beans to her family in the wood peter asked her the way to + +the gate but she had such a large pea in her mouth that she could not + +answer she only shook her head at him peter began to cry + +then he tried to find his way straight across the garden but he + +became more and more puzzled presently he came to a pond where mr + +mcgregor filled his watercans a white cat was staring at some + +goldfish she sat very very still but now and then the tip of her + +tail twitched as if it were alive peter thought it best to go away + +without speaking to her he had heard about cats from his cousin + +little benjamin bunny + +he went back towards the toolshed but suddenly quite close to him + +he heard the noise of a hoescrrritch scratch scratch scritch + +peter scuttered underneath the bushes but presently as nothing + +happened he came out and climbed upon a wheelbarrow and peeped over + +the first thing he saw was mr mcgregor hoeing onions his back was + +turned towards peter and beyond him was the gate + +peter got down very quietly off the wheelbarrow and started running + +as fast as he could go along a straight walk behind some + +blackcurrant bushes + +mr mcgregor caught sight of him at the corner but peter did not + +care he slipped underneath the gate and was safe at last in the wood + +outside the garden + +mr mcgregor hung up the little jacket and the shoes for a scarecrow + +to frighten the blackbirds + +peter never stopped running or looked behind him till he got home to + +the big firtree + +he was so tired that he flopped down upon the nice soft sand on the + +floor of the rabbithole and shut his eyes his mother was busy + +cooking she wondered what he had done with his clothes it was the + +second little jacket and pair of shoes that peter had lost in a + +fortnight + +i am sorry to say that peter was not very well during the evening + +his mother put him to bed and made some camomile tea and she gave a + +dose of it to peter + +one tablespoonful to be taken at bedtime + +but flopsy mopsy and cottontail had bread and milk and + +blackberries for supper + +the end \ No newline at end of file From a1c354cdad83d16c165f7d3aebf22bfc44956720 Mon Sep 17 00:00:00 2001 From: lapudvan Date: Wed, 24 Feb 2016 00:42:41 -0500 Subject: [PATCH 05/10] Saving my progress --- text_mining.py | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 text_mining.py diff --git a/text_mining.py b/text_mining.py new file mode 100644 index 0000000..63b343e --- /dev/null +++ b/text_mining.py @@ -0,0 +1,94 @@ +""" +YOUR HEADER COMMENT HERE +Ideas: compare word frequancy, compare tone/positivity, compare word length. + + +@author: Lauren Pudvan + +""" +import string +from pattern.web import * +""" +TheTaleOfPeterRabbitURL = URL('http://www.gutenberg.org/cache/epub/14838/pg14838.txt').download() +TheTaleOfPeterRabbit = plaintext(TheTaleOfPeterRabbitURL) + +f_TheTaleOfPeterRabbit = open('TheTaleOfPeterRabbitDownload.txt', 'w') +f_TheTaleOfPeterRabbit.write(TheTaleOfPeterRabbit.encode('UTF-8')) +f_TheTaleOfPeterRabbit.close + +TheTaleOfPeterRabbitClean = open('TheTaleOfPeterRabbitDownload.txt', 'r').read() +exclude = set(string.punctuation) +TheTaleOfPeterRabbitClean = ''.join(ch for ch in TheTaleOfPeterRabbitClean if ch not in exclude) +TheTaleOfPeterRabbitClean = TheTaleOfPeterRabbitClean.lower() + +FinalTheTaleOfPeterRabbit = open('TheTaleOfPeterRabbitClean.txt', 'w') +FinalTheTaleOfPeterRabbit.write(TheTaleOfPeterRabbitClean) +FinalTheTaleOfPeterRabbit.close +""" +#That was an example of how I got one of the books downloaded. +#Because Gutenberg was down I got the other two by copy and pasting them into a plain text file. + + +from pattern.en import * +import operator + +def word_frequency(book): + """ This goes through each word of the story and + if it does not exist in the dictionary it creates a key of the word and gives it a value of 1. + If it does exist in the dictionary it increases the value by 1. + Then it sorts the dictionary from lovest to highest values (words that occure most are at the end) + Then it returns the dictionary. + >>> word_frequency('DocTesting.txt') + [('a', 1), ('used', 1), ('for', 1), ('This', 1), ('doc', 1), ('is', 1), ('testing', 1)] + """ + f = open(book,'r') + wordcount={} + for word in f.read().split(): + if word not in wordcount: + wordcount[word] = 1 + else: + wordcount[word] += 1 + f.close(); + sorted_wordcount = sorted(wordcount.items(), key=operator.itemgetter(1)) + return sorted_wordcount + +def average_word_length(book): + """ This will append a list with the length of each word then take the avarage of the list. + This gives the average word length. + >>> average_word_length('DocTesting.txt') + 3.4285714285714284 + """ + f = open(book,'r') + wordLenths = [] + for word in f.read().split(): + length = len(word) + wordLenths.append(length) + f.close(); + return sum(wordLenths) / float(len(wordLenths)) + +def tone(book): + """ This takes in a string and returns (positive sentiment polarity) + I do not know how to predict a doctest for this because i do not know the specifics for how to predict the result of sentiment. + """ + b = open(book,'r') + b.read() + sent = sentiment(file) + b.close() + return sent[0] + + +# if __name__ == "__main__": +# import doctest +# doctest.testmod() + +print word_frequency('TheVeryHungryCatipillar.txt') +print average_word_length('TheVeryHungryCatipillar.txt') +print tone('TheVeryHungryCatipillar.txt') +print word_frequency('TheGivingTree.txt') +print average_word_length('TheGivingTree.txt') +print tone('TheGivingTree.txt') +print word_frequency('TheTaleOfPeterRabbitClean.txt') +print average_word_length('TheTaleOfPeterRabbitClean.txt') +print tone('TheTaleOfPeterRabbitClean.txt') + + From 2943e61d12e03b49cd8031ba5bdece7bf653b4b4 Mon Sep 17 00:00:00 2001 From: lapudvan Date: Thu, 25 Feb 2016 02:10:23 -0500 Subject: [PATCH 06/10] Fixed a misplaced word in this document --- DocTesting.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DocTesting.txt b/DocTesting.txt index 0234b73..109147d 100644 --- a/DocTesting.txt +++ b/DocTesting.txt @@ -1,2 +1,2 @@ -This is a used -for doc testing \ No newline at end of file +This is used +for doc testing From 9395575ffc5017da7c6c35bc3465c3d06c70d0ac Mon Sep 17 00:00:00 2001 From: lapudvan Date: Thu, 25 Feb 2016 02:11:45 -0500 Subject: [PATCH 07/10] Lowercase version --- TheGivingTree.txt | 89 ++++++++++++++++++++++++----------------------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/TheGivingTree.txt b/TheGivingTree.txt index b11f23e..f176a95 100644 --- a/TheGivingTree.txt +++ b/TheGivingTree.txt @@ -1,46 +1,47 @@ -The Giving Tree by Shel Silverstein -Once there was a tree and she loved a little boy -And every day the boy would come and he would gather her leaves and make them into crowns and play king of the forest -He would climb up her trunk and swing from her branches and eat apples -And they would play hid and go seek -And when he was tired he would sleep in her shade -And the boy loved the tree very much +the giving tree by shel silverstein +once there was a tree and she loved a little boy +and every day the boy would come and he would gather her leaves and make them into crowns and play king of the forest +he would climb up her trunk and swing from her branches and eat apples +and they would play hid and go seek +and when he was tired he would sleep in her shade +and the boy loved the tree very much and the tree was happy -But time went by and the boy grew older -And the tree was often alone -And then one day the boy came to the tree -And the tree said Come Boy come climb up my trunk and swing from my branches +but time went by and the boy grew older +and the tree was often alone +and then one day the boy came to the tree +and the tree said come boy come climb up my trunk and swing from my branches and eat apples and play in my shade and be happy -I am too big to climb and play said the boy -I want to buy things and have fun -I want some money -Can you give me some money -I am sorry said the tree but I have no money -I have only leaves and apples -Take my applpes boy and sell them in the city -Then you will have money and you will be happy -And so the boy climbed up the tree and gethered her apples and carried them away and the tree was happy -But the boy stayed away for a long time and the tree was sad -And then one day the boy came back and the tree shook with joy and she said Come Boy climb up my trunk and swing from my branches and be happy -I am too busy to climb trees said the boy I want a house to keep me warm I want a wife and I want children and so I need a house Can you give me a house -I have no house said the tree the forest is my house but you may cut off my branches and build a house then you will be happy -And the boy cut off her branches and carried them away to build his house -And the tree was happy -But the boy stayed away for a long time -And when he came back the tree was so happy she could hardly speek -Come boy she wispered Come and play -I am too old and sad to play said the boy I want a boat that can take me far away from here Can you give me a boat Cut down my trunk and make a boat said the tree Then you can sail away and be happy -And so the boy but down her trunk and made a boat and sailed away -And the tree was happy but not really -And after a long time the boy came back again -I am sorry boy said the tree but I have nothing left to give you My apples are gone -My teeth are too weak for apples said the boy -My branches are gone said the tree you cannot swing on them -I am too old to swing on branches said the boy -My trunk is gone said the tree you cannot climb -I am too tired to climb said the boy -I am sorry said the tree I wish that I could give you something but I have nothing left I am just an old stump -I do not need very much now said the boy Just a quiet place to sit and rest I am very tired -well said the tree straightening herself up as much as she could Well an old stump is good for sitting and resting Come boy sit down and rest -And the boy did and the tree was happy -THE END \ No newline at end of file +i am too big to climb and play said the boy +i want to buy things and have fun +i want some money +can you give me some money +i am sorry said the tree but i have no money +i have only leaves and apples +take my applpes boy and sell them in the city +then you will have money and you will be happy +and so the boy climbed up the tree and gethered her apples and carried them away and the tree was happy +but the boy stayed away for a long time and the tree was sad +and then one day the boy came back and the tree shook with joy and she said come boy climb up my trunk and swing from my branches and be happy +i am too busy to climb trees said the boy i want a house to keep me warm i want a wife and i want children and so i need a house can you give me a house +i have no house said the tree the forest is my house but you may cut off my branches and build a house then you will be happy +and the boy cut off her branches and carried them away to build his house +and the tree was happy +but the boy stayed away for a long time +and when he came back the tree was so happy she could hardly speek +come boy she wispered come and play +i am too old and sad to play said the boy i want a boat that can take me far away from here can you give me a boat +cut down my trunk and make a boat said the tree Then you can sail away and be happy +and so the boy but down her trunk and made a boat and sailed away +and the tree was happy but not really +and after a long time the boy came back again +i am sorry boy said the tree but i have nothing left to give you my apples are gone +my teeth are too weak for apples said the boy +my branches are gone said the tree you cannot swing on them +i am too old to swing on branches said the boy +my trunk is gone said the tree you cannot climb +i am too tired to climb said the boy +i am sorry said the tree i wish that i could give you something but i have nothing left i am just an old stump +i do not need very much now said the boy just a quiet place to sit and rest i am very tired +well said the tree straightening herself up as much as she could well an old stump is good for sitting and resting come boy sit down and rest +and the boy did and the tree was happy +the end \ No newline at end of file From b11fdc34e330150206315a9e67f0a9cfe1902506 Mon Sep 17 00:00:00 2001 From: lapudvan Date: Thu, 25 Feb 2016 02:12:46 -0500 Subject: [PATCH 08/10] Lowercase version --- TheVeryHungryCatipillar.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/TheVeryHungryCatipillar.txt b/TheVeryHungryCatipillar.txt index 543213d..21f3683 100644 --- a/TheVeryHungryCatipillar.txt +++ b/TheVeryHungryCatipillar.txt @@ -1,18 +1,18 @@ the very hungry caterpillar by eric carle in the light of the moon a little egg lay on a leaf -one Sunday morning the warm sun came up and pop out of the egg came a tiny very hungry caterpillar +one sunday morning the warm sun came up and pop out of the egg came a tiny very hungry caterpillar he started to look for some food -on Monday he ate through one apple +on monday he ate through one apple but he was still hungry -on Tuesday he ate through two pears +on tuesday he ate through two pears but he was still hungry -on Wednesday he ate through three plums +on wednesday he ate through three plums but he was still hungry -on Thursday he ate through four strawberries but he was still hungry -on Friday he ate through five oranges but he was still hungry -on Saturday he ate one peice of chocolate cake one ice cream cone one pickle one slice of swiss cheese one slice of salami one lollipop one peice of cherry pie one sausage one cupcake and one slice of watermellon +on thursday he ate through four strawberries but he was still hungry +on friday he ate through five oranges but he was still hungry +on saturday he ate one peice of chocolate cake one ice cream cone one pickle one slice of swiss cheese one slice of salami one lollipop one peice of cherry pie one sausage one cupcake and one slice of watermellon that night he had a stomach ache -the next day was Sunday again +the next day was sunday again the caterpillar ate through one nice green leaf and after that he felt much better now he was not hungry any more and he was not a little caterpillar any more he was a big fat caterpillar From 7cbea1340a1c8da6d76c71342b72f1b0dc170db4 Mon Sep 17 00:00:00 2001 From: lapudvan Date: Thu, 25 Feb 2016 02:14:21 -0500 Subject: [PATCH 09/10] Turning in my code for mini project 3 --- text_mining.py | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/text_mining.py b/text_mining.py index 63b343e..fec7bda 100644 --- a/text_mining.py +++ b/text_mining.py @@ -1,6 +1,5 @@ """ -YOUR HEADER COMMENT HERE -Ideas: compare word frequancy, compare tone/positivity, compare word length. +This compares word frequancy, tone, word length, and the amount of unique words. @author: Lauren Pudvan @@ -39,10 +38,10 @@ def word_frequency(book): Then it sorts the dictionary from lovest to highest values (words that occure most are at the end) Then it returns the dictionary. >>> word_frequency('DocTesting.txt') - [('a', 1), ('used', 1), ('for', 1), ('This', 1), ('doc', 1), ('is', 1), ('testing', 1)] + [('used', 1), ('for', 1), ('This', 1), ('doc', 1), ('is', 1), ('testing', 1)] """ - f = open(book,'r') - wordcount={} + f = open(book,'r') # sets f equal to a sting of the book + wordcount={} # new dictionary for word in f.read().split(): if word not in wordcount: wordcount[word] = 1 @@ -52,13 +51,22 @@ def word_frequency(book): sorted_wordcount = sorted(wordcount.items(), key=operator.itemgetter(1)) return sorted_wordcount +def amount_of_independent_words(book): # The amount of unique words not counting repetition. + """ This takes the dictionary result from the word frequancy function and returns the length of that dictionary. + The length of that dictionary is the number of original words. + >>> amount_of_independent_words('DocTesting.txt') + 6 + """ + dictOfWords = word_frequency(book) + return len(dictOfWords) + def average_word_length(book): """ This will append a list with the length of each word then take the avarage of the list. This gives the average word length. >>> average_word_length('DocTesting.txt') - 3.4285714285714284 + 3.8333333333333335 """ - f = open(book,'r') + f = open(book,'r') # sets f equal to a sting of the book wordLenths = [] for word in f.read().split(): length = len(word) @@ -70,7 +78,7 @@ def tone(book): """ This takes in a string and returns (positive sentiment polarity) I do not know how to predict a doctest for this because i do not know the specifics for how to predict the result of sentiment. """ - b = open(book,'r') + b = open(book,'r') # sets b equal to a sting of the book b.read() sent = sentiment(file) b.close() @@ -82,13 +90,17 @@ def tone(book): # doctest.testmod() print word_frequency('TheVeryHungryCatipillar.txt') +print amount_of_independent_words('TheVeryHungryCatipillar.txt') print average_word_length('TheVeryHungryCatipillar.txt') print tone('TheVeryHungryCatipillar.txt') + print word_frequency('TheGivingTree.txt') +print amount_of_independent_words('TheGivingTree.txt') print average_word_length('TheGivingTree.txt') print tone('TheGivingTree.txt') -print word_frequency('TheTaleOfPeterRabbitClean.txt') -print average_word_length('TheTaleOfPeterRabbitClean.txt') -print tone('TheTaleOfPeterRabbitClean.txt') +print word_frequency('TheTaleOfPeterRabbitClean.txt') +print amount_of_independent_words('TheTaleOfPeterRabbitClean.txt') +print average_word_length('TheTaleOfPeterRabbitClean.txt') +print tone('TheTaleOfPeterRabbitClean.txt') \ No newline at end of file From 340a515cb3a517b243ac3b1694fe6151e1814302 Mon Sep 17 00:00:00 2001 From: lapudvan Date: Thu, 25 Feb 2016 11:49:45 -0500 Subject: [PATCH 10/10] Turning in my writeup and reflection for mini project 3 --- TextMiningWriteup.pdf | Bin 0 -> 36649 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 TextMiningWriteup.pdf diff --git a/TextMiningWriteup.pdf b/TextMiningWriteup.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b31d729a2868dc57f738ecfc45db671f5d38dbf4 GIT binary patch literal 36649 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 DU_*CK literal 0 HcmV?d00001