知识图谱辅助的个性化推荐系统

news2024/10/6 5:54:26

知识图谱辅助的个性化推荐系统

将从下面4个方面展开:

推荐系统的基础知识知识图谱辅助的推荐方法介绍基于embedding的知识图谱推荐方法混合型知识图谱推荐方法

推荐系统的基础知识

1、什么是推荐系统

在当前互联网时代,推荐系统是所有面向用户的互联网产品的核心技术,只要产品是面向用户的,那么就有推荐系统的需求。

推荐系统是解决信息爆炸问题,给用户推荐一个用户感兴趣的小规模集合。用户在大量商品中,不知道如何选择,推荐系统是替用户做这个选择,猜用户的兴趣,然后给用户推荐一个小规模的商品集合,这样用户就不会迷失在大量商品中。

举几个推荐系统的例子。如下图是imdb系统中的电影推荐,imdb会推荐用户可能更感兴趣的电影。

img

如下图是亚马逊系统中的图书推荐,给用户推荐和用户更相关,用户更感兴趣的书籍。

img

如下图是booking.com系统中旅游景点的推荐,给用户推荐更感兴趣景点。

img

如下图是我们更为熟悉的推荐系统的例子,知乎,抖音,头条等系统,都有推荐功能。

img

2、推荐系统的实现方法

推荐系统主要有2个任务,一个是评分预测(Rating Prediction)。如下图左边是评分预测的例子,横坐标是物品,纵坐标是用户。表格是用户对物品的打分,这个评分可以显示的反应用户对物品的喜好层度,1表示很不喜欢,5表示很喜欢。推荐系统就是预测表格中问好处的缺失值,这就叫评分,这个评分叫显示反馈(Explicit feedback)。

另一个是点击预测(CTR Prediction)。右边是点击预测的例子,表格中只有0和1,0表示用户没有点击过,1表示用户点击过,这类数据叫隐式反馈(Implicit feedback),点击预测只能反映用户的非常弱的偏好层度,用户点击了不一定说明用户喜欢,比如逛淘宝,用户只是点击了某个物品就退出了,所以点击物品并不能代表用户的真实感受。

img

推荐系统有一个非常经典的方法叫协同过滤(Collaborative Filtering, CF),CF的核心是假设相似的用户有相似的偏好。

如下图为4个用户对4个物品的打分情况,来预测用户u4对物品i1的评分。通过这4个用户在其他3个商品(i2,i3,i4)的打分,计算出其他3个用户和u4用户的相似度,分别是0.7,0.1,0.2,然后用相似度加权平均其他3个用户在i1物品的打分,这样就得到了u4对i1的评分为2.1。

img

协同过滤CF是根据历史物品评分记录,计算出用户相似度,从而预测分数。CF是一种常见的方法,但存在以下2类问题。

img

第一类是稀疏性问题(Sparsity),一般情况下评分分布是相当稀疏的,比如一个用户一辈子可能只会看几百部电影,但电影总数达百万量级,所以在计算相似度的时候会有困难。

第二类更进一步,冷启动问题(Cold start),当来了一个新的用户,这个新的用户没有历史记录,所以没法计算相似性,就没法做推荐。当注册新的app时,比如读书类的app,系统一开始会问你对哪些主题感兴趣,因为系统没有你的历史记录,刚开始没法给你推荐。

知识图谱辅助的推荐方法介绍

针对推荐系统出现的问题,我们的思路是既然用户和物品交互很稀少,甚至没有,那可以引入其他的一些信息,这些引入的信息叫辅助信息(Side Information)。如下图是4类非常常见的辅助信息:社交网络;用户或商品属性特征;多媒体信息,比如电影的海报,文本信息,视频音频信息等;上下文信息,假设一个用户购买了一个商品,购买记录的一些信息,比如时间、地点、当前用户购物车的其他物品信息等。

img

1、什么是知识图谱

知识图谱(Knowledge Graphs, KG)也是一种辅助信息。KG是一个有向异构图(heterogeneous graph),图中节点表示实体(entity),边表示关系(relation)。

