希望路过的同学,顺手给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
git clone https://github.com/HongZhaoHua/jstarcraft-core.git
mvn install -Dmaven.test.skip=true
git clone https://github.com/HongZhaoHua/jstarcraft-ai.git
mvn install -Dmaven.test.skip=true
git clone https://github.com/HongZhaoHua/jstarcraft-rns.git
mvn install -Dmaven.test.skip=true
git clone https://github.com/HongZhaoHua/jstarcraft-example.git
mvn package -Dmaven.test.skip=true
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协议,一切以其为基础的衍生作品均属于衍生作品的作者.
作者 | 洪钊桦 |
---|---|
[email protected], [email protected] |
特别感谢LibRec团队在推荐方面提供的支持与帮助.
特别感谢陆徐刚在搜索方面提供的支持与帮助.