自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 资源 (4)
  • 收藏
  • 关注

原创 Linux常用命令

Linux常用操作命令

2022-08-23 19:40:47 281 1

原创 将本地python项目上传至pypi

对本地的python项目编写setup.py,打包项目后上传至pypi

2022-07-05 10:10:09 233

原创 npm安装以及neo4jd3学习

安装npm和cnpm首先从官网https://nodejs.org/en/下载.比如下载是是node-v12.16.3-linux-x64.tar.xztar -Jxf node-v12.16.3-linux-x64.tar.xzsudo mv node-v12.16.3-linux-x64 /usr/local sudo ln -s /usr/local/node-v12.16.3-linux-x64/bin/node /usr/local/bin/nodesudo ln -s /usr/

2022-04-09 21:56:19 753

原创 transformers中生成模型(GenerationModel)如何获取生成路径的分数

import transformersprint(transformers.__version__)from transformers import BertTokenizer, BartForConditionalGenerationbart_path="/home/xhsun/NLP/huggingfaceModels/Chinese/chinese-bart-base/"tokenizer = BertTokenizer.from_pretrained(bart_path)model = B

2022-04-07 14:03:47 4630 4

原创 neo4j安装

安装https://neo4j.com/download-center/#community在官网上下载。当前主机是Ubuntu20.24,java版本是下载后解压tar -zxvf neo4j-community-4.4.5-unix.tar.gzcd neo4j-community-4.4.5配置远程访问vim conf/neo4j.conf把neo4j.conf中原始的几行改成如下几行dbms.default_listen_address=0.0.0.0dbms.connec

2022-03-29 20:57:28 508

原创 matplotlib中文显示

import matplotlib.pyplot as pltfrom matplotlib.font_manager import FontManagerfrom pylab import mplimport subprocessdef get_matplot_zh_font(): fm = FontManager() mat_fonts = set(f.name for f in fm.ttflist) output = subprocess.check_output

2022-03-28 16:20:42 737

原创 基于TransferNet和nlpcc2018知识图谱搭建问答服务

GitHub仓库问答服务的构建postman请求:后台日志:

2021-12-10 16:26:26 807

原创 测试基于sentence-transformers和Faiss搭建的检索服务的耗时情况

前期准备安装包faiss-cpu==1.7.0机器配置我用的是cpu,30核104线程数实验参数主要考虑两个实验参数,即向量个数和向量维度其中向量维度主要实验512和768两个维度而主要实验向量个数,向量个数对时间的影响很大。每组实验循环查询500次,召回个数为5(这个参数对耗时无影响),取平均消耗时间:向量个数向量维度平均耗时8000512/768/10000512/768/15000512/768/20000512/768/

2021-11-29 10:15:15 912

原创 简要总结一篇关于知识图谱嵌入的综述

综述链接引言回顾word2vec,一个典型的例子:vking−vman≈vqueen−vwomanv_{king}-v_{man}\approx v_{queen}-v_{woman}vking​−vman​≈vqueen​−vwoman​需要知道的是,king和man之间的关系是皇室(royal),queen和woman之间的关系也是royal。可以看出,从大规模语料中学习得到的词向量可以建模单词之间的相似关系,这种关系体现在词嵌入空间中的翻译(translations)。同样的,国家和城

2021-11-13 16:11:09 1219

原创 排版总结系列(一)

latexwindows安装texstudiotexstudio简单使用latex简单语法伪代码流程algorithm写法wordword中双栏排版出现错位的问题

2021-11-10 19:38:01 237

原创 排版总结系列(一)

latexwindows安装texstudiotexstudio简单使用latex简单语法伪代码流程algorithm写法wordword中双栏排版出现错位的问题

2021-11-10 19:36:12 223

原创 排版问题系列(一)

latexwindows安装texstudiotexstudio简单使用latex简单语法伪代码流程algorithm写法wordword中双栏排版出现错位的问题

2021-11-10 19:34:06 256

原创 EmbedKGQA论文简要解读

KGQA与KGE关于KGQA以及知识图谱嵌入的签简单介绍可以看之前的两篇博客:KGQA概览知识图谱嵌入简单介绍这篇论文就是结合知识图谱嵌入(KGE)来进行多跳知识问答EmbedKGQA论文源代码MetaQA数据实验数据集是MetaQA数据集,该数据集是基于电影知识图谱的电影问答。下载链接提供的KG我们需要提供的KG,因为我们要预先训练KG中每一个实体的embedding。KG如下:比如,用ComplEx这个KGE模型训练MetaQA知识图谱得到的结果:提供的QA数据提供的

2021-11-08 11:03:20 2544 4

原创 简单实现几篇知识图谱嵌入(Knowledge Graph Embedding,KGE)模型

