Skip to content

基于JStarCraft RNS引擎,Spring Boot框架和公共数据集搭建的千人千面演示项目. 系统会根据用户的行为记录,自动调整用户的推荐内容和搜索内容.使用者可以通过该项目了解*推荐系统*与*搜索系统*的运作流程. 涵盖了个性化推荐与个性化搜索2个部分.

License

Notifications You must be signed in to change notification settings

HongZhaoHua/jstarcraft-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JStarCraft Example


License Total lines

希望路过的同学,顺手给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

电影的个性化推荐与搜索

  1. 复制链接http://127.0.0.1:8080/movie.html到浏览器.
  2. 选择用户
  3. 选择模型
  4. 填写查询条件
  5. 选择是否过滤(已评价的条目)
    • 选择是,则相当于个性化推荐
    • 选择否,则相当于个性化搜索
  6. 点击个性化

个性化效果如图所示: movie

根据行为记录自动调整模型

用户可以通过点击评价: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协议,一切以其为基础的衍生作品均属于衍生作品的作者.


作者

作者 洪钊桦
E-mail 110399057@qq.com, jstarcraft@gmail.com

致谢

特别感谢LibRec团队在推荐方面提供的支持与帮助.

特别感谢陆徐刚在搜索方面提供的支持与帮助.


About

基于JStarCraft RNS引擎,Spring Boot框架和公共数据集搭建的千人千面演示项目. 系统会根据用户的行为记录,自动调整用户的推荐内容和搜索内容.使用者可以通过该项目了解*推荐系统*与*搜索系统*的运作流程. 涵盖了个性化推荐与个性化搜索2个部分.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published