சொல்திருத்தி – தெறிந்தவை 3

இந்த தொடரில் இதுவரை ஆய்வுகளைப்பற்றி மட்டுமே இதுவரை பார்த்தோம். இப்போது சில செயல்முரை அல்கொரிதங்களை பார்க்கலாம்.

1 மேலோட்டமான சில குறிப்புகள்

சொல்திருத்தியில் பிழையான சொல் ஒன்றை முதலில் கண்டரிந்தபின், அதற்கு எப்படி ஒரு மாற்றை [என்ற ஒரு தோராயமான சொற்பிழை நீக்கப்பட்ட பொருத்தத்தை எப்படி] உருவாக்குவது ? இதற்கு தேவை திருத்தத் தொலைவு d.

இயற்ப்பியலில், புள்ளியியலில் இவ்வாரான் கேள்வியை ஒரு optimization வடிவத்தில் மாற்றி இதனை தீர்வுகாணலாம். இதனைப்போல் சொல்திருத்தியில்,

மாற்றுச் சொல் = arg-min [ d[ச,த] ]   

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

2 தொலைவு

தொலைவு – இரு சொற்களுக்கும் உள்ள நெறுக்கத்தை நாம் சொல்திருத்தியில் கணக்கிட வேண்டிய தேவை இருக்கிரது. ஏனெனில், ஒரு தவரான் சொல் உரையில் உள்ளீடு செய்யப்பட்டிருந்த்தால் அதற்கு மாற்றை தானியங்கி வழியில் கண்டறிய [அதவது இதன் மாற்றுச்ச்சொல்] இதற்கு பொருத்தமாகவும், நேருக்கமாகவும் இருக்கும் என்பது கணினியாளர்களும், மொழியியலாளர்களும் ஒப்புக்கொண்ட ஒரு கோட்பாடு. இதனை செயல்படுத்த கணினியாளர்கள் கொண்ட ஒரு மதிப்பீடு தொலைவு. இதனை திருத்தத் தொலைவு என்று சொல்வார்கள் [edit-distance].

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

இதன் பொருள் என்ன ? இதன் அமைப்பு எப்படிபட்டது ? கணிதவியலில், தினசரி வாழ்வில் எப்படி தொலைவு நிர்னயிக்கப்படுகிரது என்து போல், ஒரே இடத்தில் உள்ள பொருளுக்கும் அதே பொருளுக்கும் தொலைவு எதுவும் இல்லை – 0. அதே மாதிரி ஒரே சொல்லிர்கும் அதே சொல்லின் நகலுக்கும் தொலைவு 0. பிரகு, உங்கள் வீட்டிற்கும் உங்கள் பக்கத்துவீட்டிற்கும் தொலைவு என்ன ? தொலைவு 1 அல்லது கூடுதலாகவே இருக்கவேண்டும் இல்லையா ? பக்கத்து வீட்டார்க்கும் உங்கள் வீட்டிற்கும் உள்ள தொலைவு, உங்கள் வீட்டிற்கும் அவர்களது வீட்டிற்கும் உள்ள தொலைவும் ஒரேபடியானதாக இருக்கும். d[a,b] = d[b,a] என்பது ‘commutativity‘ என்ற சார்பின் குணத்தை இந்த திருத்த தொலைவு சார்பும் கொண்டது. [அதையும் – ‘போத்திக்குனு படுத்துக்கலாம், படுத்துக்குனு போத்திக்கலாம்‘ என்று பல முதிய தமிழ் மைக்கில் ஜாக்சன்கள் சொல்லியதை நினைவு கொள்ளலாம்]. அதுவே பொது அறிதல். இதைப்பொல குணங்களைக்கொண்ட சார்புகளை கணிதவியலில் ‘metric‘ என்றும் சொல்வார்கள் – அதாவது அளக்கும் சார்பு.

3 சிரிய எடுத்துக்காட்டு

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

அகராதியில் உதாரனத்திற்கு 5 சொற்கள் இருக்கு என்று மட்டும் கொள்ளல்லாம்.

அகராதி A என்பதில் [‘அவிழ்’,’அவல்’,’அவள்’,’தவில்’,’தவள்’] என்ற் சொற்கள் இருக்கு என்றும் உள்ளிட்டு சொற்கள் ‘ஏவள்’, ‘இவல்’ என்று கொடுக்கபட்டது என்றும் கொள்வோம். இதற்கு என்ன மாற்றுக்கள் ?

