轻松入门自然语言处理系列
文章平均质量分 93
深入剖析核心的NLP技术以及前沿的应用场景,包括BERT、XLNet、ALBERT、CRF、PGM、Attention、对话系统、知识图谱、摘要生成等,涵盖了理论基础、关联案例和项目实战,同时还包含了代码实战、公式推导、面试指导等服务,内容涵盖全面,即便是NLP小白,也可轻松入门。
东哥说AI
专注AI、RPA、Python等前沿技术,分享AI工具、变现思路。关注东哥不迷路,创富路上大踏步。
展开
-
轻松入门自然语言处理系列 项目3 基于Linear-CRF的医疗实体识别
本文主要介绍了以Linear-CRF为基础模型进行医疗实体识别的案例,主要包含项目概况(项目描述、数据描述和项目框架)、核心技术(实体识别数据标注、文本特征工程、CRF模型和BiLSTM-CRF模型)、项目实施(读取数据、数据标注、文本特征工程、模型训练、模型评估和BiLSTM-CRF)3部分内容,由浅入深、适合初学者。本文以经典NER模型Linear-CRF为例,基于医疗领域的实体数据实现了命名实体识别,实现了较好的实验效果,同时还有进一步的提升空间。原创 2023-11-25 20:03:33 · 642 阅读 · 1 评论 -
轻松入门自然语言处理系列 专题9 基于特征工程+CRF的实体识别
CRF(Conditional Random Fields)是一种基于统计学习的序列标注模型,适用于自然语言处理任务中的序列标注问题,如词性标注、命名实体识别、句法分析等,其中命名实体识别就是一种实体识别任务,它的目的是从一段文本中识别出包含人名、地名、组织机构名等实体信息,本文主要包含2部分:使用CRF进行实体识别(数据标注基础、实体识别方案和原理与CRF实体识别简单应用)、CRF算法剖析。在使用CRF模型进行命名实体识别时,CRF模型考虑了标签序列之间的相互作用,可以更准确地建模标签之间的关系。原创 2023-11-25 19:37:24 · 247 阅读 · 1 评论 -
轻松入门自然语言处理系列 14 Linear-CRF模型
本文主要介绍了Linear-CRF模型,包括Log-Linear模型与逻辑回归(Log-Linear模型和从Log-Linear模型到逻辑回归)、Linear-CRF模型Inference(Linear-CRF模型定义和Linear-CRF模型Inference)和Linear-CRF模型参数估计。Log-Linear模型即对数线性模型,常见的有2种,逻辑回归模型LR和线性条件随机场模型Linear-CRF。CRF的inference过程跟HMM的inference过程非常类似,均使用动态规划算法。原创 2023-01-06 19:48:30 · 1020 阅读 · 27 评论 -
轻松入门自然语言处理系列 13 无向图模型与标记偏置
本文主要介绍了无向图模型与标记偏置,包括有向图与无向图模型(生成模型与判别模型、有向图与无向图)、无向图与有向图中联合概率表示(有向图中的联合概率和无向图中的联合概率)和MEMM和标记偏置(Label Bias Problem,HMM的缺点、从HMM到MEMM和标签偏置问题),对于生成模型,是最大化特征X和标签y的联合概率;而对于判别模型,是最大化特征X和标签y的条件概率。原创 2023-01-04 20:19:14 · 689 阅读 · 22 评论 -
轻松入门自然语言处理系列 专题8 源码解读──基于HMM的结巴分词
本文主要介绍了基于HMM模型的结巴分词的源码解读:jiaba分词总览,分词策略是基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图,并采用了动态规划查找最大概率路径;源代码分析,cut方法是分词的入口,整体的切分思路是先试用正则表达式进行粗粒度的切分,然后对每一个blk进行具体的分词操作:使用前缀字典实现了词库的存储,提升了处理的效率;生成句子中汉字所有可能成词情况所构成的有向无环图;使用动态规划查找最大概率路径,找出基于词频的最大概率组合;未登录词的处理使用HMM模型。...原创 2022-07-29 22:35:57 · 679 阅读 · 11 评论 -
轻松入门自然语言处理系列 12 隐马尔可夫模型
本文主要介绍了隐马尔可夫模型:HMM基础,包含时间序列数据和HMM基本概念;HMM中的参数及Inference细节,包含HMM中的参数和基于维特比算法的预测;HMM中的参数估计,包含ForwardBackward算法、Complete Case、Incomplete Case和HMM的参数求解。HMM是很流行的序列模型,广泛应用在语音识别、词性标注、实体识别等问题中,其参数估计实际上是模型训练过程,需要估计3类不同的参数,要用到EM算法,而且EM算法的结果依赖于初始化结果,不同的初始化的结果可能不同。...原创 2022-07-25 10:03:48 · 550 阅读 · 2 评论 -
轻松入门自然语言处理系列 专题7 基于FastText的文本分类
本文主要介绍了基于FastText的文本分类:论文解读,论文《Bag of Tricks for Efficient Text Classification》是2017年发布于ACL的文章,目前引用数为3806,主要是基于FastText的文本分类,提出了很多文本分类技巧;FastText源码解读,包含fasttext、model、dictionary和loss模块;使用FastText实现文本分类,包含词袋(词频、tf-idf)、Word2Vec、LDA模型、FastText,不同模型效果有所差别。...原创 2022-06-26 22:26:38 · 611 阅读 · 0 评论 -
轻松入门自然语言处理系列 专题6 代码实战──基于语言模型的拼写纠错
本文主要介绍了代码实战,即基于语言模型的拼写纠错:拼写纠错任务概述,在实现QA或者检索系统时,需要用户给出输入,用户在输入问题的时候,有可能输入拼写错误的单词,一个完备的系统需要能够及时捕获拼写错误,并进行纠正,纠错模块是基于Noisy Channel Model噪音通道模型,整个实现思路为1.获取候选集合,2.筛选出有效的单词,3.找到使得条件概率最大的正确写法;拼写纠错实现,包含构建词典、构建候选集、计算各个条件概率、实现纠错主函数;语法纠错可以用到机器翻译、拼写纠错、语音识别、密码破解等任务中。...原创 2022-06-20 23:06:31 · 656 阅读 · 2 评论 -
轻松入门自然语言处理系列 11 语言模型
本文主要介绍了语言模型:语言模型基础,包含语言模型概念、计算语言模型的概率和马尔科夫假设;语言模型训练,包含不同的语言模型和语言模型的训练;语言模型的评估;语言模型的平滑,包含训练语言模型存在的问题、Add-one Smoothing、Add-K Smoothing和Interpolation插值。语言模型的核心就是判断一句话从语法上来看是否通顺,具体的判断方法就是使用概率计算来判断,具体会用到链式法则和马尔可夫假设,语言模型的主要作用就是保证文本的语法结构,语言模型在NLP中占据着极为重要的地位。...原创 2022-06-12 21:58:41 · 456 阅读 · 2 评论 -
轻松入门自然语言处理系列 项目2 搭建智能问答系统
本文主要介绍了NLP实战项目,基于检索式的智能问答系统:智能问答系统基础,包含问答系统架构(问答系统基本原理和改进流程)、各模块剖析(倒排表和意图识别模块);项目概况,包含项目描述、数据描述和项目框架;核心技术,包含FastText、倒排表和Bert;项目实施,包含文本预处理、基于FastText的意图分类、召回Retieval和排序;项目总结。智能客服系统分为检索式和生成式,检索式需要依赖于相似度计算和排序、倒排表和意图识别模块,给出问题后,找到与其最相似的问题对应的答案,与生成式相比,实现较简单。...原创 2022-06-06 09:09:53 · 719 阅读 · 3 评论 -
轻松入门自然语言处理系列 专题5 代码实战——用Python从零实现SkipGram
本文主要介绍了代码实战──用Python从零实现SkipGram:Word2Vec是最基本、最经典的词向量模型,主要有Skip-Gram和CBOW两种模型,从直观上理解,Skip-Gram是给定输入的单词来预测上下文,CBOW是给定上下文来预测输入的单词,为了对输出层简化、减少计算量,有2种方式,一种是建立霍夫曼树进行层次Softmax,另一种是负采样;模型实现步骤包括:1.构建词表vocab,2.初始化霍夫曼树或unigram表,3.进行前向和反向优化计算,4.保存训练好的模型参数到文件,5.输出。原创 2022-05-30 22:32:22 · 736 阅读 · 0 评论 -
轻松入门自然语言处理系列 专题4 词向量的使用及评估
本文主要介绍了词向量的使用及评估:GloVe是斯坦福大学NLP组提出的预训练模型,使用简单方便,被经常用于NLP任务的初始化Embedding,使用时可以选择开源提供的词向量文件,gensim库提供了很多词向量的API;词向量可视化需要先构建词组,同时因为词向量的维度一般很高、不能直接可视化,因此需要先降维,将高维向量降维到低维空间中,常见的降维方式包括PCA和TSNE两种;除了传统的词向量模型,也有预训练好的词向量模型,常用的有Transformers库,可以直接使用,也可以根据下游的任务进行微调。原创 2022-05-28 16:42:29 · 509 阅读 · 0 评论 -
轻松入门自然语言处理系列 09 词向量技术
本文主要介绍了词向量技术:词向量基础,包含单词的表示、从独热编码到分布式表示和词向量的训练;SkipGram模型详解,包含训练词向量的思路、SkipGram的目标函数和SkipGram的负采样;其他词向量技术,包含矩阵分解法、GloVe向量、高斯词嵌入(Gaussian Embedding)和词向量总结;论文解读,基于SkipGram的Airbnb房屋推荐《Real-time Personalization using Embeddings for Search Ranking at Airbnb》。原创 2022-05-22 21:41:11 · 545 阅读 · 0 评论 -
轻松入门自然语言处理系列 项目1 使用豆瓣评论进行情感预测
本文主要介绍了基于豆瓣评论的情感预测,对给定的电影评论判断情感为积极还是消极:项目概况,包含项目描述、数据描述和项目框架;核心技术,包含中文分词、TF-IDF、Word2vec、BERT Embedding和句子向量;项目实施,包含读取数据并进行数据预处理、文本处理、划分数据集、文本的向量化、模型训练和评估和实验结果;项目总结,包含数据标签分布情况、句子向量处理、模型融合。本文基于词向量来判断句子的情感,整个项目过程,从数据预处理、模型建立和训练预测都部分的质量都关系到项目的熬过,因此每一步都要做好。...原创 2022-05-18 09:28:26 · 630 阅读 · 2 评论 -
轻松入门自然语言处理系列 07 文本表示
本文主要介绍了文本表示:文本表示基础,包含单词的表示(独热编码和词向量)、句子的表示(Boolean Vector、Count Vector)和tf-idf向量(文档中单词的频率与逆文本频率);文本相似度,包括欧氏距离(距离越大相似度越小、距离越小相似度越大)、余弦相似度(既衡量了向量的大小,又衡量了向量的方向);词向量基础,包含单词之间的相似度(独热编码存在稀疏性,不能计算相似度)、词向量基础(一种分布式的表示方式,用来表示单词的含义,其质量取决于词向量训练模型)和句子向量(可以对单词向量取平均)。...原创 2022-05-06 22:14:11 · 687 阅读 · 0 评论 -
轻松入门自然语言处理系列 专题3 中文文本处理
本文主要介绍了中文文本处理:中文文本处理流程,包含文本数据准备、数据清洗(1.正则表达式,2.全角与半角的转化,3.处理表情字符,4.繁体中文与简体中文的转换,5.大小写数字和大小写字母的统一,除去数据中的非文本部分,包含HTML标签、emoji的处理、正则表达式的使用等)、文本分词、文本分析(词频统计、TF-IDF等);中文文本预处理案例,包含文本数据准备、数据清洗(1.全角与半角转化,2.大小写转化,3.去除表情字符,4.正则表达式,5.中文简体和繁体的转换)、文本分词和去掉停用词和文本分析举例。原创 2022-04-24 21:53:45 · 624 阅读 · 1 评论 -
轻松入门自然语言处理系列 06 文本处理
本文主要讲解了NLP任务中的上游任务文本处理:文本分析流程与分词,包括文本分析流程(包括原始文本、分词、清洗、标准化、特征提取和建模)、分词工具的使用(主要针对中文,包含jieba、snownlp、LTP、HanLP等)、最大匹配算法、考虑语义的一种分词方法;停用词与词的标准化,包含词的过滤和词的标准化,过滤单词有助于减小词库的大小、提高训练的效率,词的标准化有2种算法,为Stemming和Lemmazation;拼写纠错,包含拼写纠错(包含拼写错误和语法错误两类)和循环词库的问题及利用编辑距离改进。原创 2022-04-18 09:58:12 · 578 阅读 · 2 评论 -
轻松入门自然语言处理系列 专题2 Beating Kaggle the Easy Way——For Beginners
本文主要介绍了针对初学者轻松战胜Kaggle的方法:数据科学流程,包括EDA(Exploratory Data Analysis)、Data Preprocessing、Feature Engineering(包含特征选择和特征编码)、Model Selection、Ensemble Generation集成(Bagging和Boosting)等过程;泰坦尼克号案例,主要任务是根据乘客的数据(包含了性别、票类、年龄等特征)来预测用户是否幸存,包含了数据预览、数据预处理、模型训练、预测并保存结果等过程。原创 2022-04-10 22:31:54 · 401 阅读 · 0 评论 -
轻松入门自然语言处理系列 自然语言处理基础答疑和案例
本文主要介绍了自然语言处理基础答疑和案例:在真实的建模场景中,如何能给模型加入先验知识,包括(1)借助预训练模型,把网络的weight替换成一个在另外一个任务上pretrain好的模型weight,而不是选择随机权重作为初始权重;(2)借助输入,借助输入其实就是借助人类的先验知识;(3)借助模型设计,使用深度网络结构本身就是使用了先验知识,是把数据结构用所构造的深度网络来表达;(4)借助特征工程的思想,明确且直观地将人类的先验知识进行表达。算法设计问题,和具体业务相关,对业务的理解越深入,设计越合理。原创 2022-04-09 22:38:47 · 1329 阅读 · 0 评论 -
轻松入门自然语言处理系列 05 机器学习基础
本文主要介绍了机器学习基础:理解朴素贝叶斯,包括初试朴素贝叶斯等;朴素贝叶斯的训练,包括计算单词的概率等;朴素贝叶斯的优化,包括朴素贝叶斯的最大似然估计、带限制的优化等;认识和理解决策树,包括决策树的应用、决策树的形态与决策边界等;决策树中的不确定性,包括好的特征、信息熵不确定性等;决策树的过拟合,包括决策树表现与节点数目之间的关系等;集成模型随机森林,包括集成模型概念等;随机森林与方差分析,包括方差和稳定性、方差和稳定性举例等;随机森林的训练,包括核心思想和构造等;随机森林的过拟合,包括参数和案例。原创 2022-04-01 21:44:43 · 1747 阅读 · 0 评论 -
轻松入门自然语言处理系列 04 模型的泛化
本文主要介绍了模型的泛化:什么是过拟合,包括逻辑回归参数、数据线性可分的情况、控制参数的大小和过拟合概念;如何防止过拟合,包括模型的泛化能力、模型的过拟合、模型复杂度与过拟合和正则的作用;L1与L2正则,包括常见的2种正则、L1和L2正则的本质、L1的不足之处和交叉验证;正则与先验的关系,包括最大后验估计、先验与正则之间的关系和最大后验趋近于最大似然;案例之LR中的调参,包括常见模型的超参数、GridSearchCV的使用和逻辑模型调参。过拟合是机器学习中一个常见的现象,需要防止以提升模型的泛化能力。原创 2022-03-30 09:54:08 · 446 阅读 · 0 评论 -
轻松入门自然语言处理系列 专题1 AI工程师面试必备考题之关于逻辑回归的一切
本文主要介绍了AI工程师面试必备考题之关于逻辑回归的一切:逻辑回归总结,包括逻辑回归的概念、作用、假设;面试题,包括LR主要解决什么问题、目的是什么,LR推导,LR的求解方法,多分类问题如何解决,线性回归与逻辑回归的区别,特征的选择,如何解决过拟合现象,什么是特征的离散化和特征交叉、逻辑回归对特征进行离散化的原因,逻辑回归的特征系数的绝对值是否可以认为是特征的重要性,数据归一化对逻辑回归起到的作用,逻辑模型的优缺点,逻辑回归与MLP的关系。LR是最基本、最重要的分类模型之一,经常被用作分类任务的基准。原创 2022-03-29 20:06:51 · 1252 阅读 · 0 评论 -
轻松入门自然语言处理系列 03 机器学习基础-逻辑回归
本文主要介绍了机器学习的基础模型逻辑回归模型:逻辑回归中的条件概率,包括逻辑回归的应用、理解基准、分类问题、逻辑函数和样本条件概率;逻辑回归的目标函数,包括最大似然估计、逻辑回归的似然函数和逻辑回归的最大似然估计;梯度下降法,包括求解函数的最小值最大值、梯度下降、逻辑函数求导和逻辑回归的梯度下降法;随机梯度下降法,包括梯度下降法的缺点、随机梯度下降法、小批量梯度下降法、基于小批量梯度下降法实现逻辑回归;案例-预测银行客户是否会开设定期存款账户,包括问题描述、数据理解、数据预处理、模型训练、模型评估等。原创 2022-03-19 21:44:30 · 2140 阅读 · 2 评论 -
轻松入门自然语言处理系列 02 数据结构与算法基础
本文主要介绍了数据结构与算法的基础:数据结构与算法的重要性,包括复杂度分析和递归函数的复杂度,算法的复杂度分为时间复杂度和空间复杂度,分别从时间和内存空间上来衡量算法,每一个小的细节都会决定整个程序的效率;动态规划算法,包括动态规划与自然语言处理、最大递增子串和换硬币问题,NLP中经常用到动态规划的思想,例如编辑距离、维特比算法等;DTW算法和应用,包括DTW(Dynamic Time Warping)算法介绍、DTW的应用场景和DTW算法实现,DTW算法可以用来计算两个长度不相等的时间序列的相似度。原创 2022-03-15 09:29:25 · 435 阅读 · 0 评论 -
轻松入门自然语言处理系列 01 自然语言处理概述
本文主要介绍了自然语言处理概述:专栏初衷和NLP前景,包括专栏的初衷、NLP岗位待遇和如何学习NLP;自然语言处理的概念,包括什么是自然语言处理、为什么自然语言处理难和一个简单机器翻译案例;自然语言处理的应用,包括智能问答系统、文本生成、机器翻译、情感分析、聊天机器人、虚假新闻检测、文本主题分类和信息抽取;自然语言处理核心技术,包括自然语言处理技术的三个维度、自然语言处理关键技术(分词、词性分析、语义理解、命名实体识别、依存文法分析、句法分析)和自然语言处理技术概览。自然语言处理是一个不错的选择方向。原创 2022-03-09 14:31:04 · 476 阅读 · 0 评论 -
轻松入门自然语言处理系列 00 专栏介绍
近年来,人工智能被越来越多地应用到各个领域、极大地改善了人们的生活,自然语言处理是AI中最新得到很快发展的一个方向,具有很大的行业优势和前景,越早进入这个行业,优势越大。NLP主要包括分词、词性分析、语义理解、命名实体识别、依存文法分析和句法分析等核心技术,被广泛应用到智能问答系统、文本生成、机器翻译、情感分析和文本主题分类等场景中。同时可以肯定,在未来的一段时间内,NLP依然会保持这样的增长态势,因此掌握NLP技术显得更加重要和有吸引力。因此开设了自然语言处理入门系列专栏,让小白也能轻松入门NLP。原创 2022-03-09 14:20:32 · 1426 阅读 · 2 评论