def getInfo(self, concept): try: sn = Senticnet() concept_info = sn.concept(concept) polarity_value = sn.polarity_value(concept) polarity_intense = sn.polarity_intense(concept) moodtags = sn.moodtags(concept) semantics = sn.semantics(concept) sentics = sn.sentics(concept) """print(concept) print("concept_info: {}".format(concept_info)) print("polarity_value: {}".format(polarity_value)) print("polarity_intense: {}".format(polarity_intense)) print("moodtags: {}".format(moodtags)) print("semantics: {}".format(semantics)) print("sentics: {}".format(sentics)) print("\n\n")""" return "{} - {}".format(polarity_value, polarity_intense) except: return "NOT POSSIBLE"
from senticnet.senticnet import Senticnet sn = Senticnet() print "polarity value:", sn.polarity_value("love") print "polarity intense:", sn.polarity_intense("love") print "moodtags:", ", ".join(sn.moodtags("love")) print "semantics:", ", ".join(sn.semantics("love")) print "\n".join( [key + ": " + str(value) for key, value in sn.sentics("love").items()])
for concept in concepts: concept = concept.replace('[', '') concept = concept.replace('u\'', '') concept = concept.replace('_', ' ') concept = concept.replace('...', '') concept = concept.replace(']', '') concept = concept.replace('\'', '') concept = concept.split(',') print('internal loop') for item in concept: print('item:') print(item) item = str(item) #item='love' try: concept_info = sn.concept(item) polarity_value = sn.polarity_value(item) polarity_intense = sn.polarity_intense(item) print(polarity_value) moodtags = sn.moodtags(item) semantics = sn.semantics(item) sentics = sn.sentics(item) polarity_intense_result.append(polarity_intense) polarity_value_result.append(polarity_value) concept_info_result.append(concept_info) except: print('Concept not in senticnet') print(polarity_value_result)
train_set = negative_features + positive_features classifier = NaiveBayesClassifier.train(train_set) # Основная работа sentence = 'Тест' sentence = sentence.lower() words = sentence.split(' ') neg = 0 pos = 0 mood = 0 for word in words: word = morph.parse(word.decode('utf8'))[0].normal_form try: # пробуем получить теги из SenticNet moodtags = sn.moodtags(word.encode('utf8')) for item in moodtags: mood += 1 if item in negative_vocab: neg += 1 elif item in positive_vocab: pos += 1 except: # проверяем, не входит ли слово в словарь if word in negative_vocab: neg += 1 mood += 1 elif word in positive_vocab: pos += 1 mood += 1 # если ничего не помогает, пытаемся классифицировать слово через наивный Баесовский классификатор