{"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/artificial-text-boundary-detection-with","title":"AI-generated text boundary detection with RoFT","arxiv_id":"2311.08349","date":"2023-11-14","proceeding":null,"authors":["Laida Kushnareva","Tatiana Gaintseva","German Magai","Serguei Barannikov","Dmitry Abulkhanov","Kristian Kuznetsov","Eduard Tulchinskii","Irina Piontkovskaya","Sergey Nikolenko"],"abstract":"Due to the rapid development of large language models, people increasingly often encounter texts that may start as written by a human but continue as machine-generated. Detecting the boundary between human-written and machine-generated parts of such texts is a challenging problem that has not received much attention in literature. We attempt to bridge this gap and examine several ways to adapt state of the art artificial text detection classifiers to the boundary detection setting. We push all detectors to their limits, using the Real or Fake text benchmark that contains short texts on several topics and includes generations of various language models. We use this diversity to deeply examine the robustness of all detectors in cross-domain and cross-model settings to provide baselines and insights for future research. In particular, we find that perplexity-based approaches to boundary detection tend to be more robust to peculiarities of domain-specific data than supervised fine-tuning of the RoBERTa model; we also find which features of the text confuse boundary detection algorithms and negatively influence their performance in cross-domain settings.","url_abs":"https://arxiv.org/abs/2311.08349v3","url_pdf":"https://arxiv.org/pdf/2311.08349v3.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":"artificial-text-boundary-detection-with","repo_url":"https://github.com/silversolver/ai_boundary_detection","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"boundary-detection","task_name":"Boundary Detection"},{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"text-detection","task_name":"Text Detection"},{"task_slug":"text-generation","task_name":"Text Generation"},{"task_slug":"topological-data-analysis","task_name":"Topological Data Analysis"}],"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":"roberta","method_name":"RoBERTa"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"weight-decay","method_name":"Weight Decay"},{"method_slug":"wordpiece","method_name":"WordPiece"}],"datasets_introduced":[{"slug":"roft-chatgpt","name":"RoFT-chatgpt","full_name":""}],"methods_introduced":[],"results":[{"leaderboard":"/sota/boundary-detection-on-roft","task":"Boundary Detection","dataset":"RoFT","model":"RoBERTa + SEP","rank_in_archive_order":2,"of":4,"metrics":{"Accuracy (%)":"49.64","MSE":"2.63"},"uses_additional_data":false},{"leaderboard":"/sota/boundary-detection-on-roft","task":"Boundary Detection","dataset":"RoFT","model":"PHD + TS ML","rank_in_archive_order":3,"of":4,"metrics":{"Accuracy (%)":"23.50","MSE":"14.14"},"uses_additional_data":false},{"leaderboard":"/sota/boundary-detection-on-roft","task":"Boundary Detection","dataset":"RoFT","model":"TLE + TS Binary","rank_in_archive_order":4,"of":4,"metrics":{"Accuracy (%)":"12.58","MSE":"22.23"},"uses_additional_data":false},{"leaderboard":"/sota/boundary-detection-on-roft-chatgpt","task":"Boundary Detection","dataset":"RoFT-chatgpt","model":"RoBERTa + SEP","rank_in_archive_order":2,"of":4,"metrics":{"Accuracy (%)":"54.61","MSE":"3.06"},"uses_additional_data":false},{"leaderboard":"/sota/boundary-detection-on-roft-chatgpt","task":"Boundary Detection","dataset":"RoFT-chatgpt","model":"TLE + TS Binary","rank_in_archive_order":3,"of":4,"metrics":{"Accuracy (%)":"20.02","MSE":"18.52"},"uses_additional_data":false},{"leaderboard":"/sota/boundary-detection-on-roft-chatgpt","task":"Boundary Detection","dataset":"RoFT-chatgpt","model":"PHD + TS ML","rank_in_archive_order":4,"of":4,"metrics":{"Accuracy (%)":"17.29","MSE":"14.45"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2311.08349","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.08349"}},"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/silversolver/ai_boundary_detection","reach":{"status":"ok"}}],"summary":{"ran":1},"by_repo_kind":{"official":{"samples":1,"ran":1,"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":1,"samples":[{"code_sha256_prefix":"8e8cac04daff4e38","entry":"clean_string","repo":"silversolver/ai_boundary_detection","repo_kind":"official","path":"perplexity.py","file_url":"https://github.com/silversolver/ai_boundary_detection/blob/HEAD/perplexity.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8e8cac04daff4e38"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}