两个问题KGE可以用来做什么?KGE的诸多方法?下面来聊聊上面提出的两个问题KGE可以用来做什么?知识图谱KG,特别是开放域知识图谱,一定是不完整的,因为不可能穷举所有实体,而实体之间的各种关系也不可能都一一存在。连接预测(link prediction)任务,也叫知识图谱补全。就是利用当前KG中的实体和关系去推理出新的实体或者关系。比如给定(h,r,?),其中h是头实体,r是关系,我们想知道尾实体是什么。或者给定(h,?,t),想知道r是什么。这就是连接预测任务,目的是补全知识图谱。有

2021-11-07 20:43:07 7927 8

原创 KGQA概览

符号说明符号说明备注E\mathcal{E}E所有实体的集合L\mathcal{L}L所有literal值的集合三元组(姚明,身高,2.26m)中的2.26m就是literal,它不算实体。P\mathcal{P}P所有关系的集合关系既可以是连接两个实体的关系,如国籍,也可以连接实体和literal之间的关系,如上一行所示。tttt∈E×P×(E∪L)t\in \mathcal{E}\times\mathcal{P}\times(\mathcal{E}

2021-11-02 18:58:17 1722

原创 复现ESimCSE论文

复现ESimCSE论文

2021-10-20 19:10:23 1681

原创 PyTorch+BERT实现文本分类任务(少于80行代码)

本文主要介绍一个框架nlp-basictasksnlp-basictasks是利用PyTorch深度学习框架所构建一个简单的库,旨在快速搭建模型完成一些基础的NLP任务,如分类、匹配、序列标注、语义相似度计算等。下面利用该框架实现BERT模型做文本分类任务导入包import sys,osimport pandas as pdimport randomimport numpy as npfrom nlp_basictasks.tasks import clsfrom nlp_basictas

2021-09-16 10:12:02 1862 2

原创 BERT结合Faiss实现问答检索(少于50行代码)

本文主要介绍一个框架nlp-basictasksnlp-basictasks是利用PyTorch深度学习框架所构建一个简单的库,旨在快速搭建模型完成一些基础的NLP任务,如分类、匹配、序列标注、语义相似度计算等。下面利用该框架实现问答检索所谓检索,就是将本地所有待检索的每一个句子编码成一个向量,将这些向量存储起来,称之为索引index。然后针对用户的问题query,将其编码为一个对应的向量query_vector,计算query_vector和索引中每一个vector的相似度,得到相似度最高的几个ve

2021-09-16 09:57:57 1588 1

原创 BERT+CRF实现命名实体识别(NER)任务(少于100行代码)

本文主要介绍一个框架nlp-basictasksnlp-basictasks是利用PyTorch深度学习框架所构建一个简单的库,旨在快速搭建模型完成一些基础的NLP任务,如分类、匹配、序列标注、语义相似度计算等。下面利用该框架实现BERT+CRF模型做NER任务数据集介绍数据集来源来源CLUE实体识别数据集导入包import torch,jsonimport sys,osimport pandas as pdimport randomimport numpy as npfrom nl

2021-09-16 09:38:33 4885 24

原创 git添加.gitignore

.gitignore的作用是使得push时忽视.gitignore中的文件在当前仓库目录下vim .gitignore写入你想要忽视的文件比如写入*/.txt。这就代表忽视该仓库下所有文件夹中后缀为txt的文件接下来git rm -r --cached .git status --ignoredgit add .git commit -m "add .gitignore"git push...

2021-08-28 11:55:26 460

原创 安装Milvus并且跑通question-answering示例

docker配置安装dockercurl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun查看docker是否在运行: /etc/init.d/docker status如果没有运行则启动docker: sudo /etc/init.d/docker start解决非root不能运行dockersudo groupadd dockersudo usermod -aG docker $USERnewgrp dock

2021-07-16 17:52:04 609

原创 Ubuntu 安装CUDA, cuDNN, miniconda,配置环境,安装torch-gpu,然后配置jupyter notebook

零、pip镜像源阿里云https://mirrors.aliyun.com/pypi/simple/清华https://pypi.tuna.tsinghua.edu.cn/simple/一、conda1.1 conda的安装下载minicondahttps://docs.conda.io/en/latest/miniconda.html安装bash xxx.sh# 刷新环境变量source ~/.bashrc确认是否安装成功conda --versio

2021-06-27 15:34:27 1282 1

原创 transformers的AutoTokenizer和BertTokenizer

也就是说AutoTokenizer是又一层的封装,避免了自己写attention_mask以及token_type_ids

2021-06-25 14:15:44 9780

原创 Docker下的Ubuntu安装python3.6

安装python3.6cat /etc/apt/sources.listapt-get updateapt-get install software-properties-commonadd-apt-repository ppa:deadsnakes/ppaapt-get updateapt-get install python3.6安装pipapt-get install python3-pip

2021-06-23 13:52:46 429

原创 [email protected]: Permission denied (publickey).

ssh-keygen -t rsa -C “qq邮箱”cat ~/.ssh/id_rsa.pub将cat出的内容复制到https://gitee.com/profile/sshkeysssh -T [email protected]出现access

2021-06-18 19:40:42 257

原创 总结面试中的一些问题(强化学习相关)

DQN简述DQN的原理DQN就是利用神经网络近似最优动作价值函数,DQN存在的问题

2021-03-16 20:47:48 511 1

原创 中缀转前缀(后缀)表达式,前缀(后缀)表达式求值

中缀转前缀eg: (3+5)*7我们按照如下步骤将其转换为前缀表达式:由于前缀表达式要求运算符在操作数之前,所以必须从后向前扫描中缀表达式定义prefix=[]扫描到7,一个操作数什么也干不了,所以prefix=[7]扫描到*,此时什么也干不了,先记住*号扫描到5,5和7之间由于有括号,不能算乘法,所以prefix=[5,7]扫描到+,由于括号的存在,此时什么也干不了,记住+号扫描到3,由于3和5可以算加法,所以prefix=[+,3,5,7]由于3+5的结果可以和7算乘法,所以pre

2021-03-03 19:11:19 645

原创 transformer结构

前期准备nn.ModuleListModuleList是一个容器,可以存储各种module,类似于python的list,可以存储各种类型的数据。不同的是ModuleList会将存储的module自动注册到网络,也就是说网络的参数已经包含了ModuleList中存储的各个模块的参数class Network(nn.Module): def __init__(self): super(Network,self).__init__() self.modulelist

2021-03-02 21:15:13 403 1

原创 朴素贝叶斯

简单说明原理当我们想用朴素贝叶斯算法进行文本分类时:我们的一个样本就是一个句子和它的标签,即:{(x(i),y(i)}\{(x^{(i)},y^{(i)}\}{(x(i),y(i)}指的是第iii个样本x(i)x^{(i)}x(i)和对应标签y(i)y^{(i)}y(i),如果是二分类,那么y(i)y^{(i)}y(i)要么是0,要么是1.x(i)x^{(i)}x(i)有mmm个属性,这里的mmm其实就是指x(i)x^{(i)}x(i)有mmm个单词。因为我们是根据这mmm个单词来对x(i)x^{(i

2021-02-28 20:13:18 160

原创 总结面试中的一些问题(深度学习相关)

DropoutDropout原理Dropout是指在训练神经网络的时候,每当传入一批数据时,对于某一层来说,会以一定的概率p随机丢弃一些神经元。从而可以缓解过拟合的问题。那么为什么丢弃神经元可以缓解过拟合呢?可以从多个角度解释,但是本质都是正则化。通过丢弃神经元,网络的参数会变少,通过减少网络参数可以缓解过拟合问题;由于丢弃神经元的随机性,每当传入一批数据,整个网络的结构就会有少许变化,这个过程会减少全体神经元之间的联合适应性,而且测试阶段通过乘以对应的(1-p)可以达到集成所有模型的目的,从而

2021-02-24 21:05:51 217

原创 总结面试中的一些问题(机器学习相关)

逻辑回归简述和推导LR逻辑回归是一个判别模型(直接对P(y∣x;θ)P(y|x;\theta)P(y∣x;θ)建模)。LR的本质思想就是以对数似然函数为目标函数的最优化问题,优化方法通常采用梯度下降法。逻辑回归就是在线性回归的基础上添加一个sigmoid激活函数将数据的线性组合后的值映射在(0,1)区间内,从而实现二分类任务。我们知道sigmoid激活函数σ(x)=11+e−x\sigma(x)=\frac{1}{1+e^{-x}}σ(x)=1+e−x1​设模型的参数是θ\thetaθ,那么

2021-02-23 21:19:46 155

原创 解读(Solving Math Word Problems with Multi-Encoders and Multi-DEcoders)的代码(模型部分)

数据处理数据处理部分见数据处理部分我们已经知道,prepare_train_batch函数返回14个变量每一个变量都是一个列表,有batch个元素id_batches[i]代表的是第i个batch中batch个问题的idinput1_batches[i]代表的是第i个batch中的batch个问题,每一个问题文本的id序列,根据这些id就可以查找对应的词向量input2_batches[i]代表的是第i个batch中的batch个问题,每一个问题文本对应的词性标注的id序列,因为要将每一个单词

2021-02-22 20:56:20 742

原创 Jupyter not connection to kernel

pip uninstall tornadopip install tornado==5.1.1

2021-02-22 14:18:54 519

原创 解读(Solving Math Word Problems with Multi-Encoders and Multi-DEcoders)的代码(数据处理部分)

导入必要的包import os,json,time,re,copy,randomfrom collections import Counterimport numpy as npimport torchimport torch.nn as nn加载数据的函数def load_raw_data(filename): data=[] with open(filename,encoding='utf-8') as f: lines=f.readlines()#lin

2021-02-13 20:53:46 798 1

原创 隐马尔可夫模型HMM实战命名实体识别NER

HMM是关于时序的有向概率图模型。HMM是对含有隐变量的马尔可夫链进行建模的生成模型。马尔可夫链是指时间和状态都是离散的马尔可夫过程。马尔可夫过程是指满足马尔可夫假设的随机过程。马尔可夫假设是指状态的无后效性。在做NER任务之前,我们先看一个例子,通过这个例子来学习viterbi算法我们直接来看统计学习方法的例10.3我们的目的就是当给定观测序列{红白红}的条件下,求出这个观测序列对应的最有可能的状态序列,也就是红白红分别来自哪一个盒子。由于状态的取值空间是3(3个盒子),序列的长度是3

2021-01-30 19:56:23 1385 1

原创 pytorch中的NLLLoss和CrossEntropyLoss

NLLLossNLLLoss就是负对数似然(negative log likelihood loss)计算公式:nllloss=−∑n=1Nynlog⁡prob(xn)nllloss=-\sum_{n=1}^{N}y_n\log prob(x_n)nllloss=−n=1∑N​yn​logprob(xn​)举个例子就是:x=[0.1,0.2,-0.7]y=[0,1,0]计算过程就是:对x进行softmax转换成概率,然后对每一个值取log,再乘以标签-log(softmax(x))*y

2021-01-28 10:48:30 684

原创 简单总结机器阅读理解模型中输出答案层融入强化学习的思想

利用预测答案与标签的f1分数作为奖励相关论文Reinforced Mnemonic Reader for Machine Reading ComprehensionDCN+: MIXED OBJECTIVE AND DEEP RESIDUALCOATTENTION FOR QUESTION ANSWERING在抽取式阅读理解任务当中,模型最终的预测是答案的起始位置和终止位置。损失函数是预测的起始位置和标签的起始位置的交叉熵+预测的终止位置和标签的终止位置的交叉熵这就有一个问题:过于严格因

2021-01-27 20:45:14 481 3

原创 python中的迭代器和生成器

迭代器实现__next__方法如果一个类实现了__next__方法,那么这个类的对象是一个迭代器例如:class myRange: def __init__(self,start=0,end=5): self.start=start self.end=end def __next__(self): self.start+=1 if self.start>self.end: raise Sto

2021-01-24 19:42:40 684 2

原创 搞懂到底怎么做的多头注意力

假设我们有个句子“数学应用题”,每一个字用一个64维的向量表示也就是下面的每一个有颜色的一条框。自注意力我们如何做自注意力呢:下面几幅图展示了这个过程不再一个一个展示,假设最终到下面这幅图因为句子长度是5,所以我们得到的是(5,5)的矩阵。经过softmax之后,第一行表示的含义就是“数”这个字,对整个句子"数学应用题"的每一个字的相关程度.这一行就可以看成关于数字“数”的权重,然后对整个矩阵加权求和,如下图(为了简便,我没有softmax,知道这个意思就好)以此类推,就得到了注意力

2021-01-11 16:17:52 2881 2

原创 seq2seq中的曝光偏差(exposure bias)现象以及利用REINFORCE算法训练seq2seq模型

mismatch between train and testexposure bias在训练阶段,我们采用的是teacher forcing (教师指导)方式,也就是在decoder端的当前时间步的输入是上一个时间步的真实标签,而不是模型在上一个时间步的预测值然而测试阶段,当前时间步的输入是模型上一时间步的预测值,此时没有教师指导。所谓exposure bias(曝光偏差),就是因为模型在训练阶段从来没有看过自己的输出,也就是自己的输出从来没有曝光出来,然而测试阶段却始终看到的是自己的输出.评估

2021-01-10 14:45:27 1360

chinese_ner.zip

中文命名实体识别数据

2021-01-30

英文-中文机器翻译语料库

英文-中文的一个文件,大约有两万个句子对,每一个句子对是(英文,中文),文件不大,主要用来做中英的机器翻译。

2020-08-14

text8.train.txt

word2vec的训练语料库text8.train.txt。一个很长的字符串,用来训练词向量。文件大小大约62M。

2020-06-03

example.train

事件抽取ACE类似的数据集,由于ACE不是免费的,github上找不到的,这是唯一类似于ace数据集的版本,但是注意不是真正的ACE数据集。

2020-06-03

空空如也

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

TA关注的人

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