基于爬虫与协同过滤的高考志愿推荐系统设计与实现
简介这套基于爬虫的高考志愿智能推荐系统是面向Java毕设的完整项目资源采用Spring BootVue前后端分离架构并集成Python爬虫采集中国教育在线高校录取数据。系统覆盖考生端与后台管理端包含院校专业查询、位次查询、MBTI职业性格测试、模拟志愿填报、志愿收藏、招生计划管理、咨询管理等功能并借助知识图谱与智能匹配算法实现个性化推荐。压缩包共671个文件以Java源码、Vue组件、JavaScript脚本、SQL数据库脚本等为主附带说明文档、PPT和爬虫脚本包体约34.56MB按后端前端及爬虫模块分层组织便于按需查阅。项目环境基于JDK1.8、MySQL5.7、Tomcat7并提供安装运行脚本可直接部署运行或二次开发。目前已有87人学习下载适合作为毕业设计参考、爬虫与推荐系统整合实践的学习模板。1. 爬虫高考志愿推荐系统毕设选题里的“数据算法”双料选手第一次看到这个项目名我以为是普通的 CRUD 毕设翻完源码才意识到它是把爬虫、知识图谱、MBTI 测评、协同过滤推荐全部塞进了一个 SpringBoot 单体应用里。对于正在找毕设题目的同学来说这属于“一个项目同时覆盖三个加分点”的类型数据怎么来爬虫、数据怎么存MySQL 知识图谱、数据怎么用推荐算法。系统面向考生端和管理员端考生可以查院校、查位次、做性格测试、模拟填报管理员则维护专业、院校、招生计划等核心表后端基于 SpringBoot MyBatis前端是两个独立的 Vue 工程分别跑在 8080 和 8081 端口整体不复杂但五脏俱全。适合基础一般但想冲高分的同学也适合想快速掌握“采集 存储 推荐”完整链路的从业者拿来练手。2. 系统架构与核心技术选型为什么是 SpringBoot Vue Scrapy 而不是别的2.1 前后端分离的目录结构admin 与 front 双工程怎么协同解压项目后你会看到两个完全独立的前端工程放在 SpringBoot 的 resources 目录下这是很多毕设项目的常见做法——后端只负责 API 和静态资源托管前端单独开发、单独构建最后把产物放回 resources/static 里统一部署。springboot2a1qfv22/src/main/resources/ ├── admin/admin/ # 后台管理端 Vue 工程 ├── front/front/ # 考生前台 Vue 工程 └── application.yml # 数据源、端口配置两个前端工程共用同一套后端 API只是路由和页面不同。admin 端处理院校、专业、咨询、MBTI 题目的增删改查front 端处理登录、查询、测评、模拟填报和收藏。这种拆分方式让开发者可以独立启动任意一端调试不用每次跑全量编译。启动顺序上我会先起后端再起前端。后端默认跑 8080前端通过 devServer 代理把 /api 前缀的请求转发过去所以前端代码里看不到具体的 IP 和端口所有接口路径都从 /api 开头。如果改了后端端口记得同步修改前端的 vue.config.js 里的 proxy 配置。2.2 爬虫子系统的设计Scrapy 采集高考录取数据落库 MySQL项目里单独放了一个 spider 目录里面是 Scrapy 爬虫工程包含 scrapy.cfg、爬虫主文件以及两个批处理脚本——安装依赖的 install.bat 和启动爬虫的 run.bat。爬虫目标是中国教育在线网站的各高校历年录取数据包括院校名称、专业名称、录取人数、最低分、最低位次、年份等字段。我一般会先在命令行里单独执行爬虫确认数据能正常写入 MySQL 后再集成到 SpringBoot 里手动触发这样出错时定位范围小很多。爬虫的核心逻辑是定义 Item 结构然后在 pipeline 里直接写 MySQL而不是输出到中间文件这样省掉一步导入操作。# spider/pipelines.py 中核心入库片段 import pymysql from .items import SchoolItem, ScoreLineItem class MysqlPipeline(object): def open_spider(self, spider): self.conn pymysql.connect( hostlocalhost, port3306, userroot, password123456, databasegaokao_db, charsetutf8mb4 ) self.cursor self.conn.cursor() def process_item(self, item, spider): if isinstance(item, SchoolItem): sql INSERT INTO school (name, province, level, type) VALUES (%s, %s, %s, %s) self.cursor.execute(sql, (item[name], item[province], item[level], item[type])) elif isinstance(item, ScoreLineItem): sql INSERT INTO score_line (school_id, year, min_score, min_rank) VALUES (%s, %s, %s, %s) self.cursor.execute(sql, (item[school_id], item[year], item[min_score], item[min_rank])) self.conn.commit() return itempymysql 的 charset 参数必须是 utf8mb4否则遇到生僻院校名或特殊符号会直接报错中断爬虫。process_item 里根据 Item 类型分表写入如果同时爬多张表建议把数据库连接放到 open_spider 里只初始化一次不要每来一条数据都新建连接。数据量大的时候还要考虑幂等重复执行同一个爬虫任务时最好在写入前先查一下主键是否已存在或者直接用 INSERT IGNORE否则多跑几次会出现大量重复记录。2.3 知识图谱模块用图结构组织高校、专业、就业前景的关联关系很多人看到“知识图谱”四个字就慌其实在这里它表现得比较朴素。系统预先构建了三类实体——高校、专业、就业岗位以及它们之间的关联关系比如高校-专业属于关系、专业-岗位推荐关系、岗位-就业前景描述关系。这些数据存在 MySQL 的几张关联表里后台管理员可以维护前端查询时通过接口把关系链拉出来展示。在数据库设计上知识图谱没有用 Neo4j 而是用传统的关系表配合 JSON 字段这是毕设项目里非常务实的取舍Neo4j 学习成本高且不好演示 CRUD而关系表结构直观写出来的 SQL 也好解释。比如你查“计算机科学与技术”专业接口会返回这个专业所属的高校列表、推荐就业岗位、近三年的薪资范围和发展趋势这些在页面上展示成卡片流视觉效果比普通列表丰富得多。推荐匹配环节则把考生的 MBTI 测评结果映射到专业标签上例如 INFJ 类型匹配教育类、心理学类专业ISTP 类型匹配机械类、计算机类专业。这个映射表是可以后台配置的这样系统就具备了“性格测试 → 专业倾向 → 院校筛选”的完整链路推荐结果不是拍脑袋而是有测评依据的。3. 核心功能拆解从模拟填报到 MBTI 测评前端页面与后端接口的对应关系3.1 考生端功能清单登录、查院校、查位次、模拟填报、收藏一条线走通考生端的核心流程是注册登录 → 输入成绩和位次 → 系统按冲稳保策略推荐院校 → 考生查看详情并收藏 → 生成志愿表。这个流程对应后端多个接口我列一下主要的映射关系方便你上手时对着代码找功能模块前端页面后端接口路径核心数据表用户注册登录Login.vue / Register.vue/api/user/login, /api/user/registeruser院校查询SchoolSearch.vue/api/school/list, /api/school/detailschool专业查询MajorSearch.vue/api/major/listmajor位次查询RankSearch.vue/api/rank/listrank_info模拟填报MockFill.vue/api/recommend/mockschool_score_line志愿管理VolunteerList.vue/api/volunteer/save, /api/volunteer/listvolunteerMBTI测评MBTITest.vue/api/mbti/submit, /api/mbti/resultmbti_question, mbti_result院校收藏FavoriteList.vue/api/favorite/add, /api/favorite/listfavorite模拟填报的算法逻辑在后端 RecommendService 里核心思路是取考生分数对应的位次再查历年数据中录取位次小于考生位次 5% 的院校作为“冲”位次范围在考生位次上下 10% 以内的作为“稳”位次大于考生位次 15% 以上的作为“保”。这个百分比是写死在代码里的常量你可以改成从配置表读取。3.2 管理员端功能专业、院校、招生计划、MBTI 题库的维护逻辑管理员端的页面基于 ElementUI功能点都是常规的 CRUD但有一个设计值得学习MBTI 题库不是写死的而是数据表驱动。每条题目包含题号、题目文本、选项 A/B、以及每个选项对应的性格维度加分项。考生提交测评后后端遍历所有题目累计每个维度的分数最后输出四维组合。这种设计的好处是管理员可以随时增删题目或调整选项分值前端零改动。如果你在论文里写“系统支持动态调整测评题目”这个实现方式是完全撑得住的。管理员端还有一个“高考咨询管理”模块本质是个内容发布系统管理员发布报考政策、院校解读、专业分析等文章考生在前台按分类查看。这样系统里就有了“静态数据院校/专业 动态内容咨询文章 用户行为收藏/测评/志愿”三类数据推荐算法可以综合使用不至于无米下锅。3.3 模拟填报的推荐策略冲稳保公式中的几个关键参数推荐策略这块我建议你重点看 service 层因为它是整个项目的智力核心。它接收的参数是考生分数、科类、省份返回的是一个按风险等级分组的院校列表。我梳理一份参数含义表方便你二次开发时分清每个字段的作用参数名含义默认值调整建议deltaUp冲档位次比例0.05值越小冲的院校越少deltaStable稳档位次范围0.10值越大稳的院校越多deltaDown保档位次比例0.15值越小保底越保守topN每个档位返回数量10可根据前端展示区域调整这个策略属于“基于规则的推荐”不涉及机器学习但对于毕设来说完全够用而且在论文里特别好解释——每个参数都能对应到一个实际业务含义。如果你想加亮点可以在这套规则结果上再做一层协同过滤把“相似考生”的最终志愿作为二次排序依据代码量不大但能体现推荐算法的多样性。3.4 前后端接口对接代理配置与跨域问题的处理方式两个前端工程在开发模式下都通过 webpack devServer 做代理以 front 工程为例vue.config.js 里配置如下// front/vue.config.js module.exports { devServer: { port: 8081, proxy: { /api: { target: http://localhost:8080, changeOrigin: true, pathRewrite: { ^/api: } } } } }这里要注意 pathRewrite 的作用——前端请求 /api/user/login 时代理会把 /api 前缀剥离转发到后端的 /user/login所以后端 Controller 里不要写 /api 前缀否则两层前缀叠加会 404。我见过不少人踩这个坑前端代理配了后端接口也写了 /api结果请求全挂在 /api/api 上。如果跨域问题出现在生产环境不要把前端打好的 dist 单独扔到 nginx 上然后手动配跨域更简单的做法是直接把 dist 复制到 SpringBoot 的 resources/static 目录下让后端自己托管静态资源同源访问不存在跨域问题。4. 从零启动完整项目环境安装、数据库导入与三个启动脚本的执行顺序4.1 环境准备JDK1.8、MySQL5.7、Maven、Node 版本兼容性说明项目对环境的锁定比较严格JDK 必须是 1.8MySQL 必须是 5.7Maven 最好是 3.6 以内。如果你本机装的是 JDK17 或 MySQL8建议装一个虚拟机或者用 Docker 开一个对应版本的环境不要硬着头皮用高版本跑大概率会花一晚上解决兼容问题。Node 版本推荐 14 或 16两个前端工程用的是 Vue2 ElementUINode18 下有些依赖会报 OpenSSL 相关的错误。真遇到 Node18 跑不起来的情况可以用 nvm 切到 14 再装依赖不要花时间去找兼容包版本切版本是性价比最高的解法。MySQL 的数据导入用 Navicat 执行项目附带的 .sql 文件即可。注意导入前先建库库名要和 application.yml 里的配置一致默认是 gaokao_db如果建错了库名后端启动时会一直报连接失败且报错信息比较隐晦容易误判成端口问题。4.2 数据库表结构解读用户表、院校表、分数位次表、志愿表的设计要点我打开数据库粗略数了一下核心表有十几张挑几个关键的讲。user 表除了常规的 username、password还存了考生的省份、科类、分数、位次这些字段供推荐算法直接调用不需要外键关联查询。school 表存院校基本属性字段包括院校代码、名称、省份、层次本科/专科、办学类型公办/民办、院校标签985/211/双一流。score_line 表存历年录取数据以 school_id 关联院校每条记录有年份、批次、科类、最低分、最低位次。volunteer 表存考生填的志愿方案主键是自增 id外加考生 id 和按顺序排列的院校 id 列表。这些表的设计没有过度范式化很多冗余字段是故意保留的比如 user 表直接存位次而不是通过分数去换算因为换算逻辑复杂且容易出错。毕设项目讲究“能直接查的不关联”这样 SQL 简单加分点在于满足功能需求而不是炫技。4.3 启动后端Maven 打包与 SpringBoot 起服务的完整流程后端启动我用的是 IDEA打开 springboot2a1qfv22 目录右键 pom.xml 选择作为 Maven 工程导入。依赖下载完成后在 Application 启动类上点运行等控制台出现 Spring Boot 启动成功的日志即可。# 如果你的环境偏好命令行启动 cd springboot2a1qfv22 mvn clean package -DskipTests java -jar target/gaokao-0.0.1-SNAPSHOT.jarmvn clean package 会依次跑编译、测试、打包三个阶段。加上 -DskipTests 跳过测试是为了节省时间如果打包过程中报依赖下载失败检查一下 Maven 镜像是否配置成阿里云镜像原版中央仓库在国内下载速度堪忧。启动类一般在 src/main/java 下名字形如 XxxApplication找到后直接运行即可。4.4 启动前端依赖安装、编译、浏览器访问的每一步两个前端工程启动方式一致我以 front 为例写一遍命令。首次运行要先执行 install.bat 或手动 npm install依赖装完后 npm run dev 启动开发服务器。cd front/front npm install npm run devnpm install 如果卡在某个包的编译上先检查 Node 版本然后再看网络是否是公司内网限制了某些源。稳妥的做法是把 registry 切到国内镜像再删掉 node_modules 重装npm config set registry https://registry.npmmirror.com rm -rf node_modules package-lock.json npm install启动成功后浏览器访问 http://localhost:8081 就能看到考生前台后台管理端同理访问 http://localhost:8082admin 工程的 devServer 端口进入管理页面。两个端口的默认登录账号在说明文档里有写如果文档丢失了可以直接看数据库里 user 表的初始数据。4.5 爬虫模块启动安装依赖、执行爬取、数据落库验证spider 目录下的 install.bat 会安装 Scrapy 和 pymysql运行后确认命令行不报 import 错误。start 爬虫执行方式如下cd spider scrapy crawl gaokao爬虫启动后控制台会持续输出 item 的写入日志如果看到 Duplicate entry 或 Deadlock 错误多半是数据表缺少唯一索引或爬虫脚本在并发写入。解决办法是在目标表添加唯一约束并关闭 Scrapy 的并发设置在 settings.py 里把 CONCURRENT_REQUESTS 调成 1。爬完以后去 Navicat 里抽查 score_line 表的条数和年份分布确定数据覆盖度再考虑接进系统。5. 避坑指南我从这个项目里踩过的七个典型问题5.1 前端口号冲突导致页面白屏现象npm run dev 启动后浏览器打开是白屏控制台报错信息指向端口占用。原因8081 端口已被其他进程占用devServer 自动换了端口但代理配置没跟着变后端请求全部转发失败。解决先查到占用进程并释放端口或者启动前在 vue.config.js 里显式指定一个空闲端口不要依赖自动切换。5.2 MySQL 导入初始数据时报字符集错误现象SQL 导入执行到一半报错字段里有乱码或直接中断。原因数据库连接没有指定 utf8mb4导致生僻字比如某些院校名里的生僻汉字无法写入。解决建库时执行 SET NAMES utf8mb4同时确保 .sql 文件本身的编码是 UTF-8导入前用记事本或 VSCode 检查一下文件编码。5.3 爬虫跑到一半被网站拦截现象爬虫运行 510 分钟后请求连续返回 403 或验证码页面。原因网站有反爬机制同一 IP 的请求频率过高被识别。解决在 settings.py 里把 DOWNLOAD_DELAY 设为 1.5 秒并开启 User-Agent 随机切换加入项目附带的 user-agent 列表。数据量大概几千条单线程跑也不慢不需要上分布式。5.4 前端访问后端接口 404现象前端页面能打开但所有接口请求返回 404。原因最常见的两种情况一是前端代理的 pathRewrite 配置和后端 Controller 里的路径前缀叠加成了双前缀二是后端还没启动完前端就开始发请求浏览器缓存了旧的失败结果。解决先确认后端控制台有没有对应的请求日志有的话说明代理通但路径不对没有就说明代理没生效检查 vue.config.js 有没有配置到 devServer 节点下方。5.5 模拟填报结果为空列表现象输入分数和位次后推荐的冲稳保三档全部为空。原因score_line 表里没有对应省份、科类和年份的数据规则匹配查不到任何记录。解决先用 SQL 手动查一下这个考生的条件组合下有没有数据比如 SELECT * FROM score_line WHERE province河南 AND type理科 AND year2022确认数据范围能满足匹配条件再调整 topN 参数。5.6 MBTI测评结果和预期不一致现象同一个考生重复测试两次结果不同或者结果明显不符合预期。原因题库的维度分值配置有误比如某个选项本应给 E 维度加分配置表里却给 I 维度加了分。解决逐个核对后台维护的题目选项映射关系把每题的四个维度分值加起来做一个全量校验确保总分数是恒定值。5.7 项目直接 import 到 IDEA 后依赖爆红现象导入后 pom.xml 大量报错依赖下载失败。原因IDEA 默认使用内置 Maven本地仓库路径和镜像配置不对。解决在 IDEA 的 Settings 里指定本机 Maven 的 settings.xml确认 mirror 指向阿里云然后重新 import 一次等依赖索引刷新完即可。提示如果以上任意一步报错信息不够直观优先去看后端启动日志SpringBoot 的报错信息里通常已经包含了遗漏的关键线索比盲搜网上的答案效率高得多。6. 把毕设往上拔一个档次给项目加一个基于用户行为的协同过滤二次推荐如果你想在答辩时让老师眼前一亮我给一个具体可落地的增强方案在原有“冲稳保规则推荐”之上增加一个基于相似用户的协同过滤层。逻辑是当考生 A 完成了模拟填报并保存志愿表后系统在后台找出与其分数、位次相近且已经保存志愿表的其他考生统计这些考生的志愿院校交集和排序作为 A 的候选推荐排序依据。实现上你可以复用现有的 volunteer 表新增一张 user_similarity 表存储考生相似度矩阵或者不建表、直接运行时计算。数据量小的时候运行时计算更简单。我给出核心算法的伪代码# 协同过滤推荐核心逻辑 def collaborative_filter_recommend(user_id): # 获取当前考生的位次和省份 current get_user_profile(user_id) # 找出分数段相近的其他考生 similar_users find_similar_users(current) # 统计这些考生志愿中出现频率最高的院校按出现次数排序 candidates {} for uid in similar_users: volunteers get_volunteers_by_user(uid) for school_id in volunteers: candidates[school_id] candidates.get(school_id, 0) 1 sorted_candidates sorted(candidates.items(), keylambda x: x[1], reverseTrue) # 与规则推荐的结果做加权融合 rule_based get_rule_based_recommendation(current) return merge_result(rule_based, sorted_candidates[:20])这个增强点好在哪里一是业务逻辑闭环考生行为真正影响了推荐结果不再是纯规则匹配二是实现成本不高SQL 里做按位次范围检索即可三是论文里可以写“基于规则与协同过滤的混合推荐策略”比单一方法明显高一个层次。做完这个以后我每次跑完整流程都会强制走一遍“爬虫采集 → 数据入库 → 前端模拟填报 → 推荐结果验证”这条链路确认每一层的输出都符合预期再收工。这个检查习惯帮我避免了很多次答辩前才发现数据对不上的尴尬。希望这篇拆解能帮你把这个项目彻底吃透有任何一块想深入实践的顺着源码往下挖就行祝顺利。本文还有配套的精品资源点击获取

