文本分类

文本分类——预处理

你离开我真会死。 提交于 2020-01-27 03:01:32
前言: 文本分类,NLP领域比较经典的使用场景;文本分类一般分为:特征工程+分类器+结果评价与反馈。 特征工程分为:文本预处理+特征提取+文本表示。 本文主要是文本预处理,分词——文本标准化——便于对文本的后序操作,再进行词频统计。 一、代码: import nltk from nltk.corpus import stopwords #从nltk语料库中调用停用词语库 from nltk.tokenize import sent_tokenize#从nltk.tokenize中调用sen_tokenize函数实例来将短文分成句子 def read_file(filename): """ #读取文档内容 #:param filename:文档名称 #:return: 文本数据字符串 """ with open(filename,'r',encoding='UTF-8') as obj_file:#不加encoding='UTF-8'有时会出现UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 11: illeg contents = obj_file.read()#从文本中读取数据存到变量contents中,字符串 return contents def del_stop_words(pre

C#发现之旅第一讲 C#-XML开发

喜夏-厌秋 提交于 2020-01-26 16:40:39
C#发现之旅第一讲 C#-XML开发 袁永福 2008-5-15 系列课程说明 为了让大家更深入的了解和使用C#,我们将开始这一系列的主题为“C#发现之旅”的技术讲座。考虑到各位大多是进行WEB数据库开发的,而所谓发现就是发现我们所不熟悉的领域,因此本系列讲座内容将是C#在WEB数据库开发以外的应用。目前规划的主要内容是图形开发和XML开发,并计划编排了多个课程。在未来的C#发现之旅中,我们按照由浅入深,循序渐进的步骤,一起探索和发现C#的其他未知的领域,更深入的理解和掌握使用C#进行软件开发,拓宽我们的视野,增强我们的软件开发综合能力。 本系列课程配套的演示代码下载地址为 http://www.cnblogs.com/Files/xdesigner/cs_discovery.zip 。 本系列课程已发布的文章有 C#发现之旅第一讲 C#-XML开发 C#发现之旅第二讲 C#-XSLT开发 C#发现之旅第三讲 使用C#开发基于XSLT的代码生成器 C#发现之旅第四讲 Windows图形开发入门 C#发现之旅第五讲 图形开发基础篇 C#发现之旅第六讲 C#图形开发中级篇 C#发现之旅第七讲 C#图形开发高级篇 C#发现之旅第八讲 ASP.NET图形开发带超链接的饼图 C#发现之旅第九讲 ASP.NET验证码技术 C#发现之旅第十讲 文档对象模型 课程说明 本课程介绍了使用C

IO流基础到高级

…衆ロ難τιáo~ 提交于 2020-01-26 04:28:38
IO流的使用和注意事项 File类的所使用的 File类的创建的三种方式 File类的常用方法 File类的判断功能的方法 File文件的创建和删除 IO流的分类和结构体系 字符流读取文件(最基本方式) 字符流写入内容到文件(最基本方式) 字符流的读写整合(最基本方式) 字节流读写图片(最基本方式) 缓冲流(作用:提高文件的读写效率。) 缓冲流读取文本(最基本的方式) 转换流的使用 转换流的读取操作 转换流的读取整合(字节流读取文件控制台以字符流的形式输出,在写入的时候通过字节流写入转成字符流写到文件中) 对象流 对象流写入一个bat文件(序列化) 对象流的读取(反序列化) 对象流读取写入自定义的对象 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入 File类的所使用的 1.File类的一个队形,代表一个文件或者一个文件目录(俗称:文件夹) 2.File类声明在java.io包下。 File类的创建的三种方式 import org . junit . Test ;

商城项目-商品新增

霸气de小男生 提交于 2020-01-25 04:58:56
5.商品新增 5.1.效果预览 新增商品窗口: 这个表单比较复杂,因为商品的信息比较多,分成了4个部分来填写: 基本信息 商品描述信息 规格参数信息 SKU信息 5.2.从0开始 我们刚刚在查询时,已经实现创建了MyGoodsForm.vue,并且已经在MyGoods中引入。 不过目前没有写代码: <template> <v-card> my goods form </v-card> </template> <script> export default { name: "my-goods-form", props: { oldGoods: { type: Object }, isEdit: { type: Boolean, default: false } }, data() { return { } }, methods: { } } </script> <style scoped> </style> 然后在MyBrand中,已经引入了MyGoodsForm组件,并且页面中也形成了对话框: // 导入自定义的表单组件 import MyGoodsForm from './MyGoodsForm' < v-dialog max-width = " 500 " v-model = " show " persistent > < v-card > <!--对话框的标题--> < v

