NLP
SUN_SU3
这个作者很懒,什么都没留下…
展开
-
ES 环境搭建
ES 搭建安装brew install elasticsearch启动elasticsearch访问http://localhost:9200/kibana 搭建安装brew install kibana启动kibana访问http://localhost:5601/elasticsearch head 搭建安装 Node.js下载 elasticsearch headgit clone git://github.com/mobz/elastic原创 2022-02-28 14:17:53 · 1085 阅读 · 0 评论 -
用Transformers的Trainer做Text-CNN文本分类
Transformers的Trainer这个类做Bert Fine-tuning时比较方便,近期用Text-CNN做文本分类实验提升推理速度时,就直接引用了Trainer的训练流程来训练text-CNN,简化训练步骤import osimport torchimport numpy as npimport torch.nn as nnimport torch.optim as optimimport torch.nn.functional as Ffrom sklearn import met原创 2022-01-12 10:22:12 · 1471 阅读 · 0 评论 -
Pytorch 多GPU分布式数据并行(DistributedDataParallel)
DistributedDataParallel, 多进程,支持数据并行、模型并行,支持单机多卡、多机多卡;进程间仅传递参数,运行效率高于DataParallel下面是一个文本分类的完整示例import osimport timeimport torchimport torch.nn as nnimport torch.optim as optimimport torch.distributed as distimport torch.multiprocessing as mpfrom da原创 2021-11-24 10:19:15 · 1016 阅读 · 0 评论 -
几种计算文本相似度的方法
import difflibimport Levenshteinfrom sklearn.metrics.pairwise import cosine_similaritya = 'abcd'b = 'ader'# Sorensen Dice s=2 * |x n y| / (|x| + |y|)s = difflib.SequenceMatcher(None, a, b)dice = s.ratio()print('Sorensen Dice Similarity:', dice)原创 2021-10-09 17:19:16 · 855 阅读 · 0 评论 -
Transformers模型参数平均(bart为例)
from transformers import BartForConditionalGeneration, BertTokenizerdef avg_parameters(model_files, save_model=None): avg_model = BartForConditionalGeneration.from_pretrained(model_files[0]) avg_model_p = avg_model.state_dict() parm_name = []原创 2021-10-09 17:17:15 · 714 阅读 · 0 评论 -
TF-IDF关键词提取
import jiebaimport jieba.analysefrom tqdm import tqdmfrom sklearn.feature_extraction.text import TfidfVectorizer# data : 文本list# jieba 关键词提取def key_words1(data): text = ' '.join(data) kwds = jieba.analyse.extract_tags(text, topK=20, withWei原创 2021-08-13 17:52:56 · 577 阅读 · 0 评论 -
基于Prompt的MLM文本分类-v2
自动寻找Prompt实验版本好多参数可调import osimport torchimport loggingimport datasetsimport transformersimport numpy as npimport torch.nn as nnfrom sklearn import metricsfrom datasets import Datasetfrom torch.nn import CrossEntropyLossfrom sklearn.model_selec原创 2021-04-02 15:44:09 · 2066 阅读 · 19 评论 -
基于Prompt的MLM文本分类
简介常规NLP做文本分类时常用Transfer Learning的方式,在预训练bert上加一个分类层,哪个输出节点概率最大则划分到哪一类别。而基于Prompt的MLM文本分类是将文本分类任务转化为MLM( Masked Language Modeling)任务,通过[MASK]位置的输出来判断类别。例如通过文本描述判定天气好坏,类别【好、坏】:常规方式:今天阳光明媚! 【好】基于Prompt的MLM: 天气[MASK],今天阳光明媚!【天气好,今天阳光明媚!】Prompt的设定可以有多种方式原创 2021-03-31 20:09:48 · 7881 阅读 · 36 评论 -
Transformers预训练bert文本分类DEMO
简单应用Transformers的预训练模型做文本分类import osimport loggingimport numpy as npimport transformersfrom datasets import Datasetfrom sklearn import metricsfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_score, precision_原创 2021-02-26 16:16:55 · 1063 阅读 · 3 评论 -
解析wiki数据(带标点,保留格式)
Wiki数据数据下载下载地址 https://dumps.wikimedia.org/kowiki/下载其他语种数据可更改语种代码,如:kowiki 改为 zhwiki下载数据文件:kowiki-20201001-pages-articles.xml.bz2数据解析安装python 扩展包 Wikiextractor, pip install wikiextractor(github地址:https://github.com/attardi/wikiextractor)解析数据,pyt原创 2020-10-23 10:52:20 · 1314 阅读 · 0 评论 -
tensorflow_Trax_transformer使用示例
数据准备Trax中没有写好的数据数据预处理脚本,所以要自己写数据预处理的过程,这里我就直接使用tensorflow_official_nlp_transformer使用示例中生成TTRecoard数据# 获取训练语料batch_size = 8max_length = 100static_batch = Truemodel_dir = './data_dir/trax_nlp/train_dir/'_READ_RECORD_BUFFER = 8*1000*1000def _load_rec原创 2020-05-14 11:08:05 · 925 阅读 · 0 评论 -
tensorflow_official_nlp_transformer使用示例
github链接https://github.com/tensorflow/models/tree/master/official/nlp/transformer安装pip install tf-models-nightly (readme有介绍,也可以源码安装)使用说明用自有数据训练预测,没有严格按照官方教程走流程,有些步骤解耦出来处理的1. 导入必要的包import osimport loggingimport numpy as npimport tensorflow as tff原创 2020-05-11 16:16:53 · 1213 阅读 · 1 评论 -
python 常用NLP开源项目
fastNLP:https://github.com/fastnlp/fastNLP简介:fastNLP是一款轻量级的自然语言处理(NLP)工具包,目标是快速实现NLP任务以及构建复杂模型。fairseq:https://github.com/pytorch/fairseq简介:Fairseq(-py) is a sequence modeling toolkit that allows...原创 2020-05-07 17:33:06 · 1108 阅读 · 0 评论 -
Tensor2Tensor使用记录
NMT方向1)编写自己的问题定义脚本可参照 tensor2tensor/data_generators/translate_enzh.py脚本进行编写,主要是改一下训练数据和测试数据路径,定义词典大小和名称,也可以自定义词典什么的,这个根据需要更改注意:类前要加@registry.register_problem,把这个任务注册上,不然是找不到这个任务类的名称和脚本命名要保持一致,类是...原创 2019-09-06 17:25:01 · 844 阅读 · 0 评论 -
Docker 部署tensorflow_model_server过程记录
查看CUDA版本:cat /usr/local/cuda/version.txt查看文件链接到哪里:ls -al libcuda.so.1docker 下 tensorflow_model_server t2t部署1.安装docker见菜鸟教程:http://www.runoob.com/docker/docker-tutorial.html2.下载serving镜像:docker...原创 2019-08-27 18:30:32 · 2073 阅读 · 0 评论 -
BLEU计算
调用NLTK计算bleu计算语料的bleu值import nltkfrom nltk.translate.bleu_score import corpus_bleu, SmoothingFunctiondef compute_bleu(reference=None, translation=None): if reference and translation: ...原创 2019-08-27 18:11:34 · 2745 阅读 · 1 评论 -
python 语种识别对比
问题描述目前找到的python库主要就是langid和langdetect,对两个库的识别准确率做了一下对比,测试集来自于机器翻译的测试集newstest2018首先将sgm文件转成txt格式,去掉sgm格式的标记符,只保留文本内容针对每个文件分别计算langid和langdetect的识别准确率,再将识别正确的数量加和除以总数量计算整体准确率langid_total = []langd...原创 2019-08-08 16:30:36 · 1222 阅读 · 1 评论