Python AI(人工智能)简介

AI是人工智能的缩写,它是一门新的技术科学。本节教程就对人工智能简单介绍。

人工智能技术简介

简单来说,人工智能(Artificial Intelligence,AI)是让机器能够像人类一样完成智能化任务的技术。

1956 年,美国几位著名的科学家在美国达特茅斯学院召开了一次学术会议,首次提出了“人工智能”的术语和概念,这次会议标志着人工智能正式成为一门学科。其实,在计算机出现之前人们就幻想着一种机器可以实现人类的思维,可以帮助人们解决问题,甚至拥有比人类更高的智力。

随着计算机的发明和普及,计算技术根据其不同的应用领域,发展为众多的分支学科,例如多媒体、计算机辅助设计、数据库、计算机网络通信技术等,这时候,人工智能成为了计算科学的一个研究分支,同时也逐步成为计算科学、生物学、心理学、神经科学等众多学科的一个交叉性的领域。

人工智能的研究和发展经历了几次波折,有 20 世纪 50 年代到 70 年代的黄金时期,也经历了随后的近 20 年的低谷和寒冬。直到 20 世纪 90 年代,人类在和机器下国际象棋的时候首次遭受失败,人工智能再次走入人们的视线并得到更多的关注,从而逐渐迎来了其春天。

自此开始,人工智能科学开始在和人类“斗智”方面取得一项又一项的突破:
  • 2011 年,IBM 开发的沃森机器人人工智能程序在电视问答节目中战胜人类。
  • 2016 年,AlphaGo 战胜围棋世界冠军李世石。
  • 2017 年,AlphaGo 战胜中国棋手柯洁。
……
人工智能再一次引发了人们极大的关注,甚至引发人类的焦虑。人们似乎看到了人工智能超越人类智能的可能。人工智能的科学研究也再度掀起热潮,更多人开始研究应用计算机软硬件来模拟人类的某些智能行为,构造具有一定智能的系统,从而替代人类从事相应的体力和脑力劳动。

今天,在我们的生活中,人工智能已经有了形式多样、领域广泛、程度不同的应用,例如语音合成、语音识别、自然语言处理、自动驾驶、图像识别、人脸识别、数据分析等等。

如果你对这些领域还感到有些陌生,那么我们举一些生活中的例子你就明白了,淘宝上的语音和图片搜索购物、微信的语音文字转换、科大讯飞的翻译笔、iPhone 里的 Siri 应用、电子商务网站上的人工智能客服、还有各种各样具备不同程度的智能功能的机器人……,所有这些应用,背后都离不开人工智能技术的支持。人工智能已经成为我们日常生活越来越依赖的技术。

Python——人工智能的语言

Python 被人们称为“胶水语言”,可见其应用范围和场景之广。Python 的粉丝更是将其誉为“最美丽的”编程语言。尽管人们对 Python 有很多的溢美之词,但不可否认的是,从云端、客户端,到物联网终端,Python 应用无处不在,同时,Python 也是公认的人工智能应用首选的编程语言。

在人工智能领域, Python 编程语言具有如下一些先天的优势:
  • Python 是开源的,有强大的社区支持,有质量较高而内容丰富的文档。
  • Python 是平台无关的,在 Windows、Linux 和 UNIX 平台上都可以使用。这种良好的平台兼容性,使 Python 得到了非常普遍的应用。
  • 和其他面向对象编程语言相比,Python 语法简单,学习起来更加容易。因此,Python 也成为少年儿童学习编程的首选语言。
  • Python 拥有非常丰富的第三方库。用 Python 编写程序的时候,其第三方库大大扩展了 Python 的功能和应用领域。

Python 的第三方库针对各种各样的专业应用领域,例如,用于图像处理的各种 Python Imaging Library 库、VTK 和 Maya 3D 等,用于数值和科学计算的 Numpy、Scientific Python 等,支持机器学习的 scikit-learn、PyBrain、PyML 等,用于自然语言处理的 NLTK、jieba 等等。

因此,可以说,只要学习和掌握了 Python 语言,要开发人工智能的相关应用方面,就拥有了得天独厚的优势。

我们期望人工智能能够具备分析、处理和理解语言文字的能力,从而实现人机之间的互相交互沟通,而实现这种能力的研究领域和技术统称为自然语言处理(Natural Language Processing,NLP),如图 1 所示。
Python——人工智能的语言
图 1

自然语言处理是信息时代最重要的技术之一。我们常见的一些产品,比如机器翻译、问答系统、聊天机器人、情感分析等,都是自然语言处理在不同领域的应用。更通俗地说,自然语言处理就是指机器理解并解释人类使用文字、语言的方式的能力,而自然语言处理的目标是让计算机在理解语言文字方面能够像人类一样智能。

正如前面所介绍的,Python 在人工智能的各个分支领域都得到了应用,我们不可能一一展开介绍。下节,我们就选取了 NLP 这个应用方向,通过一个简单的示例,介绍如何使用 Python 来实现 NLP 的中文分词。

在 NLP 的过程中,为了能更好地处理句子,往往需要把句子拆开分成一个一个的词语,这样才能更好地分析句子的特性,这个过程叫就叫作分词。分词是 NLP 的基础,分词准确度直接决定了后面的词性标注、句法分析、词向量以及文本分析(这些都是 NLP 的其他步骤)的质量。

由于中文句子不像英文那样天然自带分隔,并且存在各种各样的词组,从而使中文分词具有一定的难度。但是,现在已经有很多工具可以帮助我们实现基本的中文分词。而 jieba 就是一个用 Python 实现的中文分词模块,在中文分词领域颇具知名度,支持简、繁体中文,其高级用户还可以加入自定义词典以提高分词的准确率。


但用 jieba 进行分词前要进行安装,下面我们就来安装 jieba 库。

Python jieba 库的安装

安装 jieba 库也需要使用 pip 工具。我们在之前介绍 Pygame 的时候,曾经使用这个工具来安装 Pygame。

在确认连接互联网的情况下,在命令行输入“pip install jieba”,按下回车键后,就可以执行安装,如图 1 所示。

pip安装jieba
图 1

然后一直等待,直到安装进度到达了 100%,并且提示 jieba 库安装成功,版本是 0.39,如图 2 所示。

 jieba 库安装成功
图 2