# config.py from transformers import AutoTokenizer, AutoModelForSequenceClassification # 모델 및 토크나이저 로드 model_name = "hun3359/klue-bert-base-sentiment" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSequenceClassification.from_pretrained(model_name) # 라벨 매핑 label_mapping = { 0: '분노', 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: '상처', 31: '질투하는', 32: '배신당한', 33: '고립된', 34: '충격 받은', 35: '가난한 불우한', 36: '희생된', 37: '억울한', 38: '괴로워하는', 39: '버려진', 40: '당황', 41: '고립된(당황한)', 42: '남의 시선을 의식하는', 43: '외로운', 44: '열등감', 45: '죄책감의', 46: '부끄러운', 47: '혐오스러운', 48: '한심한', 49: '혼란스러운(당황한)', 50: '기쁨', 51: '감사하는', 52: '신뢰하는', 53: '편안한', 54: '만족스러운', 55: '흥분', 56: '느긋', 57: '안도', 58: '신이 난', 59: '자신하는' } # Big5 차원 정의 big5_dimensions = ['Openness', 'Conscientiousness', 'Extraversion', 'Agreeableness', 'Neuroticism'] # 감정-Big5 연관성 사전 정의 emotion_big5_priors = { # 분노 관련 (0-9) '분노': {'Openness': -0.1, 'Conscientiousness': -0.3, 'Extraversion': 0.2, 'Agreeableness': -0.7, 'Neuroticism': 0.8}, '툴툴대는': {'Openness': -0.2, 'Conscientiousness': -0.4, 'Extraversion': -0.1, 'Agreeableness': -0.6, 'Neuroticism': 0.7}, '좌절한': {'Openness': -0.1, 'Conscientiousness': -0.2, 'Extraversion': -0.3, 'Agreeableness': -0.2, 'Neuroticism': 0.8}, '짜증내는': {'Openness': -0.1, 'Conscientiousness': -0.3, 'Extraversion': 0.1, 'Agreeableness': -0.6, 'Neuroticism': 0.7}, '방어적인': {'Openness': -0.3, 'Conscientiousness': 0.1, 'Extraversion': -0.2, 'Agreeableness': -0.5, 'Neuroticism': 0.6}, '악의적인': {'Openness': -0.2, 'Conscientiousness': -0.4, 'Extraversion': 0.0, 'Agreeableness': -0.8, 'Neuroticism': 0.4}, '안달하는': {'Openness': 0.0, 'Conscientiousness': -0.2, 'Extraversion': 0.3, 'Agreeableness': -0.3, 'Neuroticism': 0.8}, '구역질 나는': {'Openness': -0.1, 'Conscientiousness': 0.0, 'Extraversion': -0.4, 'Agreeableness': -0.3, 'Neuroticism': 0.7}, '노여워하는': {'Openness': -0.1, 'Conscientiousness': -0.2, 'Extraversion': 0.2, 'Agreeableness': -0.7, 'Neuroticism': 0.8}, '성가신': {'Openness': -0.2, 'Conscientiousness': -0.3, 'Extraversion': 0.0, 'Agreeableness': -0.5, 'Neuroticism': 0.6}, # 슬픔 관련 (10-19) '슬픔': {'Openness': 0.1, 'Conscientiousness': -0.1, 'Extraversion': -0.6, 'Agreeableness': 0.2, 'Neuroticism': 0.8}, '실망한': {'Openness': 0.0, 'Conscientiousness': -0.2, 'Extraversion': -0.4, 'Agreeableness': 0.1, 'Neuroticism': 0.7}, '비통한': {'Openness': 0.2, 'Conscientiousness': -0.1, 'Extraversion': -0.7, 'Agreeableness': 0.3, 'Neuroticism': 0.9}, '후회되는': {'Openness': 0.1, 'Conscientiousness': -0.3, 'Extraversion': -0.3, 'Agreeableness': 0.2, 'Neuroticism': 0.7}, '우울한': {'Openness': 0.0, 'Conscientiousness': -0.4, 'Extraversion': -0.8, 'Agreeableness': 0.0, 'Neuroticism': 0.9}, '마비된': {'Openness': -0.2, 'Conscientiousness': -0.5, 'Extraversion': -0.7, 'Agreeableness': 0.0, 'Neuroticism': 0.8}, '염세적인': {'Openness': 0.0, 'Conscientiousness': -0.3, 'Extraversion': -0.5, 'Agreeableness': -0.2, 'Neuroticism': 0.7}, '눈물이 나는': {'Openness': 0.2, 'Conscientiousness': 0.0, 'Extraversion': -0.4, 'Agreeableness': 0.3, 'Neuroticism': 0.8}, '낙담한': {'Openness': 0.0, 'Conscientiousness': -0.3, 'Extraversion': -0.6, 'Agreeableness': 0.1, 'Neuroticism': 0.8}, '환멸을 느끼는': {'Openness': 0.1, 'Conscientiousness': -0.2, 'Extraversion': -0.4, 'Agreeableness': -0.3, 'Neuroticism': 0.6}, # 불안 관련 (20-29) '불안': {'Openness': 0.0, 'Conscientiousness': -0.1, 'Extraversion': -0.4, 'Agreeableness': 0.1, 'Neuroticism': 0.9}, '두려운': {'Openness': -0.1, 'Conscientiousness': 0.0, 'Extraversion': -0.5, 'Agreeableness': 0.2, 'Neuroticism': 0.8}, '스트레스 받는': {'Openness': 0.0, 'Conscientiousness': -0.2, 'Extraversion': -0.3, 'Agreeableness': -0.1, 'Neuroticism': 0.9}, '취약한': {'Openness': 0.1, 'Conscientiousness': -0.3, 'Extraversion': -0.6, 'Agreeableness': 0.3, 'Neuroticism': 0.8}, '혼란스러운': {'Openness': -0.1, 'Conscientiousness': -0.4, 'Extraversion': -0.2, 'Agreeableness': 0.0, 'Neuroticism': 0.7}, '당혹스러운': {'Openness': -0.2, 'Conscientiousness': -0.2, 'Extraversion': -0.3, 'Agreeableness': 0.1, 'Neuroticism': 0.6}, '회의적인': {'Openness': 0.2, 'Conscientiousness': 0.1, 'Extraversion': -0.2, 'Agreeableness': -0.3, 'Neuroticism': 0.4}, '걱정스러운': {'Openness': 0.0, 'Conscientiousness': 0.2, 'Extraversion': -0.3, 'Agreeableness': 0.3, 'Neuroticism': 0.8}, '조심스러운': {'Openness': -0.1, 'Conscientiousness': 0.4, 'Extraversion': -0.4, 'Agreeableness': 0.2, 'Neuroticism': 0.5}, '초조한': {'Openness': 0.0, 'Conscientiousness': -0.1, 'Extraversion': 0.1, 'Agreeableness': -0.1, 'Neuroticism': 0.8}, # 상처 관련 (30-39) '상처': {'Openness': 0.1, 'Conscientiousness': 0.0, 'Extraversion': -0.4, 'Agreeableness': 0.2, 'Neuroticism': 0.8}, '질투하는': {'Openness': 0.0, 'Conscientiousness': -0.2, 'Extraversion': 0.1, 'Agreeableness': -0.6, 'Neuroticism': 0.7}, '배신당한': {'Openness': 0.0, 'Conscientiousness': 0.1, 'Extraversion': -0.3, 'Agreeableness': -0.2, 'Neuroticism': 0.8}, '고립된': {'Openness': 0.0, 'Conscientiousness': -0.1, 'Extraversion': -0.8, 'Agreeableness': 0.1, 'Neuroticism': 0.7}, '충격 받은': {'Openness': 0.1, 'Conscientiousness': -0.1, 'Extraversion': -0.3, 'Agreeableness': 0.0, 'Neuroticism': 0.8}, '가난한 불우한': {'Openness': 0.0, 'Conscientiousness': -0.2, 'Extraversion': -0.4, 'Agreeableness': 0.2, 'Neuroticism': 0.6}, '희생된': {'Openness': 0.1, 'Conscientiousness': 0.2, 'Extraversion': -0.2, 'Agreeableness': 0.4, 'Neuroticism': 0.6}, '억울한': {'Openness': 0.0, 'Conscientiousness': 0.1, 'Extraversion': -0.1, 'Agreeableness': -0.2, 'Neuroticism': 0.7}, '괴로워하는': {'Openness': 0.1, 'Conscientiousness': -0.1, 'Extraversion': -0.5, 'Agreeableness': 0.2, 'Neuroticism': 0.9}, '버려진': {'Openness': 0.0, 'Conscientiousness': -0.2, 'Extraversion': -0.7, 'Agreeableness': 0.1, 'Neuroticism': 0.8}, # 당황 관련 (40-49) '당황': {'Openness': -0.1, 'Conscientiousness': -0.2, 'Extraversion': -0.4, 'Agreeableness': 0.1, 'Neuroticism': 0.7}, '고립된(당황한)': {'Openness': -0.1, 'Conscientiousness': -0.1, 'Extraversion': -0.8, 'Agreeableness': 0.0, 'Neuroticism': 0.7}, '남의 시선을 의식하는': {'Openness': -0.2, 'Conscientiousness': 0.1, 'Extraversion': -0.3, 'Agreeableness': 0.2, 'Neuroticism': 0.6}, '외로운': {'Openness': 0.0, 'Conscientiousness': 0.0, 'Extraversion': -0.8, 'Agreeableness': 0.1, 'Neuroticism': 0.7}, '열등감': {'Openness': -0.1, 'Conscientiousness': -0.3, 'Extraversion': -0.5, 'Agreeableness': 0.0, 'Neuroticism': 0.8}, '죄책감의': {'Openness': 0.1, 'Conscientiousness': 0.3, 'Extraversion': -0.2, 'Agreeableness': 0.4, 'Neuroticism': 0.7}, '부끄러운': {'Openness': -0.1, 'Conscientiousness': 0.0, 'Extraversion': -0.5, 'Agreeableness': 0.2, 'Neuroticism': 0.6}, '혐오스러운': {'Openness': -0.2, 'Conscientiousness': 0.0, 'Extraversion': -0.2, 'Agreeableness': -0.5, 'Neuroticism': 0.5}, '한심한': {'Openness': -0.2, 'Conscientiousness': -0.3, 'Extraversion': -0.4, 'Agreeableness': -0.2, 'Neuroticism': 0.6}, '혼란스러운(당황한)': {'Openness': -0.2, 'Conscientiousness': -0.3, 'Extraversion': -0.3, 'Agreeableness': 0.0, 'Neuroticism': 0.7}, # 기쁨 관련 (50-59) '기쁨': {'Openness': 0.3, 'Conscientiousness': 0.2, 'Extraversion': 0.7, 'Agreeableness': 0.4, 'Neuroticism': -0.6}, '감사하는': {'Openness': 0.2, 'Conscientiousness': 0.3, 'Extraversion': 0.3, 'Agreeableness': 0.7, 'Neuroticism': -0.4}, '신뢰하는': {'Openness': 0.1, 'Conscientiousness': 0.4, 'Extraversion': 0.2, 'Agreeableness': 0.8, 'Neuroticism': -0.5}, '편안한': {'Openness': 0.1, 'Conscientiousness': 0.3, 'Extraversion': 0.1, 'Agreeableness': 0.3, 'Neuroticism': -0.7}, '만족스러운': {'Openness': 0.2, 'Conscientiousness': 0.4, 'Extraversion': 0.3, 'Agreeableness': 0.2, 'Neuroticism': -0.6}, '흥분': {'Openness': 0.4, 'Conscientiousness': 0.0, 'Extraversion': 0.8, 'Agreeableness': 0.1, 'Neuroticism': 0.2}, '느긋': {'Openness': 0.2, 'Conscientiousness': -0.2, 'Extraversion': 0.1, 'Agreeableness': 0.3, 'Neuroticism': -0.8}, '안도': {'Openness': 0.0, 'Conscientiousness': 0.1, 'Extraversion': 0.0, 'Agreeableness': 0.2, 'Neuroticism': -0.7}, '신이 난': {'Openness': 0.3, 'Conscientiousness': 0.0, 'Extraversion': 0.8, 'Agreeableness': 0.3, 'Neuroticism': -0.3}, '자신하는': {'Openness': 0.2, 'Conscientiousness': 0.5, 'Extraversion': 0.6, 'Agreeableness': 0.1, 'Neuroticism': -0.6} }