相关新闻

基于Java Web的宿舍管理系统:架构解析、部署与自动排房开发

基于Java Web的宿舍管理系统:架构解析、部署与自动排房开发

简介:这套基于Java的学生宿舍管理系统设计与实现,面向Java Web初学者及高校课程设计、毕业设计人群,提供从需求分析、数据库设计到前后端交互的完整项目方案。压缩包共661个文件,总大小约77.19MB,包含Java源码、SQL脚本…

2026/10/18 12:50:38 阅读更多 →
Windows下VSCode+MinGW+OpenCV+CMake环境配置与源码编译指南

Windows下VSCode+MinGW+OpenCV+CMake环境配置与源码编译指南

先聊个现象:很多人在 Windows 上配 C 开发环境,第一反应是装 VS(Visual Studio),点两下就能跑起来,确实省事。但等你要用 OpenCV 做图像处理、放进项目仓库给不同机器复用、或者临时想在 VSCode 里快速改个…

2026/10/18 12:49:37 阅读更多 →
非科班转FPGA可行吗?能力拆解与学习路线全指南

非科班转FPGA可行吗?能力拆解与学习路线全指南

讲个真实场景。我后台经常收到这样的私信:“我是计算机专业,平时写代码还行,但一直对芯片感兴趣,现在想学FPGA,科班出身是不是没戏?”提这个问题的人,跨度从刚上大二的学生到工作三四年的软件工…

