Skip to main content

URBaMT: Universal Rule-based Machine Translation Toolkit

Project description

URBaMT: Universal Rule-Based Machine Translation toolkit

A tool for translating text from source grammar to target grammar (context-free) with corresponding dictionary.

Why not translate it yourself when Google Translate cannot satisfy you❓

CircleCI Codacy Badge Codacy Badge PyPI version GitHub release Maintenance License

Installation

pip install urbamt

Usage

from urbamt import Translator

# Source sentence to be translated
src_sentences = ["I love good dogs", "I hate bad dogs"]

# Source grammar in nltk parsing style
src_grammar = """
                S -> NP VP
                NP -> PRP
                VP -> VB NP
                NP -> JJ NN
                PRP -> 'I'
                VB -> 'love' | 'hate'
                JJ -> 'good' | 'bad'
                NN -> 'dogs'
                """

# Some edit within source grammar to target grammar
src_to_target_grammar =  {
    "NP -> JJ NN": "NP -> NN JJ" # in Vietnamese NN goes before JJ
}

# Word-by-word dictionary from source language to target language
en_to_vi_dict = {
    "I":"tôi",
    "love":"yêu",
    "hate":"ghét",
    "dogs":"những chú_chó",
    "good":"ngoan",
    "bad":"hư"
    }

translator = Translator(src_grammar = src_grammar,
                            src_to_tgt_grammar = src_to_target_grammar,
                            src_to_tgt_dictionary = en_to_vi_dict)

trans_sentences = translator.translate(src_sentences) 
# This should returns ['tôi yêu những chú_chó ngoan', 'tôi ghét những chú_chó hư']

License

This repository is using the Apache 2.0 license that is listed in the repo. Please take a look at LICENSE as you wish.

BibTeX

If you wish to cite the framework feel free to use this (but only if you loved it 😊):

@misc{phat2020urbamt,
  author = {Patrick Phat},
  title = {URBaMT: Universal Rule-Based Machine Translation toolkit},
  year = {2020},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/urbamt/urbamt}},
}

Contributors:

  • Patrick Phat Nguyen

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

urbamt-0.0.1b4.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

urbamt-0.0.1b4-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file urbamt-0.0.1b4.tar.gz.

File metadata

  • Download URL: urbamt-0.0.1b4.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

File hashes

Hashes for urbamt-0.0.1b4.tar.gz
Algorithm Hash digest
SHA256 5678810745a8095f9b08442a47444ce479a51f7f7bfb6cacaacf00a1fbadaf30
MD5 712523706f1a095ca4252d00feb92a86
BLAKE2b-256 e5cc7f0c6a850de13823f97f664ee05b4b68c04bdf2f25249a6db7215b9b3eac

See more details on using hashes here.

File details

Details for the file urbamt-0.0.1b4-py3-none-any.whl.

File metadata

  • Download URL: urbamt-0.0.1b4-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

File hashes

Hashes for urbamt-0.0.1b4-py3-none-any.whl
Algorithm Hash digest
SHA256 8eb5286e7ebf453ca1bbc3aeba9909bfb3b730e85c272e63d243690072a372e6
MD5 f11528dcdeaa61352caba4ef4398e391
BLAKE2b-256 5c3e53dab4e44eb8234a07e62d8a344df538124a83831667ac1c85e99ef47893

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