DAOrayaki DAO研究奖金池:
资助地址: DAOrayaki.eth
投票进展:DAO Reviewer 1/0 通 过
赏金总量:40 USD
研究种类:Quantum Computing, QNLP
原文作者: Peter Cooper
创作者:HTseaaat@DAOrayaki.org
审核者:Heyyawn@DAOrayaki.org
原文: An introduction to Quantum Natural Language Processing

量子自然语言处理简介
作者:Amin Karamlou, Marcel Pfaffhauser, and James Wootton
本文将讨论如何使用IBM量子计算机来生成自然语言和音乐。我们已经制作了Python手册,用于生成本篇文章中作为示例使用的音乐作品,可以在GitHub库[1]中找到。欢迎使用它们来生成你自己的作品,会很有趣!我们会用通俗的语句解释这些技术,但你可以查看我们的论文[2]以了解更多细节。你也可以在这里[3]观看我们在2022年量子自然语言处理会议上的演讲录音。
我们将涉及的大部分内容都与自然语言生成(NLG)有关,这是一个程序化生成和自然语言处理(NLP)交叉的主题。在我们深入了解我们的工作细节之前,有必要讨论一下这些领域的内容(我们以后还会提及:但这只是一个概念的证明)。
如果你想了解更多关于QNLP的信息,你可以观看Qiskit研讨会系列中的讲座:https://www.youtube.com/watch?v=pFc2PmxVMt8
什么是程序化生成?
程序化生成是计算机科学的一个广泛领域,它专注于利用计算机的算法生成内容。生成的内容可以是任何东西,从视频游戏中使用的大型地图,到电影中使用的CGI军队,甚至是AI生成的艺术作品。

量子计算机已经成功地应用于一些程序化生成任务,包括图像处理和地缘政治地图的创建。这两个主题都有自己的博文,由我们的合作者James Wootton博士撰写,可在这里[4]和这里[5]查阅。

程序化生成的另一个重要例子是文本内容的生成,这也将是本篇博文的重点。文本生成具有广泛的应用——例如,在视频游戏中为非游戏角色创建更自然的对话,或在新闻报道中自动生成新闻文章。
我们将要描述的新量子算法执行句子生成的任务。更确切地说,它把一个主题作为输入,并将一个该主题的短句作为输出。我们还将讨论这个算法的一个变体如何应用于音乐生成。
什么是NLP?
NLP是一个包含语言学、计算机科学和人工智能元素的研究领域,主要研究计算机和人类语言之间的交互。宽泛地说,NLP的目标是使计算机能够以与人类相同的方式理解文本和口语。NLP有无数的使用案例,如机器翻译、文本总结、聊天机器人创建和垃圾邮件检测。
最近,人们对NLP创建量子算法的兴趣,催生了一个新的研究领域,即量子自然语言处理(QNLP)。我们的量子语句生成算法建立在早期用于语句分类的量子算法之上,其目标是对给定句子的主题进行分类。由于这个原因,在我们谈论我们的算法之前,我们必须先了解一下QNLP的基本知识。关于QNLP的更多细节,你可以参考这里[6]和这里[7]的另外两篇博文。
QNLP基础知识
如果我们想在量子计算机上处理语言,第一个任务就是用一个合适的计算模型表示句子。在QNLP中,语言意义的分布式组合分类(DisCoCat)模型用于此目的。这是因为DisCoCat允许不仅根据句子的单词,而且根据它们的语法关系来描述句子的意义。这与一些旧模型相比是一个优势,这些旧模型将句子视为一组无序单词,而忽略了它们的语法结构。
DisCoCat允许借助所谓的线形图以图形方式表示任何句子。在这些图中,方框表示单词,而电线则根据前组语法的形式连接这些方框。电线是由类型来注释的,例如“s”代表整个句子,“n”代表名词。如果一个字母后面有“.l”或“.r”,这表示该类型的元素应该在左边(l)或右边(r)。

让我们以 "爱丽丝生成语言 "这个句子的图示为例,其图示可以在上图中看到。我们对这个图的解读如下。"生成 "这个词希望左边有一个名词,右边有一个名词。由于它提供了这两个名词(爱丽丝和语言),所以图中只有一个开放的 "s "电线,这表明整个句子在语法上是正确的。
事实证明,线形图也可以用来推理量子信息和量子计算。我们不会详细讨论这部分内容,但如果你有兴趣,这里[8]有一本关于这个主题的精彩书籍。为了我们的目的,只需说明这种连接意味着任何DiscoCat图(以及任何句子)都可以转化为参数化的量子电路,其输出编码该句子的含义。这个概念一开始可能有点隐晦,所以让我们试着通过讨论语句分类来理解它的含义。

