மென்பொருளுடன் உறவாட

2004-05 வாக்கில் திருச்சியில் படித்த காலம்; 2004-இல் எங்கள் திருச்சி GLUG என்பதை வழிநடத்திவந்த திரு. பி. விஜயகுமார் அவர்கள் பட்டம் பெற்று வேறு பணிகளுக்கு சென்றார். எங்களது கூட்டாளிகள் ஒரு நிரலாக்கம் போட்டியில் சேரலாம் என்று எண்ணி, பொறியியல் கல்லூரி படிப்பில் நெருக்கமான ஒரு மென்பொருளை தேர்வு செய்தோம்; அதாவது கனு-ஆக்டேவ் GNU Octave – இது MATLAB என்ற மென்பொருளுக்கு தோராயமான மாற்றாக விளங்கும் என்று எண்ணினோம். திட்டம் தொடங்க, அச்சமயத்தில் Octave-இக்கு ஒரு நல்ல திரை இடைமுகம் கிடையாத காலம் – அதில் வந்து GTK என்ற GUI Toolkitஐ இணைக்கலாம் என்பது திட்டம்; எங்கள் குழுவில் யாருமே கணினி பொறியியலில் வல்லுநர் கிடையாது – ஏதோ தட்டுத்தடுமாரி எப்படியோ படிப்படியாக மென்பொருளை “language bindings” என்ற தொழில் நுட்பம் கொண்டு செயல்படுத்திவிட்டோம்.

Octave-GTK, Octave-libglade bindings

அன்று திருச்சியில் மிகப் பெரிய பொறியியல் கல்லூரி என்றாலும், சிற்றுந்தில் ஏரி நெட்கபேயில் அருகிலுள்ள திருவெரும்பூரில் சென்று மட்டும் தான் SSH பொர்ட் 22 firewall தாண்டிய அனுமதி பெற்று இந்த திறமூல மென்பொருளை இணையத்தில், sourceforge-இல் தரவேற்றம் செய்ய வாய்ப்பு இருந்தது. இளங்கலை முடிந்த வாக்கில் இந்த போட்டியில் இரண்டாவது இடம் கொடுத்து அதில் கணிசமான (ஒன்றறை இலட்சம்) பரிசு தொகை குழுவிற்கு கொடுத்தார்கள்! நான் அன்றே அடுத்த விமானத்தில் அமெரிக்கா கிளம்பி ஒடியாந்துட்டேன். இன்றும் இதை நினைத்தால் வேடிக்கையாக இருக்கிறது.

ஓப்பன் தமிழ் என்று தொடங்கும் சமயம், அப்படி ஒரு சேவை இல்லையே என்று என்னால் நம்ப முடியவில்லை. சென்ற பத்தாண்டில் open-tamil, தமிழ்பேசு வலைதளம் என்றும் செயல்படுவதில் ஒரு மகிழ்ச்சி; இந்த தளத்தை Python3 என்றும் Django 3 என்றும் மேம்பாடு செய்தமையால் பல நவீன செயலிகள் – தமிழ் சந்திப்பிழைதிருத்தி, தமிழ் இணையவாணி சொல்திருத்தி, GNU Aspell சொல்திருத்தி போன்றவற்றை செயல்படுத்த முடிந்தது. கணியம் சயத் அபூதாகிர், சீனீ அவர்கள் தொடக்கிவைத்த இந்த வலைதளம் சிந்தனை மற்றும் கட்டமைப்பு, மற்ற மென்பொருள்களையும் பொது பயன்பாட்டிற்கு வழங்க உதவிகர்மாக இருக்கிறது. இந்த சமீபத்திய பதிப்பை வழங்க சூரேன் அவர்களும் குறிப்பிடத்தக்க பங்களிப்புகளை வழங்கியுள்ளார்.

