第二部分 人工智能基础知识与应用体验_第1页
第二部分 人工智能基础知识与应用体验_第2页
第二部分 人工智能基础知识与应用体验_第3页
第二部分 人工智能基础知识与应用体验_第4页
第二部分 人工智能基础知识与应用体验_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二部分人工智能基础知识与应用体验1编程基础及Python初步1.理解计算机的工作机制(1)在存储程序的引导下,实现数据的处理;(2)用二进制来表示数;(3)硬件应由五大功能部件完成;冯.诺依曼2.程序语言概要程序程序设计程序设计语言程序设计语言的发展阶段机器语言汇编语言高级语言指令11100000000000000100100011100000000000000110010111100000000000000110110011100000000000000110110011100000000000000110111100000000MOVA,0fh;ADDA,10h;if a0 then b

2、=15+aelse b=15-aend if3.Python语言初步#求一元二次方程的解import matha=eval(input(输入a:)b=eval(input(输入b:)c=eval(input(输入c:)d=b*2-4*a*cif(d=0): x1=(-b+math.sqrt(d)/(2*a) x2=(-b-math.sqrt(d)/(2*a) print(计算结果为:x1=x2=.format(x1,x2)else: print(方程无解)(1)程序案例解析Python程序的总体结构程序框架:输入,处理,输出;说明:程序是用来解决特定计算问题的,每个程序都有统一的运算模式,即:

3、输入数据、处理数据、输出数据。这就形成了程序编写的基本方法:IPO方法程序写法:严格用缩进来表明程序代码间的包含和从属关系,能体现代码的层次关系,即:缩进可以约束程序代码的逻辑层次。s=0foriinrange(11): s=s+iprint(s)Python程序的输入输出语句输入语句:input(“提示信息”)变量名=input(“提示信息:”)变量:用于保存数据的内存空间,可人为取名。=,即赋值号,在程序中用于存放数据。输出语句(1)print(“输出信息”)(2)print(“输出信息”,项1,项2)print语句(3)print(“+=”.format(a,b,c))三种语句格式:程序

