File size: 884 Bytes
8ab24ef
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
30
# app.py

import gradio as gr
import joblib
import numpy as np
from feature_extraction.pipeline import text_to_features

# Load pretrained Random Forest model for Openness
model = joblib.load("models/openness_rf.pkl")

def predict_openness(text):
    try:
        vec = text_to_features(text)  # shape: (1, dim)
        pred = model.predict(vec)[0]  # already "low", "medium", or "high"
        return f"Predicted Openness: **{pred.upper()}**"
    except Exception as e:
        return f"Error: {str(e)}"

# Gradio UI
demo = gr.Interface(
    fn=predict_openness,
    inputs=gr.Textbox(lines=6, placeholder="Enter your thoughts here..."),
    outputs=gr.Markdown(),
    title="Big Five Personality Prediction",
    description="This model predicts **Openness** based on your text using BERT + LIWC features.",
    allow_flagging="never"
)

if __name__ == "__main__":
    demo.launch()