Open Source Tamil NLP Tools - Tamil Natural Language Processing
Clone or download
Muthiah Annamalai
Muthiah Annamalai merge with tip
Latest commit 4ec9826 Nov 15, 2018
Failed to load latest commit information.
C-tamil travis-YML try to run C-tests Apr 5, 2015
conference-publications Conference article for 2018 Tamil Internet Conference by INFITT; Jun 4, 2018
doc update with primary doc Dec 15, 2014
examples Tamil morse code script to generate Madurai corpus data based Unigram… Aug 18, 2018
java Bugfix/#136 (#142) Mar 24, 2018
js/mottie-keyboard 1) add BadIME tester Bad IME checking rule #56; Oct 14, 2015
keyboard 1) add BadIME tester Bad IME checking rule #56; Oct 14, 2015
maruthe Madurai search Aug 14, 2018
ngram iteratively process files to build N-gram corpus Aug 18, 2018
ruby utf-8 encoding for Ruby 1.93 or later Oct 14, 2015
solthiruthi Tamil Morse code using Project Madurai data Aug 18, 2018
spell update version number for development repo Apr 1, 2018
tamil has_english API method to module tamil.utf8 Nov 15, 2018
tests has_english API method to module tamil.utf8 Nov 15, 2018
transliterate Fix #154 - Transliteratator copies untranslated input to output as pe… Apr 14, 2018
webapp Fix Revers Words html Bug Aug 21, 2018
webspell Fix Missing JS libraries at static folder #127 Nov 20, 2017
.coveralls.yml 1) add coverage testing\ Oct 14, 2015
.gitignore Ignore pyc and db/sqlite files in future Apr 4, 2018
.travis.yml Updated Travis CI file for change in their environment Apr 27, 2018
AUTHORS AUTHORS as symlink Mar 17, 2018
CONTRIBUTING.txt 1) proper nouns for solthiruthi. Oct 14, 2015
CREDITS Adding stop words list for Tamil text processing based on R Ashok`s w… Apr 27, 2018
Dockerfile Adding 'Dockerfile' Feb 19, 2018
LICENSE We are able to buid a Tamil Morse code based on Huffman encoding and Aug 15, 2018 flight manifest - like; add v # bump Jan 15, 2014 Improve README readability and formatting (#162) May 20, 2018 sphinx execute mode Aug 14, 2018 1) Conference publications in last 4 years of Open-Tamil Mar 31, 2018 0) Build correct Sphinx documentation for Open-Tamil: Mar 31, 2018
index.rst 0) Build correct Sphinx documentation for Open-Tamil: Mar 31, 2018 1) is_normalized : function detects usage of non-normalized Unicode f… Feb 6, 2015 v-.2.3 Jan 28, 2014
runcoverage 1. to_unicode_repr : 2-3 compatible Apr 12, 2015
runnosetests 1) getAllWordsPrefix() API Oct 14, 2015 run web spell Feb 18, 2016 Finish #166 - Tamil phrasebook with class ParallelDictionary and addi… Jul 29, 2018 spell updates for python 3 Feb 21, 2016 - driver Dec 15, 2017
unittest move tests to tests folder Feb 7, 2015
unittest2.6 2.6 tests Apr 4, 2015
unittest3 move tests to tests folder Feb 7, 2015

open-tamil Build Status Documentation Status

Open Source Tamil Tools and Tamil Library for Python 2, 3 திற மூல தமிழ் கருவிகள்

மென்பொருள் (Software)

பைதான் தொகுப்புகள் (Python Packages)

'tamil' என்ற பைதான் தொகுப்பை வழங்குகிறோம்


open-tamil provides Python package 'tamil' with ability to,

  1. map unicode code-points to Tamil letters - basic but important parsing - in a routine called get_letters from a Tamil word tamil.utf8.get_letters and tamil.utf8.get_letters_iterable API return the Tamil letters from the unicode points of a normalized unicode string. These routines are written with efficiency in mind, and tested for accuracy.

  2. work with vowels (uyir) and consonants (mei), compound, uyir-mei letters

  3. reverse letters in Tamil word

  4. numeral - convert a given number (integer) into a numeral in Indian or American based system. e.g. following call will return the string

         >> tamil.numeral.num2tamilstr_american( long(1e7) )
         u"பத்து மில்லியன்",

Tamil Text Encode to Unicode Converter and vice versa.
If you don't you know what your Tamil text encoding is, don't worry; the tamil.txt2unicode.auto2unicode function will find it and convert to unicode for you.
யுனிகோட் மாற்றி மற்றும் மாறாகவும் தமிழ் உரைக் குறியாக்கம்.
உங்களது தமிழ் உரைக் குறியீடு என்னவென்று தெரியாதெனில், நீங்கள் கவலை கொள்ளத் தேவையில்லை; tamil.txt2unicode.auto2unicode செயல்பாடு இதனைக் கண்டறியும் மற்றும் இதனை யுனிகோடுக்கு மாற்றும்.

Right now, it supports 25 known Tamil encodings. Read more details about txt2unicode and limitation of auto2unicode and unicode2auto.
தற்சமயம், இது 25 தமிழ் குறியாக்கம் கொண்ட எழுத்துருக்களை ஆதரிக்கிறது. txt2unicode பற்றி மேலும் விவரங்களும் 'auto2unicode' மற்றும் 'unicode2auto'-வின் [குறைபாடுகளையும்] (examples/txt2unicode/encodes_chars/ காண்க.


Tamil Unicode Text to International Phonetic Alphabet (IPA) converter Read more details about txt2ipa சர்வதேச (ஐபிஏ) மாற்றி, தமிழ் யுனிகோட் உரை; மேலும் விபரங்களுக்கு -> படிக்க இங்கு சொடுக்கவும்.


The python package transliterate provides for commonly used transliteration phonetic schemes like,

  1. Azhagi - phonetic maps for all Tamil letters - many -> one supporting multiple form inputs
  2. Jaffna Library - phonetic maps for all Tamil letters - one->one
  3. Combinational layout - based on phonetic mapping of vowel+consonant

where you can supply English text, which phonetically encodes Tamil, and then receive Unicode encoded, in a best-effort algorithm for the longest phonetic match.

transliterate தொகுப்பு பொதுவாக பயன்படுத்தப்படும் ஒலிபெயர்ப்புகளை வழங்குகிறது; அவை,

  1. அழகி - தமிழ் கடிதங்கள் ஒலிப்பு வரைபடங்கள் - பல -> ஒரு ஆதரவு பல வடிவம் உள்ளீடுகள்
  2. யாழ்ப்பாண நூலகம் - தமிழ் கடிதங்கள் ஒலிப்பு வரைபடங்கள் - ஒன்று> ஒரு
  3. பலதரப்பட்ட அமைப்பு - உயிர் + மெய் உச்சரிப்பு மேப்பிங் அடிப்படையில்


The package under C-tamil provides some of the same functionality as Python 'tamil' but in ISO-C for C/C++ use.
சி தமிழ்
பைதான் 'தமிழ்' தொகுப்பில் உள்ள சில பயன்பாடுகளை 'சி தமிழ்' ஐஎஸ்ஓ-சி-யில், சி/சி++ பயன்படுத்தும் வகையில் கொடுக்கும்.

திரை விசைப்பலகை (Onscreen Keyboard)

Open-tamil provides the keyboard layout in the file keyboard/tamil.js for they jQuery UI plugin.
'tamil.js' விசைப்பலகை அமைப்பை வழங்குகிறது.

மாதிரிகள் (Language Models)

Basic support for letter unigram, bigram models using UTF-8 based corpora are supported in the package 'ngram/' which supports unigram model at the moment. More complex language models are expected to be developed soon.
எழுத்து unigram அடிப்படை ஆதரவு, மற்றும் UTF-8 அடிப்படையில் சொற்கிடங்கின் பயன்படுத்தி bigram மாதிரிகள் 'ngram/' தொகுப்பால் ஆதரிக்கப்படுகின்றன, தற்பொழுது அது மாதிரி unigram-ஐ ஆதரிக்கிறது. மிகவும் நுணுக்கமான மொழி மாதிரிகள் விரைவில் அபிவிருத்தி செய்யப்படும் என எதிர்பார்க்கப்படுகிறது.

நிறுவுதல் (Installation)

Installation from Python Package Index is also recommended, following the commands,

$ pip install open-tamil

உதாரணங்கள் (Examples)

Open-Tamil is a set of Python libraries which can help your application - web, system software, GUI on desktop etc. support Tamil text processing, inputs etc.

Open-Tamil is still a basic collection of tools - its not complete yet. We have keyboard layouts, converters to change old encoding to UTF-8, N-gram language models, transliterators etc.

Examples for using Python Open-Tamil are found here.

ஓபன்-தமிழ் என்பது தொகுக்கப்பட்ட பைதான் நூலகமாகும், உங்கள் வலை, கணினி நிரல், முகத்திரை வரைகலை மற்றும் பல தமிழ் எழுத்துரு செயற்பாடுகளுக்கு மிகவும் உதவியாக இருக்கும்.
ஓபன்-தமிழ் என்பது அடிப்படை தொகுப்புக்களை மட்டுமே கொண்ட கருவிகளாகும், இது இன்னும் முழுமை பெறவில்லை. இதில் UTF-8, என்-கிராம் மொழி மாதிரிகள், transliterators முதலியன பழைய முறையை மாற்ற விசைப்பலகை அமைப்பு, மாற்றிகள் உள்ளன. பைதான் ஓபன் தமிழ் பயன்படுத்தி உதாரணங்கள் இங்கு காணப்படுகின்றன.

இலக்குகள் (Goals)

Goal of this package is to collect and develop open-source licensed Tamil tools, in one location that provide the following,

  1. Unicode standard tools for Tamil - provide various tools for Tamil Unicode development. Currently 25 encodes are supported, read about it here
  2. Access Unicode Tamil letters, vowels and consonants.
  3. Breakdown Tamil glyphs and unicode code-points into Tamil letter representations - collation
  4. Tools for navigating a corpus of data, build word frequency, prediction tables etc.
  5. Conversion from various encodings. e.g. TSCII to Unicode etc. We hope eventually to converts between the other major Tamil encodings like TAB, TAM, Bamini (insert-your-favortie-font-encoding) into Tamil Unicode encoding.
  6. Support all of above in Python 2.6.x, 2.7.x as well as in Python3.

While most of tools in this package will be in Python 2.6. or later, we are open to other open-source language source code contributions.

Contributing to Open-Tamil

  1. Please add your code, and unit tests under MIT, GNU GPL or ASF licenses.
  2. Update your code into modules, add unit tests following the Python flake8, pylint standards
  3. Please do not mix TABS and SPACES. Use 4-space for Tabs.
  4. Make sure your module installed as part of pip package
  5. Ensure your code works for Python 2 and 3.

பற்றி (About)

Tamil is classical language primarily spoken in South India. தமிழ் முதன்மையாக தென் இந்தியாவில் பேசப்படும் பாரம்பரிய மொழி ஆகும்.