From dd1a4cd731cff4746a79ded0097b59a2b538c780 Mon Sep 17 00:00:00 2001 From: DrSmoothl <1787882683@qq.com> Date: Fri, 21 Mar 2025 13:31:54 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=BF=87Ruff=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/personality/big5_test.py | 6 ++--- src/plugins/personality/combined_test.py | 13 ++++++----- src/plugins/personality/questionnaire.py | 29 ++++++++++++++++++------ src/plugins/personality/renqingziji.py | 23 +++++++++++-------- src/plugins/personality/scene.py | 18 +++++++++------ 5 files changed, 56 insertions(+), 33 deletions(-) diff --git a/src/plugins/personality/big5_test.py b/src/plugins/personality/big5_test.py index 80114ec36..e77dfbc4f 100644 --- a/src/plugins/personality/big5_test.py +++ b/src/plugins/personality/big5_test.py @@ -4,9 +4,10 @@ # from .questionnaire import PERSONALITY_QUESTIONS, FACTOR_DESCRIPTIONS import os +import random import sys from pathlib import Path -import random +from src.plugins.personality.questionnaire import PERSONALITY_QUESTIONS,FACTOR_DESCRIPTIONS current_dir = Path(__file__).resolve().parent project_root = current_dir.parent.parent.parent @@ -15,9 +16,6 @@ env_path = project_root / ".env.prod" root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../..")) sys.path.append(root_path) -from src.plugins.personality.scene import get_scene_by_factor,get_all_scenes,PERSONALITY_SCENES -from src.plugins.personality.questionnaire import PERSONALITY_QUESTIONS,FACTOR_DESCRIPTIONS -from src.plugins.personality.offline_llm import LLMModel diff --git a/src/plugins/personality/combined_test.py b/src/plugins/personality/combined_test.py index a842847fb..2aaca4266 100644 --- a/src/plugins/personality/combined_test.py +++ b/src/plugins/personality/combined_test.py @@ -1,11 +1,14 @@ -from typing import Dict, List import json import os -from pathlib import Path +import random import sys from datetime import datetime -import random +from pathlib import Path +from typing import Dict from scipy import stats # 添加scipy导入用于t检验 +from src.plugins.personality.big5_test import BigFiveTest +from src.plugins.personality.renqingziji import PersonalityEvaluator_direct +from src.plugins.personality.questionnaire import FACTOR_DESCRIPTIONS, PERSONALITY_QUESTIONS current_dir = Path(__file__).resolve().parent project_root = current_dir.parent.parent.parent @@ -14,9 +17,7 @@ env_path = project_root / ".env.prod" root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../..")) sys.path.append(root_path) -from src.plugins.personality.big5_test import BigFiveTest -from src.plugins.personality.renqingziji import PersonalityEvaluator_direct -from src.plugins.personality.questionnaire import FACTOR_DESCRIPTIONS, PERSONALITY_QUESTIONS + class CombinedPersonalityTest: def __init__(self): diff --git a/src/plugins/personality/questionnaire.py b/src/plugins/personality/questionnaire.py index 4afff1185..c6d1de068 100644 --- a/src/plugins/personality/questionnaire.py +++ b/src/plugins/personality/questionnaire.py @@ -1,4 +1,5 @@ -# 人格测试问卷题目 王孟成, 戴晓阳, & 姚树桥. (2011). 中国大五人格问卷的初步编制Ⅲ:简式版的制定及信效度检验. 中国临床心理学杂志, 19(04), Article 04. +# 人格测试问卷题目 王孟成, 戴晓阳, & 姚树桥. (2011). 中国大五人格问卷的初步编制Ⅲ:简式版的制定及信效度检验. 中国临床心理学杂志, +# 19(04), Article 04. # 王孟成, 戴晓阳, & 姚树桥. (2010). 中国大五人格问卷的初步编制Ⅰ:理论框架与信度分析. 中国临床心理学杂志, 18(05), Article 05. PERSONALITY_QUESTIONS = [ @@ -23,7 +24,11 @@ PERSONALITY_QUESTIONS = [ {"id": 16, "content": "我是个倾尽全力做事的人", "factor": "严谨性", "reverse_scoring": False}, # 宜人性维度 (F3) - {"id": 17, "content": "尽管人类社会存在着一些阴暗的东西(如战争、罪恶、欺诈),我仍然相信人性总的来说是善良的", "factor": "宜人性", "reverse_scoring": False}, + {"id": 17, + "content": "尽管人类社会存在着一些阴暗的东西(如战争、罪恶、欺诈),我仍然相信人性总的来说是善良的", + "factor": "宜人性", + "reverse_scoring": False + }, {"id": 18, "content": "我觉得大部分人基本上是心怀善意的", "factor": "宜人性", "reverse_scoring": False}, {"id": 19, "content": "虽然社会上有骗子,但我觉得大部分人还是可信的", "factor": "宜人性", "reverse_scoring": False}, {"id": 20, "content": "我不太关心别人是否受到不公正的待遇", "factor": "宜人性", "reverse_scoring": True}, @@ -56,7 +61,9 @@ PERSONALITY_QUESTIONS = [ # 因子维度说明 FACTOR_DESCRIPTIONS = { "外向性": { - "description": "反映个体神经系统的强弱和动力特征。外向性主要表现为个体在人际交往和社交活动中的倾向性,包括对社交活动的兴趣、对人群的态度、社交互动中的主动程度以及在群体中的影响力。高分者倾向于积极参与社交活动,乐于与人交往,善于表达自我,并往往在群体中发挥领导作用;低分者则倾向于独处,不喜欢热闹的社交场合,表现出内向、安静的特征。", + "description": "反映个体神经系统的强弱和动力特征。外向性主要表现为个体在人际交往和社交活动中的倾向性,包括对社交活动的兴趣、对人 \ + 群的态度、社交互动中的主动程度以及在群体中的影响力。高分者倾向于积极参与社交活动,乐于与人交往,善于表达自我,并往往在群体中发挥领导 \ + 作用;低分者则倾向于独处,不喜欢热闹的社交场合,表现出内向、安静的特征。", "trait_words": ["热情", "活力", "社交", "主动"], "subfactors": { "合群性": "个体愿意与他人聚在一起,即接近人群的倾向;高分表现乐群、好交际,低分表现封闭、独处", @@ -66,7 +73,9 @@ FACTOR_DESCRIPTIONS = { } }, "神经质": { - "description": "反映个体情绪的状态和体验内心苦恼的倾向性。这个维度主要关注个体在面对压力、挫折和日常生活挑战时的情绪稳定性和适应能力。它包含了对焦虑、抑郁、愤怒等负面情绪的敏感程度,以及个体对这些情绪的调节和控制能力。高分者容易体验负面情绪,对压力较为敏感,情绪波动较大;低分者则表现出较强的情绪稳定性,能够较好地应对压力和挫折。", + "description": "反映个体情绪的状态和体验内心苦恼的倾向性。这个维度主要关注个体在面对压力、挫折和日常生活挑战时的情绪稳定性和适应能 \ + 力。它包含了对焦虑、抑郁、愤怒等负面情绪的敏感程度,以及个体对这些情绪的调节和控制能力。高分者容易体验负面情绪,对压力较为敏感,情绪波 \ + 动较大;低分者则表现出较强的情绪稳定性,能够较好地应对压力和挫折。", "trait_words": ["稳定", "沉着", "从容", "坚韧"], "subfactors": { "焦虑": "个体体验焦虑感的个体差异;高分表现坐立不安,低分表现平静", @@ -77,7 +86,9 @@ FACTOR_DESCRIPTIONS = { } }, "严谨性": { - "description": "反映个体在目标导向行为上的组织、坚持和动机特征。这个维度体现了个体在工作、学习等目标性活动中的自我约束和行为管理能力。它涉及到个体的责任感、自律性、计划性、条理性以及完成任务的态度。高分者往往表现出强烈的责任心、良好的组织能力、谨慎的决策风格和持续的努力精神;低分者则可能表现出随意性强、缺乏规划、做事马虎或易放弃的特点。", + "description": "反映个体在目标导向行为上的组织、坚持和动机特征。这个维度体现了个体在工作、学习等目标性活动中的自我约束和行为管理能 \ + 力。它涉及到个体的责任感、自律性、计划性、条理性以及完成任务的态度。高分者往往表现出强烈的责任心、良好的组织能力、谨慎的决策风格和持续的 \ + 努力精神;低分者则可能表现出随意性强、缺乏规划、做事马虎或易放弃的特点。", "trait_words": ["负责", "自律", "条理", "勤奋"], "subfactors": { "责任心": "个体对待任务和他人认真负责,以及对自己承诺的信守;高分表现有责任心、负责任,低分表现推卸责任、逃避处罚", @@ -88,7 +99,9 @@ FACTOR_DESCRIPTIONS = { } }, "开放性": { - "description": "反映个体对新异事物、新观念和新经验的接受程度,以及在思维和行为方面的创新倾向。这个维度体现了个体在认知和体验方面的广度、深度和灵活性。它包括对艺术的欣赏能力、对知识的求知欲、想象力的丰富程度,以及对冒险和创新的态度。高分者往往具有丰富的想象力、广泛的兴趣、开放的思维方式和创新的倾向;低分者则倾向于保守、传统,喜欢熟悉和常规的事物。", + "description": "反映个体对新异事物、新观念和新经验的接受程度,以及在思维和行为方面的创新倾向。这个维度体现了个体在认知和体验方面的 \ + 广度、深度和灵活性。它包括对艺术的欣赏能力、对知识的求知欲、想象力的丰富程度,以及对冒险和创新的态度。高分者往往具有丰富的想象力、广泛的 \ + 兴趣、开放的思维方式和创新的倾向;低分者则倾向于保守、传统,喜欢熟悉和常规的事物。", "trait_words": ["创新", "好奇", "艺术", "冒险"], "subfactors": { "幻想": "个体富于幻想和想象的水平;高分表现想象力丰富,低分表现想象力匮乏", @@ -99,7 +112,9 @@ FACTOR_DESCRIPTIONS = { } }, "宜人性": { - "description": "反映个体在人际关系中的亲和倾向,体现了对他人的关心、同情和合作意愿。这个维度主要关注个体与他人互动时的态度和行为特征,包括对他人的信任程度、同理心水平、助人意愿以及在人际冲突中的处理方式。高分者通常表现出友善、富有同情心、乐于助人的特质,善于与他人建立和谐关系;低分者则可能表现出较少的人际关注,在社交互动中更注重自身利益,较少考虑他人感受。", + "description": "反映个体在人际关系中的亲和倾向,体现了对他人的关心、同情和合作意愿。这个维度主要关注个体与他人互动时的态度和行为特 \ + 征,包括对他人的信任程度、同理心水平、助人意愿以及在人际冲突中的处理方式。高分者通常表现出友善、富有同情心、乐于助人的特质,善于与他人 \ + 建立和谐关系;低分者则可能表现出较少的人际关注,在社交互动中更注重自身利益,较少考虑他人感受。", "trait_words": ["友善", "同理", "信任", "合作"], "subfactors": { "信任": "个体对他人和/或他人言论的相信程度;高分表现信任他人,低分表现怀疑", diff --git a/src/plugins/personality/renqingziji.py b/src/plugins/personality/renqingziji.py index b3a3e267e..5431f4e68 100644 --- a/src/plugins/personality/renqingziji.py +++ b/src/plugins/personality/renqingziji.py @@ -1,17 +1,25 @@ ''' -The definition of artificial personality in this paper follows the dispositional para-digm and adapts a definition of personality developed for humans [17]: +The definition of artificial personality in this paper follows the dispositional para-digm and adapts a definition of +personality developed for humans [17]: Personality for a human is the "whole and organisation of relatively stable tendencies and patterns of experience and -behaviour within one person (distinguishing it from other persons)". This definition is modified for artificial personality: -Artificial personality describes the relatively stable tendencies and patterns of behav-iour of an AI-based machine that +behaviour within one person (distinguishing it from other persons)". +This definition is modified for artificial personality: +Artificial personality describes the relatively stable tendencies +and patterns of behav-iour of an AI-based machine that can be designed by developers and designers via different modalities, such as language, creating the impression of individuality of a humanized social agent when users interact with the machine.''' -from typing import Dict, List import json import os -from pathlib import Path -from dotenv import load_dotenv import sys +from pathlib import Path +from typing import Dict, List + +from dotenv import load_dotenv + +from src.plugins.personality.offline_llm import LLMModel +from src.plugins.personality.questionnaire import FACTOR_DESCRIPTIONS +from src.plugins.personality.scene import get_scene_by_factor, PERSONALITY_SCENES ''' 第一种方案:基于情景评估的人格测定 @@ -23,9 +31,6 @@ env_path = project_root / ".env.prod" root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../..")) sys.path.append(root_path) -from src.plugins.personality.scene import get_scene_by_factor,get_all_scenes,PERSONALITY_SCENES -from src.plugins.personality.questionnaire import PERSONALITY_QUESTIONS,FACTOR_DESCRIPTIONS -from src.plugins.personality.offline_llm import LLMModel # 加载环境变量 if env_path.exists(): diff --git a/src/plugins/personality/scene.py b/src/plugins/personality/scene.py index 936b07a3e..9bf3b4ec1 100644 --- a/src/plugins/personality/scene.py +++ b/src/plugins/personality/scene.py @@ -1,4 +1,4 @@ -from typing import Dict, List +from typing import Dict PERSONALITY_SCENES = { "外向性": { @@ -44,11 +44,12 @@ PERSONALITY_SCENES = { "神经质": { "场景1": { - "scenario": """你正在准备一个重要的项目演示,这关系到你的晋升机会。就在演示前30分钟,你收到了主管发来的消息: - + "scenario": """你正在准备一个重要的项目演示,这关系到你的晋升机会。就在演示前30分钟 +,你收到了主管发来的消息: 主管:「临时有个变动,CEO也会来听你的演示。他对这个项目特别感兴趣。」 -正当你准备回复时,主管又发来一条:「对了,能不能把演示时间压缩到15分钟?CEO下午还有其他安排。你之前准备的是30分钟的版本对吧?」""", +正当你准备回复时,主管又发来一条:「对了,能不能把演示时间压缩到15分钟?CEO下午还有其他安排。 +你之前准备的是30分钟的版本对吧?」""", "explanation": "这个场景通过突发的压力情境,观察个体在面对计划外变化时的情绪反应和调节能力。" }, "场景2": { @@ -142,9 +143,11 @@ PERSONALITY_SCENES = { "场景1": { "scenario": """周末下午,你的好友小美兴致勃勃地给你打电话: -小美:「我刚发现一个特别有意思的沉浸式艺术展!不是传统那种挂画的展览,而是把整个空间都变成了艺术品。观众要穿特制的服装,还要带上VR眼镜,好像还有AI实时互动!」 +小美:「我刚发现一个特别有意思的沉浸式艺术展!不是传统那种挂画的展览,而是把整个空间都变成了艺术品。观众要穿特制的服装, +还要带上VR眼镜,好像还有AI实时互动!」 -小美继续说:「虽然票价不便宜,但听说体验很独特。网上评价两极分化,有人说是前所未有的艺术革新,也有人说是哗众取宠。要不要周末一起去体验一下?」""", +小美继续说:「虽然票价不便宜,但听说体验很独特。网上评价两极分化,有人说是前所未有的艺术革新, +也有人说是哗众取宠。要不要周末一起去体验一下?」""", "explanation": "这个场景通过新型艺术体验,反映个体对创新事物的接受程度和尝试意愿。" }, "场景2": { @@ -158,7 +161,8 @@ PERSONALITY_SCENES = { "场景3": { "scenario": """在社交媒体上,你看到一个朋友分享了一种新的生活方式: -「最近我在尝试'数字游牧'生活,就是一边远程工作一边环游世界。没有固定住所,住青旅或短租,认识来自世界各地的朋友。虽然有时会很不稳定,但这种自由的生活方式真的很棒!」 +「最近我在尝试'数字游牧'生活,就是一边远程工作一边环游世界。没有固定住所,住青旅或短租,认识来自世界各地的朋友。 +虽然有时会很不稳定,但这种自由的生活方式真的很棒!」 评论区里争论不断,有人向往这种生活,也有人觉得太冒险。""", "explanation": "通过另类生活方式,观察个体对非传统选择的态度。" From 94ba8e0927c576328256633b3256aa10817bd0d4 Mon Sep 17 00:00:00 2001 From: DrSmoothl <1787882683@qq.com> Date: Fri, 21 Mar 2025 13:36:09 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=BF=87Ruff=E6=A3=80=E6=B5=8B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/personality/combined_test.py | 2 +- src/plugins/personality/questionnaire.py | 165 +++++++++++++++-------- 2 files changed, 108 insertions(+), 59 deletions(-) diff --git a/src/plugins/personality/combined_test.py b/src/plugins/personality/combined_test.py index 2aaca4266..96ca3736a 100644 --- a/src/plugins/personality/combined_test.py +++ b/src/plugins/personality/combined_test.py @@ -245,7 +245,7 @@ class CombinedPersonalityTest: # 对所有维度进行整体t检验 t_stat, p_value = stats.ttest_rel(questionnaire_values, scenario_values) - print(f"\n整体统计分析:") + print("\n整体统计分析:") print(f"平均差异: {mean_diff:.3f}") print(f"差异标准差: {std_diff:.3f}") print(f"效应量(Cohen's d): {cohens_d:.3f}") diff --git a/src/plugins/personality/questionnaire.py b/src/plugins/personality/questionnaire.py index c6d1de068..0366b1c27 100644 --- a/src/plugins/personality/questionnaire.py +++ b/src/plugins/personality/questionnaire.py @@ -1,6 +1,7 @@ -# 人格测试问卷题目 王孟成, 戴晓阳, & 姚树桥. (2011). 中国大五人格问卷的初步编制Ⅲ:简式版的制定及信效度检验. 中国临床心理学杂志, -# 19(04), Article 04. -# 王孟成, 戴晓阳, & 姚树桥. (2010). 中国大五人格问卷的初步编制Ⅰ:理论框架与信度分析. 中国临床心理学杂志, 18(05), Article 05. +# 人格测试问卷题目 王孟成, 戴晓阳, & 姚树桥. (2011). 中国大五人格问卷的初步编制Ⅲ:简式版的制定及信效度检验. +# 中国临床心理学杂志, 19(04), Article 04. +# 王孟成, 戴晓阳, & 姚树桥. (2010). 中国大五人格问卷的初步编制Ⅰ:理论框架与信度分析. +# 中国临床心理学杂志, 18(05), Article 05. PERSONALITY_QUESTIONS = [ # 神经质维度 (F1) @@ -8,62 +9,97 @@ PERSONALITY_QUESTIONS = [ {"id": 2, "content": "我常感到害怕", "factor": "神经质", "reverse_scoring": False}, {"id": 3, "content": "有时我觉得自己一无是处", "factor": "神经质", "reverse_scoring": False}, {"id": 4, "content": "我很少感到忧郁或沮丧", "factor": "神经质", "reverse_scoring": True}, - {"id": 5, "content": "别人一句漫不经心的话,我常会联系在自己身上", "factor": "神经质", "reverse_scoring": False}, - {"id": 6, "content": "在面对压力时,我有种快要崩溃的感觉", "factor": "神经质", "reverse_scoring": False}, - {"id": 7, "content": "我常担忧一些无关紧要的事情", "factor": "神经质", "reverse_scoring": False}, - {"id": 8, "content": "我常常感到内心不踏实", "factor": "神经质", "reverse_scoring": False}, + {"id": 5, "content": "别人一句漫不经心的话,我常会联系在自己身上", + "factor": "神经质", "reverse_scoring": False}, + {"id": 6, "content": "在面对压力时,我有种快要崩溃的感觉", + "factor": "神经质", "reverse_scoring": False}, + {"id": 7, "content": "我常担忧一些无关紧要的事情", + "factor": "神经质", "reverse_scoring": False}, + {"id": 8, "content": "我常常感到内心不踏实", + "factor": "神经质", "reverse_scoring": False}, # 严谨性维度 (F2) - {"id": 9, "content": "在工作上,我常只求能应付过去便可", "factor": "严谨性", "reverse_scoring": True}, - {"id": 10, "content": "一旦确定了目标,我会坚持努力地实现它", "factor": "严谨性", "reverse_scoring": False}, - {"id": 11, "content": "我常常是仔细考虑之后才做出决定", "factor": "严谨性", "reverse_scoring": False}, - {"id": 12, "content": "别人认为我是个慎重的人", "factor": "严谨性", "reverse_scoring": False}, - {"id": 13, "content": "做事讲究逻辑和条理是我的一个特点", "factor": "严谨性", "reverse_scoring": False}, - {"id": 14, "content": "我喜欢一开头就把事情计划好", "factor": "严谨性", "reverse_scoring": False}, - {"id": 15, "content": "我工作或学习很勤奋", "factor": "严谨性", "reverse_scoring": False}, - {"id": 16, "content": "我是个倾尽全力做事的人", "factor": "严谨性", "reverse_scoring": False}, + {"id": 9, "content": "在工作上,我常只求能应付过去便可", + "factor": "严谨性", "reverse_scoring": True}, + {"id": 10, "content": "一旦确定了目标,我会坚持努力地实现它", + "factor": "严谨性", "reverse_scoring": False}, + {"id": 11, "content": "我常常是仔细考虑之后才做出决定", + "factor": "严谨性", "reverse_scoring": False}, + {"id": 12, "content": "别人认为我是个慎重的人", + "factor": "严谨性", "reverse_scoring": False}, + {"id": 13, "content": "做事讲究逻辑和条理是我的一个特点", + "factor": "严谨性", "reverse_scoring": False}, + {"id": 14, "content": "我喜欢一开头就把事情计划好", + "factor": "严谨性", "reverse_scoring": False}, + {"id": 15, "content": "我工作或学习很勤奋", + "factor": "严谨性", "reverse_scoring": False}, + {"id": 16, "content": "我是个倾尽全力做事的人", + "factor": "严谨性", "reverse_scoring": False}, # 宜人性维度 (F3) - {"id": 17, - "content": "尽管人类社会存在着一些阴暗的东西(如战争、罪恶、欺诈),我仍然相信人性总的来说是善良的", - "factor": "宜人性", - "reverse_scoring": False - }, - {"id": 18, "content": "我觉得大部分人基本上是心怀善意的", "factor": "宜人性", "reverse_scoring": False}, - {"id": 19, "content": "虽然社会上有骗子,但我觉得大部分人还是可信的", "factor": "宜人性", "reverse_scoring": False}, - {"id": 20, "content": "我不太关心别人是否受到不公正的待遇", "factor": "宜人性", "reverse_scoring": True}, - {"id": 21, "content": "我时常觉得别人的痛苦与我无关", "factor": "宜人性", "reverse_scoring": True}, - {"id": 22, "content": "我常为那些遭遇不幸的人感到难过", "factor": "宜人性", "reverse_scoring": False}, - {"id": 23, "content": "我是那种只照顾好自己,不替别人担忧的人", "factor": "宜人性", "reverse_scoring": True}, - {"id": 24, "content": "当别人向我诉说不幸时,我常感到难过", "factor": "宜人性", "reverse_scoring": False}, + {"id": 17, "content": "尽管人类社会存在着一些阴暗的东西(如战争、罪恶、欺诈)," + "我仍然相信人性总的来说是善良的", "factor": "宜人性", "reverse_scoring": False}, + {"id": 18, "content": "我觉得大部分人基本上是心怀善意的", + "factor": "宜人性", "reverse_scoring": False}, + {"id": 19, "content": "虽然社会上有骗子,但我觉得大部分人还是可信的", + "factor": "宜人性", "reverse_scoring": False}, + {"id": 20, "content": "我不太关心别人是否受到不公正的待遇", + "factor": "宜人性", "reverse_scoring": True}, + {"id": 21, "content": "我时常觉得别人的痛苦与我无关", + "factor": "宜人性", "reverse_scoring": True}, + {"id": 22, "content": "我常为那些遭遇不幸的人感到难过", + "factor": "宜人性", "reverse_scoring": False}, + {"id": 23, "content": "我是那种只照顾好自己,不替别人担忧的人", + "factor": "宜人性", "reverse_scoring": True}, + {"id": 24, "content": "当别人向我诉说不幸时,我常感到难过", + "factor": "宜人性", "reverse_scoring": False}, # 开放性维度 (F4) - {"id": 25, "content": "我的想象力相当丰富", "factor": "开放性", "reverse_scoring": False}, - {"id": 26, "content": "我头脑中经常充满生动的画面", "factor": "开放性", "reverse_scoring": False}, - {"id": 27, "content": "我对许多事情有着很强的好奇心", "factor": "开放性", "reverse_scoring": False}, - {"id": 28, "content": "我喜欢冒险", "factor": "开放性", "reverse_scoring": False}, - {"id": 29, "content": "我是个勇于冒险,突破常规的人", "factor": "开放性", "reverse_scoring": False}, - {"id": 30, "content": "我身上具有别人没有的冒险精神", "factor": "开放性", "reverse_scoring": False}, - {"id": 31, "content": "我渴望学习一些新东西,即使它们与我的日常生活无关", "factor": "开放性", "reverse_scoring": False}, - {"id": 32, "content": "我很愿意也很容易接受那些新事物、新观点、新想法", "factor": "开放性", "reverse_scoring": False}, + {"id": 25, "content": "我的想象力相当丰富", + "factor": "开放性", "reverse_scoring": False}, + {"id": 26, "content": "我头脑中经常充满生动的画面", + "factor": "开放性", "reverse_scoring": False}, + {"id": 27, "content": "我对许多事情有着很强的好奇心", + "factor": "开放性", "reverse_scoring": False}, + {"id": 28, "content": "我喜欢冒险", + "factor": "开放性", "reverse_scoring": False}, + {"id": 29, "content": "我是个勇于冒险,突破常规的人", + "factor": "开放性", "reverse_scoring": False}, + {"id": 30, "content": "我身上具有别人没有的冒险精神", + "factor": "开放性", "reverse_scoring": False}, + {"id": 31, "content": "我渴望学习一些新东西,即使它们与我的日常生活无关", + "factor": "开放性", "reverse_scoring": False}, + {"id": 32, "content": "我很愿意也很容易接受那些新事物、新观点、新想法", + "factor": "开放性", "reverse_scoring": False}, # 外向性维度 (F5) - {"id": 33, "content": "我喜欢参加社交与娱乐聚会", "factor": "外向性", "reverse_scoring": False}, - {"id": 34, "content": "我对人多的聚会感到乏味", "factor": "外向性", "reverse_scoring": True}, - {"id": 35, "content": "我尽量避免参加人多的聚会和嘈杂的环境", "factor": "外向性", "reverse_scoring": True}, - {"id": 36, "content": "在热闹的聚会上,我常常表现主动并尽情玩耍", "factor": "外向性", "reverse_scoring": False}, - {"id": 37, "content": "有我在的场合一般不会冷场", "factor": "外向性", "reverse_scoring": False}, - {"id": 38, "content": "我希望成为领导者而不是被领导者", "factor": "外向性", "reverse_scoring": False}, - {"id": 39, "content": "在一个团体中,我希望处于领导地位", "factor": "外向性", "reverse_scoring": False}, - {"id": 40, "content": "别人多认为我是一个热情和友好的人", "factor": "外向性", "reverse_scoring": False} + {"id": 33, "content": "我喜欢参加社交与娱乐聚会", + "factor": "外向性", "reverse_scoring": False}, + {"id": 34, "content": "我对人多的聚会感到乏味", + "factor": "外向性", "reverse_scoring": True}, + {"id": 35, "content": "我尽量避免参加人多的聚会和嘈杂的环境", + "factor": "外向性", "reverse_scoring": True}, + {"id": 36, "content": "在热闹的聚会上,我常常表现主动并尽情玩耍", + "factor": "外向性", "reverse_scoring": False}, + {"id": 37, "content": "有我在的场合一般不会冷场", + "factor": "外向性", "reverse_scoring": False}, + {"id": 38, "content": "我希望成为领导者而不是被领导者", + "factor": "外向性", "reverse_scoring": False}, + {"id": 39, "content": "在一个团体中,我希望处于领导地位", + "factor": "外向性", "reverse_scoring": False}, + {"id": 40, "content": "别人多认为我是一个热情和友好的人", + "factor": "外向性", "reverse_scoring": False} ] # 因子维度说明 FACTOR_DESCRIPTIONS = { "外向性": { - "description": "反映个体神经系统的强弱和动力特征。外向性主要表现为个体在人际交往和社交活动中的倾向性,包括对社交活动的兴趣、对人 \ - 群的态度、社交互动中的主动程度以及在群体中的影响力。高分者倾向于积极参与社交活动,乐于与人交往,善于表达自我,并往往在群体中发挥领导 \ - 作用;低分者则倾向于独处,不喜欢热闹的社交场合,表现出内向、安静的特征。", + "description": ( + "反映个体神经系统的强弱和动力特征。外向性主要表现为个体在人际交往和社交活动中的倾向性," + "包括对社交活动的兴趣、对人群的态度、社交互动中的主动程度以及在群体中的影响力。" + "高分者倾向于积极参与社交活动,乐于与人交往,善于表达自我,并往往在群体中发挥领导作用;" + "低分者则倾向于独处,不喜欢热闹的社交场合,表现出内向、安静的特征。" + ), "trait_words": ["热情", "活力", "社交", "主动"], "subfactors": { "合群性": "个体愿意与他人聚在一起,即接近人群的倾向;高分表现乐群、好交际,低分表现封闭、独处", @@ -73,9 +109,12 @@ FACTOR_DESCRIPTIONS = { } }, "神经质": { - "description": "反映个体情绪的状态和体验内心苦恼的倾向性。这个维度主要关注个体在面对压力、挫折和日常生活挑战时的情绪稳定性和适应能 \ - 力。它包含了对焦虑、抑郁、愤怒等负面情绪的敏感程度,以及个体对这些情绪的调节和控制能力。高分者容易体验负面情绪,对压力较为敏感,情绪波 \ - 动较大;低分者则表现出较强的情绪稳定性,能够较好地应对压力和挫折。", + "description": ( + "反映个体情绪的状态和体验内心苦恼的倾向性。这个维度主要关注个体在面对压力、挫折和" + "日常生活挑战时的情绪稳定性和适应能力。它包含了对焦虑、抑郁、愤怒等负面情绪的敏感程度," + "以及个体对这些情绪的调节和控制能力。高分者容易体验负面情绪,对压力较为敏感,情绪波动较大;" + "低分者则表现出较强的情绪稳定性,能够较好地应对压力和挫折。" + ), "trait_words": ["稳定", "沉着", "从容", "坚韧"], "subfactors": { "焦虑": "个体体验焦虑感的个体差异;高分表现坐立不安,低分表现平静", @@ -86,9 +125,12 @@ FACTOR_DESCRIPTIONS = { } }, "严谨性": { - "description": "反映个体在目标导向行为上的组织、坚持和动机特征。这个维度体现了个体在工作、学习等目标性活动中的自我约束和行为管理能 \ - 力。它涉及到个体的责任感、自律性、计划性、条理性以及完成任务的态度。高分者往往表现出强烈的责任心、良好的组织能力、谨慎的决策风格和持续的 \ - 努力精神;低分者则可能表现出随意性强、缺乏规划、做事马虎或易放弃的特点。", + "description": ( + "反映个体在目标导向行为上的组织、坚持和动机特征。这个维度体现了个体在工作、学习等" + "目标性活动中的自我约束和行为管理能力。它涉及到个体的责任感、自律性、计划性、条理性以及" + "完成任务的态度。高分者往往表现出强烈的责任心、良好的组织能力、谨慎的决策风格和持续的" + "努力精神;低分者则可能表现出随意性强、缺乏规划、做事马虎或易放弃的特点。" + ), "trait_words": ["负责", "自律", "条理", "勤奋"], "subfactors": { "责任心": "个体对待任务和他人认真负责,以及对自己承诺的信守;高分表现有责任心、负责任,低分表现推卸责任、逃避处罚", @@ -99,9 +141,12 @@ FACTOR_DESCRIPTIONS = { } }, "开放性": { - "description": "反映个体对新异事物、新观念和新经验的接受程度,以及在思维和行为方面的创新倾向。这个维度体现了个体在认知和体验方面的 \ - 广度、深度和灵活性。它包括对艺术的欣赏能力、对知识的求知欲、想象力的丰富程度,以及对冒险和创新的态度。高分者往往具有丰富的想象力、广泛的 \ - 兴趣、开放的思维方式和创新的倾向;低分者则倾向于保守、传统,喜欢熟悉和常规的事物。", + "description": ( + "反映个体对新异事物、新观念和新经验的接受程度,以及在思维和行为方面的创新倾向。" + "这个维度体现了个体在认知和体验方面的广度、深度和灵活性。它包括对艺术的欣赏能力、" + "对知识的求知欲、想象力的丰富程度,以及对冒险和创新的态度。高分者往往具有丰富的想象力、" + "广泛的兴趣、开放的思维方式和创新的倾向;低分者则倾向于保守、传统,喜欢熟悉和常规的事物。" + ), "trait_words": ["创新", "好奇", "艺术", "冒险"], "subfactors": { "幻想": "个体富于幻想和想象的水平;高分表现想象力丰富,低分表现想象力匮乏", @@ -112,9 +157,13 @@ FACTOR_DESCRIPTIONS = { } }, "宜人性": { - "description": "反映个体在人际关系中的亲和倾向,体现了对他人的关心、同情和合作意愿。这个维度主要关注个体与他人互动时的态度和行为特 \ - 征,包括对他人的信任程度、同理心水平、助人意愿以及在人际冲突中的处理方式。高分者通常表现出友善、富有同情心、乐于助人的特质,善于与他人 \ - 建立和谐关系;低分者则可能表现出较少的人际关注,在社交互动中更注重自身利益,较少考虑他人感受。", + "description": ( + "反映个体在人际关系中的亲和倾向,体现了对他人的关心、同情和合作意愿。这个维度主要" + "关注个体与他人互动时的态度和行为特征,包括对他人的信任程度、同理心水平、助人意愿以及" + "在人际冲突中的处理方式。高分者通常表现出友善、富有同情心、乐于助人的特质,善于与他人" + "建立和谐关系;低分者则可能表现出较少的人际关注,在社交互动中更注重自身利益,较少考虑" + "他人感受。" + ), "trait_words": ["友善", "同理", "信任", "合作"], "subfactors": { "信任": "个体对他人和/或他人言论的相信程度;高分表现信任他人,低分表现怀疑", From 82e7cf7a3235c629da134742dbd0f27b6c3ff5e2 Mon Sep 17 00:00:00 2001 From: DrSmoothl <1787882683@qq.com> Date: Fri, 21 Mar 2025 13:38:00 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=BF=87Ruff=E6=A3=80=E6=B5=8B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/personality/questionnaire.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/personality/questionnaire.py b/src/plugins/personality/questionnaire.py index 0366b1c27..3e1a7897e 100644 --- a/src/plugins/personality/questionnaire.py +++ b/src/plugins/personality/questionnaire.py @@ -119,7 +119,8 @@ FACTOR_DESCRIPTIONS = { "subfactors": { "焦虑": "个体体验焦虑感的个体差异;高分表现坐立不安,低分表现平静", "抑郁": "个体体验抑郁情感的个体差异;高分表现郁郁寡欢,低分表现平静", - "敏感多疑": "个体常常关注自己的内心活动,行为和过于意识人对自己的看法、评价;高分表现敏感多疑,低分表现淡定、自信", + "敏感多疑": "个体常常关注自己的内心活动,行为和过于意识人对自己的看法、评价;" + "高分表现敏感多疑,低分表现淡定、自信", "脆弱性": "个体在危机或困难面前无力、脆弱的特点;高分表现无能、易受伤、逃避,低分表现坚强", "愤怒-敌意": "个体准备体验愤怒,及相关情绪的状态;高分表现暴躁易怒,低分表现平静" } @@ -133,7 +134,8 @@ FACTOR_DESCRIPTIONS = { ), "trait_words": ["负责", "自律", "条理", "勤奋"], "subfactors": { - "责任心": "个体对待任务和他人认真负责,以及对自己承诺的信守;高分表现有责任心、负责任,低分表现推卸责任、逃避处罚", + "责任心": "个体对待任务和他人认真负责,以及对自己承诺的信守;" + "高分表现有责任心、负责任,低分表现推卸责任、逃避处罚", "自我控制": "个体约束自己的能力,及自始至终的坚持性;高分表现自制、有毅力,低分表现冲动、无毅力", "审慎性": "个体在采取具体行动前的心理状态;高分表现谨慎、小心,低分表现鲁莽、草率", "条理性": "个体处理事务和工作的秩序,条理和逻辑性;高分表现整洁、有秩序,低分表现混乱、遗漏", From e5d19d4bd91d16e36faf1513e804128cd677c540 Mon Sep 17 00:00:00 2001 From: DrSmoothl <1787882683@qq.com> Date: Fri, 21 Mar 2025 17:32:50 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DwebUI=E6=9C=AA?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E5=A4=84=E7=90=86=E8=A1=8C=E6=9C=AB=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webui.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/webui.py b/webui.py index 60ffa4805..a3b7eab64 100644 --- a/webui.py +++ b/webui.py @@ -98,10 +98,14 @@ def parse_env_config(config_file): # 逐行处理配置 for line in lines: line = line.strip() - # 忽略空行和注释 + # 忽略空行和注释行 if not line or line.startswith("#"): continue + # 处理行尾注释 + if "#" in line: + line = line.split("#")[0].strip() + # 拆分键值对 key, value = line.split("=", 1)