{"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/generate-prune-select-a-pipeline-for","title":"Generate, Prune, Select: A Pipeline for Counterspeech Generation against Online Hate Speech","arxiv_id":"2106.01625","date":"2021-06-03","proceeding":"Findings (ACL) 2021 8","authors":["Wanzheng Zhu","Suma Bhat"],"abstract":"Countermeasures to effectively fight the ever increasing hate speech online without blocking freedom of speech is of great social interest. Natural Language Generation (NLG), is uniquely capable of developing scalable solutions. However, off-the-shelf NLG methods are primarily sequence-to-sequence neural models and they are limited in that they generate commonplace, repetitive and safe responses regardless of the hate speech (e.g., \"Please refrain from using such language.\") or irrelevant responses, making them ineffective for de-escalating hateful conversations. In this paper, we design a three-module pipeline approach to effectively improve the diversity and relevance. Our proposed pipeline first generates various counterspeech candidates by a generative model to promote diversity, then filters the ungrammatical ones using a BERT model, and finally selects the most relevant counterspeech response using a novel retrieval-based method. Extensive Experiments on three representative datasets demonstrate the efficacy of our approach in generating diverse and relevant counterspeech.","url_abs":"https://arxiv.org/abs/2106.01625v1","url_pdf":"https://arxiv.org/pdf/2106.01625v1.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":"generate-prune-select-a-pipeline-for","repo_url":"https://github.com/WanzhengZhu/GPS","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"blocking","task_name":"Blocking"},{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"text-generation","task_name":"Text Generation"}],"methods":[{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"attention-dropout","method_name":"Attention Dropout"},{"method_slug":"bert","method_name":"BERT"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"linear-warmup-with-linear-decay","method_name":"Linear Warmup With Linear Decay"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"weight-decay","method_name":"Weight Decay"},{"method_slug":"wordpiece","method_name":"WordPiece"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2106.01625","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.01625"}},"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/WanzhengZhu/GPS","reach":null}],"summary":{"ran":3,"ran_honours":1,"unverified":1},"by_repo_kind":{"official":{"samples":5,"ran":4,"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":"e875017624ad30ed","entry":"Encoder","repo":"WanzhengZhu/GPS","repo_kind":"official","path":"utility/VAE_Text_Generation/model.py","file_url":"https://github.com/WanzhengZhu/GPS/blob/HEAD/utility/VAE_Text_Generation/model.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":"e875017624ad30ed"}},{"code_sha256_prefix":"e8510709eb7b7403","entry":"Generator","repo":"WanzhengZhu/GPS","repo_kind":"official","path":"utility/VAE_Text_Generation/model.py","file_url":"https://github.com/WanzhengZhu/GPS/blob/HEAD/utility/VAE_Text_Generation/model.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":"e8510709eb7b7403"}},{"code_sha256_prefix":"0a1e7df167322686","entry":"Highway","repo":"WanzhengZhu/GPS","repo_kind":"official","path":"utility/VAE_Text_Generation/model.py","file_url":"https://github.com/WanzhengZhu/GPS/blob/HEAD/utility/VAE_Text_Generation/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0a1e7df167322686"}},{"code_sha256_prefix":"dbe417e862f849a7","entry":"get_cuda","repo":"WanzhengZhu/GPS","repo_kind":"official","path":"utility/VAE_Text_Generation/model.py","file_url":"https://github.com/WanzhengZhu/GPS/blob/HEAD/utility/VAE_Text_Generation/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dbe417e862f849a7"}},{"code_sha256_prefix":"378aabaa29bf27f8","entry":"VAE","repo":"WanzhengZhu/GPS","repo_kind":"official","path":"utility/VAE_Text_Generation/model.py","file_url":"https://github.com/WanzhengZhu/GPS/blob/HEAD/utility/VAE_Text_Generation/model.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":"378aabaa29bf27f8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}