首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Wolfram语言设计的“素描”获得美国博物馆大奖

Wolfram语言设计的“素描”获得美国博物馆大奖

作者头像
WolframChina
发布2021-10-21 16:50:52
发布2021-10-21 16:50:52
6620
举报
文章被收录于专栏:WOLFRAMWOLFRAM

WOLFRAM 材料用于:

RISD博物馆(罗德岛设计学院)多纳奖

完整定义:绘制单词和定义之间的联系

公告:https : //risdmuseum.org/exhibitions-events/exhibitions/complete-definitions

展览:https : //publications.risdmuseum.org/complete-definitions

这是我在康奈尔大学获得天体物理学博士学位并于一年前进入艺术学校后的第一个大项目。这个作品获得了罗德岛设计学院的Dorner奖,可以在他们的博物馆网站上观看在线展览。(https://risdmuseum.org/exhibitions-events/exhibitions/complete-definitions)非常感谢罗德岛设计学院的学生和教师对这个项目给予的反馈。我还需要感谢Wolfram社区的所有支持和灵感,使Mathematica成为一个强大的艺术工具。

该项目有一个简单的摘要:选取您选择的任何单词并查找其定义,然后查找所有这些单词的定义,依此类推,直到您拥有可以完全定义该集合中所有其他单词的有限封闭单词集. 语言是有限的,定义重复单词,所以我知道这是可以做到的,但找不到关于此类数据集的任何研究。使用牛津英语词典 API 许可证,我能够构建这个程序,但很快就遇到了大量问题,例如:

- 如何处理具有多个定义的单词?

- 如何处理不同大小写和时态的单词?

- 如何处理罗马数字、数字、数学符号、温度和化学公式?

- 姓名、地名和其他专有名词呢?

- 有定义但在 OED 中没有自己定义的词怎么样?

- 你如何处理标点符号或词汇标记?

-如果美国定义使用英国的词,但没有在美国的字典定义怎么办?

我能够解决这些问题并创建一个生成器,将所有这些单词与其定义连接起来,以创建复杂的图表,以显示语言的连接性、复杂性和最终封闭性。代码很长,需要一步一步地完成,但我已经将所有内容包含在此处并附有注释。它需要一个牛津研究 API 作为速度限制,因此代码很慢,直到您建立一个您已经遇到的定义查找表。我发现无论您使用什么词作为种子词,在大约20 层之后,您最终会得到大约 7882 个词作为一个完整的集合。

视频链接https://youtu.be/qdsXDKxe8iY

图生成

查词功能

代码的主要功能是通过API或者coredefs查找表来查找单词。编写一个人工智能来理解和检测一个词是如何在句子中使用的,选择哪个定义是一个开放的研究领域,我没有走那条路,大多数定义混淆的错误修复都是通过尝试和错误来完成的。需要人工干预的主要领域有 4 个:多重定义、无法识别的派生词、缺少定义、正确和数学单词。像数字这样的事情可以用NumberQ[Interpreter[" SemanticNumber "],x] 来处理。每个单词的 JSON 文件包含一些可用于帮助定义棘手单词的信息。您可以检查该词的派生词,并在需要时切换到英国词典。通过这个设置,我能够得到一个封闭的单词集,当您跟踪每个条目的定义时,它是有意义的。

查看完整的单词列表时,这里有很多故事要讲。城市和国家来自哪里?为什么有这么多关于动物的话题?所有的化学式是什么?怎么这么快就提到耶稣了?还有一些关于字典是如何组合在一起的故事。例如,“‘primate”的第一个定义是基督教的宗教人物,而不是哺乳动物。我遇到的只有一个数学公式,-Log10[c],它出现在 ph 的定义中。

下面是查找函数输出的一些示例。找到并定义引理。

网络生成器功能

关联表的生成器在概念上很简单。我们获取种子词,查找它并将这些新词添加到列表中。跟踪新词、您已经定义的词和您还剩下的词,最终您会得到所有定义的词,这些词来自单个种子词。由于速度限制,使用 API 为每个单词执行此操作需要几个小时,但是一旦运行它,由于重叠,您可以使用您创建的定义列表在大约一分钟内运行不同的种子词。如果一个定义不在你的coredef查询表中,它将使用API。

对于这个项目,我想使用强调语言限制概念的种子词。我选择了具有很大价值的词,并且经常用作非常难以描述的事物的占位符。这些是我们经常使用的词,好像它们在语言之外有明确的定义,这个项目是为了提醒我们它们没有。

我使用种子词“含义”、“理性”、“知识”、“变化”、“道德”、“荒谬”、“价值”、“真实”和“本质”制作了图表。

在这一点上,我们有一个大文件,其中包含定义它们所需的单词和单词的关联,以及一些关于如何构建数据的有趣数据。增长率由第一定义的大小确定为一阶。

从网络生成器的示意输出

第一层包含种子词的定义,在这个例子中是“meaning”。

第二部分包含了这些词的定义。

第三层包含任何新单词的定义。仅显示前几个关联,这一层包含28个单词的定义。这个过程一直持续到没有新单词出现,20层,8万个关联。

渲染图

现在到了棘手的部分,让它可视化。从科学到艺术的一大挑战是对主观进行编码。这就是为什么Mathematica如此出色,它真的很容易快速探索和找到那些主观成功的时刻。

这些都是大型的图,项目的成功取决于Mathematica渲染和导出具有~8000个节点和~ 80000条边的图的能力。这需要花费一些精力来找到正确的方法,但GraphicsComplex能够完成这项工作。从生成器获得关联表之后,使用嵌入算法将其转换为点和线的列表。我一直想象星形嵌入模式,所以我首先做了,但发现了许多其他技术,强调数据的不同方面。矢量导出输出的单个PDF页面大约是40Mb,这听起来并不多,但对于单个页面的PDF,它是巨大的。我设法将pdf文件加载到Illustrator中,并能够调整栅格化的大小、线重和不透明度,最终得到了800Mb的tiff格式。您可以在这里查看详细的图片https://i.micr.io/BWRII/en/no1_meaning_42_50_600-tif/feature-tour/1

这是我几个月以来一直追求的图像。高分辨率版本的细节非常丰富,每一行都是微观和宏观故事的一部分。顶部的浓密阴影是数千行汇聚在诸如“of”、“a”和“or”之类的常见词上。围绕边缘形成的环描述了添加新词的速度。在直径的谐波处可以看到负空间的微妙白色环,因为线条交叉试图达到均匀的空间单词。每个单词都可以这样显示,但它们最真实的含义形式在我们的世界、文化和环境中的圈子之外,所有这些都通过了人类过滤器。高分辨率版本https://i.micr.io/BWRII/en/no1_meaning_42_50_600-tif/feature-tour/1

探索数据:嵌入类型的示例

首先按颜色分层(种子字):红色,第二:黄色,第三:绿色,第四:蓝色,第五:青色

下图显示了使用相同种子词的一些嵌入类型之间的差异。对于星形嵌入来说,差异是微妙的,每个种子单词都有它自己独特的单词出现顺序,因此模式是独特的。

气球嵌入细节。高清版本https://i.micr.io/qnumW/en/no2_knowledge_ 42_ 50_ 600-tif

无论您选择什么种子词,总有一组核心词出现。如果您使用一个非常常见的种子词,比如' or ',您可以很容易地找到这个集合,因为它总是出现在任何不太常见的词的完整定义中。在我的代码中,这个核心集有7882个单词,并且根据我在查找函数开始时手工处理硬编码的方式而有所不同。由于集合中的每个单词都是在集合中完全定义的,所以这个core中的所有单词也可以是种子单词,集合的大小不会改变。新的种子词可以被看作是这个核心的扰动,因为大多数的差异仅仅出现在第一个定义中,如果有的话。如果你对展览感兴趣,你可以在这里找到它。

https://publications.risdmuseum.org/complete-definitions。

如果您想看印刷品,我这里有一些。

https://jmadden.artstation.com/store/art_prints

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WOLFRAM 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档