Views
No views yet
| Variant | F1 | Precision | Recall | Eval Dataset |
|---|---|---|---|---|
| bilineal (default) | 0.9948 | 0.9948 | 0.9949 | MX/CO/ES/PE/CL names |
| unilineal | 0.9927 | 0.9927 | 0.9927 | AR/US/BR/PT names |
| Variant | Countries | Surname Pattern | Subfolder |
|---|---|---|---|
| bilineal (default) | MX, CO, ES, PE, CL | Double surname (paternal + maternal) | / (root) |
| unilineal | AR, US, BR, PT | Single surname | unilineal/ |
1from tori.inference import load_pipeline, split_name
2
3# Default: bilineal model (double-surname countries)
4pipe = load_pipeline("ittailup/tori2")
5result = split_name(pipe, "Juan Carlos García López")
6print(result.forenames) # ['Juan', 'Carlos']
7print(result.surnames) # ['García', 'López']
8
9# Unilineal model (single-surname countries)
10pipe = load_pipeline("ittailup/tori2", variant="unilineal")
11result = split_name(pipe, "John Michael Smith")
12print(result.forenames) # ['John', 'Michael']
13print(result.surnames) # ['Smith']O — Outside any name entityB-forenames — Beginning of forenameI-forenames — Inside forename (continuation)B-surnames — Beginning of surnameI-surnames — Inside surname (continuation)aggregation_strategy="simple".
Use the tori.inference module which handles subword aggregation correctly,
or use aggregation_strategy="none" and aggregate tokens yourself using
character offsets.