用机器学习来概括《哈利波特》,视频也可以有“太长不看版”

2019 年 2 月 24 日 量子位
毒栗子 发自 凹非寺
量子位 出品 | 公众号 QbitAI

文章太长读不下去的时候,就想有个TL;DR按钮,用最短的时间,看最关键的部分。

要是视频很长不想看,该怎么挑重点食用?

一位叫做Sagi Shaier的程序猿,用机器学习给《哈利·波特》电影片段,做了一份太长不看的概括版

(至于是哪个片段,读下去就会知道。)

他的AI还用四句话,总结了一段11分钟的有声故事。

并且,程序猿已经把算法放上了GitHub。

那么,一起来观察一下,那些没时间看但又必须看的长视频,要怎样用AI概括出要点:

语音转文本:多种工具选择

首先,做好准备工作,就是把音频转换成文本

语音转文本的工具有很多。

该选什么工具?

程序猿先用了Pocketsphinx,免费且易用,只是准确度感人。

然后,少年又想试试谷歌云的语音转文本服务。这应该是最好的工具之一,不过少年因为不想填信用卡,就放弃了。

 谷歌云

最终,他选择了免费且准确率高的IBM沃森语音转文本,注册流程也简单。

 沃森

在Python里面用沃森

一开始你可能会感觉有点复杂,熟悉了就简单了。

只要用这一段代码:

1IBM_USERNAME = “apikey”
2IBM_PASSWORD = ‘Pass’ #Put your API key here
3stt = SpeechToTextV1(username=IBM_USERNAME, password=IBM_PASSWORD)
4audio_file = open(“new_story.wav”, “rb”) #audio file's name
5with open(‘new_story.json’, ‘w’) as fp: 
6 result = stt.recognize(audio_file, content_type=”audio/wav”,
7 continuous=True, timestamps=False,
8 max_alternatives=1).get_result()
9 json.dump(result, fp, indent=2)

把你IBM网站的密码填进去。

把要转换的音频文件名填进去。

(可以给.json文件起个名字,也可以用默认的new_story。)

然后,音频就转换成文本啦:

 哈利波特的一个段落

当然,语音识别还是有一些错误,后面会讲到怎样处理。

AI是怎么概括的?

有了文本,要让AI来读一读。先写这段代码,让文本变成字符串:

1with open(‘new_story.json’) as file:
2 distros_dict = json.load(file)
3for item in distros_dict[‘results’]:
4 print(item[‘alternatives’][0][‘transcript’] +’.’)

这样,就可以用NLP算法来解读了。

程序猿并没有用很复杂的算法,只需要六步:

1、把段落转换成句子。
2、文本预处理:删掉所有特殊字符、停用词 (Stop Words) 以及数字。
3、给句子做标记:获取句子里出现的所有单词。
4、给每个单词算好它出现的加权频率。

第4步得出的加权频率长这样:

后面还有关键的两步:

5、把原始句子里的单词,都替换成加权频率。
6、给每个句子算出加权频率之和,按降序排列。

效果还不错

然后,AI对一场戏的总结就做好了:

程序猿对这个结果还是很满意的:他说自己看电影的时候,本来就有些字听不太清。所以,这场戏的总结已经算是友好了。

谷歌翻译长这样:

不过,不知道你能不能看出,这是哪一场戏 (答案在文末) 。

另外,程序猿也用同样的方法,四句话概括了一个11分钟的有声故事:

故事的名字叫The Boarded Window,AI的总结和维基百科的情节描述,已经有些接近了。

你也来试试

程序猿已经把算法上传到了GitHub。

如果你也有太长不想看的视频,或者太长不想听的音频,让AI帮你总结一下吧。

GitHub传送门:
https://github.com/Shaier/Movie-Summarizer

教程原文传送门:
https://towardsdatascience.com/summarizing-harry-potter-with-ml-e724c024e2a2

以及,如果你还不知道,AI总结的是哪一场戏:

加入社群

量子位现开放「AI+行业」社群,面向AI行业相关从业者,技术、产品等人员,根据所在行业可选择相应行业社群,在量子位公众号(QbitAI)对话界面回复关键词“行业群”,获取入群方式。行业群会有审核,敬请谅解。


此外,量子位AI社群正在招募,欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“交流群”,获取入群方式。

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「好看」吧 !


登录查看更多
0

相关内容

IBM 即国际商业机器公司(International Business Machines Corporation)。总部在纽约州阿蒙克市,1911年创立于美国,是全球最大的信息技术和业务解决方案公司。 目前拥有全球雇员 30多万人,业务遍及160多个国家和地区。
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
机器学习速查手册,135页pdf
专知会员服务
341+阅读 · 2020年3月15日
【经典书】精通机器学习特征工程,中文版,178页pdf
专知会员服务
356+阅读 · 2020年2月15日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
【机器学习课程】Google机器学习速成课程
专知会员服务
164+阅读 · 2019年12月2日
新书《面向机器学习和数据分析的特征工程》,419页pdf
专知会员服务
142+阅读 · 2019年10月10日
实战分享之专业领域词汇无监督挖掘
PaperWeekly
15+阅读 · 2019年4月16日
抖音爬虫
专知
3+阅读 · 2019年2月11日
已删除
AI科技评论
4+阅读 · 2018年8月12日
干货|复旦中文文本分类过程(文末附语料库)
全球人工智能
21+阅读 · 2018年4月19日
机器学习面试题精讲(一)
七月在线实验室
4+阅读 · 2018年1月11日
用神经网络训练一个文本分类器
Python开发者
3+阅读 · 2017年8月19日
相似图片搜索的原理
数据库开发
9+阅读 · 2017年8月11日
10 小时到 10 分钟,一步步优化巨量关键词的匹配
Linux爱好者
3+阅读 · 2017年7月29日
Risk-Aware Active Inverse Reinforcement Learning
Arxiv
7+阅读 · 2019年1月8日
Arxiv
136+阅读 · 2018年10月8日
Arxiv
26+阅读 · 2018年9月21日
Arxiv
9+阅读 · 2018年3月10日
Arxiv
13+阅读 · 2017年12月5日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
机器学习速查手册,135页pdf
专知会员服务
341+阅读 · 2020年3月15日
【经典书】精通机器学习特征工程,中文版,178页pdf
专知会员服务
356+阅读 · 2020年2月15日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
【机器学习课程】Google机器学习速成课程
专知会员服务
164+阅读 · 2019年12月2日
新书《面向机器学习和数据分析的特征工程》,419页pdf
专知会员服务
142+阅读 · 2019年10月10日
相关资讯
实战分享之专业领域词汇无监督挖掘
PaperWeekly
15+阅读 · 2019年4月16日
抖音爬虫
专知
3+阅读 · 2019年2月11日
已删除
AI科技评论
4+阅读 · 2018年8月12日
干货|复旦中文文本分类过程(文末附语料库)
全球人工智能
21+阅读 · 2018年4月19日
机器学习面试题精讲(一)
七月在线实验室
4+阅读 · 2018年1月11日
用神经网络训练一个文本分类器
Python开发者
3+阅读 · 2017年8月19日
相似图片搜索的原理
数据库开发
9+阅读 · 2017年8月11日
10 小时到 10 分钟,一步步优化巨量关键词的匹配
Linux爱好者
3+阅读 · 2017年7月29日
Top
微信扫码咨询专知VIP会员