文本数据挖掘一般步骤

霸气de小男生 提交于 2020-01-24 12:03:52
转载自潇一: 简要的谈谈文本数据挖掘的一般步骤 原文 一、获取文本 一般来说网络文本的获取,主要是网页的形式。我们要把网络中的文本获取形成一个文本数据库(数据集)。利用一个爬虫(这是另外一个知识点),抓取到网络中的信息。爬取的策略有广度和深度爬取;根据用户的需求,爬虫可以有主题爬虫和通用爬虫之分,主题爬取主要是在相关站点爬取或者爬取相关主题的文本,而通用爬虫则一般对此不加限制。爬虫可以自己写,当然现在网络上已经存在很多开源的爬虫系统。当然如果需要定制,自己写还是可以的。 二、对文本进行预处理 通过上面的步骤,我们已经获得了做菜的材料了,可以说,有了它,做出一道菜已经是顺利成当了。但是,菜好不好吃,可不可口,还需要经过很多步骤的。 我们知道,网页中存在很多不必要的信息,比如说一些广告,导航栏,html、js代码,注释等等,我们并不感兴趣的信息,可以delete掉。所以,我们还需要对文本中的信息进行筛选。这个步骤相当于我们做菜的洗菜过程,洗掉泥土等,吃起来才会口感好,否则,没有清洗过的菜,就算再牛逼的大厨,我想也很难做出佳肴吧。 三、分词系统 经过上面的步骤,我们会得到比较干净的素材。我们知道,文本中起到关键作用的是一些词,甚至主要词就能起到决定文本取向。比如说一篇文章讲的是体育还是娱乐,肯定是对文章中的中心词进行分析得到的结果。那么怎么样才能找到那些能够影响中心意思的词语呢? 别忘了

胶囊网络-多标签文本分类

不羁的心 提交于 2020-01-24 01:08:51
胶囊网络在文本分类中效果显著,但也有实验更进一步表明,胶囊网络在多标签文本分类中,效果更佳。 论文《Investigating Capsule Networks with Dynamic Routing for Text Classifification 》 论文链接: 论文下载点此处 来源: CSDN 作者: 椒椒。 链接: https://blog.csdn.net/qq_38978225/article/details/103820609

爬虫智能解析库 Readability 和 Newspaper 的用法

做~自己de王妃 提交于 2020-01-22 20:32:49
舆情爬虫是网络爬虫一个比较重要的分支,舆情爬虫往往需要爬虫工程师爬取几百几千个新闻站点。比如一个新闻页面我们需要爬取其标题、正文、时间、作者等信息,如果用传统的方式来实现,每一个站点都要配置非常多的规则,如果要维护一个几百上千的站点,那人力成本简直太高了。 如果有一种方式可以在保证差不多的准确率的前提下,大幅提高提取效率的话,就需要用到智能文本提取了。 本文首先介绍一下智能文本提取的基本原理,让大家对智能提取有基本的了解。然后介绍几个比较基础的工具包,准确率并不是很高,可以尝试一用。最后再介绍几篇比较前沿的技术供大家参考。 智能文本提取 目前来说,智能文本提取可以分为三类: 基于网页文档内容的提取方法 基于 DOM 结构信息的提取方法 基于视觉信息的提取方法 基于网页文档的提取方法将 HTML 文档视为文本进行处理,适用于处理含有大量文本信息且结构简单易于处理的单记录网页,或者具有实时要求的在线分析网页应用。这种方式主要利用自然语言处理相关技术实现,通过理解 文本语义、分析上下文、设定提取规则等,实现对大段网页文档的快速处理。其中,较为知名的方法有TSIMMIS、Web-OQL、Serrano、FAR-SW 和 FOREST,但这些方法由于通常需要人工的参与,且存在耗时长、效率低的弊端。 基于 DOM 结构信息的方法将 HTML 文档解析为相应的 DOM 树,然后根据 DOM

机器学习基础——带你实战朴素贝叶斯模型文本分类

