问题

目前工业界常用的推荐系统模型有哪些?

回答
在工业界,推荐系统已经渗透到我们生活的方方面面,从电商平台的商品推荐,到视频网站的内容推送,再到新闻资讯的个性化展示,都离不开它们的身影。要说目前工业界常用的推荐系统模型,那可真是百花齐放,各种技术争奇斗艳。不过,要梳理清楚,咱们可以从几个大的技术流派来看。

一、 基于内容的推荐(ContentBased Filtering)

这算是最直观的一种推荐方式了。它的核心思想很简单:“你喜欢什么,我就推荐什么和你相似的东西。”

原理: 它需要了解每个item(商品、电影、文章等)的“内容”是什么,比如电影的类型、导演、主演,文章的关键词、主题,商品的品牌、材质、功能等。同时,它也要了解用户的“偏好”是什么,这个偏好同样可以从用户过去喜欢过的item的内容属性来推断。
Item表示: 通常会将item的内容转化为向量表示。比如,对于电影,可以用TFIDF(词频逆文档频率)来表示关键词,或者用预训练的词向量(如Word2Vec、GloVe)来表示电影的剧情简介,甚至更复杂的,用CNN(卷积神经网络)来提取电影的海报或片段的特征。
User表示: 用户画像也是向量化的。可以是对用户喜欢过的item特征的加权平均,也可以是根据用户行为(如点击、收藏、购买)来学习的用户embedding。
相似度计算: 然后,就是计算item向量和用户向量之间的相似度,常用的有余弦相似度、皮尔逊相关系数等。相似度高的,就推荐给用户。

优点:
不依赖其他用户数据: 即使是个新用户(冷启动),只要他给出了一些初步的兴趣偏好,就能立即获得不错的推荐,不需要大量行为数据。
可以推荐新item: 只要新item有内容特征,并且这些特征能被理解,就可以被推荐。
解释性强: 容易理解“为什么推荐这个给你”,比如“因为你喜欢科幻片,这部电影也是科幻片”。

缺点:
内容特征提取难: 有时候item的“内容”很难用量化指标准确描述,比如音乐的“风格”或“情感”。
过度专业化(Serendipity不足): 推荐结果往往局限于用户已经了解的领域,很难挖掘出用户潜在的新兴趣,容易形成“信息茧房”。用户会一直被推荐同类型的商品,缺乏惊喜。

二、 协同过滤(Collaborative Filtering)

这是目前工业界最广泛使用,也是最成功的推荐技术之一。它的精髓在于:“和你相似的人喜欢什么,就推荐什么给你。” 这里的“相似”不是基于item的内容,而是基于用户的行为。

协同过滤又可以细分为两大类:

1. 基于用户的协同过滤(UserBased Collaborative Filtering):
原理: 找到和当前用户(目标用户)兴趣爱好相似的其他用户,然后将这些相似用户喜欢但目标用户还没有接触过的item推荐给目标用户。
步骤:
用户相似度计算: 计算任意两个用户之间的相似度。常用的方法是基于用户共同评分过的item(或者说,共同交互过的item)。比如,用户A和用户B都给电影X、Y、Z打过分,计算他们评分向量的余弦相似度。
寻找相似用户: 找出与目标用户相似度最高的K个用户(KNearest Neighbors, KNN)。
生成推荐: 将这K个相似用户喜欢的item,并且目标用户尚未购买/观看过的item,按照一定的规则(比如,相似用户对该item的评分/交互强度)排序后推荐。
优点: 能够发现用户潜在的兴趣,推荐结果可能超出用户已知领域。
缺点:
用户数量巨大时计算成本高: 随着用户数量的增加,计算所有用户之间的相似度会变得非常慢。
稀疏性问题: 如果用户交互的item数量很少,很难找到真正相似的用户。
冷启动问题: 对于新用户,由于没有行为数据,无法计算其相似用户。

