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

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

படம் 1: தமிழ் 99 – விசைப்பலகை [ஆப்பிள் iOS 10.13-இல் உள்ளபடி]

1 ஏன், எப்படி

விஷயத்துக்கு வாரோம். புதுசு என்ன ? அதாவது தட்டச்சு பிழைகள் என்பது தமிழில் ஒரு வழி மட்டும் வருகின்றன – விசைபலகை வழியாக (typographical errors originate from keyboard). இதன் காரணமாக, நாம் ‘பாம்பின்கால் பாம்பு அறியும்’ என்பது போல், இந்த சிக்கல் உறுவாகும் இடத்தின் விசைப்பலகையின் கட்டமைப்பின் வழியாக இதனைத் தீர்வு காண முடியும். இதனை ‘அருகிலேயே உள்ள விசைப் பிழை’ என்றும் [nearest neighbor key error] சொல்லாம்.

2 செயல்முரை அல்கோரிதம்

தற்சமயம் தமிழ் 99 என்ற விசைபலகையில் உள்ளீடு செய்வது என்ற கொள்வோம். இதில் உள்ளீட்டு பிழை என்பது ‘இ’ என்ற எழுத்தை இடும் சமயம், ‘அ’, ‘ஈ’, ‘உ’, ‘ஓ’,’ஔ’ என்று கைவிரல் தவரி சொடுக்கினால் ‘இன்பம்’ என்ற சொல் உள்ளீடு ‘அன்பம்’ அல்லது ‘உன்பம்’ என்றும் மாற்றமடைவதற்கு வாப்புண்டு.

சரி: இன்பம், தவறு: அன்பம், உன்பம்

இப்போது ஆவனத்தில் இப்படி ஒரு பிழை வந்தது ‘அன்பம்‘ அல்லது ‘உன்பம்’. இதனை நாம் சொல் உள்ளீட்டு பிழை என்ற இந்த செயல்முறை அல்கோரிதத்தின் வழி திருத்தலாம். இந்த தட்டச்சுபிழை எழுத்து பிழை வாய்ப்புகள் அனைத்தும் ஒரு மயக்க அணியில் (‘confusion matrix’ என்று சொல்லக்கூடிய) நிரலிக்கு குறிப்பிட்டிருக்கவேண்டும். இதனை படம் 2-இல் காட்டுகிறோன்.

படம் 2: தமிழ் 99 iOS ஆப்பிள் திரன்பேசியில் உள்ள விசைபலகை குழப்ப/மயக்க அணி

இதற்கு மேற்கண்ட அல்கோரிதத்தை இயக்கினால் 56 மாற்றங்களைத்தரும். இவற்றில் சரியான் சொற்களை மட்டும், குறைந்த திருத்த தொலைவில் இருப்பவற்றை மட்டும் நாம் ஏற்றுக் கொண்டால் அதில் ‘இன்பம்’ என்ற சரியான் சொல் இருக்கிரது! இதுவே தட்டச்சு பிழை சொல்திருத்தியின் இயக்கம். இதனைப் பற்றி பல அறிவியலாளர்களும் எழுதியுள்ளார்கள் என்பது புதிய செய்தி இல்லை என்பதையும் இங்கு பதிவு செய்வது கவணத்தில் கொள்ளவேண்டியவை.

  1. ஈன்பம்
  2. இன்பம்
  3. ஆன்பம்
  4. உன்பம்
  5. ஊன்பம்
  6. அன்பம்
  7. ஔன்பம்
  8. ஈற்பம்
  9. ஈப்பம்
  10. ஈக்பம்
  11. ஈட்பம்
  12. ஈம்பம்
  13. இற்பம்
  14. இப்பம்
  15. இக்பம்
  16. இட்பம்
  17. இம்பம்
  18. ஆற்பம்
  19. ஆப்பம்
  20. ஆக்பம்
  21. ஆட்பம்
  22. ஆம்பம்
  23. ஈன்னம்
  24. ஈன்மம்
  25. ஈன்றம்
  26. ஈன்லம்
  27. ஈன்கம்
  28. ஈன்ஙம்
  29. ஈன்டம்
  30. இன்னம்
  31. இன்மம்
  32. இன்றம்
  33. இன்லம்
  34. இன்கம்
  35. இன்ஙம்
  36. இன்டம்
  37. ஆன்னம்
  38. ஆன்மம்
  39. ஆன்றம்
  40. ஆன்லம்
  41. ஆன்கம்
  42. ஆன்ஙம்
  43. ஆன்டம்
  44. அன்னம்
  45. அன்மம்
  46. அன்றம்
  47. அன்லம்
  48. அன்கம்
  49. அன்ஙம்
  50. அன்டம்
  51. அன்ணம்
  52. அன்தம்
  53. அன்ரம்
  54. அன்ளம்
  55. அன்எம்
  56. அன்வம்

