
NLP
文章平均质量分 88
tianyunzqs
【纯干货分享,个人学习笔记】欢迎关注个人公众号:NLPer笔记簿
展开
-
bazel编译tensorflow源码
在安装完tensorflow CPU版本后,经常看到如下的警告,该警告虽说可以通过一些python语句来忽略(忽略方法),但总有点眼不见为净的感觉。Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA该警告本质上是说由于机器的CPU支持AVX2的优化,但是安装的tensorflow包没有利用该优化。另一种解决该警告的方式是自己手动编译tensorflow安装包。自己手动原创 2021-05-08 19:30:56 · 7778 阅读 · 4 评论 -
tensorflow/serving部署keras模型
之前写了一篇tensorflow/serving部署tensorflow模型的文章,记录了详细的操作步骤与常见的错误及解决方案,具体见:TensorFlow Serving模型转换与部署本文主要记录tensorflow/serving部署keras模型过程中的一些重要步骤,以便后续查阅。我们在keras中保存模型通常用model.save或者model.save_weights函数。其中,model.save函数保存的模型往往比的是模型的结构与权重,而model.save_weights函数保存的仅仅原创 2021-04-30 14:46:15 · 509 阅读 · 0 评论 -
机器学习常见评价指标
在机器学习或深度学习中,评价指标是衡量一个模型效果好与坏的标准。本文主要介绍一些常用的评价指标,包含:准确率(accuary)、精准率、召回率、F1值、PR曲线、ROC曲线、AUC等。在介绍这些评价指标之前,我们先来看一个简单的例子。对于舆情预警,判断一段舆情文本数据是否需要预警,其结果有两种:预警、不预警。如果有100条舆情文本,模型A预测为预警的样本数为25,其中这25个样本经过人工验证,发现有20个是真正需要预警的数据,另外的5条不需要预警;预测为不预警的样本数为75,其中这75个样本经过人工原创 2021-04-28 17:29:01 · 2188 阅读 · 3 评论 -
metrics.classification_report函数记录
机器学习/深度学习中,我们经常使用sklearn包中的metrics.classification_report来输出评价指标。本文主要是通过示例方式来记录该函数的常见输入与输出的含义。示例1>>> from sklearn.metrics import classification_report>>> y_true = [0, 3, 2, 2, 1, 1, 4, 3, 2, 4, 1, 0, 0]>>> y_pred = [0, 3, 1, 2原创 2021-04-27 11:50:41 · 2705 阅读 · 1 评论 -
【NLP】BERT常见问题汇总
本篇文章是在之前文章《【NLP】BERT模型解析记录》的基础上,主要记录BERT模型的相关细节问题,并以QA形式表述。文中会标注相关出处,如遇未注明或出现错误,请告知。如遇侵权,请告知删除~1.讲讲bert的结构bert结构大体上可分为输入、N层transformer的encoder和输出三部分组成。输入由token embedding、segment embedding和position embedding三部分相加组成;N层transformer的encoder,在bert_base中N=12原创 2021-01-29 10:00:03 · 1433 阅读 · 0 评论 -
【NLP】BERT模型解析记录
1.bert简单介绍BERT(Bidirectional Encoder Representations from Transformers)是谷歌在2018年10月份的论文《Pre-training of Deep Bidirectional Transformers for Language Understanding》中提出的一个预训练模型框架,发布后对NLP领域产生了深远影响,各种基于bert的模型如雨后春笋般涌出。在此对bert模型做一个简单的记录用于后期学习参考,文中会标注相关出处,如遇未注原创 2021-01-29 09:50:49 · 525 阅读 · 0 评论 -
【踩坑记录】TypeError: can‘t pickle SwigPyObject objects
笔者利用keras训练模型时,当程序运行到保存模型model.save('model.h5')的时候,报如下错误TypeError: can't pickle SwigPyObject objects根据错误提示,可以看到在对模型进行序列化保存的时候,出现了不支持序列化的对象,也就是SwigPyObject对象。然而模型都可以跑通,但是为什么会在保存模型的时候报这样的错误呢?建模过程中也没有引入其他的算子啊,都是模型支持的操作,目前还未搞清楚,但是还是可以通过一种迂回的方法来解决该问题的。既然直接原创 2020-12-18 16:29:15 · 3356 阅读 · 1 评论 -
【基础算法 】文本相似度计算
在自然语言处理中,文本相似度是一种老生常谈而又应用广泛的基础算法模块,可用于地址标准化中计算与标准地址库中最相似的地址,也可用于问答系统中计算与用户输入问题最相近的问题及其答案,还可用于搜索中计算与输入相近的结果,扩大搜索召回,等等。基于此,现将几种常见的文本相似度计算方法做一个简单总结,以便后续查阅,本文所有源码均已上传到github。1.字符串相似度字符串相似度指的是比较两个文本相同字符个数,从而得出其相似度。python为我们提供了一个difflib包用于计算两个文本序列的匹配程度,我们可以将原创 2020-11-30 23:03:41 · 8746 阅读 · 0 评论 -
【基础算法】word2vec词向量
1. 简介word2vec是一个3层(输入层、投影层和输出层)结构的浅层语言模型,分为CBOW和skip-gram两种模型结构。CBOW是输入上下文来预测当前词语,而skip-gram是输入当前词语来预测上下文。其模型结构如下图所示而基于这两种模型结构,word2vec作者又提出了两种改进方法,用来提升模型训练速度,因此,word2vec可细分为四种模型:1). 基于Hierarchical Softmax的CBOW模型2). 基于Hierarchical Softmax的skip-Gram模型原创 2020-11-21 16:32:32 · 967 阅读 · 0 评论 -
TensorFlow Serving模型转换与部署
文章目录1. TensorFlow Serving安装1.1. 拉取镜像1.2. 下载官方代码1.3. 运行TF Serving1.4. 客户端验证2. 将ckpt模型转换为pb模型3. 模型部署4. 多模型部署4.1 多(单)用户单模型4.2 多(单)用户多模型4.3. 接口请求5. 新增模型6. 可能出现的错误错误1:错误2:错误3:错误4:错误5:错误6:错误7:错误8TensorFlow...原创 2020-01-05 14:41:35 · 3470 阅读 · 4 评论 -
LSTM解决RNN梯度消失与梯度爆炸问题
<>St=δ(WSt−1+UXt)Ot=δ(VSt)S_{t} = \delta(WS_{t-1} + UX_{t}) \\O_{t} = \delta(VS_{t})St=δ(WSt−1+UXt)Ot=δ(VSt)原创 2019-11-26 15:09:17 · 2378 阅读 · 0 评论 -
gevent实现python并发api接口
公司之前算法对外提供服务都是通过flask框架生成的api接口的形式,而最近项目中需要提高算法api接口的并发性能,通过分析flask对外api接口发现,该api接口是串行的方式,也即阻塞的形式进行数据处理的(前一条数据处理完成,才会进入下一条数据的处理)。因此,将flask提供api接口改为gevent,改用gevent后,算法接口在并发性能上提升效果明显,下面简要记录一下,做个笔记。测试工...原创 2019-09-21 07:08:02 · 962 阅读 · 0 评论 -
逻辑回归(Logistics Regression)
逻辑回归,虽然名字中带有“回归”,但却是解决分类问题的一种基础算法。本文主要介绍其原理。逻辑回归采用最大似然概率作为其损失函数,最大似然概率为:对于二分类问题将以上(2)和(3)进行合并将(4)代入(1),再取对数其中,则,逻辑回归的损失函数可写为:对和求导.训练过程中,参数更新...原创 2019-06-18 15:20:08 · 131 阅读 · 0 评论 -
TFIDF算法Java实现
一、算法简介TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘中常用的加权技术。TF-IDF的概念被公认为信息检索中最重要的发明。在搜索、文献分类和其他相关领域有着广泛的应用。其具体应用包括关键词提取、文本相似度、自动摘要。TF-IDF的主要思想是如果某个词在一篇文章中出现的频率TF很高,而且在语料库中的其他文章中原创 2017-09-02 00:32:52 · 1463 阅读 · 0 评论