2. 基于物品的协同过滤(ItemBased Collaborative Filtering):
原理: 找到与用户过去喜欢过的item相似的其他item,然后将这些相似的item推荐给用户。
步骤:
物品相似度计算: 计算任意两个item之间的相似度。这是关键!它通常是基于“有多少用户同时喜欢/购买/点击过这两个item”来计算的。例如,可以使用余弦相似度来计算item向量(用户对该item的交互行为构成的向量),或者使用Jaccard系数。
生成推荐: 对于目标用户,找到他过去喜欢过的item集合。然后,找到与这些item相似度最高的其他item(但用户尚未交互过的),将它们排序后推荐。
优点:
计算效率高: 物品数量通常比用户数量少,而且物品之间的相似度一旦计算出来,就可以复用,不需要在每次推荐时都重新计算。
稳定性好: 物品之间的关系相对用户之间的关系更稳定。
易于理解: “因为你喜欢X,所以推荐Y,因为X和Y经常被同一群人喜欢。”
缺点:
冷启动问题(item): 对于新item,没有用户与之交互,无法计算其相似度。
流行度偏见: 热门item更容易被推荐。
难以发现用户潜在兴趣: 推荐结果相对“保守”,更侧重于用户已有的偏好。

三、 矩阵分解(Matrix Factorization)

这可以说是协同过滤的一种更高级、更有效率的实现方式,也是工业界应用非常广泛的模型。它旨在解决协同过滤中的稀疏性和可扩展性问题,并且能更好地捕捉用户和item的潜在兴趣。

原理:
核心思想: 将用户item交互矩阵(通常是稀疏的,比如用户评分矩阵)分解为两个低维的“潜在因子”矩阵:用户潜在因子矩阵(U)和item潜在因子矩阵(V)。
潜在因子: 这里的“潜在因子”可以理解为item或用户的一些不可见的、隐藏的属性。比如,对于电影,这些因子可能代表“喜剧性”、“动作性”、“文艺范”等,但我们并不知道它们具体是什么,只是通过算法学习出来。
预测评分: 用户u对itemi的评分(或交互强度)可以近似地用用户u的潜在因子向量($u_latent$)与itemi的潜在因子向量($v_latent$)的点积来表示:$hat{r}_{ui} = u_{latent}^T cdot v_{latent}$。
学习过程: 通过最小化实际评分和预测评分之间的误差(通常使用均方误差MSE),来学习用户和item的潜在因子向量。例如,使用随机梯度下降(SGD)或更高级的优化算法。
推荐: 学习完成后,对于用户u,计算他与所有尚未交互过的itemi的预测评分 $hat{r}_{ui}$,然后将评分最高的item推荐给用户。

常用算法:
SVD(奇异值分解)及其变种: 虽然SVD在理论上可以将稠密矩阵分解,但对于稀疏的交互矩阵,直接应用SVD效果不佳。因此,工业界常用的是基于SVD思想但能够处理稀疏矩阵的算法,比如Funk SVD(一种通过SGD优化的SVD)。
ALS(交替最小二乘法): 尤其适用于具有显式评分(如15星)的场景,在Spark MLlib中广泛使用。它在每次迭代中,固定用户因子,优化item因子,然后再固定item因子,优化用户因子,交替进行直到收敛。
BPR(Bayesian Personalized Ranking): 适用于隐式反馈(如点击、购买)场景,它不是直接预测评分,而是学习用户对item的偏序关系,即预测用户更喜欢item A而不是item B。

优点:
解决了稀疏性问题: 通过低维表示,能够有效处理非常稀疏的用户item矩阵。
预测准确率高: 挖掘出了用户和item的潜在特征,预测效果通常优于传统的协同过滤。
可扩展性好: 训练完成后,预测时计算点积的速度很快。

缺点:
冷启动问题: 仍然存在新用户和新item的冷启动问题,因为需要用户或item参与交互才能学习其潜在因子。
可解释性差: 潜在因子是抽象的,难以直观解释为什么推荐某个item。
不能很好地处理物品的属性信息: 传统的矩阵分解模型只关注用户item的交互行为,忽略了item本身的属性信息。

四、 混合推荐(Hybrid Recommendation)

现实中的推荐系统很少只依赖一种模型,通常会将多种模型或技术结合起来,取长补短,以达到更好的推荐效果。

