- 博客(31)
- 收藏
- 关注
转载 零基础入门NLP - 新闻文本分类(六、基于深度学习的文本分类3 - bert)
BERT微调将最后一层的第一个token即[CLS]的隐藏向量作为句子的表示,然后输入到softmax层进行分类。预训练BERT以及相关代码下载地址:链接: https://pan.baidu.com/s/1zd6wN7elGgp1NyuzYKpvGQ 提取码: tmp5import loggingimport randomimport numpy as npimport torchlogging.basicConfig(level=logging.INFO, format='%(asct
2020-08-04 21:49:05
320
转载 零基础入门NLP - 新闻文本分类(五、基于深度学习的文本分类2 - 3 - TextRNN)
TextRNNTextRNN利用RNN(循环神经网络)进行文本特征抽取,由于文本本身是一种序列,而LSTM天然适合建模序列数据。TextRNN将句子中每个词的词向量依次输入到双向双层LSTM,分别将两个方向最后一个有效位置的隐藏层拼接成一个向量作为文本的表示。import loggingimport randomimport numpy as npimport torchlogging.basicConfig(level=logging.INFO, format='%(asctime)-15
2020-08-04 21:45:46
337
原创 零基础入门NLP - 新闻文本分类(五、基于深度学习的文本分类2 - 2 - TextCNN)
TextCNN利用CNN(卷积神经网络)进行文本特征抽取,不同大小的卷积核分别抽取n-gram特征,卷积计算出的特征图经过MaxPooling保留最大的特征值,然后将拼接成一个向量作为文本的表示。基于TextCNN原始论文的设定,分别采用了100个大小为2,3,4的卷积核,最后得到的文本向量大小为100*3=300维。import loggingimport randomimport numpy as npimport torchlogging.basicConfig(level=loggi
2020-07-31 10:20:43
433
原创 零基础入门NLP - 新闻文本分类(五、基于深度学习的文本分类2 - 1 - word2vec)
import loggingimport randomimport numpy as npimport torchlogging.basicConfig(level=logging.INFO, format='%(asctime)-15s %(levelname)s: %(message)s')# set seed seed = 666random.seed(seed)np.random.seed(seed)torch.cuda.manual_seed(seed)torch.man
2020-07-31 10:16:32
211
原创 零基础入门NLP - 新闻文本分类(四、基于深度学习的文本分类fastText)
基于深度学习的文本分类一、上节回顾:1.几种文本表示方式2.几种机器学习分类方法二、fastText三、基于FastText的文本分类PS:如何使用验证集调参Embeding 和 word2vec的关系本章小结延申一、上节回顾:1.几种文本表示方式One-hotBag of WordsN-gramTF-IDF缺点:转换得到的向量维度很高,需要较长的训练实践;没有考虑单词与单词之间的关系,只是进行了统计。2.几种机器学习分类方法LRSVMXGBLGB聚类(未练习)二、fas
2020-07-27 21:36:30
352
原创 零基础入门NLP - 新闻文本分类(三、基于机器学习的文本分类)
基于机器学习的文本分类一、文本表示方法tf-idf二、用机器学习做文本分类三、作业1、调参2、换模型一、文本表示方法one-hotcount vectorsn-gramtf-idf(重点)tf-idfTF-IDF 分数由两部分组成:第一部分是词语频率(Term Frequency),第二部分是逆文档频率(Inverse Document Frequency)。其中计算语料库中文档总数除以含有该词语的文档数量,然后再取对数就是逆文档频率。TF(t)= 该词语在当前文档出现的次数 / 当前文
2020-07-25 22:24:19
339
原创 零基础入门NLP - 新闻文本分类(二、数据理解和特征分析)
数据理解和特征分析一、句子长度分析二、字符分布情况三、类别分布情况四、结论五、 延伸在第一篇赛题理解中已经进行了数据读取,接下来直接进行数据分析。目前能想到的问题有三个:文本长度是多少?字符分布情况?类别分布情况?接下来针对三个问题进行分析。一、句子长度分析%pylab inlinetrain_df['text_len'] = train_df['text'].apply(lambda x: len(x.split(' ')))print(train_df['text_len'].d
2020-07-22 22:31:27
501
原创 零基础入门NLP - 新闻文本分类(一、赛题理解)
赛题理解一 赛题数据二 数据标签三 评测标准四 赛题分析天池数据竞赛–零基础入门NLP - 新闻文本分类一 赛题数据14个类别,训练集20w条样本,测试集A包括5w条样本,测试集B包括5w条样本。labeltext657 44 66 56 2 3 3 37 5 41 9 57 44 47 45 33 13 63 58 31 17 47 0 1 1 69 26 60 62 15 21 12 49 18 38 20 50 23 57 44 45 33 25 28 47 22 52
2020-07-21 21:30:35
314
原创 二分查找类型题
二分查找大类问题,陆续更新中35. 搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。解题思路: 简单的二分查找,笔者一直认为right = mid - 1 但实际应为right = mid ,原因为当 nums[mid] > target 时, 所求的位置也有可能在mid 上。一个数如果小于 target 那么就一定在想要插入的位置的左边,return 回去的位置对应的数字 一定
2020-05-26 23:59:24
450
原创 python爬虫(四)实践
大作业:爬取腾讯新闻了解ajax加载通过chrome的开发者工具,监控网络请求,并分析用selenium完成爬虫具体流程如下:用selenium爬取https://news.qq.com/ 的热点精选热点精选至少爬50个出来,存储成csv每一行如下标号(从1开始),标题,链接,…(前三个为必做,后面内容可以自己加)我的代码import timefrom lxml impo...
2020-04-27 21:54:12
1257
原创 python爬虫(三)session和cookie、代理、selenium自动化
一、session and cookie静态网页静态网页就是我们上一篇写的那种 html 页面,后缀为 .html 的这种文件,直接部署到或者是放到某个 web 容器上,就可以在浏览器通过链接直接访问到了,常用的 web 容器有 Nginx 、 Apache 、 Tomcat 、Weblogic 、 Jboss 、 Resin 等等,很多很多。举个例子:https://desmonday.g...
2020-04-25 20:03:13
770
原创 python爬虫:BeautifulSoup 使用select方法的使用
soup.select()使用方法:标签名不加任何修饰,类名(class="className"引号内即为类名)前加点,id名(id="idName"引号前即为id名)前加 #,返回类型是 list1)通过标签名查找print soup.select(‘title’)#[< title>The Dormouse's story< /title>](2)...
2020-04-25 14:28:38
563
原创 python爬虫(二)
一、Beautiful Soup1. 基础Beautiful Soup库的理解:Beautiful Soup库是解析、遍历、维护“标签树”的功能库,对应一个HTML/XML文档的全部内容BeautifulSoup类的基本元素:Tag 标签,最基本的信息组织单元,分别用<>和</>标明开头和结尾;Name 标签的名字,<p>…</p&g...
2020-04-23 20:55:24
4016
原创 python爬虫(一)
HTTPHTTP是一个客户端和服务器端之间进行请求和应答的标准。HTTP请求方法主要包括以下几个:GETHEADPOSTPUTDELETETRACEOPTIONSCONNECT网页基础网页由HTML、CSS、JavaScript组成。HTML是用来搭建整个网页的骨架CSS是为了让整个页面更好看,比如控制颜色,大小,位置等JavaScript是用来让网页‘动起来’。...
2020-04-21 15:51:55
574
原创 二手车建模调参
一、统计学习分类监督学习-线性回归-决策树-SVD非监督学习-k-means聚类-层次聚类半监督学习-生成模型算法强化学习-Q-learning-隐马尔科夫模型1.常见的监督学习模型 1. 线性模型 2. 决策树 3. 神经网络 4. 支持向量机 5. 贝叶斯分类 6. 集成学习模型(随机森林,GBDT,X...
2020-04-01 22:26:05
243
原创 二手车特征工程
特征工程特征工程是指将数据转化为能更好地表示潜在问题的特征,从而提高机器学习性能。主要分为如下几点:数据理解数据清洗特征构造特征选择类别不平衡1.数据理解目的: 探索数据,了解数据,主要在EDA阶段完成。2.数据清洗**目的:**提高数据质量,降低算法用错误数据建模的风险。主要方法有:特征变换:模型无法处理或不适合处理方法:定性变量编码:Label Encoder...
2020-03-28 21:08:10
321
原创 数据挖掘 二手车EDA
二手车EDA赛题理解数据理解分析赛题EDA零基础入门数据挖掘 - 二手车交易价格预测赛题理解拿到赛题之后,首先要看看赛题的类型,是回归,分类,其他?同时,还要仔细读一下赛题背景,看看是不是已经说明存在数据漂移、异常值、缺失等现象,这样对我们的数据处理很有帮助。数据理解字段含义: 接下来开始看一下数据,通过看字段含义,可以知道存在明确的特征,和匿名特征。对于明确的特征,我们能知道是分类...
2020-03-24 21:42:28
166
原创 动手学深度学习(五)
机器翻译及相关技术数据预处理中 **分词(Tokenization)**的工作是?把字符形式的句子转化为单词组成的列表数据预处理工作:建立词典,分词,把单词转化为词向量。单词转化为词向量是模型结构的一部分,词向量层一般作为网络的第一层。集束搜索: 结合了贪心搜索和维特比算法,使用beam size限制在每一步保留下来的可能性词的数量。Encoder-Decoder常应用于输入序列和输出...
2020-02-19 20:30:13
686
原创 动手学深度学习(四)
机器翻译及相关技术;注意力机制与Seq2seq模型;Transformer一 机器翻译及相关技术机器翻译(MT):将一段文本从一种语言自动翻译为另一种语言,用神经网络解决这个问题通常称为神经机器翻译(NMT)。主要特征:输出是单词序列而不是单个单词。 输出序列的长度可能与源序列的长度不同。首先,将数据集清洗、转化为神经网络的输入minbatch,分词,建立词典。# Encoder-De...
2020-02-17 20:12:13
829
转载 动手学深度学习(三)
过拟合、欠拟合及其解决方案;标题梯度消失、梯度爆炸;标题循环神经网络进阶一、过拟合欠拟合及其解决方案1.模型选择、过拟合和欠拟合训练误差和测试误差在解释上述现象之前,我们需要区分训练误差(training error)和泛化误差(generalization error)。通俗来讲,前者指模型在训练数据集上表现出的误差,后者指模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测...
2020-02-17 10:23:53
185
原创 动手学深度学习(二)
一 文本预处理;文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤:读入文本分词建立字典,将每个词映射到一个唯一的索引(index)将文本从词的序列转换为索引的序列,方便输入模型二语言模型;一段自然语言文本可以看作是一个离散时间序列,给定一个长度为 T 的词的序列 w1,w2,…,wT ,语言模型的目标就是评估该序列...
2020-02-14 15:23:42
180
原创 动手学深度学习(一)
第一节 线性回归基础3.1.1.1. 模型其中 w1 和 w2 是权重(weight), b 是偏差(bias),且均为标量。3.1.1.2. 模型训练训练数据损失函数通常,我们用训练数据集中所有样本误差的平均来衡量模型预测的质量w∗1,w∗2,b∗ ,为使训练样本平均损失最小的解优化算法|B| 代表每个小批量中的样本个数(批量大小,batch size),η称作学习...
2020-02-12 21:30:25
242
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人