一个KG通常包含很多对三元组triple(head,relation,tail),其中head和tail是2个实体(entity),relation就是边。

如下图,推荐系统的item是电影,所以Forrest Gump是推荐系统的item,同时也是KG中的实体,KG中其他的实体并不是推荐系统的item, Forrest Gump这部电影的主演是Tom Hanks,虽然Tom Hanks是KG的实体(entity),但并不是item。把图中左边这些三元组(triples)组合起来,就变成了右边的一个很大的KG。

img

2、为什么要在推荐系统中使用KG

如下图,假设一个用户(最左边)看过3部电影(item),Cast Away, Back to the Future, TheGreen Mile,在KG中,可以将这3部电影连接到其他的一些事情上,比如Cast Away 这部电影的类别(genre)是冒险形(Adventure),Back to the Future的导演(directed)是Robert Zemeckis等,可以连接到很多其他non-item实体上,再从这些non-item实体又连接到item电影实体上,比如最右边的Interstellar, Forrest Gump,Raiders of the Lost Ark。

img

KG建立一个从用户已经看过的电影到没看过的电影的连接,而这些连接不是由用户的观看记录得来的。在CF里,实际上是把中间这块替换成了其他用户,用其他用户历史观看记录得到这些连接。KG提供了另外一种关于物品连接的信息来源的方法。

img

如上图是一个新闻推荐的例子,假设某个用户看过一条新闻,这个新闻的内容是:Boris Johnson Has Warned Donald Trump To Stick ToThe Iran Nuclear Deal。

从这条新闻中提取了4个实体,在KG中,可以对这些实体做进一步的扩展,做2次,做3次扩展,又会发现这些实体都指向另外一条新闻:North Korean EMP Attack Would Cause Mass U.S.Starvation, Says Congressional Report。

这2条新闻在字面上没有任何相似度,新闻的单词都不一样,但他们是很相关的,这个相关性体现在KG上,他们在低层是相关的,但这种相关性没法从字面意义上得到,这也是为什么要用KG,KG提供了一种item相似度的计算方式。

3、KG能给推荐系统带来什么

第1个提高推荐系统的精度(Precision),更准确的发现item之间的相似性,如下图2部电影,能通过Tom Hanks做个连接。

img

第2个提高推荐系统的多样性(Diversity),可以通过主演扩展,可以通过电影类别扩展,也可以通过导演扩展,总有一款是用户非常喜欢的。

img

第3个是可解释性(Explainability),可以用KG的path来解释系统为什么会推荐这部电影,如下图某个用户喜欢Cast Away这部电影,系统会推荐The Terminal这部电影,因为他们有相同的主演。

img

4、知识图谱处理方法

KG 的处理方法中有一类方法叫KnowledgeGraph Embedding,KGE。KGE主要是对KG的每个实体(entity)和每个关系(relation)学习一个低维的特征。在KGE中有一个基于翻译的距离模型,Translational distancemodels。

img

如上公式为TransE算法模型,对KG中的每一个tuple(h,r,t),学习到的entity embedding,relation embedding,使h+r约等于t,这的r相当于翻译作用,把h翻译成t,f函数对每个tuple的真实分值越小越好。

img

如图(a)是TransE模型,假设head对应的embedding加上relation对应的embedding等于tail对应的embedding。基于TransE有很多扩展模型,比如TransH, TransR。

TransH解决的是一对多的问题,某一个head和relation可能会对应多个tail,如图(b),把head和tail都投影到一个平面上,然后让它们在相对应的平面上做转换。TransR是把head和tail都投影到另外一个空间中,在新的空间里让h+r=t。 KG-aware Recommender Systems正式方法大概可以分为3类。

第一类是Embedding-based methods,基于embedding的方法,embedding是前面介绍的KG embedding,关于这类方法,下图列举了5篇论文,今天将会介绍第2篇和第5篇。

img

第二类是Path-based methods,基于KG计算路径的推荐方法,今天不会涉及这类方法。

img

第三类是Hybrid methods,结合embedding和path的方法,今天将介绍一下第1、3、4篇,第3、4是比较统一的方法。

