Ir-2025-spring
跳到导航
跳到搜索
信息检索综合实践
李正华
- 学生:计22计科图灵班 27人
- 助教:李星宇
- 时间:周二 6-9节(14:00-17:30)(1-17周)
- 地点:理工楼238
上课基本要求
- 不能做的事情:打游戏、看课程无关视频、刷网页
- 认真读作业要求,按时交作业。csteaching
- 不能抄袭别人或网上的,自己做;不要把自己的作业给别人
课程建议
- 每个作业,截止时间后,把成绩发给大家,并用ppt给大家讲一下批作业发现的问题,题目分析
- 上课期间:请大家积极提问。遇到大家都无法理解的公共问题,我会补充讲解
- 非上课时间提问
- 建议同学们在群里提问(包括但不限于代码的bug、不理解算法、作业资源和提交等),由其他同学帮助解答;
- 群里的提问如果其他同学也无法回答,可以私信助教(仅限xxx,如周三晚上7点到9点,星宇增加);
计算成绩的规则和说明
- 实验作业:70-80分
- 一系列作业,每个作业10-20分
- 必须按照规定时间,按照规定格式要求,将实验报告+源代码,提交到csteaching
- 期末面对面小测验:10分(待定)
- 考察课程相关的基础知识,看看作业是否是自己做的
- 平时成绩:10-20分
- 不能迟到、早退,特殊情况必须请假,并带辅导员签字的假条;
- 点名时,如果发现名单上没有你的名字,及时提出
提交作业说明
- 网址:csteaching
- 作业迟交了则最终成绩会按一定比例缩减
- 包含两部分
- 实验报告(pdf文件,请把word转为pdf)
- 请按照实验模版文件:ir-2022-spring-report.doc,认真填写个人信息、实验题目、实验内容等
- 不要大段粘贴代码,最多可以粘贴核心的一小段代码,粘贴大段代码会扣分
- 写清楚自己的解决思路,尤其是遇到的难点和如何解决
- 建议可以画流程图或者写伪代码。
- 解决思路的流程图中是以文字为主还是以代码为主?报告中不要直接放代码。文字为主,不在于写得长,而在于写清楚,表明你确实做了、想了。
- 问:流程图可以改成自然语言描述或者是伪代码吗?答:流程图也可以画的很high-level的。大家自由发挥。也可以画到纸上然后拍照截图。模块化思维 大问题分解小问题 。
- 将程序运行结果截图,没有运行结果会扣分,中间的输出结果/文件可以截图一部分
- 附件(.zip压缩包)
- 源代码:代码不要都团在一起,请用空行对代码进行分隔,并简单注释代码块的功能
- readme.txt文件:说明如何运行你的程序,需要什么环境,如windows或linux,python版本如python3.5
- 实验报告(pdf文件,请把word转为pdf)
- 提交前自我检查
- 是否有包含readme.txt文件解释如何编译执行你的程序。 如没有该文件,将减分。
- 是否认真完成实验报告
- 是否可以按照readme.txt正确编译和运行程序
- 是否包含别人的代码,抄袭和被抄袭的都是0分
- 期末可能会用软件做自动抄袭检查
- 等这学期最后几周,我们可能统一对所有的作业做自动查重,到时候也会查出一些问题。 请大家一定要自己做,编程能力差一点,就做得简单一点,能力强,就做得好一点。但是一定要自己做。
- 提交作业命名规则
- 实验报告(姓名学号.pdf)
- 附件(姓名学号.zip)
实验报告word模板
具体课程(含作业)
| 作业 | 成绩比例 | 评分要点 |
|---|---|---|
| 分字 | 5% | 按字节读取并判断高位 |
| 单词计数 | 5% | 无 |
| 最大匹配分词 | 10% | 算法和评价正确实现 |
| 网页正文抽取 | 10% | 按要求完成两个任务 |
| 倒排索引 | 10% | 高效创建倒排文件 |
| 布尔查询 | 10% | inter和union的复杂度为O(n),复杂查询用堆栈判断优先级 |
| 网页相关性排序 | 15% | 高效实现相似度计算 |
| 爬虫和某机构主页检索系统 | 25% | 实现爬虫,系统架构设计良好,说明文档详细,UI完整 |
| 基于深度学习的检索系统 | 10% | 实现viterbi |
信息检索课程介绍
- PPT下载
- 2022春视频和图片:
- 低画质:课程介绍
- 高画质:课程介绍-part1、 课程介绍-part2
- 图片:图
- 和2022年课程的区别:增加了基于深度学习的检索的内容,删除词性标注相关内容
信息检索系统介绍
- 2022春视频:信息检索系统介绍
具体作业
作业1:分字(C++语言)
1字节 0xxxxxxx 2字节 110xxxxx 10xxxxxx 3字节 1110xxxx 10xxxxxx 10xxxxxx 4字节 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 5字节 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 6字节 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
作业2:单词计数
作业3:最大匹配分词
- 作业提交时间截止时间:第5周3.25下课之前提交
- 课件:前向最大匹配 PDF文件--文件:Word-seg-max-match.pdf;PPT文件--文件:Word-seg-max-match.zip
- 2022春视频和图片:
- 数据下载:
- 字典:文件:Dict.txt
- 待分词:文件:Sentence.txt
- 正确答案(人工标注的,你的模型的预测结果要和这个文件进行对比,从而得到P/R/F值):文件:Answer.txt;
- 正向最大匹配分词模型的预测结果(如果你的程序写对了,那么应该和这个结果一模一样):文件:Out.txt
*正确实验结果 **正确识别的词数:20263 **识别出的总体个数:20397 **测试集中的总体个数:20454 **正确率:0.99343 **召回率:0.99066 **F值:0.99204
作业4:网页正文抽取
- 作业提交时间截止时间:x.x下课前提交
- 2022春视频: 作业4
- 课件(请严格按照课件要求完成作业):
- 数据
- 1.html和2.html 文件:ir-2022-spring-example-html.zip
- data-1k:1000个html文件 文件:ir-2022-spring-all-html.zip (如果文件出现乱码,请到qq群里下载)
作业5:倒排索引
- 作业提交时间截止时间:x.x下课前提交
- 课件:
- 仅供参考,与本次作业要求无关:文件:ir-2022-spring-inverted-index-simplified.ppt
- 2022春视频和图片:
- 数据
作业6:布尔查询
- 作业提交时间截止时间:x.x下课前提交
- 2022春视频和图片:
- 作业提交说明:
- 附件中给出本次作业使用的倒排索引文件(可以在作业5的基础上进行优化),不需要提供构建倒排索引的代码,但在实验报告中给出倒排索引文件的说明,参考侯皓文同学
- 交集、并集操作用inter()、union()这两个函数单独封装
- 对4个语句 'A', 'B', 'A AND B', 'A OR B' (A、B为自定义的查询词) 分别进行一次查询,每次的查询结果单独保存到一个txt文件中,以查询语句作为文件名(如 'A AND B.txt'`)
- 结果展示部分,文件按名字字母序排序:指字符序(用内置的sort即可),先用pinyin包转成拼音再排序也可以,不要自行改变文件名(如 阿大.txt -> 34.txt)
- 实现更复杂的查询,如:'A AND B OR C' 可以加分
- 查询词的加重(用#标记)不做强制要求,但做了加分
时间表
2.25 第1周 3.18 第4周 3.25 第5周 4.1 第6周 4.29 第10周 5.6 第11周 5.27 第14周 6.3 第15周 6.17 第17周 1 08:00-08:45 2 08:50-09:35 3 09:55-10:40 4 10:45-11:30 5 11:35-12:20 6 14:00-14:45 7 14:50-15:35 【休息5分钟,+15分钟】 8 15:55-16:40 9 16:45-17:30 【17:15】