Skip to main content

A multilingual grammaticality util based on LanguageTool

Project description

LTScore

Cysill wrapper to score Welsh texts' grammaticality. As it connects to the Cysill API, ensure to have a working internet connexion before using it.

Installation:

pip install ltscore

Run the Docker image locally

You can download the LanguageTool image from Docker Hub, then using the port 8010 as indicated below.

docker pull erikvl87/languagetool
docker run --rm -p 8010:8010 erikvl87/languagetool

For more details about the Docker container's configuration, see this link.

LTScore as a CLI

There are two ways to use the CLI, either by entering a text file's path, or directly a text. The CLI returns a string of numbers representing the grammaticality score of the text.

# With a text as a positional character
ltscore -l br "Kalz a tud a zo amañ!"
# With a -p or --path flag
ltscore -l br -p ./src/ltscore/assets/text-sample-br.txt 

or alternatively with the pipe operator:

cat src/ltscore/assets/text-sample-br.txt | ltscore -l br

JSON file processing

Given a file data.ndjson with the following content:

{"source": "'Mañ an dud o tont.", "target": "Les gens arrivent.", "prediction": "Les gens vient."}
{"source": "Un devezh dilabour eo Lun Fask.", "target": "Le lundi de Pâques est un jour férié.", "prediction": "Le lundi de Pâques ai un jours fériée."}

running ltscore -t prediction -l fr -p data.ndjson and will get the file updated in the following way:

{"source":"'Mañ an dud o tont.","target":"Les gens arrivent.","prediction":"Les gens vient.","ltscore":33.333333333333336,"mistake_categories":["CAT_GRAMMAIRE"]}
{"source":"Un devezh dilabour eo Lun Fask.","target":"Le lundi de Pâques est un jour férié.","prediction":"Le lundi de Pâques ai un jours fériée.","ltscore":25.0,"mistake_categories":["CAT_HOMONYMES_PARONYMES","AGREEMENT"]}

LTScore as a library

One can also use this package as a python library:

from ltscore import get_score, get_mistakes

# get the scores
df["scores"] = df.apply(lambda row: get_score(row["text"], language=row["language"]), axis=1)
# returns a list of mistakes for each text
df["mistakes"] = df.apply(lambda row: get_mistakes(row["text"], language=row["language"]), axis=1)

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

ltscore-1.0.1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ltscore-1.0.1-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file ltscore-1.0.1.tar.gz.

File metadata

  • Download URL: ltscore-1.0.1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ltscore-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c3e72b508116fd78a49f8872400f593a12ae2f91c2c46136d1b77f1ee42ad9d4
MD5 19164688cf4130b6b82ce645eaca4bc0
BLAKE2b-256 c789e5d97b4e52d3810c0c545a480a6ac0b7f32ef8d11688983a7c15ff857013

See more details on using hashes here.

Provenance

The following attestation bundles were made for ltscore-1.0.1.tar.gz:

Publisher: publish.yml on Cymru-Breizh/LTScore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ltscore-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: ltscore-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ltscore-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f35b29de501556cc4d443943b205bd1d774cc35cd72987c00330fa43a6052998
MD5 919801f8a947601ad8111ce24ec94509
BLAKE2b-256 75b493e85d5e42f1ab293f0b988b3a4428ecc6e39949b2ff641fa9f5c3d1df2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ltscore-1.0.1-py3-none-any.whl:

Publisher: publish.yml on Cymru-Breizh/LTScore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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