img

5、知识图谱辅助的推荐系统问题定义

img

已知一个用户的集合Users,一个物品的集合Items,用户和物品之间的交互(relations,yuv),一个包括很多non-item实体的KG。图中yuv表示用户u对物品v的一个隐式反馈,即用户有没有点击过这个物品,目标是给定一个新的u-v对,预测点击率yuv。

img

公式定义如上图。用户集合U={u1,u2,...},物品集合V={v1,v2,...},交互矩阵(隐式反馈)Y矩阵Y={yuv ? {0,1} | u?U, v?V},KG包括实体(entity)和关系(relation),由很多三元组组成。

img

每个物品v在KG中可能对应一个或多个实体。物品是实体的一个子集。
目的是学习一个预测函数F,给定一对u,v,可以输出一个预测分值?uv,θ是目前的一个参数。

基于embedding的知识图谱推荐方法

1、DKN方法

DKN: Deep knowledge-aware network for newsrecommendation, 属于基于embedding的知识图谱推荐方法,是2018年发表的论文,这篇论文是关于新闻推荐。

img

如上图,给出一段新闻,提取新闻中的实体,根据这些实体,构建一个知识图谱的子图,对知识图谱做embedding映射,得到每个实体的embedding,最后就得到每个实体的特征向量。

img

如上图,对于某个实体Fight Club,只有其对应的embedding还不够,在KG中每个实体,连接着好多其他的实体,那这些临近实体就是该实体的上下文,将这些上下文中的每个实体的embedding相加平均,就得到该实体的上下文embedding。如上图公式中ē就是实体ei的上下文embedding。

img

在NLP中有一个模型叫KimCNN,主要是给定一个sentence,返回一个特征向量。如上图给定一个n个单词的sentence(图中n为7),对每个单词做embedding映射,embedding的长度为d(图中d为5),得到一个d*n的wordembedding矩阵。用7个卷积核做卷积进行featuremaps,得到7个1维向量,对每个向量做池化(Max pooling),得到该sentence的word embedding。

img

前面介绍中已有3种特征向量,分别是实体embeddings, 上下文embeddings, word embedings,我们的方法是把这3种embeddings做一个累加,卷积,池化,最后得到这个sentence的embeddings,这种方法叫KCNN。

img

接下来介绍基于KCNN做推荐的方法。如上图假设某个用户已经点击过了3条新闻,来了一个候选新闻,预测该用户对候选新闻的点击率。对这4条新闻做KCNN的embedding映射,得到4个特征向量。因为用户看过的新闻的重要性对候选新闻是不一样的,用Attention Net计算用户看过的每一条新闻和候选新闻的决策分值。用得到的分值加权观看记录,得到User embedding。将user embedding和candidate news embedding拼接,输出一个预测的点击概率,这个就是做预测的DKN模型。

2、MKR方法

MKR:Multi-TaskFeature Learning for Knowledge Graph Enhanced Recommendation,属于基于embedding的知识图谱推荐方法,是2019年发表在WWW的论文,是一个多任务的模型。

img

如上图为MKR框架,包括3个模块,一个是推荐模块,一个是knowledge graph embedding, KGE模块,还有一个是以上2个模块的桥梁,cross&compress units,交叉压缩单元,下面将分别阐述这3个模块。

img

推荐系统模块,输入是user, item,输出是用户对物品的点击率。模块分2块,一个是low-level的部分,一个是high-level的部分。在low-lever部分,用了一个MLP(multi-layer perceptron)来处理用户的特征UL,item是cross&compressunits做的处理,返回一个物品的特征VL,把UL和VL拼接起来,用一个recommendation system函数fRS,输出一个点击预测值。

img

KGE模块,也分成low-lever和high-level部分,输入head,用cross&compress unites来做特征处理,relation用MLP做特征处理,把这2个处理结果拼接起来,经过一个K层的MLP,得到一个predictedtail,预测的tail和真实的tail用一个函数fKG算一个分值,这样就可以优化这个score值。

img

