negBooksReviews = []
negDvdReviews = []
negElectronicsReviews = []
negKitchenHousewaresReviews = []
posBooksReviews = []
posDvdReviews = []
posElectronicsReviews = []
posKitchenHousewaresReviews = []
allDataset = [["sorted_data_acl/books/negative.review", negBooksReviews], ["sorted_data_acl/books/positive.review", posBooksReviews],
["sorted_data_acl/dvd/negative.review", negDvdReviews], ["sorted_data_acl/dvd/positive.review", posDvdReviews],
["sorted_data_acl/electronics/negative.review", negElectronicsReviews], ["sorted_data_acl/electronics/positive.review", posElectronicsReviews],
["sorted_data_acl/kitchen_&_housewares/negative.review", negKitchenHousewaresReviews], ["sorted_data_acl/kitchen_&_housewares/positive.review", posKitchenHousewaresReviews]]
def getRating(string):
return string.split('</rating>')[0].split('<rating>')[1].strip().split('.')[0]
def getReviewText(string):
return string.split('</review_text>')[0].split('<review_text>')[1].strip().replace(' ', ' ').replace('\n', '').lower()
def getData(fileName):
finalData = []
raw_data = open(fileName, "r")
txt_data = raw_data.read()
dataSplited = txt_data.split('</review>')
for review in dataSplited:
if (len(review) > 1):
rating = getRating(review)
reviewText = getReviewText(review)
finalData.append([rating, reviewText])
return finalData
for dataset in allDataset :
dataset[1] = getData(dataset[0])
from sklearn.feature_extraction.text import TfidfVectorizer
corpus = []
for review in allDataset[0][1]:
corpus.append(review[1])
vectorizer = TfidfVectorizer()
tokens = vectorizer.fit_transform(corpus)
print(vectorizer.get_feature_names_out())
print(tokens.shape)
['00' '000' '001' ... 'zylpha' 'zzzz' 'zzzzzzzzzzzz']
(1000, 15342)
import nltk
print(allDataset[0][1][0][1])
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')
nltk.download('maxent_ne_chunker')
nltk.download('words')
tokens = nltk.word_tokenize(allDataset[0][1][0][1])
print(tokens)
tagged = nltk.pos_tag(tokens)
print(tagged)
entities = nltk.chunk.ne_chunk(tagged)
print(entities)
this book was horrible. if it was possible to rate it lower than one star i would have. i am an avid reader and picked this book up after my mom had gotten it from a friend. i read half of it, suffering from a headache the entire time, and then got to the part about the relationship the 13 year old boy had with a 33 year old man and i lit this book on fire. one less copy in the world...don't waste your money.i wish i had the time spent reading this book back so i could use it for better purposes. this book wasted my life
[nltk_data] Downloading package punkt to /root/nltk_data...
[nltk_data] Unzipping tokenizers/punkt.zip.
[nltk_data] Downloading package averaged_perceptron_tagger to
[nltk_data] /root/nltk_data...
[nltk_data] Unzipping taggers/averaged_perceptron_tagger.zip.
[nltk_data] Downloading package maxent_ne_chunker to
[nltk_data] /root/nltk_data...
[nltk_data] Unzipping chunkers/maxent_ne_chunker.zip.
[nltk_data] Downloading package words to /root/nltk_data...
[nltk_data] Unzipping corpora/words.zip.
['this', 'book', 'was', 'horrible', '.', 'if', 'it', 'was', 'possible', 'to', 'rate', 'it', 'lower', 'than', 'one', 'star', 'i', 'would', 'have', '.', 'i', 'am', 'an', 'avid', 'reader', 'and', 'picked', 'this', 'book', 'up', 'after', 'my', 'mom', 'had', 'gotten', 'it', 'from', 'a', 'friend', '.', 'i', 'read', 'half', 'of', 'it', ',', 'suffering', 'from', 'a', 'headache', 'the', 'entire', 'time', ',', 'and', 'then', 'got', 'to', 'the', 'part', 'about', 'the', 'relationship', 'the', '13', 'year', 'old', 'boy', 'had', 'with', 'a', '33', 'year', 'old', 'man', 'and', 'i', 'lit', 'this', 'book', 'on', 'fire', '.', 'one', 'less', 'copy', 'in', 'the', 'world', '...', 'do', "n't", 'waste', 'your', 'money.i', 'wish', 'i', 'had', 'the', 'time', 'spent', 'reading', 'this', 'book', 'back', 'so', 'i', 'could', 'use', 'it', 'for', 'better', 'purposes', '.', 'this', 'book', 'wasted', 'my', 'life']
[('this', 'DT'), ('book', 'NN'), ('was', 'VBD'), ('horrible', 'JJ'), ('.', '.'), ('if', 'IN'), ('it', 'PRP'), ('was', 'VBD'), ('possible', 'JJ'), ('to', 'TO'), ('rate', 'NN'), ('it', 'PRP'), ('lower', 'JJR'), ('than', 'IN'), ('one', 'CD'), ('star', 'NN'), ('i', 'NN'), ('would', 'MD'), ('have', 'VB'), ('.', '.'), ('i', 'VB'), ('am', 'VBP'), ('an', 'DT'), ('avid', 'JJ'), ('reader', 'NN'), ('and', 'CC'), ('picked', 'VBD'), ('this', 'DT'), ('book', 'NN'), ('up', 'RB'), ('after', 'IN'), ('my', 'PRP$'), ('mom', 'NN'), ('had', 'VBD'), ('gotten', 'VBN'), ('it', 'PRP'), ('from', 'IN'), ('a', 'DT'), ('friend', 'NN'), ('.', '.'), ('i', 'JJ'), ('read', 'VBP'), ('half', 'NN'), ('of', 'IN'), ('it', 'PRP'), (',', ','), ('suffering', 'VBG'), ('from', 'IN'), ('a', 'DT'), ('headache', 'NN'), ('the', 'DT'), ('entire', 'JJ'), ('time', 'NN'), (',', ','), ('and', 'CC'), ('then', 'RB'), ('got', 'VBD'), ('to', 'TO'), ('the', 'DT'), ('part', 'NN'), ('about', 'IN'), ('the', 'DT'), ('relationship', 'NN'), ('the', 'DT'), ('13', 'CD'), ('year', 'NN'), ('old', 'JJ'), ('boy', 'NN'), ('had', 'VBD'), ('with', 'IN'), ('a', 'DT'), ('33', 'CD'), ('year', 'NN'), ('old', 'JJ'), ('man', 'NN'), ('and', 'CC'), ('i', 'JJ'), ('lit', 'NN'), ('this', 'DT'), ('book', 'NN'), ('on', 'IN'), ('fire', 'NN'), ('.', '.'), ('one', 'CD'), ('less', 'JJR'), ('copy', 'NN'), ('in', 'IN'), ('the', 'DT'), ('world', 'NN'), ('...', ':'), ('do', 'VBP'), ("n't", 'RB'), ('waste', 'VB'), ('your', 'PRP$'), ('money.i', 'JJ'), ('wish', 'JJ'), ('i', 'NN'), ('had', 'VBD'), ('the', 'DT'), ('time', 'NN'), ('spent', 'JJ'), ('reading', 'NN'), ('this', 'DT'), ('book', 'NN'), ('back', 'RB'), ('so', 'RB'), ('i', 'NN'), ('could', 'MD'), ('use', 'VB'), ('it', 'PRP'), ('for', 'IN'), ('better', 'JJR'), ('purposes', 'NNS'), ('.', '.'), ('this', 'DT'), ('book', 'NN'), ('wasted', 'VBD'), ('my', 'PRP$'), ('life', 'NN')]
(S
this/DT
book/NN
was/VBD
horrible/JJ
./.
if/IN
it/PRP
was/VBD
possible/JJ
to/TO
rate/NN
it/PRP
lower/JJR
than/IN
one/CD
star/NN
i/NN
would/MD
have/VB
./.
i/VB
am/VBP
an/DT
avid/JJ
reader/NN
and/CC
picked/VBD
this/DT
book/NN
up/RB
after/IN
my/PRP$
mom/NN
had/VBD
gotten/VBN
it/PRP
from/IN
a/DT
friend/NN
./.
i/JJ
read/VBP
half/NN
of/IN
it/PRP
,/,
suffering/VBG
from/IN
a/DT
headache/NN
the/DT
entire/JJ
time/NN
,/,
and/CC
then/RB
got/VBD
to/TO
the/DT
part/NN
about/IN
the/DT
relationship/NN
the/DT
13/CD
year/NN
old/JJ
boy/NN
had/VBD
with/IN
a/DT
33/CD
year/NN
old/JJ
man/NN
and/CC
i/JJ
lit/NN
this/DT
book/NN
on/IN
fire/NN
./.
one/CD
less/JJR
copy/NN
in/IN
the/DT
world/NN
.../:
do/VBP
n't/RB
waste/VB
your/PRP$
money.i/JJ
wish/JJ
i/NN
had/VBD
the/DT
time/NN
spent/JJ
reading/NN
this/DT
book/NN
back/RB
so/RB
i/NN
could/MD
use/VB
it/PRP
for/IN
better/JJR
purposes/NNS
./.
this/DT
book/NN
wasted/VBD
my/PRP$
life/NN)
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import Perceptron
from sklearn.pipeline import Pipeline
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix
from collections import Counter
def getTrainingDataset(datasets):
trainingReviews = []
trainingRatings = []
trainingPolarities = []
trainingDomains = []
for dataset in datasets:
for i in range(round(len(dataset[1]) * 0.8)):
#if (i >= len(dataset[1]) * 0.8):
# break
trainingReviews.append(dataset[1][i][1])
trainingRatings.append(dataset[1][i][0])
trainingDomains.append(dataset[0].split('/')[1].split('/')[0])
if (dataset[1][i][0] == "1" or dataset[1][i][0] == "2"):
trainingPolarities.append("negative")
else:
trainingPolarities.append("positive")
return [trainingReviews, trainingRatings, trainingDomains, trainingPolarities]
def getTestDataset(datasets):
testReviews = []
testRatings = []
testPolarities = []
testDomains = []
for dataset in datasets:
for i in range(round(len(dataset[1]) * 0.8), len(dataset[1])):
testReviews.append(dataset[1][i][1])
testRatings.append(dataset[1][i][0])
testDomains.append(dataset[0].split('/')[1].split('/')[0])
if (dataset[1][i][0] == "1" or dataset[1][i][0] == "2"):
testPolarities.append("negative")
else:
testPolarities.append("positive")
return [testReviews, testRatings, testDomains, testPolarities]
def predict(trainingDataset, testDataset):
vec = TfidfVectorizer(stop_words="english")
clf = Perceptron()
pipeline = Pipeline([
('vectorizer', vec),
('classifier', clf)
])
pipeline.fit(trainingDataset[0], trainingDataset[1])
testPrediction = pipeline.predict(testDataset[0])
displayScore(testDataset[1], testPrediction)
def displayScore(testRatings, testPrediction):
#print(confusion_matrix(testRatings, testPrediction))
print(f"Accuracy: {accuracy_score(testRatings, testPrediction)}")
#print(f"Precision: {precision_score(testRatings, testPrediction, average='micro')}")
#print(f"Recall: {recall_score(testRatings, testPrediction, average='micro')}")
#print(f"F-score: {f1_score(testRatings, testPrediction, average='micro')}")
print()
def predictAllPossibilties(trainingDataset):
print("Test with allDataset")
testDataset = getTestDataset(allDataset)
print("Ratings : ")
predict([trainingDataset[0], trainingDataset[1]], [testDataset[0], testDataset[1]])
if (len(Counter(trainingDataset[2]).keys()) > 1):
print("Domains : ")
predict([trainingDataset[0], trainingDataset[2]], [testDataset[0], testDataset[2]])
if (len(Counter(trainingDataset[3]).keys()) > 1):
print("Polarities : ")
predict([trainingDataset[0], trainingDataset[3]], [testDataset[0], testDataset[3]])
for dataset in allDataset:
print("Test with ", dataset[0])
testDataset = getTestDataset([dataset])
#if not (len(Counter(trainingDataset[3]).keys()) == 1 and len(Counter(testDataset[3]).keys()) == 1 and trainingDataset[3][0] != testDataset[3][0]):
print("Ratings : ")
predict([trainingDataset[0], trainingDataset[1]], [testDataset[0], testDataset[1]])
if (len(Counter(trainingDataset[2]).keys()) > 1):
print("Domains : ")
predict([trainingDataset[0], trainingDataset[2]], [testDataset[0], testDataset[2]])
if (len(Counter(trainingDataset[3]).keys()) > 1):
print("Polarities : ")
predict([trainingDataset[0], trainingDataset[3]], [testDataset[0], testDataset[3]])
for dataset in range(0, len(allDataset) - 1, 2):
print("Test with ", allDataset[dataset][0], " and ", allDataset[dataset + 1][0])
testDataset = getTestDataset([allDataset[dataset], allDataset[dataset + 1]])
print("Ratings : ")
predict([trainingDataset[0], trainingDataset[1]], [testDataset[0], testDataset[1]])
if (len(Counter(trainingDataset[2]).keys()) > 1):
print("Domains : ")
predict([trainingDataset[0], trainingDataset[2]], [testDataset[0], testDataset[2]])
if (len(Counter(trainingDataset[3]).keys()) > 1):
print("Polarities : ")
predict([trainingDataset[0], trainingDataset[3]], [testDataset[0], testDataset[3]])
print("Train with allDataset")
print("---------------------------------------------------")
trainingDataset = getTrainingDataset(allDataset)
predictAllPossibilties(trainingDataset)
Train with allDataset
---------------------------------------------------
Test with allDataset
Ratings :
Accuracy: 0.53375
Domains :
Accuracy: 0.923125
Polarities :
Accuracy: 0.8
Test with sorted_data_acl/books/negative.review
Ratings :
Accuracy: 0.39
Domains :
Accuracy: 0.925
Polarities :
Accuracy: 0.68
Test with sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.56
Domains :
Accuracy: 0.935
Polarities :
Accuracy: 0.8
Test with sorted_data_acl/dvd/negative.review
Ratings :
Accuracy: 0.46
Domains :
Accuracy: 0.88
Polarities :
Accuracy: 0.75
Test with sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.565
Domains :
Accuracy: 0.925
Polarities :
Accuracy: 0.83
Test with sorted_data_acl/electronics/negative.review
Ratings :
Accuracy: 0.565
Domains :
Accuracy: 0.875
Polarities :
Accuracy: 0.87
Test with sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.63
Domains :
Accuracy: 0.96
Polarities :
Accuracy: 0.855
Test with sorted_data_acl/kitchen_&_housewares/negative.review
Ratings :
Accuracy: 0.525
Domains :
Accuracy: 0.94
Polarities :
Accuracy: 0.8
Test with sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.575
Domains :
Accuracy: 0.945
Polarities :
Accuracy: 0.815
Test with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.475
Domains :
Accuracy: 0.93
Polarities :
Accuracy: 0.74
Test with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.5125
Domains :
Accuracy: 0.9025
Polarities :
Accuracy: 0.79
Test with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.5975
Domains :
Accuracy: 0.9175
Polarities :
Accuracy: 0.8625
Test with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.55
Domains :
Accuracy: 0.9425
Polarities :
Accuracy: 0.8075
for datasetTraining in allDataset:
print("---------------------------------------------------")
print("Train with ", datasetTraining[0])
print("---------------------------------------------------")
trainingDataset = getTrainingDataset([datasetTraining])
predictAllPossibilties(trainingDataset)
---------------------------------------------------
Train with sorted_data_acl/books/negative.review
---------------------------------------------------
Test with allDataset
Ratings :
Accuracy: 0.305625
Test with sorted_data_acl/books/negative.review
Ratings :
Accuracy: 0.565
Test with sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/dvd/negative.review
Ratings :
Accuracy: 0.565
Test with sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/electronics/negative.review
Ratings :
Accuracy: 0.66
Test with sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/kitchen_&_housewares/negative.review
Ratings :
Accuracy: 0.655
Test with sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.2825
Test with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.2825
Test with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.33
Test with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.3275
---------------------------------------------------
Train with sorted_data_acl/books/positive.review
---------------------------------------------------
Test with allDataset
Ratings :
Accuracy: 0.33625
Test with sorted_data_acl/books/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.72
Test with sorted_data_acl/dvd/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.555
Test with sorted_data_acl/electronics/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.685
Test with sorted_data_acl/kitchen_&_housewares/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.73
Test with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.36
Test with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.2775
Test with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.3425
Test with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.365
---------------------------------------------------
Train with sorted_data_acl/dvd/negative.review
---------------------------------------------------
Test with allDataset
Ratings :
Accuracy: 0.311875
Test with sorted_data_acl/books/negative.review
Ratings :
Accuracy: 0.555
Test with sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/dvd/negative.review
Ratings :
Accuracy: 0.58
Test with sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/electronics/negative.review
Ratings :
Accuracy: 0.69
Test with sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/kitchen_&_housewares/negative.review
Ratings :
Accuracy: 0.67
Test with sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.2775
Test with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.29
Test with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.345
Test with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.335
---------------------------------------------------
Train with sorted_data_acl/dvd/positive.review
---------------------------------------------------
Test with allDataset
Ratings :
Accuracy: 0.3475
Test with sorted_data_acl/books/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.67
Test with sorted_data_acl/dvd/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.695
Test with sorted_data_acl/electronics/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.655
Test with sorted_data_acl/kitchen_&_housewares/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.76
Test with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.335
Test with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.3475
Test with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.3275
Test with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.38
---------------------------------------------------
Train with sorted_data_acl/electronics/negative.review
---------------------------------------------------
Test with allDataset
Ratings :
Accuracy: 0.288125
Test with sorted_data_acl/books/negative.review
Ratings :
Accuracy: 0.495
Test with sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/dvd/negative.review
Ratings :
Accuracy: 0.52
Test with sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/electronics/negative.review
Ratings :
Accuracy: 0.645
Test with sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/kitchen_&_housewares/negative.review
Ratings :
Accuracy: 0.645
Test with sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.2475
Test with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.26
Test with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.3225
Test with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.3225
---------------------------------------------------
Train with sorted_data_acl/electronics/positive.review
---------------------------------------------------
Test with allDataset
Ratings :
Accuracy: 0.341875
Test with sorted_data_acl/books/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.76
Test with sorted_data_acl/dvd/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.605
Test with sorted_data_acl/electronics/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.7
Test with sorted_data_acl/kitchen_&_housewares/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.67
Test with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.38
Test with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.3025
Test with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.35
Test with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.335
---------------------------------------------------
Train with sorted_data_acl/kitchen_&_housewares/negative.review
---------------------------------------------------
Test with allDataset
Ratings :
Accuracy: 0.29875
Test with sorted_data_acl/books/negative.review
Ratings :
Accuracy: 0.54
Test with sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/dvd/negative.review
Ratings :
Accuracy: 0.6
Test with sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/electronics/negative.review
Ratings :
Accuracy: 0.665
Test with sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/kitchen_&_housewares/negative.review
Ratings :
Accuracy: 0.585
Test with sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.27
Test with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.3
Test with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.3325
Test with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.2925
---------------------------------------------------
Train with sorted_data_acl/kitchen_&_housewares/positive.review
---------------------------------------------------
Test with allDataset
Ratings :
Accuracy: 0.35
Test with sorted_data_acl/books/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.735
Test with sorted_data_acl/dvd/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.66
Test with sorted_data_acl/electronics/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.69
Test with sorted_data_acl/kitchen_&_housewares/negative.review
Ratings :
Accuracy: 0.0
Test with sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.715
Test with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.3675
Test with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.33
Test with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.345
Test with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.3575
for dataset in range(0, len(allDataset) - 1, 2):
print("---------------------------------------------------")
print("Train with ", allDataset[dataset][0], " and ", allDataset[dataset + 1][0])
print("---------------------------------------------------")
trainingDataset = getTrainingDataset([allDataset[dataset], allDataset[dataset + 1]])
predictAllPossibilties(trainingDataset)
---------------------------------------------------
Train with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
---------------------------------------------------
Test with allDataset
Ratings :
Accuracy: 0.44875
Polarities :
Accuracy: 0.676875
Test with sorted_data_acl/books/negative.review
Ratings :
Accuracy: 0.4
Polarities :
Accuracy: 0.69
Test with sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.595
Polarities :
Accuracy: 0.785
Test with sorted_data_acl/dvd/negative.review
Ratings :
Accuracy: 0.39
Polarities :
Accuracy: 0.655
Test with sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.455
Polarities :
Accuracy: 0.745
Test with sorted_data_acl/electronics/negative.review
Ratings :
Accuracy: 0.4
Polarities :
Accuracy: 0.65
Test with sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.43
Polarities :
Accuracy: 0.63
Test with sorted_data_acl/kitchen_&_housewares/negative.review
Ratings :
Accuracy: 0.385
Polarities :
Accuracy: 0.67
Test with sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.535
Polarities :
Accuracy: 0.59
Test with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.4975
Polarities :
Accuracy: 0.7375
Test with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.4225
Polarities :
Accuracy: 0.7
Test with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.415
Polarities :
Accuracy: 0.64
Test with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.46
Polarities :
Accuracy: 0.63
---------------------------------------------------
Train with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
---------------------------------------------------
Test with allDataset
Ratings :
Accuracy: 0.45625
Polarities :
Accuracy: 0.709375
Test with sorted_data_acl/books/negative.review
Ratings :
Accuracy: 0.42
Polarities :
Accuracy: 0.755
Test with sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.415
Polarities :
Accuracy: 0.59
Test with sorted_data_acl/dvd/negative.review
Ratings :
Accuracy: 0.415
Polarities :
Accuracy: 0.77
Test with sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.52
Polarities :
Accuracy: 0.785
Test with sorted_data_acl/electronics/negative.review
Ratings :
Accuracy: 0.555
Polarities :
Accuracy: 0.755
Test with sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.385
Polarities :
Accuracy: 0.615
Test with sorted_data_acl/kitchen_&_housewares/negative.review
Ratings :
Accuracy: 0.495
Polarities :
Accuracy: 0.765
Test with sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.445
Polarities :
Accuracy: 0.64
Test with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.4175
Polarities :
Accuracy: 0.6725
Test with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.4675
Polarities :
Accuracy: 0.7775
Test with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.47
Polarities :
Accuracy: 0.685
Test with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.47
Polarities :
Accuracy: 0.7025
---------------------------------------------------
Train with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
---------------------------------------------------
Test with allDataset
Ratings :
Accuracy: 0.4675
Polarities :
Accuracy: 0.71875
Test with sorted_data_acl/books/negative.review
Ratings :
Accuracy: 0.285
Polarities :
Accuracy: 0.57
Test with sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.55
Polarities :
Accuracy: 0.69
Test with sorted_data_acl/dvd/negative.review
Ratings :
Accuracy: 0.285
Polarities :
Accuracy: 0.445
Test with sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.515
Polarities :
Accuracy: 0.845
Test with sorted_data_acl/electronics/negative.review
Ratings :
Accuracy: 0.505
Polarities :
Accuracy: 0.8
Test with sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.555
Polarities :
Accuracy: 0.835
Test with sorted_data_acl/kitchen_&_housewares/negative.review
Ratings :
Accuracy: 0.47
Polarities :
Accuracy: 0.75
Test with sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.575
Polarities :
Accuracy: 0.815
Test with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.4175
Polarities :
Accuracy: 0.63
Test with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.4
Polarities :
Accuracy: 0.645
Test with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.53
Polarities :
Accuracy: 0.8175
Test with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.5225
Polarities :
Accuracy: 0.7825
---------------------------------------------------
Train with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
---------------------------------------------------
Test with allDataset
Ratings :
Accuracy: 0.48
Polarities :
Accuracy: 0.7075
Test with sorted_data_acl/books/negative.review
Ratings :
Accuracy: 0.315
Polarities :
Accuracy: 0.655
Test with sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.445
Polarities :
Accuracy: 0.61
Test with sorted_data_acl/dvd/negative.review
Ratings :
Accuracy: 0.415
Polarities :
Accuracy: 0.63
Test with sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.485
Polarities :
Accuracy: 0.715
Test with sorted_data_acl/electronics/negative.review
Ratings :
Accuracy: 0.565
Polarities :
Accuracy: 0.815
Test with sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.54
Polarities :
Accuracy: 0.67
Test with sorted_data_acl/kitchen_&_housewares/negative.review
Ratings :
Accuracy: 0.5
Polarities :
Accuracy: 0.805
Test with sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.575
Polarities :
Accuracy: 0.76
Test with sorted_data_acl/books/negative.review and sorted_data_acl/books/positive.review
Ratings :
Accuracy: 0.38
Polarities :
Accuracy: 0.6325
Test with sorted_data_acl/dvd/negative.review and sorted_data_acl/dvd/positive.review
Ratings :
Accuracy: 0.45
Polarities :
Accuracy: 0.6725
Test with sorted_data_acl/electronics/negative.review and sorted_data_acl/electronics/positive.review
Ratings :
Accuracy: 0.5525
Polarities :
Accuracy: 0.7425
Test with sorted_data_acl/kitchen_&_housewares/negative.review and sorted_data_acl/kitchen_&_housewares/positive.review
Ratings :
Accuracy: 0.5375
Polarities :
Accuracy: 0.7825