{"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/content-based-citation-recommendation","title":"Content-Based Citation Recommendation","arxiv_id":"1802.08301","date":"2018-02-22","proceeding":"NAACL 2018 6","authors":["Chandra Bhagavatula","Sergey Feldman","Russell Power","Waleed Ammar"],"abstract":"We present a content-based method for recommending citations in an academic\npaper draft. We embed a given query document into a vector space, then use its\nnearest neighbors as candidates, and rerank the candidates using a\ndiscriminative model trained to distinguish between observed and unobserved\ncitations. Unlike previous work, our method does not require metadata such as\nauthor names which can be missing, e.g., during the peer review process.\nWithout using metadata, our method outperforms the best reported results on\nPubMed and DBLP datasets with relative improvements of over 18% in F1@20 and\nover 22% in MRR. We show empirically that, although adding metadata improves\nthe performance on standard metrics, it favors self-citations which are less\nuseful in a citation recommendation setup. We release an online portal\n(http://labs.semanticscholar.org/citeomatic/) for citation recommendation based\non our method, and a new dataset OpenCorpus of 7 million research articles to\nfacilitate future research on this task.","url_abs":"http://arxiv.org/abs/1802.08301v1","url_pdf":"http://arxiv.org/pdf/1802.08301v1.pdf","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":"content-based-citation-recommendation","repo_url":"https://github.com/allenai/citeomatic","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"articles","task_name":"Articles"},{"task_slug":"citation-recommendation","task_name":"Citation Recommendation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1802.08301","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1802.08301"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/allenai/citeomatic","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"ab322c297ec54582","entry":"average_results","repo":"allenai/citeomatic","repo_kind":"official","path":"citeomatic/eval_metrics.py","file_url":"https://github.com/allenai/citeomatic/blob/HEAD/citeomatic/eval_metrics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ab322c297ec54582"}},{"code_sha256_prefix":"9bffd8f716f06256","entry":"f1","repo":"allenai/citeomatic","repo_kind":"official","path":"citeomatic/eval_metrics.py","file_url":"https://github.com/allenai/citeomatic/blob/HEAD/citeomatic/eval_metrics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9bffd8f716f06256"}},{"code_sha256_prefix":"feed8111f464e997","entry":"jaccard","repo":"allenai/citeomatic","repo_kind":"official","path":"citeomatic/features.py","file_url":"https://github.com/allenai/citeomatic/blob/HEAD/citeomatic/features.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"feed8111f464e997"}},{"code_sha256_prefix":"160605c1d5a76df4","entry":"label_for_doc","repo":"allenai/citeomatic","repo_kind":"official","path":"citeomatic/features.py","file_url":"https://github.com/allenai/citeomatic/blob/HEAD/citeomatic/features.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"160605c1d5a76df4"}},{"code_sha256_prefix":"d05b36414cd0d1a2","entry":"precision_recall_f1_at_ks","repo":"allenai/citeomatic","repo_kind":"official","path":"citeomatic/eval_metrics.py","file_url":"https://github.com/allenai/citeomatic/blob/HEAD/citeomatic/eval_metrics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d05b36414cd0d1a2"}},{"code_sha256_prefix":"b9093e9e22874775","entry":"s3_location_to_object","repo":"allenai/citeomatic","repo_kind":"official","path":"citeomatic/file_util.py","file_url":"https://github.com/allenai/citeomatic/blob/HEAD/citeomatic/file_util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b9093e9e22874775"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}