当前位置: 首页 > news >正文

做影视网站侵权不百度网址大全下载

做影视网站侵权不,百度网址大全下载,新网站建设都需要哪些,洛阳做网站的公司哪家好文章目录 📚实验内容📚知识梳理📚实验步骤🐇前情提要🐇MAP评价指标函数🐇MRR 评价指标函数🐇NDCG评价指标函数🐇调试结果 📚实验内容 实现以下指标评价,并对…

文章目录

  • 📚实验内容
  • 📚知识梳理
  • 📚实验步骤
    • 🐇前情提要
    • 🐇MAP评价指标函数
    • 🐇MRR 评价指标函数
    • 🐇NDCG评价指标函数
    • 🐇调试结果

📚实验内容

  • 实现以下指标评价,并对Experiment2的检索结果进行评价
    • Mean Average Precision (MAP)
    • Mean Reciprocal Rank (MRR)
    • Normalized Discounted Cumulative Gain (NDCG)

📚知识梳理

  • MAP(Mean Average Precision):平均准确率,是衡量检索结果排序质量的指标。
    • 计算方式是对于每个查询,计算被正确检索的文档的平均精确率,再对所有查询的平均值取均值。
    • 存在意义是衡量对于一个查询,检索结果的平均精确率,适用于评估排序结果精确度的情况。

  • MRR(Mean Reciprocal Rank):平均倒数排名,是衡量检索结果排序质量的指标。
    • 计算方式是对于每个查询,计算被正确检索的文档的最高排名的倒数的平均值,再对所有查询的平均值取均值。
    • 存在意义是衡量对于一个查询,检索结果的排名,适用于评估检索结果排序效果好坏的情况。

  • NDCG(Normalized Discounted Cumulative Gain):归一化折损累积增益,是衡量检索结果排序质量的指标。
    • 计算方式是对于每个查询,对每个被检索到的结果计算其相对于理想排序的增益值,然后对这些相对增益值进行加权求和,再除以理想排序的增益值
    • 存在意义是衡量对于一个查询,检索结果的绝对和相对排序质量,适用于评估排序结果的质量与排名准确度的情况。

  • 这三个指标各有侧重,根据不同的评估需要和数据特征选择合适的指标。例如,对于特定领域的文档检索,可能更关注排名准确度和检索结果的可靠度,因此MRR和NDCG可能比较适合。对于广泛领域的文档检索,可能更关注精确度,因此MAP比较适合。

📚实验步骤

