基于社交活动时长与情绪数据的老年人心理孤独程度评估与建议(教学级原型)
内容严格不涉及医疗诊断、不推荐产品、不做疗效承诺、无任何引流。
一、实际应用场景描述
在智能健康管理课程中,老年心理健康(Mental Health in Aging)是重要但常被忽视的模块。
本程序适用于:
- 社区养老健康档案
- 家庭子女远程关怀
- 老年大学 / 社工课程
- 健康管理专业实验教学
核心目标:
- 记录老年人社交活动情况
- 采集情绪状态数据
- 基于规则模型评估心理孤独程度
- 输出非临床干预建议
✅ 不替代心理医生
✅ 不做精神科诊断
✅ 仅作为健康管理与数据意识工具
二、痛点引入(真实可感知)
痛点 表现
孤独不可见 “挺好的”掩盖真实情绪
社交减少 活动少但无量化
情绪被忽略 更关注血压血糖
干预滞后 等到抑郁才介入
工具不适配 复杂系统不适合老年人
👉 需要一个轻量、本地、可解释、低门槛的工具
三、核心逻辑讲解(工程视角)
1️⃣ 数据模型设计
ElderSocialRecord
├── social_minutes_per_day 日均社交时长
├── activity_types 活动类型数量
├── mood_score 情绪评分(1–10)
├── negative_emotion_freq 负面情绪频率
├── living_alone 是否独居
└── support_available 是否有支持系统
2️⃣ 孤独风险评分(规则驱动)
核心假设(教学用)
因素 风险倾向
社交时间短 ↑
活动单一 ↑
情绪低落 ↑
独居 ↑
缺乏支持 ↑
孤独指数公式
孤独指数 =
社交因子 × 情绪因子 × 环境因子
3️⃣ 风险分级
孤独指数 等级
≤ 3 低风险
3–5 中风险
≥ 5 高风险
4️⃣ 建议输出原则
- 非临床
- 行为导向
- 强调社会连接与支持系统
四、Python 模块化代码(可直接运行)
📁 项目结构
elder_loneliness_assessment/
│
├── main.py
├── models.py
├── evaluator.py
├── advisor.py
├── storage.py
└── README.md
✅ models.py(数据建模)
"""
models.py
老年人社交与情绪数据模型
"""
class ElderSocialRecord:
def __init__(
self,
social_minutes_per_day,
activity_types,
mood_score,
negative_emotion_freq,
living_alone,
support_available
):
self.social_minutes_per_day = social_minutes_per_day
self.activity_types = activity_types
self.mood_score = mood_score
self.negative_emotion_freq = negative_emotion_freq
self.living_alone = living_alone
self.support_available = support_available
✅ evaluator.py(核心评估逻辑)
"""
evaluator.py
老年人心理孤独程度评估
"""
def evaluate(record):
# 社交因子
social_factor = max((120 - record.social_minutes_per_day) / 120, 0)
# 情绪因子
mood_factor = (10 - record.mood_score) / 10
emotion_factor = record.negative_emotion_freq / 10
# 环境因子
env_factor = 1.0
if record.living_alone:
env_factor += 0.3
if not record.support_available:
env_factor += 0.2
loneliness_index = (
(social_factor * 0.4 +
mood_factor * 0.3 +
emotion_factor * 0.3)
* env_factor
) * 10
level = interpret(loneliness_index)
return level, round(loneliness_index, 2)
def interpret(score):
if score <= 3:
return "低风险"
elif score <= 5:
return "中风险"
else:
return "高风险"
✅ advisor.py(建议生成)
"""
advisor.py
孤独风险应对建议(非临床)
"""
def advise(level, record):
base_advices = {
"低风险": [
"保持现有社交节奏",
"鼓励参与兴趣活动"
],
"中风险": [
"增加线下交流机会",
"尝试新社交活动",
"建立固定联系对象"
],
"高风险": [
"尽快联系家人或社区工作人员",
"考虑专业心理支持",
"避免长期独处"
]
}
advices = base_advices[level]
if record.living_alone:
advices.append("考虑增加探访或陪伴频率")
return advices
✅ storage.py(本地存储)
"""
storage.py
JSON 本地存储
"""
import json
FILE_PATH = "elder_social_records.json"
def save_record(record):
with open(FILE_PATH, "w", encoding="utf-8") as f:
json.dump(record.__dict__, f, ensure_ascii=False, indent=2)
✅ main.py(交互入口)
"""
main.py
老年人心理孤独程度评估工具
"""
from models import ElderSocialRecord
from evaluator import evaluate
from advisor import advise
from storage import save_record
def main():
print("=== 老年人心理孤独程度评估 ===")
record = ElderSocialRecord(
social_minutes_per_day=int(input("日均社交时长(分钟):")),
activity_types=int(input("参与活动种类数:")),
mood_score=int(input("情绪状态评分(1-10):")),
negative_emotion_freq=int(input("负面情绪频率(1-10):")),
living_alone=input("是否独居(y/n):") == "y",
support_available=input("是否有支持系统(y/n):") == "y"
)
level, score = evaluate(record)
print("\n【评估结果】")
print(f"孤独指数:{score}")
print(f"风险等级:{level}")
print("\n【建议】")
for item in advise(level, record):
print("-", item)
save_record(record)
print("✅ 数据已保存")
if __name__ == "__main__":
main()
五、README 与使用说明
# 老年人心理孤独程度评估工具(教学版)
## 项目说明
基于社交活动与情绪数据,评估老年人心理孤独风险并提供建议。
## 使用方式
```bash
python main.py
```
## 适用范围
- 健康管理课程
- 社区养老教学
- 老年心理健康科普
## 注意事项
- 非心理诊断工具
- 不替代专业人员
- 结果仅作教学与参考
六、核心知识点卡片(教学向)
分类 内容
Python 类、函数、条件逻辑
工程思想 模型与评估解耦
心理健康 孤独感评估概念
风险管理 多因子规则模型
数据伦理 不标签化、不污名化
可扩展性 可接入问卷或 IoT
七、总结(工程师视角)
这是一个完全中立、去营销化、可教学的原型系统:
✅ 不制造年龄焦虑
✅ 不替代专业干预
✅ 不伪装成医疗系统
它真正展示的是:
如何用 Python 把抽象的心理状态,转化为可被讨论和干预的结构化信息
利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!