def update_revcat_sen_score(cat='gltn'): """Update RevCat table with sen_scores""" # select all revcat entries where cat_code == category and return the review text results = db.session.query(ReviewCategory.revcat_id, PlatePalReview.text).join(PlatePalReview) results_by_cat = results.filter(ReviewCategory.cat_code == cat).all() # for the list of revcats / review text for result in results_by_cat: revcat_id = result[0] text = result[1] # note: predict_sentiment components revived in function sentiment_score = predict_sentiment([text]) # store prediction_list[0][0][2] (decision_function score) as sen_score sen_score = sentiment_score[0][2] # update entry in db --> get entire entry from revcat by revcat_id revcat = db.session.query(ReviewCategory).filter( ReviewCategory.revcat_id == revcat_id).one() revcat.sen_score = sen_score # print "this is revcat.revcat_id", revcat.revcat_id # print "this is revcat.sen_score", revcat.sen_score db.session.add(revcat) db.session.commit() print "... database updated!" return
def update_revcat_sen_score(cat='gltn'): """Update RevCat table with sen_scores""" # select all revcat entries where cat_code == category and return the review text results = db.session.query(ReviewCategory.revcat_id, PlatePalReview.text).join(PlatePalReview) results_by_cat = results.filter(ReviewCategory.cat_code==cat).all() # for the list of revcats / review text for result in results_by_cat: revcat_id = result[0] text = result[1] # note: predict_sentiment components revived in function sentiment_score = predict_sentiment([text]) # store prediction_list[0][0][2] (decision_function score) as sen_score sen_score = sentiment_score[0][2] # update entry in db --> get entire entry from revcat by revcat_id revcat = db.session.query(ReviewCategory).filter(ReviewCategory.revcat_id==revcat_id).one() revcat.sen_score = sen_score # print "this is revcat.revcat_id", revcat.revcat_id # print "this is revcat.sen_score", revcat.sen_score db.session.add(revcat) db.session.commit() print "... database updated!" return
def seed_sentcats(): """ For sentences in Sentences, categorize using multilabel classifier Add results to SentCats -- Initial seeding version """ # select all sentences from Sentences table results = db.session.query(Sentence).offset(0).all() # for each sentence, categorize with classifier for sentence in results: sent_id = sentence.sent_id text = sentence.sent_text predictions = categorize_text(text) for cat in predictions: # for 'gltn', perform sentiment analysis if cat == 'gltn': # note: predict_sentiment components revived in function sentiment_score = predict_sentiment([text]) # store prediction_list[0][0][2] (decision_function score) as sen_score sen_score = sentiment_score[0][2] # query db to check for entry sentcat = SentenceCategory.query.filter( SentenceCategory.sent_id == sent_id).first() if not sentcat: sentcat = SentenceCategory(sent_id=sent_id, cat_code='gltn', sen_score=sen_score) else: sentcat.sen_score = sen_score else: # query db to check for entry sentcat = SentenceCategory.query.filter( SentenceCategory.sent_id == sent_id).first() if not sentcat: # TODO: will have to perform sentiment analysis and update later sentcat = SentenceCategory(sent_id=sent_id, cat_code=cat) else: pass db.session.add(sentcat) db.session.commit() return
def seed_sentcats(): """ For sentences in Sentences, categorize using multilabel classifier Add results to SentCats -- Initial seeding version """ # select all sentences from Sentences table results = db.session.query(Sentence).offset(0).all() # for each sentence, categorize with classifier for sentence in results: sent_id = sentence.sent_id text = sentence.sent_text predictions = categorize_text(text) for cat in predictions: # for 'gltn', perform sentiment analysis if cat == 'gltn': # note: predict_sentiment components revived in function sentiment_score = predict_sentiment([text]) # store prediction_list[0][0][2] (decision_function score) as sen_score sen_score = sentiment_score[0][2] # query db to check for entry sentcat = SentenceCategory.query.filter(SentenceCategory.sent_id==sent_id).first() if not sentcat: sentcat = SentenceCategory(sent_id=sent_id, cat_code='gltn', sen_score=sen_score) else: sentcat.sen_score=sen_score else: # query db to check for entry sentcat = SentenceCategory.query.filter(SentenceCategory.sent_id==sent_id).first() if not sentcat: # TODO: will have to perform sentiment analysis and update later sentcat = SentenceCategory(sent_id=sent_id, cat_code=cat ) else: pass db.session.add(sentcat) db.session.commit() return