HO
HongZhaoHua/jstarcraft-example
基于JStarCraft RNS引擎,Spring Boot框架和公共数据集搭建的千人千面演示项目. 系统会根据用户的行为记录,自动调整用户的推荐内容和搜索内容.使用者可以通过该项目了解*推荐系统*与*搜索系统*的运作流程. 涵盖了个性化推荐与个性化搜索2个部分.
JStarCraft Example
希望路过的同学,顺手给JStarCraft框架点个Star,算是对作者的一种鼓励吧!
目录
介绍
JStarCraft Example是一个基于JStarCraft RNS引擎引擎,Spring Boot框架和公共数据集搭建的千人千面演示项目.
系统会根据用户的行为记录,自动调整用户的推荐内容和搜索内容.使用者可以通过该项目了解推荐系统与搜索系统的运作流程.
涵盖了个性化推荐与个性化搜索2个部分.
特性
个性化模型
本演示项目使用了以下8中个性化模型:
- AssociationRule
- MostPopular
- Random
- BPR
- ItemKNN
- LDA
- UserKNN
- WRMF
安装
项目为了尽可能聚焦于个性化推荐和个性化搜索的演示,不包含任何多余组件的部署(例如MySQL/Redis/Spark/Elasticsearch).
JStarCraft Examlpe要求使用者具备以下环境:
- JDK 8或者以上
- Maven 3
安装JStarCraft-Core框架
git clone https://github.com/HongZhaoHua/jstarcraft-core.git
mvn install -Dmaven.test.skip=true安装JStarCraft-AI框架
git clone https://github.com/HongZhaoHua/jstarcraft-ai.git
mvn install -Dmaven.test.skip=true安装JStarCraft-RNS引擎
git clone https://github.com/HongZhaoHua/jstarcraft-rns.git
mvn install -Dmaven.test.skip=true打包JStarCraft-Example项目
git clone https://github.com/HongZhaoHua/jstarcraft-example.git
mvn package -Dmaven.test.skip=true使用
运行JStarCraft-Example项目
java -jar jstarcraft-example-1.0.jar电影的个性化推荐与搜索
- 复制链接http://127.0.0.1:8080/movie.html到浏览器.
- 选择用户
- 选择模型
- 填写查询条件
- 选择是否过滤(已评价的条目)
- 选择是,则相当于个性化推荐
- 选择否,则相当于个性化搜索
- 点击个性化
根据行为记录自动调整模型
用户可以通过点击评价:1 2 3 4 5对应的分数给条目打分,系统每隔5分钟会自动刷新模型.
架构
概念
推荐与搜索的本质
示例
词项查询
支持单词和语句:
- 单词
- 语句(使用双引号
""包括)
Story
"Toy Story"
范围查询
支持指定最小值和最大值:
- {}尖括号表示不包含最小值或最大值
- []方括号表示包含最小值或最大值
[1990,2000}
通配符查询
支持在单词或者语句中结合通配符:
- 使用
?匹配单个字符 - 使用
*匹配0个或多个字符
te?t
te*t
模糊查询
test~
组合查询
支持多种逻辑操作符:
- 使用
&&实现交集操作 - 使用
||实现并集操作 - 使用
!实现差集操作 - 使用
()实现分组操作,形成更为复杂的逻辑查询
1990 || (Toy && Story)
对比
版本
参考
协议
JStarCraft Example遵循Apache 2.0协议,一切以其为基础的衍生作品均属于衍生作品的作者.
作者
| 作者 | 洪钊桦 |
|---|---|
| 110399057@qq.com, jstarcraft@gmail.com |
致谢
特别感谢LibRec团队在推荐方面提供的支持与帮助.
特别感谢陆徐刚在搜索方面提供的支持与帮助.
On this page
Languages
Java66.5%JavaScript14.3%HTML11.1%CSS5.5%Perl1.3%Shell1.2%
Contributors
Apache License 2.0
Created May 23, 2019
Updated January 9, 2026
