Minej/bert-base-personality

Minej
Clasificación de texto

Transferencia de aprendizaje para la predicción de la personalidad de los cinco grandes. En el aprendizaje automático, entrenar modelos precisos puede ser un desafío cuando los datos etiquetados son limitados. La transferencia de aprendizaje ofrece una solución al aprovechar los datos etiquetados preexistentes de una tarea o dominio similar. Al transferir conocimientos aprendidos de una tarea a otra, podemos superar la escasez de datos y entrenar modelos más efectivos. En este proyecto, utilizamos la transferencia de aprendizaje con el modelo BERT BASE UNCASED para predecir los rasgos de personalidad de los Cinco Grandes. El modelo se afinó en un conjunto de datos curado para rasgos de personalidad, aprendiendo patrones entre el texto de entrada y las características de la personalidad. Al aplicar la transferencia de aprendizaje, mejoramos la precisión de las predicciones de rasgos de personalidad. Al aprovechar la transferencia de aprendizaje y ajustar BERT BASE UNCASED, podemos predecir con precisión los rasgos de personalidad de una persona basándonos en su texto de entrada. Este enfoque aborda los desafíos de los datos etiquetados limitados en la predicción de personalidad, proporcionando información sobre las personalidades de los individuos. Este proyecto muestra el poder de la transferencia de aprendizaje en el aprendizaje automático y destaca la efectividad de BERT BASE UNCASED para predecir los rasgos de personalidad de los Cinco Grandes.

Como usar

Para utilizar el modelo a través de la API de inferencia alojada, siga el fragmento de código proporcionado a continuación:

from transformers import BertTokenizer, BertForSequenceClassification

def personality_detection(text):
    tokenizer = BertTokenizer.from_pretrained('Minej/bert-base-personality')
    model = BertForSequenceClassification.from_pretrained('Minej/bert-base-personality')

    inputs = tokenizer(text, truncation=True, padding=True, return_tensors='pt')
    outputs = model(**inputs)
    predictions = outputs.logits.squeeze().detach().numpy()

    label_names = ['Extroversion', 'Neuroticism', 'Agreeableness', 'Conscientiousness', 'Openness']
    result = {label_names[i]: predictions[i] for i in range(len(label_names))}

    return result

text_input = 'I am feeling excited about the upcoming event.'
personality_prediction = personality_detection(text_input)

print(personality_prediction)

El formato de resultado, la función personality_detection, devuelve un diccionario que contiene los rasgos de personalidad predichos según el texto de entrada dado. El diccionario contiene los siguientes rasgos de personalidad con sus valores predichos correspondientes:

  • Extroversión: Un valor entre 0 y 1 que representa el rasgo de extroversión predicho.
  • Neuroticismo: Un valor entre 0 y 1 que representa el rasgo de neuroticismo predicho.
  • Amabilidad: Un valor entre 0 y 1 que representa el rasgo de amabilidad predicho.
  • Conciencia: Un valor entre 0 y 1 que representa el rasgo de conciencia predicho.
  • Apertura: Un valor entre 0 y 1 que representa el rasgo de apertura predicho.

Funcionalidades

Clasificación de texto
Transformadores
PyTorch
Safetensors

Casos de uso

Predicción directa de personalidad para individuos que estén interesados en obtener una visión sobre sus propios rasgos de personalidad basándose en su texto de entrada.
No está diseñado para uso en tareas específicas o ajustes para tareas particulares. Está pensado como un modelo independiente de predicción de personalidad.