推荐系统-召回-概述(四):热门推荐

news2024/11/25 0:41:28

无论个性化多么重要,热门推荐都是推荐系统里不可或缺的一部分。其一、根据“二八定律”,电商系统中的20%的头部内容被80%的流量消费,因此,在产品早期,仅仅推荐热门内容,实施成本不高,且效果也会不错;其二,对于冷启动用户,由于较难获得用户兴趣信息,实施个性化推荐难度较高,热门内容池此时就会成为不错的选项,通过曝光给用户热门内容,可以捕获用户兴趣/非兴趣信息,以便进一步对用户进行个性化推荐;此外,热榜本身就是面向用户的产品,它提供了多样化兴趣,可以提升用户的活跃度。

亲爱的读者可以先思考下,如果由你来做一个热门榜单,你会考虑哪些因素?怎样的内容算是热门内容?电商的热门和信息流的热门又有怎样的不同呢?

嗯,想必大家心中已经各有答案了。这里为大家介绍下业界通用思路:热门榜单通常需要结合具体业务场景进行设计,需要考虑的维度通常有用户对物品的交互情况(点击、评论、点赞/反对、投票、收藏、购买等),时间、好评率、话题本身分类、发布者相关权重等,本文将对一些已知公开的热门算法做一个介绍。

基于时间机制

时间是热门榜单设计时需要重点考虑的因素,如果不考虑时间因素,只根据物品的累积交互量排名,就会出现越老的物品越容易长踞榜单的现象,且越热门的物品越容易被分发,也会吸引更多用户的关注,即马太效应。

Hacker News排序算法

