文章目录
- 一、绪论
- 二、文本检索 (Text Retrieval)
-
- [(一) 索引](#(一) 索引)
- [(二) 信息检索模型 (IR模型,Information Retrieval)](#(二) 信息检索模型 (IR模型,Information Retrieval))
- [(三) 查询扩展](#(三) 查询扩展)
-
- [1.相关反馈 Relevance feedback](#1.相关反馈 Relevance feedback)
- 2.查询扩展 (Quety expansion)
- (四)Web检索 (Web Search)
- 三、图像检索 (Image Retrieval)
-
- [1.检索方式 / 研究历程](#1.检索方式 / 研究历程)
-
- [(1)文搜图:Text-Based Image Retrieval (TBIR)](#(1)文搜图:Text-Based Image Retrieval (TBIR))
- [(2)图搜图:Content-Based Image Retrieval (CBIR)](#(2)图搜图:Content-Based Image Retrieval (CBIR))
- 2.图像的表示和存储:颜色直方图 (Color Histogram)
- 3.特征提取
- 4.检索
- 四、视频检索
- 五、多模态学习
- 六、跨媒体检索
一、绪论
SIGIR(Special Interest Group on Information Retrieval) 是由美国计算机协会(ACM)主办的一个专门关注信息检索(Information Retrieval,IR)研究的特别兴趣小组。
课程内容:
0.绪论
1.文本检索
2.图像检索
3.视频检索
4.多模态学习
5.跨媒体信息检索
多媒体
信息检索:Information Retrieval (IR)
检索系统的模型:布尔模型、向量模型、知识模型
多媒体信息检索:文本、图片、音频
问答系统
二、文本检索 (Text Retrieval)
(一) 索引
内容:文本信息检索、文本信息表示、索引构建、检索模型、查询扩展、检索系统评价
信息检索系统:检索 retrieve
1.倒排索引
倒排索引表:
词1:<文档1,权重1>,<文档2,权重2>,<文档3,权重3>,...
词2:<文档1,权重1>,<文档2,权重2>,<文档3,权重3>,...
词3:<文档1,权重1>,<文档2,权重2>,<文档3,权重3>,...
2.TF-IDF
缺点是不支持检索相同语义
(二) 信息检索模型 (IR模型,Information Retrieval)
信息检索的经典模型:布尔模型、向量空间模型、概率检索模型、语言模型、深度学习模型
1.布尔模型 (Boolean模型)
1.查找那些与某个查询词返回为"真"的文档
2.只考虑一个词是否出现,不考虑权重。
3.检索的结果不进行排序。
(1)扩展的布尔模型 (两个词)
(2)P-Norm模型 (多个词)
2.向量空间模型 (Vector Space Model,VSM)
向量空间模型(Vector Space Model, VSM) 是一种常用的信息检索和自然语言处理模型,它将文档和查询表示为多维空间中的向量,用于计算文档和查询之间的相似性,进而进行文档排序和检索。
Word2Vec
1.排序式检索(Ranked retrieval)
2.向量空间模型
3.TF-IDF
词的权重 (Term Weighting):
①一个词在一篇文章中出现的次数越多,权重w越大。即词频TF,term frequency。
②一个词出现过的文章越多,权重越小,如停用词 :的。即文档频率DF,document frequency。
(1)TF的加权公式
(2)IDF的加权公式
I D F = log 2 ( n 1 + D F ) IDF=\log_2(\dfrac{n}{1+DF}) IDF=log2(1+DFn)
n为文档总数,DF为该词出现过的文档个数,分母+1是为了防止分母为0
(3)权重的归一化处理:
4.余弦相似度
常用的相似度计算
5.向量空间模型的优缺点
(1)优点:
①简单直观、检索效果不错
②支持部分匹配和近似匹配,结果可以排序
(2)缺点:
①理论上不够严谨,往往基于直觉的经验性公式
②词项之间的独立性假设与实际不符:实际上,词项的出现之间是有关系的,并不是完全独立的。如:"王励勤" "乒乓球"的出现不是独立的。
3.概率检索模型
1.概率排序与原理PRP
2.几种概率检索模型
(1)基于语言模型的检索SLM
(1)基于语言模型的检索:统计语言模型(SLM)
①SLM的分类:查询似然模型QLM、翻译模型、KL距离模型
查询似然模型QLM
两种文本生成模型:①多元贝努利模型 ②多项式模型
基本的QLM模型不能解决词语失配(word mismatch)问题,即查询中的用词和文档中的用词不一致,如:电脑 vs. 计算机
(2)潜在语义索引 (LSI,Latent Semantic Indexing)
奇异值 (singular value,SV)
奇异值分解 (Singular Value Decomposition, SVD)
(3)学习排序 (Learning to Rank)
4.评估方法
(1)正确率(Precision,P)
P = 相关文档/全部文档
(2)召回率(Recall,R)
召回的文档越多,召回率越高。
在检索中,召回率其实比精度更重要一些。
(3)正确率 vs 召回率
正确率在误报 (False Positives)代价较高时更重要。例如,在垃圾邮件检测中,错误将正常邮件标记为垃圾邮件是代价较高的,因此更关注正确率。
召回率在漏报 (False Negatives)代价 较高时更重要。例如,在疾病筛查中,漏掉实际患病的患者可能有严重后果,因此更关注召回率。
正确率与召回率折中,两者一般是负相关。
(三) 查询扩展
提高召回率的两种方法:①相关反馈 ②查询扩展
1.相关反馈 Relevance feedback
(1)Rocchio算法
1.概念
Rocchio算法是一种经典的信息检索算法,基于向量空间模型,用于文本分类和查询优化。它最初由 J.J. Rocchio 在1971年提出,主要用于相关反馈(Relevance Feedback)场景,帮助改进用户查询结果的准确性。
2.公式
2.查询扩展 (Quety expansion)
(四)Web检索 (Web Search)
1.搜索引擎
1.搜索是Web上使用最多的应用之一
2.没有搜索引擎,Web甚至无法运转
(1)没有搜索,很难找到所需的内容
(2)没有搜索,在Web上创建内容也就缺了动机
①如果没人看为什么要发布内容?
②如果没有任何回报为什么要发布内容?
(3)Web运转必须要有人买单
①服务器、Web基础设施、内容创建过程等需要费用支持
②这些费用的大部分都是通过搜索广告支付
③可以说,搜索为Web买单
3.Web IR vs. 一般的IR
(1)搜索是Web的关键事物:筹资、内容创建、兴趣聚合等等 → 搜索广告
(2)Web是一个充满噪声数据且组织失调的集合体 → 大量的重复需要检测
(3)用户可以无控制和无限制地发布内容→ 大量作弊内容需要检测
(4)Web规模非常大 → 需要知道Web的规模大小
2.互联网广告
1.传统广告存在问题
2.互联网广告的优点
3.互联网广告的主要形式
①图片广告
②文本广告
③搜索广告
④网页广告
4.互联网广告中的利益三方
5.搜索广告历史
(1)第一代搜索广告: Goto (1996) 竞价排名
(2)第二代搜索广告: Google (2000/2001)
①严格区分搜索结果和搜索广告
②两个列表结果: web 网页 (左图) 及广告 (右图)
6.如何对广告排序?
对于搜索引擎公司,只有当用户点击广告,广告公司才会付费。
那么将付费最高的广告放在最上面,是否收益最高呢?其实不一定,因为无脑将广告放在最上面,可能与用户的搜索词不相关,导致点击率不高,且引起用户体验差,造成用户流失到其他搜索引擎。
谷歌考虑将关键词相关度进行排序,无关的广告将得到很低的排名,短期内降低了搜索引擎的收益,但是长期来看是将该搜索引擎的用户接受度和整体利益最大化的。
▪ 广告商对关键词竞标 -- 拍卖方式
▪ 拍卖系统公开,任何人都可以参与关键词竞标
▪ 广告商仅在用户点击广告才真正付费
▪ 拍卖机制如何确定某条广告的排序以及该广告的支付价格?
▪ 基本思路是次高价拍卖(second price auction)原则
▪ 搜索引擎中最重要的研究领域之一---计算广告学。对每条广告压榨出一分钱也就意味着为搜索引擎公司带来上亿的额外收益
▪ 简单的方法: 按照类似Goto的方式,即按照投标价格排序▪ 不好的方法: 可能会被滥用
▪ 例如: query [does my husband cheat?] → 有关离婚律师的广告
▪ 我们并不想得到相关性上无关的广告
▪ 替代方法: 按照投标价格和相关性排序
▪ 相关度度量的关键指标:点击率(clickthrough rate)
▪ clickthrough rate = CTR = clicks per impressions
▪ 结果:无关的广告将得到很低的排名
▪ 即使在短期时间内降低了搜索引擎的收益
▪ 希望:如果用户能通过系统获得有价值的信息,那么系统的总体接受程度和整体收益将最大化
▪ 其他排序因子:位置、一天内的时间、着陆页(landing page)的质量和装载速度
▪ 最主要的排序因子:查询
3.采集器
采集器(Crawler 或 Web Scraper)是一种自动化的软件工具,用于从互联网上收集数据。采集器通常会根据预先设定的规则,自动访问网页,提取指定的信息,并将其保存下来,以供后续处理和分析。采集器被广泛应用于数据分析、搜索引擎、价格监控、内容聚合等领域。以下是采集器的一些基本介绍和工作原理。
1.采集器的类型
(1)Web Crawler(网络爬虫)
(2)Web Scraper(网页采集器)
2.采集器的工作原理
采集器的工作流程通常包括以下几个步骤:
(1)发送HTTP请求
采集器首先向目标网页发送HTTP请求(如GET请求),请求获取页面的HTML内容。
(2)解析网页内容
收到响应后,采集器会解析HTML文档,通过解析器(如BeautifulSoup或lxml)识别网页的结构(如标签、属性等),从中提取出有用的信息。
(3)数据提取
采集器根据用户定义的规则,提取特定的文本、图像、链接或其他数据。这可以通过CSS选择器、XPath等技术来实现。
(4)数据存储
采集到的数据会被保存到本地文件、数据库或其他存储系统中,便于后续的处理和分析。
(5)处理和循环
采集器通常会循环执行上述步骤,处理一组链接或页面,从而实现批量数据采集。
基本的采集架构
分布式采集器
4.重复检测
5.搜索结果排序
(1)锚文本
(2)引用分析
(3)网页排序 (PageRank)
只考虑每个页面只有一个权值
网页的PageRank与查询主题无关,可以事先算好,因此适合于大型搜索引擎的应用。
(4)HITS: Hub节点&Authority节点
IBM的HITS算法,HITS(Hyperlink-Induced Topic Search)
HITS算法的计算与查询主题相关,检索之后再进行计算,因此,不适合于大型搜索引擎。
三、图像检索 (Image Retrieval)
1.检索方式 / 研究历程
(1)文搜图:Text-Based Image Retrieval (TBIR)
TBIR:基于文本的图像检索,诞生于1970s。依赖于自然语言处理(NLP)和文本匹配技术。图像的文本描述需要手动标注或通过自动生成技术生成。
通过与图像相关的文本信息(如标签、标题、描述等)来检索图像。例如,在图像上传时添加的关键词标签,或在数据库中存储的描述性文字,用户使用关键词进行查询,系统会根据文本内容检索相关的图像。TBIR对图像内容本身并不分析。
(2)图搜图:Content-Based Image Retrieval (CBIR)
CBIR:基于图像的图像检索,诞生于1990s。依赖于计算机视觉(CV)技术,如图像特征提取(卷积神经网络等)和模式匹配技术。图像通过算法自动提取视觉特征,无需依赖人工标注。
基于图像的视觉内容(如颜色、纹理、形状等)来检索图像。用户可以提供一个示例图像,或使用颜色、形状等特征作为查询条件,系统会从数据库中自动分析图像的内容并匹配相似的图像。CBIR完全依赖于图像的视觉特征,而不需要依赖文本信息。
2.图像的表示和存储:颜色直方图 (Color Histogram)
1.颜色直方图:corlor histogram
基于网格的直方图:grid-based histogram
纹理特征:textural features。基于灰度图进行提取。
(数字图像处理中的)边缘检测:Edge detector。边缘,就是有很大梯变化的位置。
2.位图、矢量图
3.灰度图
3.特征提取
(1)传统特征
①全局特征 (global features)
◼ 描述整幅图像的特征,颜色/纹理/...
◼ 适用于大规模数据库的图像拷贝检测等
◼ 对背景复杂的图像效果不佳
②局部特征 (local features)
(1)SIFT (Scale Invariant Feature Transform):尺度不变特征转换
(2)词袋直方图:Bag-of-Words histogram:稀疏向量
词袋模型(Bag of Words, BOW):记录每个词在文本中出现的次数,也就是词频字典。
①embedding方法可以捕捉文本的语义特征,使得相似含义的文本可以被表示为相似的向量。这种方法超越了传统词袋模型(Bag of Words),可以有效捕捉语境、词序等复杂特征。
②embedding vector 是一种低维、密集的数值表示,保留了数据的核心特征,便于在机器学习任务中使用。它将高维复杂数据转换为可以进行数学运算的向量,极大地提升了模型的计算效率和性能,使得在多种任务中都能实现高效的语义匹配和分类等操作。
(2)CNN
CNN,卷积神经网络,convolutional neural network
AlexNet,2012
CNN:Convolutional Neural Networks,卷积神经网络
◼ AlexNet
◼ GooLeNet
◼ ResNet
◼ Inception-v3
◼ VGG
RNN:Recurrent Neural Network,循环神经网络
4.检索
1.Bag of Features
2.Hamming Embedding
3.Fisher Vector
4.VLAD
5.High-dimensional Indexing
6.Space partitioning: Quad-tree、Quad-tree Nearest Neighbor Search
7.Curse of Dimensionality
8.Locality-Sensitive Hashing 位置敏感的哈希
若在高维空间中,x与y距离较近,则x与y的哈希值相等的概率较高。反之,若x与y较远,则相等的概率较低。
9.Search by Text
10.Image Textual Annotation、Search based on Textual Annotation
11.Datasets (数据集):ImageNet、UKBench、INRIA Holidays、Oxford-5K、Paris-6k、MIR-FLICKR
四、视频检索
0.任务
TRECVID(Text REtrieval Conference Video Retrieval Evaluation)是一个面向视频信息检索和分析的年度评测活动,旨在促进视频检索技术的发展
1.视频结构分析
1.物体检测与识别:
使用深度学习模型(如YOLO、Faster R-CNN等)识别视频中的特定物体
2.基于深度学习的检索:
使用预训练的深度学习模型(如ResNet、Inception等)进行特征学习和提取,提高检索的准确性。
采用生成对抗网络(GAN)和自注意力机制等先进技术增强视频特征。
2.特征提取和表示
1.视觉特征:包括颜色、纹理、形状等,常用算法有SIFT、SURF、HOG等。
(1)光流
Optical Flow光流
①利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息
②所谓光流就是瞬时速率,在时间间隔很小(比如视频的连续前后两帧之间)时,也等同于目标点的位移
③一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的
④光流表达了图像的变化,由于它包含了目标运动的信息,因此可被观察者用来确定目标的运动情况
光流场
所谓光流场就是很 多光流的集合。
当我们计算出了一 幅图片中每个图像 的光流,就能形成 光流场。
构建光流场是试图 重现现实世界中的 运动场,用于运动 分析。
(1)优点
①无须了解场景的信息,就可以准确地检测识别运动目标位置,且在摄像机处于运动的情
况下仍然适用
(2)缺点:
①约束条件:亮度不变,小运动
②计算耗时长
(2)3D CNN
降采样层(sub-sampling S3): 在该层采用max pooling操作,降采样之后的特征maps数量保持不变,因此S3层的特征maps数量为:23 *2
(3)视频序列分析
1.EMD
①给定两个序列,把一个变成另一个所需要的最小工作量,即是两个序列间的距离
②可以用作比较图片、视频等
EMD(Earth Mover's Distance)中文称为"地球搬运距离"或"最小成本流距离",是一种衡量两个概率分布之间距离的计算方法。它最早应用于图像处理,特别是在比较两个图像的颜色分布上,后来逐步在其他领域(如自然语言处理、数据聚类、信号处理)广泛应用。
EMD的原理可以理解为"搬运"一个分布的质量来匹配另一个分布,使得总"搬运距离"最小。具体来说,EMD是在解决两个分布之间的"最小化搬运成本"问题.
2.Pyramid Matching
①Spatial Pyramid Matching (SPM)
②Temporal Pyramid Matching(TPM)
③Spatio-Temporal Pyramid Matching (STPM)
3.HMM
①隐马尔可夫模型(Hidden Markov Model,HMM)作为一种统计分析模型,创立于20世纪70年代
②80年代成为信号处理的一个重要方向,成功地用于语音识别,行为识别,文字识别以及故障诊断等领域。
①隐马尔可夫模型(Hidden Markov Model,HMM)
②最大熵马尔可夫模型(Maximum Entropy Markov Model,MEMM)
③条件随机场(Conditional Random Field,CRF)
4.LSTM
长短期记忆(Long short-term memory,LSTM)是一种特殊的RNN,主要是为了解决传统RNN长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现
5.Transformer
①Seq2seq
②Encoder
③Decoder
④Multi-head attention
3.动作识别 (Video Action Recognition)
1.数据类型 (Data type)
①颜色:RGB
②颜色+深度:RGB+Depth
③骨骼:Skeleton
2.应用场景
①安防监控
②驾驶员姿势分析
③城市行为治理
3.数据集
4.内容
(1)传统特征:HOG
(2)深度学习方法
①One-stream:LRCN、C3D、C3D+Attention、MiCT、OFF(光流引导特征,商汤科技)
②Two-stream:Two stream fusion、TSN、VLAD、HiddenTwoStream、T3D
③3D convolution
④Skeleton-based:ST-GCN
五、多模态学习
1.多模态机器学习
进一步接近人的智能。人在生活中的感知是多元的,包括视觉、听觉、触觉、味觉、嗅觉等等。任何感知能力的缺失都有可能造成智力或能力的异常。人和动物通过视、听、说等途径感知和学习,本质上是多模态学习。近些年,多模态机器学习进一步成为人工智能的研究热点。
模态是指事物发生或存在的方式。每一种信息的来源或者形式,都可以称为一种模态(Modality)。多模态是指两个或者两个以上的模态的各种形式的组合。目前研究领域中包括文本,图像,语音等模态的处理。
多模态机器学习(Multimodal Machine Learning) 为机器提供多模态数据处理能力。例如,看图说话,看电影翻译。
多模态机器学习主要有五个方面的工作:
①Representation 学习如何更好的提取和表示多模态数据的特征信息,以利用多模态数据的互补性
②Translation 主要任务是如何将数据从一种模态转换映射)到另一种模态
③Alignment 主要任务是识别在两种或更多不同模态的元素之间的直接关系
④Fusion 主要任务是将来自两种或两种以上模态的信息结合起来进行预测
⑤Co-learning 协同学习是在不同模态数据、特征和模型之间转移知识
2.多模态表示
(1)联合特征表示(Joint representations)
将各模态信息映射到相同的特征空间中
1.概率图模型(Probabilistic graphical models)
①最流行的基于概率图模型的特征表示方法是深度玻尔兹曼机器(DBM)
②与神经网络类似,模型是通过堆叠受限玻尔兹曼机器(RBM)形成
③DBM的优势在于它们不需要有监督数据进行训练。此外,DBM可以很好的处理缺失数据。
④DBM的缺点在于需要消耗巨大的计算成本
2.序列特征表示 模型(Sequential Representation)
①序列特征表示主要用于可变长度的序列的场景,比如文本、视频或音频 。
②序列多模态特征表示主要用的是循环神经网络 (RNNs )及其变体,如长短期记忆 (LSTMs )网络。
③早期的研究工作主要将RNNs构造多模态特征表示使用在AVSR上。也被用于情感识别 和人类行为分析
(2)协同特征表示(coordinated representations)
分别映射每个模态的信息,但是要保证映射后的每个模态之间存在一定的约束,使它们进入所谓的协同空间。
①协同特征表示是为每个模态学习单独的特征提取模型,通过一个约束来协同不同的模态
②更适合于在测试时只有一种模态数据的任务,如:多模态检索和翻译。
③主要分为基于相似性的模型和结构化协调空间模型
六、跨媒体检索
跨媒体检索(Cross-Media Retrieval) 是一种信息检索技术,旨在通过一种媒体形式查询,获取其他类型媒体形式的相关内容。换句话说,跨媒体检索突破了传统检索中同类型数据匹配的限制,允许用户以一种类型的输入(如图片、文本、视频等),来检索其他类型的相关数据(如用文本描述来检索相关的图像或视频)。
在现代信息社会中,随着社交网络、视频共享平台等的兴起,各类媒体形式(如图片、视频、文本、音频等)迅速增长,产生了海量的跨媒体数据。跨媒体检索是为了使得用户可以利用一种类型的数据来查找相关的其他类型数据,从而使得不同类型的媒体数据之间能够互联互通。
文本检索图像:用户输入一句文本描述,检索出符合描述的图片。
图像检索视频:用户输入一张图片,系统找到与之相关的视频。
语音检索图像:用户用语音描述一个场景,系统返回匹配的图片。