量子+AI:自然语言处理

导读

人工智能可分为深度学习、自然语言处理、计算机视觉、智能机器人、自动程序涉及、数据挖掘等六大领域。随着互联网的普计和社交网络的急速发展,自然语言相关数据海量增长。

量子计算机在自然语言处理方面也体现出算力优势,已有研究证明可通过量子算法深入地理解和分析文本数据,整体分析和理解文本数据的含义,相关的量子软件产品有如Quantinuum的量子自然语言处理团队发布的开源Python库和工具包lambeq、谷歌开源的TensorFlow Quantum、启科量子可对接AI框架的量子编程框架软件QuTrunk等。下文将主要介绍量子自然语言处理的相关研究。

1.量子计算与人工智能

在学科和理论层面,量子人工智能属于量子计算与人工智能的交叉学科。而在实际应用层面,量子计算与人工智能的融合发展碰撞能产生更广泛的应用。想法的碰撞可产生思维的火花,而科技的碰撞更可能加速时代进程。在人工智能领域,量子科技赋能AI技术。

人工智能可分为深度学习、自然语言处理、计算机视觉、智能机器人、自动程序涉计、数据挖掘等六大领域。其中机器学习、自然语言处理等研究火热,以下将简要介绍量子计算在机器学习和自然语言处理方面的应用与研究。

1.1量子计算与机器学习

机器学习(Machine Learning)是计算机科学与人工智能的重要分支领域,本质上就是让计算机在数据中学习规律,并根据所得到的规律对未来数据进行预测。机器学习包括如聚类、分类、决策树、贝叶斯、神经网络、深度学习等算法,其基本思路是模仿人类学习的行为过程。

人类学习行为的一般过程为对新问题进行经验归纳和总结,从而在遇到新问题时运用之前总结的规律预测未来。类比人类学习,机器学习是一种学习系统,可通过数据集训练过的计算机,对新数据进行基于一定信息的预测。

在机器学习中,机器学习的效率在很大程度上取决于它所提供的数据集,数据集的大小和丰富度也决定了结果的质量。量子计算能超越传统二进制编码系统扩大和丰富数据集,从而更好的训练机器学习模型,助力解决现实生活中的一些问题。量子计算则涉计使用亚原子粒子来实现量子比特,以期比传统计算机更快执行应用程序。机器学习的基本过程如下,即通过机器学习算法最终得出预测模型:

图为 机器学习过程

论文《Quantum advantage in learning from experiments》在Science杂志上发表,论文中研究人员描述在谷歌“悬铃木”Sycamore量子计算机上进行测试的理论和结果,认为量子计算机在处理某些学习任务时,比传统计算机速度优势更大。具体优势体现在量子机器可以通过数量更少的实验去学习,在证明物理系统特性、执行量子原理成分分析、学习物理动态学等方面都表现出巨大优势,而且所需要的量子资源在某些情况下相对适量。这一结果表明如今的量子处理器可能具有显著量子优势。

论文实验中研究人员构建了一个系统,并在谷歌“悬铃木”Sycamore量子计算机上进行测试。他们通过使用40个超导量子比特和1300个量子门进行实验,发现量子计算机学习所需的实验次数比经典计算系统要低四个数量级。并且这种优势在预测物理系统的性质、执行量子主成分分析和学习物理动力学方面均得到了展示,多维度证实了量子计算机在机器学习方面的优势。

1.2量子计算与自然语言处理

NLP也被称为自然语言处理(Natural Language Processing),即以自然语言为对象的计算机处理。自然语言(Natural language)指的是人类日常交流所使用的语言,与人类语言Human language同义。自然语言主要区别于形式语言Formal language,其中形式语言包括计算机语言。

随着互联网的普计和社交网络的急速发展,自然语言相关数据海量增长。相比于简单机械形式语言,自然语言显得尤为复杂具有诸多歧义,因而大大增加语言处理的难度。量子计算机在人工智能领域的另一项优势体现在自然语言处理方面,可通过量子算法更深入地理解和分析文本数据,整体分析和理解文本数据的含义。

自然语言处理诞生于利用计算机进行自动翻译的想法。研究者从破译密码中得到启示,认为不同语言只是对用一种语义进行不同的编码而已,从而采用译码技术“破译”这些语言。

