{"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/human-and-automatic-detection-of-generated","title":"Automatic Detection of Generated Text is Easiest when Humans are Fooled","arxiv_id":"1911.00650","date":"2019-11-02","proceeding":"ACL 2020 6","authors":["Daphne Ippolito","Daniel Duckworth","Chris Callison-Burch","Douglas Eck"],"abstract":"Recent advancements in neural language modelling make it possible to rapidly generate vast amounts of human-sounding text. The capabilities of humans and automatic discriminators to detect machine-generated text have been a large source of research interest, but humans and machines rely on different cues to make their decisions. Here, we perform careful benchmarking and analysis of three popular sampling-based decoding strategies---top-$k$, nucleus sampling, and untruncated random sampling---and show that improvements in decoding methods have primarily optimized for fooling humans. This comes at the expense of introducing statistical abnormalities that make detection easy for automatic systems. We also show that though both human and automatic detector performance improve with longer excerpt length, even multi-sentence excerpts can fool expert human raters over 30% of the time. Our findings reveal the importance of using both human and automatic detectors to assess the humanness of text generation systems.","url_abs":"https://arxiv.org/abs/1911.00650v2","url_pdf":"https://arxiv.org/pdf/1911.00650v2.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":"human-and-automatic-detection-of-generated","repo_url":"https://github.com/kirubarajan/roft","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"human-and-automatic-detection-of-generated","repo_url":"https://github.com/kirubarajan/trick","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"benchmarking","task_name":"Benchmarking"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"sentence","task_name":"Sentence"},{"task_slug":"text-generation","task_name":"Text Generation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1911.00650","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1911.00650"}},"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/kirubarajan/roft","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kirubarajan/trick","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"listed":{"samples":6,"ran":0,"repositories":2}},"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":"036b76d1aab8ff74","entry":"content_filter","repo":"kirubarajan/trick","repo_kind":"listed","path":"generation/content_filter.py","file_url":"https://github.com/kirubarajan/trick/blob/HEAD/generation/content_filter.py","link_basis":"harvester_set","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":"036b76d1aab8ff74"}},{"code_sha256_prefix":"e3b1a763e169ffeb","entry":"cutoff_prompt","repo":"kirubarajan/roft","repo_kind":"listed","path":"generation/inference_scripts/roft_ctrl_generator.py","file_url":"https://github.com/kirubarajan/roft/blob/HEAD/generation/inference_scripts/roft_ctrl_generator.py","link_basis":"harvester_set","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":"e3b1a763e169ffeb"}},{"code_sha256_prefix":"08315f7f8aabbadb","entry":"cutoff_prompt","repo":"kirubarajan/roft","repo_kind":"listed","path":"generation/inference_scripts/roft_gpt2batch_generator.py","file_url":"https://github.com/kirubarajan/roft/blob/HEAD/generation/inference_scripts/roft_gpt2batch_generator.py","link_basis":"harvester_set","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":"08315f7f8aabbadb"}},{"code_sha256_prefix":"188bfe6cd3c544b2","entry":"download_sampling_file","repo":"kirubarajan/roft","repo_kind":"listed","path":"generation/finetuning_scripts/roft_gpt2_finetuning.py","file_url":"https://github.com/kirubarajan/roft/blob/HEAD/generation/finetuning_scripts/roft_gpt2_finetuning.py","link_basis":"harvester_set","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":"188bfe6cd3c544b2"}},{"code_sha256_prefix":"3d784c8b761ec9af","entry":"fix_quotation_marks","repo":"kirubarajan/roft","repo_kind":"listed","path":"generation/inference_scripts/roft_gpt2_generator.py","file_url":"https://github.com/kirubarajan/roft/blob/HEAD/generation/inference_scripts/roft_gpt2_generator.py","link_basis":"harvester_set","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":"3d784c8b761ec9af"}},{"code_sha256_prefix":"e4ec01aaf7c17a31","entry":"roft_prompts_json_to_dataset","repo":"kirubarajan/roft","repo_kind":"listed","path":"generation/finetuning_scripts/roft_gpt2_finetuning.py","file_url":"https://github.com/kirubarajan/roft/blob/HEAD/generation/finetuning_scripts/roft_gpt2_finetuning.py","link_basis":"harvester_set","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":"e4ec01aaf7c17a31"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}