< 1月电影摘要
诗的科学!我的意思是,科学 >

(没有评论) 捉鬼敢死队的幽灵过去了:简单介绍一下我是怎么做的@WeBustedGhosts,我的新机器人能让电影从另一段历史中走出来,在这段历史中,《捉鬼敢死队》是一种常见的喜剧类型,有点像20世纪的commedia dell'arte。特别是,我做了很多关于IMDB数据的工作,我想记录这些数据以便于您(通过您,我是说未来的我)。

机器人的灵感来自两件事:第一,伊万·格雷罗的视频“premakes”捉鬼敢死队1954年由鲍勃·霍普主演的喜剧,弗雷德·麦克姆雷,和马丁/刘易斯。第二,愚人对女喜剧演员将在即将到来的节目中破除鬼魂这一事实的反应捉鬼敢死队改造。更具体地说,克丽丝的 没完没了的 嘲笑“捉鬼敢死队”是一份具有合法性别资格的工作。

这些东西让我想到了你需要做的最小集合188betnow捉鬼敢死队.你需要把一部恐怖片和一部关于创业的喜剧结合起来。188betnow在无声电影时代,可能有人会想到这个主意。你需要一个导演和四个会做喜剧的演员。所有这些人都需要同时活着和工作,因为鬼魂不是真的…金宝搏app还是他们?无论哪种方式,你可以描述一个点捉鬼敢死队有6条信息的空间:4个参与者,董事、和一年。小到可以放进一条tweet,所以我做了一个Twitter机器人。

我们的僵尸世界之旅开始了,正如你所料,使用IMDB数据转储。我以前处理过IMDB数据,这一次我很想知道188betnowIMDbPY,它承诺能够处理古老且不太一致的平面文件IMDB数据格式。不幸的是,IMDbPY是为查找特定电影的事实而设计的,188betnow不是为了推理所有的电影。然而,它有一个很棒的脚本叫做imdbpy2sql.py,它将采用平面文件格式并将其转换为SQL数据库。

这里将讨论SQL(因为我想向您/未来的我展示如何使用IMDbPY创建的数据库执行半复杂的操作),除非你是我的未来,你可以跳过它。基本上,对于IMDB中的每个参与者,我需要计算一下那个演员在某一年流行喜剧中获得高票房的趋势。它们不一定是好的喜剧,或捉鬼敢死队例如喜剧,他们只需要有很多IMDB评级。

我还想知道每个演员的喜剧寿命。如果一个演员不再演流行喜剧或者去世或者退休,它们应该停止显示在数据集中。如果一个戏剧演员扩展到喜剧,他们应该在第一次喜剧表演时就出现在数据集中。基本上,如果你知道这个演员在某年主演了一部喜剧,这不应该是什么大惊喜。

奥森威尔斯在a捉鬼敢死队电影,但他从不演喜剧,所以他不在数据集中。如何……188betnow卡梅隆·迪亚兹吗?她很少得到最高的关注,但是她在很多非常受欢迎的喜剧中都有第二或第三的演出。在1997年这样的一年里,她一直是潜在的女性捉鬼敢死队的头号人物。

如何……188betnow彼得·福尔克?他的第一个喜剧角色是在1961年装满奇迹的口袋,他最后一次是在2005年退房.他的演艺生涯从1957年到2009年,但他只是1961年至2005年间潜在的捉鬼者。他不会经常被选中,因为他并不是以喜剧出名的。他的喜剧不如别人的受欢迎。但这种情况偶尔会发生。

这是我提取的数据。不是“这个演员有多出名”,而是“你希望这个演员在某一年演一部喜剧”。

IMDbPY数据库比我想要处理的要复杂,所以我的策略是使用SQL获取一个角色表,然后用Python处理它。以下是SQL在IMDB上获得1000多张选票的喜剧中的每个主要角色:

选择title.title,title.production_year,movie_info_idx.info,name.name,name.gender,cast_info.nr_order,kind_id from title join cast_info on title.id=cast_info.movie_id join name on cast_info.person_id=name.id join movie_info_idx on movie_info_idx.movie_id=title.id join movie_info on movie_info.movie_id=title.id where cast_info.role_id in (1,2) and kind_id in (1,3,4) and movie_info.info_type_id=3 and movie_info.info='Comedy' and cast(movie_info_idx.info as integer) > 1000 and movie_info_idx.info_type_id=100 and cast_info.nr_order <= 7;

一些数字和id的解释:

我在一个SQLite数据库上运行,结果如下:

# 1啦啦队长营| 2010 | 2297 |卡塞尔,赛斯| 2 | 4 |米……

所以电影的名字是" 1号啦啦队营"它在2010年出版,它有2297张选票,塞斯·卡塞尔(一个男人)是那部电影的演员,排名第四。

为什么我没有在这个查询中包含电视?因为IMDB上的电视真的很复杂。金宝搏app看到的,演员不会出现在电视节目中;它们被归功于个别事件。但没有人对个别事件进行评级;他们把这个节目作为一个整体来评价。所以我必须做一个单独的查询来确定每个喜剧电视节目的最佳演员是谁,然后把这个节目的选票分给四位顶级演员。否则,以电视为主要喜剧事业的演员将得不到应有的报酬。

下面是SQL获取电视剧中的所有角色:

选择tv_show.title,episode.title,episode.production_year,votes.info,name.name,name.gender,cast_info.nr_order from title as tv_show join title as episode on tv_show.id=episode.episode_of_id join cast_info on episode.id=cast_info.movie_id join name on cast_info.person_id=name.id join movie_info_idx as votes on votes.movie_id=tv_show.id join movie_info on movie_info.movie_id=tv_show.id where cast_info.role_id in (1,2) and tv_show.kind_id in (2,5) and episode.kind_id=7 and movie_info.info_type_id=3 and movie_info.info='Comedy' and cast(votes.info as integer) > 10000 and votes.info_type_id=100 and cast_info.nr_order < 5;

这与上一个查询非常相似,但是有些id是不同的。

我运行这个,输出如下:

“阿洛”阿洛!|烤箱里的面包1991 14022凯,戈登| 1 |米……

这意味着有“喂”您好!一集叫做"烤箱里的面包"这一集出版于1991年,“喂”紧密相联的(不是这一集)有14022张选票,Gorden Kaye在这一集中得到了最高的评价。

我尽可能快地从数据库中获取了这些数据,并对其进行了猛烈的抨击,让一部电视剧看起来就像一部由四位演员主演的电影——这四位演员在电视剧中出现的次数最多。

导演和电影演员非常相似。对于每一位喜剧导演来说,我衡量了他们在任何一年推出一部流行喜剧的倾向。这里有一个很强的幂律,几位现代导演使同时代的导演相形见绌,和查理·卓别林完全抹去他的同时代的人。

以下是SQL为你带来的所有喜剧:

选择title.title,title.production_year,movie_info_idx.info,name.name,name.gender from title join cast_info on title.id=cast_info.movie_id join name on cast_info.person_id=name.id join movie_info_idx on movie_info_idx.movie_id=title.id join movie_info.movie_id=title.id其中cast_info.role_id in(8)and kind_id in(1,3,4)and movie_info.info_type_id=3 and movie_info.info='comedy'and cast(movie_info_idx.info为整数)>5000,movie_info_id x.info_type_id=100;

这里唯一的新数字是cast_info.role_id in (8),这意味着我现在选择的是导演而不是演员。

此时,我已经完成了SQL数据库。我写了《捉鬼敢死队选星办公室》。它选择一年,为那一年挑选演员和导演,然后(15%的情况下)它选择一个自定义标题。对于自定义标题,我愚蠢可笑的技巧是,从给定年份中选择实际喜剧的名称,并将其中一个名词替换为“Ghost”或“Ghostbuster”。So far this has led to films like "Don't Drink the Ghost" and (I swear this happened during testing) "Ghostbuster Dad".

我是这样挑选某年的演员阵容的:我根据自己计算的变量“成为捉鬼人的趋势”来排列当年的所有演员,然后我用random.expovariate要从列表前面的不同位置进行选择(要使输出偏向于actor,您不必向上看)。这是我用的相同的技巧企业家选择普通(但不是形容词和名词的发明。均值是0。85,0.8,0.75,和0.7,将,平均而言,给我一个85百分位的人,第80百分位的人,75百分位和70百分位。

这是我所能做的最好的再现1984年的动态捉鬼敢死队比尔·默里和丹·艾克罗伊德以前在哪里是非常著名的演员捉鬼敢死队,而厄尼·哈德森和哈罗德·拉米斯却没有。在这一点上,你可能会反对厄尼•哈德森(Ernie Hudson)和哈罗德•拉米斯(Harold Ramis)甚至不是第75或第70百分位。捉鬼敢死队是Ramis作为演员的第二部电影;我想有一段口述的历史说他给了自己埃贡·斯宾格勒这个角色,因为没有人比他更傻。为了精确起见,就像,0.90 / 0.85 / 0.35/0.30。但是这给了你太多的无名演员,而且输出也没有那么有趣。它还不感觉准确的,因为1984捉鬼敢死队是一部真正的金宝搏app电影,这一切都使哈德森和拉米斯成为非常著名的演员。所以现在我们希望《捉鬼敢死队》能成为一个有威望的喜剧角色。

一个更合理的观点是,0.8/0.8/0.75/0.7也没有真正捕捉到2016年的动态金宝搏app捉鬼敢死队,这四位演员都很有名,但克里斯汀·韦格(Kristen Wiig)的名气是其他三位演员的两倍。我还创建了一个0。85/0。8/0。8/0。75模式,这会给你更多的大牌服装。

像往常一样,有很多后台数据处理。从一堆“x在电影中占了y票”的条目到一个“成为捉鬼者的趋势”的数字需要很多半武断的决定,我认为我的算法仍然低估了电视演员的数量。只要有幂律,我把它理顺了一点,以增加输出的多样性。我消除了后imdb喜剧与前imdb喜剧的过度再现;像卓别林这样的超级导演,在他们的时代给所有人都蒙上了阴影;男性董事的数量远远超过女性董事。

女喜剧演员的代表;男人不是个问题,因为我是在男人的领导下捉鬼敢死队改造。45%的捉鬼队伍都是女性,45%都是男性。(10%的团队是男女同校的,just to add variety.) There's no code that makes sure all the actors speak the same language or anything like that—I could extract that data from IMDB but it would be a lot of work to make the output of the bot less interesting.

好了。它不是源代码,但你们应该能或多或少看到我是如何将这个机器人从概念到执行的,我是如何在“这是对另一个宇宙中发生的事情的准确描述,在这个宇宙中,主要的电影喜剧类型是关于破除鬼魂的电影”和“这是一个有趣的机器人输出”之间的微妙空间进行谈判的。188betnow

了下: ,


发布评论

你的名字:

你的主页:

记住这个信息

评论:

允许HTML标记:,,.空行变成段落分隔符。


(
主要][编辑]

除非另外注明,所有授权内容伦纳德·理查森
在一个Creative Commons许可.