- 博客(138)
- 收藏
- 关注
原创 基于有人攻击我博客不是原创的声明
因为有段时间忙于别的事情,所以我已经好几个月都没有登陆过自己的博客了。今天本来想通过阅读自己的博客回顾以前学的一些东西。突然发现有人攻击我的博客不是原创,说我的博客的源码是别人的。在此我先承认,我的代码确实也是自己看书所学来的。但是,我想说的是: 首先,我写博客的初衷,本来是把博客当做一种笔记,记录自己所学或者所想到的,以后可以自己不停的翻阅。至于为什么选择原创,第...
2019-04-26 15:06:45
1040
1
转载 项目实践 -- CRF实体识别
# -*- coding:utf-8 -*-from __future__ import division''' 使用线性 CRF 实现实体识别的任务 使用 sklearn-crfsuite 中的 CRF ''' from itertools import chain # 迭代器import nltkimport sklearnimport scipy.stats...
2019-02-01 14:30:19
4308
8
转载 中文 NLP(11) -- stanfordNLP 生成文法之 PCFG 模型
在短语结构文法中,也就是转换生成语法,目前最成熟、精度最高的算法就是 PCFG 算法。另一种基于依存句法理论的分析方法,最高效的是深度学习算法(Trainsition-Based LSTM)PCFG 即 Probabilistic CFG ,也就是基于概率的短语结构分析。也就是在 G = (X,V,S,R) 的基础上加一个 P 表示概率,变成 G= (X,V,S,R,P) 约束如下:...
2018-12-07 17:23:45
7154
转载 中文 NLP (10) -- 句法解析之 转换生成语法 和 依存句法
多年来 NLP 领域最广泛的两种句法分析理论分别为 转换生成语法和依存句法。转换生成语法短语结构文法:形式化定义为 G = (X,V,S,R) 这样一个四元组。X 是词汇集合,称为终结符。V 是标注的集合,称为非终结符。S 属于 V ,称为文法开始符。R 是有序偶对(α,β)的集合,α 是集合 (X∪V)上的字符串,但至少包含一个非终结符,β 是(X∪V) 闭包的元素。一般的,将有序偶对...
2018-12-07 14:06:02
4660
转载 中文 NLP(9) -- 实体识别
(1)实体识别识别 人名,地名,组织机构,日期,时间,百分数,货币这七大实体。重点是人名,地名和组织机构的识别。属于未登录词识别的范畴。人名特征:当今仍使用,活跃的中文姓氏大致有1000 多个,前 586 个姓占了 98.5%。其余姓氏不到 1.5%。名字用字分布较姓氏用字分布要平缓,分散。共 3679 个名字用字,词性分布也很广泛,不仅有实词,还有各类虚词。地名特征:较之人名相比,地...
2018-12-04 10:08:52
4339
6
转载 中文 NLP(8) -- 使用 CRF++ 和 BIO 表示法训练模型
一般在训练 NLP 模型,比如分词,词性,组块标注等等时,采用 BIO 表示法,说明如下:B — 代表当前词是一个组块的开始I — 代表当前词在一个组块中O — 代表当前词不在任意组块中 。如果要求更精确,可以增加两个符号:E — 代表组块结束S — 代表当前词是一个组块,该组块只有一个词以句法组块标注训练为例,我们先将 宾州树 的标注使用 perl 小程序作如下转化,...
2018-12-02 14:54:37
5710
转载 中文 NLP(7) -- CTB语义组块说明
CTB 语义组块类别表 标注 英文说明 中文说明 ADJP Adjective phrase 形容词短语 ADVP Adverbial phrase headed by AD 由副词开头的副词短语,状语 CLP Classifier phrase 量词短语 CP Clause headed by C 由补语引导的补语从句...
2018-11-30 14:49:10
1924
转载 中文 NLP(6)-- stanford 训练词性标注模型
在 第一节发布的样本中,修改类StanfordPOSTagger 如下,增加训练模型文件方法:# 词性标注class StanfordPOSTagger(StanfordCoreNLP): ... 以上代码略,增加如下方法 # 生成训练配置文件命令 def __buildprop(self): self.propline = 'java -mx1...
2018-11-30 10:44:24
2237
转载 中文 NLP(5) -- 宾州树《汉语词性标注规范》
词性标记 英文名称 中文名称 例子 AD adverbs 副词 “还” AS Aspect marker 体标记 了,着,过 BA in ba-const 把/将 把,将 CC Coordinating conjunction 并列连词 “和”,“与”,“或”,“或者” CD Car...
2018-11-29 15:34:41
1640
转载 中文 NLP(4) -- 四大概率算法模型之 最大熵模型 ME 及其 GIS 实现
之前分别介绍了朴素贝叶斯模型和隐马尔科夫模型,接下来我们解析第三大概率模型 -- 最大熵模型。说实在的,我这里不愿去写一大堆数学公式出来,即敲的累看的也累。首先介绍下数学思想:在满足一些客观真实(通过训练数据)的约束下,这样的概率模型的子集中,我们选取最大信息熵的那个模型。我们只说下CIS 算法的最后迭代收敛公式:类似梯度下降原理,不断的使得模型最终的效果满足训练数据的经验分布的一...
2018-11-28 15:35:42
954
转载 中文 NLP(3) -- 四大概率算法模型之 隐马尔科夫模型 HMM 和 维特比算法 Viterbi
之前说过,基于NLP处理的算法思想目前主要有两大流派:统计论流派和深度学习流派。而在统计论中,常用的 4 大概率模型分别是 朴素贝叶斯模型,隐马尔科夫模型,最大熵模型和条件随机场模型。对于朴素贝叶斯模型,前面已经多次打过交道,原理也相对简单。这里解析第二大模型 -- 隐马尔科夫模型。我要说明的是,任何理论,都是以基本数学原理为思想,但是每个人的想法不同,解析的角度不同,求解的思路不同,所以我的...
2018-11-27 12:21:31
1006
转载 中文 NLP (2) -- ICTCLAS分词
随着白话文的兴起,构成中文的最小独立单位由字转入词。因此分词是中文处理的第一步,没有这一步中文处理也就无法再进行下去。中文分词有三大流派:1.机械式分词法:将文档中的字符串与词典中的词条逐一匹配,如果命中,则匹配成功。2.基于语法和规则:主要是为了解决分词中的第一大难题:歧义切分。因此在分词的基础上同时进行句法,语义分析,利用句法和语义信息进行词性标注,已解决分词歧义现象。3.统计...
2018-11-23 16:01:33
752
转载 中文NLP(1) -- 开源工具 ltp 和 stanford
完整的代码和模型文件可在我的GitHub:(代码是 linux 版本,windows 上运行只需要简单调整)https://github.com/ouprince/pyltp-stanford-nlpLTP 训练套件:https://ltp.readthedocs.io/zh_CN/latest/train.htmlpyltp 使用:https://blog.csdn.net/meb...
2018-11-20 16:59:17
1255
转载 自编码网络的使用方法 -- 栈式自编码神经网络 SA
栈式自编码神经网络(Stacked Autoencoder, SA)是对自编码网络的一种使用方法。而前面说的自编码(包括卷积,变分,条件变分都只是一种自编码结构),而这里是应用。 SA 是一个由多层训练好的自编码器组成的神经网络。由于网络中的每一层都是单独训练而来,相当于都初始化了一个合理的数值。所以,这样的网络更容易训练,并且有更快的收敛性及更高的准确度。栈式自编码常常用于预训练(初始化)深度网...
2018-11-07 15:30:31
2231
1
转载 采用自编码网络(AE)实现无监督学习
(1)最简单的自编码网络 -- 样本重构功能自编码网络是输入等于输出的网络,最基本的模型可以视为三层的神经网络,即输入层,隐藏层,输出层。也就看成压缩和解压的过程。编码就是压缩的过程,解码就是解压的过程。一般是一个对称的网络。基本实现代码(MNIST 数据集图片的压缩和解压)将 784 维数据压缩成 128 维,实现输入数据的低维重构问题。#-*- coding:utf-8 -*-...
2018-11-07 11:05:18
3579
5
转载 基于rnn 的 基本seq2seq 任务
seq2seq 函数说明处理 seq2seq 任务 序列到序列问题编码 - 解码框架: Encoder - Decoder 先使用编码器将输入编码映射到语义空间,得到一个固定维数的向量,这个向量就表示输入的语义;然后再使用解码器将这个向量解码,获得所需要的输出。注意:基本的 seq2seq 是Encoder 生成的最后一个时刻的 c 参与到Decoder 的初始时刻在 seq2se...
2018-11-02 12:28:08
999
转载 使用 rnn 训练词向量模型
词向量说明如下:词向量模型表征的是词语与词语之间的距离和联系,词向量也叫词嵌入 word embeddingCBOW 模型: 根据某个词的上下文,计算中间词出现的概率,预测的是中心词Skip-Gram 模型: 跟据中间词,分别计算它的上下文概率,与 CBOW 模型相反,预测的是上下文比如 "我喜欢你" 在Skip-Gram 中,取出其中的一个字当做输入,将其前面和后面的子分别当做标签...
2018-10-31 14:03:17
3168
1
转载 lstm 结构图解析 和 TensorFlow 中的 RNN 类
LSTM 结构解析如图所示但是这样的结构说是有一个缺陷,当前的状态 Ct 不能影响输入门和遗忘门在下一时刻的输出,使得整个结构对上个序列的处理丢失了部分信息。所以增加了 窥孔连接。如图:黑线条即是窥视孔连接TensorFlow 中的 RNN 类:tf.contrib.rnn.BasicRNNCell(num_units,activation = tanh,reuse ...
2018-10-25 16:55:45
912
转载 tensorflow 笔记附注(全)
附注一:常用的 TensorFlow 数据处理函数 & TensorBoard 可视化# 主要是写一些 TensorFlow 经常用到的东西import tensorflow as tftf.multiply(a,b) a * btf.add(a,b) a + btf.cast(x,dtype,name = None) 类型转换tf.ones(sh...
2018-10-15 09:58:27
1767
转载 贝叶斯分类算法 -- 概率推导
贝叶斯分类算法是基于一种古典概率统计学的一种非常简单的分类方法。废话不多说,尽快进入推导过程,因为很简单。假设 x1,x2... x3 是判断因素,y 是类别结果。那么我们做如下假设:1. x1,x2 ... x3 是离散事件,即可以统计出 p(x1),p(x2).... p(x3) ,否则贝叶斯算法失效。2.x1,x2, ... x3 互相独立,即 p(x1|x2) = p(x1)...
2018-09-13 14:12:28
2011
转载 winnowing 算法 -- 提取文档指纹特征
关于 winnowing 算法的简单的解释就是:基于 k-gram 的哈希码,以最小规则提取部分gram 的哈希码作为文档特征指纹,并记录gram的位置。源码和步骤如下:(1)对文档进行字符标记,比如 "asdf",变成 [(0,"a"),(1,"s"),(2,"d"),(3,"f")]def sanitize(text): """Removes irrelevant featu...
2018-09-04 14:53:24
3031
转载 python 数据挖掘(12)-- 关联规则 Apriori
关联规则指的是,当事件 A 发生时,事件 B 发生有多大的置信度。也就是 事件 B 对 事件 A 的相关性。当然这是最简单的情况,也可以多个事件关联,比如事件 A,B 发生时,事件 C 发生的概率。Apriori 算法是一个比较传统的关联算法,主要就是基于统计学的一种算法。定义两个概念:项集:即事件的集合支持度:就是 Support(A=>B) = P(A∩B) 也就是 A 和 ...
2018-08-29 17:31:45
4871
1
转载 python 数据挖掘(11)-- 聚类分析
这里介绍 Kmeans 聚类算法,K-Means 聚类算法在之前就介绍过,只不过哪个时候用的是 mahout算法的原理和过程不再介绍了,在 NLP 专栏可以找到,不再累述,主要是这里增加了一个聚类结果可视化工具 TSNE,它的定位是高维数据的可视化,TSNE 提供了一种有效的数据降维方式,让我们可以在 2 维或者 3 维的空间对高维数据展示聚类结果。数据consumption_data.x...
2018-08-27 18:09:14
1258
转载 python 数据挖掘(10) -- 人工神经网络 ANN
关于神经网络,在 TensorFlow 专栏和 NLP 专栏都已经用了太多,所以不再介绍。只不过python 用的是 Keras ,这其实相比TensorFlow更简单多了(keras 其实是 TensorFlow 的封装,源码其实就是调用 TensorFlow,所以用起来比TensorFlow方便很多)。针对上一节的决策树分类,这里改用人工神经网络代码如下:#-*- coding:utf-...
2018-08-10 18:02:51
1065
转载 python 数据挖掘(9)-- 决策树
决策树用在分类的问题上,说白了就是根据属性判断某一类别的问题。决策树的核心是什么?打个比方,如果今天下雨,我就去超市,如果超市没有关门,我就买苹果。假设把结果分成两类,买苹果和不买苹果。则分为下:这就是决策树,但是问题来了,这是我买苹果的决策树。但是如果不知道我的规则,只给一堆用户数据,比如告诉你天气和超市是否关门(忘记关门肯定买不了这个常识吧,也可以换成其他的因素)然后给出一大堆买苹果和...
2018-08-10 17:17:39
689
转载 python 数据挖掘(8)-- 逻辑回归
逻辑回归我觉得是一种非常简单的模型,简单到线性级别。因此个人觉得这种模型可能并没有什么用。但作为挖掘的一种模型,还是值得学习一下:逻辑回归就是当我们预测某一个东西只有 1-0 两种情况时,比如是或不是,属于或不属于。注意这不是二分类,二分类还有种情况是都不是这两类。比如不一定人只有好人和坏人。这里指的是类似硬币只有正面和反面,天气下雨或不下(不是下雨或下雪)这种情况。假设天气下雨的概率是 ...
2018-08-10 15:03:10
983
1
转载 python 数据挖掘(7)-- 主从分析 PCA
主从分析的主要目的是降维,从而提高数据挖掘的效率,降低计算成本。主从分析计算步骤如下:(1)设置原始属性 X1,X2,...Xp 的 n 次观测矩阵为:(2)将数据矩阵按列进行中心标准化。(3)求标准化后的相关系数矩阵 R,我们知道这是一个实对称矩阵(4)求R 的特征根 (5)确定主成分个数 m ,一般取 0.8 (6)计算 m 个相应的特...
2018-08-09 18:28:20
755
转载 python 数据挖掘(6)-- 数据标准化 和 离散化
标准化数据规划化处理是数据挖掘的一项基础工作,为了消除指标之间的量纲和取值范围差异的影响。(1)最小 - 最大规范化 将数据映射到 [min,max](2)零-均值规划化 将数据处理成均值为 0 ,标准差为 1(3)小数定标规划化处理 normalization_data.xls 数据规范化如下#-*- coding:utf-8 -*-import p...
2018-08-09 17:19:54
3851
1
转载 python 数据挖掘(5)-- 拉格朗日插值法
当数据缺失时,我们通常需要填补缺失数据,这里介绍拉格朗日插值法。根据数学知识可以知道,对于平面上已知的 n 个点,可以找到一个 n-1 次多项式,使得多项式经过这 n 个点将 n 个点的坐标(x1,y1),(x2,y2)... (xn,yn)代入多项式函数,得解出拉格朗日插值多项式为:即用拉格朗日插值法处理日销售额数据 catering_sale.xls如下...
2018-08-09 15:19:18
3628
4
转载 python 数据挖掘(4)-- 主要数据分析函数
基本统计函数(1) sum功能:计算数据样本的总和使用格式: D.sum() 样本D 可为 Dataframe 或者 Series(2)mean功能:计算平均数使用格式:D.mean() 样本D 可为Dataframe 或者 Series(3)var功能:计算数据样本的方差使用格式:D.var() 样本D 可为Dataframe 或者 Series(4)st...
2018-08-09 13:32:50
661
转载 python 数据挖掘(3)-- 数据特征分析
定量数据的分布分析这就不用多说了,直方图。求极差--> 设定组距-->决定分点 --> 统计频率定性数据的分布分析这也不用多说了,扇形图,条形图统计法对比分析折线图统计量分析均值,中位数,极差,标准之类的就不说了,介绍一下变异系数,它是 标准差除以平均值 。反映了标准差相对于均值的离中趋势。数据:catering_sale.xls#-*- cod...
2018-08-08 19:49:04
3553
转载 python 数据挖掘(2) -- 数据质量分析
数据质量分析是数据挖掘中数据准备过程重要的一环,是数据预处理的前提。数据质量分析的主要任务是检查原始数据中是否存在脏数据,脏数据包括缺失值,异常值,不一致的值等等。缺失值缺失值就是由于人为或其他任何原因导致的数据缺失问题,缺失值的处理分为删除存在缺失值的属性、对可能的值进行插补、不处理三种情况。异常值异常值就是不合理的数据,常用的检测方法如下:1) 简单的最大最小统计,比如用户...
2018-08-08 17:05:11
1230
转载 python 数据挖掘(1) -- 函数编程的优势和常见工具
函数编程函数编程主要是解决 python 语言效率低下的问题,尤其是python的循环。常见的函数有 map,reduce,filter# python列表解析函数虽然简洁,但是本身是使用python的循环,所以效率无法比拟 c/c++a = [1,2,3,4]a = [i+1 for i in a]# 使用 map 函数编程替代,性能可以媲美 c/c++a = map(lam...
2018-08-07 20:19:26
789
转载 TensorFlow 深度学习框架(14) -- 使用 RNN 进行自然语言建模
自然语言建模的目的就是为了计算一个句子出现的概率。把句子看做是单词的序列,于是自然语言模型计算的就是 p(w1,w2,..wn)。利用语音模型,可以确定哪个单词序列出现的可能性更大,或者给定若干个单词,可以预测下一个最可能出现的词语。那么如何计算一个句子的概率呢?首先一个句子可以被看做单词组成的序列。s = (w1,w2,w3 ... Wm) 其中 m 是下标,表示句子的长度。那么,它的概...
2018-07-31 19:20:02
1689
转载 TensorFlow 深度学习框架(13) -- 循环神经网络 RNN 简介
在我们处理的大多数网络结构中,虽然两层神经网络之间都有连接,但是,同一层的网络节点之间是独立的。但是往往一个神经网络的输出不仅仅与他的输入有关,还与之前的输入有关。循环神经网络通过上一时刻的状态来代替上一层的输入,并与新的输入一起组成一个输入序列,从而作为新的输入传入网络。也就是说,循环神经网络擅长解决与时间序列相关的问题。一个经典的循环神经网络示意图如下:设想一下,在自然语言处理领域,我...
2018-07-31 10:44:48
462
原创 爬虫实战 -- (爬取证券期货市场失信记录平台)
这里我们要通过实际展示爬取证券期货市场失信记录平台上的搜索数据。页面:http://shixin.csrc.gov.cn/honestypub 如下:我们现在要通过爬虫给定一个 姓名,机构代码 ,爬取获得的结果。这里主要说明两点:1. 这是一个动态网页,因此我采用 selenium 方法。2.这里的验证码图片并不在源码内,因此前面的通过 css 选择器直接下载的方式是不行...
2018-07-27 14:12:57
4901
转载 TensorFlow 深度学习框架(12)-- 多线程输入数据处理框架
(一)队列与多线程TensorFlow 提供了FIFIQueue 和 RandomShuffleQueue 两种队列。FIFOQueue 顾名思义就是先进先出的意思,RandomShuffleQueu 会将队列中的元素打乱,每次出队列操作得到的是当前队列所有元素中随机的一个。(在训练神经网络时会希望每次使用的训练数据尽量随机)在TensorFlow中,队列不仅仅是一种数据结构,还是异步计算...
2018-07-23 18:56:25
720
4
转载 TensorFlow 深度学习框架(11) -- 图像数据处理
图像编码处理图像在存储时并不是直接记录矩阵中的数字,而是经过压缩编码后的结果。所以要将一张图像还原成一个三维矩阵,需要解码的过程。TensorFlow 提供了对 jpeg 和 png 格式图像的编码/解码 函数。# 读取原始图像的数据import tensorflow as tfimport matplotlib.pyplot as pltimage_raw_data = tf....
2018-07-19 16:33:21
1109
转载 TensorFlow 深度学习框架(10) -- TFRecord 文件存储
TensorFlow 提供了 TFRecord 来统一输入数据的格式。tf.train.Example 中包含了一个从属性名称到取值的字典。其中属性名称为一个字符串,属性的值可以为 字符串(BytesList),实数列表(FloatList)或者整数列表(Int64List)。比如将一张解码前的图像存为一个字符串,图像所对应的类别编号存为整数列表。import tensorflow as t...
2018-07-19 10:34:39
570
转载 python 图像常用处理
python 有一个很方便的图像处理包,导入如下from PIL import Image(1)图片读取# 打开图片from PIL import Imageim = Image.open("xxx.ppm")'''im.format : 识别图像的源im.size : 图像的像素im.mode : L 为灰度图 RGB 为彩图 CMYK 为预压图像'''p...
2018-07-17 12:30:17
611
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人