自然语言处理
文章平均质量分 82
该专栏主要为NLP方向的相关算法知识。
dzysunshine
爱打篮球,爱跑步,爱学算法
展开
-
MOSS模型量化版部署过程
MOSS模型量化版部署原创 2023-05-04 17:30:30 · 7922 阅读 · 6 评论 -
BERT预训练模型系列总结
预训练模型总结原创 2022-07-28 15:17:47 · 3493 阅读 · 0 评论 -
jieba分词原理
jieba分词原理原创 2022-07-06 18:41:24 · 463 阅读 · 0 评论 -
文本匹配之SimCSE模型
目录前言模型结构模型原理模型训练特别说明模型效果参考前言论文全名:SimCSE: Simple Contrastive Learning of Sentence Embeddings论文地址:https://aclanthology.org/2021.emnlp-main.552.pdf论文收录于EMNLP2021。论文提供的代码(pytorch):GitHub - princeton-nlp/SimCSE: EMNLP'2021: SimCSE: Sim..原创 2022-04-29 18:03:57 · 9982 阅读 · 0 评论 -
达观杯文本智能处理(2)
TF-IDF理论与代码实践1.什么是TF-IDF?TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。 TF-IDF加权的各种形式常被搜寻引擎应用,作为文件与用户查询之间相关程度的度量或评级。TF-IDF有两层意思,一层是"词频"(Term Frequen...原创 2019-04-07 14:13:55 · 237 阅读 · 0 评论 -
达观杯文本智能处理(3)
Word2vec词向量原理与实践1. 什么是word2vecword2vec工具主要包含两个模型:跳字模型(skip-gram)和连续词袋模型(continuous bag of words,简称CBOW),以及两种高效训练的方法:负采样(negative sampling)和层序softmax(hierarchical softmax)。值得一提的是,word2vec词向量可以较好地表达不同...原创 2019-04-09 21:04:18 · 395 阅读 · 0 评论 -
达观杯文本智能处理(1)
数据说明比赛官方对数据的说明是数据包含两个文件:train_set.csv和test_set.csv一.初识数据train_set.csv:此数据集用于训练模型,每一行对应一篇文章。文章分别在“字”和“词”的级别上做了脱敏处理。共有四列:第一列是文章的索引(id)第二列是文章正文在“字”级别上的表示,即字符相隔正文(article)第三列是在“词”级别上的表示, 即词语相隔正文(wor...原创 2019-04-05 21:59:43 · 394 阅读 · 0 评论 -
达观杯文本智能处理(5)
传统的boosting算法(如GBDT和XGBoost)已经有相当好的效率,但是在如今的大样本和高维度的环境下,传统的boosting似乎在效率和可扩展性上不能满足现在的需求了,主要的原因就是传统的boosting算法需要对每一个特征都要扫描所有的样本点来选择最好的切分点,这是非常的耗时。为了解决这种在大样本高纬度数据的环境下耗时的问题,Lightgbm使用了如下两种解决办法:一是GOSS(Gra...原创 2019-04-13 22:42:04 · 200 阅读 · 0 评论 -
达观杯文本智能处理(4)
内容:使用下面模型对数据进行分类(包括:模型构建&调参&性能评估),并截图F1评分的结果1)逻辑回归(LR)模型,学习理论并用于特征实践2)支持向量机(SVM) 模型,学习理论并用于特征实践1. 逻辑回归(LR)模型逻辑回归也被称为对数几率回归,算法名虽然叫做逻辑回归,但是该算法是分类算法,个人认为这是因为逻辑回归用了和回归类似的方法来解决了分类问题。逻辑回归模型是一种...原创 2019-04-11 23:02:31 · 208 阅读 · 0 评论 -
达观杯文本智能处理(6)
模型调优及模型融合1)进一步通过网格搜索法对3个模型进行调优(用5000条数据,调参时采用五折交叉验证的方式),并进行模型评估,展示代码的运行结果。(可以尝试使用其他模型)2)模型融合,模型融合方式任意,并结合之前的任务给出你的最优结果。例如Stacking融合,用你目前评分最高的模型作为基准模型,和其他模型进行stacking融合,得到最终模型及评分结果。...原创 2019-04-15 16:31:04 · 212 阅读 · 0 评论 -
算法调参代码实现
K折交叉验证K折交叉验证(k-fold cross validation),将初始采样(样本集X,Y)分割成K份,一份被保留作为验证模型的数据(test set),其他K-1份用来训练(train set)。交叉验证重复K次,每份验证一次,平均K次的结果或者使用其它结合方式,最终得到一个单一估测。Grid SearchGrid Search:一种调参手段;穷举搜索:在所有候选的参数选择中,通...原创 2019-04-15 22:59:27 · 626 阅读 · 0 评论 -
神经网络中的激活函数
文章目录1. 什么是激活函数?2. Sigmoid函数1. 什么是激活函数?激活函数: 就是在神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合。如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。常见...原创 2019-07-11 15:25:28 · 2537 阅读 · 1 评论 -
Bert模型冻结指定参数
bert模型做微调有的时候就需要只训练部分参数,那么就需要把其他的参数冻结掉,固定住,又能微调bert模型,还能提高模型训练的效率。这个就需要用到parameter的requires_grad的属性,来冻结和放开参数。比如说现在我们要放开第11和12层以及bert.pooler和out层参数,冻结其他的参数,怎么实现呢?pytorch中有 model.named_parameters() 和 requires_grad,直接写一个遍历然后设置就好。具体实现代码:import torch.nn as原创 2021-04-27 11:42:31 · 3957 阅读 · 2 评论 -
文本匹配之Sentence Bert模型
文章目录前言Bert句向量表示效果为什么不好?Sentence Bert 原理前言目前,对于大部分的NLP任务来说,通过对预训练模型进行微调的方式已经取得了很好的效果,但对于某些特定的场景,我们常常需要的是文本的表示,比如文本聚类,文本匹配(搜索场景)等等;在进行文本匹配任务时,在计算语义相似度时,Bert模型需要将两个句子同时进入模型,进行信息交互,假如有10000个句子,找出最相似的句子对,需要计算(10000*9999/2)次,非常耗时。而Sentencebert可以预先将标准库中的问题预先离线原创 2021-09-26 19:01:51 · 5045 阅读 · 4 评论 -
自然语言处理(5)
朴素贝叶斯的原理朴素贝叶斯应用场景朴素贝叶斯优缺点朴素贝叶斯 sklearn 参数学习利用朴素贝叶斯模型结合 Tf-idf 算法进行文本分类之前整理过朴素贝叶斯:https://blog.csdn.net/dzysunshine/article/details/83010767一、朴素贝叶斯的原理基于朴素贝叶斯公式,比较出后验概率的最大值来进行分类,后验概率的计算是由先验概率与类条...原创 2019-04-15 17:07:58 · 208 阅读 · 0 评论 -
自然语言处理(1)
任务:Anaconda 安装Conda 学习Python编辑器安装与学习: jupyter notebook 或者 pycharmTensorflow 库安装与学习一、什么是Anaconda?1. 简介Anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖...原创 2019-04-07 16:04:28 · 188 阅读 · 0 评论 -
自然语言处理(2)
1. 数据集数据集:中、英文数据集各一份THUCNews中文数据集:https://pan.baidu.com/s/1hugrfRu 密码:qfudIMDB英文数据集: IMDB数据集 Sentiment Analysis2. 探索模块及指标学习模块该数据集是通过用户的个人评论数据分析出个人对电影的喜恶(亦即消极和积极,目标是完成二元分类)。数据集共包含5万条评论,其中2.5万条是训练集...原创 2019-04-09 21:59:14 · 412 阅读 · 0 评论 -
自然语言处理(4)
1. TF-IDF原理1.1 什么是TF-IDF?TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。 TF-IDF加权的各种形式常被搜寻引擎应用,作为文件与用户查询之间相关程度的度量或评级。TF-IDF有两层意思,一层是"词频"(Term Frequen...原创 2019-04-13 18:22:06 · 247 阅读 · 0 评论 -
LSA原理
1. LSALSA和传统向量空间模型(vector space model)一样使用向量来表示词(terms)和文档(documents),并通过向量间的关系(如夹角)来判断词及文档间的关系;不同的是,LSA 将词和文档映射到潜在语义空间,从而去除了原始向量空间中的一些“噪音”,提高了信息检索的精确度。文本挖掘的两个方面应用(1)分类:a.将词汇表中的字词按意思归类(比如将各种体育运动的名...原创 2019-04-14 10:26:53 · 3536 阅读 · 0 评论 -
自然语言处理(6)
1.SVM原理贴上曾推导过的SVM(参考书籍为西瓜书及其他文档)学习笔记:2.sklearn库SVM算法的参数介绍2.1算法库概述scikit-learn中SVM的算法库分为分类的三个类:SVC, NuSVC,和Linear。和回归类的三个类:SVR, NuSVR,和LinearSVR 。相关的函数类都包裹在sklearn.svm模块之中。SVC和 NuSVC差不多,区别仅仅在于对...原创 2019-04-18 10:39:03 · 303 阅读 · 0 评论 -
结巴分词
文章目录1. 结巴包的安装2. 结巴涉及的算法3. 结巴的三种分词模式4. 主要功能4.1 分词4.2 添加自定义词典参考Python中文分词工具很多,包括盘古分词、Yaha分词、Jieba分词、清华THULAC等。它们的基本用法都大同小异,这里先了解一下结巴分词。1. 结巴包的安装pip install jieba若使用PyCharm,从左上角的File–>Setting–>...原创 2019-05-16 21:28:50 · 2847 阅读 · 0 评论 -
电商标题相似度匹配
文章目录1. TF-IDF2. 余弦相似度3. tf-idf任务4. word2vec1. TF-IDF代码示例#导入计算TF-IDF所需要的包import jiebafrom gensim import corporafrom gensim import models#现在以demo_txt为例demo_txt = ["Apple iPhone 8 Plus (A186...原创 2019-05-17 16:55:16 · 2806 阅读 · 1 评论 -
自然语言处理(3)
1. 基本文本处理技能尽管现在很多文本处理采用基于字/字符的方式,词作为能够独立语用的基本语言单位,依然是目前是主流的NLP任务的基本处理单位。对于没有间隔符的汉语,分词就成了文本预处理的第一个任务。汉语分词,现在其实已经有大量的开源工具,比如最常用的jieba, Stanford NLP,THULAC以及最近开源的pkuseg。宗成庆老师的书里对于分词难度总结为三个方面: 分词规范,歧义切分...原创 2019-04-11 21:19:19 · 580 阅读 · 0 评论