这个多任务之所以能做起来,主要是推荐系统模块的物品(item)和KGE模块的实体(entity)是对应的,很多item可以在KGE中找到对应的entity,item和entity是对同一个物品的描述,他们的embedding在某种层度上是相似的,是可以被连接的。中间的cross&compressunits就是这个连接结合,这个模块是在每一层都有,在l层,输入是item的embedding vl和entity的embedding el,输出是下一层的embedding。

这个模块计算分2步,第一步是cross,第二步是compress。

cross操作是将vl,el做一个cross,vl是一个d*1的向量,elT是1*d的向量,矩阵相乘后得到一个d*d的矩阵Cl。

compress是将交叉后的矩阵Cl重新压缩回embedding space,这块细节部分可以参考论文。通过参数wl压缩输出vl+1,el+1。

img

学习算法中loss的计算公式如上图。LRS是推荐系统的loss,预测user-item的分值uv和真实分值yuv的差距。LKG是KG的loss,对于真实tuple(h,r,t),预测分值score越大越好,而对于随机替换tuple(h’, r, t’)(负样本),预测的分值越小越好。LREG是正则项。

算法实现第1块是推荐系统的任务,第2块是KGE任务,交替训练2者。在每次循环里面,做t次的RS的任务训练,做1次的KGE任务训练,做t次RS训练是因为更关注RS任务,这个t是可以调整的,这就是MKR模型。

混合型知识图谱推荐方法

1、RippleNet方法

RippleNet: Propagating User Preferenceson the Knowledge Graph for Recommender Systems,属于混合型知识图谱推荐方法,是2018发表在CIKM的一篇论文。

img

Ripple从名字上理解是水波的意思,水波是一层一层的,那这个算法是指在KG中某个实体,和该实体相连的其他实体也有一跳,二跳,三跳的关系,如上图列出了ForrestGump这部电影对应的3跳的临近实体。

img

如上图是RippleNet框架,输入是一对user-item,输出是用户对物品的点击预测值。

img

对输入用户u,获取用户的点击记录Vu,在KG中找到对应的Vu,比如图中有2个对应实体,获取这些实体对应的tuple,把实体一跳的集合拿出来。对输入物品v做embedding映射。如上公式,将item embedding v和这些head hi在R空间中做一个softmax,得到v相对于每个head的分值pi。

img

