- 博客(16)
- 收藏
- 关注
原创 自己动手实现神经网络分词模型
本文由**罗周杨stupidme.me.lzy@gmail.com**原创,转载请注明原作者和出处。原文链接:https://luozhouyang.github.io/deepseg分词作为NLP的基础工作之一,对模型的效果有直接的影响。一个效果好的分词,可以让模型的性能更好。在尝试使用神经网络来分词之前,我使用过jieba分词,以下是一些感受:分词速度快词典直接影响分词效果,对...
2018-12-07 12:25:08 3398
原创 矢量语义——从TF-IDF到Word2Vec你所需要知道的一切!
本文由罗周杨原创,转载请注明作者和出处。未经授权,不得用于商业用途斯坦福经典NLP教材Speech and Language Processing-Vector Semantics学习笔记。我们该如何表示一个单词的意思呢?你可能会想到其中的一种,用一个向量来表示一个单词!没错,这个章节就是讲单词的表示。文档和向量如果用向量来表示一个文档,该怎么表示呢?假设现在有四个文档,我们统计各个...
2018-10-19 16:48:00 8155 5
原创 Transformer的PyTorch实现
本文由罗周杨原创,转载请注明作者和出处。未经授权,不得用于商业用途Google 2017年的论文 Attention is all you need 阐释了什么叫做大道至简!该论文提出了Transformer模型,完全基于Attention mechanism,抛弃了传统的RNN和CNN。我们根据论文的结构图,一步一步使用 PyTorch 实现这个Transformer模型。Transf...
2018-10-19 16:42:42 43467 32
原创 tensorflow nmt源码解析
Tensorflow nmt源码解析 声明 本系列博客由 罗周杨 stupidme.me.lzy@gmail.com 原创,同步更新在多个平台,包括: csdn/stupid_3 github/luozhouyang 分享或转载请注明作者和原出处。 NMT即Neural Machine Translation,神经网络机器翻译。Google开源的tensor
2018-01-02 22:20:25 3025 3
原创 Naive Bayes分类器
Naive Bayes分类器Naive Bayes是一个概率分类器,也就是说,在文档d中,返回所有类别c中后验概率最大的类别c^\hat{c}c^:c^=argmaxP(c∣d)\hat{c}=\text{argmax}P(c\vert d)c^=argmaxP(c∣d)回顾一下贝叶斯法则:P(x∣y)=P(y∣x)P(x)P(y)P(x\vert y)=\frac{P(y\vert x)...
2018-10-19 16:40:43 464
原创 N-Grams
给一系列的词语计算概率的模型叫做语言模型(Language Models),其中,n-gram是最简单的一种。一个n-gram就是一个长度为N的词语组成的序列:N=2,则是2-gram(bigram)N=3,则是3-gram(trigram)一个简单的例子有一个任务,要计算P(w∣h)P(w\vert h)P(w∣h),即给定历史hhh计算www的概率。假设h=its wat...
2018-10-19 16:37:13 2989 1
原创 自己动手实现一个神经网络多分类器
本文由罗周杨stupidme.me.lzy@gmail.com原创,转载请注明作者和出处。未经授权,不得用于商业用途。不使用任何深度学习框架,实现一个简单的神经网络用来分类。 手把手带你搭建神经网络,包括损失函数的选择,已经手写反向传播代码。生成一些数据生成一些数据,这些数据不太容易线性分类。import numpy as npimport matplotlib...
2018-09-12 09:59:25 17536 1
原创 自己动手实现word2vec(skip-gram模型)
本文由罗周杨原创,转载请注明作者和出处。未经允许,不得用于商业用途学习word2vec的skip-gram实现,除了skip-gram模型还有CBOW模型。 Skip-gram模式是根据中间词,预测前后词,CBOW模型刚好相反,根据前后的词,预测中间词。那么什么是中间词呢?什么样的词才叫做前后词呢?首先,我们需要定义一个窗口大小,在窗口里面的词,我们才有中间词和前后词的定义。...
2018-09-12 09:56:54 3103 1
原创 Logistic regression逻辑回归笔记
想了解机器学习和深度学习?从逻辑回归(Logistic regression)开始吧!Logistic regression笔记
2018-08-05 17:10:34 297
原创 《Fluency Boost Learning and Inference for Neural Grammatical Error Correction》论文总结
今天看到微软亚洲研究院的一篇论文,通过Fluency boost learning提升模型性能,论文地址为: Fluency Boost Learning and Inference for Neural Grammatical Error Correction,有兴趣的同学可以去下载看看。在此我总结了一下这篇论文。 核心思想这篇论文的核心思想其实很简单,就是通过有效地增加训练数据,...
2018-07-22 16:24:08 1169
原创 Python实现的十多种字符相似度算法
最近因为工作需要,使用Python实现了常用的字符串相似度算法,一共超过十种。列举如下: * Levenshtein * NormalizedLevenshtein * WeightedLevenshtein * DamerauLevenshtein * OptimalStringAlignment * Jarowinkler * LongestCommonSubsequence ...
2018-06-21 22:08:25 2923 1
原创 从设计者的角度理解ThreadLocal
版权声明:本文为 罗周杨 stupidme.me.lzy@gmail.com 原创,未经授权不得转载。 本文将从设计者的角度着手解析ThreadLocal。如果你是设计者,你会怎么设计? 需求我们看到的代码都是某种需求的产物。假设有这样一个需求: 我有一些数据,我希望每一个线程都可以访问它,并且更新之后,不影响其他线程的值,也就是说,每一个线程对该数据都可以自由读写,线...
2018-04-24 20:39:28 502
原创 Tensorflow nmt的数据预处理过程
tensorflow nmt的数据预处理过程 在tensorflow/nmt项目中,训练数据和推断数据的输入使用了新的Dataset API,应该是tensorflow 1.2之后引入的API,方便数据的操作。如果你还在使用老的Queue和Coordinator的方式,建议升级高版本的tensorflow并且使用Dataset API。 本教程将从训练数据和推断数据两个方面,详解解
2018-01-26 00:00:24 5110
原创 Tensorflow nmt的超参数
Tensorflow nmt的超参数 超参数一般用来定义我们的神经网络的关键参数. 在tensorflow/nmt这个demo中,我们的超参数在 nmt.nmt 模块中配置.这也导致了nmt.py这个文件的代码行数比较多,我们完全可以把参数的配置放到单独的一个文件中去.nmt.py 这个文件也是整个项目的入口文件.如果你想了解这个demo的整体结构,请查看我的另一篇博客tensorfl
2018-01-25 23:57:18 3611 2
原创 Tensorflow nmt的整体结构
Tensorflow nmt的整体结构 tensorflow/nmt项目的入口文件是nmt/nmt.py,通过指定不同的参数,可以从该入口进入到训练或者推断流程。首先来看一看,进入不同流程的时候,做了什么。 程序入口 首先我们可以看到这两个函数: def main(unused_argv): default_hparams = create_hparams(FL
2018-01-25 23:52:36 3548 1
原创 使用Docker搭建tensorflow开发环境
使用Docker搭建tensorflow nmt开发环境Docker是目前最流行的容器技术. 可以将Docker看成轻量级的虚拟机,但是它非常轻量. 它像是一艘运输船,将开发或者运维等等过程中所需要的依赖全部打包到一个镜像(image)中, 任何人只需要将该镜像拉取下来, 就可以开箱即用, 不需要自己去安装一大堆依赖. 同时因为这些依赖都是运行在容器里面的, 不会污染宿主机的环境, 因此非常适
2018-01-03 21:55:33 2779
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人