文本分类

[ DLPytorch ] 文本分类&图像增强

不羁岁月 提交于 2020-02-25 20:59:16
图像增强 图像增广(image augmentation)技术通过对训练图像做一系列随机改变,来产生相似但又不同的训练样本,从而扩大训练数据集的规模。图像增广的另一种解释是,随机改变训练样本可以降低模型对某些属性的依赖,从而提高模型的泛化能力。例如,我们可以对图像进行不同方式的裁剪,使感兴趣的物体出现在不同位置,从而减轻模型对物体出现位置的依赖性。我们也可以调整亮度、色彩等因素来降低模型对色彩的敏感度。可以说,在当年AlexNet的成功中,图像增广技术功不可没。本节我们将讨论这个在计算机视觉里被广泛使用的技术。 常用的图像增广方法 翻转和裁剪 左右翻转图像通常不改变物体的类别。它是最早也是最广泛使用的一种图像增广方法。下面我们通过torchvision.transforms模块创建RandomHorizontalFlip实例来实现一半概率的图像水平(左右)翻转。 上下翻转不如左右翻转通用。但是至少对于样例图像,上下翻转不会造成识别障碍。下面我们创建RandomVerticalFlip实例来实现一半概率的图像垂直(上下)翻转。 变化颜色 另一类增广方法是变化颜色。我们可以从4个方面改变图像的颜色:亮度(brightness)、对比度(contrast)、饱和度(saturation)和色调(hue)。我们也可以随机变化图像的色调。类似地,我们也可以随机变化图像的对比度。

文本分类实战

点点圈 提交于 2020-02-25 19:19:35
此处还用到torchtext,针对NLP的文本预处理功能模块。 1、读取数据 数据源: 斯坦福的IMDb数据集(Stanford’s Large Movie Review Dataset) def read_imdb ( folder = 'train' , data_root = "./dataset/aclImdb_v1/aclImdb" ) : data = [ ] for label in [ 'pos' , 'neg' ] : folder_name = os . path . join ( data_root , folder , label ) for file in tqdm ( os . listdir ( folder_name ) ) : with open ( os . path . join ( folder_name , file ) , 'rb' ) as f : review = f . read ( ) . decode ( 'utf-8' ) . replace ( '\n' , '' ) . lower ( ) data . append ( [ review , 1 if label == 'pos' else 0 ] ) random . shuffle ( data ) return data DATA_ROOT = "/home

HTML系列(三):文字设置

为君一笑 提交于 2020-02-24 16:27:24
一、标题 标题的h1到h6标签,这里不再赘述。值得一提的是,H5中新定义了一个元素<hgroup>,用来将标题和副标题群组。一般在header里将一组标题组合在一起,变成一个区块: 1 <body> 2 <header> 3 <hgroup> 4 <h1> 阿里旅行·去啊 </h1> 5 <h2> 阿里旅行·去啊是阿里巴巴旗下的综合性旅游出行服务平台 </h2> 6 <p>阿里旅行·去啊,世界触手可行</p> 7 </hgroup> 8 </header> 9 <article> 10 阿里旅行·去啊整合数千家机票代理商、航空公司、旅行社、旅行代理商资源,直签酒店,客栈卖家等为广大旅游者提供特价机票,酒店预订,客栈查询,国内外度假信息,门票购买,签证代理,旅游卡券,租车,邮轮等旅游产品的信息搜索,购买及售后服务。全程采用支付宝担保交易,安全、可靠、有保证。 11 </article> 12 <body> 13 </body> 二、关键字和产品名称<b></b> <b>标签包裹的部分比其余部分更重要,呈现为粗体。以下场景可以使用b标签:文档的摘要中的关键字;产品描述中的产品名;其他文本在需要加粗显示的情况下。 根据H5规范,再没有其他更合适的标签时,才把b作为最后的选项。H5声明用h1到h6表示标题,em表示要强调的文本,strong来表示重要文本,mark表示标注的、突出显示的文本

BERT

