序列模式

Python学习笔记(五)组合数据类型

天大地大妈咪最大 提交于 2019-12-02 11:57:12
  在之前我们学会了 数字类型 ,包括 整数类型、浮点类型和复数类型 ,这些类型仅能表示一个数据,这种表示单一数据的类型称为 基本数据类型 。然而,实际计算中却存在大量同时处理多个数据的情况,这种需要将多个数据有效组织起来并统一表示,这种能够表示多个数据的类型称为 组合数据类型 。 一、组合数据类型概述 组合数据类型 更能够将多个同类或不同类型组织起来,通过单一的表示使数据更有序、更容易。根据数据之间的关系,组合数据类型可以分为3类: 序列类型、集合类型和映射类型 。 序列类型 是一个元素向量,元素之间的存在先后关系,通过序号访问,元素之间不排他。 集合类型 是一个元素类型,元素之间无序,相同元素在集合中唯一存在。 映射类型 是“键-值”数据项的组合,每个元素是一个键值对,表示为(key, value)。 1.序列类型 序列类型 是一堆元素向量,元素之间存在先后关系,通过序号访问。 Python中有很多数据类型都是序列类型,其中比较重要的是str(字符串)、tuple(元组)list(列表)可以看成是单一字符的有序序列,属于序列类型。 序列类型有12个通用的操作符和函数 操 作 符 描 述 x in s 如果x是是的元素,返回True,否者返回False x not in s 如果x不是s的元素,返回True,否则返回False s + t 连接S和t s * n 或 n * s

自然语言处理从小白到大白系列(6)说说中文分词那些事

橙三吉。 提交于 2019-12-02 05:06:24
文章目录 一. 分词常用方法 1.1 基于词表的方法 最大匹配法 全切分路径选择法 1.2 基于统计模型的方法 1. n元语法模型 2. 隐马尔可夫模型(Hidden Markov Model ,HMM) 3. 条件随机场模型(Conditional Random Fields,CRF) 1.3 基于深度学习的方法 二. 分词常用工具 2.1 [jieba](https://github.com/fxsjy/jieba) 2.2 [hanLP](https://github.com/hankcs/pyhanlp) 2.3 [PKUseg](https://github.com/lancopku/pkuseg-python) 2.4 [thulac](https://github.com/thunlp/THULAC-Python) 2.5 [nlpir](https://github.com/NLPIR-team/NLPIR) 2.6 [snowNLP](https://github.com/isnowfy/snownlp) 自然语言处理的中文分词有三个难点: 分词标准 例如“花草”,有的人认为是一个词,有的人认为应该划分开为两个词“花/草”。某种意义上,中文分词可以说是一个没有明确定义的问题。 切分歧义 不同的切分结果会有不同的含义,这个不用举例了,很常见。 未登录词 也叫新词发现

推导函数,两段代码是一样滴结果!

眉间皱痕 提交于 2019-12-01 22:41:27
推导或内涵 (list comprehension)在python中指:以紧凑的方式对列表,字典,元组等序列元素进行处理,并将结果放到序列中的语法形式。 1 square_odd=[i**i for i in range(1,11) if i**i %2==0] 2 print(square_odd) 3 4 5 for i in range(1,11): 6 square=i**i 7 if square %2==0: 8 print(square) 上面的第一段为推导方式。 下面的一段为正常模式。 来源: https://www.cnblogs.com/bcyczhhb/p/11719399.html

Attention is all you need 详细解读

╄→尐↘猪︶ㄣ 提交于 2019-12-01 06:03:35
  自从 Attention 机制在提出之后,加入 Attention 的 Seq2Seq 模型在各个任务上都有了提升,所以现在的 seq2seq 模型指的都是结合 rnn 和 attention 的模型。传统的基于 RNN 的 Seq2Seq 模型难以处理长序列的句子,无法实现并行,并且面临对齐的问题。 所以之后这类模型的发展大多数从三个方面入手: · input 的方向性: 单向 -> 双向 · 深度: 单层 -> 多层 · 类型: RNN -> LSTM GRU 但是依旧收到一些潜在问题的制约,神经网络需要能够将源语句的所有必要信息压缩成固定长度的向量。这可能使得神经网络难以应付长时间的句子,特别是那些比训练语料库中的句子更长的句子;每个时间步的输出需要依赖于前面时间步的输出,这使得模型没有办法并行,效率低;仍然面临对齐问题。 再然后 CNN 由计算机视觉也被引入到 deep NLP 中, CNN 不能直接用于处理变长的序列样本但可以实现并行计算。完全基于 CNN 的 Seq2Seq 模型虽然可以并行实现,但非常占内存,很多的 trick ,大数据量上参数调整并不容易。 本篇文章创新点在于抛弃了之前传统的 encoder-decoder 模型必须结合 cnn 或者 rnn 的固有模式,只用 Attention

Python - 数据结构 - 第十五天

北城以北 提交于 2019-12-01 02:42:44
Python 数据结构 本章节我们主要结合前面所学的知识点来介绍Python数据结构。 列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即: 列表可以修改,而字符串和元组不能 。 以下是 Python 中列表的方法: 方法 描述 list.append(x) 把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]。 list.extend(L) 通过添加指定列表的所有元素来扩充列表,相当于 a[len(a):] = L。 list.insert(i, x) 在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如 a.insert(0, x) 会插入到整个列表之前,而 a.insert(len(a), x) 相当于 a.append(x) 。 list.remove(x) 删除列表中值为 x 的第一个元素。如果没有这样的元素,就会返回一个错误。 list.pop([i]) 从列表的指定位置移除元素,并将其返回。如果没有指定索引,a.pop()返回最后一个元素。元素随即从列表中被移除。(方法中 i 两边的方括号表示这个参数是可选的,而不是要求你输入一对方括号,你会经常在 Python 库参考手册中遇到这样的标记。) list.clear() 移除列表中的所有项,等于del a[:]。 list.index(x)

