Example #1
0
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
Example #2
0
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
Example #3
0
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
Example #4
0
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