Skip to main content

Deep Transliteration for Indic Languages

Project description

AI4Bharat Transliteration Application

Deep Indic Xlit Engine

A deep transliteration engine for major languages of the Indian sub-continent.

This package provides support for:

  1. Python Library for transliteration from Roman to Native text (using NN-based models)
  2. HTTP API exposing for interation with web applications

Languages Supported

ISO 639 code Language
bn Bengali
gom Konkani Goan
gu Gujarati
hi Hindi
kn Kannada
mai Maithili
ml Malayalam
mr Marathi
pa Punjabi (Eastern)
sd Sindhi (Western)
si Sinhala
ta Tamil
te Telugu
ur Urdu

Usage

Python Library

Import the transliteration engine by:

from ai4bharat.transliteration import XlitEngine

Example 1 : Using word Transliteration

e = XlitEngine("hi")
out = e.translit_word("aam", topk=5, beam_width=10)
print(out)
# output:{'hi': ['कम्प्यूटर', 'कंप्यूटर', 'कम्पूटर', 'कम्पुटर', 'कम्प्युटर']}

Note:

  • beam_width increases beam search size, resulting in improved accuracy but increases time/compute.
  • topk returns only specified number of top results.

Example 2 : Using Sentence Transliteration

e = XlitEngine("ta")
out = e.translit_sentence("vanakkam ulagam !", beam_width=10)
print(out)
# output: {'ta': 'வணக்கம் உலகம் !'}

Note:

  • Only single top most prediction is returned for each word in sentence.

Example 3 : Using Multiple language Transliteration

e = XlitEngine(["ta", "ml"])
# leave empty or use "all" to load all available languages
# e = XlitEngine("all)

out = e.translit_word("amma", topk=5, beam_width=10)
print(out)
# {'ta': ['அம்மா', 'அம்ம', 'அம்மை', 'ஆம்மா', 'ம்மா'], 'ml': ['അമ്മ', 'എമ്മ', 'അമ', 'എഎമ്മ', 'അഎമ്മ']}

out = e.translit_sentence("hello world", beam_width=10)
print(out)
# output: {'ta': 'ஹலோ வார்ல்ட்', 'ml': 'ഹലോ വേൾഡ്'}

## Specify language name to get only specific language result
out = e.translit_word("amma", lang_code = "ml", topk=5, beam_width=10)
print(out)
# output: ['അമ്മ', 'എമ്മ', 'അമ', 'എഎമ്മ', 'അഎമ്മ']

Web API Server

  1. Make required modification in SSL paths in api_expose.py. By default set to local host and both http & https are enabled.

  2. Run the API expose code:
    $ sudo env PATH=$PATH python3 api_expose.py
    (Export GOOGLE_APPLICATION_CREDENTIALS if needed, by default functions realted to Google cloud is disabled.)

  3. In browser (or) curl, use link as http://{IP-address}:{port}/tl/{lang-id}/{word in eng script}
    If debug mode enabled port will be 8000, else port will be 80.

Example:
http://localhost:80/tl/ta/amma
http://localhost:80/languages


Release Notes

This package contains applications built around the Transliteration engine. The contents of this package can also be downloaded from latest GitHub release is sufficient for inference usage.

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

ai4bharat-transliteration-0.5.0.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

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

ai4bharat_transliteration-0.5.0-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file ai4bharat-transliteration-0.5.0.tar.gz.

File metadata

  • Download URL: ai4bharat-transliteration-0.5.0.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for ai4bharat-transliteration-0.5.0.tar.gz
Algorithm Hash digest
SHA256 b0a2a36126a6c21b4499aedb8bbc77f32c2f034514a1ef47ce437cc3492fb53e
MD5 cb14364ecd13bb182a04970113129e86
BLAKE2b-256 dde4435a66ada0750b20f9c097020f665317c216612a2ca88b75d4a8007c5077

See more details on using hashes here.

File details

Details for the file ai4bharat_transliteration-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: ai4bharat_transliteration-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for ai4bharat_transliteration-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24a268b2ef596b6e286a5047fb058fe6c139fd40e63fefaef790650ecedad50e
MD5 668c4eef45ffd7681bf157da47164cb8
BLAKE2b-256 ecdf7f815b14f20f32cb279f6c013807279460bfd41ae854df6463017a6d5eec

See more details on using hashes here.

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