コード例 #1
0
 def __getEmotions__(self, doc):
     try:
         emos = te.get_emotion(doc)
         mostCommonEmos = Counter(emos).most_common(2)
         return [e for e, prob in mostCommonEmos]
     except:
         return []
コード例 #2
0
def getEmotion(text):
    translator = Translator()

    result = translator.translate(text, dest='en')

    print("Tranlsated text:", result.text)

    print("Text emotion:", te.get_emotion(result.text))
コード例 #3
0
ファイル: Sentweet.py プロジェクト: srdg/Sentwit
 def on_status(self, status):
     if (time.time() - self.start_time) < self.time_limit:
         print(status.text)
         print(
             "***************************Emotions detected******************************************"
         )
         data_dict = get_emotion(status.text)
         data_dict = {k: float(v) for k, v in data_dict.items()}
         data = pd.DataFrame([data_dict])
         chart.add_rows(data)
         print(data_dict)
         return True
     else:
         return False
コード例 #4
0
def detection():
    #mengecek apakah method yang di pakai di form index.html yaitu POST atau bukan
    if request.method == 'POST':
        # mengambil data inputan komentar dan di simpan dalam varibel komentar
        komentar = request.form['komentar']

        # textblob sentiment polarity akan menghasilkan angka 1 atau -1
        # bila 1 komentar tersebut positif, bila -1 komentar tersebut negatif
        feedback_polarity = TextBlob(komentar).sentiment.polarity
        if feedback_polarity > 0:
            result = 'positif'
        else:
            result = 'negatif'
    #inisialisasi varibael data yang isinya list
    data = list()
    # Call to the function
    # variabel dict_emotion dan percent_emotion menyimpan hasil dari analisis kalimat
    dict_emotion = te.get_emotion(komentar)
    percent_emotion = te.get_percent_emotion(komentar)
    # perulangan ini untuk mendapatkan value dari dictionary {"Happy": 0.5, "Angry": 0, "Surprise": 3.5, "Sad": 0, "Fear": 0}
    for key, value in dict_emotion.items():
        #disini akan masuk ke list data value dari happy dan surprise
        data.append(value)

    #inisialisasi emotions untuk dimasukkan ke dalam grafik
    emotions = ['Happy', 'Angry', 'Surprise', 'Sad', 'Fear']
    #konfigurasi dari grafik yang akan dibuat gambar
    fig = plt.figure(figsize=(10, 7))
    plt.pie(data, labels=emotions, normalize=False)

    #membuat hasil menjadi gambar
    pie_chart = pygal.Pie()
    pie_chart.title = 'Pie chart'

    pie_chart.add('Happy', percent_emotion['Happy'])
    pie_chart.add('Angry', percent_emotion['Angry'])
    pie_chart.add('Surprise', percent_emotion['Surprise'])
    pie_chart.add('Sad', percent_emotion['Sad'])
    pie_chart.add('Fear', percent_emotion['Fear'])
    pie_chart = pie_chart.render_data_uri()

    return render_template("index.html",
                           hasil=result,
                           komen=komentar,
                           chart=pie_chart,
                           percent_emotion=percent_emotion)
コード例 #5
0
def transform(text):
    emotion_ratings = te.get_emotion(text)
    emotion_ratings
    significant_emotion = max(emotion_ratings, key=emotion_ratings.get)

    kw_extractor = yake.KeywordExtractor()
    language = 'en'
    max_ngram_size = 3
    deduplication_threshhold = 0.9
    numOfKeywords = 10
    custom_kw_extractor = yake.KeywordExtractor(
        lan=language,
        n=max_ngram_size,
        dedupLim=deduplication_threshhold,
        top=numOfKeywords,
        features=None)
    keywords = custom_kw_extractor.extract_keywords(text)
    keywords.reverse()
    top_keywords = keywords[:5]

    significant_emotion

    emotion_colors = {
        'Happy': 'Yellow',
        'Angry': 'Red',
        'Surprise': 'Green',
        'Sad': 'Blue',
        'Fear': 'Dark'
    }
    significant_color = emotion_colors[significant_emotion]

    top_keywords_wo_scores = [x[0] for x in top_keywords]
    top_keywords_wo_scores

    final_string = '' + significant_emotion + ' ' + significant_color
    for i in top_keywords_wo_scores:
        final_string += ' ' + i
    return final_string