பகுதி ஒன்றின் படி இந்த புள்ளியியல் குரைந்த பட்ச தெடலை பைத்தான் மொழியில் இப்படி எழுதலாம்:

இதனை இயக்கினால் நாம் பார்கக்கூடிய வெளியீடு இப்படி; அதாவது நமது சிரிய சொல்திருத்தி அல்கொரிதம் ‘ஏவள்’ என்பதை ‘அவள்’ என்றும், ‘இவல்’ என்பதை ‘அவல்’ என்றும் மாற்றாக பரிந்துரைக்கிரது. மேலும் கவனித்து பார்த்தால் ‘ஏவள்’ என்பது ‘தவள்’ என்பதற்கும் நெருக்கமான தொலைவில் உள்ளது ‘distance’ என்ற தொலைவு பட்டியலில் தெறியும்.

ஒப்பன் தமிழ் நிரல் மற்றும் இயக்கிய வெளிப்பாடு இங்கு.

மேலும் மற்ற அல்கோரிதங்களைப் பற்றி அடுத்த பதிவுகளில் மேலோட்டமாக பாற்கலாம்.

Open-Tamil v0.8

Last release of Open-Tamil was v0.71 from March 2018. Since then a lot of work has gone into making software with additional features, bug fixes, web interface for Tamilpesu.us

Today, I’m posting the combined efforts of Open-Tamil developers as an update/packaged release v0.8 for Open-Tamil here.

Please try the software in your development environment as:

$ pip install –upgrade open-tamil

and report any problems via email to ezhillang@gmail.com

இந்த நேரத்தில், ஓபன் தமிழ் கணினி தொகுப்பு சிறப்பாகவும் மேம்படுத்தப்பட்டும், பிழைகள் திருத்தப்பட்டும் வருவதற்கு ஒத்துழைப்பும், பங்களிப்பும் அளித்துவரும் நண்பர்கள், பொறியாளர்களுக்கும் மிக்க நன்றிகளை தெறிவித்துக்கொள்கிறேன்.

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

Tamil billboard; credits - masanori_jpn via Flickr.

Latha vs Bamini – 1

Well, this blog post is not about any famous cat-fight: ‘sabaash – sariyaane potTi!’

80535-epqqqdhsmh-1517237957

Frame grab from the song ‘Kannum Kannum’ from movie ‘Vanjikottai Vaaliban’ with danseuse rivals Padmini and Vaijayanthimala.

but about the more mundane issue of resolution of Tamil letters that maybe affecting visual acuity and usage in practical things like billboards. Yes, we know Latha (is Tamil font from Microsoft) and Bamini famous storied font created in 1980s. Bamini font is also used in the Chennai Metro, Colombo railway station among other places; creator of Bamini was recently felicitated with 2017 Tamil Computing award for the pioneering efforts in the dawn of digital era.

Back to resolution; ‘kannu theriyithaa ?’ is the usual expression but it really asks the question are you able to see the object/thing/place/person – and not literally ‘do you have vision?’

In optical science, it is well known that free-space – distance – acts as a filter introducing blurs into the image. This is the mechanism behind why we don’t see details of far-away billboards and they grow in detail as one may approach them.

Tamil billboard; credits - masanori_jpn via Flickr.

Tamil billboard; credits – masanori_jpn via Flickr.

So if you are advertising in large billboards, obviously you want to be visible to audiences as far as laws of physics [Rayleigh resolution limit] will allow.

We can gather from simple considerations the following:

  1. Larger the letters farther away they maybe visible
  2. Longer wavelengths of light [Red (longer) – Violet (shorter)] farther they are visible without being scattered

So you can ask, if all the billboards are painted in large bold Tamil letters ‘adikkira maathiri’, will be visible for very long distances ? Yes. And they will also be boring.

This knowledge does not help us to choose between two fonts, since we can draw/write/pain letters in their character in any size and color – just the shape remains fixed.

Now to properly analyze the two fonts for best visual acuity, we may consider the following criteria:

  1. All letters compared need to be same in both fonts
  2. Viewer is considered to observe the projected font/printed text/billboard from progressively farther and farther distances.
  3. Essentially font corresponding to the billboard which is visible from farthest distance is the winner/better font in this criteria

Before we start drawing conclusions you also want the test subjects to have 20/20 vision or wear corrective prescription eye glasses for the same level of vision.

Now, regardless of the color and size of the fonts we can use the criteria to compare the acuity of the fonts.