இதனை செயல்படுத்தியவகையில் ஒரே கல்லில் இரண்டு மாங்காய் என்ற கதையாக இருக்கிறது; ஒரே{Tamil Sandhi Checker [சீனீ, நித்யா]} x {Spell Checker(s)} அதனை இரண்டு சொல்திருத்திகளுடன் (வாணி மேசைபதிப்பு/பைத்தான் வழி [ நீச்சல்காரன், சீனீ கணியம் குழு]) மற்றும் ஏஸ்பெல் [GNU ASpell, இளஞ்செழியன் தமிழா/மலேசியா குழுவினர்] இவற்றுடன் remix செய்து ஒரு புதிய சேவயை. http://tamilpesu.us அளிக்கமுடிகிறது என்பதுதான் திறமூல சூழலின் ஒரு பெரும்பலமாக இருக்கிறது.

எழில்-open-tamil contributors meetup (2018)

திறமூல மென்பொருள்களின் தொடக்கம் ஏதோ ஒரு உந்துதலினால் ஒரு இச்சையினால் தொடங்குகிறது. திறமூல மென்பொருட்களை அடிப்படை கட்டமைப்புகளில் பலரும் பொதுவாக அனுகி பயன்படுத்தும் வகைசெய்தால் மட்டும் “இனி மெல்ல தமிழ் வாழும், தமிழர் இணையத்தில் தழைக்கலாம், தமிழர்தொழில் நுட்பத்தின் வாயிலாக வல்லமை பெறலாம்” என்ற நிலை உறுதியாக வர வாய்ப்பு உண்டு. இந்த விஷயத்தில் தனியார் நிறுவனங்களும், அறக்கட்டளைகளும், தனியார்களும் தமிழக அரசைவிட, மற்ற நாடு அரசுகளைவிட, கண்டிப்பாக இந்திய அரசைவிட, ஊக்கம் அளிக்கக் கூடும். ஆனால் நாம் தொடர்ந்து தமிழ் கணினி /கலை ஆக்கங்களை ஊக்குவிவ்க வேண்டும். பண/அதிகார பலம் உள்ளவர்களிடத்தும் இதனை முறையிடுதலும் வேண்டும்.

மொழி வளர்க்க பாரதி சொன்னதுபோலும், “அச்சமில்லை …,”, அதை செயல்படுத்தல் திறமூல மென்பொருளில் எவருடைய தயவுதாட்சண்யையின்றி செயல்படும் நல்ல நிலை உருவாக்கும் என்ற எண்ணம்/நம்பிக்கை இருக்கிறது. கிட்டத்திட்ட மொழியின் வளர்ச்சி மாதிரிதான் மொழியியல் மென்பொருளும் வளர்கிறது.

பொது வீட்டின் முற்றத்தில் வேரேடுக்கும் ஆலமரத்தை, ஊக்குவிப்போம்! ஊர் ஒன்றுபட்டால் உண்டுவாழ்வு.

Aspell, Hunspell for Tamil

Using GNU ASpell

To install in Ubuntu

$ sudo apt-get install aspell

$ sudo apt-get install aspell-ta

which gets the aspell application, and the Tamil dictionary and Tamil affix files for this project.

Usage

$ aspell -l ta {{filename}}

Aspell in action – via Terminal


Using Hunspell

To install in Ubuntu

$ sudo apt-get install hunspell

Navigate to the path, /usr/share/hunspell/ and install the ta_IN.aff and ta_IN.dic files published by Ashok Ramachandran at TamilNLP or by Elanjelian at Thamizha. This package has not been updated in 7 years. Volunteers needed. Saranya Selvaraj, from Kanchi LUG, published a post in 2009, detailing how to generate affix files and dictionary files for hunspell from a raw wordlist; this needs working with hunspell sources.

Usage

$ hunspell -i utf-8 -d ta_IN {{filename}}

Currently, my installation is incomplete on Ubuntu and this is all I could manage:

Hunspell in action – setup affix files are not perfect in my installation.

Programmatic Use

Using the Python subprocess module concept of pipes we can send a text-file into these spell-checker for suggestion/mis-spelling generation from within your application. One example of such use is added recently to Open-Tamil library to connect aspell, which will be published later on tamilpesu.us.

from spell import ASpell
x=ASpell()
q=x.spellcheck("கட்டுரை")