
深度学习NLP方向
文章平均质量分 65
深度学习
訢詡
我认识的真正的人工智能大师是从来不用优化函数,他们通过心算来更新参数。问到他们渴望用优化函数么,都说当然渴望啊,我问那为什么不用,他们的回答都出奇的一致:太忙。
展开
-
TextRenderer OCR的REC数据生成工具使用指南 (2)
上次说到TextRenderer 出了新版https://github.com/oh-my-ocr/text_rendererhttps://github.com/oh-my-ocr/text_renderer新版项目地址如上这个项目完全可以用上次旧版的TextRenderer虚拟环境先编译项目python setup.py develop然后pip install -r docker/requirements.txt -i https://pypi.douban.com/sim原创 2021-10-25 11:11:03 · 1161 阅读 · 0 评论 -
TextRenderer OCR的REC数据生成工具使用指南 (1)
它真的叫TextRenderer继上次研究了一个月为什么自己从新训练的PaddleOCR-v2-REC模型不收敛以后,迎来了下一个问题,数据多样性问题怎么解决?在官方项目提了issue之后得到了如下答案:TextRenderer TextRecognitionDataGenerator那么本篇博客我们就来看一下TextRenderer的效果怎么样项目地址为:https://github.com/Sanster/text_rendererhttps://github.com/Sanst原创 2021-10-25 10:18:22 · 1196 阅读 · 2 评论 -
PaddleOCR多机多卡分布式训练指南 | 基于Ubuntu18.04
一、项目背景生僻字的fine-tune不能简单的使用几百个数据训练一下,这样会让之前学习到的忘掉。怎么办呢,就只能加大数据量,在git上提了issue以后简单了解到了以下内容:- 数据量要大 最少几百万条数据- 对于生僻字的覆盖要均匀 每个字最少出现200次以上- 场景尽量多样 可以做合成数据于是我就用前面的博客写的生僻字数据集制作,简单做了40w数据。我有两台2080,又没有办法把两个2080放在一个主板上,那么故事就开始了。二、环境配置首先要满足单机多卡或者单机单卡没原创 2021-10-12 10:36:07 · 3042 阅读 · 4 评论 -
把ICDAR2019-LSVT原始数据集转为REC任务识别数据
ICDAR2019-LSVT数据集有两个:①Baidu Research Open-Access Dataset - Introductionhttps://ai.baidu.com/broad/introduction?dataset=lsvt是包含定位和标记的数据类型②飞桨AI Studio - 人工智能学习与实训社区集开放数据、开源算法、免费算力三位一体,为开发者提供高效学习和开发环境、高价值高奖金竞赛项目,支撑高校老师轻松实现AI教学,并助力开发者学习交流,加速落地AI业务场景ht.原创 2021-10-09 10:17:46 · 6691 阅读 · 0 评论 -
OCR/STR生僻字数据训练 | PaddleOCR的Fine-tune常见问题汇总(3)
1、印章如何识别?使用带tps的识别网络或abcnet,2.使用极坐标变换将图片拉平之后使用crnn2、多语言的字典里是混合了不同的语种,这个是有什么讲究吗?统一到一个字典里会对精度造成多大的损失?统一到一个字典里,会造成最后一层FC过大,增加模型大小。如果有特殊需求的话,可以把需要的几种语言合并字典训练模型,合并字典之后如果引入过多的形近字,可能会造成精度损失,字符平衡的问题可能也需要考虑一下。在PaddleOCR里暂时将语言字典分开。3、如何对检测模型finetune,比如冻结.原创 2021-09-18 10:01:37 · 7672 阅读 · 0 评论 -
OCR/STR生僻字数据训练 | PaddleOCR的垂类Fine-tune(2)
项目背景paddleOCR开源的权重识别的很好,但是不覆盖生僻字二级、三级字库,碰到个生僻字就翻车。研究一下发现paddleOCR提供了完整的训练和预测接口。项目地址:https://github.com/PaddlePaddle/PaddleOCR根据这个语焉不详的说明文档,我们开始训练起来吧~说明文档:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.3/doc/doc_ch/recognition.md数据生成数据原创 2021-09-08 10:40:14 · 1722 阅读 · 5 评论 -
OCR/STR生僻字数据集生成 | PaddleOCR的垂类Fine-tune(1)
根据字库生成一个图片,图片里面约10多个字,白底黑字,字号大约6号:大概长这个样子首先找个字库再说:https://github.com/elephantnose/characters导入依赖包import cv2from PIL import ImageFont,ImageDraw,Imageimport numpy as npimport uuidimport osimport randomimport math配置函数,画图函数,生成函数def confi.原创 2021-09-07 17:12:39 · 1386 阅读 · 3 评论 -
百度飞桨PaddleHub | 词法分析
之前一直在用LTP的分词,偶然接触到了PaddleNLP,发现它的分词支持导入本地词典,决定试一下。首先安装paddlepaddlepip install paddlepaddle -i https://mirror.baidu.com/pypi/simple然后安装paddlehubpip install paddlehub -i https://mirror.baidu.com/pypi/simple然后安装lachub install lac==2.2.0Lexic原创 2021-08-13 13:59:37 · 655 阅读 · 0 评论 -
Keras中一些关于NLP的函数
1.keras.layers.Embeddingkeras.layers.Embedding(input_dim, output_dim, embeddings_initializer='uniform', embeddings_regularizer=None, activity_regularizer=None, embeddings_constraint=None, mask_zero=False, input_length=None)参数里面其实还能放weights,但是官方文档没写。原创 2021-05-27 15:17:45 · 431 阅读 · 0 评论 -
关于Transformer中的Positional Encoding这件小事
看到这个Positional Encoding完全不明白这是个啥。今天似乎搞懂了,整理一下。众所周知RNN属鱼的记性不太好,学了后面忘了前面。LTSM呢倒是一个字一个按照顺序来的,但是太慢啊,transformer是并行输入的,一次一个矩阵,这么搞要搞到地老天荒。那么问题就来了,一次输入一批就失去了顺序,上下文没了。这个时候Positional Encoding就要闪亮登场了,我给字一个‘’编号‘’不就好了,编号之间是存在顺序的,那么这样字和字之间也存在顺序了。位置向量是怎么算出来的..原创 2021-05-20 14:17:21 · 490 阅读 · 0 评论 -
[已译完] Deep Structured Semantic Models (DSSM) 论文翻译
使用点击数据学习用于Web搜索的深度结构化语义模型Learning Deep Structured Semantic Models for Web Search using Clickthrough DataABSTRACT 摘要Latent semantic models, such as LSA, intend to map a query to itsrelevant documents at the semantic level where keyword-basedmatching o原创 2021-05-06 10:59:36 · 1057 阅读 · 0 评论 -
Deep Structured Semantic Models (DSSM) 训练、测试、部署指北
一、项目地址代码:https://github.com/InsaneLife/dssm权重:https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip二、环境项目里面的requirements太坑了Package Version------------------- -------------------absl-py 0.12.0原创 2021-04-23 16:43:08 · 716 阅读 · 7 评论 -
Flask生产环境部署指南 | 复杂度-- 稳定性++ 性能++
零、前言自上次用flask搭了个接口跑yolo以后,一直都很ok直到有一天请求数突然多了起来...只要有1个以上线程请求就崩掉查了一下原来app.run()是用于开发环境测试用的笑死,根本不保证稳定性和性能在不需要复杂的代码修改了环境部署前提下,我实测了下面这种可以用于生产环境的部署方式:一、安装gunicornpip install gunicorn二、导入proxyfixfrom werkzeug.middleware.proxy_fix import Pro原创 2021-04-12 11:39:14 · 2962 阅读 · 2 评论 -
Lexical Complexity Analyzer v2.2 (LCA) 单词复杂性分析 | 使用指南
原始地址 :https://github.com/Maryam-Nasseri/LCA-AW-Lexical-Complexity-Analyzer-for-Academic-Writing在线试用版:https://aihaiyang.com/software/lca/single/主要版本是python2的,最新发布版v2.2是python3的,神奇的是发布版里面2和3打包到一起了下载项目文件之后不需要什么依赖包,都是python自带的主要有四条指令:BNC词表单文件pyt..原创 2021-04-09 09:53:34 · 3850 阅读 · 2 评论 -
Lexical Complexity Analyzer (LCA) 单词复杂性分析的数据预处理操作
LCA是个求解单词复杂性的一个程序,它要求数据输入必须以 word_postag的形式。我们通过上文的spacy自然语言处理工具包去做单词的词性标注,然后写出到lem文件。原始数据文件大致长成这个样子,tsv文件列间用\t分隔即可。import warningswarnings.filterwarnings("ignore")import pandas as pdimport numpy as npimport spacyspacy.__version__'3.0.5'词性标注函数原创 2021-04-08 17:42:39 · 1906 阅读 · 0 评论 -
君のPOS tagging本当上手 | SpaCy 使用指南
在某一天用NLTK做POS的突然发现:[('thank', 'NN'), ('you', 'PRP'), ('for', 'IN'), ('listening', 'VBG')]不禁对这个世界产生了深深的怀疑,这NLTK还能要?一、SpaCy v3.0官网地址:https://spacy.io/spaCy旨在帮助您完成真实的工作-制作真实的产品或收集真实的见解。图书馆尊重您的时间,并尽力避免浪费时间。它易于安装,其API简单高效。 spaCy在大型信息提取任务方面表现出色。它是从原创 2021-04-08 16:33:40 · 640 阅读 · 0 评论 -
语法纠错GECToR | 使用指南
训练那块我还没看懂,写的花里呼稍的一、环境配置官方代码https://github.com/grammarly/gectorBERT 预训练权重https://grammarly-nlp-data-public.s3.amazonaws.com/gector/bert_0_gector.thRoBERTa预训练权重https://grammarly-nlp-data-public.s3.amazonaws.com/gector/roberta_1_gector.thXLNet...原创 2021-03-30 17:20:57 · 2622 阅读 · 14 评论 -
使用flask调用训练好的BERT | 原版代码太长了让我随便删点
一、需要环境Ubuntu18.04 / CUDA10.1 / CUDNN7.6.5 / RTX2080 /ANACONDA3 5.2.0 / TensorFlow-gpu=1.13.1 剩下的看表吧Package Version---------------------- ---------absl-py 0.11.0astor 0.8.1astunparse 1.6.3原创 2021-03-22 17:47:43 · 922 阅读 · 0 评论 -
CoLA任务的数据增强方法
主要有四种语法错误:①少词-A类②错字母-B类③少字母-C类④换词-D类我将每个类分为1,2,3个错误数量,这样共计12个小类:# FOR 1Aimport randomerr_data_num = int(len(data)/2)res = []for i in range(40166): s = data[i].split(" ") word_count = len(s)-1 print("word conut:",word_count)原创 2021-03-15 10:03:05 · 707 阅读 · 0 评论 -
英文语境下用BERT做CoLA任务Fine-tuning
一、运行环境和简介CUDA=10.1CUDNN=7.6.5python=3.6.5anaconda=3 5.2.0tensorflow-gpu=1.13.1conda installtensorflow-gpu=1.13.1 一句话完成环境搭建CoLA任务是GLUE里面的其中一项,二分类语法错误的任务。二、运行demo在你下载好所有的预训练权重以后让我们来做一次MRPC任务评估运行指令:打开评估python run_classfier.py \--tas.原创 2021-03-11 14:17:09 · 644 阅读 · 0 评论 -
做一个有想法的AI | 用LaserTagger做NLP的文本复述任务
上文提到GPT2的文本生成任务,确实比较智障,一到200多个字之后就只会阿巴阿巴阿巴本文我们我们讨论一下比较冷门的文本复述任务,其实和语义相似度任务比较像,只不过一个是分类 一个是生成 但是对于基础的编码解码来说区别不大。一、下载项目代码和准备数据项目地址:https://github.com/Jeremiah0425/text_scalpel预训练权重:百度网盘 链接:https://pan.baidu.com/s/1yho8ihR9C6rBbY-IJjSagA提取码: 2a97...原创 2021-01-19 15:12:09 · 1037 阅读 · 0 评论 -
让AI写个作文康康 | GPT2中文项目的部署和自定义语料的训练
有的时候我都快忘了我是做CV的~项目主要基于GPT2-Chinese项目,做了一些优化修改。一、下载项目和数据项目下载地址(原始项目):https://github.com/Morizeyao/GPT2-Chinese体验模型:①散文:使用130MB的名家散文、情感散文和散文诗歌训练所得 。百度网盘 fpyu②诗词:使用180MB的约80万首古诗词训练所得。百度网盘 7fev③对联:使用40MB的约70万条对联训练所的。百度网盘 i5n0-------------------原创 2021-01-18 15:27:21 · 3321 阅读 · 6 评论 -
“万物皆可Seq2Seq” | 忠于原文的T5手写论文翻译
“万物皆可Seq2Seq”原文地址:《Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer》摘要 /Abstract Transfer learning, where a model is first pre-trained on a data-rich task before being finetuned on a downstream task, has emerge...原创 2021-01-06 16:19:31 · 757 阅读 · 0 评论 -
“万物皆可Seq2Seq” | 使用 bert4keras 在中文语境下运行Google Multilingual T5(mT5)
一、介绍自去年Google发布了T5之后一直没有中文版本,所以没什么人去用。今年出了中文版我还是不会用,这里用的是苏总的bert4keras去跑mT5,一些对于T5的理解会慢慢加上,前面先以跑通为主。二、环境物理机:Ubuntu18.04、RTX2080(8G)、NVIDIA-DRIVER=440.95.01、Anaconda3 5.2.1、Python=3.6、CUDA=10.1、CUDNN=7.6.5先用conda创建一个虚拟环境:conda create -n t5s.原创 2021-01-05 16:18:36 · 1223 阅读 · 9 评论 -
人为增加近义词 | Word2Vec的语料制作和训练
第零步:介绍终于弄明白了gensim.word2vec怎么玩,说到底word2vec就是用共现矩阵来判断两个词语是不是相关,从而得出两个词语相似度高不高,这话听起来有问题~但事实就是这样的,不管我们认为这两个词是不是近义词,只要放在一起,这两个词在窗口内经常一起出现,那它就是近义词,于是我用网上最著名的例子《人民的名义》做了实验:需要的库有 gensim,jieba 使用pip安装即可。第一步:分词人民的名义下载地址:http://files.cnblogs.com/files/pina原创 2020-12-23 09:35:19 · 1140 阅读 · 0 评论 -
你这句话是什么意思? | 基于ALBERT的中文语义相似度计算【非分类任务】
一、前言需求很简单,就是有两个句子(大概一二百字左右不会太长),一个是正确答案一个是考生作答,我需要知道这个按照这个标准答案考生的作答应该给几分。关键点是:NLP的方向、语义相似度的任务,中文的。看我博客的应该都知道我是做CV方向的,最近有了这么个需求让我做,这明明是NLP方向的东西啊 (╯‵□′)╯︵┻━┻首先花了大概4~5天的时间学习了一下NLP的基础知识:词向量,词袋模型,LSTM之类的东西。ε≡٩(๑>₃<)۶ 一心向学根据CV的经验这件事一定是用深度学习做的,因为身原创 2020-12-14 17:49:09 · 547 阅读 · 0 评论