2026/10/18 12:49:37 阅读更多 →

最新新闻

Python属性拦截四钩子:__setattr__、__getattr__、__delattr__与__call__实战

Python属性拦截四钩子:__setattr__、__getattr__、__delattr__与__call__实战

简介:这份PDF资料面向已掌握Python基础、希望深入理解面向对象机制的开发者,系统讲解__setattr__、 getattr 、__delattr__与__call__四个魔法方法的用法。内容从属性设置、属性读取、属性删除到实例可调用四个维度展开,每个方法均配有可运…

2026/10/18 13:43:05 阅读更多 →
纯C#实现轻量级Socket通信:单文件静态类支持多连接与断线重连

纯C#实现轻量级Socket通信:单文件静态类支持多连接与断线重连

很多人在做C#通信方案时都会遇到同一个尴尬:要么直接上重量级的通信框架,配置一堆服务、通道、协议,最后发现项目根本用不上那么多功能;要么自己从零写Socket,结果代码越写越乱,连接管理、断线重连、多客户…

2026/10/18 13:43:05 阅读更多 →
骗子打电话给你,为什么AI分不清好人坏人

骗子打电话给你,为什么AI分不清好人坏人

你有没有接到过这样一个电话:对方自称是银行的风控专员,说你的信用卡在境外有一笔异常消费,问你要不要确认一下。这时候,你的第一反应是什么?如果是真的银行客服,他们会让你去官方渠道核实,绝不…

