{"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/convert-efficient-and-accurate-conversational","title":"ConveRT: Efficient and Accurate Conversational Representations from Transformers","arxiv_id":"1911.03688","date":"2019-11-09","proceeding":"Findings of the Association for Computational Linguistics 2020","authors":["Matthew Henderson","Iñigo Casanueva","Nikola Mrkšić","Pei-Hao Su","Tsung-Hsien Wen","Ivan Vulić"],"abstract":"General-purpose pretrained sentence encoders such as BERT are not ideal for real-world conversational AI applications; they are computationally heavy, slow, and expensive to train. We propose ConveRT (Conversational Representations from Transformers), a pretraining framework for conversational tasks satisfying all the following requirements: it is effective, affordable, and quick to train. We pretrain using a retrieval-based response selection task, effectively leveraging quantization and subword-level parameterization in the dual encoder to build a lightweight memory- and energy-efficient model. We show that ConveRT achieves state-of-the-art performance across widely established response selection tasks. We also demonstrate that the use of extended dialog history as context yields further performance gains. Finally, we show that pretrained representations from the proposed encoder can be transferred to the intent classification task, yielding strong results across three diverse data sets. ConveRT trains substantially faster than standard sentence encoders or previous state-of-the-art dual encoders. With its reduced size and superior performance, we believe this model promises wider portability and scalability for Conversational AI applications.","url_abs":"https://arxiv.org/abs/1911.03688v2","url_pdf":"https://arxiv.org/pdf/1911.03688v2.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":"convert-efficient-and-accurate-conversational","repo_url":"https://github.com/davidalami/convert","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"convert-efficient-and-accurate-conversational","repo_url":"https://github.com/golsun/dialogrpt","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"convert-efficient-and-accurate-conversational","repo_url":"https://github.com/jordiclive/Convert-PolyAI-Torch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"convert-efficient-and-accurate-conversational","repo_url":"https://github.com/koujm/convert-tf","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"convert-efficient-and-accurate-conversational","repo_url":"https://github.com/phamnam-mta/ConveRT-PolyAI-Vietnamese","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"conversational-response-selection","task_name":"Conversational Response Selection"},{"task_slug":"intent-classification","task_name":"Intent Classification"},{"task_slug":"quantization","task_name":"Quantization"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"sentence","task_name":"Sentence"},{"task_slug":"intent-classification-1","task_name":"intent-classification"}],"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":[{"leaderboard":"/sota/conversational-response-selection-on-dstc7","task":"Conversational Response Selection","dataset":"DSTC7 Ubuntu","model":"Multi-context ConveRT","rank_in_archive_order":1,"of":5,"metrics":{"1-of-100 Accuracy":"71.2%"},"uses_additional_data":false},{"leaderboard":"/sota/conversational-response-selection-on-polyai-2","task":"Conversational Response Selection","dataset":"PolyAI AmazonQA","model":"ConveRT","rank_in_archive_order":1,"of":2,"metrics":{"1-of-100 Accuracy":"84.3%"},"uses_additional_data":false},{"leaderboard":"/sota/conversational-response-selection-on-polyai","task":"Conversational Response Selection","dataset":"PolyAI Reddit","model":"Multi-context ConveRT","rank_in_archive_order":1,"of":5,"metrics":{"1-of-100 Accuracy":"71.8%"},"uses_additional_data":false},{"leaderboard":"/sota/conversational-response-selection-on-polyai","task":"Conversational Response Selection","dataset":"PolyAI Reddit","model":"ConveRT","rank_in_archive_order":2,"of":5,"metrics":{"1-of-100 Accuracy":"68.3%"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1911.03688","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1911.03688"}},"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/jordiclive/Convert-PolyAI-Torch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/koujm/convert-tf","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/golsun/dialogrpt","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/davidalami/convert","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/phamnam-mta/ConveRT-PolyAI-Vietnamese","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":9},"by_repo_kind":{"listed":{"samples":9,"ran":0,"repositories":3}},"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":"3543ec8352987ea8","entry":"batching_input_features","repo":"phamnam-mta/ConveRT-PolyAI-Vietnamese","repo_kind":"listed","path":"convert/dataset.py","file_url":"https://github.com/phamnam-mta/ConveRT-PolyAI-Vietnamese/blob/HEAD/convert/dataset.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3543ec8352987ea8"}},{"code_sha256_prefix":"8dc9be760b88bb4e","entry":"calculate_query_reply_matching_loss","repo":"phamnam-mta/ConveRT-PolyAI-Vietnamese","repo_kind":"listed","path":"convert/criterion.py","file_url":"https://github.com/phamnam-mta/ConveRT-PolyAI-Vietnamese/blob/HEAD/convert/criterion.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8dc9be760b88bb4e"}},{"code_sha256_prefix":"b7b42b8d99ce0ee6","entry":"circulant_mask","repo":"jordiclive/Convert-PolyAI-Torch","repo_kind":"listed","path":"src/model_components.py","file_url":"https://github.com/jordiclive/Convert-PolyAI-Torch/blob/HEAD/src/model_components.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b7b42b8d99ce0ee6"}},{"code_sha256_prefix":"608d3bca79de9430","entry":"convert_collate_fn","repo":"phamnam-mta/ConveRT-PolyAI-Vietnamese","repo_kind":"listed","path":"convert/dataset.py","file_url":"https://github.com/phamnam-mta/ConveRT-PolyAI-Vietnamese/blob/HEAD/convert/dataset.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"608d3bca79de9430"}},{"code_sha256_prefix":"94cdcdc1b088a048","entry":"fast_gelu","repo":"koujm/convert-tf","repo_kind":"listed","path":"model/activations.py","file_url":"https://github.com/koujm/convert-tf/blob/HEAD/model/activations.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"94cdcdc1b088a048"}},{"code_sha256_prefix":"9ad1ec9772c32d18","entry":"find_subword_params","repo":"jordiclive/Convert-PolyAI-Torch","repo_kind":"listed","path":"src/model.py","file_url":"https://github.com/jordiclive/Convert-PolyAI-Torch/blob/HEAD/src/model.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9ad1ec9772c32d18"}},{"code_sha256_prefix":"dc1b23db6eb4a793","entry":"get","repo":"koujm/convert-tf","repo_kind":"listed","path":"model/activations.py","file_url":"https://github.com/koujm/convert-tf/blob/HEAD/model/activations.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"dc1b23db6eb4a793"}},{"code_sha256_prefix":"8752d74d06d9de7f","entry":"load_instances_from_reddit_dataset","repo":"phamnam-mta/ConveRT-PolyAI-Vietnamese","repo_kind":"listed","path":"convert/dataset.py","file_url":"https://github.com/phamnam-mta/ConveRT-PolyAI-Vietnamese/blob/HEAD/convert/dataset.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8752d74d06d9de7f"}},{"code_sha256_prefix":"72ea33f217cd57bd","entry":"load_instances_from_reddit_json","repo":"jordiclive/Convert-PolyAI-Torch","repo_kind":"listed","path":"src/dataset.py","file_url":"https://github.com/jordiclive/Convert-PolyAI-Torch/blob/HEAD/src/dataset.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"72ea33f217cd57bd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}