NLP文本分类

这篇具有很好参考价值的文章主要介绍了NLP文本分类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

自然语言处理—文本分类综述/什么是文本分类_Suprit的博客-CSDN博客

参考

文本分类 (Text Classification 或 Text Categorization,TC)

指计算机将载有信息的一篇文本映射到预先给定的某一类别或某几类别主题的过程,实现这一过程的算法模型叫做分类器。

基本分类

根据预定义的类别不同,文本分类分两种:二分类多分类,多分类可以通过二分类来实现。

根据文本的标注类别上来讲,文本分类又可以分为单标签多标签,因为很多文本同时可以关联到多个类别。

应用场景

文本分类的主流应用场景有:

        情感分析:sentiment analysis ( SA)
        话题标记:topic labeling(TL)
        新闻分类:news classification (NC)
        问答系统:question answering(QA)
        对话行为分类:dialog act classification (DAC)
        自然语言推理:natural language inference (NLD),
        关系分类:relation classification (RC)
        事件预测:event prediction (EP)

基本流程

基于机器学习/深度学习的文本分类:

基本流程如下:

NLP文本分类

浅层学习(Shallow Learning):

NLP文本分类

获取训练集

数据采集是文本挖掘的基础,主要包括爬虫技术和页面处理两种方法。先通过网络爬虫获取到原始 web 网页数据,然后通过页面处理去除掉多余的页面噪声,将 Web 页面转化成为纯净统一的文本格式和元数据格式。

文本特征工程(针对浅层学习)

文本要转化成计算机可以处理的数据结构,就需要将文本切分成构成文本的语义单元。这些语义单元可以是句子、短语、词语或单个的字。
通常无论对于中文还是英文文本,统一将最小语义单元称为“词组

英文文本预处理

英文文本的处理相对简单,因为单词之间有空格或标点符号隔开。如果不考虑短语,仅以单词作为唯一的语义单元的话,只需要分割单词,去除标点符号、空格等

英文还需要考虑的一个问题是大小写转换,一般认为大小写意义是相同的,这就要求将所有单词都转换成小写/大写。

英文文本预处理更为重要的问题是词根的还原,或称词干提取。词根还原的任务就是将属于同一个词干(Stem)的派生词进行归类转化为统一形式。
例如,把“computed”, “computer”, “computing”可以转化为其词干 “compute”。通过词干还原实现使用一个词来代替一类中其他派生词,可以进一步增加类别与文档中的词之间匹配度。词根还原可以针对所有词进行,也可以针对少部分词进行。

中文文本预处理

中文的字与字之间没有间隔,并且单个汉字具有的意义弱于词组。一般认为中文词语为最小的语义单元,词语可以由一个或多个汉字组成。所以中文文本处理的第一步就是分词
中文文本处理中主要包括文本分词去停用词两个阶段。

分词

研究表明中文文本特征粒度为粒度远远好于粒度,因为大部分分类算法不考虑词序信息,如果基于字粒度就会损失了过多的 n-gram 信息。

目前常用的中文分词算法可分为三大类:基于词典的分词方法、基于理解的分词方法和基于统计的分词方法。

基于词典的中文分词(字符串匹配)
核心是首先建立统一的词典表,当需要对一个句子进行分词时,首先将句子拆分成多个部分,将每一个部分与字典一一对应,如果该词语在词典中,分词成功,否则继续拆分匹配直到成功。字典,切分规则和匹配顺序是核心。

基于统计的中文分词方法
统计学认为分词是一个概率最大化问题,即拆分句子,基于语料库,统计相邻的字组成的词语出现的概率,相邻的词出现的次数多,就出现的概率大,按照概率值进行分词,所以一个完整的语料库很重要。

基于理解的分词方法
基于理解的分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。
它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。
这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段

NLP文本分类
 

去停用词
“在自然语言中,很多字词是没有实际意义的,比如:【的】【了】【得】等,因此要将其剔除。”

停用词(Stop Word)是一类既普遍存在又不具有明显的意义的词,在英文中例如:“the”、“of”、“for”、“with”、“to”等,在中文中例如:“啊”、“了”、“并且”、“因此”等。
由于这些词的用处太普遍,去除这些词,对于文本分类来说没有什么不利影响,相反可能改善机器学习效果。
 