2026/10/18 13:43:05 阅读更多 →
项目笔试满分攻略:订单撮合系统设计与堆选型实战

项目笔试满分攻略:订单撮合系统设计与堆选型实战

简介:这是一份针对微观博易软件开发面试Project 1的满分答案与C代码方案,适用于备战中高级开发岗的求职者,覆盖面向对象编程、数据结构与算法、文件流操作、模板与异常处理,以及Makefile自动化构建等核心考点。资源包共3个文件&am…

2026/10/18 13:43:05 阅读更多 →
API拦截器全链路实战:axios与Express中间件深度解析

API拦截器全链路实战:axios与Express中间件深度解析

简介:面向Windows平台开发者的完整全局API拦截示例工程,尤其适合理解Hook机制、从事核心编程与安全研究的开发者。压缩包内共35个文件,主要包含C源文件(.cpp)、头文件(.h)、工程配置&#xff08…

2026/10/18 13:43:05 阅读更多 →
MATLAB光学仿真:傅里叶变换与衍射建模实战

MATLAB光学仿真:傅里叶变换与衍射建模实战

简介:本资源是《现代信息光学与MATLAB》中英双语合订版教材PDF,系统讲授傅里叶光学、光学图像处理、数字全息及计算机生成全息等核心内容,特别强化非相干光学系统建模与前沿数字全息技术实现,面向工程与应用物理专业高年级本科生、…

2026/10/18 13:42:04 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →