உளியருவி – Tamil tools for AI/ML


In 2022 we are reaching a point where more Tamil datasets are available than Tamil tools – arunthamizh அருந்தமிழ். However the accessibility of fully-trained models and capability of providing pre-trained models are much harder and still require domain expertise in hardware and software. Personally I have published some small Jupyter notebooks (see here), and some simple articles, but they still remain inadequate to scale the breadth of Tamil computing needs in AI world among:

  1. NLP – Text Classification, Recommendation, Spell Checking, Correction tasks
  2. TTS – speech synthesis tasks
  3. ASR – speech recognition

While sufficient data exist for 1, the private corpora for speech tasks (அருந்தமிழ் பட்டியல்), the public corpora of a 300hr voice dataset recently published from Mozilla Common Voice (University of Toronto, Scarborough, Canada leading Tamil effort here) have enabled data completion to a large degree for tasks 2 and 3.

Ultimately the tooling provides capability to quickly compose AI services based on open-source tools and existing compute environment to host services and devices in Tamil space.


My proposal is the following:

  1. Develop a open-source toolbox for pre-training and task training specialization
  2. Identify good components to base effort
  3. Contribute engineering effort, testing, and validation
    1. R&D – DataScience, Infra, AI framework
    2. Engineering Validation – DataScience, Tamil language expertise
    3. Engineering – packaging, documentation, distribution
    4. Project management
  4. Library to be liberally licensed MIT/BSD
  5. Open-Source license for developed models
  6. Find hardware resources for AI model pre-training etc.
  7. Managed by a steering committee / nominated BDFL
  8. Scope – decade time frame
  9. TBD – மேலும் பல.


Let’s build a pytorch-lightning like API for Tamil tasks across NLP, TTS, ASR via AI.

Leave your thoughts by email ezhillang -at- gmail -dot- com, or in comments section.

Google CoLab – இணையம் வழி நிரல்களை பழகுதல்

என்ன :

கூகிள் நிறுவனம் CoLab – Code-Laboratory என்ற ஒரு சோவையை பெரும்பாலும் பைத்தான் வழி செயற்கையறிவு நிரல்களை (TensorFlow கொண்டு)  உருவாக்க பொதுமக்களுக்கு வழ்ங்கியுள்ளது. ஆனால் இதனை தமிழ் கணிமைக்கு பயன்படுத்தலாமா ? ஆம்.



ஒரு உதாரணமாக இந்த ‘பயில் தமிழ்’ interactive python (ipynb) நோட் புத்தகத்தில் (சுட்டி இங்கு) தொடங்கினால் எப்படி ஓப்பன் தமிழ் நிரல் தொகுப்பை பரிசோதிக்கலாம் என்று காணமுடியும்.

முதலில் ஒப்பன் தமிழ் நிரல் தொகுப்பை நிறுவ வேண்டும் – இதற்கு ‘!pip3 install open-tamil’ என்ற கட்டளையை கொடுக்கவும். அடுத்து ‘play’ பட்டன் அழுத்தியோ அல்லது ‘Ctrl + Enter’ விசைகளை அழுத்திபயோ இவற்றை இயக்கலாம்.

மேல் உள்ள உதாரண நிரல் துண்டின் வரிகள் 1 முதல் வரி 6 வரை இருக்கின்றன. இதன் பயன்பாட்டினைக் கொண்டு இலவசமாக எந்த வித சிரிய நிரல்களையும்  நீங்கள் இயக்கிட முடியும். ஓப்பன் தமிழ் போன்ற நிரல் தொகுப்புக்களை நீங்கள் எங்களது ஆவணக்கூருகள், மற்றும் உதாரணங்கள் மூலம் இந்த மேகக்கணிமை சேவையால் பரிசோதிக்கலாம்.





Open-Tamil v0.7 release

I’m happy to announce Open-Tamil 0.7 release, today 23rd March, 2018. Open-Tamil is distributed under MIT license, and available for Python 2.6, 2.7, 3+ and PyPy platforms, via the Python Package index at https://pypi.python.org/pypi/Open-Tamil/0.7

You can install the package via ‘$ pip install –upgrade open-tamil’ command issued in your console.

Following updates are made to the Python package:

  1. Series of command line tools will be installed into your Python (for Windows) or local/bin directory (for Linux) with this release. The command line tools are,


1. tamilphonetic – convert EN input to Tamil text

2. tamilwordfilter – filter Tamil input only from all input text data

3. tamilurlfilter – filter Tamil text from the input website data

4. tamiltscii2utf8 – convert encoding from TSCII to UTF-8 for input file

5. tamilwordgrid – generate a crossword from Tamil input text and write to output.html file

6. tamilwordcount – like UNIX wc program but for Tamil

  1. Transliteration package updates: Reverse transliteration functions is added; Univ of Madras scheme support is added.
  2. Tamil package: added text summarizer tool via module ‘tamil.utils.SummaryTool’
  3. Solthiruthi package updates: To do spell checking reasonable times and ability to identify and correct many classes of errors are added.
  4. Bug fixes for issues in get_letters(), tamil.numeral, added capability for generating string version of numerals in Tamil [previously only numeric version was supported]

In addition to the package, a web interface was developed for Open-Tamil in Django hosted at http://tamilpesu.us for demonstrating some of our capabilities.

We like to thank all our contributors in general, and in particular those members who contributed new code or bug fixes going into this release.

Previous release was v0.67 on Aug 23rd, 2017 and v0.65 was released on Oct 22nd 2016. Please share the word, and send us any bugs, feature requests or feedback via our github page https://github.com/Ezhil-Language-Foundation/open-tamil


Muthu for Open-Tamil team.

Chennai, India.

open-tamil on web

Today, you are welcome to play with open-tamil API via web at http://tamilpesu.us

Generating multiplication tables via Open-Tamil APIs’: http://tamilpesu.us/vaypaadu/

This is collective work of our team underlying the website (written in Django+Python) highlighting various aspects of open-tamil like transliteration, numeral generation, encoding converters, spell checker among other things. At this time I hope to keep the website running through most of this year, and add features as git-repo https://github.com/Ezhil-Language-Foundation/open-tamil gets updated.

Thanks to Mr. Syed Abuthahir, many months ago, in winter of 2017, he has developed an interface for open-tamil on the web and shared with us under GNU Affero GPL terms. Later, we is added as part of main open-tamil as well.

Open-Tamil moves forward; come join us!


ஆய்வு கட்டுரைகள் – தமிழ் இணைய மாநாடு

இந்த ஆண்டு தமிழ் இணைய மாநாடு டொரோண்டோ நகரில் நடைபெறவுள்ளது. இதனை ஒட்டி எழில் மொழி அறக்கட்டளை திட்டத்தின் கீழ் இரண்டு கட்டுரைகள் எழுதி ஒப்புதலுக்காக சமர்பித்துள்ளோம்.

இதில் எவையேனும் அல்லது இரண்டும் தேர்ந்தெடுக்கப்பட்டால் மாநாட்டில் பேச வசதியாக இருக்கும்.

கட்டுரை தலைப்புகள்,

  1. “எழில் – பொது பயன்பாட்டிற்கும், வெளியீடு நோக்கிய சவால்களும்”
  2. “Tamil Open-Source Landscape – Opportunities and Challenges”

பொறுத்திருந்து பார்ப்போம். கட்டுரையில் பங்களித்தவர்கள் அனைவருக்கும் நன்றி.




காண்டாமிருகம் எங்கே ?

விக்கிபீடியா – வெற்றி நடை!

தமிழ் கணிமை எப்போதுமே வளர்ந்து கொண்டே போகுமா ? இந்த வாரம் விக்கிப்பீடியா தமிழ் திட்டத்தில் 1 இலட்சம் கட்டுரைகளை எட்டியது. விக்கிபீடியா பங்களிப்பாளர்களுக்கும் தனி-தமிழ் (நா லேதண்டி) ஆர்வலர்களுக்கும்  வாழ்த்துக்கள்!


ஒதுக்கப்பட்ட கோணம்

தமிழ் திறமூல திட்டங்கள் என்பது அக்ஷயப்பாத்திரம் கிடையாது; எங்களது நிலை பற்றி எனது ( opinionated ) கோணம்.

ஒரு பரிபால அமெரிக்க ராப் கலைஞர் ஜே.சி “Heaven” என்ற பாடலில்  கேட்கிறான்,

“Question religion, question it all
Question existence until them questions are solved”

இதற்கும் சாதாரணமாக தமிழ் கணிமை பத்தி எழுதும் இந்த வலைப்பூவில் என்ன சம்பந்தம் ? அதில் காண்டாமிருகம் எங்கே என்பதற்கும் தலைக்கும் காலுக்கும் முடிச்சு போடுறது என்ன ? நீங்களே சொல்லுங்கள்.


Mac OS X-இல் எழில் இடைமுகம் (GUI) செயலி உருவாக்க நேரிடும் சவால்கள்

படம் 1: எழில் மொழி செயலி மூன்று இயங்கு தளங்களில் கிடைக்கும் படி செய்ய திட்டமிட்டோம். ஆனால் மேக் OS X-இல் சற்று தடங்கல்கள் உள்ளன என்று இந்த பதிவில் தெரிவிக்கிறோம்.

சமீப காலமாக packaging எழில் என்பதில் எப்படி github-இல் உள்ள எழில் மொழி நிரல்களை ஒருங்கிணைத்து ஒரு திரட்டியாக செய்து பயனர்கள் தங்கள் கணினிகளில் நிறுவி செயல்படுத்தும் படி செய்யலாம் என்று வேளைகளில் இறங்கி உள்ளேன்.

விண்டோஸ் தளத்தில் 64-bit கணினிகளில் Windows 7, 8, 10, என்பதில் எழில் மொழி செறிவர நிறுவி வேலைசெகிறது என்று நான் பலரிடம் அவரவர்கள் நடத்திய பரிசோதனைகளில் உறுதிபடுத்தி கொண்டேன்.

லினக்ஸ் இயங்கு தளத்தில் எதுவும் ப்ரிச்சனை இருப்பதாக தெரியவில்லை. Ubuntu-விலும்  64-bit கணினியில் சரியாக வேலை செய்கிறது.

அனால் இந்த Mac OS-X இல் மட்டும் எழில் மொழி Github repo-வில் இருந்து console வழி மட்டும் செயல் படுகிறது. எழுதி செயலி window வழி graphical interface GTK-இனை சார்ந்து உள்ளதால் இதற்க்கு Mac OS-X இல் இயக்க சற்று சிக்கல்களாக உள்ளது. காரணம் PyGobject3  Windows மற்றும் Linux தலங்களுக்கு மட்டுமே நிறுவ தயார் நிலையில் உள்ளது. Mac OS-X இக்கு  Gtk-ஐ மூல நிரல்களில் இருந்து மட்டுமே நிறுவும் நிலை உள்ளது என்பதால் இதனை திரட்டி ஆக்குவதும், ‘எழுதி’ செயலியை இயக்குவதும் சற்று கஷ்டமாக / முடியாமல் போனது.

இந்நிலையில் Mac OS-X-இல் எழில் மொழி console இடைமுகம் செயலி நன்றாக வேலை செய்கிறது என்றும் பதிவு செய்கிறேன். வரும் நாட்களில் ஏதேனும் புதிய முன்னேற்றங்கள் இல்லாத பட்சத்தில் எழில் மொழி ‘எழுதி’ இடைமுகம் இந்த தளத்தில் கிடைக்காது – கட்டளை இடைமுகம் மட்டுமே கிடைக்கும்.

