![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jj的ai之路
文章平均质量分 70
过于真实呢
这个作者很懒,什么都没留下…
展开
-
4-3 基于Python的文本预处理封装
停词文件获取为了提高文本预处理的复用性和可维护性,我们可以将常用的预处理操作封装成一个自定义模块。import re# 使用示例text = "自然语言处理(Natural Language Processing NLP)是人工智能领域的一个重要分支。在这里插入图片描述在上述代码中,我们定义了一个类,包含了特殊字符移除、分词、去除停用词和文本规范化等方法,并将这些方法集成在preprocess方法中,实现了一站式的文本预处理。原创 2024-07-12 18:28:53 · 836 阅读 · 0 评论 -
4-4 词嵌入技术(word2vec)
词嵌入(Word Embedding)是一种将词语表示为实数向量的技术。传统的词表示方法,如one-hot编码,将每个词表示为一个高维的稀疏向量,这种表示方法无法捕捉词语之间的语义关系。而词嵌入通过将词语映射到一个低维的连续向量空间,使得语义相似的词在向量空间中的距离更近,从而更好地捕捉词语之间的关系。原创 2024-07-12 18:28:28 · 954 阅读 · 0 评论 -
4-2 文本向量化
Word2Vec是由Google提出的一种词嵌入方法,通过训练神经网络,将词映射到一个连续的向量空间,使相似的词在向量空间中距离较近。TF-IDF(Term Frequency-Inverse Document Frequency)是一种改进的词袋模型,通过考虑词在文档中的频率和在整个语料库中的反向文档频率,衡量词的重要性。FastText是Facebook提出的一种改进的词嵌入方法,不仅考虑词本身,还考虑词的子词信息(如词根、词缀等),因此在处理罕见词和形态变化丰富的语言时表现更好。原创 2024-07-10 18:16:46 · 977 阅读 · 0 评论 -
4-1 文本预处理:分词、停用词、特殊字符消失术
分词是将连续的文本序列切分成词语序列的过程。在中文中,分词尤为重要,因为中文文本中没有明确的词边界,而大多数自然语言处理模型和算法都依赖于词语作为基本单元。停用词(Stop Words)是指在文本处理中被过滤掉的高频、低信息量的词语。例如中文中的“的”、“是”、“在”等。特殊字符包括标点符号、数字、HTML标签等非文字字符。在文本处理中,特殊字符通常被视为噪声,需要被消除或替换。原创 2024-07-10 17:20:46 · 754 阅读 · 0 评论 -
3-7 使用深度学习解决温度即示数问题
和均方误差损失函数(MSELoss),初始化优化器并运行训练循环,训练 10000 个周期。更新训练循环以在每个周期中清零梯度,并在没有梯度计算的上下文中更新参数。打印顺序模型在验证集上的预测输出和真实值,查看隐藏层线性变换的权重梯度。定义损失函数,使用均方误差(MSE)来计算预测值和真实值之间的差异。定义损失函数对预测值的梯度,以及模型对参数(w和b)的梯度。定义训练循环函数,包括训练和验证集的损失计算和模型更新。计算参数w和b的梯度并进行一次梯度下降更新。定义训练循环函数,通过多个训练周期更新参数。原创 2024-07-09 21:14:21 · 612 阅读 · 0 评论 -
3-6 构建线性模型解决温度计示数转换问题
这个代码的主要目的是定义一个线性回归模型,并通过不同的模型参数来计算预测值和损失,以了解模型预测效果的好坏。导入必要的库并设置 PyTorch 的打印选项,确保在打印张量时显示边缘项和行宽。蓝色点表示数据点,红色边缘表示边框颜色。导入 Matplotlib 库,用于数据可视化。将温度列表转换为 PyTorch 张量。定义线性模型函数,模型参数为权重。都为 0,再次计算预测值。定义损失函数,计算预测值。之间的损失(均方误差)。之间的损失(均方误差)。)和未知单位的温度(原创 2024-07-09 21:13:46 · 193 阅读 · 0 评论 -
3-5 提高模型效果:归一化
为了更加体现归一化在模型训练中的效果,我们可以选择一个更复杂的任务和网络结构,比如在 CIFAR-10 数据集上训练一个较深的卷积神经网络(CNN),并比较是否使用归一化的模型的训练和验证性能。: 通常用于生成对抗网络(GAN)和风格迁移任务,它对每个样本的每个通道独立进行归一化,适合处理不同样本之间差异较大的情况。: 通常用于文本分类任务或RNN/LSTM网络中,它对每个样本的每一层的所有神经元进行归一化,而不是每个批次的数据。它将通道划分为组,并对每组内的通道进行归一化。原创 2024-07-07 16:46:32 · 942 阅读 · 0 评论 -
3-4 优化器和学习率
在深度学习中,优化器使用反向传播算法计算损失函数相对于模型参数的梯度,并根据这些梯度来更新模型参数。不同的优化器方法在更新参数时使用了不同的策略和技巧。它的主要目标是通过最小化损失函数来找到模型参数的最优值,从而提升模型的性能。AdaGrad 通过对梯度的平方和进行调整,使得参数的学习率随着训练的进行而自动减小。RMSProp 是 AdaGrad 的改进版,它使用滑动平均值来计算平方梯度的加权平均,以避免学习率衰减过快。它通过计算损失函数相对于模型参数的梯度,然后按一个学习率(步长)更新参数。原创 2024-07-07 16:35:20 · 577 阅读 · 0 评论 -
3-3 超参数
在机器学习中,特别是训练神经网络时,学习率是一个非常关键的超参数。它决定了模型在每一步更新参数时,更新的幅度有多大。可以把它理解为**“步伐大小”**。Adam 优化器:在短期内提供了最快的收敛速度和最高的验证准确率,适合快速迭代和处理复杂梯度的问题。学习率衰减:在训练的早期具有快速收敛的优势,同时在中期和后期也能保持稳定的性能提升,是一种非常有效的策略。固定学习率:提供了稳定的优化过程,尽管在训练速度和性能上可能稍逊于前两者,但它的可预测性和简单性使其在某些情况下仍然具有吸引力。原创 2024-07-06 19:05:42 · 1146 阅读 · 0 评论 -
如何使用uer做多分类任务
这里可以看到只有61.49的正确率,其实是因为显存还不够,训练不了那么大的,标准的参数应该设置为batch_size=32 seq_length=256。接着呢要把所有tsv文件的sentence表头名改成text_a,不然运行uer框架会报错,原因请看源代码逻辑。这里规定好了表头名只有label,text_a,text_b。搞完之后进入训练代码,我的显存只有16G,因此。因此我们对此要做一些处理,将其转为tsv格式。有能力的可以更改参数进行训练。里面是这有json文件的。最后自行查看预测效果。原创 2024-07-06 19:05:12 · 392 阅读 · 0 评论 -
三万字带你一遍跑通uer
如果使用基于字的分词方式,可以使用 --vocab_path models/google_zh_vocab.txt 和 --tokenizer char 的组合代替上面的 --spm_model_path models/cluecorpussmall_spm.model,其余的选项不变。为了支持加载英文RoBERTa和GPT-2等模型,本项目支持使用BPETokenizer对句子进行切分,通过 --vocab_path 指定使用的词典,通过 --merges_path 指定使用的合并词典。原创 2024-07-05 22:42:12 · 1671 阅读 · 1 评论 -
3-2 梯度与反向传播
在二维情况下,梯度向量的方向指向函数增长最快的方向,而其大小表示增长的速率。可以看到红色区域的变化率较大,梯度较大;绿色区域的变化率较小,梯度较小。当然我们不必学太深的纯运算,来看看python是怎么解决的。原创 2024-07-05 01:09:41 · 407 阅读 · 0 评论 -
3-1 激活函数和神经网络思想
主目录点这里原创 2024-07-05 01:08:46 · 163 阅读 · 0 评论 -
2-13 词语的处理:独热编码和词嵌入表示
它通过为每个类别创建一个二进制向量(即只有0和1的向量)来表示数据,其中每列代表一个可能的类别,而该类别对应的列只有一个元素为1,其余元素都为0。好了,这就引出来独热编码的问题。举个例子,假设我们有一个数据集,其中包含不同颜色的类别数据,如“红色”、“蓝色”和“绿色”。当然相似的词往往出现在同一环境中(例如,在西瓜或熟了等词附近)现在非常相似的分布(其相邻的词是相似的,比如西瓜和桃子)中的两个词具有相似的含义。使用独热编码后,每个颜色都会被转换为一个长度为3的向量,其中只有一个元素为1,其余为0。原创 2024-07-04 10:55:17 · 424 阅读 · 0 评论 -
2-12 中文处理的难题-分词
在中文文本中,词语之间没有明确的分隔符,因此分词是中文处理中一项具有挑战性的任务。中文分词是中文自然语言处理中的一项基本任务,它的目的是将连续的中文文本切分成一个个单独的词语,为后续的文本处理和分析提供基础比如:原句:跟我学自然语言处理,咱们一起变得更强!分词后:跟 我 学 自然 语言 处理 , 咱们 一起 变 得 更 强!原创 2024-07-04 10:55:00 · 295 阅读 · 0 评论 -
2-11 文本分析流程2
在这里给大家介绍个很好玩的包,词云,能够将文本出现次数多的语句可视化出来,这对我们进行自然语言处理也有一定的启发。从这张词云图来看,LLMOps应用平台的优势就非常明显了。然后点击以下链接安装字体。首先我们准备一个文本。原创 2024-07-03 08:50:21 · 250 阅读 · 0 评论 -
2-10 文本分析流程1
主目录点这里NLP的一般处理流程语料的来源语料预处理原创 2024-07-03 08:50:02 · 130 阅读 · 0 评论 -
2-9 模型评估指标
我们要预测一条文本内容是不是回答微信手机号,如果是则为正例,如果不是则为负例。假设我有两万条的测试样本,其中1.8万不是回答微信手机号,其中2000条是回答微信手机号。有的情况,在业务中没有明确说以精度或召回率为单指标判断模型质量,便可以使用F1Score的值或者上图两平衡点区间做一个评判标准(这里查准率就是精度,查全率就是召回率)使用训练好的模型对这2万条测试数据进行预测,得到1.75万条不是回答微信手机号,只有2500条是回答微信手机号。通常精度和召回率是相互对抗的,即精度高,召回率低;原创 2024-07-03 08:49:34 · 279 阅读 · 0 评论 -
2-8 聚类算法介绍
主目录点这里什么是聚类聚类尝试在没有训练的条件下,对一些没有标签的数据进行归纳分类。根据相似性对数据进行分组,以便对数据进行概括。没有标签是指我们事先不知道任何样本的类别标记,希望通过某种算法把这一组位置类别的样本化分成若干类别,聚类的时候,并不关心某一类是什么,实现的只是将相似的东西聚在一起。总的来说,聚类就是对大量未知标注的数据集,按数据内在的相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小。这是一种无监督的分类方式。聚类的目标聚类方法好坏判断常见聚类方法。原创 2024-07-03 08:48:20 · 255 阅读 · 0 评论 -
2-7 从已知结果中学习未知问题-回归与分类
这里我要补充一下:企业在对文本分类时需要制定一套分类体系,用于克服以上的局限。原创 2024-07-03 08:47:51 · 301 阅读 · 0 评论 -
2-6 降维方法介绍
主目录点这里(在nlp中常用于数据清洗)什么是降维高维数据的问题降维的意义常见的降维方法这些知识了解就好,实战时遇到了不懂查查就行。原创 2024-07-03 08:47:20 · 252 阅读 · 0 评论 -
2-5 机器学习是什么(下)
我现在对用户对某商品的评论进行抓取,可能有个5万条文本数据,那么人为的对5万条数据进行文本分类是非常困难的,我们可以先对其做一个聚类,可能得到200种类别,接着再人为的对这200种类别进行筛选,细分等等,会效率高很多。具体的我就不多赘述了,大家自行了解即可,毕竟这行业还是以实用为主。原创 2024-07-03 08:46:38 · 153 阅读 · 0 评论 -
2-4 机器学习是什么(上)
机器在处理一句话时会将其变换为一个词向量空间,在通过特定的方式(涉及算法的后面再细说)得到对应类别的评分。对于甲,判断留资的评分为0.9,不留资的评分便是0.1,那么预测的结果便是甲已留资。目前,我的boss想要知道我做的这个对话系统的留资能力,也就是留资率。通过这种方式,智能体在不断的试错中学习最佳的行动策略,最终能够有效地找到迷宫的出口。2.智能体(Agent): 智能体最初对迷宫一无所知,它的目标是找到出口。2.根据行动结果,智能体收到奖励,并移动到新的状态。(3)如果是普通的移动,奖励为零。原创 2024-07-03 08:46:12 · 535 阅读 · 0 评论 -
2-3 基于概率统计的模型采样知识
在机器学习中,采样是从一个数据集中选取一部分样本用于模型训练或推断。采样可以是随机的也可以是确定性的,并且可以根据各种不同的采样策略进行操作。原创 2024-07-03 08:45:47 · 522 阅读 · 0 评论 -
2-2 贝叶斯与信息理论
信息论是一门研究信息传输、变换和处理的科学。它以数学方法研究通讯技术中关于信息的传输和变换规律,为控制论,自动化技术和现代化通讯技术奠定了理论基础。而信息熵的概念是用来解决信息的度量问题。也就是量化信息。一个事件或者一个系统,准确来说是一个随机变量,它有着一定的不确定性。要消除这个不确定性,就要引入更多的信息,这个更多的信息的度量就需要用信息熵来表达。需要引入消除不确定性的信息量越多,则信息熵越高,反之则越低。原创 2024-07-02 08:57:51 · 363 阅读 · 0 评论 -
2-1 概率论基础讲解
对于相互独立的n次随机试验,随着试验次数的增加,事件相对频率会趋于稳定,也就是存在一个极限值P(A),这个极限值就是统计概率。概率论是集中研究概率和随机现象的数学分支,是研究随机性或不确定性等现象的学科。基本事件:在一次随机试验中可能发生且不能再细分的结果被称为基本事件,或者基本单位。我们在后面做自然语言也是会经常通过统计概率来完成的。事件空间:在随机试验中可能发生的所有单位事件的集合。随机实验:对自然现象进行的一次观察或一次科学实验。2.试验中每个基本事件发生的可能性相同。1.样本空间的元素只有有限个。原创 2024-07-02 08:56:35 · 182 阅读 · 0 评论 -
1-4 NLP发展历史与我的工作感悟
虽然有些事情便利了,但还是有很多很多的问题要解决,比如对于企业如何实时追踪与用户对话的数据信息,如何进一步提高机器人对用户话语分类的准确性,如何解决对话系统高并发的问题,如何提高系统的可维护性和可拓展性,如何兼容外语理解(因为有可能有外国人使用该系统,我自己就碰到过哈哈哈哈,叽里呱啦看不懂),prompt的设计减少大模型的已读乱回行为,如何提高对话系统的反应能力(我现在只做到了平均0.7s),如何减少大模型使用到的token等等一系列棘手的企业落地问题,对我们这些NLP算法工程师任重而道远!原创 2024-07-01 09:11:22 · 375 阅读 · 0 评论 -
1-3 NLP为什么这么难做
1-3 NLP为什么这么难做字词结构的复杂性中文以汉字为基础单位,一个词通常由一个或多个汉字组成,而不像英语词汇单元由字母构成。这使得中文分词(切分句子为词语)成为一个具有挑战性的任务。语言歧义性中文中常常存在歧义,一个词语可以有多个意思,而且同样的发音的词汇在不同的上下文可能有不同的含义语法结构的灵活性中文语法结构相对较灵活,而且有时候在句子中的位置不像英文那样子严格。这增加了分析句子结构和理解语法的难度语义表达方式的多样性中文可以使用不同的词序和表达方式来表达相同的含义,这使得原创 2024-07-01 09:06:10 · 386 阅读 · 0 评论 -
1-2 什么是自然语言处理
自然语言处理是计算机学科、人工智能与语言学领域的一个交叉学科,主要研究如何让计算机能够理解、处理、生成和模拟人类语言的能力,从而实现与人类进行自然语言对话的能力。如上图,你好通过自然语言处理转换成机器能理解的编码。原创 2024-06-30 11:43:27 · 318 阅读 · 0 评论 -
1-1 语言的产生:语音、词汇、语法
语言是一种用于交流的符号系统,是人类思想和观念的表达工具。之前的NLP对词汇的理解挺一般的,只会单一的做一个字符串的分词,现在我们可以用实体抽取或者其他更新的分词方法来帮助对话系统提高理解能力。如今自己训练一个对话系统的一个难点就是客户的语法不是正常的,是凌乱的,但是作为人我们能大概理解,让机器、大模型来便一塌糊涂。这里贴一个huggingface下载量最多的TTS模型,大家可以去观摩一下,大厂如何去实现自然语言到语音的流畅转换。语法是研究语言中句子结构和组织的规则的学科。原创 2024-06-30 11:42:58 · 304 阅读 · 0 评论 -
NLP+LLM从入门到精通系列
前言:笔者从事于NLP+LLM的对话智能机器人的相关行业,现在的大模型的技术日新月异,传统的NLP业务显然是要被淘汰的,那么这也是我着笔写这一系列文章的初衷。本系列将由浅到深,结合实际代码案例,帮助想要入门的小伙伴们更快掌握,以下是本系列的文章结构与预告,希望小伙伴们可以留下一个点赞和关注,你们的关注便是我更新的动力.(本系列相关知识/提子获取/openai账户/我的私有训练语料库以及数据集等等原创 2024-06-28 18:06:40 · 726 阅读 · 2 评论 -
搭建自己的ai客服
随心设计好Agent的角色,并完成相应的个性化文档供大模型学习这里的话建议提前构思好,写好专家文档txt,可以与我不一样,无所谓的。原创 2024-05-31 17:16:11 · 354 阅读 · 12 评论