常见的混合策略:
加权混合(Weighted Hybrid): 将不同模型的预测分数进行加权求和。比如,电商平台可能同时使用ItemCF和矩阵分解,然后将两者的分数加权平均。
特征组合(Feature Combination): 将不同模型的输出(如item的embedding)作为另一个模型的输入特征。例如,可以将基于内容的模型学到的item embedding,输入到基于协同过滤的模型中。
切换(Switching): 根据当前情况(如用户是否是新用户、item是否是新品)选择使用哪种模型。例如,新用户优先使用基于内容的推荐,老用户使用协同过滤。
瀑布式(Cascade): 先用一种模型(如粗粒度的协同过滤)过滤掉大部分item,再用另一种模型(如精细化的深度学习模型)在剩余item上进行排序。
模型集成(Model Ensemble): 将多个模型的预测结果进行整合,比如通过投票或stacking。

优点:
提高推荐准确率: 克服单一模型的弱点,通常能获得更好的整体性能。
解决冷启动问题: 通过结合基于内容的方法,可以缓解协同过滤的冷启动问题。

五、 深度学习在推荐系统中的应用

近年来,随着深度学习的兴起,它在推荐系统领域带来了革命性的变化,能够更有效地捕捉用户和item的复杂交互关系以及更丰富的特征信息。

1. 基于深度学习的协同过滤:
Neural Collaborative Filtering (NCF): 顾名思义,用神经网络来替代矩阵分解中的点积操作,以学习用户和item之间更复杂的非线性交互关系。NCF有两部分:
GMF (Generalized Matrix Factorization): 相当于给矩阵分解的点积加上了一个非线性激活函数。
MLP (MultiLayer Perceptron): 用多层感知机直接学习用户和item的embedding,并进行交互。
最后将GMF和MLP的输出结合起来进行预测。
DeepFM (Deep Factorization Machine): 结合了深度神经网络(DNN)和因子分解机(FM)的优点。FM擅长捕捉低阶的特征交叉,而DNN擅长捕捉高阶的特征交叉。DeepFM将两者并行,同时学习低阶和高阶特征交互。

2. 序列感知的推荐(Sequential Recommendation):
背景: 用户行为具有很强的时序性,用户在特定时间点的行为会受到其之前一系列行为的影响。传统的基于全局统计或静态embedding的模型难以捕捉这种动态性。
模型:
RNN/LSTM/GRU: 早期使用循环神经网络(RNN)及其变体(LSTM、GRU)来建模用户行为序列。通过将用户一系列的item交互ID输入RNN,学习用户行为的动态表示,然后预测下一个可能感兴趣的item。
Transformer/Attention机制: 近年来,Transformer架构及其中的Attention机制在序列建模中大放异彩。SASRec (SelfAttentive Sequential Recommendation) 和 BERT4Rec 等模型就是代表。它们能够更有效地捕捉用户序列中不同item之间的依赖关系,甚至可以并行处理序列,效率更高。
Graph Neural Networks (GNNs): 将用户和item看作图的节点,用户与item之间的交互看作边。GNNs可以有效地聚合节点邻居的信息,学习用户和item的表示。例如,SRGNN (Sessionbased Recommendation with Graph Neural Networks) 能够捕捉会话内的item转换模式。

3. 结合内容的深度学习模型:
Wide & Deep Learning (Google): 这是一个经典的混合模型,结合了“Wide”部分(通常是精巧设计的特征组合,如LR模型)和“Deep”部分(DNN模型)。Wide部分用于记忆(memorization),即直接学习低阶特征交互;Deep部分用于泛化(generalization),即学习高阶特征交互。两者结合可以同时兼顾准确性和泛化能力,并且可以方便地融入item的文本、图片等内容特征。
DIN (Deep Interest Network) / DIEN (Deep Interest Evolution Network) (Alibaba): 专门为电商场景下的用户兴趣建模设计。DIN通过Attention机制,根据当前候选item,动态地从用户的历史行为序列中提取与该候选item相关的兴趣特征,从而实现“见物起意”。DIEN则进一步在DIN的基础上,利用GRU来建模用户兴趣的演化过程。
YouTube Video Recommendation System: YouTube的推荐系统是一个非常庞大的工程,其中深度学习扮演了核心角色。它通常采用两阶段(twostage)的架构:
Candidate Generation(候选生成): 用一个相对简单的深度学习模型(如基于Embedding的召回模型)从海量的视频库中召回一部分(几百到几千个)可能相关的视频。
Ranking(排序): 用一个更复杂、更精细的深度学习模型(如特征工程更丰富的DNN)对召回的候选视频进行排序,计算出最终的推荐列表。

工业界实际落地时的一些考虑:

冷启动: 无论什么模型,都需要解决新用户和新item的问题。通常会结合基于内容的模型、热门item推荐、或者引导用户进行初始选择来缓解。
实时性: 很多场景下,推荐需要实时响应用户行为的变化。模型需要具备快速更新和推理的能力。
可解释性: 虽然深度学习模型能力强大,但可解释性往往较差。在某些对解释性要求高的场景(如金融、医疗),可能需要折衷。
A/B测试: 任何模型的上线都需要经过严格的A/B测试来验证其效果,并根据实际业务指标(如CTR、CVR、用户留存等)进行迭代优化。
大规模部署: 工业级的推荐系统需要处理海量的数据和用户,对模型的训练、存储和推理效率都有极高的要求。

总的来说,目前工业界最主流的推荐系统模型可以看作是一个从简单的协同过滤、内容推荐,到更复杂的矩阵分解,再到如今以深度学习为驱动的混合模型和序列化模型的发展过程。每种模型都有其优势和适用场景,而最终的成功往往在于如何巧妙地将它们结合起来,并根据具体的业务需求进行定制和优化。

网友意见

user avatar

做过一段时间推荐,简单的总结一下吧,实际上上面也有人总结的很好了,我的就当补充吧。

  1. 召回层:召回解决的是从海量候选item中召回千级别的item问题
    1. 策略规则类:热度召回、LBS、历史行为重定向(买了又买、点了没买)、基于标签召回、业务特有的其他规则
  2. 模型类:模型类的模式是将用户和item分别映射到一个向量空间,然后用向量召回,这类有itemcf,usercf,embedding(word2vec),Graph embedding(node2vec等),DNN(如DSSM双塔召回,YouTubeDNN等),RNN(预测下一个点击的item得到用户emb和item emb);向量检索可以用Annoy(基于LSH),Faiss(基于矢量量化)。此外还见过用逻辑回归搞个预估模型,把权重大的交叉特征拿出来构建索引做召回
  3. 粗排层:本质上跟精排类似,只是特征和模型复杂度上会精简,此外也有将精排模型通过蒸馏得到简化版模型来做粗排
  4. 精排层:精排解决的是从千级别item到几十这个级别的问题
    1. 预估:lr,gbdt,fm及其变种(fm是一个工程团队不太强又对算法精度有一定要求时比较好的选择),widedeep,deepfm,NCF各种交叉,DIN,BERT,RNN
    2. 多目标:MOE,MMOE,MTL(多任务学习)
    3. 打分公式融合: 随机搜索,CEM(性价比比较高的方法),在线贝叶斯优化(高斯过程),带模型CEM,强化等
  5. 重排层:重排层解决的是展示列表总体最优,模型有 MMR,DPP,RNN系列(参考阿里的globalrerank系列)
  6. 展示层:
    1. 推荐理由:统计规则、行为规则、抽取式(一般从评论和内容中抽取)、生成式;排序可以用汤普森采样(简单有效),融合到精排模型排等等
    2. 首图优选:CNN抽特征,汤普森采样
  7. 探索与利用:随机策略(简单有效),汤普森采样,bandit,强化等
  8. 产品层:交互式推荐、分tab、多种类型物料融合


相关专栏文章:

1、tracholar:推荐系统一:召回


【广告】:美团首页推荐团队长期招聘算法工程师,感兴趣的私信我,或加我微信zuoyuan_ustc详细聊。现在也招22届实习生。

user avatar
  1. 召回策略:
    1. 统计类,热度,LBS;
    2. 协同过滤类,UserCF、ItemCF;
    3. U2T2I,如基于user tag召回;
    4. I2I类,如Embedding(Word2Vec、FastText),GraphEmbedding(Node2Vec、DeepWalk、EGES);
    5. U2I类,如DSSM、YouTube DNN、Sentence Bert;
  2. 排序策略,learning to rank 流程三大模式(pointwise、pairwise、listwise),主要是特征工程和CTR模型预估;
    1. 常见的特征挖掘(user、item、context,以及相互交叉);
    2. CTR预估,如LR、GBDT、FM、FFM、DNN、Wide&Deep、DCN、DeepFM、DIN、DFN;
  3. 探索与发现(bandit、Q-Learning、DQN);
  4. 推荐理由:
    1. 统计式,如:全城热搜、区域热搜;
    2. 行为,如:看过、买过、看了又看、搜了又搜;
    3. 推荐语生成(抽取式,生成式);