Hacker News(https://news.ycombinator.com) 是一家发布有关黑客和创业公司相关新闻的网站,用户可以对赞同的文章进行投票,新闻采用如下公式进行打分:( p – 1 ) / ( t + 2 ) G (p – 1) / (t + 2)^{G}(p–1)/(t+2)G,再针对打分进行排序。
其中,p为该新闻的投票数,减1是去除作者自己的投票。t为文章发表以来的时间,以小时计数,加2是对分母进行了平滑。G为重力指数,Hacker News取1.5,从这个公式中可以看出,随着时间的流逝,过去的热门在将来会不再热门。

G的大小决定了什么呢?我们可以看一个例子,一个刚刚发布的新闻A,假设除去作者一票,只获得了一票投票,那么24小时前发布的新闻B,需要获得几票才能与新闻A抗衡呢?需要1 / ( 0 + 2 ) 1.5 ∗ ( 24 + 2 ) 1.5 ≈ 374.98 1 / (0 + 2)^{1.5} * (24+2)^{1.5} \approx 374.981/(0+2)1.5∗(24+2)1.5≈374.98,即一天前发布的文章需要375票,才能排在刚发布的文章前面。若G = 0.5,则只需要7.2 ≈ 8 7.2 \approx 87.2≈8票,因此G可以看作对投票数和时间的重要性权衡参数,也可以看作是榜单的更新频率。G越大,新文章越容易出现在榜单上,G越小,旧一点的文章更容易出现在榜单上。

牛顿冷却定律

牛顿冷却定律来自于物理学领域,其原始含义是:物体冷却速度,与其当前温度与周围环境温度之差成正比。公式为:
T ′ ( t ) = − α ( T ( t ) − H ) T'(t) = -\alpha(T(t) - H)T′(t)=−α(T(t)−H)
T’(t)为温度t随时间变化的函数,其导数即为t变化的速率。经过推导,公式可表达为:
T = H + ( T 0 − H ) e − α ( t − t 0 ) T = H + (T_0 - H)e^{-\alpha(t-t_0)}T=H+(T0​−H)e−α(t−t0​)
其中,H为环境温度,T 0 T_0T0​为物体初始温度,t 0 t_0t0​为初始时间,T为当时间到达t时的物体最终温度。α \alphaα是冷却系数,为常数,大于0,表示室温与降温速率之间的关系。一般环境温度H取0,则最终公式为:
T = T 0 e − α ( t − t 0 ) T = T_0e^{-\alpha(t-t_0)}T=T0​e−α(t−t0​)
将牛顿冷却定律套用到物品热门程度上,则T 0 T_0T0​为物品初始分数,T为根据时间衰减后的最终分数。通常我们使用半衰期的概念来计算α \alphaα,对于新闻类产品,半衰期较短,假设12小时,即0.5天后,热度衰减一半,则0.5 = e − α ∗ 0.5 0.5 = e^{-\alpha*0.5}0.5=e−α∗0.5,解出α = 1.386 \alpha=1.386α=1.386,对于电商类产品,半衰期较长,假设为15天,则0.5 = e − α ∗ 15 ∗ 24 0.5 = e^{-\alpha*15*24}0.5=e−α∗15∗24,解出α = 0.0019254 \alpha=0.0019254α=0.0019254,可以看出,− α -\alpha−α越小,热度衰减越慢。在实际业务应用中,精细化运营场景还需要考虑不同类目− α -\alpha−α取值可以,比如母婴类产品和家具类产品,热度的半衰期其实是不一样的。针对不同场景,需要定制不同策略。

牛顿冷却定律不仅可以应用于各类排行榜,也可应用于如用户兴趣衰减、评论排序等时间相关场景。初始热度该如何计算呢?其实既可以使用规则(比如收藏、浏览等行为加权求和)的方式,也可以如Hacker News类似的投票累积,还可以结合使用其他算法,比如我们接下来即将介绍的投票机制。

基于投票机制

许多用户交互类网站都有用户交互机制,一般为用户的转评赞踩,用户的参与体现了话题的价值,因此一些热门榜单算法会将用户的交互行为考虑进来。

Reddit

Reddit是美国一家新闻社交类网站,用户可以发布如新闻、电影、音乐、书籍等内容的文字或链接,是美国最大的社交网站之一,月活用户超过3亿。不同于Hacker News,Reddit既可以赞,也可以踩。因此,Reddit公布的热榜算法综合考虑了交互用户的同意和反对因素。

Reddit目前在国内不可访问,但其热榜算法思路值得借鉴,其帖子得分为:
s c o r e = l o g 10 z + y t 45000 score = log_{10}z + \frac{yt}{45 000}score=log10​z+45000yt​
其中,z表示赞成票与反对票的绝对差值,当差值过高时,由于log的存在而被平滑,即当差值足够高,则分数的差距不明显。这个公式下,帖子赞成与反对如果人数相当,哪怕参与的人再多,也不会认为是热帖。Reddit的算法并不一定适用于其他社区,实际上,现在社区类产品中,越是有争议的话题会认为是越有价值;公式中的y取值为{1,0,-1},当赞成票大于反对票,则为1,反之则为-1,如果赞成与反对票相等,则为0;t为发帖时间距离指定时间的差值(2005年12月8日7:46:43),以秒计,越新的帖子相应得分越高。

假设帖子A和B都是赞成票大于反对票的帖子,A为新贴,B为24小时前发布的帖子,A和B在y t 45000 \frac{yt}{45 000}45000yt​上相差1.92分,根据公式,推导出对于B,要想排在A前面,则需要z=83.18,即赞成-反对的差值要比A大84票(注意Hacker News中,24小时需要375票)。需要注意的是,与Hacker News不同的是,Reddit发布的帖子分数,不会随着时间推移慢慢减少。可以看出,Reddit对老一点的,质量好的帖子较为重视,随着时间推移,慢慢使用新的好的帖子,替换掉老的帖子。

从工程角度看,Reddit算法的另外一个特点是由于其时间只与发布时间有关,因此帖子的热度只有当投票事件发生后,才需要更新,而不需要随着时间的流逝实时进行更新。

StackOverflow

StackOverflow是全世界最大的程序员问答平台,你可以在上面发布问题,其他人可以进行回答。其他用户可以对问题或答案投赞成票或反对票。
在这里插入图片描述

StackOverflow创始人之一的Jeff Atwood,曾公布过问题排名的公式:在这里插入图片描述

虽然看起来复杂,但仍然是由浏览数、点赞反对数以及时间因素构成的。分子中,( l o g 1 0 Q v i e w s ) ∗ 4 (log_10Qviews) * 4(log1​0Qviews)∗4是对问题浏览数进行平滑后加权;Q a n s w e r s ∗ Q s c o r e 5 \frac{Qanswers*Qscore}{5}5Qanswers∗Qscore​中Qanswers是问题的回答数,Qscore是问题得到的赞同与反对数之差,sum(Ascores)是回答得到的点赞与反对之差的加和。分母中,原公式可以改写为( Q a g e + Q u p d a t e d 2 + 1 ) 1.5 (\frac{Qage+Qupdated}{2}+1)^{1.5}(2Qage+Qupdated​+1)1.5Qage是问题发表时间距今时长,Qupdated是最后一个回答距今时长,都以秒计,分母与HackerNews非常相似,从时间角度上看,会鼓励近期活跃的问题。

从StackOverflow可以看出,本质上鼓励参与度(回答数、浏览数),好的质量(问题点赞数与回答点赞数),以及新鲜度(近期活跃时长)。

置信与公平的考量

热榜的排序算法有一个值得探讨的问题,即如何平衡新内容与老内容。一个赞同票1000,反对票300的老内容,和赞同票100,反对票3的新内容,该如何进行比较?前面提到的算法,基本都是对票数和时间进行综合,票数上倾向于老内容,时间上倾向于新内容,两者进行折中糅合。那么是否有其他机制,也能有效地对不同的新老内容作出符合业务场景的排序呢?我们来看看接下来介绍的两个算法。

威尔逊区间

前面提到的StackOverflow,可能会让大家联想到国内一款类似的产品–知乎。虽然面向的人群不同(比起StackOverflow面向的程序员,知乎的人群范围和知识领域更广),但产品内核逻辑是类似的,用户可以提出问题,用户可以对问题点赞和回答。同时答案也可以被点赞或反对。知乎参与者众(MAU达到1亿+),是知识领域的头部产品,被看作是一个重要的引流平台,其答案的排序前后对曝光程度影响巨大,因此知乎的排序算法可以说是举足轻重。

知乎对答案的排序,采用的是威尔逊区间算法[ 7 ] ^{[7]}[7]。它不考虑时间因素,而只考虑点赞与反对的分布情况。一般来说,包含点赞及反对功能的内容,直观上我们会用点赞数-反对数,或是点赞数/总票数来计算内容得分,但这两种计算均有问题,前者会出现新内容很难被排上来的问题,后者会出现新内容只要有个别点赞,就会快速蹿升的问题。威尔逊区间则综合考量了点赞率与点赞数,其公式如下:
s c o r e = ( p + z 1 − α / 2 2 2 n − z 1 − α / 2 2 n 4 n ( 1 − p ) p + z 1 − α / 2 2 1 + z 1 − α / 2 2 n score = \frac{(p + \frac{z_{1-\alpha/2}^2}{2n}-\frac{z_{1-\alpha/2}}{2n}\sqrt{4n(1-p)p+z_{1-\alpha/2}^2}}{1 + \frac{z_{1-\alpha/2}^2}{n}}score=1+nz1−α/22​​(p+2nz1−α/22​​−2nz1−α/2​​4n(1−p)p+z1−α/22​​​
其中n = u + v n = u + vn=u+v,p = u / n p = u / np=u/n,u为点赞数,v为反对数,p为点赞率,需要注意的是,知乎中的点赞率是加权点赞率,每个用户的领域权重不同(取决于用户的答案质量)[ 8 ] ^{[8]}[8],其点/踩的份量就不一样。一个答案快速蹿升的原因不一定是因为有大量点赞,而是可能被大V点赞了。z 1 − α / 2 z_{1-\alpha/2}z1−α/2​表示针对置信水平的统计量,可以通过如下的python代码获得:
i n t e r v a l = s t a t s . n o r m . i n t e r v a l ( a l p h a , m e a n , s t d ) interval = stats.norm.interval(alpha,mean,std)interval=stats.norm.interval(alpha,mean,std)
一般mean=0,std=1,在置信下限取90%和95%时,z 1 − α / 2 z_{1-\alpha/2}z1−α/2​为1.64和1.96。

使用威尔逊区间的思路为:点赞率越高,得分会越大,但是点赞率的可信度,取决于多少人为之投票。投票总数越高,置信区间越窄,而置信程度越高,反之亦然。比如[80%,50%]的置信区间要比[70%,90%]的置信区间窄,且置信下限要比后者低,因此认为后者是更可信的。从公式中可以看出,当n越大,得分越趋近于p;如果n非常小,则得分会远小于p。即投票人数多且赞成票比例高的回答,会被认为是高质的。

点赞率与点赞数的综合考量取决于z 1 − α / 2 z_{1-\alpha/2}z1−α/2​,z 1 − α / 2 z_{1-\alpha/2}z1−α/2​越大,绝对赞同数越重要,反之则赞同率越重要。z 1 − α / 2 = 0 z_{1-\alpha/2}=0z1−α/2​=0时,得分完全取决于赞同率,当z 1 − α / 2 = 0.5 z_{1-\alpha/2}=0.5z1−α/2​=0.5时,91赞10反对的帖子,略优于180赞20反对的帖子;而当z 1 − α / 2 = 2 z_{1-\alpha/2}=2z1−α/2​=2时,后者会优于前者。为了防止用户刷榜,z 1 − α / 2 z_{1-\alpha/2}z1−α/2​一般是保密的。

知乎的这一投票机制会对答案的倾向性产生影响。除去各领域内专业知识类的回答,知乎还有很多人生观世界观类的回答。一个较为偏激的答案起初会获得一些同好的赞同,从而排名快速提升,当排名提升后会得到更多的曝光,被更多的人群看见,持不同意见的人会开始变多,此时反对票也会开始变多,从而不断拉低回答的排名。而较为平和的回答则不会受到太多干扰。由此可以看出,威尔逊区间在知乎答案排名中的运用,可以帮助知乎打造一个相对平和的社区氛围。

由于威尔逊区间比较适用于二值场景下的排名,与支持点赞/反对的社区类产品较为契合,因此非常适用于此类产品的内容排名。前文中所述的Reddit社区,对于评论,也采用了威尔逊区间算法。

贝叶斯平均

相较于威尔逊区间,贝叶斯平均的思路要简单的多,它为冷启动的项目提供了一个补偿值。其公式为:
x ‾ = C ∗ m + ∑ i = 1 n x i n + C \overline{x} = \frac{C * m + \sum_{i=1}^{n}{x_i}}{n+C}x=n+CC∗m+∑i=1n​xi​​
其中,x ‾ \overline{x}x表示最终得分,C是全局项目数,m是全局项目平均投票数,∑ i = 1 n x i \sum_{i=1}^{n}{x_i}∑i=1n​xi​是目标项目的投票数总和,n为该项目接收到的投票次数。贝叶斯平均的思路是:当项目得到足够多的投票次数,则其分数接近于其真实投票平均数;反之,其分数接近于全局平均数。全局平均就是对投票数较小的项目的得分补偿。[ 9 ] ^{[9]}[9]

著名的IMDB电影评分网站就使用了贝叶斯平均作为排名算法,来排名top250的电影:
在这里插入图片描述

其公式为:

WR = \frac{v}{v+m}R+\frac{m}{v+m}C
  • 1

其中,v是该电影的投票数,m是top250的榜单需要的最少投票数(目前为25000),R是该电影用户的平均投票得分,
此处有一些细节需要提一下:(1)top250对评选影片的得分要求超过一定基础数,以避免非大众电影上榜;(2)该算法仅用于top250的排名,而top250排名与该网站正常电影排名不同;(3)为了避免刷票行为,只取可信用户的投票(可信用户为经常投票的人群)。

贝叶斯平均给了冷启动项目以一定的补偿分,对投票数少的项目更为公平,但是其本身也有一定问题,由于存在时间较长的项目(电影)会得到更多的投票,因此得分差不多的情况下,老电影会更占优势。即,贝叶斯平均虽然对新启动项目给予一定公平性和曝光机会,但优秀的老的项目在贝叶斯平均的背景下仍然会更容易占据榜单。

算法之外

热门榜单虽然是基于算法的,但算法本身并不是完全中立的。作为曝光量极大的产品组成部分,热门榜单的设计要综合考虑面向的用户群体,公司的价值理念以及社会文化等多种因素。

前面所述的算法,所考虑的维度多集中于投票和时间机制,事实上真正的热门榜单会考虑更多的因素,比如用户的可信度(比如微博会通过用户是否只转不发,是否发有图片内容等行为来判断用户真实度,知乎会给予用户以不同的领域权重),以防止刷榜行为;比如用户的投票外其他行为,如苹果的App Store除了app评分,还会考虑下载量,用户日活、月活等因素;比如类目本身权重,是否给予娱乐类抑或社会新闻类以更高的权重,这本身是由运营导向的。

公司的价值理念也会影响到热门榜单的设计,前面对于知乎案例的探讨,如果公司热衷于将情绪化有煽动性的帖子给予更多曝光,则可以将同时有大量赞同反对的帖子给到更高分,从而引发更多人的讨论,但由于这样的帖子通常具有较大争议,如“女权”,“中医”类话题,极易引发社区内争议的大规模发酵。不同的价值观导向/商业化导向会使得不同领域被给予不同权重,从而会增加不同领域的曝光度。

此外,体量较大的产品,尤其是新闻、资讯及社交类产品,都不可避免的受到政策监管,热榜之后的人工审核是必需的。2018年微博下架整改,2019年小红书下架整改,都与此相关。政策及文化导向也决定了热榜的整体价值走向。

从用户偏好角度讲,热榜应该更多地展现时新的内容,但是由于优质老的内容有更长时间的曝光,因此还是更容易霸居榜单之上,如App Store上,微信、微博等app会长期占据榜首。解决之路一是可以通过缩短榜单更新时长来保证新内容的曝光;二是可以另外设计最新榜、蹿升榜、类目热门榜等其他榜单,与热榜做互相补充。

实践应用

本文所介绍的各类热门榜单的召回算法,各有所长。算法的应用并不是单一化的,它们之间可以互相结合应用。比如以贝叶斯平均来计算物品得分,再以牛顿冷却定律进行分数衰减。

为了防止刷榜,大部分公司的热榜算法是保密的(或是参数保密的)。而在一般实践应用中,在参考别家公司的算法的情况下,更多要融合业务本身的思考与理解。针对不同的场景,需要综合考量维度、算法、及权重的选择,此处做一个小小总结:
(1)倾向于展现新内容,则缩短数据采集时长,使用牛顿冷却定律,或Hacker News排序算法;
(2)倾向于展示热门内容,则可以考虑用户参与度、点击、点赞、评论、收藏等行为;
(3)倾向于展示优质内容,则可以在点赞率、点赞数绝对数之间进行综合考量,使用威尔逊区间算法;
(4)对冷启动项目给予一定公平保证,则使用贝叶斯平均,引入更多维度;增加其他榜单作补充;
(5)考虑热门榜单的攻防,则要引入用户权重,引入更多计算维度。

如果亲爱的读者们有其他更好的热门榜单策略,欢迎留言探讨。

深入浅出推荐系统(五):召回:人人都爱的热门_慕阮的博客-CSDN博客_热门召回

参考文献
[1]基于用户投票的排名算法(一):Delicious和Hacker News。https://www.ruanyifeng.com/blog/2012/02/ranking_algorithm_hacker_news.html
[2]基于用户投票的排名算法(四):牛顿冷却定律。https://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_newton_s_law_of_cooling.html
[3]如何用牛顿冷却定律计算热度。https://zhuanlan.zhihu.com/p/43776710
[4]基于用户投票的排名算法(二):Reddit。http://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_reddit.html
[5] 知乎推荐算法-知乎算法攻略。https://zhuanlan.zhihu.com/p/397859140
[6] 基于用户投票的排名算法(三):Stack Overflow。http://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_stack_overflow.html
[7] 知乎如何对回答进行排序?你的一票很重要。https://zhuanlan.zhihu.com/p/19902495。
[8] 知乎如何计算用户在某个领域下的权重。https://www.zhihu.com/question/21544084
[9] 基于用户投票的排名算法(六):贝叶斯平均。https://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_bayesian_average.html

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

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

相关文章

【Android App】利用腾讯地图获取地点信息和规划导航线路讲解及实战(附源码和演示视频 超详细必看)

需要源码请点赞关注收藏后评论区留言~~~ 一、获取地点信息 至于如何集成腾讯地图和调用腾讯地图接口此处不再赘述,有需要请参见我之前的博客 腾讯地图用来搜索POI地点的工具是TencentSearch,通过它查询POI主要分为下列四个步骤: &#xff0…

MySQL---基于CentOS7

在Linux上安装MySQL 本章简单阐述一下,mysq基于centos7的安装步骤 在VM上模拟安装 MySQL版本为:8.0.30 文章目录在Linux上安装MySQL1. MySQL下载卸载MariaDB查看版本卸载2.安装解压mysql压缩包重命名创建用户和组修改权限编写配置文件配置PATH变量初始化…

基于PHP+MySQL集训队员管理系统的设计与实现

ACM是国际大学生程序设计竞赛,这是一个展示大学生风采的平台,但是在ACM报名的时候可能会有很多的队员,管理员对队员的管理是一个繁琐且复杂的过程,通常的管理模式是手工进行管理,这在很大程度上有一些弊端,为了改成这一现状需要一个对应的管理系统出现。 本设计尝试用PHP开发一…

机组运行约束对机组节点边际电价的影响研究(Matlab代码实现)

目录 1 概述 2 日前市场单时段节点电价出清优化模型 2.1 目标函数 2.2 约束条件 3 算例及运行结果 4 结论 5 参考文献 6 Matlab代码及详细文章讲解 1 概述 基于节点边际电价(locational marginal priLMP)的现货巾划lm易能量价值,节点电本确定节点电价&a…

高校部署房产管理系统可实现那些目标?

随着技术的不断进步和升级,以及高校房屋建筑物数量的不断扩充,建立房屋资产管理信息系统进行信息化、数字化、图形化房屋资产管理已经是势在必行。数图互通自主研发FMCenterV5.0平台,是针对中国高校房产的管理特点和管理要求,研发…

易基因科技|单细胞甲基化测序低至2500元/样

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。12月活动来袭~ 限时特惠!单细胞甲基化测序低至2500元/样! 易基因高通量单细胞DNA甲基化测序:单细胞DNA甲基化组学研究很大程度上受制于建库…

P3 创建Tensor

前言: 这里面主要讲解一下创建一个Tensor 对象的不同方法 目录: numpy 创建 list 创建 empty 创建 set_default_type 随机数创建 torch.full arange&linespace ones|zeros|eye r…

Springboot毕业设计毕设作品,微信网上图书商城购物小程序设计与实现

功能清单 【后台管理员功能】 会员列表:查看所有注册会员信息,支持删除 录入资讯:录入资讯标题、内容等信息 管理资讯:查看已录入资讯列表,支持删除和修改 广告设置:上传图片和设置小程序首页轮播图广告地…

【Pandas数据处理100例】(八十九):Pandas使用date_range()生成date日期

前言 大家好,我是阿光。 本专栏整理了《Pandas数据分析处理》,内包含了各种常见的数据处理,以及Pandas内置函数的使用方法,帮助我们快速便捷的处理表格数据。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmPandas版本:1.3.5N…

Oracle 11g RAC 原地升级到 19c

作者 | JiekeXu来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)如需转载请联系授权 | (个人微信 ID:JiekeXu_DBA)大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 Oracle 11g RAC 原地升级到 19c,欢迎点…

Android kotlin在实战过程问题总结与开发技巧详解

1、介绍 目前Android开发中,分为两派,Java派和Kotlin派,Java是宇宙开发第一语言,地位一直处于领先位置,但是Java会出现一个空指针的情况,所以kotlin的出现,填补了java的一些缺陷,但是…

擎创技术流 | ClickHouse实用工具—ckman教程(5)

哈喽~友友们,又到了一期一会的技术分享时刻了,本期继续以视频形式与大家分享,话不多说,我们直接上干货,建议收藏分享马住 戳↓↓↓链接,一键回看前期内容: 擎创技术流 | ClickHouse实用工具—c…

独立IP和共享IP的区别以及各自的优势有哪些

如果您在网上做生意,您可能对什么是IP地址有一个大概的了解。然而,您可能不知道的是,IP 地址分为两种类型。下面将介绍在选择独立服务器时最常遇到的两种IP的区别和联系: 简而言之,独立IP地址是标识您的网站的唯一数字…

基于云原生技术的融合通信是如何实现的?

孵化于云端,云通信成为时代的主流。01 云通信的「前世今生」 通信与每个人息息相关。 生态合作和渠道的规模上量,给传统通信模式带来巨大的挑战,由此衍生出云通信。 云通信,即基于云计算平台,将传统通信能力进行云化&a…

常用测试用例模板大全

一些常用模块的测试用例 1、登录  2、添加  3、查询  4、删除 1、登录 ①用户名和密码都符合要求(格式上的要求) ②用户名和密码都不符合要求(格式上的要求) ③用户名符合要求,密码不符合要求(格…

LeetCode HOT 100 —— 75 .颜色分类

题目 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sort 函数的情况下…

【ESP32-Face】ESP32人脸检测MTMN 模型以及face_detect()函数详解

ESP32-Face 人脸检测MTMN模型以及 face_detect 函数详解1. MTMN 模型2. 模型网络3. API 函数接口介绍4. 模式选择5. 参数配置1. MTMN 模型 MTMN 是一个人脸检测的轻量级模型,专门应用于嵌入式设备。它是由 MTCCN 和 MobileNets 结合而成。 2. 模型网络 MTMN由三个…

搬砖日记:关于sync用不了的问题

自己封装了个输入框的组件&#xff0c;想要实现的输入框的值的修改可以实时修改到父组件的值 印象中看到过人家用.sync修饰符去实现这个功能&#xff0c;大抵是 //父组件 <searchInput :value.sync"value"></searchInput> //子组件 <input v-model&qu…

(4E)-TCO-PEG4-DBCO,1801863-88-6,反式环辛烯-四聚乙二醇-二苯并环辛炔

(4E)-TCO-PEG4-DBCO物理数据&#xff1a; CAS&#xff1a;1801863-88-6 | 中文名&#xff1a;(4E)-反式环辛烯-四聚乙二醇-二苯并环辛炔 | 英文名&#xff1a;(4E)-TCO-PEG4-DBCO 结构式&#xff08;Structural&#xff09;&#xff1a; (4E)-TCO-PEG4-DBCO物理数据补充&…

vue3 组件篇 tag

文章目录组件介绍标准用法自定义背景色和字体颜色点击和关闭的回调组件代码参数说明关于dxui组件库组件介绍 tag组件&#xff0c;是前端开发常用组件之一&#xff0c;无论是移动端&#xff0c;还是pc端&#xff0c;我们都能经常看到。tag组件的交互也比较简单&#xff0c;需要…