毒栗子 发自 凹非寺

量子位 出品 | 公众号 QbitAI

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

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

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

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

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

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

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

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

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

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

该选什么工具?

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

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

△ 谷歌云

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

△ 沃森

在Python里面用沃森

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

只要用这一段代码:

1 IBM_USERNAME = “apikey”2 IBM_PASSWORD = ‘Pass’ #Put your API key here3 stt = SpeechToTextV1(username=IBM_USERNAME, password=IBM_PASSWORD)4 audio_file = open(“new_story.wav”, “rb”) #audio file's name5 with 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来读一读。先写这段代码,让文本变成字符串:

1 with open(‘new_story.json’) as file:2 distros_dict = json.load(file)3 for 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总结的是哪一场戏:

诚挚招聘

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

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

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

英文书《用unreal来学习c++》_用机器学习来概括《哈利波特》,四句话总结一场戏...相关推荐

  1. 【拉扎维书中的电路仿真学习记录_未完待续】

    [拉扎维书中的电路仿真学习记录] 第四章 1. 简单的差动电路 2 习题4_4 第四章 1. 简单的差动电路 1.p32, 图4.6,简单的差动电路 2.ADE设置 3.输入输出波形 Vin1 与 V ...

  2. 统计学习导论_统计机器学习之扫盲导论篇

    机器学习之扫盲导论篇 来都来了,不关注一下吗?? 人工智能是当下最火的词,而机器学习就是它的灵魂. 现在超级多搞金融的人已经用到很深的机器学习模型了,更别提互联网企业的大佬们了,比如: (这是一篇研报 ...

  3. 什么意思中文_中文十级考题,请解释这四句话是什么意思!

    1 HSK真题,请问这四句的表达了什么意思.图自@stage1st宅社区 2 分享朋友圈吸引女孩子注意的小技巧: 在她精心发送的自拍下面留一句:是你? 在她发送的旅行照片下面留一句:就这? 在她的游戏 ...

  4. 子之错父之过什么意思_"子不教父之过",这句话出自哪里?什么意思?

    展开全部 "子不教父之过"这句话应该是养不教,父之过.意思是仅仅是供养儿62616964757a686964616fe4b893e5b19e31333431333939女吃穿,而不好好教育,是父母的过 ...

  5. 西瓜书学习记录_绪言

    系列文章目录 文章目录 系列文章目录 前言 一.知识回顾 二.课后习题思考 1.3 总结 前言 该系列文章主要用于记录笔者在大三下学期的西瓜书学习过程 本文讨论西瓜书绪言中的学习体会以及对某些问题的思 ...

  6. 计算机科学与技术(嵌入式)四年学习资料_文件目录树

    说明: 资料内容主要包括:计嵌专业2019级大学四年主要科目的各种电子资料,有电子实验报告.课程设计报告.课程设计项目.整理复习笔记.电子书.ppt.练习题.期末试卷.部分课程软件资源.科创项目,职业 ...

  7. 谈谈新手如何学习PHP^_^【转】

    谈谈新手如何学习PHP^_^[转] 谈谈新手如何学习PHP^_^ 文章开头就列举了那么多联系方式,难免会让大家感觉有点AD的意味,但是不容质疑的是,默默的确有那么丁点的表现欲^_^,虽然有时候过于细致 ...

  8. 强化学习-动态规划_强化学习-第5部分

    强化学习-动态规划 有关深层学习的FAU讲义 (FAU LECTURE NOTES ON DEEP LEARNING) These are the lecture notes for FAU's Yo ...

  9. c语言谭浩强ppt课件,编程_C语言学习课件_谭浩强_PPT~1216F.ppt

    编程_C语言学习课件_谭浩强_PPT~1216F.ppt ,第一章,C语言概述本章要点,C语言的特点 C程序的结构 在计算机上运行C程序的方法主要内容,1.1 语言出现的历史背景 1.2 程序的特点 ...

最新文章

  1. struts struts.xml
  2. java.util.concurrent.Exchanger应用范例与原理浅析--转载
  3. [Qt教程] 第22篇 数据库(二)编译MySQL数据库驱动
  4. MSF(三):信息收集
  5. 如何选择IDC服务器托管服务商
  6. MessagePack Java 0.6.X List, Map 对象的序列化和反序列化
  7. SpringCloud学习笔记023---分布式集群之_Windows下搭建zookeeper服务器
  8. 如何制作HTML网页设计【体育运动主题网站——中国篮球NBA】
  9. pcs7服务器没有报警信息,PCS7操作员站体系结构
  10. 小学教师计算机培训记录内容,中小学教师信息技术培训计划
  11. QQ隐藏福利二-----------------那些免费的挂件和气泡
  12. python:实现培根密码算法(附完整源码)
  13. 【python学习】如何批量从文件夹中根据文件后缀名提取文件,并存储到新的文件夹
  14. 搞懂WebRtc,语音社交源码的开发就入门了!
  15. 贪心算法-会议安排问题
  16. 社会工程学攻击案例-网站钓鱼
  17. 求两个单链表的差集和并集
  18. 浅谈目前政企办公协作的需求与痛点
  19. 深以为然-为什么一些JAVA EE / J2EE 工程是效率低下或者至少是效率欠佳的(翻译)
  20. rufus 装windows11 系统 z790 msi 主板

热门文章

  1. com/android/dx/command/main,com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0
  2. android驱动测试,Android: 通过 cucumber 驱动 monkey 做稳定性测试
  3. 一秒执行一次_《一秒钟》:一贯的粗旷式抓大放小,张艺谋的自命题作业总是要观众自己再做一遍...
  4. redis-full-check
  5. Shell脚本——入门
  6. 高性能MySQL(3)——创建高性能索引
  7. 优雅的redux异步中间件 redux-effect
  8. 响应数据传出(springMVC)
  9. Spring Data Redis实战之提供RedisTemplate
  10. JavaScript模态对话框类(拖拽时动画)