viklofg's picture
Update README.md
84b1380
metadata
language:
  - sv
widget:
  - text: >-
      Den i HandelstidniDgens g&rdagsnnmmer omtalade hvalfisken, sorn fångats i
      Frölnndaviken
    example_title: 'News article #1'
  - text: En Gosse fur plats nu genast ! inetallyrkc, JU 83 Drottninggatan.
    example_title: 'News article #2'
  - text: AfgäiigStiden bestämmes wid fartyget» hltkomst.
    example_title: 'News article #3'
  - text: >-
      Elt godt Fortepiano om 6 octaver, ifräân Contra-F till o< med fyrſtrukna
      F, förfäljes af underte>uad för 260 R:dr Rgs.
    example_title: Long-s piano ad

Swedish OCR correction

This model corrects OCR errors in Swedish text.

Try it!

  • On short texts in the inference widget to the right ->
  • On files or longer texts in the demo

Model Description

This model is a fine-tuned version of byt5-small, a character-level multilingual transformer. The fine-tuning data consists of OCR samples from Swedish newspapers and historical documents. The model works on texts up to 128 UTF-8 bytes (see Length limit).

Training Data

The base model byt5 is pre-trained on mc4. This fine-tuned version is further trained on:

This data includes characters not used in Swedish today, such as the long s (ſ) and the esszett ligature (ß), which means that the model should be able to handle texts with these characters. See for example the example titled Long-s piano ad in the inference widget to the right.

Usage

Use the code below to get started with the model.

from transformers import pipeline, T5ForConditionalGeneration, AutoTokenizer

model = T5ForConditionalGeneration.from_pretrained('viklofg/swedish-ocr-correction')
tokenizer = AutoTokenizer.from_pretrained('google/byt5-small')
pipe = pipeline('text2text-generation', model=model, tokenizer=tokenizer)

ocr = 'Den i HandelstidniDgens g&rdagsnnmmer omtalade hvalfisken, sorn fångats i Frölnndaviken'
output = pipe(ocr)
print(output)

Length limit

The model accepts input sequences of at most 128 UTF-8 bytes, longer sequences are truncated to this limit. 128 UTF-8 bytes corresponds to slightly less than 128 characters of Swedish text since most characters are encoded as one byte, but non-ASCII characters such as Å, Ä, and Ö are encoded as two (or more) bytes.