{"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/text-matching-improves-sequential","title":"Text Matching Improves Sequential Recommendation by Reducing Popularity Biases","arxiv_id":"2308.14029","date":"2023-08-27","proceeding":null,"authors":["Zhenghao Liu","Sen Mei","Chenyan Xiong","Xiaohua LI","Shi Yu","Zhiyuan Liu","Yu Gu","Ge Yu"],"abstract":"This paper proposes Text mAtching based SequenTial rEcommendation model (TASTE), which maps items and users in an embedding space and recommends items by matching their text representations. TASTE verbalizes items and user-item interactions using identifiers and attributes of items. To better characterize user behaviors, TASTE additionally proposes an attention sparsity method, which enables TASTE to model longer user-item interactions by reducing the self-attention computations during encoding. Our experiments show that TASTE outperforms the state-of-the-art methods on widely used sequential recommendation datasets. TASTE alleviates the cold start problem by representing long-tail items using full-text modeling and bringing the benefits of pretrained language models to recommendation systems. Our further analyses illustrate that TASTE significantly improves the recommendation accuracy by reducing the popularity bias of previous item id based recommendation models and returning more appropriate and text-relevant items to satisfy users. All codes are available at https://github.com/OpenMatch/TASTE.","url_abs":"https://arxiv.org/abs/2308.14029v1","url_pdf":"https://arxiv.org/pdf/2308.14029v1.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":"text-matching-improves-sequential","repo_url":"https://github.com/openmatch/taste","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"},{"task_slug":"sequential-recommendation","task_name":"Sequential Recommendation"},{"task_slug":"text-matching","task_name":"Text Matching"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.14029","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.14029"}},"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/openmatch/taste","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":6,"unverified":2},"by_repo_kind":{"official":{"samples":8,"ran":6,"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":"ed46760b4d079a20","entry":"early_stopping","repo":"openmatch/taste","repo_kind":"official","path":"utils/util.py","file_url":"https://github.com/openmatch/taste/blob/HEAD/utils/util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ed46760b4d079a20"}},{"code_sha256_prefix":"f0227a365451c56e","entry":"encode_batch","repo":"openmatch/taste","repo_kind":"official","path":"utils/data_loader.py","file_url":"https://github.com/openmatch/taste/blob/HEAD/utils/data_loader.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f0227a365451c56e"}},{"code_sha256_prefix":"a389a3672cc46836","entry":"init_logger","repo":"openmatch/taste","repo_kind":"official","path":"utils/util.py","file_url":"https://github.com/openmatch/taste/blob/HEAD/utils/util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a389a3672cc46836"}},{"code_sha256_prefix":"c93693bdada83878","entry":"list_split","repo":"openmatch/taste","repo_kind":"official","path":"utils/data_loader.py","file_url":"https://github.com/openmatch/taste/blob/HEAD/utils/data_loader.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c93693bdada83878"}},{"code_sha256_prefix":"4519444563262736","entry":"load_item_name","repo":"openmatch/taste","repo_kind":"official","path":"utils/data_loader.py","file_url":"https://github.com/openmatch/taste/blob/HEAD/utils/data_loader.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4519444563262736"}},{"code_sha256_prefix":"e166c3190ddf3b38","entry":"recall","repo":"openmatch/taste","repo_kind":"official","path":"utils/rec_metrics.py","file_url":"https://github.com/openmatch/taste/blob/HEAD/utils/rec_metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e166c3190ddf3b38"}},{"code_sha256_prefix":"65538a76b1828bb3","entry":"get_metrics_dict","repo":"openmatch/taste","repo_kind":"official","path":"utils/rec_metrics.py","file_url":"https://github.com/openmatch/taste/blob/HEAD/utils/rec_metrics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"65538a76b1828bb3"}},{"code_sha256_prefix":"e352eaf812952701","entry":"ndcg","repo":"openmatch/taste","repo_kind":"official","path":"utils/rec_metrics.py","file_url":"https://github.com/openmatch/taste/blob/HEAD/utils/rec_metrics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e352eaf812952701"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}