会有一股神秘感。 提交于 2020-02-22 05:35:39
转:https://www.cnblogs.com/rucwxb/p/10277217.html 【NLP】彻底搞懂BERT 自google在2018年10月底公布BERT在11项nlp任务中的卓越表现后,BERT(Bidirectional Encoder Representation from Transformers)就成为NLP领域大火、整个ML界略有耳闻的模型,网上相关介绍也很多,但很多技术内容太少,或是写的不全面半懂不懂,重复内容占绝大多数(这里弱弱吐槽百度的搜索结果多样化。。) 一句话概括,BERT的出现,彻底改变了预训练产生词向量和下游具体NLP任务的关系,提出龙骨级的训练词向量概念。 目录:   词向量模型:word2vec, ELMo, BERT比较   BERT细则:Masked LM, Transformer, sentence-level   迁移策略:下游NLP任务调用接口   运行结果:破11项NLP任务最优纪录 一、词向量模型 这里主要横向比较一下word2vec,ELMo,BERT这三个模型,着眼在模型亮点与差别处。 传统意义上来讲,词向量模型是一个工具,可以把真实世界抽象存在的文字转换成可以进行数学公式操作的向量,而对这些向量的操作,才是NLP真正要做的任务。因而某种意义上,NLP任务分成两部分,预训练产生词向量,对词向量操作(下游具体NLP任务

html学习笔记(一)