文本特征提取(特征选择)

nlp 任务非常重要的一步就是特征提取(对应机器学习中的特征工程步骤,也叫做降维),在向量空间模型中,文本的特征包括字、词组、短语等多种元素表示 。在文本数据集上一般含有数万甚至数十万个不同的词组,如此庞大的词组构成的向量规模惊人,计算机运算非常困难。

特征选择就是要想办法选出那些最能表征文本含义的词组元素 。

向量空间模型 文本 表示方法的 特征提取分为特征项选择特征权重计算两部分。

特征选择

基本思路是根据某个评价指标独立地对原始特征项(词项)进行评分排序,从中选择得分最高的一些特征项,过滤掉其余的特征项。

词袋模型

词袋模型是最原始的一类特征集,忽略掉了文本的语法和语序,用一组无序的单词序列来表达一段文字或者一个文档 。可以这样理解,把整个文档集的所有出现的词都丢进袋子里面,然后 无序去重 地排出来(去掉重复的)。对每一个文档,按照词语出现的次数来表示文档 。

NLP文本分类

把所有词丢进一个袋子:我,有,一个,苹果,明天,去,地方,你,到,最爱的。这 4 句话中总共出现了这 10 个词。

现在我们建立一个无序列表:我,有,一个,苹果,明天,去,地方,你,到,最爱的并根据每个句子中词语出现的次数来表示每个句子。

NLP文本分类

总结一下特征:

句子 1 特征: ( 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 )
句子 2 特征: ( 1 , 0 , 1 , 0 , 1 , 1 , 1 , 0 , 0 , 0 )
句子 3 特征: ( 0 , 0 , 1 , 0 , 0 , 0 , 1 , 1 , 1 , 0 )
句子 4 特征: ( 2 , 1 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 1 )
词袋模型生成的特征叫做词袋特征,该特征的缺点是词的维度太大,导致计算困难,且每个文档包含的词语远远数少于词典的总词语数,导致文档稀疏。仅仅考虑词语出现的次数,没有考虑句子词语之间的顺序信息,即语义信息未考虑。

TF-IDF 模型

主要是用词汇的统计特征来作为特征集,TF-IDF 由两部分组成:TF(Term frequency,词频),**IDF(Inverse document frequency,逆文档频率)**两部分组成,利用 TF 和 IDF 两个参数来表示词语在文本中的重要程度。TF 和 IDF 都很好理解,我们直接来说一下他们的计算公式:

TF 是词频,指的是一个词语在一个文档中出现的频率,一般情况下,每一个文档中出现的词语的次数越多词语的重要性更大(当然要先去除停用词)

TF 体现的是词语在文档内部的重要性。  

NLP文本分类      每个句子中词语的 TF :

NLP文本分类

IDF 

NLP文本分类

NLP文本分类 IDF 是体现词语在文档间的重要性如果某个词语仅出现在极少数的文档中,说明该词语对于文档的区别性强,对应的特征值高。

NLP文本分类

 用 IDF 计算公式计算上面句子中每个词的 IDF 值::

NLP文本分类

TF-IDF 方法的主要思路是一个词在当前类别的重要度与在当前类别内的词频成正比,与所有类别出现的次数成反比。可见 TF 和 IDF 一个关注文档内部的重要性,一个关注文档外部的重要性,最后结合两者,把 TF 和 IDF 两个值相乘就可以得到 TF-IDF 的值。

 每个句子中每个词的 TF-IDF 值 添加到向量表示出来就是每个句子的 TF-IDF 特征。

卡方特征选择(基于卡方检验的特征选择)

对于文本分类的词向量中许多常用单词对分类决策的帮助不大,比如汉语的一些虚词和标点符号等,也可能有一些单词在所有类别的文档中均匀出现。
为了消除这些单词的影响,一方面可以用停用词表另一方面可以用卡方非参数检验(Chi-squaredtest,X2)来过滤掉与类别相关程度不高的词语。
 

卡方检验(χ2 test),是一种常用的特征选择方法,尤其是在生物和金融领域。χ2 用来描述两个事件的独立性或者说描述实际观察值与期望值的偏离程度。χ2 值越大,则表明实际观察值与期望值偏离越大,也说明两个事件的相互独立性越弱。

