pere/nb-asr-numerics-categorized-smoke-test
Norwegian Bokmål Numeric Expression Categorized Dataset This dataset represents Stage 2 of the Norwegian numerics-data pipeline. It contains semantic validation and categorization annotations of the Norwegian numeric expression sentences harvested in Stage 1. Source Dataset Harvested Dataset: pere/nb-asr-numerics-harvested (approx. 3.8 million rows across 6 shards). Processing Architecture Inference Model: google/gemma-4-12B-it (instruction-tuned… See the full description on the dataset page: https://huggingface.co/datasets/pere/nb-asr-numerics-categorized-smoke-test.
Norwegian Bokmål Numeric Expression Categorized Dataset
This dataset represents Stage 2 of the Norwegian numerics-data pipeline. It contains semantic validation and categorization annotations of the Norwegian numeric expression sentences harvested in Stage 1.
Source Dataset
- Harvested Dataset: pere/nb-asr-numerics-harvested (approx. 3.8 million rows across 6 shards).
Processing Architecture
- Inference Model:
google/gemma-4-12B-it(instruction-tuned, run in BF16 precision). - Parallelization: 6 independent single-GPU worker jobs (mapped to GPUs 0–5 on H200 systems).
- Prompt Template Version:
categorize_v1 - Decoding Settings:
do_sample: falsetemperature: 0.0top_p: 1.0
Core Annotation Policy
- All numeric expressions must be assigned to categories from the closed ontology.
- Binary decision:
keepordrop. Uncertainty, malformations, or unsupported categories force adropdecision. - Overlapping ranges and unmatched digits are strictly validated and force a
dropdecision. - Factual correctness is not required, only grammatical and semantic contextual validity.
Schema Details
categories: List of unique sorted category names in the sentence.category_signature: "+"-separated sorted category names (no duplicates).entity_count: Total number of numeric entities in the sentence.has_constraints: Whether the sentence has numeric constraints.decision:keepordrop.entities: Annotated semantic entities (offsets, text, categories, harvested spans maps).constraints: Structural and semantic relationship constraints.
Categorization Prompt Template (categorize_v1)
Du skal kvalitetssikre og kategorisere én norsk bokmålsetning som inneholder tall eller numeriske uttrykk.
Formålet er å finne setninger som senere kan brukes som maler for å generere nye, gyldige setninger med andre tallverdier.
Du skal ikke vurdere om påstanden i setningen er faktisk, historisk eller vitenskapelig sann. Det er tillatt at senere utskifting av tall endrer fakta.
Eksempel:
«Grunnloven ble vedtatt i 1815.» kan beholdes. 1815 fungerer som et gyldig årstall i setningen, selv om påstanden er historisk feil.
Du skal derimot forkaste setninger med ugyldige numeriske uttrykk.
Eksempel:
«Han ble født 45. januar.» skal forkastes fordi «45. januar» ikke er en gyldig dato.
Returner bare ett gyldig JSON-objekt. Ikke bruk Markdown, kodegjerder, forklaringer eller tekst utenfor JSON-objektet.
Setningen kan bare få én av to avgjørelser:
1. "keep"
2. "drop"
Det finnes ingen kategori for «annet», «ukjent», «usikker» eller «tvetydig».
Forkast hele setningen dersom:
- setningen ikke er tydelig norsk bokmål;
- setningen er ugrammatisk eller ufullstendig;
- setningen mangler nødvendig kontekst;
- et numerisk uttrykk er ugyldig;
- funksjonen til et numerisk uttrykk er uklar;
- et numerisk uttrykk ikke kan plasseres sikkert i en tillatt kategori;
- et numerisk uttrykk i setningen ikke er oppdaget;
- grensene til et numerisk uttrykk ikke kan bestemmes nøyaktig;
- setningen ikke kan brukes som grunnlag for en gyldig tallmal;
- nødvendige forhold mellom flere tall ikke kan uttrykkes med de tillatte begrensningene.
Alle numeriske uttrykk i en beholdt setning må kategoriseres.
Et semantisk numerisk uttrykk kan bestå av flere av de forhåndsoppdagede delspennene.
Eksempel:
I «fra 1. januar 2011» kan «1.» og «2011» være oppdaget separat, men hele «1. januar 2011» skal behandles som ett uttrykk i kategorien "date".
Tillatte kategorier:
- cardinal
- large_cardinal
- ordinal
- quantity
- age
- year
- date
- time
- duration
- money
- price
- percentage
- decimal
- fraction
- range
- temperature
- distance
- weight
- volume
- speed
- area
- measurement
- score
- result
- ranking
- phone_number
- emergency_number
- postal_code
- address
- house_number
- road_number
- room_number
- floor_number
- car_registration
- flight_number
- train_number
- bus_route
- personal_identifier
- organisation_number
- bank_account_number
- invoice_number
- customer_number
- order_number
- case_number
- reference_number
- serial_number
- tracking_number
- product_model
- version_number
- software_version
- code
- pin
- legal_section
- chapter_number
- page_number
- ip_address
- coordinate
- mathematical_expression
- scientific_notation
Bruk sammenhengen i setningen, ikke bare formen på sifrene.
Eksempler:
- «i 1945» → year
- «kode 1945» → code
- «rom 1945» → room_number
- «det kostet 1945 kroner» → price
- «12 personer» → quantity
- «buss 12» → bus_route
- «side 12» → page_number
- «12 år gammel» → age
- «EL12345» brukt som bilskilt → car_registration
- «13:45» brukt som klokkeslett → time
- «3–2» som resultat i en fotballkamp → score
- «3–5 dager» → range eller et samlet varighetsuttrykk, avhengig av setningen
Tillatte begrensningstyper mellom uttrykk:
- less_than
- less_than_or_equal
- greater_than
- greater_than_or_equal
- chronological_order
- same_date
- same_year
- same_unit
- same_currency
- same_value
- different_value
- range_order
- duration_component
- score_pair
- arithmetic_relation
- weekday_date_consistency
- age_year_consistency
Legg bare til begrensninger som må bevares for at senere utskifting av tall skal gi en gyldig setning.
Ved "keep" skal JSON følge denne formen:
{
"decision": "keep",
"entities": [
{
"entity_id": "n1",
"text": "<nøyaktig tekstutdrag fra setningen>",
"start": <startposisjon, nullbasert>,
"end": <sluttposisjon, eksklusiv>,
"category": "<tillatt kategori>",
"atomic_span_indices": [<indekser til relevante forhåndsoppdagede spenn>]
}
],
"constraints": [
{
"type": "<tillatt begrensningstype>",
"entity_ids": ["n1", "n2"]
}
]
}
Ved "drop" skal JSON følge denne formen:
{
"decision": "drop",
"drop_reason": "<tillatt forkastelsesgrunn>"
}
Tillatte forkastelsesgrunner:
- not_bokmaal
- ungrammatical_sentence
- incomplete_sentence
- missing_context
- invalid_numeric_expression
- unclear_numeric_function
- unclassified_numeric_expression
- missed_numeric_expression
- invalid_entity_boundary
- unsupported_relationship
- not_template_suitable
- malformed_text
Setning:
{{TEXT}}
Forhåndsoppdagede numeriske spenn:
{{NUMERIC_SPANS_JSON}}
Aggregate Run Statistics
{
"total_source_rows": 120,
"kept_rows": 69,
"dropped_rows": 51,
"keep_rate": 0.575,
"first_pass_json_failures": 43,
"retry_count": 43,
"retry_success_rate": 0.418605,
"model_output_failures": 25,
"multi_category_sentence_count": 6,
"compound_entity_count": 2,
"category_counts": {
"year": 17,
"quantity": 6,
"age": 3,
"measurement": 3,
"date": 2,
"price": 2,
"product_model": 2,
"percentage": 1,
"time": 1,
"large_cardinal": 1,
"reference_number": 1,
"money": 1,
"phone_number": 1,
"range": 1,
"chapter_number": 1
},
"category_signatures": {
"": 32,
"year": 14,
"age": 3,
"measurement": 3,
"quantity": 2,
"product_model": 2,
"quantity+year": 1,
"date": 1,
"percentage": 1,
"price+year": 1,
"time": 1,
"large_cardinal+year": 1,
"date+quantity": 1,
"reference_number": 1,
"price+quantity": 1,
"money": 1,
"phone_number": 1,
"range": 1,
"chapter_number+quantity": 1
},
"constraint_counts": {},
"drop_reasons": {
"model_output_failure": 25,
"unknown": 23,
"invalid_numeric_expression": 2,
"ungrammatical_sentence": 1
},
"part_checksums": {
"shard_00/part-00000.parquet": "837e6ca3a96f844f7dd154de56cf3b7bd6532922d1a4bc926bf9fc922c603a59",
"shard_01/part-00000.parquet": "5692a69fc1334bb676c29d118a1a822d37bbe21c4d19eb77d3f65d394e809d19",
"shard_02/part-00000.parquet": "ae1a6e9235ff11d7fdfaca24cbf1ac1004ca58da8adf3af0df965393e5d49a8d",
"shard_03/part-00000.parquet": "7074668484be1ea8420c961c7d17fa55eec0cac47eb7b745140b82ba998dbe4e",
"shard_04/part-00000.parquet": "252e97a47fbd7c8005d758c1a6d93d3ca8c1cde7eeabb58c4ac76ca5430c9cb6",
"shard_05/part-00000.parquet": "cf5f01d109e71a38d267e433ff5783924cd7c3f7443b79c408179f843a276f62"
}
}