语言模型

语言模型假设每个XML文档都会产生一个不同的模型,这个假设可以充许对每个XML文档运用统计原理来评估它的模型以及为每个XML文档打分。我们把每个XML文档看成是一组单词的序列,每个XML文档的语言模型是一组单词集合的概率分布。在大部分的时候,XML文档的概率分布被认为是多维的,例如,多维柏努利概率分布。一种简单而有效的计算单词w出现在XML文档的概率的方法是P(w |D):

tfw,D是单词w在XML文档中出现的次数,|D|是XML文档中单词的个数。

假设一个查询Q=q1,q2,…qk,由一系列单词q1,q2,…qk组成,则可以通过下面的公式,来计算查询Q与XML文档D之间的相似度:

分别计算每个XML文档和查询Q的相似度,然后根据结果排序。

但用这种方法计算有一个缺点,如果一个XML文档中,存在了查询Q中的大多数单词,但有一个单词不存在,这时计算出的P(Q|D)为0,显然这是不合理的,所以引入了平滑参数来防止这种情况发生,更改后的公式为:

cfw为XML文档集合中单词w出现的频数,|C|为XML文档集合中单词的总数,λ为平滑参数,且0≤λ≤1。

2.3.2 Lemur的检索模型

Lemur的检索模型结合了语言模型和inference network框架,语言模型和inference network已经分别被研究和应用很长一段时间了,但把这两者结合起来是Lemur的新颖之处。这样可以结合两主面的优点,并扩大两者的应用范围。

下图是一个检索模型的例子,整幅图就是一个inference network,图中的结点表示随机变量,当假设这些随机变量是独立的时候,就可以在结点之间表边表示这种独立性。

inference network主要由以下几部分组成:

Document node (D)

Smoothing parameter nodes (alpha, beta)

Model nodes (M)

Representation concept nodes (r)

Belief nodes (q)

Information need node (I)

Document node 是一个代表文档的随机变量,文档可以表示成多种实式,但在本模型中,文档一般表示成多维二元向量。

Smoothing parameter nodes 在本模型中对应平滑参数,每个Model node都有对应的Smoothing parameter nodes。

Model nodes 也可以称为feature language models,它负责平滑由文档表示的多维柏努利分布,在一个network也许有多个Model node。

Representation concept nodes 是二元变量,对应Document node中的每个二元向量。

Belief nodes 可把network中的不同的belief 通过不同的方法结合起来,Belief node可把别的Representation concept node或Belief node的belief结合起来。

Information need node 可把Belief nodes通过运算形成最终要返回的结果。

Indri中belief的计算采用的是Dirichlet方法:

其中µ为常数因子,tfr,D表示结点 r在文档D中的频数,|D|表示文档D的长度,P(r | C)表示结点 r在文档集C中的概率。

Lemur的查询执行相关推荐

  1. mysql查询解析过程_MySQL查询执行过程详解

    查询是用户通过设置某些查询条件,从表或其他查询中选取全部或者部分数据,以表的形式显示数据供用户浏览.查询是一个独立的.功能强大的.具有计算功能和条件检索功能的数据库对象.MySQL数据库中,MySQL ...

  2. bs架构与cs架构的区别_Oracle vs Mysql--架构、sql查询执行流程及SQL解析顺序区别说明...

    概述 之前分享的主要是Oracle上的一些内容,那么mysql又有哪些地方不一样呢?下面从MySQL总体架构.sql查询执行流程和语句执行顺序来看一下.. 01 架构总览 下面看一下mysql的架构图 ...

  3. 数据库系统实现 第六章 查询执行

    第六章 查询执行 查询执行也就是操作数据库的算法 一次查询的过程: 查询-->查询编译(第七章)-->查询执行(第六章)-->数据 查询编译预览 查询编译可以分为三个步骤: a)分析 ...

  4. mysql 查询执行计划_mysql8 参考手册--了解查询执行计划,使用EXPLAIN优化查询

    根据表,列,索引的详细信息以及WHERE子句中的条件,MySQL优化器考虑了许多技术来有效执行SQL查询中涉及的查找.无需读取所有行即可执行对巨大表的查询:可以执行涉及多个表的联接,而无需比较行的每个 ...

  5. oracle和mysql文件怎么打开_Oracle vs Mysql--架构、sql查询执行流程及SQL解析顺序区别说明-sql文件怎么打开...

    概述 之前分享的主要是Oracle上的一些内容,那么mysql又有哪些地方不一样呢?下面从MySQL总体架构.sql查询执行流程和语句执行顺序来看一下.. 01 架构总览 下面看一下mysql的架构图 ...

  6. LINQ 的查询执行何时是延迟执行,何时是立即执行,以及查询的复用

    延迟执行的经典例子: 我们用 select ++i 就可以看到在foreach 时候,查询才被执行. public static void Linq99() {     int[] numbers = ...

  7. 步步深入:MySQL架构总览-gt;查询执行流程-gt;SQL解析顺序

    转载自 https://www.cnblogs.com/annsshadow/p/5037667.html 前言: 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料 ...

  8. 如何查询spark版本_掌握Spark SQL中的查询执行

    了解您的查询计划 自从Spark 2.x以来,由于SQL和声明性DataFrame API,在Spark中查询数据已成为一种奢侈. 仅使用几行高级代码就可以表达非常复杂的逻辑并执行复杂的转换. API ...

  9. 步步深入MySQL:架构-查询执行流程-SQL解析顺序

    一.前言 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了. 本文将从MySQL总体架构--->查询执行流程--->语句执行顺序 ...

最新文章

  1. 关于如何升级gcc版本及相关的标准库问题
  2. Delphi应用程序在命令行下带参数执行返回命令行提示的问题
  3. python爬取新闻网站内容_python爬虫案例:抓取网易新闻
  4. Spring Boot————单元测试
  5. 【计算机组成原理】指令系统
  6. c++--类的作用域
  7. 5 句话,带你看准区块链和分布式账本最新趋势!
  8. TCP三次握手四次挥手介绍
  9. POJ--3268 Silver Cow Party(最短路)
  10. IT项目管理之第9章 项目沟通管理习题之案例分析汇总
  11. Opencv图像识别从零到精通(34)---SIFI
  12. 实验报告三 密码破解技术
  13. 杜甫水平最高的10首五律
  14. 智慧工厂之化工厂人员定位中的智能访客管理系统-新导智能
  15. 视频(mp4文件)批量转换成动图(gif文件)
  16. ti8148 dvrrdk开发小结
  17. 利用开放的isbn查询Api接口录入图书信息,工作效率倍增
  18. 解决listview条目错乱问题
  19. Snails 1.0正式发布
  20. xcode 可以打开xmind_XMind 推出的轻量化脑图工具,时隔两年迎来大版本更新:Lighten 2...

热门文章

  1. 持续加码娱乐化零售,“真快乐”APP驶入“快车道”
  2. HDMI-USB视频采集卡使用教程
  3. 新电脑重装系统好吗?电脑重装系统的好坏
  4. 使用libcurl库把域名转化IP
  5. Java实现服务器和客户端简单通信
  6. C++学习笔记问题大全【整理】
  7. 架构分析:「转转云平台」的 Kubernetes 实践
  8. 全球及中国深紫外LED行业十四五规划及前景战略研究报告2021-2027年版
  9. Java开发进阶10本必备书单
  10. PHP之道 - php各方面的知识汇总