读天才与算法:人脑与AI的数学思维笔记23_人工智能讲故事

2024-05-10 08:36

本文主要是介绍读天才与算法:人脑与AI的数学思维笔记23_人工智能讲故事,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 伟大的自动语法分析器

1.1. 思维呆板机械的阿道夫·奈普(Adolphe Knipe)一直想成为一名作家,可是他写出来的东西既迂腐又无趣

1.2. 后来,灵光乍现,他得到了一个启示:语言遵循语法规则,这规则的本质基本上就是数学

1.3. 在这样的认识下,他开始创造一个巨大的机器——“伟大的自动语法分析器”,它能够在15分钟内模仿在世的获奖作家,写出足以以假乱真的,甚至更好的作品

1.4. 奈普以他的“自动语法分析器”为要挟,威胁这些作家,让他们授权给自己使用他们的名字

1.5. 在故事的结尾,讲述者与自己的良知做斗争

2. 第一台通用型电子计算机

2.1. 最早为计算机编写的程序是用来写情书的

2.2. 图灵

2.2.1. 在布莱奇利公园破解了恩尼格玛密码机的密码后,就动身前往曼彻斯特大学,将他的想法付诸实践:打造一台真正的通用型电子计算机

2.2.1.1. 恩尼格玛密码机是对二战时期纳粹德国使用的一系列相似的转子机械加解密机器的统称,它包括许多不同的型号,为密码学对称加密算法的流加密

2.2.2. 在他的指导下,英国皇家学会计算实验室很快生产出了世界上第一台通用型电子计算机——Ferranti Mark 1

2.2.2.1. 这台计算机用于寻找新的素数,解决原子理论中的问题,以及用于早期的遗传基因研究
2.2.2.2. 也有人称世界上第一台通用型电子计算机是埃尼阿克(ENIAC)
2.2.2.2.1. 1946年2月14日,它诞生于美国宾夕法尼亚大学,研究人员于次日正式对外公布研发成功

2.2.3. 选择的随机性通过图灵创建的随机数生成器实现

3. 潜在文学工作室

3.1. Oulipo

3.1.1. 此名称取自法语“Ouvroir de littérature potentielle”

3.1.2. 意为“开发潜在的文学”

3.2. 利用算法生成文章并不是什么新鲜事

3.2.1. 20世纪60年代,一批作家和数学家聚集在法国,使用算法生成新的作品

3.3. 规则的约束是创意过程的重要组成部分。盲目地跟从每一种冲动所带来的灵感,实际上才是一种真正的奴役。通过对文学创作施加准数学的规则约束,你将获得一种新的自由。

3.3.1. 其创始人之一的雷蒙·格诺(Raymond Queneau)

3.3.1.1. 格诺创作出了文学版的“莫扎特骰子游戏”

3.4. 让·莱斯库尔(Jean Lescure)构思出来的“S+7模式”(也就是英语的“N+7模式”)

3.4.1. 这个组织最受欢迎的算法

3.4.2. “S”取自法语的“substantifs”,意为“实体的”,即名词

3.4.3. 该算法将任意一首诗作为输入,然后对诗中的所有名词进行操作,将其替换为该词在字典中所在位置向前或后移动7位的单词

3.5. 诗歌是一种特别适合应用算法的文体

3.5.1. 模式规则的约束性确定了一个模板,算法可以尝试以一种有意义的方式填充该模板

3.5.2. 算法的任务是选择与模式匹配的单词,同时尝试寻求某种形式以便使其整体连贯

3.5.3. 每当写诗需要押韵时,押韵词数据库是超级有用的

3.5.4. 通过控制押韵和限制节奏来编织一行诗,这对于计算机来说完全不是什么事儿

3.5.5. “控制论诗人”(Cybernetic Poet)算法代码背后的基本原理

4. 控制论诗人

4.1. Cybernetic Poet

4.2. 是未来主义作家雷·库兹韦尔(Ray Kurzweil)的最新作品,他经常撰写关于即将到来的“人与机器相互融合”的文章

4.3. 训练他的“控制论诗人”学习像雪莱和艾略特这样有成就的诗人的作品

