网站建设前期响应式网站下载

web/2025/9/27 6:39:31/文章来源:
网站建设前期,响应式网站下载,抖音代运营方案范文,wordpress 开启手机版随着移动互联网的快速发展#xff0c;UGC标签系统受到越来越多推荐应用#xff0c;标签不但能反映用户的兴趣又能描述物品的本身特征。现有的标签推荐算法没有考虑用户的连续行为所产生的影响#xff0c;于是人们提出了一种基于标签的个性化推荐算法。该算法将〈用户-标签-物…随着移动互联网的快速发展UGC标签系统受到越来越多推荐应用标签不但能反映用户的兴趣又能描述物品的本身特征。现有的标签推荐算法没有考虑用户的连续行为所产生的影响于是人们提出了一种基于标签的个性化推荐算法。该算法将〈用户-标签-物品〉的三维关系拆分为〈用户-标签〉和〈标签-物品〉两个二维关系。 通过推荐标签集来匹配与其相对应的物品为了提高推荐的精准率该算法利用标签之间的影响并基于匹配物品中所含标签间存在的关联关系对物品进行满意度建模该模型是一种概率模型。在计算用户-标签和用户-物品之间的兴趣度和满意度时使用了协同过滤的思想来补全稀疏值。在公开的数据集中,与现有算法相比该算法在精准率、召回率上均有明显提高。 因此本文将主要探讨如何利用用户打标签的行为为其推荐物品。一个用户标签行为的数据集可以由一个三元组集合表示其中每条样本(u,i,b)表示用户u为物品i打上了标签b。 1、标签作为特征/类别划分 我们可以将标签看做是LFM中的隐类(这里是显式的)用户u对物品i的兴趣度可表示为 p ( u , i ) ∑ b n u b n b i p(u,i)\sum_{b}n_{ub}n_{bi} p(u,i)b∑​nub​nbi​ n u b n_{ub} nub​用户u打过标签b的次数可以看做是用户u对b类物品的喜好程度 n b i n_{bi} nbi​物品i被打过b标签的次数可以看做物品i属于b类的”概率“值 仔细研究以上公式我们可以发现如下缺点 热门标签给 n u b n_{ub} nub​的权重很大热门物品给 n b i n_{bi} nbi​的权重也很大 借鉴TF-IDF的思路可以通过惩罚用户或物品中热门标签的方式来优化以上公式 p ( u , i ) ∑ b n u b l o g ( 1 n b u ) n b i l o g ( 1 n i u ) p(u,i)\sum_{b}\frac{n_{ub}}{log(1n_b^u)}\frac{n_{bi}}{log(1n_i^u)} p(u,i)b∑​log(1nbu​)nub​​log(1niu​)nbi​​ 1 n b u 1n_b^u 1nbu​标签b被多少个用户使用过 n i u n_i^u niu​物品i被多少个用户打过标签 标签的稀疏性对于新用户或新物品集合B(u)⋂B(i)中的标签数量很少。 1.1 标签扩展 为提高推荐准确率需要对标签集合进行进一步扩展如果用户使用过某个标签我们可以将与这个标签相似的其他标签也加入到用户标签集合中去。扩展标签的方式有很多常用的有话题模型这里介绍一种基于邻域的方法核心是计算标签之间的相似度。可以用两个标签下物品的重合度来计算它们之间的相似度 2、 适用场景 商城类用户偏好商品UGC标签推荐社交类用户喜欢UGC标签推荐 3、冷启动问题解决方案 客户注册时勾选喜欢的标签如是商城勾选喜欢的商品标签如是社交内网站勾选喜欢社交类别热门商品填充 4、基于商品标签推荐代码 /**商品数据*/ case class Product(productId:Int, name:String, imageUrl:String, categories:String, tags:String) //mongodb 配置 case class MongoConfig(uri:String, db:String) //定义标准推荐对象 case class Recommendation(productId:Int, score:Double) //定义商品相似度列表 case class ProductRecs(productId:Int, recs:Seq[Recommendation])object ContentRecommender {//定义数据存储mongodb存储的表名val MONGODB_PRODUCT_COLLECTION product//定义一个基于内容推荐商品列表val CONTENT_PRODUCT_RECS ContentBasedProductRecs//总特征数量:本身词汇比较多不设置会按照很大特征值(消耗内存高), 特征数量其实Hash桶数量设置少会导致hash碰撞var NUM_FEATURES 800//推荐商品数通过商品最小相似度值控制val PRODUCT_SIMILAR_RATE 0.4def main(args: Array[String]): Unit {val config Map(spark.cores - local[*],mongo.uri - mongodb://localhost:27017/spark-recommender,mongo.db - spark-recommender)val sparkConf new SparkConf().setMaster(config(spark.cores)).setAppName(ContentRecommender)val spark SparkSession.builder().config(sparkConf).getOrCreate()import spark.implicits._implicit val mongoConfig MongoConfig(config(mongo.uri), config(mongo.db))//1、加载商品数据val productTagsDF spark.read.option(uri, mongoConfig.uri).option(collection, MONGODB_PRODUCT_COLLECTION).format(com.mongodb.spark.sql).load().as[Product].map {item //通过对tags的|替换为 空格后面分词器默认按照空格分割val tags item.tags.replace(|, )(item.productId, item.name, tags)}.toDF(productId, name, tags).cache()//2、计算文档总分词数val dsTags:Dataset[Array[String]] productTagsDF.select(tags).map(x x.toString.split( ))//使用flatMap合并Array[String]所有项val all_terms: Array[String] dsTags.flatMap(iterArr iterArr).distinct().collect()//所有词典(总词)特征数量NUM_FEATURES all_terms.length//3: 用TF-IDF提取商品特征向量val tokenizer new Tokenizer().setInputCol(tags).setOutputCol(words)val wordsDataDF tokenizer.transform(productTagsDF)//4、计算TF定义一个HashingTF工具计算频次val hashingTF new HashingTF().setInputCol(words).setOutputCol(rawFeatures).setNumFeatures(NUM_FEATURES)val featurizedDataDF hashingTF.transform(wordsDataDF)//5、定义一个IDF工具计算TF-IDFval idf new IDF().setInputCol(rawFeatures).setOutputCol(features)//计算逆文件频率: 训练一个idf的模型val idfModel idf.fit(featurizedDataDF)//将词频(TF)转换为TF-IDF向量: 得到增加新列feature的DF,(最终特征向量)val rescaledTfIDF idfModel.transform(featurizedDataDF)//6、对数据进行转换得到RDD的featuresval productFeatures rescaledTfIDF.map {row (row.getAs[Int](productId), row.getAs[SparseVector](features).toArray)}.rdd.map {case (productId, features) (productId, new DoubleMatrix(features))}//两两配对做笛卡尔积计算余弦相似度val productRecsDF productFeatures.cartesian(productFeatures).filter {case (a, b) a._1 ! b._1 }.map {case (a, b) val simScore cosineSim(a._2, b._2) (a._1, (b._1, simScore))}.filter(_._2._2 PRODUCT_SIMILAR_RATE) .groupByKey().map {case (productId, recs) val list recs.toListProductRecs(productId, list.map(x Recommendation(x._1, x._2)))}.toDF()storeDFInMongoDB(productRecsDF, CONTENT_PRODUCT_RECS)spark.stop()}/*** 存储信息到mongodb数据库** param df* param collectionName* param mongoConfig*/def storeDFInMongoDB(df: DataFrame, collectionName: String)(implicit mongoConfig: MongoConfig): Unit {df.write.option(uri, mongoConfig.uri).option(collection, collectionName).mode(SaveMode.Overwrite).format(com.mongodb.spark.sql).save()}/*** 计算两个向量集合的余弦相似度** param product1 商品1的矩阵* param product2 商品2的矩阵*/def cosineSim(product1: DoubleMatrix, product2: DoubleMatrix): Double {product1.dot(product2) / (product1.norm2() * product2.norm2())} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

