Model Card for GeoLM model for Toponym Recognition
<!-- Provide a quick summary of what the model is/does. [Optional] --> A language model for detecting toponyms (i.e. place names) from sentences. We pretrain the GeoLM model on world-wide OpenStreetMap (OSM), WikiData and Wikipedia data, then fine-tune it for Toponym Recognition task on GeoWebNews dataset
Model Details
Model Description
<!-- Provide a longer summary of what this model is/does. --> Pretrain the GeoLM model on world-wide OpenStreetMap (OSM), WikiData and Wikipedia data, then fine-tune it for Toponym Recognition task on GeoWebNews dataset
<!--- Developed by: UMN Knowledge Computing Lab & USC LUKA Lab -->
- Model type: Language model for geospatial understanding
- Language(s) (NLP): en
- License: cc-by-nc-2.0
- Parent Model: https://huggingface.co/zekun-li/geolm-base-cased <!---- Resources for more information: Zekun Li (li002666[Shift+2]umn.edu) -->
Uses
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. --> This is a fine-tuned GeoLM model for toponym detection task. The inputs are sentences and outputs are detected toponyms.
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. --> <!-- If the user enters content, print that. If not, but they enter a task in the list, use that. If neither, say "more info needed." -->
To use this model, please refer to the code below.
- Option 1: Load weights to a BERT model (Same procedure as the demo on the right side panel)
import torch
from transformers import AutoModelForTokenClassification, AutoTokenizer
# Model name from Hugging Face model hub
model_name = "zekun-li/geolm-base-toponym-recognition"
# Load tokenizer and model
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForTokenClassification.from_pretrained(model_name)
# Example input sentence
input_sentence = "Minneapolis, officially the City of Minneapolis, is a city in the state of Minnesota and the county seat of Hennepin County."
# Tokenize input sentence
tokens = tokenizer.encode(input_sentence, return_tensors="pt")
# Pass tokens through the model
outputs = model(tokens)
# Retrieve predicted labels for each token
predicted_labels = torch.argmax(outputs.logits, dim=2)
predicted_labels = predicted_labels.detach().cpu().numpy()
# Decode predicted labels
predicted_labels = [model.config.id2label[label] for label in predicted_labels[0]]
# Print predicted labels
print(predicted_labels)
# ['O', 'B-Topo', 'O', 'O', 'O', 'O', 'O', 'B-Topo', 'O', 'O', 'O', 'O', 'O', 'O',
# 'O', 'O', 'B-Topo', 'O', 'O', 'O', 'O', 'O', 'B-Topo', 'I-Topo', 'I-Topo', 'O', 'O', 'O']
- Option 2: Load weights to a GeoLM model
To appear soon
Training Details
Training Data
<!-- This should link to a Data Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
GeoWebNews (Credit to Gritta et al.)
Download link: https://github.com/milangritta/Pragmatic-Guide-to-Geoparsing-Evaluation/blob/master/data/GWN.xml
Training Procedure
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
Speeds, Sizes, Times
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
More information needed
Evaluation
<!-- This section describes the evaluation protocols and provides the results. -->
Testing Data & Metrics & Results
Testing Data
<!-- This should link to a Data Card if possible. -->
More information needed
Metrics
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
More information needed
Results
More information needed
Technical Specifications [optional]
Model Architecture and Objective
More information needed
Compute Infrastructure
More information needed
Bias, Risks, and Limitations
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
Significant research has explored bias and fairness issues with language models (see, e.g., Sheng et al. (2021) and Bender et al. (2021)). Predictions generated by the model may include disturbing and harmful stereotypes across protected classes; identity characteristics; and sensitive, social, and occupational groups.
Citation
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
BibTeX:
More information needed
APA:
More information needed
Model Card Author [optional]
<!-- This section provides another layer of transparency and accountability. Whose views is this model card representing? How many voices were included in its construction? Etc. -->
<!--- Zekun Li (li002666[Shift+2]umn.edu) -->