Giter Club home page Giter Club logo

rnews's Introduction

Rnews

综述

我们的系统主要流程是:对新闻分词->对新闻提取主题特征->挖掘用户特征->使用不同算法推荐

算法推荐的流程是 训练用户模型->对user,article对评分->对每个用户提取得分高的article推荐

对于协同过滤,我们认为训练过程就是找与用户相似的用户,而用户对新闻的评分由与他相似的用户加权平均来取

每一个流程都应该相互独立,能够单独运行,单独改进,模块之间的关系只通过数据流相关,没有直接调用的关系,比如Recommender不会去调用特征生成,而是通过Provider去取特征,取不到Provider会自动调用算法生成,Provider在这里面就扮演了数据流的作用,解耦了两个模块之间的关系,这样不一样的推荐方法就能与不一样的特征,不一样的语料分析方法随意组合。

第三方工具集

  • 中文分词:Jieba分词
  • ORM框架:MongoEngiene
  • 语料主题模型分析:gensim
  • 聚类和K近邻等机器学习算法:scikit-learn
  • WEB开发:Django
  • 科学计算:numpy和scipy

帮助类

在算法运行期间,我们提供多种方式来存储数据,其中包括mongoDB数据库,本地文件,缓存.

我们使用统一的CacheUtil来管理缓存的本地持久化和读取操作.

使用Provider来统一实现从三种数据源读取中间数据并在无法读取时调用算法生成特征

  • CacheUtil:中间文件管理
  • DBUtil:批量写入数据库操作
  • WordExtractor:分词工具
  • CorpusHandler:主题提取和语料生成工具

核心类

  • Trainer:训练用户的模型
  • Predictor:求取用户对新闻的评分
  • Recommender:最后实际对用户进行推荐
  • Evaluator:计算算法的优劣

外部调用

我们希望做到每一个流程都能单独运行,单独改进,而不影响其他模块的运行,在console包里面我们专门提供从命令行启动每一个模块的脚本文件.

推荐算法

  • 基于内容的简单推荐
  • 基于用户的协同过滤

rnews's People

Contributors

suemi994 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.