成都青羊区建设局网站flash做网站轮播图

动画系统包含: 动画片段 Animation Clip,记录物体变化的信息,可以是角色的闪转腾挪,也可以是一扇门的开闭动画状态机 Animator Controller,根据设置切换动画片段动画组件 Animator,Animation替身 Avatar&a…

山西p2p网站建设app网站与普通网站的区别

JavaScript闭包 前言概念代码实例以及讲解闭包作用闭包缺点 前言 本文主要讲解JavaScript中的闭包,闭包是什么? 闭包(closure)是一个函数以及其捆绑的周边环境状态(lexical environment,词法环境&#xff…

用wordpress建站会不会显得水平差培训网

3月1日是我回学校的第一天。经历了长达8个月在家的昏暗时刻,我这10天的感觉和在家的感觉发生了翻天覆地的变化,最明显的莫过于学习状态的改变。 倒不是说在家学的不好,而是说在学校,我对学习的整体感觉,以及专注程度&…

上海网站推广提供商广州做网站信科建设

参考:《C专家编程》 例子 void(*signal(int sig, void(*func)(int)))(int);分析:signal是一个函数,返回一个函数指针,它指向的函数接受int参数返回void。signal的参数是int和一个接受int的函数指针。 可以使用typedef进行简化&a…

ctoc的网站有哪些域名注册需要多少钱?

当调试windows程序的时候,有时候会需要一些符号文件。系统的公有符号文件微软都是提供的,只需在调试器中设置即可,在下次调试时,调试器会自动从网上下载需要的符号文件。可以使用符号文件的调试器有windbg等等。 符号服务器地址&a…

东莞免费模版网站建设企业网站建设市场报价

✨个人主页: 北 海 🎉所属专栏: MySQL 学习 🎃操作环境: CentOS 7.6 腾讯云远程服务器 🎁软件版本: MySQL 5.7.44 文章目录 1.MySQL 的清理与安装1.1查看是否存在 MySQL 服务1.2.卸载原有服务1.…

新乡网站优化国内时事新闻2023最新

保护性拷贝(Defensive Copy)是一种常见的编程实践,用于在传递参数或返回值时,创建副本以防止原始对象被意外修改。以下是一个例子,展示了何时进行保护性拷贝: mport java.util.ArrayList; import java.uti…

2019流行做什么网站网站网站源码爬取

ianstormtaylor/slate Stars: 28.8k License: MIT slate 是一个完全可定制的框架,用于构建富文本编辑器。 可以构建类似 Medium、Dropbox Paper 或 Google Docs 的富文本编辑器通过一系列插件实现所有逻辑,避免代码复杂度受到 Draft.js、Prosemirror 和…

网站收缩引擎入口网页游戏开服

前言:mysqldump是MySQL自带的逻辑备份工具,可以将整个数据库或者指定的表格导出为一个SQL脚本文件,可以用于数据库备份。 1、编写shell脚本 # 备份文件保存路径 backup_dir/data/mysqlbackup # 当前时间 current_timedate %Y-%m-%d-%H-%M-%S…

大连小程序哪个开发公司好网站优化是什么

前言微服务在编程圈火的是不行不行的啦,可能还有很多小伙伴还没有进行微服务实操,但这个词,要说没听过、没看过,那小伙伴一定是假Programmer。虽然微服务很火,但不能盲目使用;先不说涉及技术和工具有多少&a…

威海做网站的重庆社区app最新版本下载

1. 题目 给定数组 A&#xff0c;我们可以对其进行煎饼翻转&#xff1a;我们选择一些正整数 k < A.length&#xff0c;然后反转 A 的前 k 个元素的顺序。我们要执行零次或多次煎饼翻转&#xff08;按顺序一次接一次地进行&#xff09;以完成对数组 A 的排序。 返回能使 A 排…

网站与网页的关系什么是网络营销定价中除免费策略外

题目描述 在本题中&#xff0c;格点是指横纵坐标皆为整数的点。 为了圈养他的牛&#xff0c;农夫约翰&#xff08;Farmer John)建造了一个三角形的电网。他从原点&#xff08;0,0&#xff09;牵出一根通电的电线&#xff0c;连接格点(n,m)&#xff08;0<n<32000,0<m&l…

python搭建个人网站一个营销型网站模板

1.认识列表列表可以放入所有我们目前学习过的数据类型&#xff0c;甚至包括列表2.有关列表的方法、内置函数(设列表的名称为list)向列表中添加元素&#xff1a;append()&#xff1a;list.append(要添加的元素)&#xff0c;注意每次只能添加一个元素&#xff0c;被添加的元素自动…

网站经营网络备案信息正则表达式 网站地址

1. 单链表的概念和结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表 中的指针链接次序实现的 。 链表与顺序表都属于线性表&#xff0c;顺序表在物理存储结构上是线性的&#xff0c;但是链表在物理存储结构上…

专业的建设网站服务公司苏州园区人才市场

8.1 可迭代对象(Iterable)大部分对象都是可迭代&#xff0c;只要实现了__iter__方法的对象就是可迭代的。__iter__方法会返回迭代器(iterator)本身&#xff0c;例如&#xff1a;>>> lst [1,2,3]>>> lst.__iter__()Python提供一些语句和关键字用于访问可迭代…

集团定制网站建设公司网站开发团队名字

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 一:go语言面向web编程认知 Go语言的最大优势在于并发与性能,其性能可以媲美C和C,并发在网络编程中更是至关重要 使用http发送请…

网站备案有什么风险优化是什么工作

[适用于 linux 和 mac] 比如 ~/.ssh/config: Host targetHostName 192.168.2.12User rootPort 9990这样每次 ssh target 的时候每次都需要输入密码&#xff0c;比较麻烦 解决办法如下&#xff0c;可让下次不用重新输入密码 # 先要生成 ssh 密钥 ssh-keygen# 配置永久性密码 s…

现在百度怎么优化排名seo的网站

happiness 题解: 将图转换成最小割. 将割完的图中与S相连的点看做选文科, 与T相连的点看做选理科. flow(s, u) 文科值 flow(u,t) 理科值 假设u 和 v 一起选文科有奖励值z, flow(s,u) z/2 flow(s,v) z/2, flow(u,v) z/2 假设u 和 v 一起选理科有奖励值z, flow(u,t) z/2…

佛山高端网站建设工作室wordpress化妆品主题

在Vue 3 中有多种定义组件的方法。从选项到组合再到类 API&#xff0c;情况大不相同 1、方式一&#xff1a;Options API 这是在 Vue 中声明组件的最常见方式。从版本 1 开始可用&#xff0c;您很可能已经熟悉它。一切都在对象内声明&#xff0c;数据在幕后由 Vue 响应。它不是…