{"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/detecting-spoilers-in-movie-reviews-with","title":"Detecting Spoilers in Movie Reviews with External Movie Knowledge and User Networks","arxiv_id":"2304.11411","date":"2023-04-22","proceeding":null,"authors":["Heng Wang","Wenqian Zhang","Yuyang Bai","Zhaoxuan Tan","Shangbin Feng","Qinghua Zheng","Minnan Luo"],"abstract":"Online movie review platforms are providing crowdsourced feedback for the film industry and the general public, while spoiler reviews greatly compromise user experience. Although preliminary research efforts were made to automatically identify spoilers, they merely focus on the review content itself, while robust spoiler detection requires putting the review into the context of facts and knowledge regarding movies, user behavior on film review platforms, and more. In light of these challenges, we first curate a large-scale network-based spoiler detection dataset LCS and a comprehensive and up-to-date movie knowledge base UKM. We then propose MVSD, a novel Multi-View Spoiler Detection framework that takes into account the external knowledge about movies and user activities on movie review platforms. Specifically, MVSD constructs three interconnecting heterogeneous information networks to model diverse data sources and their multi-view attributes, while we design and employ a novel heterogeneous graph neural network architecture for spoiler detection as node-level classification. Extensive experiments demonstrate that MVSD advances the state-of-the-art on two spoiler detection datasets, while the introduction of external knowledge and user interactions help ground robust spoiler detection. Our data and code are available at https://github.com/Arthur-Heng/Spoiler-Detection","url_abs":"https://arxiv.org/abs/2304.11411v2","url_pdf":"https://arxiv.org/pdf/2304.11411v2.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":"detecting-spoilers-in-movie-reviews-with","repo_url":"https://github.com/arthur-heng/spoiler-detection","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"}],"methods":[{"method_slug":"base","method_name":"BASE"},{"method_slug":"graph-neural-network","method_name":"Graph Neural Network"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2304.11411","atlas_url":"https://app.syntology.ai/?focus=2304.11411","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2304.11411"}},"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/arthur-heng/spoiler-detection","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/Arthur-Heng/Spoiler-Detection","reach":{"status":"ok"}}],"summary":{"ran":3,"unverified":4},"by_repo_kind":{"official":{"samples":7,"ran":3,"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":"5897c4b51e024b18","entry":"GatedRGCN","repo":"Arthur-Heng/Spoiler-Detection","repo_kind":"official","path":"src/main_model.py","file_url":"https://github.com/Arthur-Heng/Spoiler-Detection/blob/HEAD/src/main_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5897c4b51e024b18"}},{"code_sha256_prefix":"e275b200ab0b8370","entry":"cross_attention","repo":"Arthur-Heng/Spoiler-Detection","repo_kind":"official","path":"src/main_model.py","file_url":"https://github.com/Arthur-Heng/Spoiler-Detection/blob/HEAD/src/main_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e275b200ab0b8370"}},{"code_sha256_prefix":"052d5c616c205616","entry":"cross_attention_1","repo":"Arthur-Heng/Spoiler-Detection","repo_kind":"official","path":"src/main_model.py","file_url":"https://github.com/Arthur-Heng/Spoiler-Detection/blob/HEAD/src/main_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"052d5c616c205616"}},{"code_sha256_prefix":"39e044da9a841bfe","entry":"MVSD","repo":"Arthur-Heng/Spoiler-Detection","repo_kind":"official","path":"src/main_model.py","file_url":"https://github.com/Arthur-Heng/Spoiler-Detection/blob/HEAD/src/main_model.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":"39e044da9a841bfe"}},{"code_sha256_prefix":"c1888214bb69cb28","entry":"SD_layer","repo":"Arthur-Heng/Spoiler-Detection","repo_kind":"official","path":"src/main_model.py","file_url":"https://github.com/Arthur-Heng/Spoiler-Detection/blob/HEAD/src/main_model.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":"c1888214bb69cb28"}},{"code_sha256_prefix":"1de29a5edefdca63","entry":"SimpleHGN","repo":"Arthur-Heng/Spoiler-Detection","repo_kind":"official","path":"src/main_model.py","file_url":"https://github.com/Arthur-Heng/Spoiler-Detection/blob/HEAD/src/main_model.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":"1de29a5edefdca63"}},{"code_sha256_prefix":"b9c87afdf4100549","entry":"view_int","repo":"Arthur-Heng/Spoiler-Detection","repo_kind":"official","path":"src/main_model.py","file_url":"https://github.com/Arthur-Heng/Spoiler-Detection/blob/HEAD/src/main_model.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":"b9c87afdf4100549"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}