Skip to main content

Alignment tool for texts in different languages

Project description

PyPI - PyPi Downloads

Lingtrain Aligner

ML powered library for the accurate texts alignment in different languages.

Cover

Purpose

Main purpose of this alignment tool is to build parallel corpora using two or more raw texts in different languages. Texts should contain the same information (i.e., one text should be a translated analog oh the other text). E.g., it can be the Drei Kameraden by Remarque in German and the Three Comrades — it's translation into English.

Process

There are plenty of obstacles during the alignment process:

  • The translator could translate several sentences as one.
  • The translator could translate one sentence as many.
  • There are some service marks in the text
    • Page numbers
    • Chapters and other section headings
    • Author and title information
    • Notes

While service marks can be handled manually (the tool helps to detect them), the translation conflicts should be handled more carefully.

Lingtrain Aligner tool will do almost all alignment work for you. It matches the sentence pairs automatically using the multilingual machine learning models. Then it searches for the alignment conflicts and resolves them. As output you will have the parallel corpora either as two distinct plain text files or as the merged corpora in widely used TMX format.

Supported languages and models

Automated alignment process relies on the sentence embeddings models. Embeddings are multidimensional vectors of a special kind which are used to calculate a distance between the sentences. Supported languages list depend on the selected backend model.

  • distiluse-base-multilingual-cased-v2
    • more reliable and fast
    • moderate weights size — 500MB
    • supports 50+ languages
    • full list of supported languages can be found in this paper
  • LaBSE (Language-agnostic BERT Sentence Embedding)
    • can be used for rare languages
    • pretty heavy weights — 1.8GB
    • supports 100+ languages
    • full list of supported languages can be found here

Profit

  • Parallel corpora by itself can used as the resource for machine translation models or for linguistic researches.
  • My personal goal of this project is to help people building parallel translated books for the foreign language learning.

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

lingtrain-aligner-0.8.7.tar.gz (46.5 kB view details)

Uploaded Source

Built Distribution

lingtrain_aligner-0.8.7-py3-none-any.whl (49.4 kB view details)

Uploaded Python 3

File details

Details for the file lingtrain-aligner-0.8.7.tar.gz.

File metadata

  • Download URL: lingtrain-aligner-0.8.7.tar.gz
  • Upload date:
  • Size: 46.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.13 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

File hashes

Hashes for lingtrain-aligner-0.8.7.tar.gz
Algorithm Hash digest
SHA256 37b9a7472b8af3e210aa1a9153c604db4eaeaf3bf036f7bcb65634079f1d2189
MD5 23a95781bf8e94507164eed0f3cc2fac
BLAKE2b-256 3b8be70ab4a0a3ae773e16b91c3935297fdde6b74f00fe1e6aafa617d8f02386

See more details on using hashes here.

File details

Details for the file lingtrain_aligner-0.8.7-py3-none-any.whl.

File metadata

  • Download URL: lingtrain_aligner-0.8.7-py3-none-any.whl
  • Upload date:
  • Size: 49.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.13 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

File hashes

Hashes for lingtrain_aligner-0.8.7-py3-none-any.whl
Algorithm Hash digest
SHA256 e954ba539475088ab018d582b5f13249c6cbc993ff8e6dbc31290178baac6334
MD5 d9e3b180977112e3306d0ecf10a598fd
BLAKE2b-256 2680e37d4218b6eaca691296a7bc0da1fb53342367c7fd9a6141cf776280830e

See more details on using hashes here.

Supported by

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