Python - Analisis Sentimen

Analisis Semantik adalah tentang menganalisis pendapat umum penonton. Ini mungkin merupakan reaksi terhadap berita, film, atau tweet apa pun tentang beberapa masalah yang sedang dibahas. Umumnya, reaksi tersebut diambil dari media sosial dan dipukul menjadi file untuk dianalisis melalui NLP. Kami akan mengambil kasus sederhana untuk mendefinisikan kata-kata positif dan negatif terlebih dahulu. Kemudian mengambil pendekatan untuk menganalisis kata-kata itu sebagai bagian dari kalimat menggunakan kata-kata itu. Kami menggunakan modul sentiment_analyzer dari nltk. Kami pertama melakukan analisis dengan satu kata dan kemudian dengan kata berpasangan juga disebut bigram. Terakhir, kami menandai kata-kata dengan sentimen negatif seperti yang didefinisikan dimark_negation fungsi.

import nltk
import nltk.sentiment.sentiment_analyzer 
# Analysing for single words
def OneWord(): 
	positive_words = ['good', 'progress', 'luck']
   	text = 'Hard Work brings progress and good luck.'.split()                 
	analysis = nltk.sentiment.util.extract_unigram_feats(text, positive_words) 
	print(' ** Sentiment with one word **\n')
	print(analysis) 
# Analysing for a pair of words	
def WithBigrams(): 
	word_sets = [('Regular', 'fit'), ('fit', 'fine')] 
	text = 'Regular excercise makes you fit and fine'.split() 
	analysis = nltk.sentiment.util.extract_bigram_feats(text, word_sets) 
	print('\n*** Sentiment with bigrams ***\n') 
	print analysis
# Analysing the negation words. 
def NegativeWord():
	text = 'Lack of good health can not bring success to students'.split() 
	analysis = nltk.sentiment.util.mark_negation(text) 
	print('\n**Sentiment with Negative words**\n')
	print(analysis) 
    
OneWord()
WithBigrams() 
NegativeWord()

Ketika kami menjalankan program di atas, kami mendapatkan output berikut -

** Sentiment with one word **
{'contains(luck)': False, 'contains(good)': True, 'contains(progress)': True}
*** Sentiment with bigrams ***
{'contains(fit - fine)': False, 'contains(Regular - fit)': False}
**Sentiment with Negative words**
['Lack', 'of', 'good', 'health', 'can', 'not', 'bring_NEG', 'success_NEG', 'to_NEG', 'students_NEG']