Muchas veces, para proyectos del mundo real, el reconocimiento de emociones suele ser solo el comienzo del proyecto. Ese tiempo escribiendo un código completo en eso no solo aumentará el tiempo sino que también se obstaculizará la eficiencia.
NRCLexicon es un proyecto pypi aprobado por el MIT de Mark M. Bailey que predice los sentimientos y la emoción de un texto determinado. El paquete contiene aproximadamente 27.000 palabras y se basa en el léxico de afecto del Consejo Nacional de Investigación de Canadá (NRC) y en los conjuntos de sinónimos de WordNet de la biblioteca NLTK .
Instalación:
Para instalar este módulo, escriba el siguiente comando en la terminal.
pip install NRCLex
Incluso después de la instalación de este módulo, MissingCorpusError puede ocurrir mientras se ejecutan programas. Por lo tanto, se recomienda instalar también textblob.download_corpora utilizando el siguiente comando en el símbolo del sistema.
python -m textblob.download_corpora
Acercarse:
- Importar el módulo
Python3
# Import required modules from nrclex import NRCLex
- Asignar texto de entrada
Python3
# Assigning list of words text = ['hate', 'lovely', 'person', 'worst']
- Cree un objeto NRCLex para cada texto de entrada.
Python3
for i in range(len(text)): # creating objects emotion = NRCLex(text[i])
- Aplicar métodos para clasificar las emociones.
Sr. | Método | Descripción |
---|---|---|
1 | emoción.palabras | Devolver lista de palabras. |
2 | emociones.frases | Lista de frases de retorno. |
3 | emoción.affect_list | Lista de efectos de retorno. |
4 | emoción.affect_dict | Diccionario de afecto de retorno. |
5 | emoción.raw_emotion_scores | Devuelve los recuentos emocionales en bruto. |
6 | emoción.top_emotions | Devuelve las emociones más altas. |
7 | emoción.affect_frequencies | Frecuencias de efecto de retorno. |
- Los afectos emocionales medidos incluyen lo siguiente:
- miedo
- enfado
- anticipación
- confianza
- sorpresa
- positivo
- negativo
- tristeza
- asco
- alegría
A continuación se muestra la implementación.
Ejemplo 1:
Basado en el enfoque anterior, el siguiente ejemplo clasifica varias emociones usando top_emotions.
Python3
# Import module from nrclex import NRCLex # Assign list of strings text = ['hate', 'lovely', 'person', 'worst'] # 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)
Producción:
Ejemplo 2:
Aquí se clasifica una sola emoción amor utilizando todos los métodos del módulo NCRLex .
Python3
# Import module from nrclex import NRCLex # Assign emotion text = 'love' # Create object emotion = NRCLex(text) # Using methods to classigy emotion print('\n', emotion.words) print('\n', emotion.sentences) print('\n', emotion.affect_list) print('\n', emotion.affect_dict) print('\n', emotion.raw_emotion_scores) print('\n', emotion.top_emotions) print('\n', emotion.affect_frequencies)
Producción:
Publicación traducida automáticamente
Artículo escrito por tedious_wings y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA