
nlp从零开始
文章平均质量分 91
只为大家分享一些自己的学习路线和有用的东西,让大家学到有用的东西。这里按照从传统的自然语言处理到深度学习的NLP再到大模型开发顺序分享。
人生百态,人生如梦
只为大家分享一些自己的学习路线和有用的东西,让大家学到有用的东西。
展开
-
NLP从零开始------文本中阶处理之序列到序列模型(完整版)
序列到序列( sequence to sequence, seq2seq) 是指输入和输出各为一个序列(如一句话) 的任务。本节将输入序列称作源序列,输出序列称作目标序列。序列到序列有非常多的重要应用, 其中最有名的是机器翻译( machine translation), 机器翻译模型的输入是待翻译语言(源语言) 的文本,输出则是翻译后的语言(目标语言) 的文本。此外, 序列到序列的应用还有: 改写( paraphrase), 即将输入文本保留原意, 用意思相近的词进行重写;原创 2024-09-05 15:33:11 · 1919 阅读 · 0 评论 -
NLP从零开始------18.文本中阶处理之序列到序列模型(3)
贪心解码和束解码只是最基础的解码方法,其解码结果会出现许多问题。这里主要介绍3种常见问题,并简单介绍解决方案。原创 2024-09-05 15:28:00 · 1130 阅读 · 0 评论 -
NLP从零开始------17.文本中阶处理之序列到序列模型(2)
序列到序列模型可以看成一种条件语言模型,以源句x为条件计算目标句的条件概率该条件概率通过概率乘法公式分解为从左到右每个词的条件概率之积:序列到序列模型的监督学习需要使用平行语料,其中每个数据点都包含一对源句和目标句。以中译英机器翻译为例,平行语料的每个数据点就是一句中文句子和对应的一句英文句子。机器翻译领域较为有名的平行语料库来自机器翻译研讨会( workshop on machine translation, WMT), 其中的语料来自新闻、维基百科、小说等各种领域。原创 2024-09-04 21:15:50 · 1209 阅读 · 0 评论 -
NLP从零开始------16.文本中阶处理之序列到序列模型(1)
序列到序列( sequence to sequence, seq2seq) 是指输入和输出各为一个序列(如一句话) 的任务。本节将输入序列称作源序列,输出序列称作目标序列。序列到序列有非常多的重要应用, 其中最有名的是机器翻译( machine translation), 机器翻译模型的输入是待翻译语言(源语言) 的文本,输出则是翻译后的语言(目标语言) 的文本。此外, 序列到序列的应用还有: 改写( paraphrase), 即将输入文本保留原意, 用意思相近的词进行重写;原创 2024-09-01 20:05:10 · 1906 阅读 · 0 评论 -
NLP从零开始------文本中阶序列处理之语言模型(完整版)
要想得到一个语言模型,最简单的想法是从一个大型语料库中直接统计不同文字序列出现的频率。然而由于文字序列的排列组合空间极大,不可能找到一个包含所有合理的文字序列的语料库,因此这个想法是不可行的。既然序列的概率无法通过经验频率来估计, 那么是否可以通过概率乘法公式将其转换为一系列条件概率的乘积,转而估算这些条件概率呢?其中,表示输入文字序列中的第i个词。那么这个序列“自然语言”的概率可以分解为P(自然语言)=P(自)×P(然|自)×P(语|自然)×P(言|自然语)原创 2024-08-29 08:12:37 · 1491 阅读 · 0 评论 -
NLP从零开始------15.文本中阶序列处理之语言模型(3)
循环神经网络的一个主要局限是不能很好地建模长距离依赖,即使像长短期记忆这样的变体也只是改善而不是完全解决了长距离依赖的问题。其根本原因在于,如果序列中的第i个词需要对第j个词(假设j>i)产生影响,需经过j-i个计算步骤, 而随着步数增加, 第i个词的信息会很快衰减,被两个词之间其他词的信息所淹没。从另一个角度来看, 每一步用来预测下一个词的隐状态都需要包含这个词左边所有词的信息,但隐状态的维度有限,因而所能表达的信息容量也有限,从而形成了信息瓶颈, 阻碍了前置词信息的准确表示和传递。原创 2024-08-28 23:24:04 · 1113 阅读 · 0 评论 -
NLP从零开始------14.文本中阶序列处理之语言模型(2)
双向循环神经网络的填充更加复杂,正向和反向的循环神经网络的读取顺序相反, 难以保证两个方向的循环神经网络都在末尾填充,实现起来较为困难。需要注意的是,双向循环神经网络在每个位置的输出同时包含来自左边和右边的信息,也就是整个输入序列的信息,因此双向循环神经网络不能用于语言模型,因为语言模型需要仅根据序列中每个词左边的信息来预测这个词。双向循环神经网络的结构包含一个正向的循环神经网络和一个反向的循环神经网络(即从右到左读入文字序列),将这两个网络对应位置的输出拼接得到最终的输出,如下图所示。原创 2024-08-27 21:57:58 · 1213 阅读 · 0 评论 -
NLP从零开始------13.文本中阶序列处理之语言模型(1)
要想得到一个语言模型,最简单的想法是从一个大型语料库中直接统计不同文字序列出现的频率。然而由于文字序列的排列组合空间极大,不可能找到一个包含所有合理的文字序列的语料库,因此这个想法是不可行的。既然序列的概率无法通过经验频率来估计, 那么是否可以通过概率乘法公式将其转换为一系列条件概率的乘积,转而估算这些条件概率呢?其中,表示输入文字序列中的第i个词。那么这个序列“自然语言”的概率可以分解为P(自然语言)=P(自)×P(然|自)×P(语|自然)×P(言|自然语)原创 2024-08-25 21:31:10 · 1447 阅读 · 0 评论 -
NLP从零开始------12. 关于前十一章补充(英文分词)
相较于基础篇章,这一部分相较于基础篇减少了很多算法推导,多了很多代码实现。原创 2024-08-24 22:03:19 · 1559 阅读 · 0 评论 -
NLP从零开始------11文本进阶处理之新闻文本分类聚类示例
本小节将介绍运用朴素贝叶斯模型,分别采用自定义函数和调用 Python内置函数两种方法对新闻文本进行分类。新闻文本分类的流程包括以下步骤。(1)数据读取。读取原始新闻数据, 共有1000条数据。(2)文本预处理。对原始数据进行预处理, 对其进行去重、脱敏和分词等操作, 并分别统计教育、旅游的词频,随后绘制相应的词云图。由于数据分布不均, 对每个类别的数据各抽取400条, 共抽取800条数据进行训练模型及分类。(3)分类和预测。原创 2024-08-09 16:04:52 · 1401 阅读 · 1 评论 -
NLP从零开始------10文本进阶处理之分类与聚类
随着网络时代的到来,用户可以获得的信息包含技术资料、商业信息、新闻报道、娱乐资讯的等等,可以构成一个异常庞大的具有异构性、开放性等特性分布式数据库,而这个数据库存放的是非结构化的文本数据,结合人工智能研究领域的nlp技术,从数据挖掘中派生出了文本挖掘这个新兴的数据挖掘研究领域。文本挖掘是抽取有效、新颖、有用、可理解的、散布在文本文件中的有价值知识,并且利用这些知识更好地组织信息的过程。文本挖掘是NLP中的重要内容。文本挖掘是一个从非结构化文本信息中获取用户感兴趣或有用模式的过程。原创 2024-08-08 18:26:03 · 1715 阅读 · 0 评论 -
NLP从零开始------9文本进阶处理之文本相似度计算
在自然语言处理中,经常会涉及度量两个文本相似度的问题。在诸如对话系统和信息减速等中,度量句子或短语之间的相似度尤为重要。在新闻学传媒中应用文本相似度可以帮助读者快速检索到想要了解的报道。文本相似度的定义式如下所示:其中,common(A,B)和A和B的共性信息,description(A,B)是描述A和B的全部信息,上式表达出相似度与文本共性成正相关。由于没有限制应用领域,由此此定义被广泛采用。相似度一般可用[0,1]中的实数表示,该实数可通过语义距离计算获得。相似度与语义距离呈负相关。原创 2024-08-07 17:50:00 · 4586 阅读 · 0 评论 -
NLP从零开始------8文本进阶处理之文本向量化
随着计算机计算能力的大幅度提升,机器学习和深度学习都取得了长足的发展。NLP越来越多的通过应用机器学习和深度学习工具解决问题,例如通过深度学习模型从网络新闻报道中分析出关键词汇与舆论主题并构建关系图谱。在这种背景下,文本向量化成为NLP一个非常重要的工具,因为文本向量化可将文本空间映射到一个向量空间,从而使得文本可计算。文本分类和聚类是NLP得得基础内容。这几节主要介绍文本进阶处理的文本向量化得常用方法、文本相速度的计算方法及常见的文本分类和聚类算法。本节先学习文本向量化。原创 2024-08-06 13:49:14 · 1756 阅读 · 0 评论 -
NLP从零开始------7基础文本处理之关键词提取
基于当前文档,在3种模型中,TF-IDF模型的结果较好,其次是TextRank算法,最后是LSI模型。LSI模型是较早期的主题模型,存在诸多不足之处,因此用于提取关键词时效果不太理想,相较之下TF-IDF算法和TextRank算法结果会比较好。由于提取关键词时,有些词语在文档中出现的频次、词性等信息比较接近,因此提取关键词时出现的概率很有可能一样,多次运行程序时,关键词出现顺序会往前或往后改变。原创 2024-08-03 21:59:14 · 2858 阅读 · 0 评论 -
NLP从零开始------6基础文本处理之命名实体识别
命名实体识别(Named Entity Recognition,NER)中的“命名实体”一般是指文本中具有特别意义或指代性非常强的实体(比如:人名,地名,时间或者机构组织等)。命名实体可分为实体类、时间类和数字类3大类,以及人名、机构名、地名、时间、日期、货币和百分比7小类。命名实体识别在NLP中占有重要地位,它是信息提取、机器翻译和问答系统等应用领域里的基础工具。命名实体识别的任务就是识别出文本中的命名实体,通常分为实体边界识别和实体类别识别两个过程。原创 2024-08-02 23:26:24 · 4570 阅读 · 1 评论 -
NLP从零开始------5基础文本处理之词性标注
现代汉语中的词性可分为实词和虚词,共有12种词性。实词有名词、动词、形容词等;虚词有副词、介词、连词等。中文词性通常会通过一些简单字母编码对词性进行标注,如动词、名词、形容词分别用“v”、“n”、“adj”表示。词性标注是指为分词结果中的每个词标注一个词性的过程,也就是确定每个词是名词、动词、形容词或其他词性的过程。中文词性标注相比与英文词性标注有一定的难度,这是因为中文不像英文可以通过词的形态变化判断词的词性。一个中文词可能有多种词性,在不同的句子中表现的意思也大不相同。原创 2024-08-01 22:30:58 · 1460 阅读 · 0 评论 -
NLP从零开始------4基础文本处理之分词(2)
随着近年来NLP技术的快速发展,自然语言处理中实现中文分词的工具逐渐增多,其中包括Ansj、HanLP和盘古分词等分词工具。由于在实际开发与研究过程中,使用jieba进行中文分词的人员占大多数,使用较为广泛。相比其他分词工具而言,jieba不仅包含分词这一功能,而且提供了许多分词以外的算法。jieba使用简单,并且支持Python、R、C++等多种编程语言的实现,对于新手而言是一个较好的入门分词工具。原创 2024-08-01 17:05:30 · 1432 阅读 · 0 评论 -
NLP从零开始------4基础文本处理之分词(1)
中文分词是指将汉字序列按照一定规范逐个切分为词序列的过程。在英文中,单词之间以空格为自然分隔符,分词自然地以空格为单位切分,而中文分词则需要依靠一定技术和方法寻找类似英文中空格作用的分隔符基于规则的分词是中文分词最先使用的方法,随着统计方法的发展,又提出了一些基于统计的分词模型。基于规则的分词:正向最大匹配发、逆向最大匹配法。基于统计的分词:隐马尔可夫模型、条件随机场模型。原创 2024-07-31 22:46:35 · 706 阅读 · 0 评论 -
NLP从零开始------3基础文本处理之语料库思考示例代码
1.首先下载一些影视作品的语料库通过构建完语料库之后,可以利用nltk的基本函数进行搜索相似词语。指定内容、搭配词语、查询文本词汇频数等相关操作。原创 2024-07-31 12:28:41 · 468 阅读 · 0 评论 -
NLP从零开始------3.文本基础处理之语料库
语料库是为某一个或多个应用而专门收集的、有一定结构的、有代表性的、可以被计算机程序检索的、具有一定规模的语料的集合。其实语料库的本质就是经过科学取样和加工的大规模电子文本库。对于语料库来说有三个显著特征:1.语料库中存放的是真实出现过的语言材料。2. 语料库是以计算机为载体,承载语言知识的基础资源。3.语料库是对真实语料进行加工、分析和处理的资源。任何一个信息处理系统都离不开语料库的支持,在nlp中更是如此。原创 2024-07-30 22:31:58 · 2183 阅读 · 0 评论 -
NLP从零开始------2.基础概念解析
利用计算机对自然语言的形、音、意进行处理。即对字、词、句、篇进行输入、输出、识别、分析、理解、生成等操作和加工过程。nip机制涉及两个流程,自然语言理解和自然语言生成。自然语言理解研究的是计算机如何理解自然语言文本中的信息。自然语言生成研究是计算机如何生成自然语言文本表达给定意图和思想等。原创 2024-07-29 21:15:33 · 855 阅读 · 0 评论 -
NLP从零开始------1.环境搭建
(交互式代码编译器)jupyter notebook。首先启动相应虚拟环境,然后在此环境下下载相应包。pycharm(本系列采用)推荐conda管理环境与包。原创 2024-07-29 18:56:10 · 772 阅读 · 0 评论