免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: wlyqiqi
打印 上一主题 下一主题

[文本处理] awk相关问题 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2014-04-23 16:13 |只看该作者
回复 30# Herowinter
对,其分母是$4=23+1。  
第四个正确结果是指此正确的查询条目是在002这个query里第四个出现的,查询结果在TF_IDF_0.res里出现的顺序是跟其在training.res里的顺序是不一样的

   

论坛徽章:
0
32 [报告]
发表于 2014-04-23 16:16 |只看该作者
回复 30# Herowinter
分子为查询结果出现的顺序,永远以1,2,3,4递增,而分母为查询结果在这个query 002中的位置。


   

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
33 [报告]
发表于 2014-04-23 16:32 |只看该作者
本帖最后由 Herowinter 于 2014-04-23 16:33 编辑

回复 31# wlyqiqi
还是不懂啊,我的理解力太差?
关键是4这个值怎么得到的,
按顺序的话,他不是002里面的第23或24个吗?

   

论坛徽章:
0
34 [报告]
发表于 2014-04-23 16:50 |只看该作者
回复 33# Herowinter
002中要查找的不是有四个(在training.qrels)嘛,这四个在TF_IDF_0中出现的顺序是1,2,3,4, 而24是在query中的位置
                                 在002出现的顺序       在002的位置
002 0 120447 1           1                                     1
002 0 172248 1           2                                     2
002 0 89349 1             3                                     3
002 0 352062 1           4                                     24

论坛徽章:
0
35 [报告]
发表于 2014-04-23 16:53 |只看该作者
回复 34# wlyqiqi
再比如005中不是一共有3个出现的查询结果吗,这3个在TF_IDF_0.res  的005中出现的顺序

论坛徽章:
0
36 [报告]
发表于 2014-04-23 17:00 |只看该作者
回复 33# Herowinter
举个例子,全班一共50个同学,我是第24名(位置24),老师点名4个人去打扫卫生,我是第4个被点到的(顺序4)。4/24
小明全班第3名,他是第3个被点名的。SO 3/3


   

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
37 [报告]
发表于 2014-04-23 17:37 |只看该作者
回复 36# wlyqiqi
明白了,我有空写一下,写好了贴上来。


   

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
38 [报告]
发表于 2014-04-23 18:00 |只看该作者
回复 25# wlyqiqi
当P=R=0时,F1=2*P*R/(P+R)
这个公式怎么算?
   

论坛徽章:
0
39 [报告]
发表于 2014-04-23 18:13 |只看该作者
回复 38# Herowinter
应该是等于0,if P=R=0, F1=0


   

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
40 [报告]
发表于 2014-04-23 18:21 |只看该作者
回复 39# wlyqiqi
前面的需求我写好了,还剩下个算AP,你先看一下。
为了整齐,默认4为小数显示,不喜欢可以自己调节。
我是以一个参数n来表示@Precision的
n=50 表示@Precision50
n=10 表示@Precision10
一个小问题,算AP默认@Precision10?
  1. awk -vn=10 'NR==FNR{a[$1" "$3];next} {if(++c[$1]<=n)b[$1" "$3]} END{for(i in b){split(i,key," ");k=key[1];if(i in a){A[k]++}else B[k]++};for(i in a){split(i,key," ");k=key[1];if(!(i in b))C[k]++};print "key\t准确率\t召回率\tF1";for(i in c){P=A[i]/(A[i]+B[i]);R=A[i]/(A[i]+C[i]);F1=(P+R)>0?2*P*R/(P+R):0;printf "%s\t%.4f\t%.4f\t%.4f\n",i,P,R,F1;}}' training.qrels TF_IDF_0.res|sort -n -k1
  2. key        准确率        召回率        F1
  3. 001        0.2000        1.0000        0.3333
  4. 002        0.3000        0.7500        0.4286
  5. 003        0.1000        1.0000        0.1818
  6. 004        0.0000        0.0000        0.0000
  7. 005        0.3000        1.0000        0.4615
  8. 006        0.1000        1.0000        0.1818
  9. 007        0.3000        1.0000        0.4615
  10. 008        0.4000        1.0000        0.5714
  11. 009        0.6000        0.8571        0.7059
  12. 010        0.3000        0.4286        0.3529
  13. 011        0.4000        0.8000        0.5333
  14. 012        0.8000        0.7273        0.7619
  15. 013        0.5000        0.7143        0.5882
  16. 014        0.2000        1.0000        0.3333
  17. 015        0.4000        0.8000        0.5333
  18. 016        0.7000        0.7778        0.7368
  19. 017        0.4000        1.0000        0.5714
  20. 018        0.1000        0.5000        0.1667
  21. 019        0.2000        0.5000        0.2857
  22. 020        0.4000        0.5714        0.4706
  23. 021        0.6000        1.0000        0.7500
  24. 022        0.1000        0.5000        0.1667
  25. 023        0.1000        1.0000        0.1818
  26. 024        0.3000        1.0000        0.4615
  27. 025        0.3000        0.6000        0.4000
  28. 026        0.1000        0.2500        0.1429
  29. 027        0.3000        0.5000        0.3750
  30. 028        0.2000        0.3333        0.2500
  31. 029        0.0000        0.0000        0.0000
  32. 030        0.1000        1.0000        0.1818
  33. 031        0.7000        0.5833        0.6364
  34. 032        0.1000        0.5000        0.1667
  35. 033        0.1000        1.0000        0.1818
  36. 034        0.1000        1.0000        0.1818
  37. 035        0.2000        1.0000        0.3333
  38. 036        0.5000        0.8333        0.6250
  39. 037        0.4000        0.8000        0.5333
  40. 038        0.1000        1.0000        0.1818
  41. 039        0.8000        1.0000        0.8889
  42. 040        0.0000        0.0000        0.0000
  43. 041        0.1000        1.0000        0.1818
  44. 042        1.0000        0.5882        0.7407
  45. 043        0.2000        1.0000        0.3333
  46. 044        0.2000        1.0000        0.3333
  47. 045        0.8000        0.8889        0.8421
  48. 046        0.3000        1.0000        0.4615
  49. 047        0.3000        0.6000        0.4000
  50. 048        0.0000        0.0000        0.0000
  51. 049        0.5000        1.0000        0.6667
  52. 050        0.5000        0.8333        0.6250
  53. 051        0.8000        0.7273        0.7619
  54. 052        0.3000        1.0000        0.4615
  55. 053        0.3000        1.0000        0.4615
  56. 054        0.5000        1.0000        0.6667
  57. 055        0.3000        0.5000        0.3750
  58. 056        0.2000        0.6667        0.3077
  59. 057        0.1000        1.0000        0.1818
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP