现代信息检索 Chapter 3:信息检索建模
1 信息检索模型 信息检索模型是一个四元组 [D,Q,F,R(q_i,d_i)] 。其中D(Document)是文档表示的集合,Q(Query)是查询表示的集合,F(Framework)是对文档、查询及其关系建模的框架,例如布尔框架、线性框架,R(Ranking)是排序函数,对于查询表达式 q_i\in Q 和文档表达式 d_i\in D ,函数返回文档 d_i 关于查询q_i的文档次序。
信息检索主要基于文本,文本模型也细分为是否考虑文本结构,所谓考虑文本结构就是区别对待标题、段落等文档不同结构处的内容。在web中,由于文档数量巨大,还需要考虑网页之间的链接,如今的web排序函数结合了经典的信息检索模型和基于链接模型的特征来提高检索性能。信息检索还可基于图像、音频等多媒体数据,检索策略更复杂。信息检索模型的分类体系见下图:
2 经典信息检索2.1 基本概念
索引项(index term):文档里的一个词或一组连续的词,主要是名词,因为名词相比于形容词、副词等往往能包含更多信息,具体的选择策略因人而异。
词汇表(vocabulary): V ...
现代信息检索 Chapter 2:用户搜索界面
人们如何搜索
信息查找(information lookup)类似于事实检索或问题回答,只需要简短而离散的信息。
探索式搜索(exploratory search)分为学习和调查两类,需要花费更长的时间并整合更多内容。
信息搜寻过程是由一系列相互关联但又不完全相同的搜索所组成的,搜索带来的主要价值体现在搜索过程中持续的学习和所获得的信息,而不只是最后的搜索结果。
信息搜寻过程的经典模型:明确问题->表达信息需求->构造查询->评价结果。经典模型假设用户的信息需求是静态的,最近的模型强调搜索过程的动态性,认为用户会根据搜索结果动态调整信息需求,这种动态过程有时称为搜索的采摘模型(berry picking model)。例如,用户给出一个快速、不精确的查询,近似得到信息空间的一部分内容,再进行一系列本地导航操作,从而获得更贴近用户兴趣的信息。有些搜索模型关注搜索策略,对搜索策略建模,预测用户的搜索行为。
除了传统的搜索框查询,还可以使用导航界面,让用户通过浏览导航和点击链接搜寻信息。
现今的搜索界面
启动搜寻:通常使用Web搜索引擎。导航网站逐渐被淘汰,一是 ...
现代信息检索 Chapter 1:引言
信息检索涉及对文档、网页、联机目录、结构化和半结构化记录及多媒体对象等信息项的表示、存储、组织和访问。信息项的表示和组织必须便于用户访问他们感兴趣的信息。
信息检索发展的关键阶段:书籍->图书馆->索引->计算机->排序技术和搜索引擎等现代研究内容
信息检索系统的主要目标是检出所有和用户查询相关的文档,并且把检出的不相关文档控制在最低限度。相关性的概念对信息检索至关重要。对相关性的评估没有固定标准,不存在能在任何时间给任何用户提供完美答案的检索系统。
检索任务可分为浏览和搜索,浏览是探索式检索,目标不太明确,搜索则相反。
信息检索系统的高层软件架构:
文档的索引、检索和排序过程:
Web流行的根源:出版自由。
Web对搜索的影响:网页爬取新技术,海量文档集和海量查询流量,相关性预测更复杂,从文字搜索转向结构化数据搜索,垃圾信息泛滥。
NSGA-III 算法实现与测试
1 绪论1.1 多目标优化问题
在实际问题中往往具有多个目标且需要同时满足,即在同一问题模型中同时存在几个非线性目标,而这些目标函数需要同时进行优化处理,并且这些目标又往往是互相冲突的,称这类问题称为多目标优化问题。设有 $m$ 个目标函数, $n$ 维决策变量,多目标优化问题可表示为:
\begin{split}
min\;y=&F(x)=(f_1(x),f_2(x),...,f_m(x))\\
subject\;to: &g_i(x)\le 0,i=1,2,...,p\\
&h_j(x)\le 0,i=1,2,...,q\\
&x\in D
\end{split}
其中 $x\in D$ 为 $n$ 维决策变量, $x=(x_1,x_2,…,x_n)$ , $x_i$ 表示第 $i$ 个决策变量, $D$ 为 $n$ 维决策空间。 $y\in S$ 为 $m$ 维目标变量, $S$ 为 $m$ 维解空间。 $F(x)$ 定义了 $m$ 个由决策空间向解空间映射的目标分量函数,其中 $f_i(x)$ 是目标函数 $F(x)$ 的第 $i$ 个目标分量。 $g_i(x)\le 0(i ...
Talent vs Luck 论文复现与分析
1 绪论1.1 原文内容简述
在 “Talent vs Luck: the role of randomness in success and failure” 这篇文章中,作者假设社会中人的才能服从正态分布,而人的资产服从长尾分布。作者使用数学模型模拟了运气因素在社会中的作用机制,建立人-事件-资产的交互模型量化了运气因素的作用效果。实验内容如下:
将1000个代表人类个体的点随机分布在一个二维空间中,实验模拟环境示意图如下。人类个体不会移动、重生或死亡。在模拟程序初始化时,为每个人类个体分配相同的资产值 $C = 10$ 。每个人类个体分配一个才能参数 $T$ , $T$ 服从参数 $\mu = 0.6$ 、 $\sigma = 0.1$ 的正态分布。才能值一旦确定终生不可变化,由于正态分布中会出现小于0和大于1的值,在此将所有小于0的值一律改为0,将所有大于1的值一律改为1,确保 $T$ 值在 $[0,1]$ 范围内。
一次模拟相当于40年的社会演化,代表人类个体由20岁到60岁的历程。将一次模拟分成80次迭代过程,一次迭代表示6个月的演化。每一次迭代开始前,初始化500个 ...
解决 anaconda3 安装 xgboost:/usr/lib/libstdc++.so.6:version 'GLIBCXX_3.4.14' not found问题
$ conda install libgcc
图像处理大作业
0 图像灰度化、直方图均衡、灰度线性拉伸
原理太简单,略~
1 图像的离散傅里叶变换与逆变换1.1 简介
离散傅里叶变换 (DFT),是傅里叶变换在时域和频域上都呈现离散的形式,将时域信号的采样变换为在离散时间傅里叶变换 (DTFT) 频域的采样。在形式上,变换两端 (时域和频域上) 的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。即使对有限长的离散信号作 DFT,也应当将其看作经过周期延拓成为周期信号再作变换。在实际应用中通常采用快速傅里叶变换 (FFT) 以高效计算 DFT。FFT的逆变换可通过共轭->FFT->共轭->缩放实现。
1.2 公式
1.3 基2 FFT算法原理
1.4 效果
2 图像的离散余弦变换与逆变换2.1 简介
离散余弦变换 (DCT for Discrete Cosine Transform) 是与傅里叶变换相关的一种变换,它类似于离散傅里叶变换 (DFT for Discrete Fourier Transform) , 但是只使用实数。离散余弦变换相当于一个长度大概是它两倍的离散傅里叶变换, ...
无聊的知识点之大数据
分布式理论基础CAP 定理
指的是在一个分布式系统中,Consistency (一致性)、Availability (可用性)、Partition tolerance (分区容错性)这三个基本需求,最多只能同时满足其中的2个。
Consistency:数据在多个副本之间能够保持一致的特性。
Availability:指系统提供的服务必须一直处于可用的状态,每次请求都能获取到非错的响应,但不保证获取的是最新数据。
Partition tolerance:指分布式系统在遇到任何网络分区故障的时候,仍能对外提供满足一致性和可用性的服务。
网络分区故障:不同的节点分布在不同的子网络中,由于一些网络故障,子网络之间不能正常通信,只有子网络内部可以正常通信,导致整个系统的环境被切分成了若干个孤立的区域,产生一些局部小集群。在极端情况下,这些局部小集群会独立完成原本需要整个分布式系统才能完成的功能,这就对分布式一致性提出类非常大的挑战。
为什么不能同时满足?
Consistency 是保证从每个节点读到的数据都是一致的,Availability是保证响应时间短,Partition toleranc ...
无聊的知识点之 Python
Python2 & Python3
py2的不等于可以用 != 和 <> 。py3 只能用 !=
py2的 print 是特殊语句,不用加括号。py3的 print 是函数,必须加括号。
py2默认编码是ASCII。py3默认编码是utf-8。使用 print sys.getdefaultencoding() 可以查看。
py2有Unicode数据类型,py3取消了。
py2有long类型,所以整数后面可以加L。py3取消了long类型。
py2有 input 和 raw_input 。py3中取消了py2的 input ,把 raw_input 更名为 input 。
py2的 range() 直接返回列表。py3的 range() 返回的是 range 类型的迭代器。
py2的 “/” 是整除,想得到浮点型的精确商需要把被除数或除数变成浮点数。py3的 “/” 是精确除法,“//” 是整除,即使把整除的两个数换成浮点数,结果也只是整除结果的浮点数表示,不是精确商。
py2有经典类和新式类。py3只有新式类。
py2的 super() 需要输入本身类名和自身作为 ...
无聊的知识点之数据库
概念事务
事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。
ACID :
原子性(Atomicity):事务的所有操作要么全部提交成功,要么全部失败回滚。
一致性(Consistency):数据库在事务执行前后都保持一致性状态。在一致性状态下,所有事务对同一个数据的读取结果都是相同的。
隔离性(Isolation):一个事务所做的修改在最终提交以前,对其它事务是不可见的。
持久性(Durability):一旦事务提交,则其所做的修改将会永远保存到数据库中。
ACID 的意义:
一致性保证了事务执行结果正确。
持久性保证了系统崩溃后数据不会丢失。
事务串行执行时,只要保证了原子性,就自然保证了一致性。
事务并行执行时,只有同时保证原子性与隔离性,才能保证一致性。
并发一致性问题
先假设以下所说的事务不满足ACID的隔离性原则,因为一切并发问题都是由于没有完全满足隔离性原则。
丢失修改:事务T1和T2对同一数据进行修改,T1和T2都读取了数据后,T1提交修改,由于T2是在T1提交前读的数据,所以没有考虑T1的 ...