4 செயல்படுத்துதல், குறிப்புகள்

இந்த அல்கோரிதத்தின் நிரலாக்கம் இங்கு ஓப்பன் தமிழ் திரட்டில் சேர்க்கப்பட்டது. இதனை நீங்கள் முழுதேடலில் இடம் கொடுத்தால் 2398 விடைகள் கிடைக்கும் – அதாவது முழு 4-எழுத்து சொல்லின் 4-எழுத்து தொலைவில் உள்ள திருத்தங்கள் எல்லாவற்றையும் தேடுவதால் உண்டாகும் தகவல் வெள்ளப்பெருக்கு; சாதாரணமாக 1 அல்லது 2 எழுத்துப்பிழைகள் மட்டுமே உள்ளன என்பது அறிவியலாளர்கள் கணிப்பு. இதை நாம் செயல்படுத்தும் ‘tree pruning search‘ அல்கொரிதம் வகையினால் நாம் 56 மாற்றங்களுக்குள் மட்டுமே தேடல்களை நடத்தி இந்த தட்டச்சு கைவிரல் தவரான உள்ளீட்டிற்கு தீர்வு காணலாம்.

இதன் சிக்கல் அளவு [computational complexity] என்பது, ஒரு n-எழுத்து சொல் என்று கொண்டால், O(k1 x k2 x k3 … kn ) = O( kn ) என்று அதிக பட்சமாக இருக்கலாம் என்று [ஏதோ ஒரு k > 0 எண்ணால்] என்று நம்மால் காட்டமுடியும்.

சொல்திருத்தி – தெறிந்தவை 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’ என்ற தொலைவு பட்டியலில் தெறியும்.

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

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

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

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

குருட்டுப்புலி ருட்டுப்புலி, ஓக்லாண்டு, கலிபோர்னியா. 2019. படம்: முத்து அண்ணாமலை.
Blind Tiger, Oakland, CA.
குருட்டுப்புலி, ஓக்லாண்டு, கலிபோர்னியா. 2019. படம்: முத்து அண்ணாமலை

1 முதல் ஆய்வுகளின் முடிவு

சொல்திருத்திகளின் சவால்கள் – ஒரு கணக்கெடுப்பும், மேலோட்டமான விளக்கமும் என்ற தலைப்பில் கேரன் குகிச் என்ற ஆரய்ச்சியாளர் Techniques for automatically correcting words in text 1992-இல் ACM சஞ்சிகையில் அற்புதமாக விளக்கம் அளித்துள்ளார். இது ஒரு கணக்கெடுப்பு என்பதால் 63 பக்கங்கள் கொண்டதாக உள்ளது. கண்டிப்பாக சொல்திருத்தியில் ஆராய்ச்சி செய்ய முனைபவரும், செயல்படுத்துபவரும் இதை வாசித்தல் வேண்டும்.

2 சொந்தங்கள் அவை கண்ட அறிவு

அடுத்து எனது வாசிப்பில் நான் அலசி சல்லடைபோட்டு மீன்பிடித்ததில் இணைய வலையில் சிக்கிய மீன் – தங்கமீன் – இந்த துருக்கி அறிவியலாளர் குழு எழுதிய 1994-இல் வெளிவந்த இந்த கட்டுரை – ஒட்டு மொழிகளினுள் உண்டான அம்சங்களில் ஒரு சொல்திருத்தியை உருவாக்குவது எப்படி – Kemal Oflazer , Cemaleddin Güzey, Spelling correction in agglutinative languages,  PDF என்பதை மைய்யமாகக்கொண்டு கணிமை கோட்பாடுகளில் செயல்முறைகளை சாட்சியப்படுதினார்கள். ஃபின்னிஷ், துருக்கி போன்ற மொழிகள் தமிழைப்போல் ஒட்டு மொழி என்ற சொல்லடல் இலக்கண வகைப்படுத்தப்பட்டவை. ஃபின்னிஷ்-தமிழ் தொடர்பு மிக பெரியது – ஐராவதம் அவர்களைக் கேளுங்கள், இல்லை சிந்து சமவெளியில் போய் பாருங்கள் [விளையாட்டாதான்]!

