【现代信息检索】国科大何苯老师现代信息检索课程作业 —— 第一次作业

1

考虑如下几篇文档:

文档1:new home sales top forecasts

文档2:home prices rise in june

文档3:increase in home sales in june

文档4:july new home sales rise

a. 画出文档集对应的词项-文档矩阵。

文档 1文档 2文档 3文档 4
forecasts1000
home1111
in0110
increase0010
july0001
june0110
new1001
prices0100
rise0101
sales1011
top1000

b. 画出该文档集的倒排索引。

在这里插入图片描述

c. 给定如下查询,返回的结果是什么?

rise AND new:rise 对应 0101,new 对应 1001,二者按位相与为 0001,因此查询返回文档4。

sales AND NOT (forecasts OR july):sales 对应 1011,forecasts 对应 1000,july 对应 0001,forecasts 与 july 按位相或取反为 0110,与 sales 按位相与为 0010,因此查询返回文档3。

2

写出倒排记录表 (777,17743,294068,31251336) 的 VB 编码以及 γ 编码。在可能的情况下对间距而不是文档 ID 编码。请以 8 位二进制串的方式写出这些编码。(γ 编码不考虑对 0 编码问题,仅对原始文档 ID 以及间隔进行编码)

文档 ID7771774329406831251336
间距1696627632530957268
VB 编码00000110 1000100100000001 00000100 1100011000010000 01101110 1110010100001110 01100001 00111101 11010100
γ 编码1111111110,100001001111111111111110,000010010001101111111111111111110,0000110111011001011111111111111111111111110,110110000101111011010100

3

给定以下词

a. 计算查询 “bord” 与图中每个包含 2-gram “or” 的词项之间的 2-gram Jaccard 系数, 并写出计算过程。

Jaccard 系数定义为集合 A A A B B B 的交集大小与 A A A B B B 的并集大小的比值,形式化地:
J ( A , B ) = ∣ A ∩ B ∣ ∣ A ∪ B ∣ = ∣ A ∩ B ∣ ∣ A ∣ + ∣ B ∣ − ∣ A ∩ B ∣ J(A,B) = \frac{|A\cap B|}{|A\cup B|} = \frac{|A\cap B|}{|A| + |B| - |A\cap B|} J(A,B)=ABAB=A+BABAB
当集合 A A A B B B 都为空时, J ( A , B ) J(A,B) J(A,B) 定义为 1 1 1

“bord”、“border”、“lord”、“morbid”和“sordid”对应的 2-gram 集合如下:

bord$b, bo, or, rd, d$
border$b, bo, or, rd, de, er, r$
lord$l, lo, or, rd, d$
morbid$m, mo, or, rb, bi, id, d$
sordid$s, so, or, rd, di, id, d$

由此,分别计算“bord”与“border”、“lord”、“morbid”、“sordid”对应 2-gram 集合的 Jaccard 系数:
J b o r d    &    b o r d e r = 4 5 + 7 − 4 = 1 2 J b o r d    &    l o r d = 3 5 + 5 − 3 = 3 7 J b o r d    &    m o r b i d = 2 5 + 7 − 2 = 1 5 J b o r d    &    s o r d i d = 3 5 + 7 − 3 = 1 3 \begin{align} J_{\rm bord\; \& \; border} &= \frac{4}{5+7-4}=\frac{1}{2} \notag\\ J_{\rm bord\; \& \; lord} &=\frac{3}{5+5-3}=\frac{3}{7} \notag\\ J_{\rm bord\; \& \; morbid} &=\frac{2}{5+7-2}=\frac{1}{5}\notag\\ J_{\rm bord\; \& \; sordid} &=\frac{3}{5+7-3}=\frac{1}{3}\notag\\ \end{align} Jbord&borderJbord&lordJbord&morbidJbord&sordid=5+744=21=5+533=73=5+722=51=5+733=31
标准答案:

b. 思考计算 k-gram(k>2)时,如何添加首尾标志符?(给出思路即可,不需要计算)

计算 k-gram 时会在序列前、后分别添加首、尾特殊标记,总共 k − 1 k-1 k1 对首尾标记。以 “bord” 的 3-gram 为例,添加特殊标记后变为“<S1><S2>bord</S2></S1>”,所以对应的 3-gram 集合为 {<S1><S2>b, <S2>bo, bor, ord, rd</S2>, d</S2></S1>},其中 <S1></S1> 和 <S2></S2> 为两对首尾特殊标记。

