当前位置: 首页 > 后端技术 > Node.js

信息检索课程实验笔记

时间:2023-04-03 19:44:05 Node.js

注:前端无关---只是用node实现如何爬取网站数据(大学课程实验)网页索引与检索实验目的l了解工作原理及实现搜索引擎的方法;l熟悉倒排索引的创建;l掌握查询处理技术。实验要求l独立或合作(1~2人)完成实验内容;l独立完成实验报告;(简单要求如下)1)实验的目的、内容和要求以及实验环境的描述;2)索引和检索系统Framework的设计思路和总体设计;3)(负责部分)具体实现的程序结构和流程分析,提供主要数据结构、功能分析等;4)实验结果分析;5)系统的优缺点,需要改进的地方;6)在实验过程中遇到的问题和实验的体会。实验内容3.1倒排索引(1)网页预处理。对实验一采集的网页数据进行预处理,包括:网页去噪和文本信息提取、中文分词、停用词处理等。(2)设计并创建倒排索引。对于每个索引术语,至少应记录其文档频率(df)。设计嵌入文件的数据结构,至少记录每个词在每个文档中出现的次数,即词频(tf)。同时,对于每一个文档,记录其文档长度。(3)针对索引过程,生成相关统计信息,如:创建索引所需时间、索引大小、词表长度、df值最大的词列表大小等.(可选)3.2检索系统(1)设计并实现一个简单的检索系统,可以输入搜索词,输出查询结果,按相关性排序。(2)对于指定的查询词(IR2019querywords.txt),给出每个查询结果的排名和相似度得分。提交的结果将被评估。提交的结果文件由查询结果的数据块组成。每个查询词对应一个结果数据块,每个查询词提交10个查询结果。每个结果数据块的格式如下:第一行是查询词的序号,比如“TD01”,每行是一条查询结果记录,格式为:URL:规范化的URL网页的,如“http://www.scut.edu.cn/new/90...”Similarity:相似度得分每个数据块的十条记录按照相似度从高到低排序,每个数据块由空行分隔。(3)人工判断结果是否相关,然后根据判断结果使用评价指标Precision@10和MAP计算系统的检索性能指标。(可选)(4)使用各种查询处理技术来优化查询。并对所采用的不同技术的应用效果进行比较分析。(可选)提交内容l程序:包括源程序及注释、程序安装说明;l查询结果文件:查询词对应的查询结果汇总l实验报告:说明程序设计思路,对实验过程进行分析总结。参考资料l参考课程讲义的倒排索引、查询处理与检索评价、搜索引擎等章节;l开源索引系统Lucene:http://lucene.apache.org------------工作内容分解1生成反向索引文档2生成实验需要的结果(实验关键字txt)3web页面可以实时查询并生成关键结果4后台运行服务器的服务读取数据并返回数据优化工作1修改停用词列表2相同意思但有歧义的词3没有保存本地的词数据库4获取词频和词的位置5结果去重6使用db.txt存储数据参考文章:1http://nathanchen.github.io/1...2nodejs读写文件http:///javascript.ruanyifeng....3json格式网站https://www.bejson.com/logic注意:1writeFileSync会默认覆盖原来的内容