IRDM课程项目第三部分RDM20222022年3月3日任务定义信息检索模型是许多应用程序(例如搜索、问答、推荐等)的重要组成部分。你在这个任务中的任务是开发一个信息检索模型来解决段落检索问题,即一个模型可以有效和高效地返回与给定查询相关的短文本(即段落)的排名列表。在这部分作业中,你的目标是改进你在第一部分中实现的基本模型。这是一个个人项目,因此,每个人都应该提交他们自己的项目报告。2DataThedatasetfromprevioustaskisavailablethroughthisurl并且可以通过此url获得用于训练和验证的数据集。我们的数据集由5个文件组成:?test-queries.tsv是一个制表符分隔的文件,其中每一行包含一个查询ID(qid)和查询(即查询文本)。?candidate_passages_top1000.tsv是一个制表符分隔的文件,包含文件test-queries.tsv中每个给定查询(因为它在作业的第一部分)的1000个段落的初始排名。该文件的格式是,其中qid是查询ID,pid是检索到的段落的ID,query是查询文本,passage是段落文本,所有制表符分隔。图1显示了文件中的一些示例行。?train_data.tsv和validation_data.tsv。这些是您将用于训练和验证的数据集。您需要在训练集上训练模型并评估模型在验证集上的性能。在这些数据集中,您将获得额外的相关列,指示段落与查询的相关性,这是您在训练和验证期间需要的。3子任务课程项目涉及需要解决的几个子任务。该项目的四个子任务如下所述。1IRDM课程P项目第II部分RDM20222022年3月3日图1:来自candidate_passages_top1000.tsv文件的样本行评估检索质量。(20分)实施计算平均精度和NDCG指标的方法。使用这些指标计算使用BM25作为检索模型的性能。你在这部分的分数将主要取决于指标的实现(与你对BM25的实现相反,因为我们已经将其作为第一个作业的一部分关注)。逻辑回归(LR)。(25分)表示基于词嵌入方法(例如Word2Vec、GloVe、FastText或ELMo)的段落和查询。通过平均该查询(/pasage)中所有单词的嵌入来计算查询(/passage)嵌入。使用这些查询和段落嵌入作为输入,实施逻辑回归模型来评估段落与给定查询的相关性。描述您如何执行输入处理和表示或使用的功能。使用你的指标在上一部分中已经实现,根据验证数据报告模型的性能。分析学习率对模型训练损失的影响。这部分逻辑回归算法的所有实现必须是您自己的。重要说明:?给定的训练数据量非常小,因此不会给您带来太大困难培训,但如果您对数据大小有任何疑问,请随时使用培训数据样本——您的分数将不取决于模型的性能,而是取决于正确的实施/做出的选择。?如果您认为有必要,您可以使用负采样来生成训练数据的子集(如果需要,可能与其他采样方法一起使用)。LambdaMART模型(LM)。(25分)使用XGBoostgradientboostinglibrary1中的LambdaMART[1]learningtorankalgo-rithm(我们在课堂上学习过的LambdaRank的变体)来学习一个可以重新排列段落的模型。您可以通过为目标参数设置适当的值来命令XG-Boost使用LambdaMART算法进行排名,如文档2中所述。您需要1https://xgboost.readthedocs.i...2https://xgboost.readthedocs。i...2IRDM课程项目第IIIRDM2022年2022年3月3日在此任务中进行超参数调整,并描述用于推导最佳性能模型的方法。使用您在第一部分中实施的指标,报告您的模型在验证数据上的性能。描述您如何执行输入处理,以及用作输入的表示/特征。神经网络模型(NN)。(30分)使用与上一个问题相同的训练数据表示,构建一个基于神经网络的模型,该模型可以对段落进行重新排序。您可以在此子任务中使用现有的包,即Tensorflow或PyTorch。通过描述您选择par的原因来证明您的选择特殊的架构以及它如何适合我们的问题。您可以在这部分使用不同类型的神经网络架构(例如前馈、卷积、循环和/或基于变压器的神经网络)。使用您在第一部分中实施的指标,报告您的模型在验证数据上的性能。描述您如何执行输入处理,以及使用的表示/特征。你在这部分的分数将取决于你为任务选择的模型的适当性,以及训练中使用的表示/特征。3.1提交测试结果。每个模型你应该有一个文件(名为LR.txt,LM.txt和NN.txt,分别),其中文件的格式是:...格式中的列宽并不重要,但重要的是每行正好有六列,并且列之间至少有一个空格.这种格式:第一列是查询编号。第二列当前未使用,应始终为“A1”,表示这是您提交的作业1。第三列是段落标识符。第四列是检索到的段落/文档的排名(从1开始,向下到100)。第五列显示生成排名的模型的分数(整数或浮点数)。第六列是指您用于检索的算法(可能是LR、LM或NN,具体取决于哪个您使用的模型).3IRDM课程项目第IIIRDM2022年3月3日提交您需要提交您为作业的所有部分实现的所有代码(例如评估指标、数据表示、逻辑回归、LambdaMART训练、神经网络实现等)所有代码都应该是您自己的,您不得重复使用任何在线可用的代码。您可以同时使用Python和Java作为编程语言。您还需要s提交一份不超过6页的书面报告,包括参考文献。你的报告应该描述你为上述每个步骤所做的工作。你的报告应该明确描述你已经实现的模型的性能,你使用的输入表示(或特征),你如何使用训练和验证集(任何子采样完成等),你如何进行超参数调整,您使用的神经架构以及原因等。您的报告需要使用SIGIR2020样式模板。您可以使用ACM网站3提供的LaTeX或Word(使用“sigconf”程序模板)。请不要更改模板(例如减小或增大字体大小、边距等)。截止日期提交课程作业的截止日期是4月4日16:00。参考文献[1]C.J.Burges。从ranknet到lambdarank再到lambdamart:概述。TechnicalReportMSR-TR-2010-82,June2010.WX:codehelp
