{"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/geolm-empowering-language-models-for","title":"GeoLM: Empowering Language Models for Geospatially Grounded Language Understanding","arxiv_id":"2310.14478","date":"2023-10-23","proceeding":null,"authors":["Zekun Li","Wenxuan Zhou","Yao-Yi Chiang","Muhao Chen"],"abstract":"Humans subconsciously engage in geospatial reasoning when reading articles. We recognize place names and their spatial relations in text and mentally associate them with their physical locations on Earth. Although pretrained language models can mimic this cognitive process using linguistic context, they do not utilize valuable geospatial information in large, widely available geographical databases, e.g., OpenStreetMap. This paper introduces GeoLM, a geospatially grounded language model that enhances the understanding of geo-entities in natural language. GeoLM leverages geo-entity mentions as anchors to connect linguistic information in text corpora with geospatial information extracted from geographical databases. GeoLM connects the two types of context through contrastive learning and masked language modeling. It also incorporates a spatial coordinate embedding mechanism to encode distance and direction relations to capture geospatial context. In the experiment, we demonstrate that GeoLM exhibits promising capabilities in supporting toponym recognition, toponym linking, relation extraction, and geo-entity typing, which bridge the gap between natural language processing and geospatial sciences. The code is publicly available at https://github.com/knowledge-computing/geolm.","url_abs":"https://arxiv.org/abs/2310.14478v1","url_pdf":"https://arxiv.org/pdf/2310.14478v1.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":"geolm-empowering-language-models-for","repo_url":"https://github.com/knowledge-computing/geolm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"articles","task_name":"Articles"},{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"entity-typing","task_name":"Entity Typing"},{"task_slug":"language-modeling","task_name":"Language Modeling"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"masked-language-modeling","task_name":"Masked Language Modeling"},{"task_slug":"relation-extraction","task_name":"Relation Extraction"},{"task_slug":"toponym-recognition","task_name":"Toponym Recognition"}],"methods":[{"method_slug":"contrastive-learning","method_name":"Contrastive Learning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2310.14478","atlas_url":"https://app.syntology.ai/?focus=2310.14478","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.14478"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/knowledge-computing/geolm","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/Novetta/CLAVIN","reach":{"status":"gone","observed_at":"2026-09-17","how":"tree_404+repo_404"}}],"summary":{"ran":10,"unverified":1},"by_repo_kind":{"official":{"samples":11,"ran":10,"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":11,"samples":[{"code_sha256_prefix":"483c5387f9dc84fa","entry":"find_ref_closest_match","repo":"knowledge-computing/geolm","repo_kind":"official","path":"src/utils/find_closest.py","file_url":"https://github.com/knowledge-computing/geolm/blob/HEAD/src/utils/find_closest.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"483c5387f9dc84fa"}},{"code_sha256_prefix":"e209dd4d34fbfc1b","entry":"find_self_closest_match","repo":"knowledge-computing/geolm","repo_kind":"official","path":"src/utils/find_closest.py","file_url":"https://github.com/knowledge-computing/geolm/blob/HEAD/src/utils/find_closest.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e209dd4d34fbfc1b"}},{"code_sha256_prefix":"4a7b3a6c2f6fab08","entry":"get_bert_embedding","repo":"knowledge-computing/geolm","repo_kind":"official","path":"src/utils/common_utils.py","file_url":"https://github.com/knowledge-computing/geolm/blob/HEAD/src/utils/common_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4a7b3a6c2f6fab08"}},{"code_sha256_prefix":"6d00a7557de88993","entry":"get_geoname_features","repo":"knowledge-computing/geolm","repo_kind":"official","path":"experiments/entity_linking/link_geonames.py","file_url":"https://github.com/knowledge-computing/geolm/blob/HEAD/experiments/entity_linking/link_geonames.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6d00a7557de88993"}},{"code_sha256_prefix":"913999c02161eece","entry":"get_nl_feature","repo":"knowledge-computing/geolm","repo_kind":"official","path":"experiments/entity_linking/link_geonames.py","file_url":"https://github.com/knowledge-computing/geolm/blob/HEAD/experiments/entity_linking/link_geonames.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"913999c02161eece"}},{"code_sha256_prefix":"bc4204f020925bdc","entry":"get_offset_mapping","repo":"knowledge-computing/geolm","repo_kind":"official","path":"experiments/entity_linking/link_geonames.py","file_url":"https://github.com/knowledge-computing/geolm/blob/HEAD/experiments/entity_linking/link_geonames.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bc4204f020925bdc"}},{"code_sha256_prefix":"d065f9d1e3e79707","entry":"get_spatialbert_embedding","repo":"knowledge-computing/geolm","repo_kind":"official","path":"src/utils/common_utils.py","file_url":"https://github.com/knowledge-computing/geolm/blob/HEAD/src/utils/common_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d065f9d1e3e79707"}},{"code_sha256_prefix":"f4ca4e7649a98226","entry":"load_spatial_bert_pretrained_weights","repo":"knowledge-computing/geolm","repo_kind":"official","path":"src/utils/common_utils.py","file_url":"https://github.com/knowledge-computing/geolm/blob/HEAD/src/utils/common_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f4ca4e7649a98226"}},{"code_sha256_prefix":"1039c0eead864adc","entry":"revert_dict","repo":"knowledge-computing/geolm","repo_kind":"official","path":"src/dataset_utils/const.py","file_url":"https://github.com/knowledge-computing/geolm/blob/HEAD/src/dataset_utils/const.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1039c0eead864adc"}},{"code_sha256_prefix":"cdea0bc961051adc","entry":"sort_ref_closest_match","repo":"knowledge-computing/geolm","repo_kind":"official","path":"src/utils/find_closest.py","file_url":"https://github.com/knowledge-computing/geolm/blob/HEAD/src/utils/find_closest.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cdea0bc961051adc"}},{"code_sha256_prefix":"0e212eae08644f3a","entry":"get_baseline_model","repo":"knowledge-computing/geolm","repo_kind":"official","path":"src/utils/baseline_utils.py","file_url":"https://github.com/knowledge-computing/geolm/blob/HEAD/src/utils/baseline_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0e212eae08644f3a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}