基于词向量的特征提取模型

 NLP文本分类

文本表示

文本是一种非结构化的数据信息,是不可以直接被计算的。文本表示的作用就是将这些非结构化的信息转化为计算机可以理解的结构化的信息 ,这样就可以针对文本信息做计算,来完成后面的任务。

NLP文本分类

 文本表示的方法有很多种,传统做法常用上面提到词袋模型(BOW, Bag Of Words)或向量空间模型(CSM, Vector Space Model),除此之外还有基于词嵌入的的独热编码(one-hot representation)、整数编码、词嵌入(wordembeding)等方法,
 

 分类器(分类算法模型)

文本分类方法模型主要分为两个大类,一类是传统的机器学习方法(具体可以再分为四类),另一类是新兴的深度学习模型。由于每个算法其实都非常复杂,在此我们仅做简单介绍,建议需要使用时一定要再深入学习理解。

传统机器学习方法(浅层学习模型)

1.基于规则的模型
基于规则的分类模型相对简单,易于实现。它在特定领域的分类往往能够取得较好的效果。相对于其它分类模型来说,基于规则的分类模型的优点就是时间复杂度低、运算速度快。在基于规则的分类模型中,使用许多条规则来表述类别。类别规则可以通过领域专家定义,也可以通过计算机学习获得。
决策树就是一种基于训练学习方法获取分类规则的常见分类模型,它建立对象属性与对象值之间的一种映射。通过构造决策树来对未标注文本进行分类判别。常用的决策树方法包括 CART 算法、ID3、C4.5、CHAID 等。
决策树的构建过程一般是自上而下的,决策树可以是二叉树也可以是多叉树,剪枝的方法也有多种,但是具有一致目标,即对目标文本集进行最优分割。

NLP文本分类NLP文本分类

 NLP文本分类


3.基于几何学的模型

使用向量空间模型表示文本,文本就被表示为一个多维的向量,那么它就是多维空间的一个点。通过几何学原理构建一个超平面将不属于同一个类别的文本区分开。最典型的基于几何学原理的分类器是"支持向量机"(SVM),其分类效果较为不错,几乎可以说是传统机器学习算法中最好的了。

4.基于统计的模型
基于统计的机器学习方法已经成为自然语言研究领域里面的一个主流研究方法。事实上无论是朴素贝叶斯分类模型,还是支持向量机分类模型,也都采用了统计的方式。文本分类算法中一种最典型的基于统计的分类模型就是 k 近邻(k-Nearest Neighbor,kNN)模型,是比较好的文本分类算法之一。
文本分类——常见分类模型。

深度学习模型:

都什么年代了,还在搞传统机器学习。了解一下深度学习吧!

         深度学习是一种基于特征学习的机器学习方法,把原始数据通过简单但非线性的模块转变成更高层次、更加抽象的特征表示,通过足够多的转换组合,非常复杂的函数也能被学习。在多年的实验中,人们发现了认知的两个重要机制:抽象和迭代,从原始信号,做底层抽象,逐渐向高层抽象迭代,在迭代中抽象出更高层的模式。如何形象地理解?在机器视觉领域会比较容易理解,深度学习通过多层神经网络依次提取出图像信息的边缘特征、简单形状特征譬如嘴巴的轮廓、更高层的形状特征譬如脸型;而在自然语言处理领域则没有那么直观的理解,我们可以通过深度学习模型学习到文本信息的语法特征语义特征。可以说,深度学习,代表自然语言处理研究从机器学习到认知计算的进步。

解读NLP深度学习的各类模型 - 知乎

NLP文本分类

        文章来源地址https://www.toymoban.com/news/detail-426436.html