>1954年1月7日,美国乔治大学和IBM公司合作翻译了超过60句俄语。尽管当时的机器翻译系统非常简单,仅包含6个语法规则和250个词,但媒体的报导促进了美国对自然语言处理的研究和投资。

>实验研究者简单的认为机器翻译只需要制定好各种翻译规则,将大量翻译规则进行堆砌便能轻松实现语言之间的随意切换和翻译。事实上,人类语言非常复杂多样,由于语言的复杂性给机器翻译的研究带了许多困难,对机器翻译的研究关注度和扶持力度也因此逐渐跌入谷底。

注:高清图可如下路径下载(原作者graykode):https://github.com/aialgorithm/AiPy/tree/master/Ai%E7%9F%A5%E8%AF%86%E5%9B%BE%E5%86%8C/Ai_Roadmap

直到二十世纪八十年代,随着电子计算机计算能力的飞速提升和制造成本的降低,研究领域又将视角重新转移到自然语言处理上来。最终通过研究发现大量的文本数据的自动学习和统计能更好地解决自然语言处理问题。自然语言的处理难度主要在于语言消除歧义问题。人类语言由于语言词汇和语法规则的有限性,以计长久以来积淀形成的语言文化,常常存在一种表达多重情感或者一种表达多种语义的情形。

单词界定问题就属于消除歧义在词法层面的任务,也是自然语言处理的困难之一。通常进行中文语义分析时,首先会确定词语之间的边界,通过计算机在词与词之间自动加上分隔符将中文文本切分为一个个独立的单词。准确划分词汇之间的边界也因此要求词汇库应该足够庞大,且词汇库应与的文本分析的内容在专业度上保持一致。除单词界定问题这一困难外,还有上下文知识、背景知识等的影响。

目前,自然语言处理主要有两种思路,分别为基于规则的理性主义和基于统计的经验主义。理性主义认为只需要找到适当的形式表示人类语言的规则就能实现语言之间的翻译等语言处理问题。经验主义认为通过统计语言数据建立起语言的统计模型。

两种思路都有各自的局限性,如理性主义方法鲁棒性差(所谓鲁棒性即系统在不确定性的扰动下,具有的保持某种性能不变的能力),只要稍微偏离语言规则就无法进行处理;如经验主义无法获取足够多的语言统计进行学习。作为新兴学科的自然语言处理虽发展尚未成熟,但也越来越成为网络时代的重要技术。

一家名为剑桥量子计算的初创企业曾在arxiv上发表论文《QNLP in Practice: Running Compositional Models of Meaning on a Quantum Computer》,该论文中的自然处理任务实验在IBM量子计算机上完成。研究人员首先创建了具有与量子电路自然映射关系的句子表示形式,然后在NISQ计算机上进行实验,使用了包含超过100个句子的数据集进行训练。最终结果证明,这些句子表示形式成功的训练并实现了两个NLP模型,可以解决基于量子硬件的简单句子分类任务。此外,研究人员还提出一个概念即量子自然语言处理QNLP(Quantum Natural Language Processing)。

1.3自然语言处理概念区分

要更清晰的认识和理解自然语言处理(NLP),需要区分计算语言学(Computational Linguistics, 即CL)、机器学习(Machine Learning, 即ML)等几个概念。

2.量子自然语言处理研究与实例

含噪声中等规模量子计算硬件系统上的量子计算在自然语言处理实践

量子计算在自然语言处理(NLP)方面具有潜在优势,论文《Grammar-Aware Question-Answering on Quantum Computers》研究首次在含噪声中等规模量子计算硬件系统(NISQ)上进行了第一个量子自然语言处理(QNLP)的实验,证明了量子计算在自然语言处理(NLP)方面的潜在优势。

自然语言处理(NLP)属于人工智能领域的前沿技术,也是最具挑战性的领域之一。与此同时,随着量子硬件的稳定发展和量子算法实现的显著改进,我们正步入一个由量子计算机执行经典计算即使使用足够的资源也无法完成的任务新的领域。这也为AI尤其是自然语言处理(NLP)带来了新的机遇。

早期的研究已经证明了量子计算在自然语言处理(NLP)方面的诸多潜在优势:(i)自然语言处理(NLP)的主要任务即相关搜索或任务分类的算法加速;(ii)指数级的量子状态空间适用于更复杂的语言结构;(iii)运用密度矩阵的新型意义模型自然地模拟了诸如下义关系和语言歧义等语言现象。论文研究首次在含噪声中等规模量子计算硬件系统(NISQ)上实现自然语言处理(NLP)任务。