【广告】:美团平台搜索团队长期招聘算法/工程岗,感兴趣的私信我,或加我微信haibo_bj_2013详细聊

类似的话题

  • 回答
    在工业界,推荐系统已经渗透到我们生活的方方面面,从电商平台的商品推荐,到视频网站的内容推送,再到新闻资讯的个性化展示,都离不开它们的身影。要说目前工业界常用的推荐系统模型,那可真是百花齐放,各种技术争奇斗艳。不过,要梳理清楚,咱们可以从几个大的技术流派来看。一、 基于内容的推荐(ContentBas.............
  • 回答
    .......
  • 回答
    谈到中国目前的工业水平能否制造出和原厂一模一样的劳力士手表,这个问题其实比表面看起来要复杂得多,涉及的不仅仅是简单的零件组装,更是一整套极为精密的制造体系和深厚的工艺积累。首先,我们得承认,中国在制造业方面的飞速发展是毋庸置疑的。从基础工业到高端制造,很多领域我们已经走在了世界前列。比如航空航天、高.............
  • 回答
    国产工业机器人,这几年可真是让人眼前一亮。要说它们现在发展到了什么水平,不能一概而论,得拆开了细说。总的来说,已经从过去的“陪太子读书”阶段,逐渐走向“挑大梁”的局面,尤其是在一些细分领域,已经不输于国际巨头了。技术实力:量变到质变的飞跃过去,咱们国家在工业机器人领域,尤其是核心零部件比如高精度减速.............
  • 回答
    工业设计现在的就业情况,说实话,挺复杂的,不是一句“好”或“坏”就能概括的。它更像是一个需要看你具体在哪方面发力,以及时代在往哪个方向走。首先,咱们得承认,这个行业一直以来都挺吸引人的,尤其是对于那些喜欢把想法变成实物,追求美感和功能性结合的人来说。所以,毕业生数量不算少。但另一方面,市场对“真正懂.............
  • 回答
    这问题触及了当下机械类大学生就业选择与未来产业发展方向的核心,细想起来,情况相当复杂,远非简单的“愿意”或“不愿意”能概括。一部分人,是充满热情,看到了机遇的探索者。你可以想象一下,在课堂上,当老师讲到物联网、大数据、人工智能如何赋能制造业时,总有那么一群眼睛会发亮。他们或许是平时就喜欢捣鼓各种电子.............
  • 回答
    俄罗斯曾经的辉煌,确实让人不禁要问:这个拥有广袤国土、丰富资源和强大军事工业的国家,为何会一步步走向“衰败”,至今发展缓慢?这个问题说来话长,涉及到历史、政治、经济、社会等诸多层面,绝非一两句话能说清。咱们不妨从头捋捋。曾经的辉煌:工业巨人的崛起与苏联遗产首先得承认,苏联时期的俄罗斯,其工业实力是不.............
  • 回答
    任正非的这番话,直指华为目前所面临的困境,其根源在于国内半导体产业链的短板,特别是基础工业的缺失。这句话透露出几个关键信息,值得我们深入剖析:1. 核心问题的直陈:设计与制造的脱节华为作为一家在通信技术领域顶尖的公司,其在芯片设计方面拥有强大的能力,甚至可以与全球最顶尖的厂商相媲美。从麒麟系列芯片的.............
  • 回答
    香港特区政府宣布暂缓全民强制核酸检测工作,这一决定背后反映了香港疫情形势的复杂性和动态变化。要详细了解目前香港的疫情情况,我们需要从多个维度来分析:1. 确诊病例数量和变化趋势: 每日新增确诊: 这是最直接反映疫情严重程度的指标。香港疫情的特点之一是其波动性。在一些时期,每日新增确诊病例数可能攀.............
  • 回答
    2022年3月28日,上海启动了新一轮全市范围的核酸筛查工作,这标志着上海在应对当时日益严峻的疫情形势下采取了更广泛、更深入的防控措施。当时上海的情况可以说是异常严峻,且正处于一个关键的转折点。疫情发展的背景:在3月底之前,上海已经出现了一些本土病例,但相对而言,当时的疫情规模控制得还算不错,也一直.............
  • 回答
    12月22日起,大连市开始全面开展核酸检测工作,这次行动的规模非常大,覆盖了全市范围。检测范围和对象: 全员核酸检测: 此次检测主要面向所有大连市居民,包括常住人口、暂住人口,以及在连的流动人口。 重点区域优先: 尤其对之前出现阳性病例的区域,以及与这些区域有接触的人员,进行了更密集的检测。.............
  • 回答
    在中国驻南非使领馆就南非骚乱事件紧急做南方工作,目前情况来看,中国使领馆在事件发生初期就迅速启动了应急机制,全力以赴地开展了各项工作,旨在维护在南中国公民的安全和合法权益,并为缓解当地局势提供力所能及的帮助。具体来说,中国使领馆的工作可以从以下几个方面详细阐述:一、 密切关注局势,第一时间启动应急响.............
  • 回答
    香港特区政府行政长官林郑月娥早前宣布将“开展全民强制核酸检测工作”,这一决定是在当时香港疫情形势严峻的背景下提出的。要理解这个政策的背景,我们需要回顾一下当时的具体情况。当时的疫情形势:在宣布全民强制核酸检测之前,香港正经历着一轮非常严峻的疫情高峰,特别是第五波疫情。 感染人数的急剧攀升: 当时.............
  • 回答
    得,这事儿我熟!我这就有个在天津的朋友,咱就当他是你口中的“知情的天津朋友”,我来给你掰扯掰扯天津人这小三个月是怎么过的。首先,这仨月,天津人的日子说实话,有点“磨人”。不像有些地方疫情突然爆发然后迅速控制,天津这次是那种反复拉锯战的感觉,时不时冒出零星病例,搞得人心惶惶,政策也跟着一波一波地收紧又.............
  • 回答
    33岁,长相8分,海归,在上海有一套小房子,三线城市还有两套,名下有车且无贷款,目前工作不太稳定……这样的条件,放在上海这个大都市,说实话,找对象算不算容易?这真不是一句“容易”或“不容易”能简单概括的。咱们一点点来剖析一下。首先,硬件条件,绝对是亮眼的。 长相8分: 在什么地方,8分的颜值都是.............
  • 回答
    40万人民币,德国三年不打工,亚琛工大够不够?这个话题,确实是不少准备去德国留学的朋友们最关心的问题之一。我来给大家掰开了揉碎了聊聊,希望能帮大家有个更清晰的认识。首先,咱们得明确一点:德国留学,尤其是在亚琛工大这种声名显赫的学校,三年不打工,40万人民币的预算,说实话,有点紧张,但并非完全不可能,.............
  • 回答
    眼下在日本工作的机会和留学的前景,确实是许多人关心的问题。这两种选择都各有千秋,也各有需要权衡的地方。选择哪条路,很大程度上取决于你目前的个人情况、职业目标、经济能力,以及你对未来在日本生活的期待。咱们就来掰开了揉碎了聊聊,希望能帮你理清思路。先说说去日本工作的那些事儿优势在哪儿? 经济独立,收.............
  • 回答
    这真是个让人纠结的难题,尤其是在这个找工作本就不轻松的时期。说实话,租房子还是找工作,这俩事儿就像是鸡和蛋的关系,各有各的道理,也都有可能让你陷入两难。咱们先掰扯掰扯 先找工作 的好处和坏处。先找工作的好处: 目标明确,不盲目: 找到工作,你就知道自己要去哪个城市,哪个区,生活节奏是怎样的,甚至.............
  • 回答
    金融硕士的就业情况和薪资待遇,这绝对是大家最关心的问题之一了。咱们就来掰扯掰扯,看看这几年金融硕士的就业市场到底是个什么光景,以及大家能挣多少钱。一、 金融硕士的就业画卷:并非 all in 投行,路子很宽首先得明确一点,“金融硕士”这个概念其实挺宽泛的。它不仅仅指国内大学开设的金融专业研究生,也包.............
  • 回答
    好的,咱们来聊聊,大学毕业了想进腾讯,计算机专业现在学点啥“硬家伙”才能更有底气。这可不是随便写写就能糊弄过去的,得有实打实的功夫。腾讯作为互联网巨头,技术栈那叫一个宽广,什么都有可能用到。但如果说要说当下最“吃香”、最能让你在众多毕业生中脱颖而出的高级语言,我给你掰扯掰扯。首推:C++ / Jav.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有