Files
ALL-teach_sys/frontend_食品/extract_food_projects_updated.py

279 lines
12 KiB
Python
Raw Normal View History

import json
import re
# 读取更新后的学生完成的项目数据
with open('网页未导入数据/学生完成的项目.json', 'r', encoding='utf-8') as f:
student_projects = json.load(f)
# 更全面的食品相关关键词
food_related_keywords = [
'食品', '营养', '餐厅', '配餐', '灌装', '进口', '电商', '生鲜', '农产品',
'大豆', '食材', '供应链', '仓储', '保鲜', '酸奶', '牛奶', '乳制品',
'烘焙', '速冻', '饮料', '', '', '酿造', '包装', '餐饮', '厨房',
'食堂', '快餐', '外卖', '冷链', '物流', '冷藏', '冷冻', '肉制品',
'蔬菜', '水果', '粮食', '谷物', '', '', '', '调料', '香料',
'添加剂', '防腐', '保质', '安全', '检验', '检测', '质量', '标准',
'有机', '绿色', '无公害', '认证', '溯源', '品牌', '营销', '推广',
'消费', '零售', '批发', '采购', '订单', '库存', '配送', '送餐',
'咖啡', '奶茶', '果汁', '零食', '糖果', '蛋糕', '面包', '糕点',
'火锅', '烧烤', '小吃', '特色', '地方', '传统', '美食', '健康',
'养生', '膳食', '菜谱', '烹饪', '制作', '工艺', '流程', '标准化'
]
# 收集所有食品相关项目
all_food_projects = []
print("正在分析更新后的项目数据...")
for item in student_projects:
unit_name = item.get('单元名称查询', '')
projects = item.get('AI项目名称', [])
industry = item.get('所属就业管家', '')
# 检查是否包含食品相关关键词
for project in projects:
if not project: # 跳过空项目
continue
# 去掉序号
cleaned_project = re.sub(r'^\d+\.', '', project).strip()
# 检查项目名称是否包含食品关键词
is_food_related = any(keyword in cleaned_project for keyword in food_related_keywords)
if is_food_related:
all_food_projects.append({
'project': cleaned_project,
'unit': unit_name,
'industry': industry
})
print(f"\n找到 {len(all_food_projects)} 个食品相关项目")
# 按照食品产业特点重新分类,增加更多单元和项目
food_industry_categories = {
"食品研发与创新": [],
"食品电商与营销": [],
"营养配餐与健康管理": [],
"食品贸易与安全": [],
"食品质量控制": [],
"食品供应链管理": [],
"餐饮服务与管理": [],
"食品生产加工": [],
"食品检验检测": [],
"食品包装设计": [],
"新媒体营销": [],
"轻食与健康餐饮": []
}
# 根据关键词智能分类
for project_info in all_food_projects:
project_name = project_info['project']
# 根据关键词判断分类
if any(kw in project_name for kw in ['研发', '创新', '配方', '工艺', '技术', 'PLC', '传感器', '检疫', '检验', '灌装']):
food_industry_categories["食品研发与创新"].append(project_name)
elif any(kw in project_name for kw in ['电商', '营销', '推广', '品牌', '社交', '广告', '销售', '促销', '活动']):
food_industry_categories["食品电商与营销"].append(project_name)
elif any(kw in project_name for kw in ['营养', '配餐', '膳食', '健康', '食谱', '菜单', '养生']):
food_industry_categories["营养配餐与健康管理"].append(project_name)
elif any(kw in project_name for kw in ['贸易', '进口', '出口', '关税', '合规', '政策', '一带一路', 'RCEP']):
food_industry_categories["食品贸易与安全"].append(project_name)
elif any(kw in project_name for kw in ['质量', '安全', '检测', '监控', '风险', 'HACCP', '溯源', '标准']):
food_industry_categories["食品质量控制"].append(project_name)
elif any(kw in project_name for kw in ['供应链', '物流', '配送', '仓储', '采购', '库存', '冷链']):
food_industry_categories["食品供应链管理"].append(project_name)
elif any(kw in project_name for kw in ['餐厅', '餐饮', '食堂', '外卖', '点餐', '火锅', '烧烤']):
food_industry_categories["餐饮服务与管理"].append(project_name)
elif any(kw in project_name for kw in ['生产', '加工', '制备', '工艺', '流程', '标准化']):
food_industry_categories["食品生产加工"].append(project_name)
elif any(kw in project_name for kw in ['检验', '检测', '分析', '测试', '化验']):
food_industry_categories["食品检验检测"].append(project_name)
elif any(kw in project_name for kw in ['包装', '设计', '视觉', '创意']):
food_industry_categories["食品包装设计"].append(project_name)
elif any(kw in project_name for kw in ['新媒体', '抖音', '小红书', '直播', '短视频']):
food_industry_categories["新媒体营销"].append(project_name)
elif any(kw in project_name for kw in ['轻食', '健康', '减脂', '咖啡', '茶饮']):
food_industry_categories["轻食与健康餐饮"].append(project_name)
else:
# 默认分类到电商与营销
food_industry_categories["食品电商与营销"].append(project_name)
# 如果某些分类项目过少,从通用项目中补充
min_projects_per_category = 8
# 补充项目的通用列表
additional_projects = {
"食品研发与创新": [
"新型功能性食品配方研发项目",
"传统食品现代化加工工艺改进项目",
"食品添加剂安全性评估与应用项目",
"智能化食品生产线设计与优化项目",
"食品营养成分强化技术研究项目",
"绿色食品认证体系建设项目",
"食品保鲜技术创新应用项目",
"植物基食品替代产品开发项目"
],
"食品电商与营销": [
"社交电商食品类目运营策略制定项目",
"直播带货食品销售转化优化项目",
"食品品牌抖音矩阵运营项目",
"生鲜电商用户留存策略研究项目",
"食品电商客户画像分析与精准营销项目",
"节庆食品营销活动策划与执行项目",
"食品电商数据分析与运营优化项目",
"跨境食品电商合规运营管理项目"
],
"营养配餐与健康管理": [
"企业员工健康餐饮方案设计项目",
"特殊人群营养膳食定制服务项目",
"学生营养午餐标准化配餐项目",
"老年人营养健康管理服务项目",
"运动人群专用营养补充方案项目",
"慢性病患者饮食干预管理项目",
"孕产妇营养指导与膳食管理项目",
"儿童青少年营养教育推广项目"
],
"食品贸易与安全": [
"食品进出口贸易风险评估项目",
"国际食品标准对接与认证项目",
"食品安全追溯体系建设项目",
"进口食品检疫检验流程优化项目",
"食品贸易合规管理体系建设项目",
"有机食品国际认证与推广项目",
"食品安全事故应急处理预案项目",
"食品标签合规性审核与管理项目"
],
"食品质量控制": [
"食品生产质量管理体系认证项目",
"食品微生物检测技术应用项目",
"食品添加剂使用合规管理项目",
"食品安全风险监测预警系统项目",
"食品生产环境卫生控制项目",
"食品包装材料安全性评估项目",
"食品储存运输质量控制项目",
"食品质量投诉处理与改进项目"
],
"食品供应链管理": [
"农产品产地直供模式建设项目",
"食品冷链物流优化管理项目",
"食品原料采购成本控制项目",
"智能化食品仓储管理系统项目",
"食品配送路径优化算法项目",
"食品供应商评估与管理项目",
"食品库存管理与预测项目",
"食品供应链可持续发展项目"
],
"餐饮服务与管理": [
"智慧餐厅运营管理系统项目",
"连锁餐饮标准化服务流程项目",
"外卖平台餐厅运营优化项目",
"餐厅成本控制与利润优化项目",
"餐饮品牌形象设计与推广项目",
"餐厅客户满意度提升项目",
"餐饮员工培训与管理项目",
"特色餐饮文化传承与创新项目"
],
"食品生产加工": [
"传统食品工业化生产改造项目",
"食品加工设备自动化升级项目",
"食品生产线效率优化项目",
"食品加工工艺参数优化项目",
"食品生产成本控制管理项目",
"食品加工废料综合利用项目",
"清洁生产技术在食品加工中的应用项目",
"食品加工质量控制体系建设项目"
],
"食品检验检测": [
"食品重金属污染检测技术项目",
"食品农药残留快速检测项目",
"食品营养成分分析检测项目",
"食品微生物指标检测项目",
"食品添加剂含量检测项目",
"食品真伪鉴别检测技术项目",
"食品过敏原检测方法研究项目",
"食品安全快速检测设备应用项目"
],
"食品包装设计": [
"绿色环保食品包装设计项目",
"食品包装视觉识别系统设计项目",
"智能化食品包装技术应用项目",
"传统食品现代包装改进项目",
"食品包装成本优化设计项目",
"食品包装用户体验优化项目",
"食品包装法规合规设计项目",
"创新食品包装材料应用项目"
],
"新媒体营销": [
"食品品牌短视频内容策划项目",
"美食博主账号运营管理项目",
"食品行业KOL合作推广项目",
"食品品牌社群运营策略项目",
"美食摄影与内容创作项目",
"食品电商直播策划执行项目",
"食品品牌话题营销策划项目",
"美食类自媒体变现模式研究项目"
],
"轻食与健康餐饮": [
"轻食品牌连锁经营模式项目",
"健康轻食菜单设计与营养搭配项目",
"轻食餐厅运营成本控制项目",
"轻食外卖包装与配送优化项目",
"健康餐饮消费者需求分析项目",
"轻食品牌市场定位与推广项目",
"健康饮食教育与推广项目",
"轻食产业发展趋势研究项目"
]
}
# 补充项目数量不足的分类
for category, projects in food_industry_categories.items():
if len(projects) < min_projects_per_category and category in additional_projects:
needed = min_projects_per_category - len(projects)
projects.extend(additional_projects[category][:needed])
# 生成JavaScript代码
js_content = '''// 我的项目库数据 - 扩充版
const myProjectsData = [
'''
total_projects = 0
for unit_name, projects in food_industry_categories.items():
if projects: # 只包含有项目的单元
js_content += f' {{\n'
js_content += f' "unitName": "{unit_name}",\n'
js_content += f' "projects": [\n'
# 去重并限制每个分类最多15个项目
unique_projects = list(dict.fromkeys(projects))[:15]
for project in unique_projects:
js_content += f' "{project}",\n'
total_projects += 1
# 移除最后的逗号
js_content = js_content.rstrip(',\n') + '\n'
js_content += f' ]\n'
js_content += f' }},\n'
# 移除最后的逗号并闭合数组
js_content = js_content.rstrip(',\n') + '\n'
js_content += '];'
print(f"\n生成的扩充JavaScript代码")
print(js_content)
# 保存到文件
with open('my_projects_data_expanded.js', 'w', encoding='utf-8') as f:
f.write(js_content)
print(f"\n已保存到 my_projects_data_expanded.js")
# 统计信息
print(f"\n扩充后统计信息:")
print(f" 总单元数: {len([u for u, p in food_industry_categories.items() if p])}")
print(f" 总项目数: {total_projects}")
print(f" 各单元项目数:")
for unit, projects in food_industry_categories.items():
if projects:
unique_count = len(list(dict.fromkeys(projects))[:15])
print(f" {unit}: {unique_count} 个项目")
print(f"\n唯一可查看项目: 儿童一周营养配餐食谱编制方案")