![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自然语言处理
文章平均质量分 82
Zero_to_zero1234
Be objective
展开
-
国内外最好的语料库汇总
语料在语言学科研究和深度学习中都至关重要,下面对常用的语料库资源进行总结:部分信息来源于其他博客,但是本文会保持持续更新Open Speech and Language Resourceshttp://www.openslr.org/resources.php更新(2020年6月10):若干开源语音数据库: https://blog.ailemon.me/2018/11/21/free-open-source-chinese-speech-datasets/更新2020/10/23AISHELL-3 高保原创 2019-07-18 15:25:57 · 31533 阅读 · 4 评论 -
VAE的原理和代码实现
VAE的原理和代码实现重要参考:https://spaces.ac.cn/archives/5253https://www.jianshu.com/p/ff28eef92fa1VAE(Variational Autoencoder)中文译为变分自动编码器,它是一种深度生成模型(Deep Generative Model),是一种无监督学习算法。那么VAE的设计思路来源是什么?VAE能干嘛?代码如何实现?以及还可以怎样改进呢?下面一一道来。1、VAE的设计来源2、VAE的主要思路3原创 2020-08-04 14:38:59 · 11395 阅读 · 0 评论 -
简谈一维卷积
二维卷积在tf中是tf.layers.conv2d(),而一维卷积:tf.layers.conv1d()1、一维卷积和二维卷积的区别二维卷积就不赘述了,很多博客写的很好,自己之前也马虎写过一篇,主要讲一下一维卷积。先讲一下二维卷积和一维卷积的区别,二维卷积是将一个特征图在width和height两个方向进行滑动窗口操作,对应位置进行相乘求和;而一维卷积卷积略有不同,其卷积核也是一个二维的,只是在width(lenth)单方向上进行滑动窗口并相乘求和。来自:博客还有有一篇博客写得比较好博客:ht原创 2020-07-31 18:20:12 · 24742 阅读 · 9 评论 -
自然语言处理预处理数据迭代器及训练预测常用函数总结(fit_generator、build_model、checkpoint、predict_generator)
由于NLP相关数据处理和训练过程中,会经常用到相同代码,现常用模块进行记录,部分需要根据自己需求进行更改1、导入模块import kerasimport gensimfrom pathlib import Pathimport osimport numpy as npfrom keras.layers import *from keras.optimizers import SGD...原创 2020-04-01 20:04:32 · 1159 阅读 · 0 评论 -
极简使用gensim训练词向量
由于想要一个较小的词向量语言模型来做简单的文本分类(BERT模型太大),找了很多也没找到合适的,所以使用gensim训练 word2vec 模型,如果涉及词向量的简单使用时,而不参与模型训练,可以使用gensim库来提供计算比使用embedding层更加快捷,因为模型内部有查询优化,所以速度很快一、选取训练语料库https://github.com/brightmart/nlp_chinese...原创 2020-03-31 12:15:10 · 1469 阅读 · 2 评论 -
CRF和LSTM的区别和优劣
主要参考自:https://www.zhihu.com/question/46688107/answer/117448674?from=profile_answer_card转载 2020-03-26 14:07:44 · 1247 阅读 · 0 评论 -
所有你要知道的 BERT 模型压缩方法,都在这里!
模型压缩可减少受训神经网络的冗余,由于几乎没有 BERT 或者 BERT-Large 模型可直接在 GPU 及智能手机上应用,因此模型压缩方法对于 BERT 的未来的应用前景而言,非常有价值。软件工程师 Mitchell A. Gordon 在本文中总结了所有的 BERT 压缩模型的方法,并对该领域的论文进行罗列及分类,我们下面来看:一、压缩方法1、剪枝——即训练后从网络中去掉不必要的部分。...转载 2020-03-01 23:57:03 · 1788 阅读 · 0 评论 -
正则表达式进阶
进阶正则表达式 : https://segmentfault.com/a/1190000000426455JavaScript正则进阶之路——活学妙用奇淫正则表达式: https://www.jianshu.com/p/66afdb94eb63原创 2019-12-06 20:18:49 · 366 阅读 · 0 评论 -
如何写一篇合格的NLP论文
刘知远老师的一篇博文: https://zhuanlan.zhihu.com/p/58752815转载 2019-11-08 15:58:23 · 400 阅读 · 0 评论 -
NLP学习之道
推荐,李纪为博士的一篇知乎博文: https://www.zhihu.com/people/li-dan-ran-71/activities原创 2019-11-08 15:57:09 · 152 阅读 · 0 评论 -
bert细节适配:添加词表之外的词和标点符号的更好处理
bert细节:添加词表之外的词的替换方式token_dict = load_vocab(dict_path) # 读取词典class OurTokenizer(SimpleTokenizer): def _tokenize(self, text): R = [] for c in text: if c in self._tok...原创 2019-11-01 20:05:07 · 6839 阅读 · 0 评论 -
吴恩达Machine Learning Yearning阅读记录(1)开发集、测试集和评估指标的重要性
1、数据量和模型选择2、开发集和测试集(开发集和测试集应该服从同一分布)3、优化指标和满意度指标这一点很重要,有时候我们关注的往往有多个指标,而指标之间又相互制约,所以需要固定下一个指标或者确定一个有效范围,在此特定情况下不断优化,不断迭代!4、通过开发集和度量指标,加速迭代这一点是以上和核心,即 训练前优先确定固定的优质测试集和度量指标经常遇到的一个问题是测试集可能也暂时不...原创 2019-10-31 10:06:13 · 209 阅读 · 0 评论 -
Json中dump 和dumps,load和loads的区别
转载 2019-10-15 10:06:45 · 381 阅读 · 1 评论 -
用tf的VocabularyProcessor创建词汇表vocab
学习tf的时候用到的一个词汇创建工具,可以用来根据字表,向量化句子中的字。1、接口综述from tensorflow.contrib import learnvp = learn.preprocessing.VocabularyProcessor(100, 0, tokenizer_fn=chinese_tokenizer)其中VocabularyProcessor(max_docum...原创 2019-03-22 17:22:10 · 607 阅读 · 0 评论 -
Keras实现两个优化器:Lookahead和LazyOptimizer
转载一篇苏神的文章: https://kexue.fm/archives/6869转载 2019-07-30 20:43:32 · 1056 阅读 · 0 评论 -
文本数据增强(EDA、同义词替换-新增-交换-删除-生成同义句)
在中文数据少的情况下,可以尝试做数据增强,进行 同义词替换-新增-交换-删除-生成同义句,刚好用到,效果还可以,转载一篇使用博客原文链接:https://blog.csdn.net/rensihui/article/details/89605517github代码:https://github.com/yongzhuo/nlp_xiaojiang/blob/master/AugmentTe...转载 2019-08-22 20:49:46 · 2715 阅读 · 0 评论 -
防止过拟合的几种方式
神经网络,常见防止模型过拟合的几种方式:1、数据增强,合适的数据增强方式可以很大程度提高模型鲁棒性2、使用正则化项可以参考:https://segmentfault.com/a/1190000018378231keras正则化3、使用dropout4、根据损失和accuracy走势,提前停止可参考:https://www.zybuluo.com/Team/note/1148041...原创 2019-08-29 15:11:09 · 1186 阅读 · 0 评论 -
常用的文本去重代码:
常用的文本去重代码:def droplike(lines): def distance(v1, v2, f=64): x = (v1 ^ v2) & ((1 << f) - 1) ans = 0 while x: ans += 1 x &= x - 1 ...原创 2019-10-08 09:51:26 · 772 阅读 · 0 评论 -
BERT相关知识讲解(1)之 transformer
参考自:http://fancyerii.github.io/2019/03/09/transformer-codes/每个词都是有其他词的信息的,这个是 FNN 的区别与普通的 attention 相比,Query可以看作是decoder的隐状态,Key可以看作是encoder的输出,Value可以看作是encoder的输出多头其实就是多组 矩阵对,每一组QKV都可以看...原创 2019-10-10 11:06:15 · 553 阅读 · 0 评论 -
ALBERT的简单尝试
这两天,对刚出来的Albert模型进行了简单尝试,记录一下:基本参照两位大佬:https://github.com/brightmart/albert_zhhttps://github.com/bojone/bert4kerashttps://kexue.fm/以下代码基本来源于:https://github.com/bojone/bert4keras/blob/master/exa...原创 2019-10-10 17:50:27 · 3246 阅读 · 6 评论 -
bert系列用法
bert代码解读2之完整模型解读https://blog.csdn.net/qqywm/article/details/85454531kerashttps://kexue.fm/archives/6736#关系抽取keras_berthttps://github.com/CyberZHG/keras-bert转载 2019-07-05 16:53:38 · 579 阅读 · 0 评论 -
LSTM+CRF详解
理论篇:https://www.jianshu.com/p/a94f20091600https://www.zhihu.com/question/35866596知乎:如何理解LSTM后接CRF?https://www.zhihu.com/question/62399257代码实现:https://blog.csdn.net/u012421852/article/details/8028...原创 2019-06-11 22:03:35 · 9713 阅读 · 1 评论 -
序列预处理:序列填充之pad_sequences()和one-hot转化之keras.utils.to_categorical()
tensorflow文本处理中,经常会将 padding 和 one-hot 操作共同出现,所以以下两种方法为有效且常用的方法:一、keras.preprocessing.sequence.pad_sequences()实例:>>>list_1 = [[2,3,4]]>>>keras.preprocessing.sequence.pad_sequence...原创 2019-05-28 17:01:15 · 1551 阅读 · 0 评论 -
在anaconda环境下,安装tensorflow
安装环境:Centos7,anaconda3,python3.6方式一:(1) 建立一个 conda 计算环境名字叫tensorflow:conda create -n tensorflow python=3.6一定要指定python版本,否则安装失败。(2)激活tensorflow环境,然后使用其中的 pip 安装 TensorFlow。当使用easy_install使用–ignor...原创 2019-04-08 20:55:41 · 332 阅读 · 0 评论 -
keras训练模型和保存模型
keras搬砖系列-keras保存最好的模型keras.callbacks是一个好东西。keras.callbacks在model.fit中发挥的作用为:from keras.callbacks import Tensorboard......tensorboard = Tensorboard(log_dir='log(就是你想存事件的文件夹)')callback_lists = [t...转载 2019-04-02 18:03:49 · 2599 阅读 · 1 评论 -
设置keras学习率调整
Keras提供两种学习率适应方法,可通过回调函数实现。LearningRateSchedulerkeras.callbacks.LearningRateScheduler(schedule)该回调函数是学习率调度器.参数schedule:函数,该函数以epoch号为参数(从0算起的整数),返回一个新学习率(浮点数)代码import keras.backend as Kfrom...转载 2019-04-02 15:15:51 · 7359 阅读 · 0 评论 -
python 将字典存储为文件
pickle methodsave a python object into a .plk fileimport pickledef save_obj(obj, name ): with open('obj/'+ name + '.pkl', 'wb') as f: pickle.dump(obj, f, pickle.HIGHEST_PROTOCOL)def ...原创 2019-03-22 18:28:23 · 14219 阅读 · 0 评论 -
PCA主成分分析与SVD奇异值分解与LSI、SVM
关于PCA、SVD、SVM、LSI之间的神秘联系,推荐几篇精文,看懂后,好好琢磨可以打通很多方面知识,关于线性代数和概率论和算法的深层关系,话不多说,如下:(一)PCA的数学原理:http://blog.codinglabs.org/articles/pca-tutorial.html(来自 CodingLabs)(二)机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用ht...转载 2019-01-08 09:29:09 · 731 阅读 · 0 评论 -
文本挖掘预处理之TF-IDF
在文本挖掘预处理之向量化与Hash Trick中我们讲到在文本挖掘的预处理中,向量化之后一般都伴随着TF-IDF的处理,那么什么是TF-IDF,为什么一般我们要加这一步预处理呢?这里就对TF-IDF的原理做一个总结。1. 文本向量化特征的不足 在将文本分词并向量化后,我们可以得到词汇表中每个词在各个文本中形成的词向量,比如在文本挖掘预处理之向量化与Hash Trick这篇文章中,...转载 2018-12-31 18:53:33 · 251 阅读 · 0 评论 -
中文分词原理及jieba分词
jieba"结巴"中文分词:做最好的Python中文分词组件 "Jieba"&nbsp;Feature支持三种分词模式:精确模式,试图将句子最精确地切开,适合文本分析;全模式,把句子中所有的可以成词的词语...原创 2018-12-20 21:40:20 · 668 阅读 · 0 评论 -
【Python】字典内容写入json文件
常见的json格式文件读取和存储https://blog.csdn.net/liuxiao214/article/details/80115924http://www.cnblogs.com/eniac1946/p/8479300.html转载 2019-04-09 17:32:59 · 3787 阅读 · 0 评论 -
语音识别——基于深度学习的中文语音识别系统框架
语音相关的一篇写的很好的文章:https://blog.csdn.net/chinatelecom08/article/details/82557715转载 2019-04-16 15:05:46 · 597 阅读 · 0 评论 -
Keras—embedding嵌入层的使用
转载自:https://blog.csdn.net/qq_33472765/article/details/86561245最近在工作中进行了NLP的内容,使用的还是Keras中embedding的词嵌入来做的。Keras中embedding层做一下介绍。中文文档地址:https://keras.io/zh/layers/embeddings/参数如下:其中参数重点有input_dim...转载 2019-04-16 18:52:04 · 2545 阅读 · 0 评论 -
基于BERT预训练的中文命名实体识别TensorFlow实现
写的比较详细的高star代码,转:https://blog.csdn.net/macanv/article/details/85684284转载 2019-05-28 16:36:58 · 1980 阅读 · 0 评论 -
Attention原理及TensorFlow AttentionWrapper源码解析
转:https://cloud.tencent.com/developer/article/1151794转载 2019-05-23 10:40:47 · 541 阅读 · 0 评论 -
神经网络 和 NLP —— 结构化输出预测
转载文章: https://blog.csdn.net/lipengcn/article/details/85014199转载 2019-05-17 17:00:54 · 413 阅读 · 0 评论 -
Word2Vec原理之层次Softmax算法(转)
Word2Vec原理之层次Softmax算法:http://qiancy.com/2016/08/17/word2vec-hierarchical-softmax/另外,添加一个交叉熵损失函数内容:https://blog.csdn.net/red_stone1/article/details/80735068...转载 2019-05-16 21:47:02 · 1487 阅读 · 0 评论 -
基于pytorch的 BERT中文文本分类
转载一篇基于 pytorch 的BERT文本分类:https://blog.csdn.net/Real_Brilliant/article/details/84880528转载 2019-05-05 16:46:09 · 16461 阅读 · 0 评论 -
keras使用指定GPU训练模型和多GPU同时训练
keras使用GPU训练:1、简单方法:直接在运行前加 CUDA_VISIBLE_DEVICES=1CUDA_VISIBLE_DEVICES=1 python train.py2、指定一块或多块GPUimport osos.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID" os.environ["CUDA_VISIBLE_DEVICES"...原创 2019-04-15 15:01:47 · 11114 阅读 · 2 评论 -
tensorflow的回调函数Callbacks
参考:https://keras-cn.readthedocs.io/en/latest/other/callbacks/转载 2019-04-22 17:58:44 · 2530 阅读 · 0 评论