{"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/enhancing-user-intent-capture-in-session-1","title":"Enhancing User Intent Capture in Session-Based Recommendation with Attribute Patterns","arxiv_id":"2312.16199","date":"2023-12-23","proceeding":"NeurIPS 2023 11","authors":["Xin Liu","Zheng Li","Yifan Gao","Jingfeng Yang","Tianyu Cao","Zhengyang Wang","Bing Yin","Yangqiu Song"],"abstract":"The goal of session-based recommendation in E-commerce is to predict the next item that an anonymous user will purchase based on the browsing and purchase history. However, constructing global or local transition graphs to supplement session data can lead to noisy correlations and user intent vanishing. In this work, we propose the Frequent Attribute Pattern Augmented Transformer (FAPAT) that characterizes user intents by building attribute transition graphs and matching attribute patterns. Specifically, the frequent and compact attribute patterns are served as memory to augment session representations, followed by a gate and a transformer block to fuse the whole session information. Through extensive experiments on two public benchmarks and 100 million industrial data in three domains, we demonstrate that FAPAT consistently outperforms state-of-the-art methods by an average of 4.5% across various evaluation metrics (Hits, NDCG, MRR). Besides evaluating the next-item prediction, we estimate the models' capabilities to capture user intents via predicting items' attributes and period-item recommendations.","url_abs":"https://arxiv.org/abs/2312.16199v1","url_pdf":"https://arxiv.org/pdf/2312.16199v1.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":"enhancing-user-intent-capture-in-session-1","repo_url":"https://github.com/hkust-knowcomp/fapat","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"attribute","task_name":"Attribute"},{"task_slug":"session-based-recommendations","task_name":"Session-Based Recommendations"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2312.16199","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2312.16199"}},"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":"deterministic:regex_extraction","url":"https://github.com/HKUST-KnowComp/FAPAT","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hkust-knowcomp/fapat","reach":{"status":"ok"}}],"summary":{"ran":5,"unverified":4},"by_repo_kind":{"official":{"samples":9,"ran":5,"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":9,"samples":[{"code_sha256_prefix":"7a1e88eddfcee5f3","entry":"check_connect","repo":"HKUST-KnowComp/FAPAT","repo_kind":"official","path":"src/mining/utils.py","file_url":"https://github.com/HKUST-KnowComp/FAPAT/blob/HEAD/src/mining/utils.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":"7a1e88eddfcee5f3"}},{"code_sha256_prefix":"a4afb2a1f31998c8","entry":"construct_igraph","repo":"HKUST-KnowComp/FAPAT","repo_kind":"official","path":"src/mining/utils.py","file_url":"https://github.com/HKUST-KnowComp/FAPAT/blob/HEAD/src/mining/utils.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":"a4afb2a1f31998c8"}},{"code_sha256_prefix":"e62b08e15506740b","entry":"process","repo":"HKUST-KnowComp/FAPAT","repo_kind":"official","path":"src/mining/build_lg.py","file_url":"https://github.com/HKUST-KnowComp/FAPAT/blob/HEAD/src/mining/build_lg.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":"e62b08e15506740b"}},{"code_sha256_prefix":"e50235307e851e8a","entry":"read_log","repo":"HKUST-KnowComp/FAPAT","repo_kind":"official","path":"src/datasets/read_log.py","file_url":"https://github.com/HKUST-KnowComp/FAPAT/blob/HEAD/src/datasets/read_log.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":"e50235307e851e8a"}},{"code_sha256_prefix":"9190f46c4480d974","entry":"retrieve_multiple_edges","repo":"HKUST-KnowComp/FAPAT","repo_kind":"official","path":"src/mining/merge_pattern.py","file_url":"https://github.com/HKUST-KnowComp/FAPAT/blob/HEAD/src/mining/merge_pattern.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":"9190f46c4480d974"}},{"code_sha256_prefix":"ea25c0db79f8fb43","entry":"FAPAT","repo":"hkust-knowcomp/fapat","repo_kind":"official","path":"src/recommendation/fapat.py","file_url":"https://github.com/hkust-knowcomp/fapat/blob/HEAD/src/recommendation/fapat.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ea25c0db79f8fb43"}},{"code_sha256_prefix":"f1c827bf1b1ee2ea","entry":"mine_frequent_patterns","repo":"HKUST-KnowComp/FAPAT","repo_kind":"official","path":"src/mining/gspan.py","file_url":"https://github.com/HKUST-KnowComp/FAPAT/blob/HEAD/src/mining/gspan.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f1c827bf1b1ee2ea"}},{"code_sha256_prefix":"080d1903597ce037","entry":"process","repo":"HKUST-KnowComp/FAPAT","repo_kind":"official","path":"src/mining/build_adj.py","file_url":"https://github.com/HKUST-KnowComp/FAPAT/blob/HEAD/src/mining/build_adj.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"080d1903597ce037"}},{"code_sha256_prefix":"a9371430acb3a73a","entry":"read_patterns","repo":"HKUST-KnowComp/FAPAT","repo_kind":"official","path":"src/mining/utils.py","file_url":"https://github.com/HKUST-KnowComp/FAPAT/blob/HEAD/src/mining/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a9371430acb3a73a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}