抖音的算法是怎么样的 抖音视频推荐是热门吗

           推荐算法“/         Tik Tok算法是基于一个日益流行和强大的推荐系统。与其他平台上的算法不同,Tik Tok的推荐算法可能更针对用户,使用时间越长,我们...

  you1rvok4wy.jpg

  

  

  推荐算法“/

  

  

  Tik Tok算法是基于一个日益流行和强大的推荐系统。与其他平台上的算法不同,Tik Tok的推荐算法可能更针对用户,使用时间越长,我们会发现Tik Tok比我们自己更清楚我们需要什么。但是当你以某种方式和他互动利用他的时候,他会给你粗略的推荐给你精准的推荐,这样他才能影响你的情绪。

  

  

  想想我们每次看一个视频需要多长时间,然后我们看什么视频,我们跳过什么视频,我们喜欢什么视频,我们喜欢什么评论,我们转发什么,等等。这些特征可以为算法提供数据支持。

  

  

  该算法的目标是个性化您的标签,尤其是在为您提供精确匹配的内容时。就算法而言,Tik Tok的算法似乎相当简单。记住,算法真的应该命名为“模型”——算法是一种特定类型的机器学习过程,就像随机森林或决策树一样。是模型保存的数据和代码的唯一属性。

  

  

  Tik Tok在他的网站上慷慨地分享了他们的算法在概念.是如何工作的。他关心的是算法的概念,而不是代码,所以在这里,我将把这些概念应用到代码中,并分享一个创建这种流行算法类型的简单指南。

  

  

  概念

  

  

  具体来说,Tik Tok分享了在他的算法中应用的以下因素。

  

  

  用户相互作用   

  

  视频信息   

  

  这两个因素可以分为两种推荐算法,和这两种算法最终可以形成一个集成算法,即协同过滤内容过滤.

  

  

  对用户:用户来说,交互,顾名思义,就是你与应用程序的交互。这些互动包括点赞、转发、评论和内容观看。

  

  

  对视频;视频来说,信息是对视频的详细描述――比如内容、标签、音频和字幕。

  

  

  现在我们已经对Tik Tok使用的功能类型有了一个大致的了解,我们可以将这些类型的推荐算法应用到它们的用例中。

  

  

  协同过滤:

  

  

  这种类型的推荐是通过比较你和其他人来实现的。因此,如果你是一个新用户,并开始喜欢或评价某一种视频,那么你将开始看到推荐的视频.那些视频是别人最喜欢的视频,他们也喜欢你以前的视频.这种类型的建议在技术上被称为交替最小二乘和矩阵分解。

  

  

  举个例子:

  

  

  如果A喜欢和评论视频1 23 45,B喜欢和评论视频1 23,他们会倾向于喜欢视频4和5。另一种可视化方法如下(x是推荐的视频,类似于上面的4和5):

  

  

  A:1,2,3,4,5

  

  

  B: 1 2 3 X X

  

  

  基于内容的过滤:

  

  

  下一个建议是通过比较视频.的属性来推荐属性相同的相似视频这个建议的技术术语是余弦相似度。想想视频,的属性,如持续时间、声音和文本。这些函数可以用来推荐具有相似属性值的视频

  

  

  经过视频:

  

  

  时长――30秒长烟灰缸―#过山车#过山车#主题公园#迪士尼世界

  

  

  推荐视频:

  

  

  持续时间――28秒长烟灰缸―#过山车#游乐设备#universalstudios

  

  

  在这个例子中,你可以看到在过去,视频有类似于推荐的视频.的视频

  

性。如果这成功了,让我们给这个算法一个推荐,推广类似的视频

  

现在我们已经介绍了两种流行的推荐系统,你可以看看它们如何应用到抖音上的。

  

协同过滤=用户交互

  

内容过滤=视频信息

  

需要注意的是,有时这些类型的过滤和推荐可能会产生一个相同的视频循环――在各种方式上缺乏多样性。他们已经想出了打破这种循环的方法,以便注入新的流行视频,这些视频不一定是个性化的,但可能对你很重要。

  

> 这些不同的技术可以一起使用,这样你就可以对不同的结果进行排序或应用,最终创建一个非常强大的数据科学算法或模型。

  

例如,您可以先执行基于内容的过滤,然后执行协同过滤,然后根据重要性偏好的评估指标和算法类型的权重按你希望的顺序执行流行度和多样性。

  

那么,如何实现这些概念呢?下面我们讨论一下基于协同过滤内容过滤的代码:

  

协同过滤

  

下面是使用Apache

  

Spark进行协作过滤的代码。首先,你需要从PySpark导入您的基本库。然后,加载数据并创建数据帧。接下来,将数据分割为训练和测试。然后,将拟合你的ALS模型(交替最小二乘)。接下来,创建预测,并基于指定的指标来评估模型;在这个例子中,使用的是RMSE。最后,输出基于选择数据集中包含的关于用户交互的列或特征的视频推荐。

  

samiz1bheqp.jpg推荐算法' />

  

from pyspark.ml.evaluation import RegressionEvaluatorfrom pyspark.ml.recommendation import ALSfrom pyspark.sql import Rowlines = spark.read.text("TEXT_FILE.txt").rddparts = lines.map(lambda row: row.value.split("::"))liked_data = parts.map(lambda p: Row(COLUMN_1, COLUMN_2, like=like)liked_df = spark.createDataFrame(liked_data)(training, test) = liked_df.randomSplit([0.75, 0.25])als = ALS(maxIter=4, regParam=0.05, users="COLUMN_1", items="COLUMN_2", ratingCol="like", coldStartStrategy="drop")model = als.fit(training)predictions = model.transform(test)evaluator = RegressionEvaluator(metricName="rmse", labelCol="like", predictionCol="prediction")rmse = evaluator.evaluate(predictions)print("RMSE = " + str(rmse))videoRecs = model.recommendForUsers(20)

  

有关完整的示例可以参考Apache Spark 文档

  

https://spark.apache.org/docs/2.2.0/ml-collaborative-filtering.html

  

内容过滤

  

下面这个代码比较简单,也是可以进行扩展的,首先导入我们的库,并使用consine

  

similarity库来计算过去的视频,并将类似的推荐作为后续的推荐来使用。

  

jqs1azofbi1.jpg推荐算法' />

  

import pandas as pddata = pd.read_csv("DATA.csv")# computing the cosine similarityalg = cosine_similarity(data)

  

结论

  

基于这些概念和特征,有几种方法可以解释抖音的算法。可以练习使用协同过滤和基于内容过滤,以及各自的算法的ALS和余弦相似度。这些概念和代码不仅可以应用到这里,还可以应用到其他推荐算法中。

  

还可以根据注入一些多样性或流行度比较高的视频来调整这些建议,以便更好地了解用户通常喜欢什么。

  

非常感谢你们的阅读,接下来会为大家持续更新更优质更好的内容,希望大家可以在评论区留言我们一起讨论更多的模型和算法。

  

h1h3s1wmi2t.jpg推荐算法' />

  • 发表于 2021-10-25 00:19
  • 阅读 ( 179 )
  • 分类:互联网

0 条评论

请先 登录 后评论
Lion林勇
Lion林勇

936 篇文章

你可能感兴趣的文章

相关问题