如上图公式,用pi加权平均对应的tail embedding ti,得到输出ou1,即当前用户u的一跳的特征,对应图中绿色竖条,可以看成该用户对当前物品的一阶响应(User's1-order response)。

img

继续拿ou1特征重复之前的操作,拿ou1和物品二跳的tuple算一个p值,加权对应的tail embedding,得到ou2。

重复做下去,得到很多跳的响应值oui,把这些响应值加起来,得到用户最终的embedding。

img

用这个用户embedding和物品最初的embedding做内积,再用一个sigmoid函数得出点击预测值。

img

学习算法如上图,在已知KG和RippleNet系统情况下,学习参数,最大化后验概率。通过贝叶斯定理,可以把该公式拆成3个值。第1项是参数的先验分布,用上面这个公式来刻画这个先验概率分布p(θ),这项对应的是正则项loss。

img

第2项给定参数θ,KG的概率,这项对应的是KG的embedding部分。当(h,r,t)是正样本,Ih,r,t接近1,反之为0,希望hTRt能接近真实的tuple值。

img

第3项已知参数θ和KG,用户和物品交互的似然函数。这个似然函数是一个伯努利分布,关于用户和物品内积的伯努力分布。

img

把这3项用负log做处理,得到loss函数,优化这个模型。

2、KGCN和KGCN-LS方法

KGCN:Knowledge GraphConvolutional Networks for Recommender Systems,是发表在2019年WWW上的一篇论文。KGNN-LS:Knowledge-awareGraph Neural Networks with Label Smoothness Regularization for RecommenderSystems,是发表在2019年KDD上的一篇论文,这篇是基于第1篇的扩展,这2篇论文一块讲解。核心思想是基于KG辅助的推荐,但引入了一个新的模型GCN(图神经网络),方法是基于GCN对KG扩展一个模型。

img

在KG中的边没有显示权值,只是一个关系类型。引入一个relation scoring function su(r),对每个relation打分,从而把KG转换成weightedgraph。函数su(r)的输入是user和relation,输出一个分值。核心思想是识别用户关注的类型,比如有些用户偏好同种类的电影,有些用户偏好某个主演的电影。su(r)用来刻画不同用户对不同relation的偏好层度,将user embeding和relation embedding内积,算出相应的分值。把异构KG转换成weighted graph,这样一个graph对应邻接矩阵Au,下标为u是因为每个用户对应的邻接矩阵是不一样的,su(r)是取决于用户。

img

把KG中实体信息通过GNN做一个融合,如上图公式是一个标准的GNN的公式,Au是用户对应的邻接矩阵。

img

Du是Au的三角对称矩阵diagonal degree matrix。

img

Wl就是训练传输参数矩阵。

img

Hl,Hl+1是entity对应的embedding矩阵。

img

σ是一个非线性函数。

img

这个式子本质是在KG上做了一个多跳的message passing,把实体周围的那些临近点的特征向中间聚集,最后一层学到的特征是融合了多跳的临近点的特征。当得到最后一层embedding Hl后,就可以做点击预测。

img

上图公式中u对应的是Userembedding。

img

vu是根据前面KGNN计算得出的关于用户的entity embedding。

img

通过f函数得到预测值,f函数可以取内积,或MLP等。到这是第1篇论文的KGCN模型。

img

如上公式,在传统GNN模型中,Au是固定的,只需要训练Wl。

img

但在我们的模型中,Au和Wl都需要训练,Au是通过relation scoring function计算,图的结构需要训练,导致模型参数很多,容易过拟合。

img

为了防止过拟合的问题,引入一个正则项,给模型一个约束。用label做约束,user engagement labels,指的是用户对物品的打分值,yuv是用户对某个物品的评分,这个评分是一个已知值,所以可以在KG中对这些点打一个标签。用户看过某部电影,对应的标签是1,没看过的电影对应的标签是0,对non-item实体没有标签。

img

下一步是预测某个点的label,有一类算法叫标签传播算法(label propagation algorithm, LPA),这个算法是优化下面这个函数。

img

遍历所有的边,Au是边的权值。如果i,j节点有边,说明这2个节点联系比较强,那这2个节点的label会比较相近。这2个节点的边权值越大,那这2个节点的label就越一致。这是算法LPA的一个假设,标签过度是平滑的。

img

预测一个无标签的节点,将其周围节点的label加权平均,重复该操作直到收敛,这就是label propagation。

img

利用label propagation做正则项,对于一个节点v,其真实lable是yuv(图中为0)。

img

利用LPA算法预测这个v的label,得到预测值?uv,算出预测值和真实值之间的损失J。

img

在做label propagation时,标签传播是取决于边权值,所以最终预测值是关于边权值的函数,损失J也是一个关于边权值的函数。损失函数R(A)是一个关于A的函数,所以可以把梯度往这个损失函数中传播,起到一个正则项的作用。

img

如上图,回顾一下整个模型,把原始异构KG转成weighted graph,学习边的权值,得到一个邻接矩阵,用GNN得到entity embedding,用这个entity embedding 和user embedding来做这个预测,得到预测值?uv,用?和真实值y得到一个loss,反向传播,将误差梯度向前传播,更新Au和参数W。

下面部分是正则项,邻接矩阵为参数,做一个labelpropagation,得到预测值?uv,用?和y得到一个loss,反向传播,更新Au。

img

的作用。

在这里插入图片描述

如上图,回顾一下整个模型,把原始异构KG转成weighted graph,学习边的权值,得到一个邻接矩阵,用GNN得到entity embedding,用这个entity embedding 和user embedding来做这个预测,得到预测值?uv,用?和真实值y得到一个loss,反向传播,将误差梯度向前传播,更新Au和参数W。

下面部分是正则项,邻接矩阵为参数,做一个labelpropagation,得到预测值?uv,用?和y得到一个loss,反向传播,更新Au。

在这里插入图片描述

总结一下,本文主要介绍了3个部分的内容,第1部分介绍了知识图谱是推荐系统的一种新的辅助信息。另外2个部分介绍了两类知识图谱推荐方法,一类是基于embedding的知识图谱推荐方法,包括DKN和MKR,一类是混合型知识图谱推荐方法,包括RippleNet、KGCN和KGNN-LS。

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

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

相关文章

《剑指offer》14--剪绳子(整数拆分)[C++]

目录 题目描述 贪心算法 输出结果 题目描述 把一根绳子剪成多段,并且使得每段的长度乘积最大。 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2 输出: 1 解释:…

Java基于SpringBoot的在线视频教育平台的设计与实现论文

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于在线视频教育平台当然也不能排除在外,随着网络技术的不断成熟,带动了在线视频教育平台,它彻底改变了过…

Vue基础篇

Vue Vue是一套用于构建用户界面的渐进式JavaScript框架 什么是渐进式? Vue可以自底向上逐层地应用; 当构建简单应用时, 只需一个轻量小巧的核心库; 当构建复杂应用时, 可以引入各式各样的Vue插件 Vue具有以下特点: 采用组件化模式, 提高代码复用率且让代码更好维护 声明式编…

Claude3发布,ChatGPT-4 跌下神坛!兄弟相残?

就在3月5号凌晨,大家还在睡梦中的时候,Anthropic在X上低调的发布了Claude3,没有华丽的辞藻,没有大篇幅的介绍,只是简单的发了个帖子...... 几行简单的文字,浓缩着其一年多来的努力~ 真是让人不禁感叹&…

【STM32F103】WDG看门狗

本系列在之前介绍时钟树的文章中有稍微提一下看门狗WDG(Watch Door Dog)。 简单来说,可以当成是一个计数器,一旦这个计数器溢出则单片机复位。因为我们需要每隔一段时间就把这个计数器的值清零(喂狗)。 I…

【主题广范|见刊快】2024年可再生能源与智能电网国际学术会议(ICRESG 2024)

【主题广范|见刊快】2024年可再生能源与智能电网国际学术会议(ICRESG 2024) 2024 International Conference Renewable Energy and Smart Grid 本次会议汇聚了来自全球各地的专家学者,共同探讨可再生能源与智能电网领域的最新研究成果、技术进展和未来发展趋势。会…

linux kernel物理内存概述(六)

目录 伙伴系统 1、什么是伙伴? 2、伙伴系统的分配原理 3、伙伴系统回收 伙伴系统 1、什么是伙伴? 伙伴必须是大小相同并且在物理上连续的两个或者多个页。 2、伙伴系统的分配原理 首先根据内存分配接口函数gfp_t gfp_mask,找到内存分…

vue iis 配置

下载安装两个IIS模块 1). 传送门:URL Rewrite 2). 传送门:Application Request Routing 注 : 只有在 服务器的主页 有Application Request Routing 部署VUE网站 生成网站 在VUE项目打包生成出发布文件,即文件夹 dist,此处忽略 复制到你需要存放网站的…

