This model is finetuned for binary event detection on (sub)token-level: for each token the models outputs either I-event or O. The output of this model can be used as input for an event classification model.

Inference example:

from transformers import RobertaTokenizerFast, RobertaForTokenClassification
import torch

tokenizer = RobertaTokenizerFast.from_pretrained('globalise/GloBERTise-event-detector-general')
model = RobertaForTokenClassification.from_pretrained('general_model/GloBERTise-event-detector-general')

example_text = "Is niet te twijffelen ofte souder niet allene becommen dat onse Schepen voor althoos inde — reviere van Chincheo soude mogen onder pretecxt van Veij„„ „linghe blijven leggen Maer oock dat alle ende een ijegelijck die het wilde ende Ghelieffde met ons en Taijvan te — Comen met alderhande Coopmanschappen handelen gelicen„ „cieert werden, twelck Soo langhe alst niet en geschiet In geenen delen (naer de presente bevindinghe) te verhoopen is dat de Compe tot haer voornemen sal Geraecken — eenen eenigen ouden Versufften Simpsou die met de twee voorsz: Grooten eens is ende met haer ende prof¬ fijten die Sij vuijt het Leveren der Sijde ende tot noch toe andere weijnighe waren Getrocken hebben deelt, is met Bastandt t'gene vuijt Nederlandt Gheeijst wort- ende verscheijden Sortementen Voor Japan dienstich - te versorghen ofte op te Coopen want tot noch toe- met emet - ins Meare „ 1"

inputs = tokenizer(
    example_text, add_special_tokens=False, return_tensors="pt"
)

with torch.no_grad():
    logits = model(**inputs).logits

predicted_token_class_ids = logits.argmax(-1)

predicted_tokens_classes = [model.config.id2label[t.item()] for t in predicted_token_class_ids[0]]

zipped = zip(inputs['input_ids'].flatten(), predicted_tokens_classes)

output = []
current_word = ""
current_label = "O"
def flush_word():
    if current_word:
        if current_label == "I-event":
            stripped_word = current_word.lstrip(" ")
            output.append(f" [{stripped_word}]")
        else:
            output.append(current_word)


for id, label in zipped:
    is_new_word = tokenizer.decode(id).startswith(" ") or not current_word

    if is_new_word:
        flush_word()
        current_word = tokenizer.decode(id)
        current_label = label
    else:
        current_word += tokenizer.decode(id)
        if label == "I-event":
            current_label = "I-event"

# Flush the last word
flush_word()

# Step 3: Join the output into a sentence
sentence = "".join(output)

print(sentence)

Output:

Is niet te twijffelen ofte souder niet allene becommen dat onse Schepen voor althoos inde — reviere van Chincheo soude mogen onder pretecxt van Veij„„ „linghe [blijven] [leggen] Maer oock dat alle ende een ijegelijck die het wilde ende Ghelieffde met ons en Taijvan te — [Comen] met alderhande Coopmanschappen [handelen] [gelicen„] [„cieert] werden, twelck Soo langhe alst niet en geschiet In geenen delen (naer de presente bevindinghe) te verhoopen is dat de Compe tot haer [voornemen] sal [Geraecken] — eenen eenigen ouden Versufften Simpsou die met de twee voorsz: Grooten eens is ende met haer ende prof¬ fijten die Sij vuijt het [Leveren] der Sijde ende tot noch toe andere weijnighe waren [Getrocken] hebben deelt, is met Bastandt t'gene vuijt Nederlandt [Gheeijst] wort- ende verscheijden Sortementen Voor Japan dienstich - te [versorghen] ofte [op] [te] [Coopen] want tot noch toe- met emet - ins Meare „ 1

Downloads last month
3
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for globalise/GloBERTise-event-detector-general

Finetuned
(3)
this model