风格不统一 提交于 2020-01-22 09:26:00
本文始发于个人公众号: TechFlow 上一篇文章当中我们介绍了 朴素贝叶斯模型的基本原理 。 朴素贝叶斯的核心本质是假设样本当中的变量 服从某个分布 ,从而利用条件概率计算出样本属于某个类别的概率。一般来说一个样本往往会含有许多特征,这些特征之间很有可能是有相关性的。为了简化模型,朴素贝叶斯模型 假设这些变量是独立的 。这样我们就可以很简单地计算出样本的概率。 想要回顾其中细节的同学,可以点击链接回到之前的文章: 机器学习基础——让你一文学会朴素贝叶斯模型 在我们学习算法的过程中,如果只看模型的原理以及理论,总有一些纸上得来终觉浅的感觉。很多时候,道理说的头头是道,可是真正要上手的时候还是会一脸懵逼。或者是勉强能够搞一搞,但是过程当中总会遇到这样或者那样各种意想不到的问题。一方面是我们动手实践的不够, 另一方面也是理解不够深入。 今天这篇文章我们实际动手实现模型,并且在 真实的数据集 当中运行,再看看我们模型的运行效果。 朴素贝叶斯与文本分类 一般来说,我们认为 狭义的事件 的结果应该是有限的,也就是说事件的结果应该是一个 离散值 而不是连续值。所以早期的贝叶斯模型,在引入高斯混合模型的思想之前,针对的也是离散值的样本(存疑,笔者推测)。所以我们先抛开连续特征的场景,先来看看在离散样本当中,朴素贝叶斯模型有哪些实际应用。 在机器学习广泛的应用场景当中,有一个非常经典的应用场景

Android自定义View/ViewGroup

折月煮酒 提交于 2020-01-22 00:14:04
一、基本步骤 自定义属性; 重写onMeasure()方法; 重写onDraw()方法; 重写onLayout()方法; 选择和设置构造方法; 重写其他事件的方法(滑动监听等) 二、常用到的View方法 View方法 实现一个自定义视图,通常要提供框架在所有视图上都会调用的标准方法的重写,这些标准方法有: 分类 方法 描述 创建 构造器 有一种构造器形式是当视图是从代码创建时调用的;还有另一种构造器形式是当视图是通过布局文件来创建时调用的。第二种形式要解析和应用定义在布局文件中的属性。 创建 onFinishInflate() 当一个视图及其所有孩子都从XML文件创建完成时调用。可以做些初始化子控件的操作 布局 onMeasure(int, int) 调用这个方法决定视图及其所有孩子的大小要求,当覆盖这个方法时,我们应该调用setMeasuredDimension(int,int)存储测量好的视图的宽度和高度。如果这个方法被重写,那么这个子类要确保测量的高度和宽度至少是视图的最小高度和宽度。 布局 onLayout(boolean, int, int, int, int) 当这个视图要给它的孩子分配大小和位置时调用 布局 onSizeChanged(int, int, int, int) 当视图的大小发生改变时调用 绘图 onDraw(android.graphics.Canvas

TF-IDF学习笔记

人走茶凉 提交于 2020-01-19 08:51:31
计算文本的权重向量,有个很有效的权重方案:TF-IDF权重策略。TF-IDF含义是词频逆文档频率,指的是,如果某个词或短语在一篇文章中出现的频率高,并且在其他文章中很少出现,则认为此词或短语具有很好的分类区分能力,适合用来分类。简单的说,TF-IDF(词频-逆文档频率),它可以反映出语料库中 某篇文档中某个词 的重要性。目前所知应用是用来计算文档相似性( TF-IDF与余弦相似性的应用(二):找出相似文章 ) TF-IDF权重公式参见这篇博文: TF-IDF与余弦相似性的应用(一):自动提取关键词 。由于自己实现代码,在运算时效率很低,所以本文主要讲述 sklearn里面的TF-IDF方法。里面 主要用到了两个函数:CountVectorizer()和TfidfTransformer()。CountVectorizer是通过fit_transform函数将文本中的词语转换为词频矩阵,矩阵元素weight[i][j] 表示j词在第i个文本下的词频,即各个词语出现的次数;通过get_feature_names()可看到所有文本的关键字,通过toarray()可看到词频矩阵的结果。TfidfTransformer也有个fit_transform函数,它的作用是计算tf-idf值。这里附上一个我初学时用于理解的小例子(python2实现)。 1 # coding:utf-8 2