Giter Club home page Giter Club logo

newsrecommendsystem's Introduction

基于主题模型的个性化新闻推荐系统

项目开发背景

  • 推荐算法只使用了主题模型
  • 新闻数据集爬取的1000条新浪新闻,对这1000条数据集进行主题提取,然后对1000条数据进行新闻推荐(即新闻集合是固定集合,而非增量)
  • 数据预处理采用Python开发,后端服务采用Java开发,前端采用微信小程序进行开发

项目使用技术

  • Python + jieba + gensim
  • Java + SpringBoot + MyBatis
  • MySQL + Redis
  • 微信小程序

项目效果演示

项目模块说明

  • newsRecommend/TouTiaoNewsScraper (Python)

    • 爬取新浪新闻数据,进行数据处理和清洗,再利用主题模型进行处理,最后将处理后的新闻-主题向量放入Redis和MySQL中
  • newsRecommend/recommend ($Java$)

    • 利用用户浏览记录和新闻-主题向量分析出用户的主题偏好,然后对新的新闻进行评分计算,进行排序推荐
    • 由于待计算的新闻较多,引入粗排和精排的概念,以减少待计算的新闻
  • newsRecommend/NewsRecommend (微信小程序前端)

    • 以小程序的形式提供前端数据展示

项目搭建说明

  • 打开newsRecommend/mysql中的文件,创建数据库

  • 爬取并处理新闻数据

    • 打开newsRecommend/TouTiaoNewsScraper文件,修改config.ini中的配置为自己想要的配置,主要是修改拉取的新闻页数和希望拉取的新闻时间
    • 修改mysql_utils.py和redis_utils.py中的云服务器信息和表名等信息
    • 执行 sh start.sh 运行代码,运行过程中日志会被记录到logs中,可以点击查看
    • 代码执行完成后,结果会被存储到MySQL和Redis中
  • 打开并运行newsRecommend/recommend

    • 运行之前,修改application.properties中的云服务器相关配置和https相关配置
    • 根据需要更改NConstants中的常量,特别是微信登录相关的配置
  • 利用微信开发者工具,打开并执行newsRecommend/NewsRecommend

    • 运行前需要修改各个js文件中的云服务器host
  • 通过微信开发者工具,观察展示的效果

联系方式

[email protected]

newsrecommendsystem's People

Contributors

marcel0637 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.