【OpenGL】(1) 专栏介绍:OpenGL 库 | 3D 计算机图形应用 | GPGPU 计算 | 3D 建模和 3D动画 | 渲染技术介绍

🔗 《C语言趣味教程》👈 猛戳订阅!!! 💭 写在前面:本专栏主要内容是关于 3D 计算机图形技术的学习,重点是学习与此技术相关的 3D 实时渲染 (3D real-time rendering) 技术。我们会以…

c语言经典测试题11

1.题1 #include <stdio.h> int main() { int a[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, *p a 5, *q NULL; *q *(p5); printf("%d %d\n", *p, *q); return 0; }上述代码的运行结果是什么呢&#xff1f; 我们来分析一下&#xff1a;我们创建了一个数…

什么是AJAX?它的运用场景有哪些?

文章目录 前言一、什么是AJAX二、AJAX原理是什么三、为什么需要AJAX四、AJAX的使用五、AJAX的应用场景 前言 AJAX 即 Asynchronous Javascript And XML&#xff08;异步JavaScript和XML&#xff09;&#xff0c;是指一种创建交互式网页应用的网页开发技术。 AJAX 是一种用于创…

网络协议栈--应用层--HTTP协议

目录 本节重点理解应用层的作用, 初识HTTP协议 一、应用层二、HTTP协议2.1 认识URL2.2 urlencode和urldecode2.3 HTTP协议格式2.4 HTTP的方法2.4 HTTP的状态码2.5 HTTP常见的Header属性 三、最简单的HTTP服务器3.1 HttpServer.hpp3.2 HttpServer.cc3.3 HttpClient.cc3.4 log.hp…