But wait, can we do this by computer modeling without paint, labor and 20/20 vision subjects? You betcha! This will be subject of next blog post.

Until then…. Vaazhga Valamudan.

-Muthu

Tamilpesu.us update – Text Summarizer

Tamilpesu.us updated on Aug 8th. This brings all bug fixes of the development in Open-Tamil from March 2018 to present, and new functionality via Tamil text summarizer. This works on text analysis of essay input to split into sentences and words, and forms a correlation matrix to develop a score based off that we pull sentences from text into final summary. Give it a try http://tamilpesu.us/

text-summarizer-TamilPesu.us.png

Text summarizer output of the article from The Hindu Tamil newspaper. Its quite relevant summary in this case, providing an agreeable output.

Unfortunately we are not able to put the Tamil word classifier [using SciKit Learn and Python] online since currently the Python/Django dependency on AWS machine is incompatible; wait for that in future or try it out by yourself.

Thanks to all our contributors, as always to keep this volunteer work going.

 

Dispatches from Kovai, India

Kovai – Coimbatore, India – also known as Manchester of India, and various monickers for its beautiful weather, Tamil dialect, and cool weather at foothills of the Nilgiris-Ooty mountain range and clear waters from Sravani river, it is a microcosm of all that is nice and beautiful in முல்லை Tamilnadu.

Our team of fearless open-source enthusiasts añd contributing developers of open-tamil project, Shrinivasan and our newest contributor this year Syed Abuthahir made an impressive presentation at the conference, and gained new clients for the open-tamil library demonstrating the prowess of various tools, particularly from the web-interface http://tamilpesu.us

Screen Shot 2018-07-19 at 12.49.53 AM

Growth and evolution of Open-Tamil – presented at TNAU, Coimbatore. Full slides here

Syed has gladly shared the presentation with me, and I put it up on slideshare for all of us to read/comment. Thanks to all earnest contributions of time, effort, code and thought towards this project over the years!

Best Regards,

-Muthu

காதல் -> தவம் ?

எப்படி “காதல்” என்ற சொல்லை, ஓர் எழுத்து மாற்றத்தினால் மட்டுமே, “தவம்” என்று மாற்றுவது ?

காதல்
கானல்
காறல்
கால்
காழ்
சீழ்
சீவ
சீவம்
சைவம்
தவம்

இதனை எப்படி கண்டடைந்தோம் ?. இதனை எப்படி கணினிமயமாக்கலாம் ?

விரைவில்.

Chennai Python 24th, March, 2018

24th March, 2018,  Chennai Python Meet-up

Open-Tamil and Ezhil-Language Projects

“எழில் என்பது முதல் திர மூலமாக கிடைக்கக்கூடிய தமிழ் ஸ்கிரிப்டை அடிப்படையாகக்
கொண்ட நிரலாக்க மொழி ஆகும், இது விண்டோஸ் 32, 64 மற்றும் Ubuntu, Fedora Linux மற்றும் Docker தளங்களில் 2017 ஆம் ஆண்டில் வெளியான http://ezhillang.org. எழில் ஒரு பைத்தான்-அடிப்படையிலான மொழிஇயக்கி. வளர்ச்சி GitHub வழியாக நடைபெறுகிறது.

திறந்த-தமிழ் தமிழ் நெருக்கமாக தொடர்புடைய தமிழ் மொழி செயலாக்க கருவிகள் கொன்டது; நூலகம் ஆரம்பத்தில் எழில் மொழியின் ஒரு கீற்றாக துவங்கியது; ஆனால் விரைவாக வார்த்தை-வடிகட்டுதல், N- கிராம் பகுப்பாய்வு, புணற்சசி இலக்கணம், தமிழ் எழுத்துப்பிழை சொல்திருத்தி உருவாக்கம் முதலியன, பல மொழிகளில் பைத்தான், முக்கியமாக, ஜாவா, ரூபி முதலியவற்றிற்கான தமிழ் தொகுப்புகள் பரிசுரம் செய்யபட்டன். http://tamilpesu.us வலையில், மற்றும் Play Store இல் Kalsee பயன்பாட்டில் எங்கள் வேலைகளை பயன்படுத்தலாம்.”

600_469542627

 

Thanks to kind arrangements of friends in Chennai Python, and open-tamil community I had an opportunity to make a presentation on Open-Tamil and Ezhil-Lang projects, and completion. Talk was well received, and delivered in unique Tamil mixed with English due to comfort of being in Chennai only!