自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 安装mmdet和mmcv

mmcv和mmdet安装的坑

2022-09-06 13:20:20 2458 1

原创 基于conda安装GPU版本的pytorch

基于cuda安装pytorch的坑

2022-09-06 13:10:26 948

原创 paddle word2vec skipgram模型处理原始样本

输入数据类型导入的txt文件,需要根据标点符号进行句子切割,利用re.split进行处理。利用f.read().splitlines()可以从txt文件中直接进行读取,而没有"\n"。处理f = open('2.txt',"r",encoding="utf-8")file = f.read().splitlines()pattern = r'\,|\.|/|;|\'|`|\[|\]|<|>|\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=

2021-01-19 16:19:26 318

原创 利用paddle提供的word2vec模型进行word embedding操作

安装需求paddlepaddle>=1.8.0paddlehub>=1.8.0pretrained word2vec_skipgramps:在网不好的情况下,可以预先下载下来,这样安装也比较方便;demo直接读取,进行word embedding;import paddle.fluid as fluidimport paddlehub as hubimport timeraw_data = ["驾驶违章一次扣12分用两个驾驶证处理可以吗",

2021-01-19 14:11:09 951

原创 bert详解

优势使用Transform作为算法的主要框架;使用Mask Language Model(MLM)和Next Sentence Prediction(NSP)的多任务训练目标;使用更强大的机器训练更大规模的数据;BERT的本质时通过海量的语料的基础上运行自监督学习方法为单词学习一个好的特征表示,所谓自监督学习时指没有人工标注的数据上运行的监督学习,以后可以之间使用BERT的特征表示作为该任务的词嵌入特征。输入表示BERT的输入的编码向量是三个嵌入特征的单位,这三个词的嵌入特征是:Word

2021-01-18 20:22:27 424

原创 transformer详解

总体结构encoder和decoder分别利用6个encoder和decoder组成,简化结构表示如下:每个encoder和decoder的简化结构如下所示:处理流程:首先对输入的数据进行一个embedding操作,embedding结束之后将结果输入到encoder层,self-attention处理完数据将结果送给前馈神经网络,得到的输出结果会输入到下一层encoder;encoderencoder是由N=6个相同的layer组成,layer指的是上图左侧的单元,最左边有个"Nx",这里的

2021-01-14 13:47:31 483

原创 word2vec过程

word2vec实现过程实战实现过程先有大量文本,构成txt文档;利用分词工具对文本进行分词;分词后的结构用word2vec来进行训练,无监督训练出词的向量;实战将文本语料库进行分词,以空格,tab隔开,可以用现有的中文分词器来进行处理;将分好词的训练语料进行训练,输入对应的指令进行处理:./word2vec -train test.txt -output vectors.bin -cbow 0 -size 200 -window 5 -negative 0 -hs 1 -sample

2021-01-13 10:51:08 99

原创 word embedding N-gram

N-gramN-gram是一个统计语言模型,基本思想是将文本里面的内容按照字节进行大小为N的滑动窗口操作,形成长度为N的字节片段序列,该模型基于这样一种假设,第N个词出现只和前面的N-1个词相关,而和别的任何词都没有关系,整句的概率就是各个词出现概率的乘积。这些概率可以直接从语料中统计N个词同时出现的次数得到,常用的是一元Unigram,二元Bigram和三元Trigram;计算方法利用马尔可夫链进行计算;...

2021-01-13 08:58:41 161

原创 word embedding各种方法总结

word2vecword2vec是一个工具,背后的模型是CBOW或者Skip-gram,并且使用了Hierarchical Softmax或者Negative Sampling这些训练的优化方法。GloVe1、首先根据语料库创建一个共现矩阵,其中每一个元素代表单词和上下文词再特定的上下文窗口内共同出现的次数,并且GloVe还提供了decreasing weighting,就是基于两个词在上下文窗口中的距离d,去给一个权重1/d,也就是距离远的两个词,占总计数的权重就小;2、构建词向量和共现矩阵之间的

2021-01-11 17:17:06 1627

原创 word embedding

文本表示**作用:**将非结构化的信息转化成结构化的信息,这样可以针对文本信息进行计算,完成日常解决的文本分类,情感判断等任务;文本表示的方法:(1)独热码编码;(2)整数编码;(3)词嵌入;两种主流的word embedding的方法:word2vec以及GloVeWord2vec:基于统计方法获得词向量的方法;GloVe:将全局统计和Word2vec的基于上下文的学习结合起来;GloVe简单介绍这个是基于全局词频统计的词表征工具,可以将一个单词表达成一个由实数组成的向量,这些向量捕捉

2021-01-11 11:41:52 148

原创 word2vec

word2vec解释

2021-01-11 10:48:26 70

原创 词向量和语言模型

词向量词向量(word embedding):词的向量表征;词向量表示:(1)one-hot vector: 将所有单词排序,排序之后每个单词都会有一个位置,然后用一个和单词等长的数组表示某单词,该单词所在的位置数组就是1,而其他所有位置值都为0;(2)distributed representation: 一种既能表示本身又可以考虑语义距离的词向量表示方法;语言模型N-gram neural model根据前n个词来预测下一个词,这样就得到了unigram model, bigram mod

2021-01-09 16:53:09 230

原创 如何运行ipynb文件--部分问题解决

安装juypter在cmd中输入指令:python -m pip install jupyter notebook如果下载不了,可以在后面添加国内镜像;运行Jupyter notebook在cmd中输入jupyter notebook就可以打开了,但是我当时出现了一些问题,报错:Fatal error in launcher: Unable to create process using '"d:\python\python.exe" "D:\python\Scripts\jupyter.exe

2021-01-05 10:59:14 669

原创 基于码表的词性标注-简单demo

这个是基于作者自定的码表来进行匹配的,由于才刚刚开始学习,因此还很简单。基本原理根据本人提供的码表来进行匹配,如果码表中出现了给定的字符串中出现的字符,那么就将里面对应的字符所提供的词性添加上去。组成部分读取码表将码表中的内容以HashMap<String, Token_Num>的格式表示出来,其中Token_Num是自定义的双元组格式;public class Token_Num { public Integer freq = 0; public String cl

2021-01-04 16:23:07 98

原创 spacy训练模型和更新

如何训练初始化模型权重使其变成随机值:调用nlp.begin_training方法;查看当前权重的表现:调用nlp.update方法比较预测结果和真实的标签;计算如何调整权重来改善预测结果;微调模型权重;重复上述步骤;循环训练:for i in range(10): random.shuffle(TRAINING_DATA) for batch in spacy.util.minibatch(TRAINING_DATA): texts = [text for text, annoa

2021-01-03 17:25:55 2134 5

原创 spacy处理流程

原生流程组件流程是依次定义在模型的meta.json文件里面的,原生组件需要二进制数据来进行预测;函数用来读取一个doc,修改并且返回它可以利用nlp.add_pipe来添加组件def custom_component(doc): #deal with doc return docnlp.add_pipe(custom_component)二级标题三级标题四级标题五级标题六级标题...

2021-01-03 16:10:29 454 1

原创 spacy数据结构

数据结构共享词汇表和字符串库Vocab:存储多个文档共享的数据;为了节省内存,spacy将所有字符串编码成哈希值;字符串只在StringStore中通过nlp.vocab.strings存储一次;字符串库:双向的查找表coffee_hash = nlp.vocab.strings["咖啡"]coffee_string = nlp.vocab.strings[coffee_hash]如果该字符串从未出现过,那么会出现报错在nlp.vocab.strings中查找字符串和哈希值do

2021-01-03 10:51:41 635

原创 自然语言处理的基本概念--结合spacy软件的学习

基本概念doc: 表示document的缩写,可以结构化地读取文本相关的信息,并且不会产生丢失doc = nlp(text)for token in doc: print(token.text)token表示文本中的字符,比如一个词或者一个标点符号。要读取某个位置的词符,可以直接使用doc的索引;token中也会包含很多属性,比如.text就会输出对应的原文;doc = nlp(text)token = doc[1]print(token.text)span实例是文本中包含了

2021-01-02 00:27:19 345

原创 spacy保存和加载模型

加载和保存模型保存模型处理pipeline二级目录三级目录保存模型保存类别:Language,Doc,Vocab和StringStore等保存方法如下:MethodExampleto_bytesdata = nlp.to_bytes()from_bytesnlp.from_bytes(data)to_disknlp.to_disk("/path")from_disknlp.from_disk("/path")处理pipeline可以分别处理不同的

2021-01-01 16:56:13 1213

原创 spacy中的pipelines

spacy的pipeline工作原理pipeline工作流程添加pipeline移除或者修改pipeline移除pipeline修改pipeline创造自定义pipeline组件三级目录工作原理当加载一个模型的时候,spacy首先分析其meta.json文件,这个文件中包含以下信息:{“lang": "en","name": "core_web_sm","description": "example model for spacy","pipeline": ["tagger", "parser

2021-01-01 14:21:47 1553

原创 spacy其余内容

spacy其余内容一级目录二级目录获取训练样本添加patternword vectors and similarity添加自定义的entity一级目录二级目录获取训练样本如果没有标注好的数据集,那么可以利用模型来对原始的样本进行分析处理,接着对分析好的样本进行修正,利用这些修正的标签的数据集作为训练集。添加patternimport spacyfrom spacy.matcher import Matchernlp = spacy.load("en_core_web_sm")matche

2020-12-31 13:47:24 525 1

原创 Spacy整理

Spacy整理spacy基本介绍spacy组成部分tokenpipelinestaggerparsernerspacy基本介绍spacy是一个用于NLP任务的模块,可以实现分词,词性标注,命名实体识别,依存关系分析等功能。关于spacy的安装和部分的使用方法可以看我之前的博客:spacy的安装和部分使用方法spacy组成部分spacy可以是由四个部分组成的,分别是token模块和三个pipelines(tagger, parser, ner),其中三个pipelines可以被移除。他们分别负责不

2020-12-29 11:36:03 1684

原创 spacy分词器

spacy中文分词器spacy分词器介绍分词算法介绍分词模式介绍三种分词模式自定义词典关键词提取spacy分词器介绍spacy使用的中文jieba分词器,接下来对这个分词器进行简单介绍。分词算法介绍结巴中文分词涉及到的算法包括:(1) 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG);(2) 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合;(3) 对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法。分词模式

2020-12-25 13:46:00 2322

原创 利用dispalcy显示解析树

利用dispalcy显示解析树运行以下代码就可以显示出所需要的解析树:import spacy from spacy import displacyimport zh_core_web_smnlp = zh_core_web_sm.load()text = "我是一只小可爱,我最喜欢喝汽水"results = nlp(text)displacy.render(results,style="dep",jupyter=True)显示的解析树如下图所示:在代码过程中需要注意的部分需要

2020-12-24 22:24:39 1068

原创 如何在Jupyter下运行python的第三方包

如何在Jupyter下运行python的第三方包检查Jupyter中的python安装目录import syssys.path利用上面的两行代码来检测出python所安装的位置,一般来说这个位置和在windows上安装的位置是不一样的。进行第三方包的安装因此需要在D:\python路径下面安装所需要的第三方包,例如我需要安装spacy包,在cmd中输入以下代码:cd D:\\pythonpython -m pip install spacy==2.3.1就可以在Jupyter上运行s

2020-12-24 22:23:57 770

原创 在Jupyter上运行spacy中文模型

在Jupyter上运行spacy中文模型如果Jupyter安装第三方包出现问题,可以看我的上一篇博客:这里就不在赘述在spacy下面安装中文模型首先先加载好模型,如果直接download可能会中途终止;接着运行下列代码来进行安装;python -m pip install ./zh_core_web_sm...如何加载中文模块我当时跑的时候,利用以下代码:import spacynlp = spacy.load('zh_core_web_sm')出现了“[E050] Can’t

2020-12-24 22:22:21 934

原创 spacy安装和中文模型加载

spacy安装和中文模型加载spacy安装运行代码下列代码,进行spacy的安装。由于我中文的模型是2.3.1的,因此我spacy也直接下载的是2.3.1版本的; python -m pip install spacy==2.3.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/加载中文模块可以直接运行代码,但是网络不好的不建议直接调用download函数,因为加载过程中会报错。建议先下载下来再进行pip安装就好了。 python -m pip i

2020-12-24 14:59:11 1893 4

空空如也

空空如也

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

TA关注的人

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