人工智能技术与语言学理论
目前,人工智能已成为新一轮科技革命和产业变革的重要驱动力量。在这种背景下,如何进一步介绍和从事人工智能与语言学的交叉研究,是亟待思考和解决的重要问题。
人工智能是计算机学科的一个分支,也是一门边沿学科,属于自然科学、社会科学、技术科学三向交叉学科。人工智能从上世纪五十年代诞生起就表现出了极强的生命力,它在上世纪八十年代后期得益于计算机软硬件发展的日新月异而得到迅猛发展。人工智能作为当下科技领域最热门的技术,吸引了众多行内和行外人士的关注;它也已渗透进学术领域,正以各种方式玩转学术界。目前,人工智能技术包括大数据、计算机视觉、语音识别、自然语言处理、机器学习五大部分。人工智能技术主要是建设在机器学习的基础上,而机器学习除了先进的算法和硬件运算能力,还需要大数据。
人工智能,是一种对人类智能现象的模拟,其中包括对人类思维过程的模拟;它涉及到计算机科学、心理学、语言学和哲学等学科。人工智能的发展似乎并不遵循由低级到高级的进化过程,而是会在一些“点”上,也就是某单一维度上突然变得比人类“聪明”很多。人类智能是综合多维的,或许我们的学习、记忆、信息搜索、决策、判断或者加工能力并不是最了不起的,AlphaGo已经证明,我们人类在这些方面可能不如深度学习后产生的人工智能。
语言学,顾名思义,是研究自然语言(即人们日常使用的语言)的学科。但是语言学不是指学习某一门或几门具体的语言过程。语言学的任务是研究、描写语言的结构、功能及其历史发展,揭示语言的本质,探索语言的共同规律。因为只有人类有语言、使用有声语言进行交际,因此通过语言研究,可以更加清楚地了解人类在世界或宇宙中的位置,从而更加透彻地理解人类的本质。语言是人区别与万物的重要标准,机器理解人的语言是人工智能最后一个挑战,也是最难的一个挑战。可以说,自然语言是人类智能的最高层的抽象表达。
语言学作为研究自然语言的科学,它的历史非常古老;人类最早的语言研究是从解释古代文献开始的,是为了研究哲学、历史和文学而研究语言的。而人类的多种智能都与语言有着密切的关系;语言是人类特有的沟通方式,在生物或心理层面上反映人类高度演化的心智能力,在社会文化层面上反映人类文明进步。语言学就是要研究人类最核心本能的语言能力,透过对口语、书面语甚至手语进行分析和研究,进而了解人类的本质。除了认识人类的本质外,语言学研究还具有多种应用价值。
人的思维过程可以理解为符号处理的计算过程;人类的语言理解过程也可以理解为是一种在知识表示上的计算过程,这使得计算机理解自然语言在技术上具有可能性。因此,对语言的认知研究的自然延伸便是对语言的计算分析。可以说,对语言有处理能力是人工智能的一种高级表现形式。虽然语言学与人工智能有重要的区别,但它们的研究有着密切的联系;它们相互促进,共同发展。从理论与应用的角度看,语言学目前至少有以下几个分支学科与人工智能有关。
计算语言学
计算语言学是植根于计算机科学、语言学和数学等多学科沃土而成长起来的一门新兴学科。它通过建立形式化的数学模型,来分析、处理自然语言,并在计算机上用程序来实现分析和处理的过程,从而达到以机器来模拟人的部分乃至全部语言能力的目的。它的项目有统计资料,检索情报,研究词法、句法,识别文字,合成语音,编制机助教学程序,进行机助翻译等。拥有对语言的感悟和理解是语言计算的基础,语言与思维的密切联系,语言的变化性、变异性、内省性等都不为人们所把握和确知。计算语言学的主要目的为借助计算机科学、统计学领域中的模型与算法,解决语言学中的问题。
自然语言处理(NLP)是计算语言学的一个重要研究课题,它主要研究如何利用计算机来理解和生成自然语言。实现人机间自然语言通信意味着要使计算机既能理解自然语言文本的意义,也能以自然语言文本来表达给定的意图、思想等。前者称为自然语言理解,后者称为自然语言生成。自然语言处理的目的是高效的可用于处理自然语言的算法,但实现自然语言理解和自然语言生成是十分困难的,造成困难的根本原因是自然语言文本和对话的各个层次上广泛存在的各种各样的歧义性或多义性。
认知语言学
认知语言学主要是在认知科学的理论背景下建立起来的,同时两者之间亦有同步发展、相辅相成的关系。认知科学既推动了认知语言学的发展,成为后者的主要理论基础,同时也汲取了认知语言学的研究成果,认知语言学成为认知科学的主要组成部分之一。因此,不少学者将认知语言学视为认知科学的一个分支,把它作为是认知研究和语言学的边缘学科。认知语言学的特点是把人们的日常经验看成是语言使用的基础,着重阐释语言和一般认知能力之间密不可分的联系。
认知语言学涉及人工智能、语言学、心理学、系统论等多种学科,它针对生成语言学,提出:语言的创建、学习及运用,从基本上都必须能够透过人类的认知而加以解释,因为认知能力是人类知识的根本。认知语言学对于构建人工智能的操作系统来说是一种指导思想。我们可以想象未来我们对人工智能的交互不是再用一行行命令,而更像是人与人之间的交流;这就要求人工智能必须具备语言能力。另外,语言也具有指导认知和思维的作用。由此可见认知语言学对于人工智能的重要性。
老年语言学
老年语言学,顾名思义,就是研究老年人语言问题的学科。它主要研究老年人运用的语言系统的性质、结构及其变化规律和言语交往问题。研究的基本内容包括老年语音、音位、词汇、语法、修辞、文字等和老年人语言风格的灵活性、阅读技能障碍以及双语老人第二语言的丧失等。在应用上,老年语言学还包括外语学习与成功老龄、老年看护沟通、临终关怀与丧慰等方面。伴随着年龄的增长,老龄人群会出现语言衰退、甚至语言障碍现象,老年语言学研究及其应用正日益受到关注。
老年语言学研究具有跨学科属性,涉及语言学、认知科学与脑科学等多个领域,也与人工智能密切相关。正常老年人及罹患神经退行性疾病老年人语言能力衰退的神经机制、疾病病理、治疗康复等问题,属于从分子、细胞及行为水平研究人脑机理的脑科学范畴;语言与感知、记忆、思维、情感、意识等紧密相关,言语理解与产出研究及言语治疗等问题,属于认知科学范畴;如何利用现代科技,对人脑的语言功能进行模仿,对语言能力衰退及其干预进行辅助,属于人工智能研究及应用范畴。
由上可见,人工智能和语言学是两个相互独立却又密切相关的研究领域。人工智能技术的发展,需将语言学理论的研究成果运用到人机对话的设计中,使机器理解“寒暄”、“安抚”甚至是“讽刺”、“幽默”这样的言语修辞行为,让机器真正读懂人类语言的复杂语义,以及背后的意图和情感,然后给予用户拟人的反馈,从而达到更好的人机自然语言交互效果。同样,人工智能也必将改变语言学研究的发展方向。传统的重理论分析而轻实例,坐着想句子的研究方法将逐渐退出舞台;真实语料、口语和书面语并重,侧重对语言形态进行统计分析的研究将大量涌现。
最后一提,我国语言学界对人工智能与语言学的交叉研究已有介绍,如著名学者王宗炎教授在《略谈美国人工智能研究的新发展》(《国外语言学》1981年第3期)一文中最早对国外学界如何进行语言学与人工智能的研究作了介绍。另一位著名学者伍铁平教授在《语言学是一门领先的科学》(北京语言学院出版社,1994年3月出版)一书中提到了语言学与人工智能的研究。这两位学术先贤为我国语言学界从事这方面研究提供了有用的信息和有益的帮助。
(作者单位:澳门大学人文学院)
责编:微科普
上一篇:自然语言处理的过去、现在与未来
下一篇:返回列表
人工智能技术与语言学理论 | 责任编辑:微科普微博微信QQ空间分享到:人工智能涉及的学科
人工智能涉及的学科人工智能涉及哪些学科?计算机类自动化类数学专业领域类心理学和哲学学习人工智能为什么要会心理学知识?哲学和人工智能有什么关系?其他人工智能涉及哪些学科?人工智能相关学科有很多,看看你的知识储备够不够!需要补充哪些方面?
计算机类首先,人工智能是计算机科学中的一个分支,所以对应的计算机科学、计算机基础知识、编程语言、互联网知识、物联网知识、软件工程、信息安全等是必备的。
自动化类其次,人工智能的目标是实现辅助人类智慧、部分代替人类智能、扩展人类智能,所以还会涉及自动化、机器学习、智能科学与技术、空间信息与数字技术、电子与计算机工程、信息与计算科学。
数学然后,人工智能需要处理大量的数据,所以数学和逻辑思维也很重要,高数、数学与应用数学、信息与计算科学、数理基础科学、数据科学与大数据技术等。
专业领域类另外,除了一些通用的学科,面对不同的领域,还要学习不同的学科,如:通信工程、信息工程、水声工程、电子信息工程、微电子科学与工程、光电信息科学与工程、自然语言处理、电磁度场与无线技术、电子信息科学与技术、电波传播与天线、集成电路设计与集成系统、轨道交通信号与控制。
心理学和哲学除了计算机知识,心理学和哲学也是必学的学科。
学习人工智能为什么要会心理学知识?试想一下人工智能模仿的是人类的什么?是人类的智慧。人类的智慧由什么产生?人的思想、知识、记忆、创造力。而这一切皆由人的大脑控制。而心理学其实是大脑活动后的一种产物,所以要想让一台计算机真正拥有人类智慧,必须了解人类的心理活动和思考方式。与其说人工智能是在模仿人类智慧,不如说人工智能是在模仿人类思维。只有当人工智能可以像人类一样思考、分析问题、拥有人类的喜怒哀乐,才能算得上是真正的人工智能。
哲学和人工智能有什么关系?说到人工智能中的哲学问题,不得不提著名的图灵测试。图灵测试是由阿兰·麦席森·图灵在1950年的一篇论文《计算机器与智能》中提出的。图灵是英国著名的数学家和逻辑学家,被称为计算机科学之父、人工智能之父,是计算机逻辑的奠基者。图灵测试说的是,一个人和一台机器,在人类不知道对面是机器的情况下对他提问,以此来判断对面的是人类还是机器。进行多次测试后,如果机器让平均每个参与者做出超过30%的误判,那么这台机器就通过了测试,并被认为具有人类智能。从哲学层面来说,如果一台机器通过了图灵测试,那么它真的能被称之为和人类一样有智慧吗?判定一台机器有智慧的标准或者说是界限到底是什么?在实际应用中,哲学在人工智能上也起到了很多决定性的作用。比如一台人工智能机器,在面对文化、信仰、法律都不同的日本人和阿拉伯人,一个可能说这台机器非常智能,一个可能说并不智能,达不到想要的、或做的不对。那么这时,这台机器能不能被称之为是一台人工智能机器?在人工智能发展上,有很多关于类似的哲学问题。仅仅是“智能”二字,在哲学上都有很多的争议。比如,智能的含义到底要怎么去定义?达到什么样的界定才能称之为智能?在这里,我给自己留一个作业,等以后我积累了更多的知识,再和大家讨论关于“人工智能与哲学之间的关系”的问题。
其他除了上面提到的学科,还有认知科学、神经生理学、信息论、控制论、不定性论等。因为人工智能属于跨学科的技术,所以想要学习人工智能,不仅要知道人工智能的基本知识,还要确定研究的方向,朝着既定的目标前进,才不至于在人工智能的学习道路上走岔了。
适合人工智能的九大编程语言
人工智能如今改变了几乎每个行业的运作方式。企业在开始实施一个项目之前,需要详细了解适合人工智能的编程语言。
人工智能这一术语起源于20世纪中叶,尽管有了多年的发展,但在过去的十年才被开发人员将人工智能技术用在应用程序的开发中。
编程语言是人工智能开发项目的支柱,因为它们可以帮助软件开发人员创建创新的人工智能解决方案,而无需学习专业人士用来相互交流的高度专业化的语言。
人工智能开发者
本文将介绍一些最适合人工智能的编程语言,以及它们的重要性。
以下是一些适合人工智能的优秀编程语言:
1.PythonPython非常适合人工智能,因为它具有强大的数据科学和机器学习的能力。它的计算优雅性和可读性使其成为数据科学家的首选,他们可以使用它来分析甚至大量复杂的数据集,而不必担心计算速度。
Python拥有大量与人工智能相关的软件包列表,例如PyBrain、NeuralTalk2和PyTorch。虽然TensorFlow现在比PyTorch使用更广泛,但由于其最近发布的独特功能,它的普及率可能会在几年内与PyTorch相同。
除了用于深度学习网络的GPU加速之外,这些还包括可变精度。其最新版本还为用户提供多设备支持。最终,Python比C++或Java更容易学习,因此也会受到初学者的青睐。它也是专业人士使用的最流行的语言之一。
由于开发人员不断添加新库或升级现有库,因此它在开发方面并不落后于其他语言;通常情况下,他们在从事专业项目的同时为企业带来一些优势。
此外,假设用户已经了解C++或Java,但不太熟悉神经网络或深度学习方法。在这种情况下,由于仅Numpy库中就有830多个类,可以轻松选择所需的内容。
将Python用于人工智能的好处:
Python有许多可用的库,可通过机器学习简化编程。
如果正在从事基于人工智能的项目,很可能已经有一个Python库可以满足需求。
如果是初级开发人员,很有可能选择学习Python,因为它比大多数编程语言更容易学习。
它有一个强大的机器学习框架,名称为PyBrain,并拥有一个活跃的用户社区,可以提出问题并获得帮助。
2.RR是一种开源编程语言,支持统计分析和科学计算。R编程语言证明有助于生成交互式图形和其他高级可视化。它的设计可以处理所有类型的数据分析,从简单的线性回归到复杂的3D模拟。任何人都可以使用R。
作为一种编程语言,R的设计从统计计算到机器学习技术。R具有面向对象编程、高度可扩展性、内存高效的不间断计算、全面的功能、庞大的用户群,被广泛用于预测。
将R用于人工智能的好处:
R的计算能力在处理大量数据时是个例外。
在创建具有复杂决策过程的程序时,它还具有应用数学函数的能力。
关于性能,可以使用像R这样的开源工具获得更好的结果,因为它不需要许可费用。
它还擅长在大数据集中寻找模式,因此受到一些企业的欢迎,因为他们希望分析客户信息以进行营销或识别运营中的重大风险。
3.JavaJava被认为是当今最受欢迎的编程语言之一。凭借其面向对象的特性,Java可以让用户毫不费力地快速完成任务;由于Java对并发的内置支持,因此很容易在Java中使用单线程和多线程功能。
用户可以将许多编程语言(例如RubyonRails、Python和Node.js)与Java结合使用,因为它们都提供了与之配合使用的综合框架。
由于Java是当今最流行的编程语言之一,如果用户在当前或未来的愿望涉及使用人工智能解决方案,应该考虑学习如何使用Java。
将Java用于人工智能的好处:
Java编程语言有一些特别适合开发人工智能程序的特点。Java是一种高级的、面向对象的编程语言。
当考虑到开发人员经常与许多其他团队成员在不同时区以不同速度开发大型项目而一起工作时,它具有高度的可读性。
它是一种5级编程语言,可确保程序员获得多种好处。
由于人工智能应用程序使用机器学习算法,从头开始编写的代码而不是预制的库要比用Java编码的代码需要更长的时间来编译。
4.LISPLISP最初创建于1958年,是一种函数式编程语言,这意味着其中的一切都是一个表达式。换句话说,每一行代码都做某事。一开始听起来可能有点复杂,但是因为可以编写一个函数实现想做的任何事情,所以理解和构建LISP语法要比从头开始学习一门全新的语言更简单。
因此,如果已经有编程经验(甚至是Python或C++)学习LISP对一些人来说将很容易。即使不了解Java或JavaScript以外的任何语言,也有在线资源可以帮助开始使用函数式语言。
将LISP用于人工智能的好处:
几乎所有主要的深度学习框架的核心操作都依赖于LISP,这为用户在选择库或工具时提供了很大的灵活性。
无需考虑环境细节即可快速执行代码。
非常适合抽象:使用更简单的模型来解释更深层次的模型,因此程序员无需了解单个组件的工作原理。
如果基于初始模型的预测结果是错误的,它可以帮助用户在以后节省时间,因此重写它们会变得相对简单,而不会在这一过程中影响进展。
5.PrologProlog是一种声明式编程语言,可以在其中描述要实现的目标而不是如何实现。在Prolog中,知识由事实和规则表示。事实是关于对象的陈述,例如Jim有两个孩子或最喜欢的数字是8。
规则描述了用户何时可以从现有事实推断出新事实,例如,如果一个人有多个孩子,则此人有两个以上孩子。这是一种人工智能方法,可以让程序员在算法上花费更少的时间,而将更多的时间花在思考目标上。
将Prolog用于人工智能的好处:
Prolog可以快速处理大量数据,因为它使用比较统一。
它在语法中享有盛誉;使用它的人员通常比普通程序员经验更丰富。
它有助于提高这些项目的速度和准确性。
如果希望程序随着时间的推移提高能力,那么Prolog可能正是人们所需要的。能够修改程序显著地提高了它的能力。
6.C++C++是一种流行的通用编程语言。它是一种高级语言,由贝尔实验室的BjarneStroustrup领导的计算机科学家团队开发。它可以在Windows、Linux、MacOSX操作系统以及智能手机和平板电脑等移动设备上运行。C++已被用于开发游戏、应用程序和图形程序。
它习惯于创建许多其他软件程序,包括那些设计用于人工智能技术的软件程序。但是,由于其复杂性和缓慢的开发速度,它不适用于图形用户界面(GUI)设计或快速原型设计等任务。
将C++用于人工智能的好处:
C++有助于原型设计和生产的机器学习,因为它使用户能够轻松快速地将极其复杂的模型加载到内存中。
它还可以让用户快速试验新模型或重新设计现有模型,而无需过多的加载时间或牺牲处理能力。
在开发需要快速访问许多数据存储空间的高性能代码时,它是最佳选择之一。
如果一种算法或应用程序需要语言中尚未内置的功能,那么很可能其他人已经编写了用户需要的东西。大多数情况下,这些模块将是开源的,这意味着它们可以免费使用和修改用于商业目的。
7.HaskellHaskell是一种纯粹基于函数的语言,这意味着所有表达式都被评估为只产生一个值。由于它没有变量,Haskell大量依赖递归来创建其代码,但有一些可变类型,特别是列表和数组。
它使Haskell成为开发复杂算法的理想选择,这些算法在达到最终结果之前依赖于几个步骤。其语法可能令人不太适应,因为它使用布局将代码组织成行,并在其末尾使用分号而不是缩进符。
Haskell更令人兴奋的特性之一是它的类型系统。它没有空值,这不能在变量中存储任何东西,也不能将任何东西作为参数传递。
将Haskell用于人工智能的好处:
Haskell包含一个健壮的类型系统,以避免代码中出现多种类型的错误。
虽然其他语言使编写简洁的代码更具挑战性,但Haskell使其变得非常容易。因此,它适用于涉及大量数据的项目。
由于其简洁性,它还允许用户同时处理多个项目。
使用Haskell的一个显著优势是它的速度。用Haskell编写的程序通常比用其他编程语言编写的程序运行得更快,因为它非常简单。
8.JavaScriptJavaScript是一种广泛使用的编程语言,对人工智能至关重要,可以帮助用户构建从聊天机器人到计算机视觉的所有内容。由于其灵活性和深厚的开发人员社区,JavaScript已经迅速成为人工智能最受欢迎的语言之一。
自从1995年创建JavaScript以来,已经使用它编写了许多类似人类的行为,例如面部识别和艺术生成程序。随着企业继续远离遗留系统,JavaScript仍将是任何希望深入了解人工智能的人的基本技能。
将JavaScript用于人工智能的好处:
JavaScript的高度灵活性使其可以与开发人员使用的各种操作系统、浏览器和虚拟机一起使用。
它不必从一个系统移植到另一个系统,因为许多系统运行在类似的架构上。
它也是那些极有可能将其应用于用户选择的任何领域的稀有语言之一。
由于它是基于网络的(和基于浏览器的),编码相对较轻。没有太多的技术要求。
9.Julia人工智能是一个热门的研究领域,而Julia可以很好地利用这一兴趣。JeffBezanson、StefanKarpinski、Viral
B.Shah和他们的团队从头开始构建该语言并考虑到数值性能,并且它几乎可以在任何操作系统上运行。它也非常容易学习,使用了许多已经知道的常见编码概念,比如循环和条件语句。
Julia的开发环境目前并不理想,工具可以使用一些工作,但随着越来越多的人围绕编程语言构建工具,它会随着时间的推移变得更好。
将Julia用于人工智能的好处:
它是一种专为科学计算设计的高级、高性能编程语言。
Julia的语法优雅简洁,让用户可以专注于解决问题而不是编写新代码。
通过使用Julia,用户可以节省时间并生成更清晰、速度更快、错误更少的代码。
Julia的最大优势之一是它是免费和开源的,这意味着任何人都可以访问其代码。
结语总之,可以使用多种编程语言来开发人工智能。但没有一种语言在所有方面都擅长。一些专注于开发速度,一些具有概率模型的天然优势,而另一些则与现有软件更好地集成。
理想的选择取决于用户尝试构建的内容以及到达那里所需的时间。
常见问题1.问题:在开发人工智能项目时应该考虑什么?回答:在设计和实施人工智能和机器学习程序时,有两个因素在起作用:首先,使用的是哪种算法;其次,它是用什么语言编写的。
为应用程序选择一种算法并不难,只有少数可供选择。问题是这些算法中的每一个都需要各自的计算机语言。
因此,假设选择了一种称为DeepQLearning的算法。要编写这一程序,必须知道如何使用Java、Python、JavaScript或C++进行编码――如果决定为GPU操作与数据分析操作做一些不同的事情,那么可能不止这些语言中的一种。
如今有100多种算法,每种算法都有自己的语言,也各有优缺点。例如,只有少数优秀的深度学习平台可用,但有几十种决策树算法或启发式算法。
2.哪个更好――Python或R编程语言?回答:R和Python是人工智能、机器学习和数据分析的标准编程语言。如果从人工智能和机器学习开始,用户很可能会采用这两种语言,并且必须选择一种语言。
这两种语言有几个共同点:
它们都是开源的。
它们很强大。
它们易于学习(如果已经知道一种编程语言)。
它们带有多个库,可以轻松导入和分析数据。
那么应该选择哪一个呢?这是它们的方式比较。
3.问题:2021年最常用的五种编程语言是什么?回答:根据Statista公司的调查,2021年的编程语言包括:
JavaScript,有64.96%的受访者对该语言表示认同。
HTML/CSS,有56.07%的受访者对该语言表示认同。
Python,有48.24%的受访者对该语言表示认同。
SQL,有47.08%的受访者对该语言表示认同。
Java,有35.35%的受访者对该语言表示认同。
除此之外,Node.js、TypeScript、C#、Shell和C++均跻身全球开发者使用的前10名编程语言。