உங்களில் எவருக்கும் Mac OS X-இல் GTK அல்லது packaging வல்லமைகளை, பரிந்துரைகள் இருந்தால் பகிரவும்.


சான் ஓசே, கலிபோர்னியா

சொல்புதிர் : ‘மோகம்’ -> ‘காதல்’ ஆகலாமா ?

சாதனை படைத்த புரட்சிகர தமிழ் இயக்குனர், காலைமாமணி – கே. பி

“காதல் என்ன பகடைக்காயா ?” என்று மறைந்த தழிழ் இயக்குனர்  கே.பி ஒரு “கவிதாலயா” நாடகத்தில் refrain (பல்லவி?) ஆகா கேட்டார். இதற்க்கு விடை என்னவோ ஒரு வலைப்பதிவில் ஒரு கணினி வல்லுநர் சொல்லமுடியுமா என்பதற்கு மட்டுமே எனக்கு விடை தெரியும்.

தமிழ் சொல்வளம் சார்ந்த விளையாட்டுகள் என்பன ஒரு “மூளைக்கு வேலை” என்ற விளையாட்டு கோணத்தில் தமிழ் கற்பித்தலை மேற்கொள்ளலாம். இதை பற்றி சொல்வனம் கட்டுரையில் விரிவாக எழுதினேன்.

இப்போது ‘மோகம்’ என்பதை ‘காதல்’ என்று ஓரெழுத்து ஒவ்வொரு முரை மாற்றி சொல்லை மற்ற எய்யாலுமா என்று எனது இட்விட்டெர் கீச்சில் கேட்டான். இது ஒரு சங்கிலி சொல் “word chain” சொல் விளையாட்டு.

இதனை கணினியில் ஒரு தமிழ் அகராதி கொண்டு எளிமையாக செயல்படுத்தலாம்; ஆங்கிலத்தில் WSJ, NYT போன்ற நாளிதழ்கள் தினமும் ஒரு பக்கம் அளவில் சராசரியாக பார்க்கலாம்.

எனக்கு தெரிந்தளவில் ஓரெழுத்து நேர் மாற்றத்தில் ‘மோகம்’ -> ‘காதல்’ ஆகா மாற வாய்பில்லை; கூடவே எழுத்துக்கள் சேர்த்தும், விளக்கியும் ஓரெழுத்து அளவில் மாற்றத்தில் இது கெடுபடும் என்று தோன்றுகிறது.

மோகம் -> மோதல் -> காதல் என்று மாற்றலாம். இப்போது மோகம் என்பதை மோதல் என்று எப்படி மாற்றுவது ? சரி. மோகம் என்பதை முகம் என மாற்றலாம். அடுத்து முகம் என்பதை முதல் எனவும், பின்பு காதல் எனவும் மாற்றலாம்.

  1. மோகம்
  2. முகம்
  3. முதம்
  4. முதல்
  5. காதல்

அடடே! மோகம் சொல்லளவில் காதல் ஆகுமோ என்னவோ. யாருக்கு தெரியும் காதல் பகடைகாய  என்று, நல்ல மானுஷன் போயுடாரே சொல்லாமல்!

சொல் தேடல் புதிர் பற்றி ஏற்கனவே சொல்லியிருந்தேன் – இந்த படம் (உலக தலைவர்கள்) போல.

உலக தலைவர்கள் சொல் தேடல்

இன்னூம் பல சொல்வளம் மிக்க விளையாட்டுகளாக உருவாக்கலாம் – நீங்களும் பங்காளியுங்கள்.


சான் ஒசே, விரிகூட பகுதி (BayArea), கலிஃபோர்னியா.

குறிப்பு: ஆமாங்க ஊரு விட்டு ஊரு வந்தோம்.

