
自然语言处理NLP
文章平均质量分 90
自然语言处理(Natural Language Processing,NLP)是人工智能领域中一项重要而令人兴奋的技术,它的目标是使计算机能够理解、解析和生成人类语言。NLP的发展已经取得了巨大的进步,使得计算机能够更好地与人类交互,实现更广泛的应用。
快乐小码农
热爱生活,热爱技术,做一个有态度的四有“中年人”。关注科技进步,聚焦人工智能领域的前沿研究:经典AI、NLP、机器学习、数据挖掘、推荐系统等相关技术。人生不易,勇往直前,分享生活中的小确幸。
展开
-
ChatGPT is not all you need,一文看尽SOTA生成式AI模型:6大公司9大类别21个模型全回顾(一)
上月,来自西班牙科米利亚斯主教大学(Comillas Pontifical University)的研究人员提交了一篇综述论文《ChatGPT is not all you need. A State of the Art Review of large Generative AI models》,将生成式模型按照任务模态、领域分成9大类,并总结了2022年发布的21个生成式模型的能力和局限性。这些局限性包括缺少特定任务下的大型数据集,以及需要高昂的计算资源等。原创 2023-02-15 19:59:12 · 2999 阅读 · 0 评论 -
NLP基础——词表示、文本特征工程
文章目录NLP基础——词表示和文本特征1. Word Representation: 独热编码,tf-idf2. Word2Vec2.1 Word Embedding2.2 Gaussian Embedding2.3 Contextual Embedding3. 文本特征工程NLP基础——词表示和文本特征1. Word Representation: 独热编码,tf-idf词表示:0-1 one-hot encoding --> 句子表示:0-1(Boolean)构建词库V,对每个句子的表原创 2022-04-18 19:50:32 · 1065 阅读 · 0 评论 -
NLP基础——语言模型(LM)
文章目录NLP基础:语言模型(LM)1. 模型评估(概率估计)2. 平滑方法3. LM在拼写纠正(Spell Correction)中的应用NLP基础:语言模型(LM)语言模型(LM,Language Model)就是用来判断某个句子是否语义通顺。首先对句子进行分词,句子的概率可以表示为各个词的联合概率:P(s)=P(w1,w2,...,wn)P(s)=P(w_1,w_2,...,w_n)P(s)=P(w1,w2,...,wn)。根据Chain rule: P(A,B,C,D)=P(A)P(B|原创 2022-04-17 21:36:57 · 3642 阅读 · 0 评论 -
NLP文本生成的评价指标有什么?
文章目录NLP文本生成的评价指标有什么?1. BLEU2. ROUGE2.1 ROUGE-N (将BLEU的精确率优化为召回率)2.2 ROUGE-L (将BLEU的n-gram优化为公共子序列)2.3 ROUGE-W (ROUGE-W 是 ROUGE-L 的改进版)2.4 ROUGE-S (Skip-Bigram Co-Occurrence Statistics)3. METEOR4. 参考NLP文本生成的评价指标有什么?NLP文本生成任务的评价指标有哪些?怎么判断模型好坏呢?如何解读指标的意义?例如原创 2022-03-19 09:31:18 · 6506 阅读 · 2 评论 -
NLP发展大事记:顶会,预训练大模型,BERT系列
NLP发展历程中的重要时间线,新手入门NLP顶会,BERT系列~原创 2022-03-11 10:32:23 · 3449 阅读 · 0 评论 -
TensorFlow版本的预训练模型与Pytorch版本的预训练模型的转换
TensorFlow版本的预训练模型与Pytorch版本的预训练模型的转换1. 方法1:Transformers的转换脚本方法1:请自行通过🤗Transformers提供的转换脚本进行转换。将TensorFlow版本模型转为Pytorch版本:https://huggingface.co/transformers/converting_tensorflow_models.html具体每个模型如何转为相应的Pytorch版本:https://github.com/huggingface/transfo原创 2022-03-09 18:41:21 · 3308 阅读 · 0 评论 -
常用的中文预训练模型、预训练词向量下载地址收藏
中文预训练模型下载原版:https://huggingface.co/modelsGoogle原版bert:https://github.com/google-research/bert中文XLNET预训练模型:https://github.com/ymcui/Chinese-XLNet (只有TensorFlow需转化) or https://huggingface.co/hfl/chinese-xlnet-base/tree/main (pytorch版本需下载)可参照:https://www原创 2022-03-09 18:28:14 · 9161 阅读 · 1 评论 -
NLP中的数据增强:UDA、EDA
NLP数据增强方法:无监督EDA,半监督UDA方法,具体怎么做呢?原创 2022-03-09 15:12:12 · 3306 阅读 · 0 评论 -
实现基于LSTM的情感分析
用一个简单的例子,说明NLP中情感分析的经典模型(Bi-LSTM + Attention),具体可见GitHub:https://github.com/SoulDGXu/Sentiment-Analysis-Chinese-pytorch原创 2022-03-03 13:51:34 · 11172 阅读 · 3 评论 -
基于seq2seq文本生成的采样策略、解码策略
文章目录基于seq2seq文本生成的解码、采样策略?1. 贪婪采样1.1 Greedy Search1.2 Beam Search2. 随机采样2.1 Temperature Sampling:2.2 Top-k Sampling:2.3 Top-p Sampling (Nucleus Sampling ):3. Reference基于seq2seq文本生成的解码、采样策略?基于Seq2Seq模型的文本生成有各种不同的decoding strategy。文本生成中的decoding strategy主要原创 2022-02-18 18:42:40 · 2185 阅读 · 0 评论 -
NLP数据增强方法总结
文章目录NLP数据增强1. UDA (Unsupervised Data Augmentation)【推荐】2. EDA (Easy Data Augmentation)NLP数据增强1. UDA (Unsupervised Data Augmentation)【推荐】参考:[1]: https://github.com/google-research/uda “Unsupervised Data Augmentation”[2]: https://arxiv.org/abs/1904.12848原创 2022-02-18 16:04:08 · 2148 阅读 · 0 评论 -
Macbook m1 with conda-forge安装package报错和解决
文章目录Macbook m1 with conda-forge安装package报错和解决1.以TensorFlow为例1.1 报错1:zsh: illegal hardware instruction1.1.1 解决方案1:下载 安装miniforge3然后创建虚拟环境Step 1:**下载ARM版Miniforge3:**Step2:**创建虚拟环境**1.2 报错2:NotImplementedError: Cannot convert a symbolic Tensor1.2.1 解决方案2.以ge原创 2021-09-28 18:52:39 · 5660 阅读 · 2 评论 -
jieba分词词性标注含义
结巴分词的词性标注默认模式是使用jieba.posseg.cut(),包括24个词性标签(小写字母)。paddle模式多了4个专名类别标签(大写字母)。jieba.posseg.POSTokenizer(tokenizer=None) 新建自定义分词器,tokenizer 参数可指定内部使用的 jieba.Tokenizer 分词器。jieba.posseg.dt 为默认词性标注分词器。标注句子分词后每个词的词性,采用和 ictclas 兼容的标记法。除了jieba默认分词模式,提供paddl原创 2021-08-28 13:47:14 · 5967 阅读 · 1 评论 -
检索模型-粗排HNSW
文章目录HNSW1. 近邻图(Proximity Graph)2. NSW算法原理2.1 NSW构图算法2.2 NSW查找算法NSW 中的贪婪搜索算法NSW中的K-NNSearch算法2.3 NSW插入算法3. 跳表结构4. HNSW 算法原理4.1 插入算法4.2 搜索当前层的最近邻4.3 截取集合中最近邻的M个结果4.4 启发式寻找最近邻4.5 KNN查询5. 算法复杂度分析6. HNSW应用工具HNSW解决的问题:做高效率相似性查找。推荐系统中,如何找到与用户query最相近的几个item,然后推原创 2021-03-19 10:21:46 · 2208 阅读 · 0 评论 -
如何计算文本间距离:WMD
文章目录WMD1. 为什么提出?2. 如何解决问题?2.1 定义问题2.1.1 归一化词频2.1.2 词移动代价2.1.3 文档距离2.1.4 约束条件2.2 快速计算2.2.1 WCD2.2.2 RWMD2.2.3 Prefetch and prune 加速k-NN3. 优点?4. 缺点?改进方向?4.1 缺点4.2 改进算法S-WMD5. WMD应用6. WMD代码实现7. 参考WMDPaper: From Word Embeddings To Document Distances2015年,提原创 2021-03-19 10:07:37 · 2713 阅读 · 0 评论 -
NLP中常用的相似度计算方法
文章目录相似度计算方法1. 文本距离1.1 编辑距离(Edit Distance)1.2 最长公共子串、最长公共子序列(Long Common Subsequence,LCS)1.3 句向量表示(Word Averaging Model,WAM)1.4 WMD1.5 BM252. 统计指标2.1 Cosine Similarity2.2 Jaccard Similarity2.3 Pearson Correlation2.4 Euclidean Distance3. 深度匹配参考相似度计算方法1. 文本原创 2021-03-19 09:52:43 · 3044 阅读 · 0 评论 -
gensim中常用的Word2Vec,Phrases,Phraser,KeyedVectors
文章目录1. Phrases 和Phraser2. Word2Vec3. KeyedVector词向量保存的各种数据格式词向量用处参考gensim API1. Phrases 和Phrasergensim.models.phrases.Phrases 和gensim.models.phrases.Phraser的用处是从句子中自动检测常用的短语表达,N-gram多元词组。Phrases模型可以构建和实现bigram,trigram,quadgram等,提取文档中经常出现的2个词,3个词,4个词。具体原创 2021-03-11 18:27:30 · 4969 阅读 · 5 评论 -
Beam Search 及5种优化方法
文章目录Beam Search 及优化1. Review Beam Search2. Beam Search Refinement2.1 Hypothesis filtering2.2 Normalization2.2.1 Length Normalization2.2.2 Coverage Normalization2.2.3 End of sentence Normalization2.3 Decoding with auxiliary language model2.4 Decoding with原创 2021-01-11 10:16:23 · 5566 阅读 · 0 评论 -
Paper:Generating Hierarchical Explanations on Text Classification via Feature Interaction Detection
论文:Generating Hierarchical Explanations on Text Classification via Feature Interaction Detectiongithub:https://github.com/UVa-NLP/HEDGE1. IntroductionGenerating explanations for neural networks, help understand the decision-making of black-box modelsE原创 2021-01-09 10:07:28 · 342 阅读 · 0 评论 -
RNN的梯度消失和梯度爆炸
文章目录RNN 梯度消失&梯度爆炸1. 深层网络角度解释梯度消失和梯度爆炸2. 激活函数角度解释梯度消失和梯度爆炸3. RNN中的梯度消失和CNN的梯度消失有区别4. 梯度消失、爆炸的解决方案4.1 梯度爆炸的解决方案4.2 梯度消失的解决方案4.2.1 选择relu、leakrelu、elu等激活函数4.2.2 使用Batchnorm(batch normalization,简称BN):4.2.3 残差结构:4.2.4 LSTM:5. 参考RNN 梯度消失&梯度爆炸参考:http原创 2021-01-08 18:55:07 · 11121 阅读 · 4 评论 -
常用的卷积神经网络-2-经典CNN模型
文章目录CNN发展1. AlexNet2. VGG3. GoogleNet4. Inception5. ResNet6. Xception7. ShuffleNet8. SENet9. CNN总结10. CNN在NLP的应用CNN发展1. AlexNet卷积核一定越大越好吗?-- 小卷积核分组卷积首先在在AlexNet中出现,还用到一些非常大的卷积核,比如11×11、5×5卷积核,先前的观念是:卷积核越大,receptive field(感受野)越大,获取到的图片信息越多,因此获得的特征越好。但是大原创 2021-01-08 18:15:30 · 2923 阅读 · 0 评论 -
常用的卷积神经网络-1-卷积和通道
文章目录CNN1. CNN基本结构2. 卷积和通道2.1 分组卷积(Group Convolution)2.2 Convolution VS Group Convolution2.3 Group Convolution的用途2.4 Depthwise Convolution && Pointwise Convolution && Depthwise Separable Convolution2.5 Group Convolution 和 Depthwise + Pointwi原创 2021-01-08 18:09:52 · 4077 阅读 · 0 评论 -
常用的卷积神经网络【完整版】
文章目录1. CNN1.1 基本结构1.2 CNN 网络1.2.0 卷积和通道1.2.0.1 分组卷积(Group Convolution)1.2.0.2 Convolution VS Group Convolution1.2.0.3 Group Convolution的用途1.2.0.4 Depthwise Convolution && Pointwise Convolution && Depthwise Separable Convolution1.2.0.5 Group原创 2021-01-08 17:56:23 · 6091 阅读 · 1 评论 -
初识NER及其应用NER-BILSTM-CNN
文章目录Named Entity Recognition1. NER1.1 NER定义1.2 数据格式1.2.1 BIO1.2.2 BIOES1.3 开源库1.4 相关数据集1.5 方法2. BILSTM2.1 BILSTM classify2.2 BILSTM seq encode3. NER应用:NER-BILSTM-CNN4. NER应用:BERT-NER5. 总结6. 参考Named Entity Recognition1. NER1.1 NER定义命名实体识别(NER):也称为实体识别、原创 2021-01-08 17:32:07 · 2328 阅读 · 0 评论 -
基于Seq2Seq的文本生成评价指标解析
文章目录1. seq2seq 框架2. seq2seq任务类型4. 文本生成任务的评价方法4.1 BLEU4.2 ROUGE4.2.1 ROUGE-N (将BLEU的精确率优化为召回率)4.2.2 ROUGE-L (将BLEU的n-gram优化为公共子序列)4.2.3 ROUGE-W (ROUGE-W 是 ROUGE-L 的改进版)4.2.4 ROUGE-S (Skip-Bigram Co-Occurrence Statistics)4.3 METEOR5. 参考1. seq2seq 框架序列到序列模型原创 2021-01-08 17:19:22 · 1831 阅读 · 0 评论 -
关于RNN teacher forcing若干问题
文章目录teacher forcing1. teacher forcing要解决什么问题?2. 什么是teacher forcing?3. teacher-forcing 有什么缺点?4. teacher-forcing缺点的解决方法4.1 beam search4.2 curriculum learning5. Further Reading6. Referenceteacher forcingRNN 存在两种训练模式(mode):free-running mode: 上一个state的输出作为下原创 2021-01-08 17:13:35 · 1374 阅读 · 0 评论 -
Pointer Network【文本生成】发展与应用
文章目录Pointer Network1. Pointer Network(Ptr-Nets)1.1 Why Pointer Network?1.2 Structure of Pointer Network1.3 How to process language generation by incorporating Pointer Network ?2. Ptr-Nets扩展——Pointer-Generator Networks2.1 Baseline seq2seq attention model2.原创 2021-01-08 16:40:15 · 1194 阅读 · 0 评论 -
NLP三大特征抽取器(CNN/RNN/TF)比较
目录NLP三大特征抽取器(CNN/RNN/TF)比较1. NLP任务1.1 NLP任务特点1.2 NLP任务类型2. RNN2.1 为什么RNN能够成为解决NLP问题的主流特征抽取器?2.2 RNN目前面临的两个严重问题3. CNN3.1 早期CNN模型结构3.2 目前主流CNN模型4. Transformer4.1 论文来源:Attention is all you need4.2 Tansformer的组成4.3 Transformer效果好的原因4.4 Transformer针对NLP任务特点的解决方原创 2020-09-17 11:48:39 · 3040 阅读 · 0 评论 -
多分类文本处理与特征工程
目录多分类文本处理与特征工程1. 语言模型1.1 模型评估(概率估计)1.2 平滑方法1.3 LM在拼写纠正(Spell Correction)中的应用:2. 预处理3. Word Representation: 独热编码,tf-idf4. Word2Vec4.1 Word Embedding4.2 Gaussian Embedding4.3 Contextual Embedding5. 文本特征工程多分类文本处理与特征工程1. 语言模型语言模型(LM,Language Model)就是用来判断某个句原创 2020-09-15 22:47:11 · 499 阅读 · 0 评论 -
数据不平衡的常用处理方法
数据不平衡处理常见处理方法1. 欠采样(下采样、Under-sampling、US)减少分类中多数类样本的样本数量实现样本均衡。随机删除随机删除一些多量样本。PG算法(Prototype Generation)在原有样本的基础上生成新的样本来实现样本均衡。2. 过采样(上采样、over-sampling )增加分类中少数样本的数量来现样本均衡。随机复制简单复制少数类样本形成多条记录。缺点:可能导致过拟合问题。样本构建SMOTE(Synthetic minori原创 2020-09-15 16:41:48 · 10323 阅读 · 1 评论 -
利用gensim构建word2vec词向量模型并保存词向量
利用gensim包的word2vec模块构建CBOW或Skip-Gram模型来进行词向量化比较方便。''' 根据训练语料库,自己训练语言模型得到词向量 '''# 对分词后的文本训练Word2vec模型from gensim.models import word2vecimport loggingdef get_wordvec(corpus_path, model_name, vec_path): # 获取日志信息 logging.basicConfig(foramt='%(asc原创 2020-05-09 10:32:35 · 9528 阅读 · 4 评论