根据老师周三画的重点总结的
第三章前期不考
所有的开源工具
填空,名词解释,简答
所有的开源工具
填空,名词解释,简答
第一章
Web数据管理:在web环境下,对复杂信息的有效组织和集成,方便而准确的信息查询,集成与发布。
第二章 craw
爬虫:①一种自动获取网页内容的程序②搜索引擎的重要组成部分③通过html源码解析来获 得想要的内容
过程:①从一个或者若干个初始网页的url开始
②在抓取网页的过程中,不断地从当前页面上抽取新的url放入队列
③直到满足系统的一定停止条件
功能:礼貌性,鲁棒性,分布式,可拓展性,性能和效率,新鲜度,功能可拓展性
搜索策略:广度优先和深度优先
访问标记(哈希)
常见的开源爬虫:java:webcollector,heritrix,nutch
c++:karbin
Python:pyspider,scrapy
正则表达式:定义:又称规则表达式,是对字符串操作的以重逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个规则字符串,用来表达一种过滤逻辑。
匹配特点:①匹配速度快②表达能力弱,只具有正规文法的表达能力
流程:1)在获取数据前应尽量去除无用部分。
3)提取网页标题
4)提取网页内的文本
dom树:DOM将HTML视为树状结构的元素,所有元素以及他们的文字和属性可通过DOM树来操作与访问。
开原html解析器:java:htmlparser,jsoup
c++:htmlcxx
Python:beautiful soup
C#: Winista.Htmlparser.Net
两种方法比较:
正则表达式匹配
正则表达式匹配速度快,但表达能力较弱,只具有正规文法的表示能力。
在对网页内容的信噪比要求不高的情况下可以使用基于正则表达式匹配的爬取程序
HTML DOM树
提取HTML DOM树提取在解析HTML时速度较慢,但其表达能力相当于上下文无关文法。
在网页自动分类等需要进行网页去噪处理的情况时使用基于HTML DOM树的爬取程序。
元搜索:又称多搜索引擎 ,通过一个统一的用户界面帮助用户在多个搜索引擎中选择和利用合适的搜索引擎来实现检索操作,是对分布于网络的多种检索工具的全局控制机制。
反爬取博弈:
网站防爬取措施:①robot协议(篡改user-agent)②ip屏蔽(使用代理服务器,多ip并行,增大爬取时间间隔)③登陆④js渲染
解决方案:模拟浏览器工作
图片滑动验证码:1,判断验证码在什么时候出现。
2,验证码出现时,判断何时加载完成。
3,确定验证码的位置。
4,用鼠标模拟拖动验证码。
5,检验本次操作是否成功。
web数据抽取定义:Web 数据抽取是指从页面中将用户感兴趣的数据利用程序自动抽取 到本地的过程。
过程:①将web网页进行预处理
②用一组信息模式描述所需要抽取的信息
③对文本进行合理的语法句法以及语义分析,包括识别特定的名词短语和动词短语。
④使用模式匹配方式识别指定的信息模式的各种部分。使用模式匹配方法识别指定的信息模式的各个部分。
⑤进行上下文分析和推理,确定信息的最终形式。
⑥将结果输出成结构化的描述形式以便由网络集成系统进行查询分析。
Web数据抽取方法:人工抽取:人工分析出页面模板
半自动抽取:由计算机应用页面模板抽取数据生成具体包装器,而页面模板的分析仍然需要人工参与。
自动抽取:仅仅需要很少的人工参与或者完全不需要人工参与,更加适合大规模、系统化、持续性的Web数据抽取
评价标准:
召回率(Recall):也称为查全率,指抽取到的正确结果与要抽取页面的全部结果的比。即R=|Ra| / |R|
准确率(Precision):也称为查准率,指抽取到的正确结果与抽取到的全部结果的比。即P=|Ra| / |A|
包装器是针对某一类特定的网页、计算机可以理解并执行的程序或抽取规则,其任务就是负责将HTML格式的数据抽取并转化为结构化的格式。
核心是抽取规则:抽取规则是基于HTML文档格式的,用于从每个HTML文档中抽取相关信息。
抽取规则也可以分为:
数据记录抽取:在网页中,一个数据记录对应着现实世界的一个实体。如果把一个网页解析成DOM树结构,一个数据记录则对应着一棵子树或多棵相邻的子树。
多记录数据型页面抽取步骤:
(1)从网页中识别数据记录的边界,抽取数据记录
(2)从数据记录中抽取出其中的数据项
抽取数据型网页的两种方法:①针对多记录的数据型网页②针对单记录数据型网页
数据记录抽取步骤:(1) 数据记录的定位问题
(2) 计算数据记录的边界
(3) 去除噪声数据记录
规则:1关键字频率规则 2 共同路径规则 3 HTML 标签序列相似性规则 4模板项分布规则 5 关键字分布规则 6 HTML 路径规则 7 :出现路径规则(OR) 8 : 视觉规则(VR)
9 :上下文信息规则 10: 文本特征规则
增量式抽取:连续性数据抽取,即从多个连续页面中抽取同结构的记录,以增量方式推导网页模板。
单文档型页面抽取:1结合视觉信息的抽取方法 2 改进的自适应数据抽取方法
爬虫数据存储:非结构:①txt②加载到hdfs
结构化:(1)文件①json②xml③csv④excel (2)数据库 (3)索引结构
Csv:(比较流行)以逗号间隔的文本文件
优点:
①被Excel和很多的应用程序支持。
②用来做数据存储容量小
③很多数据集采用格式
Json:是轻量级的文本数据交换格式
常用的格式是对象的键值对
有两种结构:对象和数组
比csv大,比xml更小,更快,更易解析
Xml:可扩展标记语言
用来存储,携带,交换数据的
半结构化集成数据
数据清洗:对数据进行重新审查和校验的过程,
目的:删除重复信息、纠正存在的错误,并提供数据一致性。
缺失值处理:
1. 直接删除(常用);
2. 或者进行插值处理(Interpolate);
异常值/错误值处理:
1. 直接删除;
2. 极值处理到一个正常区间(推荐);
数据挖掘工具:weka
机器学习工具:sklearn
第八章:
信息检索:从大规模非结构化数据的集合中找出满足用户信息需求的资料的过程
搜索引擎原理步骤:①爬行和抓取②建立索引③搜索词处理④排序
评价标准:覆盖面,更新周期,响应速度,排序结果是否满足用户的查询需求
核心技术: 网页爬取,网页预 处理,文本处理,建立索引,查询,Rank,用户反馈
文本处理:对查询和文本进行的预处理操作(包括词项词典(词干还原,停用词消除)和中文分词)
词干还原(Stemming):去除单词两端词缀的启发式过程。(能够提高召回率,但是会降低准确率 )
词形归并(Lemmatization):利用词汇表和词形分析来减少屈折变化的形式,将其转变为基本形式。
区别:词干还原在一般情况下会将多个派生相关词合并在一起,
而词形归并通常只将同一词元的不同屈折形式进行合并。
消除停用词:优点:①停用词消除可以减少term的个数,②缩小搜索范围,
③提高搜索的效率,④机器学习文本分类算法的文档的预处理
缺点:有时消除的停用词对检索是有意义的。
消除方法:查表法和基于文档频率
构造停用词的方法:①语法剔除②利用词频③搜集网络上一些公开的停用词表
自然语言处理工具包 :NIKT
中文分词定义:将一个汉字序列切分成一个一个单独的词。
方法:①基于理解的分词方法(NLP)
②基于字符串匹配的分词方法
③基于统计的分词方法
统计语言模型:S 的概率 P(S)等于每一个词出现的概率相乘。词Wn 的出现概率取决于它前面所有词。
语言模型的应用:拼写纠错 语音识别 音字转换 文本生成 机器翻译
隐马尔可夫模型(HMM):用来描述一个含有隐含未知参数的马尔可夫过程
HMM模型是一个五元组:
StatusSet: 状态值集合
ObservedSet: 观察值集合
TransProbMatrix: 转移概率矩阵
EmitProbMatrix: 发射概率矩阵
InitStatus: 初始状态分布
HMM模型用途:①评估观察序列概率②预测问题,也称为解码问题③模型参数学习问题
HMM模型应用:股票预测 模式识别 语音识别 分词
两种分词模型:N-Gram语言模型,LM模型
Viterbi算法(维特比算法):一种动态规划算法,它用于寻找最有可能产生观测事件序列的 维特比路径——隐含状态序列。
过程: 主要是利用贝叶斯公式和动态规划以及路径回溯得到最佳路径
①声明wight[4][n]数组,4代表bmes四个状态,n代表数字个数,然后利用贝叶斯公式初始化wight[i][0](状态值集合为(B, M, E, S): {B:begin, M:middle, E:end, S:single})
②然后利用动态规划求出整个weight数组,path数组用来存每个点的路径的前一个点
③确定边界条件和路径回溯: weight[1(E)]和 weight[3(S)]最后一个数的大小,选择大的,然后根据path回溯
开源分词软件:StandardAnalyzer ICTCLAS 庖丁解牛分词 IKAnalyzer
信息检索模型的分类:①基于内容的信息检索模型②结构化模型③浏览型模型
布尔模型:一种简单的检索模型
建立在经典的集合论和布尔代数的基础上
遵循两条基本规则: 每个索引词在一篇文档中只有两种状态:出现或不出现,对应权值为 0或1。
文档:索引词(0或1)的集合
布尔模型的实现:事先给文档建立索引,如果文档包含某个词,则对应项为1,否则为0
优点:①查询简单,方便理解②通过使用复杂的布尔表达式,可方便地控制查询结果③相当有效的实现方法④用户经过训练方便容易的写出查询式
缺点:①精确匹配导致信息需求表达能力不足,不能输出部分匹配②无权重设计,无法排序
③检出的文档或者太多或者太少④难以进行自动的相关反馈
排序检索的基本——评分:希望根据文档对查询者的有用性大小顺序排序
词项频率tf:词项t在文档d中出现的次数,记为tft,d
文档频率 (Document frequency,df):出现词项的文档数目
dft 文档集合中包含t的文档数目,与词项t包含的信息量成反比dft<= N (N是文档的总数)
idf (inverse document frequency)逆文档频:idft = log10(N/dft)
idft 是反映词项t的信息量的一个指标,用log (N/dft) 代替N/dft 来抑制idf的作用
tf-idf:词项t的tf-idf 由它的tf和idf组合而成wt,d=(1+log tft,d) × log10(N/dft)
向量空间模型特点:
①维度非常高:特别是互联网搜索引擎,空间可能达到千万维或更高
②向量空间非常稀疏:对每个向量来说大部分都是0
向量间相似程度的不同度量方法:
①Inner product (内积)
②Dice coefficient
③Cosine coefficient (余弦)
④Jaccard coefficient (雅各比)
归一化:一个文档向量除以它的L2 范数就是给这个文档进行了长度归一化,文档x的L2范数为:
开源全文检索引擎:Lucene Sphinx Nutch
链接分析排序算法: Pagerank 算法 Hits 算法
PageRank 的核心思想 :vote
反向链接数 (单纯的意义上的受欢迎度指标)
反向链接是否来自推荐度高的页面 (有根据的受欢迎指标)
反向链接源页面的链接数 (被选中的几率指标)
PageRank算法和HITS算法比较:
Search Engine Optimization 搜索引擎优化:是指在了解搜索引擎自然排名机制的基础上, 对网站进行内部及外部的调整优化, 改进网站在搜索引擎中的关键词自然排名
基于内容的图像检索(CBIR技术):允许用户输入一张图片,以查找具有相同或相似内容的其他图片。(CBIR属于基于内容检索(CBR)的一种)
基于内容的图像检索的核心图片特征提取(低级特征:颜色,纹理,形状)
特征匹配(相似度计算)
颜色直方图(ColorHistogram):在颜色空间中采用一定的量化方法对颜色进行量化,然后统计每一个量化通道在整幅图像中所占的比重。
描述的是不同色彩在整幅图像中所占的比例
统计分布特性
具有平移、尺度、旋转不变性
特别适于描述那些难以进行自动分割的图像。
颜色相关图(ColorCorrelogram):用颜色对相对于距离的分布来描述信息,它反映了像素对的空间相关性,以及局部像素分布和总体像素分布的相关性。
颜色矩(ColorMoment):在颜色直方图的基础上计算出每个颜色的矩估计,颜色信息主要分布于低阶矩中:
一阶矩(均值,mean) 二阶矩(方差,viarance) 三阶矩(斜度,skewness)
用这些统计量替代颜色的分布来表示颜色特征。它具有特征量少,处理简单的特点。
优点:不需要颜色空间量化,特征向量维数低;
但实验发现该方法的检索效率比较低,因而在实际应用中往往用来过滤图像以缩小检索范围
感知哈希算法 Perceptual hash algorithm对每张图片生成一个"指纹"(fingerprint)字符串,
然后比较不同图片的指纹。结果越接近,就说明图片越相似
优点:简单快速,不受图片大小缩放的影响,
缺点:是图片的内容不能变更。如果在图片上加几个文字,它就认不出来了
纹理特征:纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。
与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。
优点:作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗能力
缺点:当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差。
由于有可能受到光照、反射情况的影响,从2-D图像中反映出来的纹理不一定是3-D物体表面真实的纹理。
纹理特征提取:1灰度差分统计法
2基于灰度共现矩阵的纹理特征(常用统计量:对比度、相关度、方差、熵等)
3 Tamura等定义的6个心理学特征(稀疏度、对比度、方向性、线状性、规则性及粗糙度)
4基于邻域灰度差别矩阵的纹理特征(包括稀疏度、繁忙度、纹理力度等5个特征)
灰度共生矩阵:
1能量(角二阶矩)ASM: 反映了图像灰度分布均匀程度和纹理粗细度。是灰度共生矩阵元素值的平方和。大则纹理粗
2.对比度CON:反映了图像的清晰度和纹理沟纹深浅的程度。con小则沟纹浅,效果模糊
3.自相关(correlation)度量空间灰度共生矩阵元素在行或列方向上的相似程度,反映了图像中局部灰度相关性,图像纹理的一致性。当矩阵元素值均匀相等时,相关值就大;
4.熵(ENT):它表示了图像中纹理的非均匀程度或复杂程度。当共生矩阵为稀疏矩阵(大部分为0时),熵趋向于0;若矩阵中的元素几乎相等时,说明图像中有许多细纹理,熵较大。
5.逆差矩(IDM)反映图像纹理的同质性,度量图像纹理局部变化的多少。如果灰度共生矩阵对角元素有较大值,IDM就会较大
滤波是在傅立叶基础上加了一个窗口,小波窗口可变
Gabor变换:当窗函数取为高斯窗时一般称为Gabor变换 ,是最优的STFT.Gabor变换的本质上还是对二维图像求卷积。Gabor变换在一定程度上解决了局部分析的问题,但对于突变信号和非平稳信号仍难以得到满意的结果。
缺陷:1)Gabor变换的时频窗口大小、形状不变,只有位置变化,而实际应用中常常希望时频窗口的大小、形状要随频率的变化而变化,
2)Gabor变换基函数不能成为正交系,因此为了不丢失信息,在信号分析或数值计算时必须采用非正交的冗余基,这就增加了不必要的计算量和存储量。
LBP特征:局部二值模式是结合了纹理图像结构和像素统计关系的纹理特征描述方法
作用:一种有效的纹理描述算子:度量和提取图像局部的纹理信息,记录像素点与其周围像素点的对比信息。
优点:对光照具有不变性。具有旋转不变性。灰度不变性等
形状描述符应具备:独特性 完备性 可计算性 几何不变性 灵活性 抽象性 鲁棒性
前期工作:图像增强 图像分割 物体检测 形状识别
形状的描述符大体可以分为两大类:
(1)是描述形状目标区域边界轮廓的像素集合,称为基于轮廓的形状描述符;
(2)称为基于区域的形状描述符,是对形状目标区域内所有像素集合的描述;
链码 chain code:形状描述符中最常用的方法之一,用一串数字表示图像中目标的边界
优点:链码可以有效的描述轮廓形状而且可以大大减少边界所需要的数据量
缺点:链码对起始点要求很高;链码本身不具有旋转不变性;对噪声和边界线段的缺陷也很敏感,
基于网格的方法:将图像形状边界映射到一个标准的网格上,并将该形状边界调整到网格左上角,然后从左向右,从上到下扫描网格,若某个单元格被形状边界全部或者部分覆盖,则赋值1,否则赋值0,这样就得到了一个0.1组成的串,用来表征形状特征。
该方法具有平移不变性,但是不具有旋转和尺度不变性
傅立叶描述子:傅立叶级数中的一系列系数z(k)是直接与边界曲线的形状有关的
优点:①仅用一些低频分量就可以近似的描述轮廓形状,
②具有易于计算、容易归一化、匹配简单
③易获得全局和局部特征等许多优点;
缺点:①是对轮廓上感兴趣的部分,如有无遮挡,由于映射到全部系数中而看不到了。
②对于轮廓有较锐的变化或被区分对象仅有微小差别的识别问题来说,这种方法就不理想了。
基于区域的形状描述符:几何参数,密度参数,区域的二维变换系数或者能量谱等
局部特征为什么重要:全局特征区分度不强,所以要用局部特征
hog特征定义:一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。通过计算和统计图像局部区域的梯度方向直方图来构成特征。在行人检测中获得了极大的成功。
HOG主要思想: 在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。
本质:梯度的统计信息,而梯度主要存在于边缘的地方。
HOG特征提取算法的实现过程:1)灰度化2)归一化3)计算图像每个像素的梯度
4)将图像划分成小cells 5)统计每个cell的梯度直方图6)将每几个cell组成一个block(不是连起来的)7)将图像image内的所有block的HOG特征descriptor串联起来
优点: 它对图像几何的和光学的形变都能保持很好的不变性。可以容许行人有一些细微的肢体动作,这些细微的动作可以被忽略而不影响检测效果。
SIFT特征:在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量。
应用范围:物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比对
SIFT算法四个步骤:1.建立尺度空间2.在尺度空间中检测极值点,并进行精确定位和筛选
3.特征点方向赋值4.计算特征描述子
优点:SIFT特征对旋转、尺度缩放、亮度等保持不变性
缺点:相对来说实时性还不够高。有时特征点较少。对边缘光滑的目标无法准确提取特征点。计算量大