Open-Tamil based Tamil Wikipedia, Wiktionary data analysis


I have been keen to understand what kind of articles are read, and written, in Tamil Wikipedia, and Wiktionary. So it was time to use data analysis and some programming – so thats what I did! Last weekend I tried to take Open-Tamil Python library for a spin with the dumps of Wikipedia data for Tamil wiki and here are results.

You can find my actual program here, solpattiyal.py


  1. Install Python 2.7 or Python 3 – whichever flavors you want from http://www.python.org
  2. Get open-tamil library v0.40 from Python Package Index
  3. If you have pip installed in your system just type,

    $ pip install –upgrade open-tamil

  4. Get Wikipedia Tamil dumps from Wikipedia servers
  5. Download the file solpattiyal.py from the above link, or get whole of open-tamil from github.

Program Usage

  1. For small text dumps in kB sizes you can see output on terminal,

    $ python solpattiyal.py <filename1>

  2. You can also use multiple files input

    $ python solpattiyal.py  <filename1> <filename2> …

  3. Then you may want to use output redirection like,

    $ python solpattiyal.py  demo_file1.xml demo_file2.xml > output

Analysis of Code

  1. The code in solpattiyal is fairly simple and uses an algorithm to parse out Tamil letters from each file
  2. We group letters into words via static method ‘WordFrequency.get_tamil_words‘; (this method will make it into next version of open-tamil itself, after this demo)
  3. We insert each Tamil word into the dictionary and bump up its frequency by 1
  4. Finally we use the sorted() method in Python with the comparator key to print list by frequency, and again we print it by sorted order.
  5. Code is written in particular way to straddle both Python 2.7 and Python 3.
  6. Code is written to handle multiple files – usually Wikipedia files are large, and I like to use GNU split utility like this (to split at every 300,000 lines of text),

    $ split -l 300000 <filename>


    1. This analysis is not a criticism of Tamil Wikipedia.
    2. I am a Tamil Wikipedia contributor in last several years, and Wikipedian circa 2005.
    3. This data analysis is not complete/comprehensive – feel free to point out details
  2. Sample data from my analysis of recent Wikipedia title dump file yielded some interesting data on Tamil wikipedia article distribution.
  3. wikipedia-stats
  4. The data file can be found in common-words-ta-wikipedia-data-March-16-2015.
  5. My recommendations are
    1. Every Tamil speaking specialist can being stub articles or add information to broaden other articles in their fields
    2. You can think of contributing 1 article every month!!
    3. Consider broadening Tamil conversations beyond here-and-now, to world of science, math, medicine, engineering, arts and philosophy


  1. Please send your comments and questions always to me at ezhillang in gmail, or via Twitter @ezhillang
  2. Feel free to improve on this code, and send a pull request in github.

Scratch – programming for children from MIT – not available in Tamil

Children like to learn by sharing stories, and characters, and themes. The Scratch project originally from the MIT Media lab, in Cambridge, MA, USA near Boston. As most engineers know, MIT has a great tradition of pioneering contributions to engineering field, and science from early 1900s.

Scratch is an impressive framework, and here is why,

  1. Scratch is designed for use on web, with a story-board and characters in a world
  2. Users, the children, then interact with this world by writing event handler code – this controls the character reactions to events.
  3. In this approach other language teaching tools have followed Scratch : Kids Ruby project.
  4. This is now called gamification in the edu-space.
  5. Scratch can be accessed on the Linux, Mac, Windows and also on the web using a Adobe Flash plugin
  6. Scratch is written in Smalltalk language, and has a history of over 25 years or so, morphing from its original form in the early 90s.

Learn more : at Scratch webpage http://scratch.mit.edu/

Ofcourse, my interests come from why Scratch is not ported to Tamil. Always. You can start helping bring this technology to Tamil students world wide by translating some strings into the Tamil language, now!.
Best Regards