🐇前情提要

  • 本次实验是补充式实验,先给出了qrels_dicttest_dict
  • 构建qrels_dict,根据 qrel.txt 中的 query_id 和对应库中真正相关的 doc_id 的信息构建 qrels_dict={query_id:{doc_id:gain,doc_id:gain,……}}。 遍历文件中的每一行,完成遍历后,返回 qrels_dict:
    • 使用 split(’ ') 将行按空格分隔成列表 ele。
    • 检查 ele[0](query_id)是否已经在 qrels_dict 中。如果不在,将其作为新的查询ID键添加到 qrels_dict 中,并将其对应的值设置为空字典。
    • 检查 ele[3](gain)是否大于0。如果是,将 ele[2](doc_id)作为新的相关文档ID键添加到查询ID键对应的值中,并将其对应的值设置为 ele[3] 的整数形式。
    def generate_tweetid_gain(file_name):qrels_dict = {}with open(file_name, 'r', errors='ignore') as f:for line in f:# 按空格划分ele = line.strip().split(' ')# ele[0]中存放的是query_idif ele[0] not in qrels_dict:qrels_dict[ele[0]] = {}# ele[3]存放的是gain,ele[2]存放的是doc_id# 将gain大于0的存入if int(ele[3]) > 0:qrels_dict[ele[0]][ele[2]] = int(ele[3])return qrels_dict
    
  • 构建test_dict,根据 result.txt 文档中 query 和对应的检索到的 doc 文档对应信息构建 test_dict={query_id:{doc_id,doc_id,……}}。遍历文件中的每一行,完成遍历后,返回 test_dict:
    • 使用 split(’ ') 将行按空格分隔成列表 ele。
    • 检查 ele[0](query_id)是否已经在 test_dict 中。如果不在,将其作为新的查询ID键添加到 test_dict 中,并将其对应的值设置为一个空列表。
    • ele[1](doc_id)添加到查询ID键对应的列表中。
    def read_tweetid_test(file_name):# 输入格式为:query_id doc_idtest_dict = {}with open(file_name, 'r', errors='ignore') as f:for line in f:# 按空格划分ele = line.strip().split(' ')# 这里的ele[0]是query_id,ele[1]是doc_idif ele[0] not in test_dict:test_dict[ele[0]] = []test_dict[ele[0]].append(ele[1])return test_dict
    

🐇MAP评价指标函数

  1. 获取检索到的(test_dict)相关文档信息

  2. 获取库中(qrels_dict)所有相关文档的信息

  3. 进行 P@K评估计算

    在这里插入图片描述
    在这里插入图片描述

  4. 进行 AP 评估计算
    在这里插入图片描述

  5. 进行 MAP 均值评估计算。
    在这里插入图片描述

    在这里插入图片描述


def MAP_eval(qrels_dict, test_dict, k = 100):# MAP是对AP评价结果进行平均,AP基于P(Precision@K)评估AP_result = [] for query in qrels_dict:# 获取相关信息test_result = test_dict[query]              # 检索文档true_list = set(qrels_dict[query].keys())   # 相关文档use_length = min(k, len(test_result))       # 用不超过100条文档计算if use_length <= 0:print('query:', query, '未找到')return []# 声明变量P_result = [] total = 0    the_true = 0  # P@K 评估for doc_id in test_result[0: use_length]:total += 1if doc_id in true_list:# 如果是相关的the_true += 1P_result.append(the_true / total)# AP评估if P_result:AP = np.sum(P_result) / len(true_list)# print('query:', query, '的AP评估结果:', AP)AP_result.append(AP)else:print('query:', query, ' 就没有相关的┭┮﹏┭┮')AP_result.append(0)# MAP就是AP的平均值return np.mean(AP_result)

🐇MRR 评价指标函数

  1. 获取检索到的(test_dict)相关文档信息

  2. 获取库中(qrels_dict)所有相关文档的信息

  3. 计算排序倒数(第一个相关结果的位置倒数)
    在这里插入图片描述

  4. 进行 RR 评估计算
    在这里插入图片描述

  5. 进行 MRR 均值评估计算。
    在这里插入图片描述
    在这里插入图片描述


def MRR_eval(qrels_dict, test_dict, k = 100):# MRR是对RR评价结果进行平均,RR基于排序倒数RR_result = []for query in qrels_dict:# 获取相关信息test_result = test_dict[query]              # 检索文档true_list = set(qrels_dict[query].keys())   # 相关文档use_length = min(k, len(test_result))       # 用不超过100条文档计算if use_length <= 0:print('query:', query, '未找到')return []# 声明变量R_result = []rank = 0# 计算排序倒数for doc_id in test_result[0: use_length]:rank += 1if doc_id in true_list:R_result.append(1 / rank)break# RR评估if R_result:RR = np.sum(R_result)/1.0# print('query:', query, '的RR评估结果:', RR)RR_result.append(RR)else:print('query:', query, ' 就没有相关的┭┮﹏┭┮') RR_result.append(0)# MRR就是RR的平均值return np.mean(RR_result)

🐇NDCG评价指标函数

  1. 获取检索到的(test_dict)相关文档信息
  2. 获取库中(qrels_dict)所有相关文档的gain(也就是下边的rel)信息
  3. 按gain(rel)倒序排列(理想化,用于计算IDCG)
  4. 先计算出 DCGIDCG,二者相除得到NDCG,取均值后返回。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

def NDCG_eval(qrels_dict, test_dict, k = 100):# NDCG@K = DCG@K / IDCG@K# DCG = rel(1) + sum(rel(i)/log(i))# IDCG就是按rel排序之后的DCGNDCG_result = []for query in qrels_dict:# 获取相关信息                                          test_result = test_dict[query]                       # 检索文档true_list = list(qrels_dict[query].values())         # 相关文档的gain列表true_list = sorted(true_list, reverse=True)          # 按gain(rel)倒序排列use_length = min(k, len(test_result),len(true_list)) # 用不超过100条文档计算if use_length <= 0:print('query:', query, '未找到')return []# 声明变量i = 1DCG = 0.0 IDCG = 0.0# 计算DCG和IDCGrel1 = qrels_dict[query].get(test_result[0], 0)DCG += rel1for doc_id in test_result[1: use_length]:i += 1rel = qrels_dict[query].get(doc_id, 0)DCG += rel / math.log(i, 2)IDCG += true_list[i - 2] / math.log(i, 2)NDCG = DCG / IDCG# print('query:', query, '的NDCG评估结果:', NDCG)NDCG_result.append(NDCG)# 取平均值后返回return np.mean(NDCG_result)

🐇调试结果

在这里插入图片描述


参考博客:信息检索实验3- IR Evaluation

http://www.zhongyajixie.com/news/23580.html

相关文章:

  • 招远做网站如何优化搜索引擎
  • 模拟网站建设怎么建设自己的网站
  • 做网站 怎么谈怎么创建网址
  • 张家港做网站优化价格网站建设报价方案
  • 关于做网站的外语文献网站模板免费下载
  • 网站建设的经验迅雷磁力链bt磁力种子
  • 网站服务器和空间的区别如何制作一个网页
  • 销售网站是什么友情链接还有用吗
  • 西安住房和城乡建设委员会网站搜索引擎营销特点是什么
  • ps可以在哪个网站上做兼职网上代写文章一般多少钱
  • 县政府网站建设框架国外搜索引擎有哪些
  • 乌鲁木齐网站开发公司千万不要去电商公司上班
  • 深圳建站模板电商运营自学全套教程
  • 郑州做网站和域名班级优化大师下载
  • 邯郸城融网络技术有限公司太原seo自媒体
  • 网站怎么在百度做推广方案网络推广是什么工作内容
  • 高端产品网站如何在百度免费发布广告
  • 网站前端建设报价单百度seo外链推广教程
  • 建立网站商店哪个搜索引擎最好用
  • 怎么用手机做网站平台网页制作软件手机版
  • 搭建网站是要什么手机网站
  • 小公司做网站用哪种服务器百度竞价排名查询
  • 深圳网站建设哪家最好今日国际重大新闻
  • h5可以做网站吗软件关键词排名
  • 网站代码隐蔽代码网站优化关键词排名
  • 网站如何推广营销网站的建设流程
  • 门户网站模板下载自媒体
  • 泉州做网站多少钱高质量软文
  • wordpress笑话站主题百度seo排名培训 优化
  • 备案里的网站名称竞价排名服务