通过将语句转化为参数化的量子线路,研究人员将词义编码为量子态,明确解释了即使在主流的自然语言处理(NLP)中也少见的语言结构并将其连接为量子纠缠操作。这使得量子自然语言处理(QNLP)的方法对含噪声中等规模量子计算硬件系统(NISQ)特别友好。未来随着量子硬件质量的提高,研究中的新型量子自然语言处理(QNLP)展现出可扩展性前景。

《Grammar-Aware Question-Answering on Quantum Computers》的研究过程:DisCoCat框架是第一篇关于量子自然语言处理(QNLP)研究中所采用的框架,是基于Lambek开发的预群语法代数模型,也是整个研究的核心。在本次研究中,研究人员采用PQCs范式,将量子DisCoCat引入到我们所处的含噪声中等规模量子计算(NISQ)时代。研究者认为可以合理的将DisCoCat称作“NISQ友好型”,因为DisCoCat允许执行重要语料库的概念验证实验,其中还包含复杂的语法结构。研究结果展示了第一个量子自然语言处理(QNLP)在含噪声中等规模量子计算硬件系统(NISQ)上的实验。研究首次在量子硬件上通过问答进行量子自然语言处理(QNLP)实验,使用了由语法句子到PQCs的结构保持映射构建的意义组合模型。

图为 “Romeo who loves Juliet dies”语法约简由非交叉CUP的嵌套模式生成,通过n型或s型线连接单词,s线为语法连接。

含噪声中等规模量子计算上对数据集规模≥ 100的句子进行自然语言处理的实验研究

研究首先创建了具有与量子电路自然映射关系的句子表示,然后在含噪声中等规模量子计算机(NISQ)上进行实验结果,使用了包含超过100个句子的数据集进行训练。结果证明这些表示成功训练并实现了两个NLP模型,可以解决基于量子硬件的简单句子分类任务。论文详细描述了实验的主要原理、过程计挑战,可为后续的量子自然语言处理(QNLP)实践提供参考。

论文研究方法的一般流程为从句子到其作为量子电路的表示的过程,模型在此基础上预测标签。由于DISCOCAT对语法敏感,因此第一步是获取与句子对应的语法树,然后在此基础上以图表形式创建DISCOCAT派生。为了避免量子硬件上的计算复杂化,首先需要对该图进行优化,以产生输入到ansatz,然后确定到量子电路的实际转换。量子编译器将后者转换为可在量子硬件上运行的硬件特定代码。

图为 量子自然语言处理的过程图

用于量子自然语言处理工具lambeq实践

Quantinuum由两家量子计算领域全球领先企业Honeywell Quantum Solutions和Cambridge Quantum合并而成。lambeq是Quantinuum的量子自然语言处理团队发布的开源Python库和工具包。论文《lambeq: An Efficient High-Level Python Library for Quantum NLP》介绍了第一个用于量子自然语言处理(QNLP)的高级Python库lambeq。

开源工具包提供了实现pipeline所有阶段的模块和类的详细层次结构,主要用于将句子转换为字符串、张量网络和量子电路,然后再应用到量子计算机上。lambeq支持句法分析、重写和简化字符串、ansatz的创建与操作,以计许多用于准备代表量子友好性的句子合成模型,这些句子使用了不同程度的语法敏感性。研究提出了通用架构并详细lambeq的重要模块,用示例演示了lambeq的用法。在实际测试中,使用lambeq对简单的自然语言处理任务进行大量实验,最终实现了经典和量子pipeline。lambeq执行过程大致分为四个步骤,例子如下:

图为 lambeq执行过程

步骤1:语句输入

给定一个句子,lambeq过程的第一部分是将其转换为字符串。为了获得类似DisCoCat的输出,首先需要使用ccg2disocate模块,该模块依次调用解析器获得句子的CCG派生,并将其转换为字符串。以下代码示例使用默认的DepCCG解析器为句子“John gave Mary a flower”生成DisCoCat图。通过扩展CCGParser类,可以为lambeq提供其他外部解析器,以创建封装必要调用的包装子类,并将相应解析器的输出转换为CCGTree格式。

