File size: 1,153 Bytes
ec213f4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
512caf5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import gradio as gr
from transformers import BertTokenizer, BertForSequenceClassification
import torch

# Load the model and tokenizer
tokenizer = BertTokenizer.from_pretrained("Minej/bert-base-personality")
model = BertForSequenceClassification.from_pretrained("Minej/bert-base-personality")

# Define the personality detection function
def personality_detection(text):
    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

# Set up Gradio Interface
interface = gr.Interface(
    fn=personality_detection,
    inputs=gr.Textbox(lines=5, placeholder="Enter text for personality detection..."),
    outputs=gr.Label(num_top_classes=5),
    title="Personality Detection from Text",
    description="This app detects personality traits based on the input text using a fine-tuned BERT model."
)

# Launch the app
interface.launch(share=True)