3 கண் கெட்டபின் சூரிய நமஸ்காரம்

மூன்றாவதாக நான் சொல்வது பொதுவில் ‘எங்க அப்பன் குதிருக்குள்ள இல்லை’ என்ற பொது இரகசியமாக உள்ள தனபால் – கீதா அண்ணா பல்கலை அறிவியலாளர்களின் 2003-இல் வெளிவந்த கட்டுரை. இதில் பலவிதிகளை நாம் நேரடியாகவும், மேம்பாடு செய்தும் செயல்படுத்தலாம். “Tamil spell checker,”  என்று T. Dhanabalan, R Parthasarathi… – Sixth Tamil Internet 2003

4 அடுத்த படியாக

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

Not Durian

It is easy to confuse Jackfruit and Durian. Jackfruit is one of the famous ‘muk kani’ [முக்கனி – மா, பலா, வாழை] trio of fruits from Tamilnadu – Mango, Jack and Banana. Durian is not quite native of Tamilnadu [AFAIK], but more popular in equatorial south east Asia. Not to be out done, Tamil people have gotten taste of this fruit as well; globally however Durian aficionados remain a minority – the fruit is more widely known for being banned from airlines, airports and public arenas for its somewhat off-putting smell to the people unfamiliar with its taste; those ignorant of such this finer thing have no proclivity to this fruit and continue to cast bad light on it.

One day last year during the Thanksgiving holiday here in California, I went out to a grocery store in Bay Area. Silicon Valley, Lyndon B. Johnson’s opening up gates of America to Asian immigrants, the Gold Rush, Spanish Missions in reverse chronological order has settled this area with several immigrant populations – and today we are thankful for bountiful Pan-Asian, European, Hispanic options in the area.

At this grocery store there was big sign : “NOT DURIAN”, and a 1lb pieces of fruit were marked $5. Fresh Jackfruit is pretty much unheard of in USA except when imported and sliced open by immigrant run grocery stores in diverse communities in the area. Definitely, Bay Area qualifies for such a place. While the sign was written with intent to invite Durian wary folk to try and taste the Jackfruit, it did leave a bad taste before trying out the fruit.

Jackfruit pieces – Not Durian! – https://en.wikipedia.org/wiki/Jackfruit

Maybe, just maybe our languages and heritage are having bad publicity and marketing and sometimes misrepresentation and misinformation to turn away new speakers, learners and teachers, adoption of language in newer markets and products. Maybe our languages are not Durian. We are the Jackfruit.

அடிக்கடி தமிழில் பலர் சொல்லி கேள்விப்பட்டிருக்கேன்: “தமிழ் பலாப்பழம் மாதிரி, வெளியிருந்து உள்ள வர முள்ளாத் தெரியும், ஆனால் சொழ சொழயா பழங்கள் இந்த முள்ளை தாண்டி வந்தால் காத்திருக்கு!”. முயற்சி திருவினையாகும்.

P.S.: Images credit Wikipedia.

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

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

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

Apple apotheosis

Today, I had a chance to go to the Apple store. Trying the Apple stylus is a great tool for graphic artist.

iPhone XS [or XR?] with beautiful rendering of tamilpesu.us
Tangram game with App-based and interactive setup

I think Apple has elevated engineering to a high water-mark. Wow. Engineers can make magic when we all work together driving other professional designers, artists, marketers, manufacturers to synthesize beautiful experience. Technology, is magic.

Artful Arisuvadi – Tamil Alphabet Nomograms

Some weeks ago I started playing with and made a bunch of alphabet nomogram style pictures with Easel JS. Its interesting to think of possibilities.

Canonical Tamil has 12 + 1 vowels [உயிர்], 18 consonants [மெய்] and 12×18 = 216 [உயிர்மெய்] conjugate letters. Together the can be arranged in a Table of named column [12 for vowels] and named rows [18 for consonants] and cells of row-column at the conjugate letters.

I posted several images on Twitter; first one based on 3 concentric circles arrangement of the letters.

Arisuvadi – (C) 2018 Muthu Annamalai

Another image based on sunflower-spiral:

Arisuvadi – (C) 2018 Muthu Annamalai

The other based on a logarithmic spiral: 

Arisuvadi – (C) 2018 Muthu Annamalai

Another image looks to illustrate vowels and consonants as an interactive widget where you select uyir and mei letters from the outer + inner circles to form the uyirmei conjugate letter in the center.

Arisuvadi – (c) 2018 Muthu Annamalai