nlp一些个人理解与实现
文章平均质量分 92
代码尽量通过tensorflow来实现,但是不直接调用类似tf.nn.rnn_cell这样的库
jiang199912
暂无
展开
-
无脑bert使用,你会了吗?
在这里使用的是keras_bert库,可以直接pip安装1.参数设置#! -*- coding:utf-8 -*-import re, os, json, codecs, gcimport numpy as npimport pandas as pdfrom random import choicefrom sklearn.preprocessing import LabelEnco...原创 2020-04-22 20:08:07 · 829 阅读 · 3 评论 -
transformer的实现+详细注释,不来看看吗
代码来源于这篇博客1.定义transformer类class Transformer(object): def __init__(self): def build_model(self): def positional_encoding(self): def add_embedding(self): def encoder(self): def decodr(self): def...原创 2020-04-18 16:13:27 · 1628 阅读 · 1 评论 -
nlp中mask的意义及如何使用
1.为什么要使用mask当我们处理一些序列任务时,一个batch中输入的序列可能是不等长的,这个时候我们一般会对序列进行padding处理,一般填充值为0,但是这个进而又会导致一些问题。进行特征提取时的最大池化与平均值池化计算出现偏差梯度回归时可能会因为计算了填充值,而导致算法准确度下降softmax计算概率时填充部分会分一部分概率,导致真正有意义的部分概率和不为1因为这些存在的问题...原创 2020-04-13 20:34:31 · 2384 阅读 · 0 评论 -
seq2seq+attention使用tensorflow实现不调用接口
实现一个简单的seq2seq模型,基于我的上篇博客数据处理1.数据预处理with open('letters_source.txt', 'r', encoding='utf-8') as f: source_data = f.read()with open('letters_target.txt', 'r', encoding='utf-8') as f: target_...原创 2020-04-09 20:41:47 · 187 阅读 · 0 评论 -
rnn变种的完全图解
转载:何之源大佬的rnn变种的完全图解转载 2020-04-08 22:01:09 · 304 阅读 · 0 评论 -
lstm实现tensorflow不使用tf.nn.rnn_cell
本文是对上篇博客的代码改进,就是将rnn改成lstm。具体的改动大约是这几个地方1.lstm_cell实现def lstm_cell(rnn_input, pre_output, memory): #输入门 with tf.variable_scope('input_gate',reuse=tf.AUTO_REUSE): wi = tf.get_variable('...原创 2020-04-08 15:07:27 · 717 阅读 · 3 评论 -
textcnn文本分类简单实现
1.导入库import pandas as pdimport numpy as npimport tensorflow as tfimport jiebaimport osfrom tensorflow.contrib import slim2.读取数据train_data = pd.read_csv("train.txt", sep='\t', names=['label', ...原创 2020-04-03 15:42:20 · 816 阅读 · 0 评论 -
word2vec记录
记录一下以skip-gram为例1.W为词向量矩阵,存储着v个n长度的词向量2.因为矩阵过于大,且过于稀疏,因此tf.matmul(x,W)采用根据x的向量索引进行查W表来进行代替,具体代码为embedding = tf.Variable(tf.random_uniform([vocab_size, embedding_size], -1,1))embed = tf.nn.embedd...原创 2020-03-31 15:32:29 · 140 阅读 · 0 评论 -
dnn预测房价
1.导入库import tensorflow as tfimport pandas as pdimport numpy as npfrom sklearn.datasets import load_bostonimport matplotlib.pyplot as pltfrom sklearn.preprocessing import scalefrom sklearn.model...原创 2020-04-01 14:45:44 · 908 阅读 · 0 评论 -
lstm的理解
lstm的模型图如下其中xt为当前时刻的输入,ct-1为上一个时刻的记忆,ht-1为上一个时刻的输出分为输入门,遗忘门,输出门,三个门来实现1.遗忘门:遗忘门是用来计算上一时刻的记忆保存多少,计算方式为ft=sigmoid(Wf*[ht-1,xt]+bf),这个计算出是一个0,1之间的数字2.输入门:输入门是用来计算当前状态的记忆,计算方式为it = sigmoid(Wi*[ht-...原创 2020-04-06 22:24:11 · 1736 阅读 · 0 评论 -
TextCNN tensorflow实现
1.导入库import osimport numpy as npimport tensorflow as tffrom tensorflow.contrib import slim2.定义TextCNN类class TextCNN(object): def __init__(self): def model(self): def fit(self): def batch_it...原创 2020-04-02 15:25:17 · 1125 阅读 · 0 评论 -
rnn实现不使用tf.nn.rnn_cell
参考这篇文章写的1.导入模块import tensorflow as tfimport pandas as pdimport numpy as npimport matplotlib.pyplot as plt2.获取数据def get_data(size = 40000): X = np.array(np.random.choice(2, size=(size))) ...原创 2020-04-07 15:12:31 · 369 阅读 · 0 评论