Skip to main content

Punctuation restoration library

Project description

Punctuation restoration

Adds punctuation and capitalization for a given text without punctuation.

Works on Danish, German and English.

Models hosted on huggingface! ❤️ 🤗

Status with python 3.8

example workflow example workflow

Installation

pip install punctfix

Usage

Its quite simple to use!

>>> from punctfix import PunctFixer
>>> fixer = PunctFixer(language="da")

>>> example_text = "mit navn det er rasmus og jeg kommer fra firmaet alvenir det er mig som har trænet denne lækre model"
>>> print(fixer.punctuate(example_text))
'Mit navn det er Rasmus og jeg kommer fra firmaet Alvenir. Det er mig som har trænet denne lækre model.'

>>> example_text = "en dag bliver vi sku glade for, at vi nu kan sætte punktummer og kommaer i en sætning det fungerer da meget godt ikke"
>>> print(fixer.punctuate(example_text)) 
'En dag bliver vi sku glade for, at vi nu kan sætte punktummer og kommaer i en sætning. Det fungerer da meget godt, ikke?' 

Note that, per default, the input text will be normalied. See next section for more details.

Parameters for PunctFixer

  • Pass device="cuda" or device="cpu" to indicate where to run inference. Default is device="cpu"
  • To handle long sequences, we use a chunk size and an overlap. These can be modified. For higher speed but lower acuracy use a chunk size of 150-200 and very little overlap i.e. 5-10. These parameters are set with default values word_chunk_size=100, word_overlap=70 which makes it run a bit slow. The default parameters will be updated when we have some results on variations.
  • Supported languages are "en" for English, "da" for Danish and "de" for German. Default is language="da".
  • Note that the fixer has been trained on normalized text (lowercase letters and numbers) and will per default normalize input text. You can instantiate the model with skip_normalization=True to disable this but this might yield errors on some input text.
  • To raise warnings every time the input is normalied, set warn_on_normalization=True.

Contribute

If you encounter issues, feel free to open issues in the repo and then we will fix. Even better, create issue and then a PR that fixes the issue! ;-)

Happy punctuating!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

punctfix-0.11.0.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

punctfix-0.11.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file punctfix-0.11.0.tar.gz.

File metadata

  • Download URL: punctfix-0.11.0.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.14

File hashes

Hashes for punctfix-0.11.0.tar.gz
Algorithm Hash digest
SHA256 c1a90e9bc559978914dc429cf2ad66ae68ad433d0c02ac72d5fef7a2de6c01c8
MD5 9bac0eeef529541de1128ccbe8fba9f5
BLAKE2b-256 fc3b01a40120dc2582505366cefe14b84a9fbc91b05fccc3a7bc406d153bcde3

See more details on using hashes here.

File details

Details for the file punctfix-0.11.0-py3-none-any.whl.

File metadata

  • Download URL: punctfix-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.14

File hashes

Hashes for punctfix-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a81eaedba036113b7c52d7da6d014750caba6af2c4b8816227d093e697225126
MD5 32e8c59c48805225c1ca03119bce9a00
BLAKE2b-256 a7d232d09695495cf5d177a9e522e14db39e91cacd63ef7d8607265142783cda

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page