标准答案:

4

考虑表 1 中的 3 篇文档 Doc1、Doc2、Doc3 中几个词项的 tf 情况,表 2 为词项在所有文档中的 idf 值。

在这里插入图片描述

表 1    tf 值

表 2    idf 值

a. 计算所有词项 car、auto、insurance、best 的 tf-idf 值。

b. 试计算采用欧氏归一化方式处理后的文档向量,其中每个向量有 4 维,每维对应一个词项。

c. 对于查询 car insurance 计算 3 篇文档的得分并进行排序。查询词项的权重计算采用:查询中出现的词项权重为 1,否则为 0。

查询向量为

Query
car1
auto0
insurance1
best0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/233906.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java--DateTimeFormatter、Period、Duration

1.DateTimeFormatter 2.LocalDateTime提供的格式化、解析时间的方法 3.Period(一段时期) 可以用于计算两个LocalDate对象相差的年数、月数、天数。 4.Duration(持续时间) 可以用于计算两个时间对象相差的天数、小时数、分数、秒数、纳秒数&#xff1b;支持LocalTime、LocalDa…

linux通过命令切换用户

在Linux中&#xff0c;你可以使用su&#xff08;substitute user或switch user&#xff09;命令来切换用户。这个命令允许你临时或永久地以另一个用户的身份运行命令。以下是基本的用法&#xff1a; 基本切换到另一个用户&#xff08;需要密码&#xff09;&#xff1a;su [用户…

【数据结构】哈希表算法总结

知识概览&#xff08;哈希表&#xff09; 哈希表可以将一些值域较大的数映射到较小的空间内&#xff0c;通常用x mod 质数的方式进行映射。为什么用质数呢&#xff1f;这样的质数还要离2的整数幂尽量远。这可以从数学上证明&#xff0c;这样冲突最小。取余还是会出现冲突情况。…

智慧工地安全管理方案,智慧工地云平台源码,java项目源码

智慧工地安全管理方案&#xff0c;智慧工地云平台源码 智慧工地是一种以信息技术为手段&#xff0c;全面提升建筑施工过程的管理水平、提高工程质量和安全、降低工程成本和风险、提高施工效率和管理水平的智能化技术和系统。通过物联网、互联网、大数据、云计算等技术的应用&a…

跟着chatgpt一起学|clickhouse入门(3)MergeTree

跟着chatgpt一起学|2.clickhouse入门&#xff08;1&#xff09;-CSDN博客 跟着chatgpt一起学|2.Clickhouse入门&#xff08;2&#xff09;-CSDN博客 chatgpt规划的学习路径如下&#xff1a; 3.MergeTree的分类和适用场景 MergeTree 引擎是 ClickHouse 中最为强大和多用途的引…

linux Ubuntu下,第一个C++程序访问数据库,遇到的问题,及解决办法

在ubuntu下安装了mysql&#xff0c;mysql以后&#xff0c;编写了第一个访问数据库的程序&#xff1a; #include <iostream> #include <string> #include <cstdlib> //for system #include <mysql.h>using namespace std;int main() {mysqlpp::Connect…

文心一言API(高级版)使用

文心一言API高级版使用 一、百度文心一言API(高级版)二、使用步骤1、接口2、请求参数3、请求参数示例4、接口 返回示例 三、 如何获取appKey和uid1、申请appKey:2、获取appKey和uid 四、重要说明 一、百度文心一言API(高级版) 基于百度文心一言语言大模型的智能文本对话AI机器…

C语言指针基础题(一)

目录 例题一题目解析答案 例题二题目解析答案 例题三题目解析答案 例题四题目解析答案 例题五题目解析答案 例题六题目解析答案 例题七题目解析答案 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 &#x1f412;&#x1f412;&#x1f412; 个人主页 &#x…

简易加减运算器的制作----数字电路设计(含proteus仿真)

简易加减运算器的制作 一、功能要求—基本功能 1、自制0-9按键&#xff0c;在一个LED数码管上稳定地显示当前按下的值。&#xff08;基本功能&#xff09; 2、增加、两个按键&#xff0c;实现0-9两个一位数的加法运算&#xff0c;同时在两位LED上稳定地显示运算结果。&#…

猿人学第一题 js混淆 双重加密(详解)

当我们点击分页的时候可以确定这个请求过程是ajax请求&#xff0c;所以直接使用抓包工具找到储存信息的请求。 找到这个请求之后&#xff0c;我们明显发现?后面的参数m是一个加密过的 由于这个请求属于ajax请求&#xff0c;现在我们可以直接使用xhr断点调试找到位置 打上断电…

基础漏洞流量分析

基础漏洞流量分析 sql注入 sql注入原理 SQL 注入的攻击行为可以描述为通过用户可控参数中注入 SQL 语法&#xff0c;破坏原有 SQL 结构&#xff0c;达到编写程序时意料之外结果的攻击行为。其成因可以归结为以下两个原因叠加造成的: 程序员在处理程序和数据库交互时&#x…

Redis | Redis入门学习介绍及常见原理剖析

关注wx&#xff1a;CodingTechWork Redis介绍 概述 Redis是NoSQL&#xff0c;是key-value分布式内存数据库。 缓存 缓存是将数据从慢的介质换到快的介质上&#xff0c;提高读写效率和性能&#xff0c;并降低数据库的读写成本。内存的速度一般都远远大于硬盘的速度&#xf…

arm-none-eabi-gcc not find

解决办法&#xff1a;安装&#xff1a;gcc-arm-none-eabi sudo apt install gcc-arm-none-eabi; 如果上边解决问题了就不用管了&#xff0c;如果解决不了&#xff0c;加上下面这句试试运气&#xff1a; $ sudo apt-get install lsb-core看吧方正我是运气还不错&#xff0c;感…

kafka学习笔记--如何保证生产者数据可靠、不重复、有序

本文内容来自尚硅谷B站公开教学视频&#xff0c;仅做个人总结、学习、复习使用&#xff0c;任何对此文章的引用&#xff0c;应当说明源出处为尚硅谷&#xff0c;不得用于商业用途。 如有侵权、联系速删 视频教程链接&#xff1a;【尚硅谷】Kafka3.x教程&#xff08;从入门到调优…

改进YOLOv8注意力系列一:结合ACmix、Biformer、BAM注意力机制

🗝️改进YOLOv8注意力系列一:结合ACmix、Biformer、BAM注意力机制 代码ACmixBiFormerBAMBlock加入方法各种yaml加入结构本文提供了改进 YOLOv8注意力系列包含不同的注意力机制以及多种加入方式,在本文中具有完整的代码和包含多种更有效加入YOLOv8中的yaml结构,读者可以获…

【flink番外篇】1、flink的23种常用算子介绍及详细示例(完整版)

Flink 系列文章 一、Flink 专栏 Flink 专栏系统介绍某一知识点&#xff0c;并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分&#xff0c;比如术语、架构、编程模型、编程指南、基本的…

Linux系统编程:进程间通信总结

管道 在Linux中&#xff0c;管道是一种进程间通信方式&#xff0c;它允许一个进程&#xff08;写入端&#xff09;将其输出直接连接到另一个进程&#xff08;读取端&#xff09;的输入。从本质上说&#xff0c;管道也是一种文件&#xff0c;但它又和一般的文件有所不同。 具体…

SpringMvc入坑系列(一)----maven插件启动tomcat

springboot傻瓜式教程用久了&#xff0c;回过来研究下SSM的工作流程&#xff0c;当然从Spring MVC开始&#xff0c;从傻瓜式入门处理请求和页面交互&#xff0c;再到后面深入源码分析。 本人写了一年多的后端和半年多的前端了。用的都是springbioot和vue&#xff0c;源码一直来…

【视频笔记】古人智慧与修行

古人的智慧 相由心生、老子悟道、佛祖成佛 多一些思考&#xff0c;多一些精神修炼。 除非我们今天能够产生与人类科技发展相并行的精神变革&#xff0c;否则永远可能也无法跳脱出历史的轮回。 视频来源

爬虫学习-基础库的使用(urllib库)

目录 一、urllib库介绍 二、request模块使用 &#xff08;1&#xff09;urlopen ①data参数 ②timeout参数 &#xff08;2&#xff09;request &#xff08;3&#xff09;高级用法 ①验证 ②代理 ③Cookie 三、处理异常 ①URLError ②HTTPError 四、解析链接 ①urlparse ②…