{"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/lkpnr-llm-and-kg-for-personalized-news","title":"LKPNR: LLM and KG for Personalized News Recommendation Framework","arxiv_id":"2308.12028","date":"2023-08-23","proceeding":null,"authors":["Chen Hao","Xie Runfeng","Cui Xiangyang","Yan Zhou","Wang Xin","Xuan Zhanwei","Zhang Kai"],"abstract":"Accurately recommending candidate news articles to users is a basic challenge faced by personalized news recommendation systems. Traditional methods are usually difficult to grasp the complex semantic information in news texts, resulting in unsatisfactory recommendation results. Besides, these traditional methods are more friendly to active users with rich historical behaviors. However, they can not effectively solve the \"long tail problem\" of inactive users. To address these issues, this research presents a novel general framework that combines Large Language Models (LLM) and Knowledge Graphs (KG) into semantic representations of traditional methods. In order to improve semantic understanding in complex news texts, we use LLMs' powerful text understanding ability to generate news representations containing rich semantic information. In addition, our method combines the information about news entities and mines high-order structural information through multiple hops in KG, thus alleviating the challenge of long tail distribution. Experimental results demonstrate that compared with various traditional models, the framework significantly improves the recommendation effect. The successful integration of LLM and KG in our framework has established a feasible path for achieving more accurate personalized recommendations in the news field. Our code is available at https://github.com/Xuan-ZW/LKPNR.","url_abs":"https://arxiv.org/abs/2308.12028v1","url_pdf":"https://arxiv.org/pdf/2308.12028v1.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":"lkpnr-llm-and-kg-for-personalized-news","repo_url":"https://github.com/xuan-zw/lkpnr","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"articles","task_name":"Articles"},{"task_slug":"knowledge-graphs","task_name":"Knowledge Graphs"},{"task_slug":"news-recommendation","task_name":"News Recommendation"},{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2308.12028","atlas_url":"https://app.syntology.ai/?focus=2308.12028","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.12028"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/xuan-zw/lkpnr","reach":{"status":"ok"}}],"summary":{"ran":5,"ran_draft_wrong":1,"ran_violates":1},"by_repo_kind":{"official":{"samples":7,"ran":7,"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":7,"samples":[{"code_sha256_prefix":"d46a7fdff12fd4b7","entry":"aggregate_criteria","repo":"xuan-zw/lkpnr","repo_kind":"official","path":"NNR/aggregate_result.py","file_url":"https://github.com/xuan-zw/lkpnr/blob/HEAD/NNR/aggregate_result.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d46a7fdff12fd4b7"}},{"code_sha256_prefix":"1bf6a1550a765994","entry":"construct_news_text","repo":"xuan-zw/lkpnr","repo_kind":"official","path":"LLM/get_item.py","file_url":"https://github.com/xuan-zw/lkpnr/blob/HEAD/LLM/get_item.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1bf6a1550a765994"}},{"code_sha256_prefix":"43e79e8e0904d5d8","entry":"dcg_score","repo":"xuan-zw/lkpnr","repo_kind":"official","path":"NNR/evaluate.py","file_url":"https://github.com/xuan-zw/lkpnr/blob/HEAD/NNR/evaluate.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"43e79e8e0904d5d8"}},{"code_sha256_prefix":"e18607dae38b30e2","entry":"is_number","repo":"xuan-zw/lkpnr","repo_kind":"official","path":"NNR/MIND_corpus.py","file_url":"https://github.com/xuan-zw/lkpnr/blob/HEAD/NNR/MIND_corpus.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e18607dae38b30e2"}},{"code_sha256_prefix":"47a7b89c55c76c60","entry":"mrr_score","repo":"xuan-zw/lkpnr","repo_kind":"official","path":"NNR/evaluate.py","file_url":"https://github.com/xuan-zw/lkpnr/blob/HEAD/NNR/evaluate.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"47a7b89c55c76c60"}},{"code_sha256_prefix":"aaa4cece9f41ea15","entry":"ndcg_score","repo":"xuan-zw/lkpnr","repo_kind":"official","path":"NNR/evaluate.py","file_url":"https://github.com/xuan-zw/lkpnr/blob/HEAD/NNR/evaluate.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aaa4cece9f41ea15"}},{"code_sha256_prefix":"fa9c18d8c9b9736c","entry":"transform_term_vectors","repo":"xuan-zw/lkpnr","repo_kind":"official","path":"NNR/general_recommendation_methods/DSSM_util.py","file_url":"https://github.com/xuan-zw/lkpnr/blob/HEAD/NNR/general_recommendation_methods/DSSM_util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fa9c18d8c9b9736c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}