




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
处理新闻文本数据新闻文本聚类——聚类分析任务描述文本数据清洗是指对文本数据进行处理,以去除其中的噪声、错误和无用信息,使得数据更加准确、可靠和适合分析,在文本分析和挖掘领域中具有非常重要的意义。经过清洗的数据有着更好的数据质量,能够使得后续的数据挖掘更加精准有效,贯彻高质量发展精神。本任务将对新闻文本数据进行清洗,包括文本读取、分词、去停用词和特征提取。任务要求使用withopen函数读取文本文件。使用jieba库进行文本分词。使用stoptxt停用词表去停用词。使用TfidfTransformer进行文本特征提取。读取文件jieba分词去停用词特征提取读取文件怎么读取文本文件呢?read_csv函数可用于读取使用分割符分割的文本文件,这在实际应用中存在很多限制。因此想要自由的处理文本文件,还需要其他的办法。open是Python内置的一个关键字,用于打开文件,并创建一个上下文环境。open关键字的基本使用格式如下。
读取文件open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)Open关键字常用参数及其说明
读取文件参数名称说明file接收str,表示要打开的文件的路径和名称,无默认值mode接收str,表示文件的读写模式,默认为“r”buffering接收int,表示文件的缓冲区大小,默认为-1encoding接收str,表示文件的编码格式,默认为None读取文件参数名称说明errors接收str,便是编码错误的处理方式,默认为Nonenewline接收str,表示文本模式下的换行符,默认为Noneclosefd接收bool,表示是否关闭文件描述符,默认为Trueopener接收函数,表示自定义的文件打开器,默认为NoneOpen关键字常用参数及其说明
withopen可以说是open的优化用法或高级用法,相比open更加简洁、安全。open必须搭配close方法使用,先用open打开文件,然后进行读写操作,最后用close释放文件。withopen则无需close语句,比较简洁。json是一种轻量级、基于文本的、可读的文件格式。文件中的部分关键词及其出现频率,储存在词频.json中。读取文件读取文件对文本文件进行文件读取主要通过以下4个步骤实现。使用withopen或open打开文件使用json.load读取文件输出读取文件的值若使用open函数打开,还需要使用close函数关闭jieba分词jieba是一个常用的中文分词库,它能够将一段中文文本按照词语进行划分,并且去除停用词等无意义的符号,输出分好的词语列表。jieba库在Python中广泛应用于自然语言处理领域,如文本挖掘、搜索引擎、信息检索等。什么是jieba分词?汉字是文化自信的基石,学习汉字,推进文化自信自强。汉语是以汉字为基本书写单位,词语之间没有明显的区分标记,完整的句子很难进行信息提取,因此在中文自然语言处理中通常是将汉语文本中的字符串切分成合理的词语序列。jieba分词jieba库的主要作用有什么呢?一段中文文本进行分词,得到分好的词语列表,方便后续的处理和分析。中文分词jieba库支持基于TF-IDF算法和TextRank算法的关键词提取,可以提取出一段中文文本中的关键词,用于文本摘要、信息检索等。关键词提取jieba库支持中文词性标注,可以标注出每个词语的词性,如名词、动词、形容词等,方便进一步的文本分析和处理。词性标注jieba库内置了一些常用的停用词表,可以去除一些无意义的词语,避免影响文本处理的结果。去除停用词用户可以通过添加自定义的词语,来弥补jieba库分词时出现的漏词问题,提高分词效果。添加自定义词语处理新闻文本数据新闻文本聚类——聚类分析任务描述文本数据清洗是指对文本数据进行处理,以去除其中的噪声、错误和无用信息,使得数据更加准确、可靠和适合分析,在文本分析和挖掘领域中具有非常重要的意义。经过清洗的数据有着更好的数据质量,能够使得后续的数据挖掘更加精准有效。本任务将对新闻文本数据进行清洗,包括文本读取、分词、去停用词和特征提取。任务要求使用withopen函数读取文本文件。使用jieba库进行文本分词。使用stoptxt停用词表去停用词。使用TfidfTransformer类进行文本特征提取。读取文件jieba分词去停用词特征提取去停用词为什么进行去停用词?在文本处理中,停用词是指一些功能极其普遍,与其他词相比没有什么实际含义的词,通常是一些单字,单字母以及高频的单词。例如,中文中的“我、的、了、地、吗”等,英文中的“the、this、an、a、of”等。对于停用词一般在预处理阶段就将其删除,避免对文本,特别是短文本,造成负面影响。去停用词对文本文件进行去停用词主要通过以下4个步骤实现。使用withopen或open读取文件使用read.csv读取停用词表用for循环遍历文件,去除与停用词表相同的部分将结果保存到表格中特征提取特征提取是指根据某个特征评估函数计算各个特征的评分值,再按评分值对这些特征进行排序,选取若干个评分值最高的作为特征。特征提取的主要功能是在不损伤文本核心信息的情况下尽量减少要处理的单词数,以此来降低向量空间维数,从而简化计算,提高文本处理的速度和效率。什么是特征提取?特征提取特征提取的常用方法如下。特征提取方式特点词频模型考虑单词出现频率,不考虑上下文信息,简单高效。通过词频模型进行特征提取就是将词频小于某一值或大于某一值的词删除,从而降低特征空间的维数,词频是一个词在文档中出现的次数。该模型是基于这样一个假设,即出现频率小的词对文章的影响也较小,出现频率大的词可能是无意义的普通词。但是在信息检索的研究中认为,有时频率小的词含有更多的信息。因此,在特征选择的过程中不宜简单地根据词频大幅度删词词频(TF)=某个词在文章中的出现次数/文章的总词数特征提取特征提取的常用方法如下。词频模型考虑单词出现频率,不考虑上下文信息,简单高效。N-gram模型考虑相邻单词组合的特征,可以捕捉到一定的上下文信息。TF—IDF模型既考虑单词出现频率,也考虑在文本集合中单词的普遍重要性。N-gram模型考虑相邻单词组合的特征,可以捕捉到一定的上下文信息。N-gram模型是在词频模型的基础上,考虑相邻的N个单词作为一个特征,N一般取2或3。该模型基于这样一种假设,第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以直接通过从语料中统计N个词同时出现的次数得到特征提取方式特点特征提取TF—IDF模型既考虑单词出现频率,也考虑在文本集合中单词的普遍重要性。TF-IDF模型既逆文本频率指数。其中某一特定词语的逆文件频率(IDF),可以由总文件数目除以包含该词语的文件的数目,再将得到的商取对数得到。将词频与逆文档频率相乘既得到逆文本频率指数。该模型基于这样一个假设,字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF可以有效评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度逆文档频率(IDF)=log(语料库的文档总数/(包含该词的文档数+1))TF-IDF=TF*IDF特征提取的常用方法如下。特征提取方式特点特征提取读取经过分词和去停用词的文本调用TfidfTransformer类和CountVectorizer类使用CountVectorizer类将文本转换为词频矩阵使用TfidfTransformer类进行特征提取对文本文件进行特征提取主要通过以下4个步骤实现。读取新闻文本数据分词和去停用词特征提取读取新闻文本数据读取新闻文本数据的流程如下。查看新闻文本数据使用import和from导入re、os、json、pandas、TfidfTransformer、CountVectorizer等开发类库使用os.listdir()方法指定文件的读取路径使用withopen()方法读取新闻文本数据集,去除制表符、换行符、回车符查看数据新闻网站是信息时代人们获取信息的重要途径。新闻文本聚类采用来自新闻网站的数据合集,该数据共有4个类别标签,分别为从政、经济、国际、体育。每个标签下分别有500条新闻数据。构建自定义函数编写函数去除数据中的停用词及分词使用read_csv函数读取停用词表后,对于输入参数data的每一行进行for循环。使用strip()方法删除字符串左右两侧的空格或特殊字符。使用jieba库的cut函数对剩余的文本进行分词。使用for循环和停用词表对分词之后的文本进行去停用词。将所有得到的文本储存到列表corpus列表中。调用函数进行分词和去停用词调用编写好的函数,进行分词和去停用词。进行分词和去停用词后文本变成了一个个单独且有意义的词语。特征提取针对去停用词后的数据使用TfidfTransformer进行特征提取。使用CountVectorizer类将提取的特征转换为词频矩阵。构建新闻文本聚类模型新闻文本聚类——聚类分析任务描述聚类是针对给定的样本,依据它们特征的相似度或度量,将其归并到若干个“类”或“簇”的数据分析问题。一个类是样本的一个子集。直观上,相似的样本聚集在相同的类,不相似的样本分散在不同的类。新闻文本聚类是将大量新闻文本根据其相似性划分到不同的类别中,以便更好地理解和分析这些文本。本任务将使用K-Means算法和DBSCAN算法,对任务7.1中处理好的文本进行聚类分析并进行可视化展示。任务要求使用sklearn库构建K-Means模型。使用sklearn库构建DBSCAN模型。使用Matplotlib库实现结果的可视化。K-MeansDBSCANK-Means聚类的目的是在没有标签或类别信息的情况下,将数据样本归为几个不同的群组,以便更好地理解数据、识别数据的模式和规律,并进行更有效的数据分析。通过聚类,可以识别出数据中的不同类别或簇,这些簇可能具有相似的属性、特征或行为。K-MeansK-Means聚类是基于样本集合划分的聚类算法。它将样本集合划分为k个子集,每个子集为一类。将n个样本分到k个类中,使得每个样本到其所属类的中心的距离最短。在K-Means聚类中,每个样本只能属于一个类。将样本分为了5类,可以从图中看到,每个样本只能属于一个类,一个类的样本都聚集在一起。K-MeansK-Means聚类算法是一个迭代的过程,过程如下。1选择k个类的中心,将样本分类到距离最近的类中2将每个类中样本的均值作为新的类中心3重复以上步骤,直到每个类中样本不再改变为止K-Means目标是最小化每个数据点与其所属簇中心之间的距离的总和。其中,Xi表示第i个样本,μj表示第j个类的中心。K-Means使用sklearn库中的KMeans类建立K-Means模型,其基本使用格式如下。classsklearn.cluster.KMeans(n_clusters=8,init='k-means++',n_init=10,max_iter=300,tol=0.0001,precompute_distances='deprecated',verbose=0,random_state=None,copy_x=True,n_jobs='deprecated',algorithm='auto')K-MeansKMeans类常用参数及其说明如下。参数名称说明n_clusters接收int。表示要形成的簇数以及生成的质心数。默认为8init接收方法名。表示所选择的初始化方法,可选'k-means++','random',ndarray,callable。默认为'k-means++'n_init接收int。表示K均值算法将在不同质心种子下运行的次数。默认为10max_iter接收int。表达单次运行的K均值算法的最大迭代次数。默认为300tol接收float。表示两个连续迭代的聚类中心的差异,以声明收敛。默认为1e-4random_state接收int。表示所确定的质心初始化的随机数的生成。默认为NoneK-MeansK-Means聚类初始化类中心的选择方法如下。1k-means++是默认的方法,也是最常用的方法,它会智能地选择初始聚类中心,使它们在整个数据集中更加均匀地分布。2random会从数据集中随机选择K个数据点作为初始聚类中心。相比于'k-means++',这种方法更加简单和随机。3ndarray可以传入一个形状为(K,n_features)的NumPy数组作为初始聚类中心。K代表数据点的个数,n_features代表数据的维度。4callable可以传入一个可调用对象(如函数)作为初始聚类中心的选择方法。该可调用对象应接受数据集作为输入,并返回形状为(K,n_features)的数组作为初始聚类中心。K-Means对于应用程序开发者而言,用户的反馈至关重要。针对不同使用习惯、不同使用强度的顾客进行的问卷调查,有助于帮助开发者开发出好的产品。实践是检验真理的唯一标准,理论只有来源于实践、作用于实践,才会具有强大的生命力。某应用软件想要对客户进行问卷调查,客户的使用信息储存在客户数据集(customer.csv)中,包括客户的年龄(岁)、应用使用时间(小时)。年龄(岁)使用时间(小时)5687281063315530198K-Means构建K-Means模型的步骤如下。读取文件构建KMeans模型模型训练输出分类情况和类中心构建新闻文本聚类模型新闻文本聚类——聚类分析任务描述聚类是针对给定的样本,依据它们特征的相似度或度量,将其归并到若干个“类”或“簇”的数据分析问题。一个类是样本的一个子集。直观上,相似的样本聚集在相同的类,不相似的样本分散在不同的类。新闻文本聚类是将大量新闻文本根据其相似性划分到不同的类别中,以便更好地理解和分析这些文本。本任务将使用K-Means算法和DBSCAN算法,对任务7.1中处理好的文本进行聚类分析并进行可视化展示。任务要求使用sklearn库构建K-Means模型。使用sklearn库构建DBSCAN模型。使用Matplotlib库实现结果的可视化。K-MeansDBSCANDBSCANDBSCAN是一种基于密度的聚类算法,与K-Means聚类算法不同,它不需要预先指定聚类的数量。相反,DBSCAN通过将数据点分为核心点、边界点和噪声点,从而发现任意形状的簇。DBSCAN在DBSCAN中,每个数据点都有两个重要的参数:邻域半径(r)和最小点数(k)。N(xi)为xi的一个邻域,r为邻域半径。邻域半径决定了一个点周围的范围,而最小点数是确定一个点是核心点的最小邻居数。核心点是在其邻域内至少有k个数据点的数据点,而边界点是邻域内少于k个数据点但位于核心点邻域中的数据点。噪声点是不属于任何簇的点。DBSCANDBSCAN的算法是一个遍历的过程,过程如下。首先随机选择一个未被访问的数据点,并找到其邻域内的所有点。如果该点的邻域内有至少k个点,则将该点标记为核心点,并将其邻域内的所有点加入该簇中,并将邻域内所有点标记为已访问。如果该点的邻域内少于k个点,则将该点标记为噪声点。核心点噪声点DBSCANDBSCAN的算法是一个遍历的过程,过程如下。首先随机选择一个未被访问的数据点,并找到其邻域内的所有点。如果该点的邻域内有至少k个点,则将该点标记为核心点,并将其邻域内的所有点加入该簇中,并将邻域内所有点标记为已访问;如果该点的邻域内少于k个点,则将该点标记为噪声点。重复上述步骤,直到所有数据点都被访问,如右图所示。DBSCAN使用sklearn库中的DBSCAN类建立DBSCAN模型,其基本使用格式如下。classsklearn.cluster.DBSCAN(eps=0.5,min_samples=5,metric='euclidean',metric_params=None,algorithm='auto',leaf_size=30,p=None,n_jobs=None)DBSCANDBSCAN类常用参数及其说明如下。参数名称参数说明eps接收float。表示同一个簇中两个样本之间的最大距离,而该距离还被视为另一个样本的邻域。默认为0.5min_samples接收int。表示一个点附近的样品数量(或总重量)被视为核心点。默认为5metric接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年综合类-投资建设项目决策-第一章投资建设项目决策的程序和内容历年真题摘选带答案(5卷100道合辑-单选题)
- 2025公告厅电脑桌面广告投放合同
- 2025年综合类-建设工程技术与计量(土建工程)-第二节木材历年真题摘选带答案(5卷100道集锦-单选题)
- 2025年综合类-广西儿外科住院医师规范化培训-烧伤整形外科历年真题摘选带答案(5卷100道集锦-单选题)
- 2025年综合类-岩土工程基础知识-岩土工程基础知识-岩土工程专业知识-第六章特殊条件下的岩土工程历年真题摘选带答案(5卷100道集锦-单选题)
- 水厂迁建配套管线工程资金申请报告(模板范文)
- 江华小学数学试卷
- 2025江苏省计算机软件技术合作开发合同
- 湖北黄石九年级数学试卷
- 九年级综合数学试卷
- GB/T 44127-2024行政事业单位公物仓建设与运行指南
- 喷灌管线施工安装工程施工组织设计方案
- 厂房钢结构安装施工方案
- 完整版交管12123驾照学法减分复习通关秘籍题库及答案(名师系列)
- 水利工程(水电站)安全生产风险分级管控体系方案全套资料(2021-2022版)
- 流水线清洁记录表
- 政府会计制度专题培训全套课件
- 手外伤清创手术配合
- 起重机的手势指挥信号
- (高清版)DZT 0338.2-2020 固体矿产资源量估算规程 第2部分 几何法
- 2023-2024学年安徽省合肥市瑶海区七年级(上)期末数学试卷
评论
0/150
提交评论