4.4. “控制论诗人”能够在大多数情况下骗过人类评委

4.4.1. 在一定程度上是因为,精辟的作品是现代诗歌的一部分,现代诗歌留下大量解读的工作给读者去做

4.4.2. 算法生成高深莫测的诗作足以以假乱真

4.5. “控制论诗人”可能在创作足以以假乱真的诗歌方面做得很好,但要创造一个“控制论小说家”所要面对的挑战则难得多

5. 全国小说生成月

5.1. National Novel Writing Month

5.1.1. 全国小说写作月

5.2. 莱斯库尔想将算法作为写作现代文的一个工具来使用,所以他组织了“全国小说生成月”(National Novel Generation Month,NaNoGenMo)活动,并成功吸引了众多的程序员参加

5.3. 软件开发员兼艺术家达莱厄斯·卡泽米(Darius Kazemi)觉得,与其每天绞尽脑汁才只能写出1667个单词,还不如花一个月的时间写代码,然后瞬间生成一部5万字的小说

5.3.1. 2013年,他在Twitter上发布了他的想法,同时发起了每年一次的“年度编程文学马拉松”(Annual Literary Hackathon)大赛

5.4. 参与NaNoGenMo活动的程序员大多数采用“扰动”现有文学作品的思路生成小说

5.4.1. 借助“Twitter过滤器”改写《傲慢与偏见》

5.4.2. 利用“科幻算法”重新演绎小说《白鲸》

5.4.3. 通过代码重新诠释古斯塔夫斯·辛德曼·米勒(Gustavus Hindman Miller)的经典作品《一万个梦》

5.5. 一部构思非常大胆的作品《探索者》(seeker)引起了人们的广泛关注

5.5.1. 生成此小说的算法通过阅读wikiHow上的文章,努力理解人类的大脑如何“运转”

5.5.1.1. wikiHow
5.5.1.1.1. 该网站旨在建立全世界最大的最高质量的指导手册数据库
5.5.1.1.2. 无论你想做什么,该网站拥有的多语种指导手册都可以为你提供免费的逐步指导

5.5.2. 该算法的元代码被划分为操作、浏览、联想、再现四个环节

5.5.2.1. 在操作环节,程序阅读某文章并将其中涉及人类活动的概念剔除
5.5.2.2. 其以上一环节得到的“种子概念”为基础,搜索纯文本的“记忆”,然后以浏览模式中无法识别的概念(已删除的记录),围绕“种子概念”进行“不可见”的联想

5.5.3. 《探索者》几乎可以说是成功的:你会感觉自己开始进入机器的“大脑”,因为它试图去理解人类

5.5.3.1. 理解一种全新的意识形态,并发现其与人类自我意识的不同之处

5.5.4. 《探索者》在探索wikiHow数据库的过程中,也记录了算法的发现之旅:从无知到某种表象程度上的理解

5.5.4.1. 它浏览的第一个“如何……”的页面是“如何让女孩提出与你约会”。其从中获得一个种子概念——“伤害”,涉及怎样做才能不伤害到一个女孩的感情
5.5.4.2. 之后算法围绕着“伤害”展开联想,即兴生成了超现实主义的文字段落

5.6. 如果算法不能生成伟大的文学作品,或许它们可以生成肯·福莱特所写的商业图书,甚至是算法版的《五十度灰》(Fifty Shades of Grey)

5.6.1. 对于算法的商业用途而言,可以战胜《拯救灰姑娘》(Mills&Boon Romance)或丹·布朗(Dan Brown)的冒险小说就已经足够好了

5.7. 畅销书的读者更喜欢:短小精悍的句子,强而有力的具有推动性的语言,以对话形式进行的叙事方式以及浅显易懂的用词

5.7.1. 组稿编辑朱迪·阿彻(Jodie Archer)和数据分析师马修·乔克斯(Matthew Jockers)合作编写的算法,可以判断出一本书能否成为畅销书

这篇关于读天才与算法:人脑与AI的数学思维笔记23_人工智能讲故事的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/975963

相关文章

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为