MySQL之表基本操作及重要概念

前言 表就相当于文件夹中的excel文件&#xff0c;表中的每一条记录就是excel中的一条记录&#xff0c;字段就是表格的表头&#xff0c;记录就是表格中的每一行数据本文将详细介绍表相关操作、mysql存储引擎、字段数据类型及约束条件等知识。 存储引擎 计算机中存储的文件格式…

Discuz IIS上传附件大于28M失败报错Upload Failed.修改maxAllowedContentLength(图文教程)

下图&#xff1a;Discuz X3.5的系统信息&#xff0c;上传许可为1024MB(1GB) 论坛为局域网论坛&#xff0c;仅供内部同事交流使用&#xff01; 使用官方最新的Discuz! X3.5 Release 20231221 UTF-8 下图&#xff1a;选择上传附件&#xff08;提示可以最大上传100M&#xff09;…

新模型Claude 3实测!各项能力超强,确实比GPT-4好用

2024最新教程Claude 3注册账号&#xff0c;小白教程包教包会 过去不到一个月&#xff0c;OpenAI 扔出 Sora 这个重磅炸弹后成为全球焦点&#xff0c;不断推出的视频更是赚足眼球、热度不减。昨晚&#xff0c;Anthropic 突然惊喜上线&#xff0c;时隔八个月携着 Claude 3 走来&…

【Java EE 】认识文件与Java文件操作

目录 &#x1f340;认识文件&#x1f338;树型结构组织 和 目录&#x1f338;文件路径&#xff08;Path&#xff09;&#x1f338;其他知识 &#x1f333;Java 中操作文件&#x1f338;File 概述&#x1f33b;属性&#x1f33b;构造方法&#x1f33b;方法 &#x1f338;代码示例…

西安雁塔未来人工智能计算中心算力成本分析

先看一例旧闻&#xff1a;西部“最强大脑”落户雁塔——30亿亿次超算能力助力创新之城建设 其中提到一期算力为 300PFLOPS FP16&#xff08;每秒30亿亿次半精度浮点计算&#xff09;&#xff0c;项目总投资约为19亿元。 这个算力是什么概念呢&#xff1f; 我们以深度学习训练中…

100%开源大模型OLMo:代码/权重/数据集/训练全过程公开,重定义AI共享

前言 近日&#xff0c;艾伦人工智能研究所联合多个顶尖学术机构发布了史上首个100%开源的大模型“OLMo”&#xff0c;这一举措被认为是AI开源社区的一大里程碑。OLMo不仅公开了模型权重&#xff0c;还包括了完整的训练代码、数据集和训练过程&#xff0c;为后续的开源工作设立…

C语言回顾学习

一、数据类型 1.常量 2.float浮点表示 3.字符型 4.char&#xff08;大小写&#xff09; #include <stdio.h> //根据数字输出字符--int值可以直接输出为char int main() {int value;while (1){scanf("%d",&value);if(value<65||value>122){printf(&…

【Redis】RedisTemplate和StringRedisTemplate的区别

两者的关系是 StringRedisTemplate 继承 RedisTemplate 。 两者的数据是不共通的&#xff1a;也就是说 StringRedisTemplate 只能管理 StringRedisTemplate 里面的数据&#xff0c;RedisTemplate 只能管理 RedisTemplate 中的数据。 RedisTemplate 看这个类的名字后缀是 Temp…