过滤及提取电影资源名小算法(初级方案)

这两天干了件自己觉得很有意思的事情——

 

互联网上各个视频网站,对电影资源的命名千奇百怪,比如

 

《阿凡达》高清版在线观看、西游记新版中文字幕(暑期必看!)、阿里巴巴与四十大盗拍摄花絮 ……

 

如果我们要将这些信息“数字化”,提取到我们的数据库中,则这样的垃圾命名会给我们带来很大的麻烦。

 

于是,我写了一个程序,简单的对这些垃圾信息进行处理。尽量提取出正确的电影名,并且在之前的电影名中提取一些该电影相关数据。比如 “阿里巴巴与四十大盗拍摄花絮”这样的,我们就需要知道它并不是一个电影的正片资源,而是花絮,它的影片名是 “阿里巴巴与四十大盗”。

 

OK,废话少说,开始进入正题。

 

首先是调研:

 

我粗略的看了一下各个网站爬虫程序爬回来的结果,比较乱的是 openv(天线视频)和优酷。

 

大量出现的一些垃圾字段 如“首映”、“独家首播”、“最新”……

 

然后还有一些情况是,比如 “XXX第X集”、“XXXX(韩剧)”、“XXXX(未删减版)”、“XXXX(xxx英文名)……

 

那么就是两种情况,对于垃圾字段,我们无情的删除之。对于这种有用的字段,我们需要先从里面提取出信息,然后再将其删除。

 

 

大体算法流程如下:

 

原始字符串 -> 删除垃圾字段 -> 截取有用信息 -> 整理字符串 -> 结果。

 

我统计的垃圾字段有如下:

 

在线观看
首映 首款
网络独家首播)
暑期必看
(配音) (配音)
最新 
(电视) (电视)
(电视剧) (电视剧)
(韩剧) (韩剧)

 ……

 

有用的信息如下:

 

未删减版 完整版 —— 可以确定电影是正片
高清版 高清全集 高清 枪版  —— 确定电影的质量
韩语版 粤语版 国语版 中文版 —— 确定语言类型
主题曲MV —— 确定资源类别
电影版 电视剧版 —— 确定类型
超长片花 片花 幕后花絮 花絮 —— 确定资源类别
限制级 —— 限制级别
(第X集)—— 电视剧集数
精彩预告 全长预告片 先行版预告片 预告片1 预告片2 预告片3 ... 预告片 宣传片 制作特辑 —— 资源类别

(XXXXXXXX) —— 很可能是电影的别名或者英文名之类的,这里我认为超过三个中文字符(6个英文)则是别名。(否则很可能是“(上)”、“(上集)”之类的,这需要属于影片字段。比如赤壁(上)和赤壁(下)就是不同的电影。

……

 

最后整理:

去掉() ()  []等无内容的符号,因为其里面的内容已经在之前被提取或者删除

去掉左右空格

 

然后开始编码,编码的话还是用擅长处理文本的脚本语言,我用的是PHP。

 

之后测试结果还是比较准确的。

 

这个方法比较初级,之后我会要考虑有更好、更智能的方案。大致想法是要先建立一个电影名的词汇库,然后自训练。嗯……今后再说。

 

 

附相关代码

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值