{"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/canonical-tensor-decomposition-for-knowledge","title":"Canonical Tensor Decomposition for Knowledge Base Completion","arxiv_id":"1806.07297","date":"2018-06-19","proceeding":"ICML 2018 7","authors":["Timothée Lacroix","Nicolas Usunier","Guillaume Obozinski"],"abstract":"The problem of Knowledge Base Completion can be framed as a 3rd-order binary\ntensor completion problem. In this light, the Canonical Tensor Decomposition\n(CP) (Hitchcock, 1927) seems like a natural solution; however, current\nimplementations of CP on standard Knowledge Base Completion benchmarks are\nlagging behind their competitors. In this work, we attempt to understand the\nlimits of CP for knowledge base completion. First, we motivate and test a novel\nregularizer, based on tensor nuclear $p$-norms. Then, we present a\nreformulation of the problem that makes it invariant to arbitrary choices in\nthe inclusion of predicates or their reciprocals in the dataset. These two\nmethods combined allow us to beat the current state of the art on several\ndatasets with a CP decomposition, and obtain even better results using the more\nadvanced ComplEx model.","url_abs":"http://arxiv.org/abs/1806.07297v1","url_pdf":"http://arxiv.org/pdf/1806.07297v1.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":"canonical-tensor-decomposition-for-knowledge","repo_url":"https://github.com/facebookresearch/kbc","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"canonical-tensor-decomposition-for-knowledge","repo_url":"https://github.com/facebookresearch/ssl-relation-prediction","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"canonical-tensor-decomposition-for-knowledge","repo_url":"https://github.com/twktheainur/kbc","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"dynamic-link-prediction","task_name":"Dynamic Link Prediction"},{"task_slug":"knowledge-base-completion","task_name":"Knowledge Base Completion"},{"task_slug":"link-prediction","task_name":"Link Prediction"},{"task_slug":"tensor-decomposition","task_name":"Tensor Decomposition"}],"methods":[{"method_slug":"cp-n3-rp","method_name":"CP N3"},{"method_slug":"cp-n3","method_name":"CP-N3"},{"method_slug":"complex-n3","method_name":"ComplEx-N3"}],"datasets_introduced":[],"methods_introduced":[{"slug":"cp-n3-rp","name":"CP N3","full_name":"CP with N3 Regularizer"},{"slug":"cp-n3","name":"CP-N3","full_name":"Canonical Tensor Decomposition with N3 Regularizer"},{"slug":"complex-n3","name":"ComplEx-N3","full_name":"ComplEx with N3 Regularizer"}],"results":[{"leaderboard":"/sota/dynamic-link-prediction-on-wn18-filtered","task":"Dynamic Link Prediction","dataset":"WN18 (filtered)","model":"ComplEx-N3 (reciprocal)","rank_in_archive_order":1,"of":1,"metrics":{"Mrr@2":"0.9"},"uses_additional_data":false},{"leaderboard":"/sota/link-prediction-on-fb15k-1","task":"Link Prediction","dataset":"FB15k","model":"ComplEx-N3 (reciprocal)","rank_in_archive_order":1,"of":10,"metrics":{"Hits@10":"0.91","MRR":"0.86"},"uses_additional_data":false},{"leaderboard":"/sota/link-prediction-on-wn18","task":"Link Prediction","dataset":"WN18","model":"ComplEx-N3 (reciprocal)","rank_in_archive_order":6,"of":37,"metrics":{"Hits@10":"0.96"},"uses_additional_data":false},{"leaderboard":"/sota/link-prediction-on-wn18rr","task":"Link Prediction","dataset":"WN18RR","model":"ComplEx-N3 (reciprocal)","rank_in_archive_order":38,"of":75,"metrics":{"Hits@10":"0.57","MRR":"0.48"},"uses_additional_data":false},{"leaderboard":"/sota/link-prediction-on-yago3-10","task":"Link Prediction","dataset":"YAGO3-10","model":"ComplEx-N3 (large model, reciprocal)","rank_in_archive_order":15,"of":18,"metrics":{"Hits@10":"0.71"},"uses_additional_data":false},{"leaderboard":"/sota/link-prediction-on-yago3-10","task":"Link Prediction","dataset":"YAGO3-10","model":"ComplEx-N3 (reciprocal)","rank_in_archive_order":17,"of":18,"metrics":{"MRR":"0.58"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1806.07297","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1806.07297"}},"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/facebookresearch/kbc","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/twktheainur/kbc","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/facebookresearch/ssl-relation-prediction","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran_draft_wrong":1,"ran_honours":1},"by_repo_kind":{"official":{"samples":1,"ran":1,"repositories":1},"listed":{"samples":1,"ran":1,"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":2,"samples":[{"code_sha256_prefix":"993bda92abdf4f07","entry":"avg_both","repo":"facebookresearch/kbc","repo_kind":"official","path":"kbc/learn.py","file_url":"https://github.com/facebookresearch/kbc/blob/HEAD/kbc/learn.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"993bda92abdf4f07"}},{"code_sha256_prefix":"129ebbf95dd75710","entry":"list_int","repo":"twktheainur/kbc","repo_kind":"listed","path":"kbc/learn.py","file_url":"https://github.com/twktheainur/kbc/blob/HEAD/kbc/learn.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"129ebbf95dd75710"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}