到了这里,关于NLP文本分类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【自然语言处理(NLP)】基于循环神经网络实现情感分类

    活动地址:[CSDN21天学习挑战赛](https://marketing.csdn.net/p/bdabfb52c5d56532133df2adc1a728fd) 作者简介 :在校大学生一枚,华为云享专家,阿里云星级博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源建设专家委员会(TIPCC)志愿者,以及编程

    2024年02月07日
    浏览(46)
  • 自然语言处理NLP:文本预处理Text Pre-Processing

    大家好,自然语言处理(NLP)是计算机科学领域与人工智能领域中的一个重要方向,其研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。本文将介绍文本预处理的本质、原理、应用等内容,助力自然语言处理和模型的生成使用。 文本预处理是将原始文本数

    2024年04月26日
    浏览(47)
  • Python 自然语言处理 文本分类 地铁方面留言文本

    将关于地铁的留言文本进行自动分类。 不要着急,一步步来。 导入需要的库。 定义函数,加载用来分词的自定义词典。 定义函数,生成自己的停用词词典,得到一个文件。 我找的4个停用词词典下载地址:https://gitcode.net/mirrors/goto456/stopwords/-/tree/master 后面我会把自己整合好

    2024年02月09日
    浏览(60)
  • 7个顶级开源数据集来训练自然语言处理(NLP)和文本模型

    推荐:使用 NSDT场景编辑器快速助你搭建可二次编辑的3D应用场景 NLP现在是一个令人兴奋的领域,特别是在像AutoNLP这样的用例中,但很难掌握。开始使用NLP的主要问题是缺乏适当的指导和该领域的过度广度。很容易迷失在各种论文和代码中,试图吸收所有内容。 要意识到的是

    2024年02月13日
    浏览(57)
  • 自然语言处理 Paddle NLP - 文本语义相似度计算(ERNIE-Gram)

    基础 自然语言处理(NLP) 自然语言处理PaddleNLP-词向量应用展示 自然语言处理(NLP)-前预训练时代的自监督学习 自然语言处理PaddleNLP-预训练语言模型及应用 自然语言处理PaddleNLP-文本语义相似度计算(ERNIE-Gram) 自然语言处理PaddleNLP-词法分析技术及其应用 自然语言处理Pa

    2024年02月08日
    浏览(68)
  • 5.Python数据分析项目之文本分类-自然语言处理

    预测类数据分析项目 流程 具体操作 基本查看 查看缺失值(可以用直接查看方式isnull、图像查看方式查看缺失值missingno)、查看数值类型特征与非数值类型特征、一次性绘制所有特征的分布图像 预处理 缺失值处理(填充)拆分数据(获取有需要的值) 、统一数据格式、特征

    2024年02月03日
    浏览(65)
  • 【Chatgpt4 教学】 NLP(自然语言处理)第九课 朴素贝叶斯分类器的工作原理 机器学习算法

    我在起,点更新NLP自然语言处理==》《 王老师带我成为救世主 》 为啥为它单独开章,因为它值得,它成功的让我断了一更,让我实践了自上而下找能够理解的知识点,然后自下而上的学习给自己的知识升级,将自己提升到能够解决当前遇到的问题的水平。 (1)--------------

    2023年04月15日
    浏览(49)
  • 自然语言处理实战项目19-基于ALBERT模型进行微调的项目-文本分类中的合同类型描述的分类

    大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目19-基于ALBERT模型进行微调的项目-文本分类中的合同类型描述的分类。本文中,我主要将探讨如何使用预训练的ALBERT模型进行微调,以解决文本分类问题,特别是对合同类型的分类。在ALBERT这个模型中,Google研究

    2024年02月07日
    浏览(66)
  • 【自然语言处理】自然语言处理 --- NLP入门指南

    NLP的全称是 Natuarl Language Processing ,中文意思是自然语言处理,是人工智能领域的一个重要方向 自然语言处理(NLP)的一个最伟大的方面是跨越多个领域的计算研究,从人工智能到计算语言学的多个计算研究领域都在研究计算机与人类语言之间的相互作用。它主要关注计算机

    2024年02月03日
    浏览(62)
  • 自然语言处理(NLP)一直是人工智能领域的一项重要任务,其涉及到从文本中提取特征、组织数据、训练模型等诸多复杂任务。如何有效地进行文本理解和分析?

    作者:禅与计算机程序设计艺术 自然语言处理(NLP)一直是人工智能领域的一项重要任务,其涉及到从文本中提取特征、组织数据、训练模型等诸多复杂任务。如何有效地进行文本理解和分析,成为一个重要研究课题。近年来,随着计算能力的提升和硬件性能的增强,大规模

    2024年02月09日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包