前言
计算机设计大赛在即,和冬瑜、承意组队参加人工智能组,报的题目的:书蕴——基于书评的智能书籍推荐系统。 主体上是去做一个web系统,系统的核心功能是书籍收藏与书籍推荐。根据用户收藏书籍的书评(划重点了),来为用户推荐书籍
创新点
- 基于书籍标签协同过滤算法
- 基于word2vec方法的自然语言处理
- 标签抽取(这个名词还没想好)
思路
- 数据获取
- 数据文本预处理
- 训练word2vec模型
- 使用word2vec模型迭代获取标签
- 协同过滤算法对标签处理,实现推荐
- web系统
数据获取篇
主要是冬瑜写的python爬虫,来源是豆瓣读书,目前效率较为低下,正在尽力找到有效的方案
数据文本预处理
- 去除html标签与换行
- 去除停用词
- 分词
- 保存为文本
具体内容记录在另一篇博客:[书蕴笔记-0]文本预处理 ## 训练word2vec模型 主要使用python的gensim包下的word2vec训练模型,模型以每本书的所有书评为主体。 之后可能考虑用一类书的书评整体训练模型。
基于 Gensim 的 Word2Vec 实践 Deep learning with word2vec > 以下参数解释来自博客:word2vec词向量训练及gensim的使用 > 参数解释: - sg=1是skip-gram算法,对低频词敏感;默认sg=0为CBOW算法。 - size是输出词向量的维数,值太小会导致词映射因为冲突而影响结果,值太大则会耗内存并使算法计算变慢,一般值取为100到200之间。 - window是句子中当前词与目标词之间的最大距离,3表示在目标词前看3-b个词,后面看b个词(b在0-3之间随机)。 - min_count是对词进行过滤,频率小于min-count的单词则会被忽视,默认值为5。 - negative和sample可根据训练结果进行微调,sample表示更高频率的词被随机下采样到所设置的阈值,默认值为1e-3。 - hs=1表示层级softmax将会被使用,默认hs=0且negative不为0,则负采样将会被选择使用。 - workers控制训练的并行,此参数只有在安装了Cpython后才有效,否则只能使用单核。
具体内容记录在另一篇博客:(占坑,等下写) [书蕴笔记-1]word2vec模型训练
使用word2vec模型迭代获取标签
通过模型vocabulary词频最高的5个词查询其距离最近的5个词,迭代100词,得到标签集(数字仅实验参考,具体会重新调整)
具体内容记录在另一篇博客:(占坑,等下写) [书蕴笔记-2]使用word2vec模型迭代获取标签
## 协同过滤 矩阵线性运算对标签处理,实现推荐 [书蕴笔记-3]使用中文维基百科语料库的word2vec模型计算书籍距离
web系统
写个从前端到后台的web
写完了,但是没什么好说的就不说了。