{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/sparkly-a-simple-yet-surprisingly-strong-tf","title":"Sparkly: A Simple yet Surprisingly Strong TF/IDF Blocker for Entity Matching","arxiv_id":null,"date":"2023-04-20","proceeding":"Proceedings of the VLDB Endowment 2023 4","authors":["Derek Paulsen","Yash Govind","AnHai Doan"],"abstract":"Blocking is a major task in entity matching. Numerous blocking solutions have been developed, but as far as we can tell, blocking using the well-known tf/idf measure has received virtually no attention. Yet, when we experimented with tf/idf blocking using Lucene, we found it did quite well. So in this paper we examine tf/idf blocking in depth. We develop Sparkly, which uses Lucene to perform top-k tf/idf blocking in a distributed share-nothing fashion on a Spark cluster. We develop techniques to identify good attributes and tokenizers that can be used to block on, making Sparkly completely automatic. We perform extensive experiments showing that Sparkly outperforms 8 state-of-the-art blockers. Finally, we provide an in-depth analysis of Sparkly's performance, regarding both recall/output size and runtime. Our findings suggest that (a) tf/idf blocking needs more attention, (b) Sparkly forms a strong baseline that future blocking work should compare against, and (c) future blocking work should seriously consider top-k blocking, which helps improve recall, and a distributed share-nothing architecture, which helps improve scalability, predictability, and extensibility.","url_abs":"https://dl.acm.org/doi/abs/10.14778/3583140.3583163","url_pdf":"https://dl.acm.org/doi/pdf/10.14778/3583140.3583163","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"sparkly-a-simple-yet-surprisingly-strong-tf","repo_url":"https://github.com/anhaidgroup/sparkly","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":null}],"tasks":[{"task_slug":"blocking","task_name":"Blocking"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/blocking-on-abt-buy","task":"Blocking","dataset":"Abt-Buy","model":"Sparkly k=10","rank_in_archive_order":4,"of":6,"metrics":{"Candidate Set Size":"10900","Recall":"98.1"},"uses_additional_data":false},{"leaderboard":"/sota/blocking-on-abt-buy","task":"Blocking","dataset":"Abt-Buy","model":"Sparkly k=50","rank_in_archive_order":6,"of":6,"metrics":{"Candidate Set Size":"54500","Recall":"99.2"},"uses_additional_data":false},{"leaderboard":"/sota/blocking-on-amazon-google","task":"Blocking","dataset":"Amazon-Google","model":"Sparkly k=10","rank_in_archive_order":2,"of":6,"metrics":{"Candidate Set Size":"33300","Recall":"96.8"},"uses_additional_data":false},{"leaderboard":"/sota/blocking-on-amazon-google","task":"Blocking","dataset":"Amazon-Google","model":"Sparkly k=50","rank_in_archive_order":6,"of":6,"metrics":{"Candidate Set Size":"165900","Recall":"99.2"},"uses_additional_data":false}],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}