步骤1.1 Using ccg2discocat

from lambeq.ccg2discocat import DepCCGParser
	#Parse the sentence and convert it into a string diagram
	depccg_parser = DepCCGParser ()
	diagram = depccg_parser.sentence2diagram ( ‘John gave Mary a flower’)
	diagram.draw ()

图为 DepCCG解析“John gave Mary a flower”生成的DisCoCat图

步骤1.2 SpidersReader and CupsReader

from lambeq.reader import cups_reader,spiders_reader
	sentence=‘John gave Mary a flower’
	# Create string diagrams based on spiders and cups reader
	spiders_diagram=spiders_reader.sentence2diagram (sentence)
	cups_diagram=cups_reader.sentence2diagram (sentence)
	spiders_diagram.draw ()
	cups_diagram.draw ()

步骤1.3 CCGBankParser

from lambeq . ccg2discocat import CCGBankParser
	# Replace path below with the root folder of CCGBank in your system .
	# The sections must be located in / data / AUTO
	parser = CCGBankParser (root = ‘/ ccgbank’)
	diagrams_section_00 = parser.section2diagrams (section_id=0)

步骤2:重写

预组形式的句法推导可能极其复杂,这会导致过度使用硬件资源而且训练时间也会加长。重写模块的目的是通过简化字符串的重写规则,为用户提供解决其中一些问题的方法。如设置介词重写规则,通过使用“cap”(∩)在介词张量内连接不连续的主语-名词。

from lambeq . ccg2discocat import DepCCGParser
	from lambeq . rewrite import Rewriter
	# Parse the sentence
	diagram = depccg_parser . sentence2diagram ( ‘John walks in the park’)
	# Apply rewrite rule for prepositional phrases
	rewriter = Rewriter ([ ‘prepositional_phrase’ ])
	rewritten_diagram = rewriter ( diagram )
	rewritten_diagram . draw ()

步骤3:生成量子电路

最后根据特定的参数化方案和ansätze的具体选择,可以将生成的字符串转换为具体的量子电路。lambeq具有一个可扩展的类层次结构,包含一系列预定义的ansätze,适用于经典和量子实验。

from lambeq . ccg2discocat import DepCCGParser
	from lambeq . circuit import IQPAnsatz
	from lambeq . core . types import AtomicType
	# Define atomic types
	N = AtomicType . NOUN
	S = AtomicType . SENTENCE
	# Get a string diagram
	depccg_parser = DepCCGParser ()
	diagram = depccg_parser . sentence2diagram ( ‘John walks in the park’)
	# Convert string diagram to quantum circuit
	ansatz = IQPAnsatz ({ N : 1 , S : 1} , n_layers =1)
	discopy_circuit = ansatz ( diagram )
	discopy_circuit . draw ()
	# Convert to tket form
	tket_circuit = discopy_circuit . to_tk ()

图为 以上代码操作生成的量子线路

3.总结

自然语言处理(NLP)主要可进行文本分类、情感分析、信息检索、语言检测与机器翻译、语音文本转换等多种任务处理,其应用包括上下文广告、电子邮件客户端(垃圾邮件过滤、智能回复)、社交媒体、搜索引擎、聊天机器人等多个方面。因此自然语言处理应用十分广泛。

随着社交网络信息数据的海量增长和智能时代的到来,自然语言处理(NLP)技术在日常网络事物中不可或缺。虽然科技领域的各种新兴概念层出不穷,但自二十世纪八十年代以来量子计算机从概念的提出到含噪声中等规模量子计算机时代的到来已有近四十年的历史。随着量子计算方面的研究与技术不断创新和突破,量子计算技术对自然语言处理技术的加持更加速AI行业的高速发展。

参考文献:

1.https://www.forbes.com/sites/forbesbusinessdevelopmentcouncil/2020/10/27/how-can-ai-and-quantum-computers-work-together/#46873fd06ad1

2.http://www.confidencenow.com/nlp-seduction.htm

3.https://arxiv.org/abs/2110.04236

4.https://mp.weixin.qq.com/s/ODsvt-Irw_QxyUo1Hh2syQ

展开阅读全文

页面更新:2024-03-17

标签:自然语言   量子   人工智能   句子   机器   过程   语言   硬件   计算机   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top