前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >中文NLP笔记:8. 基于CNN的推荐系统

中文NLP笔记:8. 基于CNN的推荐系统

作者头像
杨熹
发布2019-02-20 16:33:18
2K0
发布2019-02-20 16:33:18
举报
文章被收录于专栏:杨熹的专栏杨熹的专栏

图片发自简书App

推荐系统

推荐系统

  用途

  对用户而言:可以找到感兴趣的东西,发现新鲜的事物。

  对商家而言:可以提供个性化服务,提高信任度和粘性,增加营收。


  主要有两类

  基于用户的推荐系统(UserCF)

    给用户推荐那些和他有共同兴趣爱好的用户喜欢的商品

  基于物品的推荐系统(ItemCF)

    给用户推荐那些和他之前喜欢的商品类似的商品


CNN

  常用于图像识别问题,效果不错

  CNN 如何应用到 NLP 中

  矩阵的每一个行向量代表一个 Token

  如果一段文字包含有 n 个词,每个词有 m 维的词向量,那么可以得到一个 n*m 的词向量矩阵

  在任务过程中,使得过滤器宽度和矩阵宽度保持一致整行滑动。


基于 CNN 的电影推荐系统

  1. 定义用户嵌入矩阵

  将 UserID、MovieID、性别、年龄、职业特征转成数字类型

  网络的第一层就使用嵌入层,维度(N,32)和(N,16)

  然后进行全连接层,维度变成(N,128)

  再进行全连接层,维度变成(N,200)

  3. 定义电影 ID 嵌入矩阵

  输入电影 ID 和电影类型

    一个电影可以属于多个类别,电影类型从嵌入矩阵索引出来之后是一个(N,32)的矩阵,再经过矩阵求和,变成(1,32)形状,这样使得电影的类别信息不会丢失。

  4. 文本卷积神经网络

  在电影文本特征矩阵中,矩阵的每一个行构成的行向量代表一个 Token,会得到一个 n*m 的矩阵

  NLP 处理过程中,有多个不同大小的过滤器串行执行,且过滤器宽度和矩阵宽度保持一致,是整行滑动

  卷积操作之后采用了ReLU 激活函数

  再采用最大池化操作

  最后通过全连接并 Dropout 操作和 Softmax 输出

  对电影名称做 CNN 处理

  从嵌入矩阵中得到电影名对应的各个单词的嵌入向量

  过滤器大小使用时,就选择2、3、4、5长度

  对文本嵌入层使用滑动2、3、4、5个单词尺寸的卷积核做卷积和最大池化

  5. 电影各层做一个全连接层

  前面已经生成了电影ID特征,类型特征,电影名特征

  再通过2个全连接层

    第一个全连接层是电影 ID 特征和电影类型特征先全连接

    再和 CNN 生成的电影名称特征全连接,生成最后的特征集


学习资料:

《中文自然语言处理入门实战》

蜗牛回头会把代码加上,敬请期待

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.02.06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档