跟風遠走 提交于 2020-02-22 00:48:50
认识网页 网页组成 由文字、图片、输入框、视频、音频、超链接等组成。 web标准 W3C组织(万维网联盟) Html (结构标准 ),相当人的身体。 Css 样式(表现)标准 , 相当与给人化妆 变的更漂亮。 Js 行为标准 , 相当与人在唱歌,页面更灵动。 浏览器内核 也就是渲染引擎(决定了浏览器如何显示网页的内容及页面的格式信息(兼容性问题) 认识html Hyper text markup language 超文本标记语言。超文本:超链接。(实现页面跳转) html结构标准 < !doctype html> 声明文档类型 <html> 根标签 <head> 头标签 <title></title> 标题标签 </head> <body> 主体标签 </body> </html> html标签分类 单标签 <! Doctype html> 双标签 <html> </html> <head></head> <title></title> Html标签关系分类 包含(嵌套关系) <head><title></title></head> 父子 并列关系 <head></head><body></body> 兄弟姐妹 开发工具 Dw 历史悠久,设计师使用。 Sublime 轻量级 有很多好用的插件。 Webstorm 重量级 太过智能。 标签 单标签 注释标签 <!-- 注释 -->

中文文本分类

好久不见. 提交于 2020-02-20 06:20:16
目录 代码分解 utils train_eval models.TextCNN main 在GPU下的运行结果 代码分解 代码包括四个部分,分别是: 工具类:utils 训练及测试代码:train_eval 模型:models.TextCNN 主函数:main 在notebook中依次运行前三个部分,最后执行main就可以开始训练了 colab链接: https://colab.research.google.com/drive/1vUnHAjmA3OTt5o47HQkQLCXA8-rtsZEs 具体代码及解析如下: utils """ utils """ import os import torch import numpy as np import pickle as pkl from tqdm import tqdm import time from datetime import timedelta MAX_VOCAB_SIZE = 10000 # 词表长度限制 UNK, PAD = '<UNK>', '<PAD>' # 未知字,padding符号 def build_vocab(file_path, tokenizer, max_size, min_freq): """ 构建一个词表: 首先对数据集中的每一行句子按字/空格进行分割,然后统计所有元素的出现频率

文本分析

£可爱£侵袭症+ 提交于 2020-02-18 00:36:04
概述: 本文演示了jieba中文分词组件、sklearn等库的使用,包括 新闻中停止词的剔除演示 提取新闻的关键词 词频统计 词云图绘制 对新闻进行向量化 使用朴素贝叶斯算法进行新闻分类 使用贝叶斯模型进行新闻分类(原理涉及到编辑距离、朴素贝叶斯算法) jieba 是目前最好的 Python 中文分词组件,它主要有以下 3 种特性 支持 3 种分词模式:精确模式、全模式、搜索引擎模式 支持繁体分词 支持自定义词典 import pandas as pd import jieba #pip install jieba 数据源:http://www.sogou.com/labs/resource/ca.php df_news = pd . read_csv ( './data/val.txt' , sep = '\t' , names = [ 'category' , 'theme' , 'URL' , 'content' ] , encoding = 'utf-8' ) df_news = df_news . dropna ( ) df_news . head ( ) category theme URL content 0 汽车 新辉腾 4.2 V84座加长Individual版2011款 最新报价 http://auto.data.people.com.cn/model

【BERT系列】——文本分类

北战南征 提交于 2020-02-17 14:13:44
本文是 BERT 实战的第一篇,使用 BERT 进行文本分类。 1. 准备 1.1 环境 python 3.7 ; pytorch 1.3 ; transformers 2.3 ( 安装教程 ); 1.2 数据 使用 新浪新闻 数据(链接:https://pan.baidu.com/s/1-Lck_ivs2ryBcrXY0HoR_g 提取码:2uwc); 2. 实战 2.1 训练代码 # batch_size batch_size = 8 # 学习率 lr = 1e - 5 # 是否使用gpu cuda = False # 训练批次 epoches = 20 # sequence 最大长度 max_length = 256 # 得到attention mask def get_atten_mask ( tokens_ids , pad_index = 0 ) : return list ( map ( lambda x : 1 if x != pad_index else 0 , tokens_ids ) ) # 类别: id news_type2id_dict = { '娱乐' : 0 , '财经' : 1 , '体育' : 2 , '家居' : 3 , '教育' : 4 , '房产' : 5 , '时尚' : 6 , '游戏' : 7 , '科技' : 8 , '时政' : 9

(转)pdf及word文档的读取 pyPDF2,docx

心已入冬 提交于 2020-02-15 23:40:29
https://www.cnblogs.com/Ting-light/p/9548127.html #!python3 #-*- coding:utf8 -*- #PyPDF2可能会打不开某些pdf文档,也不能提取图片,图表或者其他媒介从PDF文件中。但是它能提取文本从PDF中,转化为字符。 import PyPDF2 #以二进制方式 读模式打开一个pdf文件 pdfFileObj=open('e:\work\data_service.pdf','rb') #读取pdf文档 pdfReader=PyPDF2.PdfFileReader(pdfFileObj) #返回的是pdf文档的总页数 print(pdfReader.numPages) #获取单页的内容,页码数从0开始 pageObj=pdfReader.getPage(0) #返回单页的文本内容 pageObj.extractText() #对于有加密的pdf文档其读对象有属性 isEncrypted print(pdfReader.isEncrypted) #若有加密,则属性值为True。直接获取某页的文本内容会报错。 #通过方法decrypt()传递解密密码后可正常获取文本内容,密码以字符串形式传入。 #pdfReader.decrypt('rosebud') #写pdf文档 #创建pdf写对象 pdfWriter

深度学习—学习笔记

你。 提交于 2020-02-15 10:11:04
线性回归 主要内容包括: 1、线性回归的基本要素 2、线性回归模型从零开始的实现 3、线性回归模型使用pytorch的简洁实现 线性回归的基本要素 1、模型 为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。 2、数据集 我们通常收集一系列的真实数据,例如多栋房屋的真实售出价格和它们对应的面积和房龄。我们希望在这个数据上面寻找模型参数来使模型的预测价格与真实价格的误差最小。在机器学习术语里,该数据集被称为训练数据集(training data set)或训练集(training set),一栋房屋被称为一个样本(sample),其真实售出价格叫作标签(label),用来预测标签的两个因素叫作特征(feature)。特征用来表征样本的特点。 3、损失函数 在模型训练中,我们需要衡量价格预测值与真实值之间的误差。通常我们会选取一个非负数作为误差,且数值越小表示误差越小。一个常用的选择是平方函数。 4、优化函数 - 随机梯度下降 当模型和损失函数形式较为简单时,上面的误差最小化问题的解可以直接用公式表达出来。这类解叫作解析解(analytical solution)。本节使用的线性回归和平方误差刚好属于这个范畴。然而,大多数深度学习模型并没有解析解,只能通过优化算法有限次迭代模型参数来尽可能降低损失函数的值。这类解叫作数值解(numerical