加入收藏 | 设为首页 | 会员中心 | 我要投稿 555手机网 (https://www.555shouji.com/)- 热门手机、手机评测、云手机、手游、5G!
当前位置: 首页 > 4G频道 > 数据 > 正文

用机器学习分析完网红视频后,我发现播放量暴涨的秘密

发布时间:2020-03-17 10:35:06 所属栏目:数据 来源:网络整理
导读:用机器学习分析完网红视频后,我发现播放量暴涨的秘密
副标题[/!--empirenews.page--]

(原标题:用机器学习分析完 YouTube 网红视频后,我发现了播放量暴涨的秘密)

在视频成为重要媒介,vlog、视频博主也成为一种职业的当下,如何提高自己视频的播放量,是广大内容生产者最头秃的问题之一。网络上当然有许多内容制作、热点跟踪、剪辑技巧的分享,但你可能不知道,机器学习也可以在其中发挥大作用。

join into data上两位作者 Lianne 和 Justin 做了一个硬核的技术分析。他们的分析对象是 YouTube 一个新近崛起的健身博主Sydney Cummings。

Sydney拥有美国国家运动医学会(NASM)的私人教练证,同时也是一位跳高运动员。她的账号注册于2016年5月17日,累计播放量27,031,566,目前拥有21万粉丝,每天都稳定更新,很有研究意义。请注意,以下研究都将通过 Python 实现。

Sydney Cummings 的标题都有一定套路,比如最近一个标题是《30分钟手臂和强壮臀肌锻炼!燃烧310卡路里!》,通常涵盖时间、身体部位、消耗的卡路里以及其他关于锻炼的描述性词汇。观众点击这段视频之前,就会知道几个信息:

30分钟——我将在30分钟内完成整个训练;

锻炼手臂和臀肌——我将致力于手臂和臀肌,专注于力量;

燃烧310卡路里——我会燃烧相当多的卡路里。

掌握以上关键信息是预先的准备,接下来还有六个步骤:观察数据、用自然语言处理技术对视频进行分类、选择特征、创建目标、构建决策树、阅读决策树。接下来就和雷锋网一起看看作者究竟是怎么一步一步展开研究的。

事前准备:抓取数据

其实有很多不同的方法来抓取 YouTube 数据。由于这只是个一次性项目,所以作者选择了一个只需要手工操作,不依赖额外工具的简单方法。

以下是分步步骤:

选中所有视频;

右键单击最新的视频并选择“Inspect“;

将光标悬停在每一行上,找到高亮显示了所有视频的最低级别的 HTML 代码/元素级别;

例如,如果使用 Chrome 浏览器,它看起来就像这样:

用机器学习分析完网红视频后,我发现播放量暴涨的秘密


【 图片来源:Sydney’s YouTube Video page 所有者:Sydney】

右键单击元素并选择“复制”,然后选择“复制元素”;

将复制的元素粘贴到文本文件中并保存,这里使用 JupyterLab 文本文件并将其保存为 sydney.txt;

使用 Python 提取信息并清理数据。

接下来就是有趣的部分了,他们将从这个数据中集中提取特征,并研究是哪些因素影响着播放量。

步骤1:观察数据

将数据导入到 Python 中是在最后一节中完成的,以下是数据集 df_videos,一共有837个视频。

用机器学习分析完网红视频后,我发现播放量暴涨的秘密

df_videos 有8个特征来描述每个视频细节,包括:标题、多久前发布的、视频长度、播放量、地址、卡路里、发布具体日期、发布至今的天数。

此外,他们注意到数据有重叠,因为博主曾经多次上传同一个视频,在接下来的分析中将会忽略这部分不大的样本。

用机器学习分析完网红视频后,我发现播放量暴涨的秘密

步骤2:用 NLP 对视频进行分类

在这一步中,他们根据标题中的关键词对视频进行分类。

分组标准是:

这个视频针对的是身体哪个部位?

这个视频的目的是增肌还是减肥?

或者还有什么其他关键词?

作者使用了自然语言工具包(NLTK),Python 中一个常用的开源 NLP 库,来处理标题。

生成关键词列表

首先,标记化视频的标题。此过程使用分隔符(如空格(" ")将标题文本字符串拆分为不同的标记(单词)。这样,计算机程序就可以更好地理解文本。

这些标题中有538个不同的单词,以下列出了使用频率最高的标记/单词。可以发现,频繁使用的就是那几个词,这也再次证明博主确实喜欢起标准格式的视频标题。

用机器学习分析完网红视频后,我发现播放量暴涨的秘密

基于高频词列表,作者创建了3个关键字列表,可用于接下来环节对视频进行分类。

body_keywords(正文—关键词)——这标识了视频针对的身体部位,如“完整”身体、“腹肌”、“腿”。

workout_type_keywords(健身—类型关键字)——区分锻炼类型,如“有氧”、“伸展”、“力量”。

其他关键字——这包括常用但难以归类的关键词,如“训练营”、“精疲力竭”、“纤体”(toning)。

词干关键词列表

在形成这些关键字列表后,作者还提取了词干。这是为了确保计算机能够识别近义词。例如,ABS 是 Abdominal Exercise(腹部锻炼)的简写,单词“abs”和“ab”有相同的词干“ab”。

YouTube 标题的标记和词干

除了关键词,作者还需要标记和提取标题词干。这些过程可为进一步匹配关键字和标题列表做准备。

步骤3:特征工程

经过头脑风暴,他们选择了两种特征——基于关键词和基于时间。

基于关键词的特征 Indicator Features

由于前一步的工作,现在有3个关键词列表和精简的标题,可以匹配它们来对视频进行分类。

按照 body_keywords 和 workout_type_keywords 分类,一个视频中有许多关键词。所以在匹配之前,作者还创建了2个特征:area 区域和 workout_type 健身类型。这些特征将一个视频的所有身体部位和锻炼类型连接成一个字符串。

例如,一个健身视频可以同时做“腹肌”和“腿”,或者同时做“有氧”和“力量”。该视频的特征区域为“腹肌+腿”,健身类型为“有氧+力量”。

同时,作者也识别出了相似的关键字,如“总共”和“完全”、“核心”和“腹肌”,将它们归在一组。

最后,他们创建了三种不同类型的虚拟特征(dummy features):

is _ { } _区域,识别视频是否包含特定身体部位;

is_ { } _健身,确定健身类型;

title_contains_{},查看标题是否包含其他关键词。

为了清楚起见,视频标题“腿部力量消耗训练”应该是 _leg_area = True,is_strength_workout = True,title_contains_burnout = True,而所有其他都为 False。

Frequency Features

除以上特征外,作者还创建了三个特征:num_body_areas,num_workout_types,和num_other_keyword,用来计算一个视频标题中提到的关键词的数量。

举个例子,一个标题是“腹肌和腿部有氧力量训练”的 num_body_areas 和 num_workout_types 都是2。

这些特征有助于确定视频中应包含的身体部位或锻炼类型的最佳数量。

Rate Features

最后同样重要的是,作者创建了一个特征:calories_per_min(每分钟卡路里数)看看卡路里的燃烧速度。毕竟,观众都想要一些明确的(可量化的)锻炼目标。

当然整个过程中也难免存在一些被错误分类的视频,作者也在转向时间特征前进行了手动修复,这里不再赘述。

基于时间序列的特征

有了上述基于关键词的特征,作者已经发现受欢迎视频的类型。但这是否意味着博主应该一直发相同类型的视频?

为了回答这个问题,他们还创建了一些基于时间序列的特征:

num_same_area,过去30天内发布的针对同一区域的视频(包括当前视频)数量。

例如,特征= 6,说明除了当前视频针对上半身时,过去30天中还有5个上身健身视频。

num_same_workout,该特征类似 num_same_area,只是统计的是健身类型。

例如,特征= 3,说明除了当前视频 HIIT 健身,在过去30天内还有2个 HIIT 健身视频。

last_same_area,距离上一个针对同一块身体部位视频过去的天数。

例如,该特征= 10,说明针对腹肌的上一个视频,发布在10天前。

last_same_workout,同 last_same_area,只是针对健身类型。

num_unique_areas,过去30天内锻炼了几块不同的身体部位。

num _ unique _workouts,过去30天发布的不同健身类型视频的数量。

这些特征将帮助了解观众是喜欢相同的还是不同类型的视频。

需要说明的是,博主偶尔会发布与健身无关的视频,播放数差距很大,所以作者未将这些列入分析。另外他们也过滤掉了前30天的视频,因为它们缺乏足够的历史数据。

接下来请看下面特征工程的具体过程。

多重共线性检验Test for Multicollinearity

(编辑:555手机网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读