服饰品牌文化根植度打分系统定位文化融合深度评估的教学级量化工具适用《时尚产业与品牌创新》课程实验、品牌文化审计、设计企划评估语言Python 3.8说明采用多维度可解释评分模型不依赖深度学习便于课程复现与讨论一、实际应用场景描述在《时尚产业与品牌创新》课程中一个核心议题是一个品牌声称根植本土文化到底扎得有多深如何量化评判近年国潮国风新中式泛滥但真正能做到文化根植的品牌凤毛麟角。大量品牌停留在贴个龙纹就是中国文化的表层。典型问题场景评估对象 核心疑问某品牌声称东方美学 用了盘扣 水墨印花就算文化根植了吗某联名系列致敬非遗 苏绣是贴花还是真绣纹样有考据吗课程作业设计一份品牌文化审计报告 用什么框架评判评分标准是什么本质问题文化元素的使用深度如何被客观、系统地衡量二、引入痛点 痛点 1文化融合深度无法量化现象 问题我们品牌很有文化 依据是什么设计评审靠感觉打分 主观、不可复现课程缺少量化工具 论文/作业缺少方法论支撑 痛点 2元素使用 ≠ 文化根植表面层浅 深层深印花贴个龙纹 龙纹有出处考据如《山海经》某种龙用红色就说中国红 红色在不同朝代/地域有不同文化含义盘扣做装饰 盘扣的结构、数量、排列有服饰史依据联名非遗 拍照打卡 非遗技艺是否真正融入产品结构 用了和懂了之间有巨大鸿沟 痛点 3缺少统一评估框架- 有的看视觉相似度- 有的看市场反馈- 有的看工艺还原度 没有系统化、多维度的打分体系三、核心逻辑讲解✅ 文化根植度的五维评估模型文化根植度总分0-100│┌─────────┼─────────┐│ │ │① 文化考据深度 ② 工艺还原度 ③ 叙事连贯性有没有出处 是不是真做 讲不讲得通│ │ │└─────────┼─────────┘│┌─────────┼─────────┐│ │ │④ 当代转化力 ⑤ 文化尊重度能不能穿出门 有没有冒犯✅ 五维详解维度 评分逻辑 示例高分行为① 文化考据深度 元素是否有明确文化出处是否有学者/文献支撑 纹样注明出处《敦煌莫高窟第 257 窟·鹿王本生图》② 工艺还原度 用的是印花/贴花还是真实传统工艺 苏绣 缂丝 vs 数码印花模拟刺绣③ 叙事连贯性 各元素之间是否形成统一文化叙事还是大杂烩 唐代仕女图 → 襦裙形制 → 簪花仕女图配色 一条线贯穿④ 当代转化力 能否融入现代日常穿着还是只能拍照 马面裙加口袋、暗扣通勤可穿⑤ 文化尊重度 有无文化挪用/刻板印象/宗教冒犯风险 consulted 文化顾问避免将宗教符号做纯装饰✅ 打分计算公式总分 Σ(w_i × dim_i) / Σw_i其中dim_1 文化考据深度0-100dim_2 工艺还原度0-100dim_3 叙事连贯性0-100dim_4 当代转化力0-100dim_5 文化尊重度0-100w_i 各维度权重可配置✅ 等级判定总分区间 等级 含义85-100 深度根植 文化融入品牌 DNA70-84 ⭐ 良好融合 有明显文化自觉55-69 △ 中度借用 有意识但深度不足40-54 ▽ 表面化 国潮标签化 40 ⚠️ 文化浮皮 贴元素建议重新企划四、代码模块化实现 项目结构cultural_rootedness_scorer/│├── config.py # 五维权重、等级阈值├── dimension_scorers.py # 五个维度的评分函数├── evidence_parser.py # 设计元素 → 证据提取├── scorer.py # 综合打分引擎├── benchmark.py # 品牌对比与排名├── reporter.py # 审计报告生成├── main.py # 入口└── README.mdconfig.py# config.pyfrom dataclasses import dataclass, fieldfrom typing import Dict, List# 五维权重 dataclassclass DimensionWeights:五个维度的权重配置cultural_research: float 0.25 # 文化考据深度craft_authenticity: float 0.25 # 工艺还原度narrative_consistency: float 0.20 # 叙事连贯性modern_adaptability: float 0.15 # 当代转化力cultural_respect: float 0.15 # 文化尊重度# 等级阈值 dataclassclass GradeThresholds:deep_rootd: int 85 # 深度根植strong_fusion: int 70 # 良好融合moderate_borrow: int 55 # 中度借用superficial: int 40 # 表面化# 评分细则每个维度的子项 RESEARCH_RUBRIC {有明确文化出处: 30,有学术文献/古籍支撑: 25,有博物馆/文物参照: 20,设计师阐述文化灵感来源: 15,仅泛泛提及文化概念: 5,无文化出处说明: 0,}CRAFT_RUBRIC {非遗级传统工艺苏绣/缂丝/云锦等: 40,手工工艺 现代辅助: 30,数码印花模拟传统工艺: 15,普通印花/贴花: 8,仅使用传统配色: 3,}NARRATIVE_RUBRIC {全系列统一文化叙事线: 35,单品有明确文化故事: 25,元素间有主题关联: 20,元素拼凑但有一定主题: 10,元素随机拼凑无叙事: 0,}ADAPTABILITY_RUBRIC {可日常穿着结构合理: 40,需特定场合但功能完整: 25,装饰性强部分实用: 15,仅适合拍照/展示: 5,}RESPECT_RUBRIC {consulted 文化顾问 无冒犯元素: 40,有文化顾问指导: 30,无宗教/民族敏感元素: 20,存在轻微刻板印象风险: 10,有文化挪用/宗教冒犯风险: 0,}# 示例品牌评估数据 dataclassclass BrandAssessment:一个品牌/系列的评估数据brand_name: strseries_name: str # 设计元素列表design_elements: List[str] field(default_factorylist)# 各维度证据评估者填写research_evidence: str # 文化考据证据craft_evidence: str # 工艺证据narrative_evidence: str # 叙事证据adaptability_evidence: str # 实用性证据respect_evidence: str # 文化尊重证据# 可选项直接给分跳过自动评分manual_scores: Dict[str, int] field(default_factorydict)# 输出文件 OUTPUT_DIR cultural_auditevidence_parser.py# evidence_parser.py将设计元素和证据文本解析为可评分的特征import refrom config import RESEARCH_RUBRIC, CRAFT_RUBRIC, NARRATIVE_RUBRICfrom config import ADAPTABILITY_RUBRIC, RESPECT_RUBRICdef score_research(evidence: str, design_elements: list[str]) - dict:文化考据深度评分规则- 包含出自/源自/参考 具体出处 → 高分- 提到博物馆/文物/古籍 → 加分- 仅泛泛说中国文化 → 低分text (evidence .join(design_elements)).lower()score 0matched []# 最高分项有明确出处patterns_source [r出自.{0,20}(莫高窟|故宫|敦煌|博物院|博物馆|古籍|文献),r源自.{0,20}(朝代|时期|文化|传统),r参考.{0,20}(文物|壁画|古籍|文献|档案),]for p in patterns_source:if re.search(p, text):score 30matched.append(有明确文化出处)break# 学术支撑patterns_academic [r《.{0,15}》, # 书名号r论文|期刊|研究|考据|学者,]for p in patterns_academic:if re.search(p, text):score 25matched.append(学术文献支撑)break# 博物馆参照patterns_museum [r博物馆|博物院|文物|藏品|馆藏,r莫高窟|云冈|龙门|故宫|国博,]for p in patterns_museum:if re.search(p, text):score 20matched.append(博物馆/文物参照)break# 设计师阐述patterns_designer [r灵感(来源|来自|源于),r设计理念|创作思路|文化背景,]for p in patterns_designer:if re.search(p, text):score 15matched.append(设计师阐述文化来源)break# 泛化提及if 文化 in text or 传统 in text or 古典 in text:if not matched:score 5matched.append(仅泛泛提及文化概念)return {score: min(100, score),matched_criteria: matched,dimension: 文化考据深度,}def score_craft(evidence: str, design_elements: list[str]) - dict:工艺还原度评分text (evidence .join(design_elements)).lower()score 0matched []# 非遗级工艺intangible_keywords [苏绣, 粤绣, 湘绣, 蜀绣, 缂丝, 云锦,宋锦, 壮锦, 土家锦, 蓝印花布, 扎染, 蜡染,景泰蓝, 花丝镶嵌, 漆器, 剪纸, 皮影,]found_intangible [kw for kw in intangible_keywords if kw in text]if found_intangible:score 40matched.append(f非遗工艺: {, .join(found_intangible)})# 手工 现代辅助handcraft_keywords [手工, 匠人, 手绣, 手绘, 手工编织]if any(kw in text for kw in handcraft_keywords) and score 40:score 30matched.append(手工工艺 现代辅助)# 数码印花模拟print_keywords [数码印花, 热转印, 喷墨印花, 模拟]if any(kw in text for kw in print_keywords) and score 30:score 15matched.append(数码印花模拟传统工艺)# 普通印花/贴花basic_keywords [印花, 贴花, 烫金, 胶印]if any(kw in text for kw in basic_keywords) and score 15:score 8matched.append(普通印花/贴花)# 仅配色color_keywords [配色, 色彩, 色系]if any(kw in text for kw in color_keywords) and score 0:score 3matched.append(仅使用传统配色)return {score: min(100, score),matched_criteria: matched,dimension: 工艺还原度,}def score_narrative(evidence: str, design_elements: list[str]) - dict:叙事连贯性评分text (evidence .join(design_elements)).lower()score 0matched []# 全系列统一叙事series_keywords [系列主题, 整季主题, 系列叙事, 统一主题]if any(kw in text for kw in series_keywords):score 35matched.append(全系列统一文化叙事线)# 单品文化故事story_keywords [故事背景, 文化寓意, 象征意义, 文化内涵]if any(kw in text for kw in story_keywords):score 25matched.append(单品有明确文化故事)# 元素间关联# 检查是否有多个元素被描述为呼应/呼应/统一relation_keywords [呼应, 统一, 协调, 整体, 搭配]if any(kw in text for kw in relation_keywords):score 20matched.append(元素间有主题关联)# 主题词theme_keywords [主题, 概念, 灵感]if any(kw in text for kw in theme_keywords) and not matched:score 10matched.append(有一定主题但元素拼凑)return {score: min(100, score),matched_criteria: matched,dimension: 叙事连贯性,}def score_adaptability(evidence: str, design_elements: list[str]) - dict:当代转化力评分text (evidence .join(design_elements)).lower()score 0matched []# 日常可穿daily_keywords [日常穿着, 通勤, 日常搭配, 实穿, 百搭]if any(kw in text for kw in daily_keywords):score 40matched.append(可日常穿着结构合理)# 特定场合occasion_keywords [宴会, 婚礼, 活动, 拍照, 出片]if any(kw in text for kw in occasion_keywords) and score 40:score 25matched.append(需特定场合但功能完整)# 装饰性decor_keywords [装饰, 点缀, 造型感, 设计感]if any(kw in text for kw in decor_keywords) and score 25:score 15matched.append(装饰性强部分实用)# 仅展示if 展示 in text or 走秀 in text or 舞台 in text:score 5matched.append(仅适合拍照/展示)return {score: min(100, score),matched_criteria: matched,dimension: 当代转化力,}def score_respect(evidence: str, design_elements: list[str]) - dict:文化尊重度评分text (evidence .join(design_elements)).lower()score 20 # 基础分无冒犯元素matched [无宗教/民族敏感元素]# 文化顾问consultant_keywords [文化顾问, 非遗大师, 传承人, consultant]if any(kw in text for kw in consultant_keywords):score 30matched.append(consulted 文化顾问)# 宗教敏感检查扣分religious_keywords [佛像, 经文, 经文, 法器, 祭祀]for kw in religious_keywords:if kw in text:score max(0, score - 20)matched.append(f⚠️ 含宗教元素「{kw}」需审慎评估)break# 民族刻板印象检查stereotype_keywords [原始, 落后, 封建, 迷信]for kw in stereotype_keywords:if kw in text:score max(0, score - 15)matched.append(f⚠️ 含潜在刻板印象词汇「{kw}」)breakreturn {score: max(0, min(100, score)),matched_criteria: matched,dimension: 文化尊重度,}scorer.py# scorer.py综合打分引擎加权汇总五维得分import numpy as npimport pandas as pdfrom config import DimensionWeights, GradeThresholdsfrom evidence_parser import (score_research, score_craft, score_narrative,score_adaptability, score_respect,)def compute_overall_score(brand_data: dict,weights: DimensionWeights None,thresholds: GradeThresholds None) - dict:计算品牌文化根植度总分参数brand_data: 包含 evidence 和 design_elements 的字典weights: 五维权重thresholds: 等级阈值返回包含各维度得分、总分、等级、改进建议的字典if weights is None:weights DimensionWeights()if thresholds is None:thresholds GradeThresholds()# 各维度评分research score_research(brand_data.get(research_evidence, ),brand_data.get(design_elements, []))craft score_craft(brand_data.get(craft_evidence, ),brand_data.get(design_elements, []))narrative score_narrative(brand_data.get(narrative_evidence, ),brand_data.get(design_elements, []))adaptability score_adaptability(brand_data.get(adaptability_evidence, ),brand_data.get(design_elements, []))respect score_respect(brand_data.get(respect_evidence, ),brand_data.get(design_elements, []))# 加权总分total (weights.cultural_research * research[score] weights.craft_authenticity * craft[score] weights.narrative_consistency * narrative[score] weights.modern_adaptability * adaptability[score] weights.cultural_respect * respect[score])total round(total, 1)# 等级判定grade, emoji _assign_grade(total, thresholds)# 改进建议suggestions _generate_suggestions([research, craft, narrative, adaptability, respect])return {brand_name: brand_data.get(brand_name, 未知品牌),series_name: brand_data.get(series_name, ),scores: {文化考据深度: research,工艺还原度: craft,叙事连贯性: narrative,当代转化力: adaptability,文化尊重度: respect,},raw_total: total,grade: grade,emoji: emoji,suggestions: suggestions,}def _assign_grade(score: float, thresholds: GradeThresholds) - tuple[str, str]:if score thresholds.deep_rootd:return 深度根植, elif score thresholds.strong_fusion:return 良好融合, ⭐elif score thresholds.moderate_borrow:return 中度借用, △elif score thresholds.superficial:return 表面化, ▽else:return 文化浮皮, ⚠️def _generate_suggestions(dimensions: list[dict]) - list[str]:基于最低分维度生成改进建议# 按分数排序最低分优先sorted_dims sorted(dimensions, keylambda x: x[score])suggestions []for dim in sorted_dims[:2]: # 最弱的两个维度if dim[score] 50:if dim[dimension] 文化考据深度:suggestions.append(建议补充文化出处说明引用具体文物/古籍/博物馆藏品)elif dim[dimension] 工艺还原度:suggestions.append(建议提升工艺等级从印花 → 手工 → 非遗工艺逐级升级)elif dim[dimension] 叙事连贯性:suggestions.append(建议构建统一文化叙事线串联所有设计元素)elif dim[dimension] 当代转化力:suggestions.append(建议优化实穿性增加口袋、暗扣、可调节结构)elif dim[dimension] 文化尊重度:suggestions.append(建议邀请文化顾问审核排查宗教/民族敏感元素)return suggestionsdef batch_score(brand_list: list[dict]) - pd.DataFrame:批量评分多个品牌results []for b in brand_list:r compute_overall_score(b)results.append({品牌: r[brand_name],系列: r[series_name],考据深度: r[scores][文化考据深度][score],工艺还原度: r[scores][工艺还原度][score],叙事连贯性: r[scores][叙事连贯性][score],当代转化力: r[scores][当代转化力][score],文化尊重度: r[scores][文化尊重度][score],总分: r[raw_total],等级: r[emoji] r[grade],})df pd.DataFrame(results)df df.sort_values(总分, ascendingFalse).reset_index(dropTrue)df.index df.index 1return dfbenchmark.py# benchmark.py品牌对比与排名模块import numpy as npimport pandas as pdfrom scorer import compute_overall_scoredef compare_brands(brand_results: list[dict]) - pd.DataFrame:生成品牌对比雷达图数据dims [文化考据深度, 工艺还原度, 叙事连贯性, 当代转化力, 文化尊重度]rows []for r in brand_results:row {品牌: r[brand_name]}for d in dims:row[d] r[scores][d][score]row[总分] r[raw_total]rows.append(row)return pd.DataFrame(rows)def rank_brands(brand_results: list[dict]) - pd.DataFrame:品牌排名return pd.DataFrame([{排名: i 1,品牌: r[brand_name],系列: r[series_name],总分: r[raw_total],等级: r[emoji] r[grade],}for i, r in enumerate(sorted(brand_results, keylambda x: x[raw_total], reverseTrue))])reporter.py# reporter.py文化根植度审计报告生成import pandas as pdimport jsondef print_brand_report(result: dict):打印单个品牌详细报告print(f\n{ * 68})print(f 文化根植度审计报告)print(f 品牌: {result[brand_name]})if result[series_name]:print(f 系列: {result[series_name]})print(f{ * 68})scores result[scores]dims [文化考据深度, 工艺还原度, 叙事连贯性, 当代转化力, 文化尊重度]print(f\n 五维得分:)print(f {维度:14s} {得分:5s} {匹配标准})print(f {- * 65})for dim in dims:d scores[dim]bar █ * int(d[score] / 5)print(f {dim:14s} {d[score]:3.0f}/100 {bar})for m in d[matched_criteria]:print(f ✓ {m})print(f\n{ * 68})print(f 总分: {result[raw_total]}/100)print(f 等级: {result[emoji]} {result[grade]})print(f{ * 68})if result[suggestions]:print(f\n 改进建议:)for i, s in enumerate(result[suggestions], 1):print(f {i}. {s})print(f\n{ * 68}\n)def print_comparison_table(comparison_df: pd.DataFrame):打印品牌对比表print(f\n{ * 80})print(f 品牌文化根植度五维对比)print(f{ * 80})dims [文化考据深度, 工艺还原度, 叙事连贯性, 当代转化力, 文化尊重度]display comparison_df[[品牌] dims].copy()for d in dims:display[d] display[d].apply(lambda x: f{x:.0f})print(display.to_string(indexFalse))print(f{ * 80})def print_ranking(ranking_df: pd.DataFrame):打印排名print(f\n{ * 50})print(f 品牌文化根植度排名)print(f{ * 50})for _, row in ranking_df.iterrows():print(f #{row[排名]} {row[品牌]} ({row[系列]}))print(f 总分: {row[总分]:.1f} → {row[等级]})print(f{ * 50})def export_audit_report(brand_results: list[dict], filename: str cultural_audit_report.json):导出完整审计报告output []for r in brand_results:output.append({brand: r[brand_name],series: r[series_name],scores: {k: v[score] for k, v in r[scores].items()},matched_criteria: {k: v[matched_criteria] for k, v in r[scores].items()},total: r[raw_total],grade: r[grade],suggestions: r[suggestions],})with open(filename, w, encodingutf-8) as f:json.dump(output, f, ensure_asciiFalse, indent2)ranking_df rank_brands(brand_results)ranking_df.to_csv(brand_ranking.csv, indexFalse, encodingutf-8-sig)# 五维对比表from benchmark import compare_brandscomp_df compare_brands(brand_results)comp_df.to_csv(dimension_comparison.csv, indexFalse, encodingutf-8-sig)print(f\n 导出完成:)print(f {filename} — 完整审计报告)print(f brand_ranking.csv — 品牌排名)print(f dimension_comparison.csv — 五维对比表)main.py# main.pyfrom config import BrandAssessmentfrom scorer import compute_overall_score, batch_scorefrom benchmark import compare_brands, rank_brandsfrom reporter import print_brand_report, print_comparison_table, print_ranking, export_audit_reportdef main():print( * 70)print( 服饰品牌文化根植度打分系统)print( * 70)# 示例品牌评估数据 # 在真实使用中这些数据来自评估者的调研填写brand_a {brand_name: 锦瑟无端,series_name: 敦煌飞天 2025 春夏系列,design_elements: [敦煌飞天纹样, 缂丝工艺, 盘扣, 云纹, A字裙廓形],research_evidence: (灵感源自敦煌莫高窟第 257 窟鹿王本生图系列主题围绕飞天壁画中的飘带与云纹设计师参考故宫博物院藏《千里江山图》青绿山水配色),craft_evidence: (裙摆飞天纹样采用苏绣 缂丝工艺云纹部分使用手工绘稿 数码印花辅助consulted 苏州刺绣研究所非遗顾问),narrative_evidence: (整季主题为「飞天引路」从壁画 → 飘带 → 云纹 → 当代裙装每件单品都有对应的文化故事背景和象征意义色彩呼应敦煌壁画的石绿、朱砂、金),adaptability_evidence: (A字裙廓形日常可穿内衬短款可通勤搭配现代针织上衣可日常穿着),respect_evidence: (con利用AI解决实际问题如果你觉得这个工具好用欢迎关注长安牧笛
搭建文化根植度打分程序,输入服饰设计元素,自行评判品牌本土文化融合深度。
发布时间:2026/6/25 20:30:32
服饰品牌文化根植度打分系统定位文化融合深度评估的教学级量化工具适用《时尚产业与品牌创新》课程实验、品牌文化审计、设计企划评估语言Python 3.8说明采用多维度可解释评分模型不依赖深度学习便于课程复现与讨论一、实际应用场景描述在《时尚产业与品牌创新》课程中一个核心议题是一个品牌声称根植本土文化到底扎得有多深如何量化评判近年国潮国风新中式泛滥但真正能做到文化根植的品牌凤毛麟角。大量品牌停留在贴个龙纹就是中国文化的表层。典型问题场景评估对象 核心疑问某品牌声称东方美学 用了盘扣 水墨印花就算文化根植了吗某联名系列致敬非遗 苏绣是贴花还是真绣纹样有考据吗课程作业设计一份品牌文化审计报告 用什么框架评判评分标准是什么本质问题文化元素的使用深度如何被客观、系统地衡量二、引入痛点 痛点 1文化融合深度无法量化现象 问题我们品牌很有文化 依据是什么设计评审靠感觉打分 主观、不可复现课程缺少量化工具 论文/作业缺少方法论支撑 痛点 2元素使用 ≠ 文化根植表面层浅 深层深印花贴个龙纹 龙纹有出处考据如《山海经》某种龙用红色就说中国红 红色在不同朝代/地域有不同文化含义盘扣做装饰 盘扣的结构、数量、排列有服饰史依据联名非遗 拍照打卡 非遗技艺是否真正融入产品结构 用了和懂了之间有巨大鸿沟 痛点 3缺少统一评估框架- 有的看视觉相似度- 有的看市场反馈- 有的看工艺还原度 没有系统化、多维度的打分体系三、核心逻辑讲解✅ 文化根植度的五维评估模型文化根植度总分0-100│┌─────────┼─────────┐│ │ │① 文化考据深度 ② 工艺还原度 ③ 叙事连贯性有没有出处 是不是真做 讲不讲得通│ │ │└─────────┼─────────┘│┌─────────┼─────────┐│ │ │④ 当代转化力 ⑤ 文化尊重度能不能穿出门 有没有冒犯✅ 五维详解维度 评分逻辑 示例高分行为① 文化考据深度 元素是否有明确文化出处是否有学者/文献支撑 纹样注明出处《敦煌莫高窟第 257 窟·鹿王本生图》② 工艺还原度 用的是印花/贴花还是真实传统工艺 苏绣 缂丝 vs 数码印花模拟刺绣③ 叙事连贯性 各元素之间是否形成统一文化叙事还是大杂烩 唐代仕女图 → 襦裙形制 → 簪花仕女图配色 一条线贯穿④ 当代转化力 能否融入现代日常穿着还是只能拍照 马面裙加口袋、暗扣通勤可穿⑤ 文化尊重度 有无文化挪用/刻板印象/宗教冒犯风险 consulted 文化顾问避免将宗教符号做纯装饰✅ 打分计算公式总分 Σ(w_i × dim_i) / Σw_i其中dim_1 文化考据深度0-100dim_2 工艺还原度0-100dim_3 叙事连贯性0-100dim_4 当代转化力0-100dim_5 文化尊重度0-100w_i 各维度权重可配置✅ 等级判定总分区间 等级 含义85-100 深度根植 文化融入品牌 DNA70-84 ⭐ 良好融合 有明显文化自觉55-69 △ 中度借用 有意识但深度不足40-54 ▽ 表面化 国潮标签化 40 ⚠️ 文化浮皮 贴元素建议重新企划四、代码模块化实现 项目结构cultural_rootedness_scorer/│├── config.py # 五维权重、等级阈值├── dimension_scorers.py # 五个维度的评分函数├── evidence_parser.py # 设计元素 → 证据提取├── scorer.py # 综合打分引擎├── benchmark.py # 品牌对比与排名├── reporter.py # 审计报告生成├── main.py # 入口└── README.mdconfig.py# config.pyfrom dataclasses import dataclass, fieldfrom typing import Dict, List# 五维权重 dataclassclass DimensionWeights:五个维度的权重配置cultural_research: float 0.25 # 文化考据深度craft_authenticity: float 0.25 # 工艺还原度narrative_consistency: float 0.20 # 叙事连贯性modern_adaptability: float 0.15 # 当代转化力cultural_respect: float 0.15 # 文化尊重度# 等级阈值 dataclassclass GradeThresholds:deep_rootd: int 85 # 深度根植strong_fusion: int 70 # 良好融合moderate_borrow: int 55 # 中度借用superficial: int 40 # 表面化# 评分细则每个维度的子项 RESEARCH_RUBRIC {有明确文化出处: 30,有学术文献/古籍支撑: 25,有博物馆/文物参照: 20,设计师阐述文化灵感来源: 15,仅泛泛提及文化概念: 5,无文化出处说明: 0,}CRAFT_RUBRIC {非遗级传统工艺苏绣/缂丝/云锦等: 40,手工工艺 现代辅助: 30,数码印花模拟传统工艺: 15,普通印花/贴花: 8,仅使用传统配色: 3,}NARRATIVE_RUBRIC {全系列统一文化叙事线: 35,单品有明确文化故事: 25,元素间有主题关联: 20,元素拼凑但有一定主题: 10,元素随机拼凑无叙事: 0,}ADAPTABILITY_RUBRIC {可日常穿着结构合理: 40,需特定场合但功能完整: 25,装饰性强部分实用: 15,仅适合拍照/展示: 5,}RESPECT_RUBRIC {consulted 文化顾问 无冒犯元素: 40,有文化顾问指导: 30,无宗教/民族敏感元素: 20,存在轻微刻板印象风险: 10,有文化挪用/宗教冒犯风险: 0,}# 示例品牌评估数据 dataclassclass BrandAssessment:一个品牌/系列的评估数据brand_name: strseries_name: str # 设计元素列表design_elements: List[str] field(default_factorylist)# 各维度证据评估者填写research_evidence: str # 文化考据证据craft_evidence: str # 工艺证据narrative_evidence: str # 叙事证据adaptability_evidence: str # 实用性证据respect_evidence: str # 文化尊重证据# 可选项直接给分跳过自动评分manual_scores: Dict[str, int] field(default_factorydict)# 输出文件 OUTPUT_DIR cultural_auditevidence_parser.py# evidence_parser.py将设计元素和证据文本解析为可评分的特征import refrom config import RESEARCH_RUBRIC, CRAFT_RUBRIC, NARRATIVE_RUBRICfrom config import ADAPTABILITY_RUBRIC, RESPECT_RUBRICdef score_research(evidence: str, design_elements: list[str]) - dict:文化考据深度评分规则- 包含出自/源自/参考 具体出处 → 高分- 提到博物馆/文物/古籍 → 加分- 仅泛泛说中国文化 → 低分text (evidence .join(design_elements)).lower()score 0matched []# 最高分项有明确出处patterns_source [r出自.{0,20}(莫高窟|故宫|敦煌|博物院|博物馆|古籍|文献),r源自.{0,20}(朝代|时期|文化|传统),r参考.{0,20}(文物|壁画|古籍|文献|档案),]for p in patterns_source:if re.search(p, text):score 30matched.append(有明确文化出处)break# 学术支撑patterns_academic [r《.{0,15}》, # 书名号r论文|期刊|研究|考据|学者,]for p in patterns_academic:if re.search(p, text):score 25matched.append(学术文献支撑)break# 博物馆参照patterns_museum [r博物馆|博物院|文物|藏品|馆藏,r莫高窟|云冈|龙门|故宫|国博,]for p in patterns_museum:if re.search(p, text):score 20matched.append(博物馆/文物参照)break# 设计师阐述patterns_designer [r灵感(来源|来自|源于),r设计理念|创作思路|文化背景,]for p in patterns_designer:if re.search(p, text):score 15matched.append(设计师阐述文化来源)break# 泛化提及if 文化 in text or 传统 in text or 古典 in text:if not matched:score 5matched.append(仅泛泛提及文化概念)return {score: min(100, score),matched_criteria: matched,dimension: 文化考据深度,}def score_craft(evidence: str, design_elements: list[str]) - dict:工艺还原度评分text (evidence .join(design_elements)).lower()score 0matched []# 非遗级工艺intangible_keywords [苏绣, 粤绣, 湘绣, 蜀绣, 缂丝, 云锦,宋锦, 壮锦, 土家锦, 蓝印花布, 扎染, 蜡染,景泰蓝, 花丝镶嵌, 漆器, 剪纸, 皮影,]found_intangible [kw for kw in intangible_keywords if kw in text]if found_intangible:score 40matched.append(f非遗工艺: {, .join(found_intangible)})# 手工 现代辅助handcraft_keywords [手工, 匠人, 手绣, 手绘, 手工编织]if any(kw in text for kw in handcraft_keywords) and score 40:score 30matched.append(手工工艺 现代辅助)# 数码印花模拟print_keywords [数码印花, 热转印, 喷墨印花, 模拟]if any(kw in text for kw in print_keywords) and score 30:score 15matched.append(数码印花模拟传统工艺)# 普通印花/贴花basic_keywords [印花, 贴花, 烫金, 胶印]if any(kw in text for kw in basic_keywords) and score 15:score 8matched.append(普通印花/贴花)# 仅配色color_keywords [配色, 色彩, 色系]if any(kw in text for kw in color_keywords) and score 0:score 3matched.append(仅使用传统配色)return {score: min(100, score),matched_criteria: matched,dimension: 工艺还原度,}def score_narrative(evidence: str, design_elements: list[str]) - dict:叙事连贯性评分text (evidence .join(design_elements)).lower()score 0matched []# 全系列统一叙事series_keywords [系列主题, 整季主题, 系列叙事, 统一主题]if any(kw in text for kw in series_keywords):score 35matched.append(全系列统一文化叙事线)# 单品文化故事story_keywords [故事背景, 文化寓意, 象征意义, 文化内涵]if any(kw in text for kw in story_keywords):score 25matched.append(单品有明确文化故事)# 元素间关联# 检查是否有多个元素被描述为呼应/呼应/统一relation_keywords [呼应, 统一, 协调, 整体, 搭配]if any(kw in text for kw in relation_keywords):score 20matched.append(元素间有主题关联)# 主题词theme_keywords [主题, 概念, 灵感]if any(kw in text for kw in theme_keywords) and not matched:score 10matched.append(有一定主题但元素拼凑)return {score: min(100, score),matched_criteria: matched,dimension: 叙事连贯性,}def score_adaptability(evidence: str, design_elements: list[str]) - dict:当代转化力评分text (evidence .join(design_elements)).lower()score 0matched []# 日常可穿daily_keywords [日常穿着, 通勤, 日常搭配, 实穿, 百搭]if any(kw in text for kw in daily_keywords):score 40matched.append(可日常穿着结构合理)# 特定场合occasion_keywords [宴会, 婚礼, 活动, 拍照, 出片]if any(kw in text for kw in occasion_keywords) and score 40:score 25matched.append(需特定场合但功能完整)# 装饰性decor_keywords [装饰, 点缀, 造型感, 设计感]if any(kw in text for kw in decor_keywords) and score 25:score 15matched.append(装饰性强部分实用)# 仅展示if 展示 in text or 走秀 in text or 舞台 in text:score 5matched.append(仅适合拍照/展示)return {score: min(100, score),matched_criteria: matched,dimension: 当代转化力,}def score_respect(evidence: str, design_elements: list[str]) - dict:文化尊重度评分text (evidence .join(design_elements)).lower()score 20 # 基础分无冒犯元素matched [无宗教/民族敏感元素]# 文化顾问consultant_keywords [文化顾问, 非遗大师, 传承人, consultant]if any(kw in text for kw in consultant_keywords):score 30matched.append(consulted 文化顾问)# 宗教敏感检查扣分religious_keywords [佛像, 经文, 经文, 法器, 祭祀]for kw in religious_keywords:if kw in text:score max(0, score - 20)matched.append(f⚠️ 含宗教元素「{kw}」需审慎评估)break# 民族刻板印象检查stereotype_keywords [原始, 落后, 封建, 迷信]for kw in stereotype_keywords:if kw in text:score max(0, score - 15)matched.append(f⚠️ 含潜在刻板印象词汇「{kw}」)breakreturn {score: max(0, min(100, score)),matched_criteria: matched,dimension: 文化尊重度,}scorer.py# scorer.py综合打分引擎加权汇总五维得分import numpy as npimport pandas as pdfrom config import DimensionWeights, GradeThresholdsfrom evidence_parser import (score_research, score_craft, score_narrative,score_adaptability, score_respect,)def compute_overall_score(brand_data: dict,weights: DimensionWeights None,thresholds: GradeThresholds None) - dict:计算品牌文化根植度总分参数brand_data: 包含 evidence 和 design_elements 的字典weights: 五维权重thresholds: 等级阈值返回包含各维度得分、总分、等级、改进建议的字典if weights is None:weights DimensionWeights()if thresholds is None:thresholds GradeThresholds()# 各维度评分research score_research(brand_data.get(research_evidence, ),brand_data.get(design_elements, []))craft score_craft(brand_data.get(craft_evidence, ),brand_data.get(design_elements, []))narrative score_narrative(brand_data.get(narrative_evidence, ),brand_data.get(design_elements, []))adaptability score_adaptability(brand_data.get(adaptability_evidence, ),brand_data.get(design_elements, []))respect score_respect(brand_data.get(respect_evidence, ),brand_data.get(design_elements, []))# 加权总分total (weights.cultural_research * research[score] weights.craft_authenticity * craft[score] weights.narrative_consistency * narrative[score] weights.modern_adaptability * adaptability[score] weights.cultural_respect * respect[score])total round(total, 1)# 等级判定grade, emoji _assign_grade(total, thresholds)# 改进建议suggestions _generate_suggestions([research, craft, narrative, adaptability, respect])return {brand_name: brand_data.get(brand_name, 未知品牌),series_name: brand_data.get(series_name, ),scores: {文化考据深度: research,工艺还原度: craft,叙事连贯性: narrative,当代转化力: adaptability,文化尊重度: respect,},raw_total: total,grade: grade,emoji: emoji,suggestions: suggestions,}def _assign_grade(score: float, thresholds: GradeThresholds) - tuple[str, str]:if score thresholds.deep_rootd:return 深度根植, elif score thresholds.strong_fusion:return 良好融合, ⭐elif score thresholds.moderate_borrow:return 中度借用, △elif score thresholds.superficial:return 表面化, ▽else:return 文化浮皮, ⚠️def _generate_suggestions(dimensions: list[dict]) - list[str]:基于最低分维度生成改进建议# 按分数排序最低分优先sorted_dims sorted(dimensions, keylambda x: x[score])suggestions []for dim in sorted_dims[:2]: # 最弱的两个维度if dim[score] 50:if dim[dimension] 文化考据深度:suggestions.append(建议补充文化出处说明引用具体文物/古籍/博物馆藏品)elif dim[dimension] 工艺还原度:suggestions.append(建议提升工艺等级从印花 → 手工 → 非遗工艺逐级升级)elif dim[dimension] 叙事连贯性:suggestions.append(建议构建统一文化叙事线串联所有设计元素)elif dim[dimension] 当代转化力:suggestions.append(建议优化实穿性增加口袋、暗扣、可调节结构)elif dim[dimension] 文化尊重度:suggestions.append(建议邀请文化顾问审核排查宗教/民族敏感元素)return suggestionsdef batch_score(brand_list: list[dict]) - pd.DataFrame:批量评分多个品牌results []for b in brand_list:r compute_overall_score(b)results.append({品牌: r[brand_name],系列: r[series_name],考据深度: r[scores][文化考据深度][score],工艺还原度: r[scores][工艺还原度][score],叙事连贯性: r[scores][叙事连贯性][score],当代转化力: r[scores][当代转化力][score],文化尊重度: r[scores][文化尊重度][score],总分: r[raw_total],等级: r[emoji] r[grade],})df pd.DataFrame(results)df df.sort_values(总分, ascendingFalse).reset_index(dropTrue)df.index df.index 1return dfbenchmark.py# benchmark.py品牌对比与排名模块import numpy as npimport pandas as pdfrom scorer import compute_overall_scoredef compare_brands(brand_results: list[dict]) - pd.DataFrame:生成品牌对比雷达图数据dims [文化考据深度, 工艺还原度, 叙事连贯性, 当代转化力, 文化尊重度]rows []for r in brand_results:row {品牌: r[brand_name]}for d in dims:row[d] r[scores][d][score]row[总分] r[raw_total]rows.append(row)return pd.DataFrame(rows)def rank_brands(brand_results: list[dict]) - pd.DataFrame:品牌排名return pd.DataFrame([{排名: i 1,品牌: r[brand_name],系列: r[series_name],总分: r[raw_total],等级: r[emoji] r[grade],}for i, r in enumerate(sorted(brand_results, keylambda x: x[raw_total], reverseTrue))])reporter.py# reporter.py文化根植度审计报告生成import pandas as pdimport jsondef print_brand_report(result: dict):打印单个品牌详细报告print(f\n{ * 68})print(f 文化根植度审计报告)print(f 品牌: {result[brand_name]})if result[series_name]:print(f 系列: {result[series_name]})print(f{ * 68})scores result[scores]dims [文化考据深度, 工艺还原度, 叙事连贯性, 当代转化力, 文化尊重度]print(f\n 五维得分:)print(f {维度:14s} {得分:5s} {匹配标准})print(f {- * 65})for dim in dims:d scores[dim]bar █ * int(d[score] / 5)print(f {dim:14s} {d[score]:3.0f}/100 {bar})for m in d[matched_criteria]:print(f ✓ {m})print(f\n{ * 68})print(f 总分: {result[raw_total]}/100)print(f 等级: {result[emoji]} {result[grade]})print(f{ * 68})if result[suggestions]:print(f\n 改进建议:)for i, s in enumerate(result[suggestions], 1):print(f {i}. {s})print(f\n{ * 68}\n)def print_comparison_table(comparison_df: pd.DataFrame):打印品牌对比表print(f\n{ * 80})print(f 品牌文化根植度五维对比)print(f{ * 80})dims [文化考据深度, 工艺还原度, 叙事连贯性, 当代转化力, 文化尊重度]display comparison_df[[品牌] dims].copy()for d in dims:display[d] display[d].apply(lambda x: f{x:.0f})print(display.to_string(indexFalse))print(f{ * 80})def print_ranking(ranking_df: pd.DataFrame):打印排名print(f\n{ * 50})print(f 品牌文化根植度排名)print(f{ * 50})for _, row in ranking_df.iterrows():print(f #{row[排名]} {row[品牌]} ({row[系列]}))print(f 总分: {row[总分]:.1f} → {row[等级]})print(f{ * 50})def export_audit_report(brand_results: list[dict], filename: str cultural_audit_report.json):导出完整审计报告output []for r in brand_results:output.append({brand: r[brand_name],series: r[series_name],scores: {k: v[score] for k, v in r[scores].items()},matched_criteria: {k: v[matched_criteria] for k, v in r[scores].items()},total: r[raw_total],grade: r[grade],suggestions: r[suggestions],})with open(filename, w, encodingutf-8) as f:json.dump(output, f, ensure_asciiFalse, indent2)ranking_df rank_brands(brand_results)ranking_df.to_csv(brand_ranking.csv, indexFalse, encodingutf-8-sig)# 五维对比表from benchmark import compare_brandscomp_df compare_brands(brand_results)comp_df.to_csv(dimension_comparison.csv, indexFalse, encodingutf-8-sig)print(f\n 导出完成:)print(f {filename} — 完整审计报告)print(f brand_ranking.csv — 品牌排名)print(f dimension_comparison.csv — 五维对比表)main.py# main.pyfrom config import BrandAssessmentfrom scorer import compute_overall_score, batch_scorefrom benchmark import compare_brands, rank_brandsfrom reporter import print_brand_report, print_comparison_table, print_ranking, export_audit_reportdef main():print( * 70)print( 服饰品牌文化根植度打分系统)print( * 70)# 示例品牌评估数据 # 在真实使用中这些数据来自评估者的调研填写brand_a {brand_name: 锦瑟无端,series_name: 敦煌飞天 2025 春夏系列,design_elements: [敦煌飞天纹样, 缂丝工艺, 盘扣, 云纹, A字裙廓形],research_evidence: (灵感源自敦煌莫高窟第 257 窟鹿王本生图系列主题围绕飞天壁画中的飘带与云纹设计师参考故宫博物院藏《千里江山图》青绿山水配色),craft_evidence: (裙摆飞天纹样采用苏绣 缂丝工艺云纹部分使用手工绘稿 数码印花辅助consulted 苏州刺绣研究所非遗顾问),narrative_evidence: (整季主题为「飞天引路」从壁画 → 飘带 → 云纹 → 当代裙装每件单品都有对应的文化故事背景和象征意义色彩呼应敦煌壁画的石绿、朱砂、金),adaptability_evidence: (A字裙廓形日常可穿内衬短款可通勤搭配现代针织上衣可日常穿着),respect_evidence: (con利用AI解决实际问题如果你觉得这个工具好用欢迎关注长安牧笛