语句分类
正如我们已经提到的,我们的量子语句生成算法建立在现有用于语句分类的量子算法之上。我们现在简要地概述一下这个算法的主要步骤。你可以在这里[9]读到更多的细节。
- 首先,将一组句子的语料库注释为属于几个可能的主题。例如,如果这些句子是新闻头条,那么主题可以是“体育”、“政治”、“技术”和“娱乐”。
- 将每个句子转换成其相应的参数化量子电路。这可以在QNLP的新Python库的帮助下完成,该Python库叫Lambeq[10]。请注意,如果不同的电路共享单词,它们将共享参数。测量一个电路会返回一串比特,其对应于可能的主题之一。在我们的新闻标题的例子中,我们可能有比特串“00”对应于 "体育",而比特串“01”、“10”、“11”,分别对应于“政治”、“技术”和“娱乐”。
- 我们使用经典机器学习技术来寻找最佳参数,使每个量子电路的测量比特串尽可能地与该句子的注释主题相对应。例如,如果我们测量与“皇家马德里赢得冠军联赛”这句话相对应的电路,我们希望得到与“体育”相对应的结果“00”。
- 最后,给定一个不属于初始训练语料库的新句子,我们可以把它的主题分类如下:
- 用Lambeq生成相应的参数化量子电路。
- 使用步骤3中找到的最佳参数测量参数化的量子电路。
- 输出与测量的比特串相对应的主题。
语句生成
现在我们终于可以解释我们的语句生成算法了。该算法的工作原理是将句子生成视为一个组合优化问题。这意味着它的工作原理是在所有可能句子的搜索空间中搜索具有正确主题的句子。
让我们来解释一下这个算法的一些细节。我们首先假设我们已经用上一节中描述的技术训练了一个语句分类器。利用这一点,我们可以创建一个生成算法,将这个语句分类器所训练的主题之一作为输入,并将带有该主题的句子作为输出返回。例如,在我们的新闻标题例子中,我们可以要求该算法生成,比如说,一个“体育”标题。然后,该算法将进行如下操作:
- 生成一个随机的初始候选句。例如生成“约翰逊继续执行新政策”这个句子。让我们把这个句子称为C。
- 利用Lambeq创建对应于C的参数化量子电路。
- 用步骤1中得到的最佳参数多次运行该电路。记录输出的比特串对应于正确主题的运行百分比。我们把这个值称为P(C)。因此,如果我们运行电路100000次,观察到比特串“00”对应于“体育”12000次,那么P(C)=12%。
- 当P(C)值小于某个阈值时,例如90%,在一个循环中执行以下操作:
- 通过在C中插入一个新的随机词、从C中删除一个随机词或用一个新的随机词替换C中的一个随机词,生成一个名为C'的C的“邻接”句。
- 如果P(C')>P(C),那么设C=C'。

我们上面描述的算法是一种众所周知的解决组合优化问题的技术的变体,称为爬山(hill climbing)。我们在论文中描述的实际算法是一种略微复杂的技术,称为模拟退火(simulated annealing),但主要思想是非常相似的。
下面的图片显示了我们的生成算法的一个运行实例,该算法最终输出的句子是“阿森纳继续赢”。

正如你所看到的,我们不一定要求找到最佳的句子,但只需要找到一个足够好的句子。这一点很重要,以确保我们不会总是产生完全相同的句子。
音乐生成
就像句子是由并排的单词组成的一样,音乐作品可以看作是一连串的音乐片段,彼此相邻而置。下面是其中一个片段的例子:

正如你所看到的,每个片段本身由音符组成,类似于一个单词是由属于字母表的字母组成的。这种相似性最近被用于这里[11]的一篇论文中,以创建音乐版的DisCoCat框架,其中线形图用来形象地表示短的片段组成长的音乐作品。例如,下面的图表示一个由4个片段p4, p9, p7, p5组成的音乐作品。

整个构图看上去是这样的:

现在,让我们通过一个示例来展示我们之前描述的句子算法如何改编并用于生成音乐作品:
首先,我们使用与语句分类非常相似的技术来创建一个音乐分类器。我们在一个由100首注释为有节奏或有旋律的音乐作品组成的语料库上训练这个分类器。这个语料库取自Quanthoven[12]的GitHub库。因此,给定一个有节奏或有旋律的音乐作品,我们的分类器应该能够区分它属于这两个类别中的哪一类。
我们的音乐生成算法现在可以有与先前的语句生成算法类似的定义。如果我们要求该算法生成一个有节奏的音乐作品,它的过程如下:
- 生成一个随机的初始候选音乐作品。我们把这个作品称为C。
- 利用Lambeq创建对应于C的参数化量子电路。
- 这个电路用我们的音乐分类器的最佳参数运行了多次。记录输出的比特串对应于正确主题的运行百分比。我们把这个值称为P(C)。
- 当值P(C)小于某个阈值时,在一个循环中执行以下操作:
- 通过在C中插入一个新的随机片段、从C中删除一个随机片段或用一个新的随机片段替换C中的一个随机片段,生成一个名为C'的C的“邻接”组合。
- 如果P(C')>P(C),那么设C=C'。
让我们看一个实际的例子,我们要求我们的音乐生成算法创造一段有节奏的音乐。这个例子的Python手册可以在这[13]里找到。
这里给出了计算机生成的随机初始组成的记录:
https://soundcloud.com/qnlg/checkpoint-0?utm_source=clipboard&utm_campaign=wtshare&utm_medium=widget&utm_content=https%253A%252F%252Fsoundcloud.com%252Fqnlg%252Fcheckpoint-0
如果你听过这段录音,很明显,这个作品的旋律性远远大于节奏性。因此,我们的算法将不断用更好的相邻作品替换它,直到找到一个有节奏的作品。经过7次迭代后,候选作品就在这里:
https://soundcloud.com/qnlg/checkpoint-7?utm_source=clipboard&utm_campaign=wtshare&utm_medium=widget&utm_content=https%253A%252F%252Fsoundcloud.com%252Fqnlg%252Fcheckpoint-7
虽然这是一个明显更有节奏感的作品,但仍有某些片段感觉旋律性比重更大。因此,我们的算法继续寻找更好的作品。
最后,在36轮之后,该算法找到了以下作品:
https://soundcloud.com/qnlg/checkpoint-36?utm_source=clipboard&utm_campaign=wtshare&utm_medium=widget&utm_content=https%253A%252F%252Fsoundcloud.com%252Fqnlg%252Fcheckpoint-36
这个作品节奏感非常好,因此其作为我们音乐生成程序的输出返回。
总结
本文谈到了一些算法,这些算法可以让你在量子计算机上生成语句和简短的音乐作品,并且这些算法现在就可以使用。不要犹豫了,快去试试吧!
量子优势指的是量子算法比经典算法更快地解决问题的能力。我们今天讨论的算法非常简单,只应该被看作是概念证明的例子,即使在今天的小型和充满噪声的量子计算机上也可以进行语言和音乐生成。我们绝不声称它们可以超越最先进的经典技术——因此,它们并没有表现出任何量子优势。然而,随着像IBM这样的公司建造更强大的量子计算机,我们很自然地会问,是否有一天我们可以找到生成语言和音乐的量子算法,其性能可以超过经典技术。这是一个迷人的开放性问题,目前还没有一个明确的答案。
参考
- https://github.com/AminKaramlou/QNLG/
- https://arxiv.org/abs/2211.00727
- https://youtu.be/mJSjAePB0Eo
- https://medium.com/qiskit/introducing-procedural-generation-using-quantum-computation-956e67603d95
- https://medium.com/qiskit/introducing-a-quantum-procedure-for-map-generation-eb6663a3f13d
- https://medium.com/cambridge-quantum-computing/quantum-natural-language-processing-748d6f27b31d
- https://medium.com/cambridge-quantum-computing/quantum-natural-language-processing-ii-6b6a44b319b2
- https://www.cambridge.org/core/books/picturing-quantum-processes/1119568B3101F3A685BE832FEEC53E52
- https://arxiv.org/abs/2102.12846
- https://github.com/CQCL/lambeq
- https://arxiv.org/abs/2111.06741
- https://github.com/CQCL/Quanthoven
- https://github.com/AminKaramlou/QNLG/blob/main/music/music_gen.ipynb
通过 DAO,研究组织和媒体可以打破地域的限制,以社区的方式资助和生产内容。DAOrayaki将会通过DAO的形式,构建一个代表社区意志并由社区控制的功能齐全的去中心化媒体。欢迎通过文末方式提交与DAO、量子计算、星际移民、DA相关的内容,瓜分10000USDC赏金池!欢迎加入DAOrayaki社区,了解去中心化自治组织(DAO),探讨最新话题!
Media:https://media.daorayaki.org
Discord server: https://discord.gg/wNUPmsGsa4
Medium: https://medium.com/@daorayaki
Email: daorayaki@dorafactory.org
Twitter: @daorayaki_
微信助手:DAOrayaki-Media
小宇宙:DAOrayaki

详情请参考:
Dora Factory支持去中心化DAO研究组织DAOrayaki
DAOrayaki |DAOrayaki 开启去中心化治理2.0时代
DAOrayaki |风险投资的范式转移:无限主义基金和无限游戏
DAOrayaki |DAOrayaki dGov 模型:基于Futarchy的正和游戏
更多关于DAO的文章,关注Dorafactory,查看往期文章。