自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 收藏
  • 关注

原创 模型加载Glove的预训练Embedding

给自己的模型加载Glove预训练Embedding

2022-08-09 15:40:03 906 1

原创 TDEER: An Efficient Translating Decoding Schema for Joint Extraction of Entities and Relations 论文笔记

TDEER: An Efficient Translating Decoding Schema for Joint Extraction of Entities and Relations -------EMNLP 2021在实体关系抽取中,通用的方法是通过预测实体对来获得相应的关系,进而得到关系三元组。然后如何有效地处理这一任务仍然具有挑战性,尤其是对于重叠三元组问题。因此,为了解决这个问题,作者提出了基于翻译解码机制的实体关系联合抽取模型(TDEER: Translating Decoding

2021-12-27 11:34:28 1831 3

原创 正则表达式

匹配所有字符.匹配自定义字符,方括号内为或的关系,会匹配出现在方括号内的字符 [abcd]匹配除了方括号内字符以外的字符 [^abcd]匹配所有小写字符[a-z]匹配所有大写字符[A-Z]匹配所有数字[0-9]匹配除了空格以外的所有字母和数字[a-zA-Z0-9]匹配所有的单词字符\w匹配所有的数字字符\d匹配空格字符\s空白字符可能包含空格和制表符,所以可用下面匹配空白字符/\s/g匹配0个a或.

2021-09-01 19:55:06 345

原创 docker常用命令

查看镜像docker images拉取镜像docker image pull <repository>:<tag><repository>:仓库名称,如:pytorch, ubuntu<tag>:版本号,如:latest, 0.2等等等删除镜像docker rmi [IMAGE ID]启动docker镜像并将本地服务器上的指定目录挂载到docker容器中的目录下docker run --gpus all -it -v .

2021-08-04 20:45:15 382

原创 Python数据处理

将json数据按行读取到列表中def loaddata(path): jsonlist = [] with open(path,encoding='utf-8') as file: for line in file.readlines(): line = json.loads(line) # 将line数据格式化为字典 line = json.dumps(line, ensure_ascii=False) # 将字典转化为字符

2021-08-03 21:13:41 251

原创 深度学习中的损失函数

损失函数以一个真实值(y)和一个预测值(ŷ)作为输入,并产生一个实值分数。这个分数越高,模型的预测就越差。Mean Squared Error Loss对于网络输出(ŷ)和目标(y)为连续值的回归问题,一个常见的损失函数是均方误差(MSE):MSE是预测值和目标值之间差的平方的平均值。还有一些其他的损失函数可以用于回归问题,比如平均绝对误差(MAE)和均方根误差(RMSE),但它们都涉及到计算输出和目标之间的实值距离。Categorical Cross-Entropy Loss类别交叉熵损失通

2021-05-19 15:11:55 1192 1

原创 深度学习中的激活函数

激活函数是在神经网络中引入的非线性函数,用于捕获数据中的复杂关系。Sigmoidsigmoid函数是神经网络历史上最早使用的激活函数之一。它取任何实数并将其压缩到0到1之间。数学上,sigmoid函数表示如下:从表达式中很容易看出,sigmoid函数曲线是一个光滑的、可微的函数。正如我们可以从图中观察到的,对于大多数输入,sigmoid函数很快达到饱和(即产生极值输出)。这可能会成为一个问题,因为它可能导致梯度变成零或发散到一个溢出的浮点值。这些现象也被称为梯度消失问题和爆发梯度问题。因此,在神

2021-05-19 14:06:35 1085 9

原创 数据预处理(二):将数据处理成bert模型的输入数据格式

导入需要的包import torchimport osimport pickle as pklfrom tqdm import tqdmfrom torch.utils.data import datasetMAX_VOCAB_SIZE = 20000 # 词表长度限制UNK, PAD = '<UNK>', '<PAD>' # 未知字,padding符号class TextMatchDataset(dataset.Dataset): de.

2021-04-21 00:42:25 3392

原创 数据预处理(一):源数据的处理与写入

需求:将所有文件下的A类数据的训练集、验证集和测试集分别整合到一起,B类数据的训练集、验证集和测试集分别整合到一起。将要处理的数据文件放至data文件下,如下:数据格式如下:导入所需要的包import osimport jsonfrom tqdm import tqdm文件路径及目录相关操作data_path = "data/" # 根路径path_list = os.listdir(data_path) # 获取根路径下的文件目录print(path_list..

2021-04-20 22:03:37 965 5

原创 Pandas、Numpy使用笔记(更新中)

读取csv文件data = pd.read_csv('路径/文件名.csv',encoding='utf-8')按行读取数据data = data[: n] # 取前n行按列读取数据data = data[['列名1', '列名2']]将某列中的特定值进行替换data['列名'] =data['列名'].replace('被替换值', '替换值') 按列名删除列data = data.drop(columns=['列名1','列名2'], axis=1)按.

2021-03-13 21:26:01 280

翻译 1 - BiLSTM for PoS Tagging

文章目录引言准备数据构建模型训练模型推理完整代码引言在本系列中,我们将构建一个机器学习模型,使用PyTorch和TorchText为输入序列中的每个元素生成输出。具体来说,我们将输入一个文本序列,模型将为输入文本中的每个标记输出一个词性(PoS)标记。这也可以用于命名实体识别(NER),其中每个标记的输出将是实体的类型(如果有的话)。在本笔记中,我们将实现一个多层双向LSTM (BiLSTM),以使用Universal Dependencies English Web Treebank (UDPOS)

2021-03-04 15:03:14 667 1

原创 【论文笔记】K-BERT: Enabling Language Representation with Knowledge Graph

摘要BERT虽然能够从大规模的语料库中捕获通用的语言表示信息,但是缺少特定领域的知识。针对这一点,论文中的作者提出了融入知识图谱(KGs)的K-BERT模型,作者是通过将三元组注入到句子中作为特定的知识。但如果融入太多的知识可能会使原句子偏离正确的语义,称之为知识噪声(KN)问题。为了解决此问题,作者引入了软位置和可视化矩阵来限制知识对原句子的影响。引言当阅读领域的文本时,普通人只能根据上下文来理解,但是专家有能力借助相关的领域知识来进行推断。因此作者打算预训练一个包含特定领域知识的模型。如果KG.

2021-02-21 18:29:05 558

原创 Linux下常用命令集合(更新中)

root用户切换到普通用户su - user_name普通用户切换到root用户sudo -i切换到指定目录下cd /usr/xx/xx将目录权限授权给其他用户chown -R 用户名称 目录名称使用清华源 pip installpip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow中断当前程序快捷键:Ctrl+c查看显卡使用情况nvidia-smi查看所有进.

2021-02-08 14:45:24 292 1

原创 加载、保存和冻结嵌入

这个笔记将包含:如何在TorchText中加载自定义字嵌入,如何保存我们在培训期间学习的所有嵌入,以及如何在培训期间冻结/解冻嵌入。加载自定义的嵌入首先,让我们看看如何加载自定义嵌入集。嵌入需要格式化,每一行都以单词开头,后面跟着嵌入向量的值,以空格分隔。所有的向量都需要有相同数量的元素。让我们看看这些教程提供的自定义嵌入,下面是7个单词的20维嵌入。with open('custom_embeddings/embeddings.txt', 'r') as f: print(f.read(

2021-01-27 17:31:45 372

原创 使用TorchText处理我们自己的数据集

TorchText可以读取三种数据格式:json, tsv (tab separated values 制表分隔值)和csv(comma separated values 逗号分隔值)。处理JSON数据从json开始,你的数据必须是json行格式,也就是说,它必须是这样的:{"name": "John", "location": "United Kingdom", "age": 42, "quote": ["i", "love", "the", "united kingdom"]}{"name":

2021-01-26 20:59:13 2408 2

翻译 (六)使用Transformers进行情感分析

文章目录准备数据搭建模型训练模型推断完整代码在本笔记本中我们将使用在本论文中介绍的Transformer模型。具体来说,我们将使用来自这篇论文中的BERT(Bidirectional Encoder Representations from Transformers)模型。Transformer模型比之前笔记中介绍的任何模型都要大得多。因此,我们将使用transformers library获得预先训练的transformers,并使用它们作为我们的嵌入层。我们将冻结(而不是训练)transformer

2021-01-25 21:45:48 7130 7

翻译 (五)使用CNN实现多分类的情感分析

文章目录准备数据搭建模型训练模型用户输入完整代码在之前的所有笔记中,我们已经对只有两个类别的数据集(正面或负面)进行了情感分析。当我们只有两个类时,我们的输出可以是一个标量,限制在0和1之间,表示示例属于哪个类。当我们有两个以上的分类时,我们的输出必须是一个CCC维向量,其中CCC是类的数目。在本笔记中,我们将对一个有6个类的数据集进行分类。请注意,这个数据集实际上不是一个情感分析数据集,它是一个问题数据集,任务是对问题所属的类别进行分类。但是,本笔记本中所涵盖的内容适用于包含属于CCC类之一的输入序列

2021-01-19 20:55:20 3704

翻译 (四)使用CNN实现文本情感分析(Pytorch)

文章目录准备数据搭建模型实现细节训练模型用户输入完整代码在之前的笔记中,我们设法使用RNNs和 Bag of Tricks for Efficient Text Classification中的FastText模型实现了约85%的测试准确率。在这篇笔记中,我们将使用卷积神经网络(CNN)进行情感分析,实现 Convolutional Neural Networks for Sentence Classification这篇论文中的模型。注意:本教程不是为了全面介绍和解释cnn。要获得更好更深入的解释,请

2021-01-18 18:10:59 6675

翻译 (三)使用FastText模型进行文本情感分析(Pytorch)

在上一篇笔记中,我们使用了所有常用的情感分析技术,成功地达到了大约84%的测试精度。在本笔记本中,我们将实现一个模型,得到可比的结果,同时训练效果明显更快,使用大约一半的参数。更具体地说,我们将实现来自论文Bag of Tricks for Efficient Text Classification的“FastText”模型。准备数据FastText论文的一个关键概念是,它们计算输入句子的n-gram,并将它们附加到句子的末尾。这里,我们用bi-grams。简单地说,bi-gram是在一个句子中连续出现

2021-01-17 16:52:42 2109

翻译 (二)升级版RNN实现文本情感分析(Pytorch)

文章目录准备数据搭建模型不同的RNN架构Bidirectional RNNMulti-layer RNNRegularization实现细节训练模型用户输入后续行动在前面的笔记中,我们记下了基本面,以便进行情绪分析。在这个笔记本里,我们会得到不错的结果。我们将使用:packed padded sequencespre-trained word embeddingsdifferent RNN architecturebidirectional RNNmulti-layer RNNregula

2021-01-16 16:36:29 2655 4

翻译 (一)简单版RNN实现文本情感分析(Pytorch)

在本系列教程中,我们将使用PyTorch和TorchText构建一个机器学习模型来检测情感(即检测句子是积极的还是消极的)。这将使用电影评论上的IMDb数据集完成。在第一篇笔记中,我们将从非常简单的概念开始理解,而不是真正关心好的结果。接下来的笔记将建立在这些知识之上,我们会得到很好的结果。文章目录引言数据预处理搭建模型训练模型后续行动引言我们将使用循环神经网络(RNN),因为它们通常用于分析序列。RNN接受单词序列,X={x1,…,xT}X=\{x_1,…, x_T\}X={x1​,…,xT​},

2021-01-09 23:47:49 7308 4

翻译 Attention is All You Need(Pytorch实现)

在本笔记中,我们将实现一个(稍作修改的版本)的 Attention is All You Need 论文中的transformer模型。本笔记本中的所有图像都将取自transformer 论文。有关Transformer的更多信息,请参见这三篇文章。引言与卷积序列到序列模型类似,Transformer不使用任何递归,它也不使用任何卷积层。相反,该模型完全由线性层、注意力机制和规范化组成。截止到2020年1月,transformer是NLP的主要架构和用于实现许多任务的最先进的结果,并且似乎在不久的将来

2020-12-30 22:06:32 3165 4

翻译 卷积序列到序列模型的学习(Convolutional Sequence to Sequence Learning)

文章目录Introduction数据预处理搭建模型EncoderConvolutional BlocksEncoder的实现DecoderDecoder Convolutional BlocksDecoder的实现Seq2Seq训练模型推断BELU完整代码在本笔记本中,我们将实现论文Convolutional Sequence to Sequence Learning模型。Introduction这个模型与之前笔记中使用的先前模型有很大的不同。根本没有使用任何循环的组件。相反,它使用通常用于图像处理

2020-12-25 22:50:32 2065 1

翻译 添加了Packed padded sequence和mask机制的Seq2Seq(Attention)模型

Introduction在这个笔记本中,我们将相对于上一个模型添加一些改进,添加Packed padded sequence和mask机制。Packed padded sequence用于告诉RNN跳过编码器中的填充tokens。mask显示地强制模型忽略某些值,比如忽略对填充元素的关注。这两种技术在NLP中都很常用。我们也会观察如何使用我们的模型进行推理,给它一个句子,观察它翻译成什么,观察它在翻译每个单词时到底注意了什么地方。最后,我们将使用RELU度量来衡量我们的翻译质量。数据预处理首先,

2020-12-22 16:06:44 1022 2

翻译 可视化神经机器翻译模型(基于注意力机制的Seq2Seq模型)

Sequence-to-sequence序列到序列模型是深度学习模型,已在机器翻译、文本摘要和图像字幕等任务中取得了很多成就。Google Translate于2016年底开始在生产中使用这种模型。这两篇先锋论文对这些模型进行了解释 (Sutskever et al., 2014, Cho et al., 2014).但是,我发现,要充分理解模型以实现模型,就需要阐明一系列相互叠加的概念。我认为,如果可视化方式表达这些想法中的一堆会更容易理解。这就是我在这篇文章中要做的。您需要对深度学习有一些先前的了解,

2020-12-21 21:46:19 967 2

翻译 Seq2Seq(Attention)的Pytorch实现

1、导入所需要的包import torchimport torch.nn as nnimport torch.optim as optimimport torch.nn.functional as Ffrom torchtext.datasets import Multi30kfrom torchtext.data import Field, BucketIteratorimport spacyimport numpy as npimport randomimport math.

2020-12-17 17:46:18 1292 3

原创 使用CNN模型(Pytorch)实现文本情感分类

training on cudaepoch 1, loss 0.4792, train acc 0.763, test acc 0.844, time 7.9 secepoch 2, loss 0.1616, train acc 0.862, test acc 0.872, time 7.9 secepoch 3, loss 0.0682, train acc 0.918, test acc 0.881, time 7.9 secepoch 4, loss 0.0289, train acc 0.

2020-11-25 22:59:35 2859 7

原创 使用RNN模型(Pytorch)实现文本情感分类

导入所需要的包import collectionsimport osimport randomimport tarfileimport torchfrom torch import nnimport torchtext.vocab as Vocabimport torch.utils.data as Dataimport time基本参数配置os.environ["CUDA_VISIBLE_DEVICES"] = "0"device = torch.device('cuda.

2020-11-24 21:21:18 3807 19

原创 Python将换行符替换成空格

corpus_chars.replace('\n', ' ').replace('\r', ' ')

2020-11-23 19:40:00 5647

原创 python解压并读取文件

import zipfilewith zipfile.ZipFile('E:\data\jaychou_lyrics.txt.zip') as zin: with zin.open('jaychou_lyrics.txt') as f: corpus_chars = f.read().decode('utf-8')

2020-11-23 19:38:58 1220

原创 Word2Vec的Pytorch实现(二)

所需导入的包import collectionsimport mathimport randomimport sysimport timeimport osimport torch.utils.data as Dataimport torchimport torch.nn as nn1、读取并处理数据集assert 'ptb.train.txt' in os.listdir("../data/ptb")with open('../data/ptb/ptb.train.tx.

2020-10-22 11:28:36 386

原创 Word2Vec的PyTorch实现(一)

import torchimport numpy as npimport torch.nn as nnimport torch.utils.data as Dataimport matplotlib.pyplot as pltimport torch.optim as optimizerdevice = torch.device("cuda" if torch.cuda.is_available() else "cpu")dtype = torch.FloatTensorsentence

2020-10-18 13:51:13 730

原创 NNLM的Pytorch实现

import torchimport torch.nn as nnimport torch.optim as optimizerimport torch.utils.data as Datadtype = torch.FloatTensorsentences = ['i like cat','i love coffee','i hate milk']sentences_list = " ".join(sentences).split() # ['i', 'like', 'cat', 'i',

2020-10-15 00:08:37 461

原创 iloc[:, 1:-1]索引切片操作

import pandas as pddf = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6], 'C':[7,8,9], 'D':[1,3,5], 'E':[5,3,6], 'F':[7,4,3]})print(df)print(df.iloc[:, :-1])D:\dev\an

2020-10-13 14:01:23 20737 1

原创 softmax回归的从零开始实现

import torchimport torchvisionimport numpy as npimport sysimport d2lzh_pytorch as d2l# 1、获取和读取数据batch_size = 256def load_data_fashion_mnist(batch_size, resize=None, root='~/Datasets/FashionMNIST'): """Download the fashion mnist dataset and then

2020-10-11 23:50:24 458

原创 线性回归的简洁实现

import torchimport numpy as npimport torch.utils.data as Dataimport torch.nn as nnfrom torch.nn import initimport torch.optim as optim# 1、生成数据集num_inputs = 2num_examples = 1000true_w = [2,-3.4]true_b = 4.2features = torch.tensor(np.random.norma

2020-10-10 16:23:59 156

原创 线性回归的从零开始实现

import torchfrom IPython import displayfrom matplotlib import pyplot as pltimport numpy as npimport random# 1、生成数据集# 训练数据集样本数为1000,输入个数(特征数)为2# 线性回归模型真实权重 w=[2,−3.4] 和偏差 b=4.2num_inputs = 2num_examples = 1000true_w = [2,-3.4]true_b = 4.2# 生成的数

2020-10-09 23:36:39 501

原创 文本分类

朴素贝叶斯分类器demo_text_classification.pyfrom pyhanlp import *from tests.test_utility import ensure_datasogou_corpus_path = ensure_data('搜狗文本分类语料库迷你版','http://file.hankcs.com/corpus/sogou-text-classification-corpus-mini.zip')NaiveBayesClassifier = SafeJCla

2020-08-31 11:27:08 628 1

原创 文本聚类

demo_text_clustering.pyfrom pyhanlp import *ClusterAnalyzer = JClass('com.hankcs.hanlp.mining.cluster.ClusterAnalyzer')if __name__ == '__main__': analyzer = ClusterAnalyzer() analyzer.addDocument("赵一", "流行, 流行, 流行, 流行, 流行, 流行, 流行, 流行, 流行, 流行,

2020-08-31 11:12:26 196

原创 信息抽取

新词提取demo_extract_word.pyfrom pyhanlp import *from tests.test_utility import ensure_dataimport osHLM_PATH = ensure_data("红楼梦.txt", "http://file.hankcs.com/corpus/红楼梦.zip")XYJ_PATH = ensure_data("西游记.txt", "http://file.hankcs.com/corpus/西游记.zip")SHZ_

2020-08-31 10:57:18 719

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除