文本分析

论文档对象模型

喜欢而已 提交于 2020-01-26 16:34:48
现在大家踊跃发言,博客园人气蒸腾,大家都在汗流浃背的贴着文章。我今天也来出把力,就说说文档对象模型,这个大家平时没怎么注意但却很重要的计算机软件开发技术。 文档对象模型英文名为 Document Object Model , 简称DOM,它是一种比较重要的软件设计和编制规范。 可以这么说,平生不认DOM,便称英雄也枉然,很多时候它是我们眼皮底下的新大陆。 文档对象模型是面向对象编程技术的集中体现,若没有完整的面向对象编程思想,是不可能理解和开发文档对象模型,若开发者能开发出文档对象模型,那就说明他/她比较完整的理解和掌握了面向对象编程思想。 什么是文档对象模型,文档对象模型英文名为 Document Object Model , 简称DOM, W3C国际组织对文档对象模型是这样定义的(摘自 http://www.w3.org/DOM/ ) The Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents. The document can be further

关于神经网络中文本数据输入问题与解决方案

自闭症网瘾萝莉.ら 提交于 2020-01-25 13:46:54
‘在19年的博文中我曾经非常粗浅的提及CNN中文本数据输入的问题,接下来我将提出我的思路与解决方案,仅供各位参考!’ 神经网络中解决文本数据输入的必要性 相比于CNN中常用的图片数据,文本数据的优点在于: 文本数据可解决浮点型数值的存储,如0.1123818等float32算术类型的存储,而图片如JPEG、PNG等职能存储整型数据,只有TIF图片可存储浮点型数据。 文本数据可解决多通道、多变量数据的存储,当研究过程中需要考虑的变量大于3或4时,单通道或三通道的图片数据即不能直接解决数据的存储,网上大多推崇TIF格式图片存储,但我并没有找到直接的内容(可能是我查找还未能深入) 同样,文本数据的缺点也十分明显: 神经网络多对具Batch_size的样本训练,即每次需要对多个样本同时训练学习(这里便不陈述“在线学习”的缺点了),而网上资源如tfrecords、lmdb等多是对整型图片数据制作相应的训练样本格式,使得神经网络能够一边读取数据一边训练,提高内存利用率 拟解决问题 将多变量的浮点型文本数据制作为合适的训练样本,从而输入神经网络进行训练 解决思路 通过主成分分析,将多变量降维(但是很明显在预处理阶段便损失了数据信息,且仍然不能解决浮点型问题,因此划分为最次的解决方案) 将数据以正态分布或其他分布拉伸为多变量整型数据(仍然会损失原始信息)

商城项目-商品新增

霸气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掉。所以,我们还需要对文本中的信息进行筛选。这个步骤相当于我们做菜的洗菜过程,洗掉泥土等,吃起来才会口感好,否则,没有清洗过的菜,就算再牛逼的大厨,我想也很难做出佳肴吧。 三、分词系统 经过上面的步骤,我们会得到比较干净的素材。我们知道,文本中起到关键作用的是一些词,甚至主要词就能起到决定文本取向。比如说一篇文章讲的是体育还是娱乐,肯定是对文章中的中心词进行分析得到的结果。那么怎么样才能找到那些能够影响中心意思的词语呢? 别忘了

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

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

动手实践用LDA模型计算两篇英文文档相似度

五迷三道 提交于 2020-01-22 14:43:12
知道原理的同学这部分可以略过直接看实践部分 什么是TD-IDF? 构造文档模型 我们这里使用 空间向量模型 来 数据化 文档内容:向量空间模型中将文档表达为一个矢量。 用特征向量(T1,W1;T2,W2;T3, W3;…;Tn,Wn)表示文档。 Ti是词条项,Wi是Ti在文档中的 重要程度 , 即将文档看作是由一组相互 独立的词条组构成 ,把T1,T2 …,Tn看成一个n 维坐标系中的坐标轴,对于每一词条,根据其重要程度赋以一定的权值Wi,作为对应坐标轴的坐标值。 权重Wi用词频表示 ,词频分为 绝对词频 和 相对词频 。 绝对词频,即用词在文本中出现的频率表示文本。 相对词频,即为归一化的词频,目前使用 最为频繁的是TF*IDF (Term Frequency * Inverse Document Frequency)TF 乘 IDF 将文档量化了之后我们很容易看出D1与Q更相似~因为D1与Q的夹角小,我们可以用余弦cos表示 分析一下这个例子: 有三个文档D1,D2,Q 这三个文档一共出现了三个词条,我们分别用T1,T2,T3表示 在文档D1中词条T1的权重为2,T2权重为3,T3权重为5 在文档D2中词条T1权重为0,T2权重为7,T3权重为1 在文档Q中词条T1权重为0,T2权重为0,T3权重为2 D1 D2 Q T1 2 3 0 T2 3 7 0 T3 3 1 2

sed和awk有什么区别? [关闭]

≡放荡痞女 提交于 2020-01-20 16:25:23
awk 和 sed 有什么区别? 什么样的应用程序是sed和awk工具的最佳用例? #1楼 1)awk和sed有什么区别? 两者都是改变文本的工具。 但是除了操作文本之外,awk可以做更多的事情。 它本身就是一种编程语言,你在编程中学到的大部分东西,比如数组,循环,if / else流控制等你也可以在sed中“编程”,但是你不想维护写在其中的代码。 2)什么样的应用程序是sed和awk工具的最佳用例? 结论:使用sed进行非常简单的文本解析。 除此之外,awk更好。 事实上,你可以完全抛弃sed并使用awk。 由于它们的功能重叠而awk可以做得更多,所以只需使用awk即可。 您也将减少学习曲线。 #2楼 sed 是一个流编辑器。 它适用于每行的字符流。 它有一个原始的编程语言,包括goto风格的循环和简单的条件(除了模式匹配和地址匹配)。 基本上只有两个“变量”:模式空间和保持空间。 脚本的可读性可能很难。 数学运算充其量只是非常尴尬。 有各种版本的 sed ,对命令行选项和语言功能提供不同级别的支持。 awk 以每行为基础定向分隔字段。 它有更强大的编程结构,包括 if / else , while , do / while 和 for (C风格和数组迭代)。 完全支持变量和单维关联数组加上(IMO)kludgey多维数组。 数学运算类似于C printf 。它具有 printf

练习:文本排序

情到浓时终转凉″ 提交于 2020-01-20 03:09:40
练习: 对文本的内容进行排序 按照(1,2,3....)顺序排序 分析: 1.创建一个 HashMap集合对象 ,可以:存储每行文本的序号(1,2,3,..);value:存储每行的文本 2.创建 字符缓冲输入流对象 ,构造方法中绑定字符输入流 3.创建 字符缓冲输出流对象 ,构造方法中绑定字符输出流 4.使用字符缓冲输入流中的方法 readline ,逐行读取文本 5.对读取到的文本进行切割,获取行中的序号和文本内容 6.把切割好的序号和文本的内容存储到HashMap集合中(key序号是有序的,会自动排序1,2,3,4..) 7. 遍历HashMap集合,获取每一个键值对 8.把每一个键值对,拼接为一个文本行 9.把拼接好的文本,使用字符缓冲输出流中的方法write,写入到文件中 10.释放资源 package com.itheima.demo01.BufferedStream; import java.io.*; import java.util.HashMap; public class Demo05Test { public static void main(String[] args) throws IOException { //1.创建一个HashMap集合对象,可以:存储每行文本的序号(1,2,3,..);value:存储每行的文本 HashMap<String

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

Python文本分析实战:《跨越星弧》TapTap玩家词云分析

梦想的初衷 提交于 2020-01-18 15:41:22
许久之前写了一篇《Python网络爬虫实战》的博客,里面讲了爬虫的过程,但是没有讲如何分析。这次讲述一下用如何通过词云分析,来从这些文本数据里面获得结论 首先,回顾一下分析背景 主要是看了一下随着日期,玩家每天的评论变化,其中红色柱状是总的评论数 这里我们发现几个非常有趣的点, (1)4.13前后出现了评分陡降的情况 (2)4月底评分持续低迷 这段时间肯定是发生了什么事情,所以才出现掉分的情况。具体的原因,我们可以通过对评论的内容进行挖掘探究 所以我们这里 要做的是,对 这问题时间的评论进行提取,并对其进行词云分析,得到热词 从而可以通过这些热词来反推玩家的讨论焦点,找到导致评分下降的原因 ------------------------------------- 以下过程仅针对第一个评分陡降的点,即4月13日前后 --------------------------- 主要逻辑:词云分析的4个步骤: 1、语句分词 :将完整的自然语言语句,切割成一个个单独的词汇,便于词频统计。这是个挺复杂的事情,尤其是中文的分词,因为汉语中并没有空格这样的分隔符,但是不用担心,python有第三方库函数可以解决——Jieba分词 2、过滤停用词 :分词后的词汇里面,会带有很多的 “的” 、“我” 、“我们” 、“游戏”等高频但是没有什么意义的词汇,因此需要过滤掉