Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
甜加冰6654
NewsRecommendSystem
提交
2b43a98e
N
NewsRecommendSystem
项目概览
甜加冰6654
/
NewsRecommendSystem
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
NewsRecommendSystem
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
2b43a98e
编写于
12月 14, 2017
作者:
T
Tom Qian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update readme.md
上级
64ac5924
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
3 deletion
+14
-3
README.md
README.md
+14
-3
未找到文件。
README.md
浏览文件 @
2b43a98e
...
...
@@ -14,7 +14,7 @@
**推荐算法的具体细节可参考文件[推荐系统介绍.pdf]**
**主要使用的库(Lib):
**
**主要使用的库(Lib):**
-
[
Ansj
](
https://github.com/NLPchina/ansj_seg
)
:基于内容的推荐部分用以分词,以及其内含的TFIDF算法。
-
[
Quartz
](
http://www.quartz-scheduler.org/
)
:推荐系统定时运行的设定。
...
...
@@ -111,8 +111,11 @@ password = [登录密码]
四个步骤:
1.
在com.qianxinyao.TomNewsRecommender包下,找到类Main;
2.
选择推荐算法。设置boolean类型的enableCB,enableCF,enableHR变量,分别代表推荐过程中是否启用协同过滤推荐算法、基于内容的推荐算法、基于热点新闻的推荐算法。若均设为true,表示三种算法均工作,一起为用户生成推荐结果;
3.
选择推荐对象。推荐对象分为三种:全体用户,活跃用户(最近一段时间有登录行为)与自定义用户(自己指定的用户),若选择自定义用户,需要构建包含目标用户id(long)的List
<Long>
;
4.
选择系统运行方式。运行方式分为两种:一次运行和定时运行。一次运行即只为用户进行一次推荐生成,生成结束后则系统停止,若要再生成推荐,需要重新启动系统。而定时运行则可以定时为用户生成推荐结果,若不强制停止系统,则系统会一直运行下去。(定时运行时间在paraConfig.properties文件中设定)
以下是示例代码:
...
...
@@ -163,7 +166,9 @@ public class Main
系统运行的各类参数都可以在根目录下src/main/res目录下的paraConfig.properties文件中进行配置。默认配置是推荐配置。
若要保持系统的日常运行,还需要【新闻模块】每天抓取一定量的新闻并入库。
若需要推荐系统能在每次生成有效的推荐,只要【新闻模块】保持以一定频率抓取一定量的新闻并入库news表。(最好与推荐系统定时推荐的频率相同,并在推荐系统运行之前完成一次抓取,推荐每天抓取一次新闻,并进行一次推荐生成。)
**注意:入库的新闻要标注module_id,详情可参见数据库表与com.qianxinyao.TomNewsRecommender包下的NewsScraper类中的代码。**
## 测试数据
...
...
@@ -177,8 +182,14 @@ public class Main
-
newsmodules表:17个测试模块
-
newslogs:测试推荐算法效果用的9条浏览记录
要查看推荐系统在测试数据上运行的效果,只需在Main类下执行:
```
//在测试数据上运行
new TestDataRunner().runTestData();
```
按照上一节中提供的示例代码运行的话
:
预期的推荐生成结果如下
:
-
若对测试数据进行一次协同过滤,将生成0条推荐。
-
若对测试数据进行一次基于内容的推荐,将为用户1(id=1)推荐85,87,89,104这四条新闻(有重复标题的新闻,新闻标题中的“合同”关键词匹配上了用户的喜好关键词),为用户2推荐89新闻(重复标题的新闻),推荐用户3推荐87,85,100这三条新闻(新闻标题中的“合同”关键词匹配上了用户的喜好关键词)。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录