{"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/bilateral-multi-perspective-matching-for","title":"Bilateral Multi-Perspective Matching for Natural Language Sentences","arxiv_id":"1702.03814","date":"2017-02-13","proceeding":null,"authors":["Zhiguo Wang","Wael Hamza","Radu Florian"],"abstract":"Natural language sentence matching is a fundamental technology for a variety\nof tasks. Previous approaches either match sentences from a single direction or\nonly apply single granular (word-by-word or sentence-by-sentence) matching. In\nthis work, we propose a bilateral multi-perspective matching (BiMPM) model\nunder the \"matching-aggregation\" framework. Given two sentences $P$ and $Q$,\nour model first encodes them with a BiLSTM encoder. Next, we match the two\nencoded sentences in two directions $P \\rightarrow Q$ and $P \\leftarrow Q$. In\neach matching direction, each time step of one sentence is matched against all\ntime-steps of the other sentence from multiple perspectives. Then, another\nBiLSTM layer is utilized to aggregate the matching results into a fix-length\nmatching vector. Finally, based on the matching vector, the decision is made\nthrough a fully connected layer. We evaluate our model on three tasks:\nparaphrase identification, natural language inference and answer sentence\nselection. Experimental results on standard benchmark datasets show that our\nmodel achieves the state-of-the-art performance on all tasks.","url_abs":"http://arxiv.org/abs/1702.03814v3","url_pdf":"http://arxiv.org/pdf/1702.03814v3.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":"bilateral-multi-perspective-matching-for","repo_url":"https://github.com/Elvirasun28/quora-question-duplicate","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"bilateral-multi-perspective-matching-for","repo_url":"https://github.com/MariBax/Paraphrase-Identification","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"bilateral-multi-perspective-matching-for","repo_url":"https://github.com/TieDanCuihua/Bilateral-Multi-Perspective-Matching-for-Natural-Language-Sentences","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"gone","observed_at":"2026-09-18","how":"tree_404+repo_404"}},{"paper_slug":"bilateral-multi-perspective-matching-for","repo_url":"https://github.com/galsang/BIMPM-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"bilateral-multi-perspective-matching-for","repo_url":"https://github.com/google-research-datasets/paws","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"bilateral-multi-perspective-matching-for","repo_url":"https://github.com/gprateek-iitk/Quora-question-pair-matching","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"bilateral-multi-perspective-matching-for","repo_url":"https://github.com/kunj17/keras-quora-question-pair","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"bilateral-multi-perspective-matching-for","repo_url":"https://github.com/meghu2791/DeepLearningModels","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"bilateral-multi-perspective-matching-for","repo_url":"https://github.com/vaibhav4595/BiMPM_PyTorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"bilateral-multi-perspective-matching-for","repo_url":"https://github.com/zhiguowang/BiMPM","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null}],"tasks":[{"task_slug":"natural-language-inference","task_name":"Natural Language Inference"},{"task_slug":"paraphrase-identification","task_name":"Paraphrase Identification"},{"task_slug":"sentence","task_name":"Sentence"}],"methods":[{"method_slug":"bilstm","method_name":"BiLSTM"},{"method_slug":"lstm","method_name":"LSTM"},{"method_slug":"sigmoid-activation","method_name":"Sigmoid Activation"},{"method_slug":"tanh-activation","method_name":"Tanh Activation"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/natural-language-inference-on-snli","task":"Natural Language Inference","dataset":"SNLI","model":"BiMPM Ensemble","rank_in_archive_order":30,"of":98,"metrics":{"% Test Accuracy":"88.8","% Train Accuracy":"93.2","Parameters":"6.4m"},"uses_additional_data":false},{"leaderboard":"/sota/natural-language-inference-on-snli","task":"Natural Language Inference","dataset":"SNLI","model":"BiMPM","rank_in_archive_order":42,"of":98,"metrics":{"% Test Accuracy":"87.5","% Train Accuracy":"90.9","Parameters":"1.6m"},"uses_additional_data":false},{"leaderboard":"/sota/paraphrase-identification-on-quora-question","task":"Paraphrase Identification","dataset":"Quora Question Pairs","model":"BiMPM","rank_in_archive_order":25,"of":31,"metrics":{"Accuracy":"88.17"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1702.03814","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1702.03814"}},"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/TieDanCuihua/Bilateral-Multi-Perspective-Matching-for-Natural-Language-Sentences","reach":{"status":"gone","observed_at":"2026-09-18","how":"tree_404+repo_404"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/galsang/BIMPM-pytorch","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/gprateek-iitk/Quora-question-pair-matching","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zhiguowang/BiMPM","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/meghu2791/DeepLearningModels","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MariBax/Paraphrase-Identification","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Elvirasun28/quora-question-duplicate","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vaibhav4595/BiMPM_PyTorch","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/google-research-datasets/paws","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kunj17/keras-quora-question-pair","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"listed":{"samples":4,"ran":1,"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":1,"samples":[{"code_sha256_prefix":"2a55d25a0b171082","entry":"one_hot","repo":"MariBax/Paraphrase-Identification","repo_kind":"listed","path":"BIMPM/bimpm.py","file_url":"https://github.com/MariBax/Paraphrase-Identification/blob/HEAD/BIMPM/bimpm.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2a55d25a0b171082"}},{"code_sha256_prefix":"d01b98faf4536c59","entry":"collect_vocabs","repo":"zhiguowang/BiMPM","repo_kind":"listed","path":"src/SentenceMatchTrainer.py","file_url":"https://github.com/zhiguowang/BiMPM/blob/HEAD/src/SentenceMatchTrainer.py","link_basis":"first_harvest_node","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":"d01b98faf4536c59"}},{"code_sha256_prefix":"9a2fbfc157264b95","entry":"evaluation","repo":"zhiguowang/BiMPM","repo_kind":"listed","path":"src/SentenceMatchTrainer.py","file_url":"https://github.com/zhiguowang/BiMPM/blob/HEAD/src/SentenceMatchTrainer.py","link_basis":"first_harvest_node","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":"9a2fbfc157264b95"}},{"code_sha256_prefix":"fe1479966006841a","entry":"output_probs","repo":"zhiguowang/BiMPM","repo_kind":"listed","path":"src/SentenceMatchTrainer.py","file_url":"https://github.com/zhiguowang/BiMPM/blob/HEAD/src/SentenceMatchTrainer.py","link_basis":"first_harvest_node","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":"fe1479966006841a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}