比赛链接:http://www.inf.uniroma3.it/db/sigmod2020contest/task.html
比赛感受:
第一次参加数据库顶级会议ACM SIGMOD编程比赛,拿到第十名,很不容易,继续努力!
3月中旬才参加,那时已经有队伍F评分0.99了,膜拜大佬······
另外吐槽一下某个相机title是d80,description是d90,还有附件也忒多了.......
比赛相关:
ACM SIGMOD是美国计算机协会ACM下属的SIG系列学术会议,该会议始办于1970年,曾经发表过在数据管理领域学术界和工业界影响非常深远的开创性研究成果,例如ER模型,RAID磁盘冗余阵列,分布式数据库系统,NoSQL数据库系统等等。数据挖掘学科(以顶级数据挖掘学术会议SIGKDD为代表)也是在2000年从SIGMOD会议的workshop中独立出来并发展壮大。目前SIGMOD是国际上公认的在数据管理、数据库、数据科学方向具有最高学术地位的国际会议。每年的SIGMOD程序竞赛(ACM SIGMOD Programming Contest)题目取材于工业界所面临的各种数据管理难题,旨在促进全球各高校和科研院所的数据科学专业研究生和博士生的学术交流,提高解决实际问题的能力。
今年任务:
在电子商务网站中有各种各样的商品,商品的描述采用JSON格式来表示,一个JSON格式是“属性:值”的一个集合,用来描述该商品的名称、生产商、参数、外观、尺寸等信息。由于不同的经销商在把商品放到电子商务网站的时候,他们对商品的描述有很大的差异,例如,对于数码相机,有的经销商用属性名称‘resolution’来表示相机的分辨率,而有的经销商用’pixels’来表示分辨率。
这次编程竞赛的问题是:现在有来自多个电子商务网站的JSON文件,每个JSON文件是一个商品的信息;要从这些JSON文件中找出所有两两相同的商品。
数据格式:
每一个文件夹对应一个电子商务网站,文件夹里包括有多个JSON文件,而每个JSON文件是该电子商务网站上出售的一个商品。例如,在ebay文件夹里的23857.json数据文件是一台Kodak Eashshare Z980相机,其格式如下:
{
"<page title>": "Kodak Eashyshare Z980 | eBay",
"beautiful pictures more often automatically": "Who says you can't have it all? The Kodak EASYSHARE Z980 digital camera blends the latest picture-taking technology with the ultimate in style. And with Kodak's innovative smart capture feature, it's the take-anywhere camera that does it all - automatically.",
"brand": "Kodak",
"bundled items": "Case or Bag, Lens, Tripod",
"megapixels": "12.0 MP",
"model": "Z980",
"mpn": "1837152",
"optical zoom": "24x",
"screen size": "3\"",
"the simple way to share": "The Z980 is part of the Kodak EASYSHARE system, so sharing your pictures is amazingly simple. Just press share.",
"type": "Point & Shoot"
}
输出格式:
算法找出所有相同的商品,成对的输出相同的商品ID,并把结果用CSV格式保存下来。示例如下:
left_spec_id right_spec_id
www.sourceA.com//2 www.sourceB.com//2
www.sourceA.com//3 www.sourceA.com//1
www.sourceA.com//3 www.sourceB.com//3
www.sourceA.com//3 www.sourceB.com//1
其中,每一条表示两个相同的商品,即每一列表示一个商品。例如第二行中,在文件夹www.sourceA.com里的2.json文件所代表的商品与www.sourceB.com里的2.json文件所代表的商品是一样的。