自然语言处理的发展历程

女生的网名这么多〃 提交于 2019-11-30 02:01:22
NLP的发展趋势:规则—>统计—>深度学习。 自然语言处理的发展大致经历了4个阶段:1956年以前的萌芽期;1957-1970年的快速发展期;1971 -1993年的低谷的发展期和1994年至今的复苏融合期。 一、萌芽期(1956年以前) 1956年以前,可以看作自然语言处理的基础研究阶段。一方面,人类文明经过了几千年的发展,积累了大量的数学、语言学和物理学知识。这些知识不仅是计算机诞生的必要条件,同时也是自然语言处理的理论基础。另一方面,阿兰·图灵在1936年首次提出了“图灵机”的概念。“图灵机”作为计算机的理论基础,促使了1946年电子计算机的诞生。而电子计算机的诞生又为机器翻译和随后的自然语言处理提供了物质基础。 由于来自机器翻译的社会需求,这一时期也进行了许多自然语言处理的基础研究。1948年Shannon把离散马尔可夫过程的概率模型应用于描述语言的自动机。接着,他又把热力学中“熵”(entropy)的概念引用于语言处理的概率算法中。上世纪50年代初,Kleene研究了有限自动机和正则表达式。1956年,Chomsky又提出了上下文无关语法,并把它运用到自然语言处理中。他们的工作直接引起了基于规则和基于概率这两种不同的自然语言处理技术的产生。而这两种不同的自然语言处理方法,又引发了数十年有关基于规则方法和基于概率方法孰优孰劣的争执。 另外

Shell脚本应用 – for、while循环语句

梦想与她 提交于 2019-11-29 23:27:18
通过 Shell 脚本 应用(二)学习到了if条件条件语句的使用方法等。 Shell 作为一种 脚本 编程语言,同样了包含了循环,分支等其他程序控制结构,从而能够轻松完成更加复杂、强大的功能。我们今天就来认识for、while、case语句的具体应用。 一、for循环语句 在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他 命令 相同。例如:根据通讯录中的姓名列表创建系统账号等情况。 当面对各种列表重复工作任务时,使用if语句已经不能满足需要了,就需要使用到for语句。 1.for语句结构 使用for循环语句时,需要指定一个变量及可能的取值列表,针对不同的取值重复执行相同的 命令 序列,知道变量值用完退出循环。 1)for循环语句的语法结构: for 变量名 in 取值列表 do 命令序列 done 语句结构中,for语句的操作对象为用户吧指定名称的变量,并通过in关键字为该变量预先设置了一个取值列表,多个取值之间用空格进行分隔。位于do……done之间的命令序列称为循环体,其中的执行语句需要应用变量以完成相应的任务。 2)for循环语句流程图 3)for循环语句的使用场景 1. 循环次数未知; 2.完整遍历整个取值列表。 2.for语句应用示例 要求: 1.根据姓名列表批量创建用户; 2.用户的初始密码是“123456” 实施步骤:

Shell脚本应用 – for、while循环语句

偶尔善良 提交于 2019-11-29 21:47:54
通过 Shell 脚本 应用(二)学习到了if条件条件语句的使用方法等。 Shell 作为一种 脚本 编程语言,同样了包含了循环,分支等其他程序控制结构,从而能够轻松完成更加复杂、强大的功能。我们今天就来认识for、while、case语句的具体应用。 一、for循环语句 在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他 命令 相同。例如:根据通讯录中的姓名列表创建系统账号等情况。 当面对各种列表重复工作任务时,使用if语句已经不能满足需要了,就需要使用到for语句。 1.for语句结构 使用for循环语句时,需要指定一个变量及可能的取值列表,针对不同的取值重复执行相同的 命令 序列,知道变量值用完退出循环。 1)for循环语句的语法结构: for 变量名 in 取值列表 do 命令序列 done 语句结构中,for语句的操作对象为用户吧指定名称的变量,并通过in关键字为该变量预先设置了一个取值列表,多个取值之间用空格进行分隔。位于do……done之间的命令序列称为循环体,其中的执行语句需要应用变量以完成相应的任务。 2)for循环语句流程图 3)for循环语句的使用场景 1. 循环次数未知; 2.完整遍历整个取值列表。 2.for语句应用示例 要求: 1.根据姓名列表批量创建用户; 2.用户的初始密码是“123456” 实施步骤:

Deep Facial Expression Recogniton: A survey笔记

守給你的承諾、 提交于 2019-11-29 13:16:49
这篇文章是北邮的邓伟洪教授关于 Deep Facial Expression Recognition,DFER 的一篇综述性文章,该文章被 计算机视觉顶会CVPR 收录。 目前,FER(Facial Expression Recogniton)主要存在两个问题:一个就是缺少大量的数据来训练表情识别网络,一旦网络训练数据量过少,就会发生过拟合的现象,这点目前还没有有效的解决办法;另一个问题就是由于年龄、性别、道德背景等的差异,导致个体间的差异比较明显。除此之外,光照和姿态也会对FER产生较大的影响。 这篇文章详细介绍了解决FER目前存在的问题的一些方法。其中文章section1介绍了FER的发展历程,section2介绍了FER实验常用的数据集,section3介绍了FER系统识别的三个主要步骤,section4提供了一些主流的网络架构以及训练技巧,section5则讨论了一些其他相关的问题,section6主要论述了一下FER未来的挑战和机遇。下面以章节划分逐一介绍。 section2 FACIAL EXPRESSION DATABASES 该部分列举了FER可用的数据库。 主要有CK+、MMI、JAFFE、TED、FER2013、AFEW、SFEW、Multi-PIE、BU-3DFE、Oulu-CASIA、RaFD、KDEF、EmotionNet、RAF-DB、AffectNet

Markdown 语法简明介绍

天大地大妈咪最大 提交于 2019-11-29 03:47:43
Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。 相比WYSIWYG编辑器 优点: 因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。 操作简单。比如:WYSIWYG编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而Markdown只需要在标题内容前加#即可 缺点: 需要记一些语法(当然,是很简单。五分钟学会)。 有些平台不支持Markdown编辑模式。 一、标题 在想要设置为标题的文字前面加#来表示 一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。 注:标准语法一般在#后跟个空格再写文字,貌似简书不加空格也行。 示例: # 这是一级标题 ## 这是二级标题 ### 这是三级标题 #### 这是四级标题 ##### 这是五级标题 ###### 这是六级标题 效果如下: 这是一级标题 这是二级标题 这是三级标题 这是四级标题 这是五级标题 这是六级标题 二、字体 加粗 要加粗的文字左右分别用两个 * 号包起来 斜体 要倾斜的文字左右分别用一个 * 号包起来 斜体加粗 要倾斜和加粗的文字左右分别用三个 * 号包起来 删除线 要加删除线的文字左右分别用两个 ~~ 号包起来 示例: **这是加粗的文字** *这是倾斜的文字* **