4、案例1:对任意输入的正数a,编程求圆的面积按IPO方法来编写:2Python语法基础及简单编程(1)Python程序中数的表示常量:是一个具体的、固定不变的值,如:32,a,“123”变量:是用于存放数据的内存空间,可根据保存数据的需要,人为取一个名字来向计算机要空间。a=eval(input(输入a:)b=eval(input(输入b:)c=eval(input(输入c:)d=b*2-4*a*c变量的命名规则:以大小写字母、数字、下划线和汉字等字符组合来命名,但不能以数字开头;所命名字,不能与python中已有特殊意义的名字冲突了。试一试,在下列字符串中找出符合规范的变量:x_movedel

5、tat1intfor2x变量名=表达式或具体的值变量的赋值:案例:对任意输入的两个数,编程这两个数之和。a=input(a=)b=input(b=)c=a+bprint(c=,c)(2)数据类型、运算及简单编程数据类型数据类型整 数浮点数字符串(String)程序语言中每个数都有一种数据类型字符串如何转化为数字?数字型eval():eval函数将字符串当成有效Python表达式来求值,并返回计算结果;int(x):可生成一个由x得来的整数;float(x):可生成一个由x得来的浮点数;布尔型(bool)数据类型数据类型其它数据类型列表(List)元组(Tuple)字典(Dictionary)l

6、ist1 = Google, Runoob, 1997, 2000tup1 = (Google, Runoob, 1997, 2000)dict = Alice: 2341, Beth: 9102, Cecil: 3258Python程序中的运算(一)(A)算术运算: +-*/*%/算式实践:9/2、9/2、9%2、9*2、9*2要求:体验各运算符号的含义。赋值号(=):将右边的计算结果存在左边空间中;变量名 = 值或表达式符号作用案例=简单的赋值运算符c=a+b将a+b的运算结果赋值为c+=加法赋值运算符c+=a 等效于 c=c+a-=减法赋值运算符c-=a 等效于 c=c-a*=乘法赋值运

7、算符c*=a 等效于 c=c*a/=除法赋值运算符c/=a 等效于 c=c/a%=取模赋值运算符c%=a 等效于 c=c%a*=幂赋值运算符c*=a 等效于 c=c*a/=取整除赋值运算符c/=a 等效于 c=c/a相关形式的赋值号Python程序中的运算(二)(B)逻辑运算 、=、b:print(“猜大了”)elif c0)编程求出n!函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。(前面已经提过)内置函数:程序语言内部提供的函数,可直接使用。如:pow(x,y)第三方函数:为实现某些方面的功能,由第三方开发的程序模块中所包含的函数,使用时必须先通过: import 模

8、块名然后才能使用。自定义函数:我们可以根据需要,自己定义函数。内置函数abs()divmod()input()open()staticmethod()all()enumerate()int()ord()str()any()eval()isinstance()pow()sum()basestring()execfile()issubclass()print()super()bin()file()iter()property()tuple()bool()filter()len()range()type()bytearray()float()list()raw_input()unichr()call

9、able()format()locals()reduce()unicode()chr()frozenset()long()reload()vars()classmethod()getattr()map()repr()xrange()cmp()globals()max()reverse()zip()compile()hasattr()memoryview()round()_import_()complex()hash()min()set()delattr()help()next()setattr()第三方模块import matha= math.pib=math.sqrt(2)print(a,b

10、)from math import sqrtb=sqrt(2)print(a,b)如:math模块部分函数用途syssys.argv获得程序外的参数,得到一个列表数据randomrandom.random()、random.uniform(a,b)random.randint(a,b)、random.choice(列表)获得随机数osos.getcwd()获得当前工作目录os.mkdir(path)创建名为path的文件夹模块提供了非常丰富的方法用来处理文件和目录PILImage.open(filename)打开图像Image.split()提取RGB图像的每个颜色通道Image.save(f

11、ilename,format)保存图片Image.resize(size)、Image.point(func)Image.convert(“L”)Image.merge(mode,bands) 支持图像存储、显示与处理,可以实现对图像的缩放、像素与颜色的处理jiebajieba.lcut(s)返回一个列表jieba.add_word(w)向分词词典中加入新词w中文分词函数numpy、Scipyscipy.signal 、scipy.fftpack、egratenumpy.sqrt(x)、numpy.uint(x)科学计算模块matplotlib数据绘图功能部分第三方模块部分第三方模块举例:im

12、port jieba fa=open(1.txt,rt)str1=fa.read()fa.close()list1=jieba.lcut(str1)print(list1).open(filename,”打开方式”)# r只读、 w全覆盖的写、 x创建写、a追加写、t文本模式、b二进制模式.read()#从文件中读入所有内容,返回字符串.readline()#从文件中读入一行内容,返回字符串.readlines()#从文件中读入所有内容,以每行为元素返回一个列表.readline()#从文件中读入一行内容=.write(s)#向文件写入字符串.writelines(s)#向文件写入一个列表s.

13、seek(offset)#改变当前文件操作的位置,0为文件开头,1为当前位置,2为文件结尾补充:自定义函数def 函数名( 参数 ): 函数功能代码 return expressiondef f1(n):if n%2=0:return Trueelse:return Falsea = eval(input(请输入一个数:)result=f1(a)if result : print(是偶数.format(a)else: print(是奇数.format(a) def f2(n):if n 2)分治法:快速排序、归并排序等 贪心法:背包问题、Dijkstra、Prim算法 动态规划:0-1背包问题

14、,各种子串问题 搜索法:N皇后问题、迷宫问题 随机算法:蒙特卡洛、随机快排等 其它一些经典算法,如:/question/19927564(5)组合数据类型的使用数据类型列表(List)元组(Tuple)字典(Dictionary)list1 = Google, Runoob, 1997, 2000tup1 = (Google, Runoob, 1997, 2000)dict = Alice: 2341, Beth: 9102, Cecil: 3258字符串str1=“hello,world”元素间是有顺序的,称为序列类型称为映射类型关于序列类型的通用操作:操作符描述x in s如果x是s的元素

15、,返回True,否则返回Falsex not in s如果x不是s的元素,返回True,否则返回Falses + tsi返回序列第i个元素si:j返回包含序列s第i到j个元素的子序列(不包含第j元素)len(s)返回序列s的元素个数s.count(x)序列s中出现x的总次数关于字典类型的有关操作:dict = Alice: 2341, Beth: 9102, Cecil: 3258函数描述dict.keys()返回所有的键信息dict.values()返回所有的值信息dict.items()返回所有的键值对dict.get(key,default)键存在则返回相应的值,否则返回默认值words

16、 =“刘备”,”张飞”,“曹操”,“关羽”, “刘备”,”张飞”,“曹操”,“关羽”, “刘备”,”张飞”,“曹操”,“关羽”, “刘备”,”张飞”,“曹操”,“关羽”, “刘备”,”张飞”,“曹操”,“关羽”counts = for word in words: if len(word) = 1: #排除单个字符的分词结果 continue else: countsword = counts.get(word,0) + 1(6)人工智能应用分解自然语言处理它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。涉及数学、语言学、计算机科学等学科。概率论:需要了解概率、条件概率、贝叶

17、斯法则;二项分布、期望、方差;最大似然估计、梯度下降等等;统计学:建模、数据稀疏问题、回退方法等;机器学习:分类、感知器、支持向量机;语言学:构词、词类、句法、语义;语料库和知识库等等应用领域机器翻译机器翻译由于涉及到语义分析、上下文环境等面临很多挑战百度在线翻译:/?aldtype=16047#auto/zh有道在线翻译:/情感分析通过情感分析,分析用户评论是积极的还是消极的 智能问答图灵机器人:/experience/exp_virtual_robot.jhtml?nav=exp京东客服jimi:/舆情分析:根据特定问题的需要,对针对这个问题的舆情进行深层次的思维加工和分析研究,得到相关结

18、论的过程参考案例:http:/知识图谱:在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。语言生成(新闻、篮球解说、文本摘要)机器人发布新闻;机器人解说新闻自然语言处理例:中文分词中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。基于字符串匹配的分词方法基于理解的分词方法基于统计的分词方法三种分词算法基于字符串匹配的分词方法它是按照一定的策略

19、将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。(1)正向最大匹配法(由左到右的方向)(2)逆向最大匹配法(由右到左的方向)(3)最少切分(使每一句中切出的词数最小)(4)双向最大匹配法(进行由左到右、由右到左两次扫描)基于理解的分词方法它是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它包括三个部分:分词子系统、句法语义子系统、总控部分。这种分词方法需要使用大量的语言知识和信息。基于统计的分词方法给出大量已经分词的文本,利用统计机器学习模型学习词语切分的规律(称为训练),从而实现对未知文本的切分。随着大规模语料库的建立,统计机器学习方法的研究和发展,基于统计的中文分词方法渐渐成为了主流方法。主要统计模型:N元文法模型(N-gram)、隐马尔可夫模型(Hidden Markov

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论