资源简介 (共13张PPT)第17课 Python 的AI 应用人工智能技术简介人工智能(Artifi cial Intelligence,AI)是让机器能够像人类一样完成智能化任务的技术。1956 年提出,如今发展为计算科学、生物学、心理学、神经科学等众多学科的一个交叉性的领域。人工智能技术简介到20 世纪90 年代,人类在和机器下国际象棋的时候首次遭受失败,人工智能再次走入人们的视线并得到更多的关注,从而逐渐迎来了其春天。自此开始,人工智能科学开始在和人类“斗智”方面取得一项又一项的突破:2011 年,IBM开发的沃森机器人人工智能程序在电视问答节目中战胜人类。2016 年,AlphaGo战胜围棋世界冠军李世石。2017 年,AlphaGo战胜中国棋手柯洁。……今天,人工智能技术已经走到我们身边,融入我们的生活。Python—人工智能的语言Python被人们称为“胶水语言”,可见其应用范围和场景之广。在人工智能领域, Python 编程语言具有如下一些先天的优势:Python 是开源的,有强大的社区支持,有质量较高而内容丰富的文档。Python是平台无关的,在Windows、Linux 和UNIX平台上都可以使用。这种良好的平台兼容性,使Python得到了非常普遍的应用。和其他面向对象编程语言相比,Python语法简单,学习起来更加容易。Python拥有非常丰富的第三方库。本课选取NLP这个应用方向,通过一个简单的示例,介绍如何使用Python来实现NLP的中文分词。jieba 库jieba就是一个用Python实现的中文分词模块,在中文分词领域颇具知名度,支持简、繁体中文,其高级用户还可以加入自定义词典以提高分词的准确率。jieba的安装需要使用pip工具在命令行输入“pip install jieba”,按下回车键后,就可以执行安装。要确保环境变量Path的之中,添加了“C:\Users\用户名AppData\Local\Programs\Python\Python37-32\Scripts”,否则会找不到pip命令。分词jieba库支持3种分词模式:精确模式:试图将语句最精确地切分,不存在冗余数据,适合做文本分析。全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据,不能解决歧义。搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。可使用jieba.lcut()和jieba.lcut_for_search()方法进行分词。jieba.lcut()接受 3 个参数:需要分词的字符串,是否使用全模式(默认值为 False),以及是否使用 HMM 模型(默认值为 True)。jieba.lcut_for_search()接受两个参数:需要分词的字符串和是否使用HMM模型。HMM(Hidden Markov Model)模型,又叫作隐马尔科夫模型,是一种基于概率的统计分析模型。分词示例:对“江州市长江大桥参加了长江大桥通车仪式”这句话进行分词。参见程序清单17.1.py对《西游记》进行分词读取文件读取文件的流程是:1.打开文件,得到文件句柄并赋值给一个变量;2.通过句柄对文件进行操作;3.关闭文件。打开文件就要用到open()函数。可以回顾第11课。参见程序清单17.2.py。筛选长度为1 的词语由于没有对分词的结果进行筛选,所以前20个高频词语大多是一个字。需要筛选掉长度为1的词语。参见程序清单17.3.py。去除不需要的词语输出的结果中存在着一系列不需要的词语。人名的词语对于分析小说剧情和主人公是最有帮助的,还需要进一步优化程序,将不需要的词语进行过滤。要过滤的词语放在和程序相同的目录下的exclude.txt文件中。参见程序清单17.4.py。合并人名输出的结果中存在同一个人的多个称呼的词语。例如,“孙行者”和“孙悟空”,“呆子”和“八戒”等。进一步优化程序,将同一个人名的不同称呼进行合并。参见程序清单17.5.py。用词云库表示词云是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现,把关键词的渲染成类似云一样的彩色图片。需要安装wordcloud模块。还是使用pip工具,在命令行中输入“pip install wordcloud”,回车后开始安装。还要pip安装matplotlib模块。参见程序清单17.6.py。练习1.请对以下语句进行分词,并且按照精确模式、全模式和搜索引擎模式输出结果。盼望着,盼望着,东风来了,春天的脚步近了。一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来了,太阳的脸红起来了。2.请对本书配套资源中的文本文件《水浒传》中的人物进行高频词排序,把前20位主要人物的人名及出场次数打印出来,并且用词云图表示出来。需要注意以下问题:筛选掉长度为1 的词语;去除不需要的词语(这些词语可以从配套资源“excludes - 水浒传.txt”获取);将表示同一个人的不同称谓合并(例如黑旋风等同于李逵,武二郎和武松都是一个人)。 展开更多...... 收起↑ 资源预览