Pengiktirafan emosi atau Pengiktirafan ialah kebolehan seseorang atau objek untuk melihat emosi tertentu yang dipaparkan dalam persekitaran dan meletakkannya dalam satu daripada pelbagai kategori emosi.
Klasifikasi Sentimen dalam Python ialah alternatif yang berdaya maju kepada teknik analisis sentimen tradisional yang menandai perkataan atau ayat sebagai positif atau negatif dan menetapkannya dengan sewajarnya dengan skor polariti.
Idea asas di sebalik algoritma ini ialah meniru proses pemikiran manusia, yang cuba membahagikan perkataan yang menggambarkan emosi daripada teks. Analisis dilakukan menggunakan set data latihan, di mana set maklumat pratetap dimasukkan ke dalam sistem sebagai asas untuk pengelasan.
Ini adalah pakej berdasarkan tesaurus WordNet dalam perpustakaan NLTK dan National Research Council of Canada (NRC) leksikon sentimen, yang mempunyai lebih 27,000 istilah .
Perpustakaan menggunakan kategori berikut untuk mengukur dan mengklasifikasikan kesan emosi perkataan -
Takut
Marah
Nantikannya
Amanah
Kejutan
Positif
Negatif
Sedih
jijik
kegembiraan
Langkah 1 - Pasang modul NRC menggunakan arahan pemasangan pip di terminal.
pip install NRCLex
Memasang
Notebook dan Command Promptdalam jupyter secara amnya mengikut langkah yang sama.Pemasangan dalam MacO juga mengikut arahan yang sama. Gunakan terminal secara langsung.
Langkah 2 - Pasang juga textblob dan nrclex untuk mengelak daripada menghadapi MissingCorpusError
pip install textblob
Langkah 3 - Muat turun korpus daripada textblob
python -m textblob.download_corpora
Selepas pemasangan, kami boleh meneruskan untuk mengimport perpustakaan dan mencipta objek teks.
1. Teks asal kepada teks yang ditapis (untuk hasil terbaik, "teks" hendaklah unikod).
text_object.load_raw_text(text: str)
2. Tukar senarai perkataan token kepada senarai token
text_object.load_token_list(list_of_tokens: list)
3 Kembali ke senarai perkataan.
text_object.words
4. Mengembalikan senarai ayat.
text_object.sentences
5. Mengembalikan senarai impak.
text_object.affect_list
6. Mengembalikan kamus kesan.
text_object.affect_dict
7. Kembalikan kiraan emosi mentah.
text_object.raw_emotion_scores
8. Kembali kepada emosi tertinggi.
text_object.top_emotions
9. Kekerapan pulangan.
Text_object.frequencies
Di sini kami menggunakan fungsi top_emotions untuk mengklasifikasikan senarai perkataan berdasarkan emosi.
Langkah 1 - Import nrclex Import nrclex
Langkah 2 - Import NRCLex daripada nrclex
Langkah 3 - Mulakan senarai perkataan rentetan yang ingin anda klasifikasikan
Langkah 4 - untuk i
dalam julat len(teks)Langkah 4 - Sentimen = NRCLex(teks[i]) #Buat objek untuk setiap teks
Langkah 5 - emosi.emosi_tertinggi #Klasifikasikan emosi
# Import module import nrclex from nrclex import NRCLex text = ['happy', 'beautiful', 'exciting', 'depressed'] # Iterate through list for i in range(len(text)): # call by object creation emotion = NRCLex(text[i]) # Classify emotion print('\n', text[i], ': ', emotion.top_emotions)
innocent : [('trust', 0.5), ('positive', 0.5)] hate : [('fear', 0.2), ('anger', 0.2), ('negative', 0.2), ('sadness', 0.2), ('disgust', 0.2)] irritating : [('anger', 0.3333333333333333), ('negative', 0.3333333333333333), ('disgust', 0.3333333333333333)] annoying : [('anger', 0.5), ('negative', 0.5)]
Langkah 1 - Import nrclex
Langkah 2 - Import NRCLex daripada nrclex
Langkah 3 - Mulakan senarai perkataan rentetan yang ingin anda klasifikasikan
Langkah 4 - untuk i dalam julat len(teks)
Langkah 4 - Sentimen = NRCLex(teks[i]) #Buat objek untuk setiap teks
Langkah 5 - emosi.emosi_tertinggi #Klasifikasikan emosi
import nrclex from nrclex import NRCLex # Assign list of strings text = ['innocent','hate', 'irritating','annoying'] # Iterate through list for i in range(len(text)): # Create object emotion = NRCLex(text[i]) # Classify emotion print('\n\n', text[i], ': ', emotion.top_emotions)
innocent : [('trust', 0.5), ('positive', 0.5)] hate : [('fear', 0.2), ('anger', 0.2), ('negative', 0.2), ('sadness', 0.2), ('disgust', 0.2)] irritating : [('anger', 0.3333333333333333), ('negative', 0.3333333333333333), ('disgust', 0.3333333333333333)] annoying : [('anger', 0.5), ('negative', 0.5)]
Kamus Sentimen NRC digunakan secara meluas dalam analisis sentimen dan tugas klasifikasi sentimen dalam penyelidikan dan industri. Ini bermakna terdapat komuniti besar pengguna dan sumber yang tersedia untuk sokongan dan pembangunan selanjutnya. NRCLex juga menggunakan Terjemahan Google untuk menyediakan output yang stabil untuk lebih daripada 100 bahasa di seluruh dunia, berjaya memecahkan halangan bahasa. Ini mempunyai pelbagai aplikasi dalam penjagaan kesihatan dan boleh membantu memahami tindak balas wabak. Aplikasi praktikal termasuk psikologi dan sains tingkah laku, pengesanan berita palsu dan interaksi manusia-komputer yang dipertingkatkan.
Atas ialah kandungan terperinci Klasifikasi sentimen menggunakan kamus NRC dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!