சொல்திருத்தி – தெறிந்தவை 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 அடுத்த படியாக

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

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

நோக்கம்

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

சிக்கல் அளவு

தமிழ் மொழி ஒரு ஒட்டு மொழி – agglutinative language; மேலும் பேசப்படாத மொழிகளைப்போல் இல்லாமல் நல்ல இருவடிவம் [diglossic – பேச்சு-எழுத்து] என்றும் இது வடிவங்களைக் கொண்டதால் இந்த சொல்திருத்தியின் சாத்தியம் அதிகமான சிக்கல் அளவில் [computational complexity] உள்ளதை நாம் யுகிக்க முடிகிரது.

ஒரு ஒட்டுமொழியில், அதுவும் எதுகை-மோனை என்ற வடிவம்சார்ந்த விதிகளுடன், புணர்ச்சி விதிகளுடன், ஒரே வேர் சொல் பல வடிவங்களில் தொற்றம் பெற்று, ஜீவித்து, சிறு சிறு துளிகள் சேர்ந்து மொழியில் ஒரு படைப்பாளி அவள் செய்யும் தாக்கம் சுனாமியாக அசுர உருவம் எடுக்க தமிழ்வெளி இடமளிக்கிரது. இதன் மேல், இலக்கணம், கலை, அறிவியல், உளவியல், ஆன்மீகம், பண்பாடு, தொன்மை, வரலாறு, தொழில்நூட்பம் பொன்ற களங்கள் மொழியில் தழைக்கின்றன. வாழக்கையை செம்மைப்படுத்தி மொழியினால் ஒரு சிறப்பான் இடத்திற்கு நம்மை அழைத்துச் செல்கின்றன். இந்த மொழியில் சொல்வளம் [‘combinatorial explosion of morphologically rich language’ என்று சொல்லக்கூடிய] மொழியின் சொல்வடிவத்தின் வளமையை கட்டமைப்பாக கொண்டதனால் வந்த சொல் பெருக்கௌ என்று பொருள்கொள்ளலாம்.

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

தெறிந்தவை – ஆய்வுகள் – புதுமை செய்தவர்

  1. முதன்மையான தமிழின் சொல்திருத்தியை ஆராச்சியே 2003-இல் இருந்தும் இன்றுவரை – சுமார் 17 ஆண்டு ரஜ்ஜியத்தில் உள்ளது: “Tamil spell checker,” என்று T. Dhanabalan, R Parthasarathi… – Sixth Tamil Internet 2003-இல் அண்ணா பல்களைக்கழகத்தில் இருந்து இவர்கள் உருவக்கினார்கள்.
  2. சில மயங்கொலி எழுத்துக்களை திருத்தம் செய்யும் வகை “A generic spell checker engine for south asian languages “, ABA Abdullah, A Rahman – … on Software Engineering and Applications (SEA …, – icita.org இவர்கள் 2003-இல் வெளிவந்தனர்.
  3. “சிங்கள மொழியில் சொல்திருத்தி – 2010-இல் A WasalaR Weerasinghe…இவர்கள் இங்கும் “A data-driven approach to checking and correcting spelling errors in sinhala” – Int. J. Adv. ICT …, 2010
  4. சிந்தி மொழியில் சொல்திருத்தி – 2015-இல் Z Bhatti, I Ali Ismaili, D Nawaz Hakro இவர்கள் இங்கும் “Phonetic-based sindhi spellchecker system using a hybrid model” பதிவு செய்தனர் [PDF] psu.edu
  5. சொல்திருத்திகளின் அமைப்பை பற்றி ஒரு வார்ப்பு/எல்லை கணக்கெடுப்பை 2012-இல் “Spell checking techniques in NLP: a survey ” என்று N Gupta, P Mathur – International Journal of Advanced …, 2012 இவர்கள் வளியிட்டனர்.

இவை அனைத்துமே ஒருவகையில் – புதியவைஅல்ல; மொழியியலில் – அதுவும் கணினிவழி மொழியியலில் – 1980-களில் இருந்தே ஆய்வுகள் வளிவந்திருக்கின்றன். இவற்றில் இன்றும் பயன்படுத்தும் edit-distance, suggestion generation போன்ற செயல்முறைகளை அவர்கள் கண்டறிந்து புதுமை செய்தனர். எ.கா. J. L. Peterson, Computer programs for detecting and correcting spelling errors.

நாங்களும் எங்களது சிரிய பங்களிப்பான ‘சொல்திருத்தி’ என்ற ஒபன் தமிழ் படைப்பை இங்கு பதிவு செய்தும் தமிழ் இணையமாநாடில் 2018-இல் பதிவு செய்தோம்.

இத்தகைய பதிப்புகள் என்ன சொல்கின்றன ? எப்படி எப்படி தானியங்கியாக ஒரு சராசரி கணினி ஒரு 12-ஆண்டு கடின பயிற்சி இல்லாமல் மொழியை திருத்தம் செய்கின்றது ? என்ன விளையாட்டா இருக்குதேன்னு நிங்கள் நினைக்கலாம் ஆனால் அனைத்தும் அல்கோரிதங்களின் மகிமை – ஒரு செயல்முறைகணிமையில் சாத்தியமானதுவே என்று அடுத்த தொடரில் பார்க்கலாம ?

ஒலி உரை மாற்றி வெளியீடு!

உங்களது தமிழ் உரைகளை ஒலி வடிவாக்க கணியம் அறக்கட்டளைஒரு புதிய சேவைஉருவாக்கியுள்ளது. பயன்படுத்த சுட்டி http://tts.kaniyam.com

அழகின் சிறிப்பு. தமிழ் தோட்டத்தில் ஒரு ரோஜா.

இந்த செயலியின் வெளியீடு அறிக்கையை இங்கு காணலாம்:  வாழ்துக்கள் கணியம் அறக்கட்டளை, குழு நபர்கள்! ‘ஊரே கூடி தேர் இழுத்ததாக’ சுவையான http://tts.kaniyam.comஉரையொலி மாற்றியைவெளியீட்டு செய்தியில் குறிப்பிடதும் ஒரு திறமூல உறவுகளின் சிறப்பு!. அடுத்ததா எப்போதிருவிழா?  🎇🎠✨

செயல்படுத்துதல்

சரி இந்த சேவையை எப்படி செயல்படுத்தலாம் ? இதோ இதனை படிப்படியாக புட்டு வைக்க முயற்சி கீழே. இதில் உங்களது உரைவடிவ கோப்புக்களை [file] தளத்தில் ஏற்ற வேண்டும் – பின்பு தளம் உங்களது .

  1. கணக்கை உருவக்குங்கள்; இதில் பயனர் பெயர், கடவுச்சொல் குடுக்கவேண்டும்.
  2. இரண்டாவது, தளத்தில் இருந்து ஒரு மினஞ்சல் வரும் – அந்த சுட்டியை திறக்கவும்.
  3. தற்போது நீங்கள் உள்நூழயலாம்; [இதற்கு எற்கணவே படி 1-இல் குடுக்கப்பட்டுள்ள திரையில் செல்லலாம்]. உங்களது உரையை சாதா கோப்பாக இதில் இடவும். PDF போன்ற கோப்புகளை நிங்கள் இந்த செயலியில் இடும்முன் மாற்றவேண்டும்.
  4. ஏற்றுமதி செய்தபின் தளம் உங்களது உரையை ஒலியாக மாற்ற சில நேரம் ஆகும். இதனால் உங்களது வோலை முடிந்த பின் அதற்க்கான் மின் அஞ்சலை பெரும் வரை காத்திருக்கவும். தற்ச்சமையம் உடனுக்குடன் பெரும்வகை இதனை செயல் படுத்த இயலாது.
  5. மின் அஞ்சல் வந்தபின் அதனில் உள்ள சுட்டியில் உங்கள் உரை மின் ஒலிவடிவில்! முற்றிலும் இலவசம்!


ஒலிமாற்றியின் தரம்!

நீங்களே கேட்டு முடிவு செய்யுங்கள்! எனது மூல கோப்பு இங்கு – இதன் வெளியீடு ஒலி இங்கு கேட்கவும்.

தொழில்நூட்பங்கள்

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

உரை-ஒலி மாற்றியில் பல digitial signal processing சவால்கள் உள்ளன. இவற்றை படிப்படியாக கடந்த பெருமை, உழைப்பு, பாராட்டுக்கள் பேரா. திரு. தி. நாகராஜன் [SSN பொறியியல் கல்லூரி] -யை சேரும். இவரது தலைமையில் unit-selection-synthesis என்ற முறையில் Festival என்ற எடின்புரூ பல்கலைக்கழகத்தின் ஆராய்ச்சி தளத்தின்வாயில் இவரது தமிழ் மொழி ஆராய்ச்சிகள் இருந்திருக்கின்றன.

IT-SSN தமிழ் உரைஒலி மாற்றியைசிறப்பாக ஆறாச்சி செய்த பேராசிரியர் திரு.தி.நாகராஜன். link: http://www.ssn.edu.in/Speech_Lab/members/drtnagarajan.html) ssn.edu.in/Speech_Lab/mem…
Festival – இதன் வாயில் இன்று ஒரு தமிழ் திருவிழா

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

கிட் இல் வெளியீடு: மே மாதம் 2018
https://github.com/tshrinivasan/tamil-tts-install

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

கணியம் அறக்கட்டளை, IIT-SSN கூட்டனி, மேலும் அயராமல் உழைத்து பொது மக்கள் பயன்பாட்டிற்கு இந்த தொழில் நூட்பங்களை வழங்கிய அனைவருக்கும் இதயம்கனிந்த நன்றி! வாழ்க, வளமுடன்.

Project Madurai Corpus – உளி வீரன்

Project Madurai

Project Madurai corpus contains a treasure trove of Tamil data across many generations and inflections of Tamil language. Using this data I post-processed the files in project உளி வீரன்.

Data

We are able to look at data from Project Madurai e-Texts. Currently 4,036,616 total words – 40 lakh plus words –  in ‘plain_text’ folder which contains unigram data and bigram data at word level. One may use open-tamil library to: – discover the unigram word-frequency of this corpus – discover the bi-gram word-frequency of this corpus (since successive words occur in successive lines).

Morse Code for Madurai Corpus

Using the techniques laid out in earlier blog post on Morse Code we are able to regenerate the Morse Code for Tamil using additional data.

Average code word length = 6.65456 bits. Morse code for Tamil using Madurai corpus is displayed below [most frequently occurring symbols to least] – i.e. in descending order.

  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. னை -> ......--
  57. டை -> ....--..
  58. ள -> ...-----
  59. கொ -> ...-..--
  60. செ -> ..--....
  61. ளி -> ..-..---
  62. ந -> ..-..--.
  63. ண -> ..-.-...
  64. லி -> ..-.-.--
  65. லா -> ..-.-.-.
  66. னி -> .----...
  67. நி -> .---.-..
  68. போ -> .-......
  69. னா -> .-...--.
  70. வே -> .-...-.-
  71. வு -> .-.-----
  72. கை -> .-.----.
  73. னு -> .-.---..
  74. தை -> .-.---.-
  75. மை -> .-.-...-
  76. மி -> .-.-.---
  77. ரை -> .-.-.--.
  78. ளை -> -----...
  79. ழி -> ---...--
  80. ஆ -> ---...-.
  81. லு -> ---..-..
  82. ழு -> --....--
  83. பெ -> --....-.
  84. றை -> --.--...
  85. பொ -> --.--.--
  86. நா -> --.--.-.
  87. ஞ் -> -......-
  88. ரா -> -....---
  89. தே -> -....-..
  90. ணி -> -....-.-
  91. ழ -> -.--..--
  92. சு -> -.--..-.
  93. றா -> -.--.-.-
  94. ழ் -> ........-
  95. வெ -> .......-.
  96. மே -> ......-..
  97. டா -> ......-.-
  98. ளு -> ...----.-
  99. வை -> ...-..-.-
  100. தெ -> ..--...--
  101. யை -> ..-..-..-
  102. கூ -> .----..--
  103. ஒ -> .----..-.
  104. யே -> .---.-.--
  105. தோ -> .---.-.-.
  106. சா -> .-.....-.
  107. தொ -> .-...---.
  108. மெ -> .-...-..-
  109. நீ -> .-.-....-
  110. கோ -> -----..--
  111. கே -> --.--..--
  112. சை -> -........
  113. பே -> -.......-
  114. சொ -> -....--.-
  115. லே -> -.--.-...
  116. யெ -> -.--.-..-
  117. ளா -> .........-
  118. னே -> .......---
  119. ஏ -> ....--.---
  120. வீ -> ....--.--.
  121. பூ -> ....--.-.-
  122. சே -> ...----...
  123. யோ -> ...-..-..-
  124. ழை -> ..--...-.-
  125. நெ -> ..-..-....
  126. தீ -> ..-..-.--.
  127. ணை -> ..-..-.-.-
  128. வ் -> ..-.-..--.
  129. மூ -> .-...-----
  130. றே -> .-...-...-
  131. மொ -> .-.-.....-
  132. கெ -> -----..-.-
  133. ணு -> ---..-.--.
  134. ஓ -> ---..-.-..
  135. சூ -> --.--..-..
  136. தூ -> -....--...
  137. ரே -> .......--..
  138. னெ -> .......--.-
  139. மோ -> ....--.-..-
  140. பை -> ...----..--
  141. சீ -> ...----..-.
  142. மீ -> ...-..-...-
  143. ணா -> ..--...-...
  144. டே -> ..-..-...-.
  145. ஊ -> ..-..-.----
  146. னோ -> ..-..-.---.
  147. ளே -> ..-..-.-..-
  148. வோ -> ..-.-..----
  149. சோ -> ..-.-..---.
  150. நே -> ..-.-..-...
  151. ரெ -> ..-.-..-..-
  152. லோ -> ..-.-..-.--
  153. ஸ் -> ..-.-..-.-.
  154. லெ -> .-.....---.
  155. நோ -> .-.....--..
  156. யொ -> .-...----..
  157. ரோ -> .-...-.....
  158. ஈ -> .-...-....-
  159. றோ -> .-.-.......
  160. நு -> .-.-......-
  161. றெ -> ---..-.----
  162. நூ -> ---..-.---.
  163. கீ -> -....--..-.
  164. ஞா -> ............
  165. ஐ -> ..........--
  166. ஷ -> ..........-.
  167. ழா -> ...-..-.....
  168. டெ -> ..--...-..-.
  169. வொ -> ..-..-...---
  170. ளெ -> ..-..-...--.
  171. ஜ -> ..-..-.-....
  172. றொ -> .-.....-----
  173. ளோ -> .-.....--.--
  174. னொ -> .-.....--.-.
  175. டோ -> .-...----.--
  176. யூ -> -----..-....
  177. ஷ் -> -----..-...-
  178. பீ -> ---..-.-.---
  179. றீ -> ---..-.-.--.
  180. லொ -> ---..-.-.-.-
  181. ரொ -> --.--..-.---
  182. ரீ -> --.--..-.-..
  183. ரூ -> ...........--
  184. ஞ -> ....--.-.....
  185. னீ -> ....--.-...--
  186. டொ -> ...-..-....--
  187. ணீ -> ...-..-....-.
  188. யீ -> ..--...-..---
  189. டீ -> ..--...-..--.
  190. வூ -> .-.....----.-
  191. ணெ -> .-...----.-.-
  192. ஸ -> -----..-..--.
  193. ஜா -> -----..-..-.-
  194. லீ -> --.--..-.--..
  195. ணே -> --.--..-.-.--
  196. னூ -> --.--..-.-.-.
  197. லூ -> -....--..----
  198. நொ -> -....--..--..
  199. ஃ -> -....--..--.-
  200. ளொ -> ...........-.-
  201. ங -> ....--.-...-..
  202. றூ -> ..-..-.-...-..
  203. ணோ -> ..-..-.-...-.-
  204. ஜ் -> .-.....----...
  205. டூ -> .-...----.-...
  206. ஹ -> -----..-..----
  207. ஷி -> -----..-..-..-
  208. நை -> ---..-.-.-...-
  209. ஹா -> ---..-.-.-..--
  210. ளீ -> --.--..-.--.-.
  211. ளூ -> -....--..---.-
  212. ழீ -> ...........-..-
  213. ஜி -> ....--.-....--.
  214. ஸி -> ....--.-....-..
  215. ழே -> ....--.-...-.-.
  216. ஞை -> ..-..-.-...----
  217. கௌ -> ..-..-.-...--.-
  218. மௌ -> .-.....----..--
  219. ணொ -> .-...----.-..--
  220. சௌ -> .-...----.-..-.
  221. ஸா -> -----..-..---.-
  222. ஷா -> -----..-..-...-
  223. ஜெ -> ---..-.-.-.....
  224. வௌ -> ---..-.-.-....-
  225. ஷை -> ---..-.-.-..-..
  226. ஜோ -> --.--..-.--.---
  227. ஜீ -> --.--..-.--.--.
  228. ழெ -> -....--..---...
  229. ஷே -> -....--..---..-
  230. ணூ -> ....--.-....----
  231. ஜை -> ....--.-....---.
  232. ஹி -> ....--.-....-.--
  233. பௌ -> ....--.-...-.---
  234. ஔ -> ..-..-.-...---..
  235. ஞெ -> ..-..-.-...--...
  236. ழூ -> .-.....----..-.-
  237. ழோ -> -----..-..---..-
  238. ழொ -> -----..-..-....-
  239. ஸு -> ---..-.-.-..-.--
  240. ஹோ -> ...........-.....
  241. ஜு -> ...........-...--
  242. ஷு -> ...........-...-.
  243. ஞீ -> ....--.-....-.-..
  244. ஹ் -> ..-..-.-...---.-.
  245. தௌ -> ..-..-.-...---.--
  246. ஸை -> ..-..-.-...--..--
  247. ஜே -> ..-..-.-...--..-.
  248. ஸீ -> -----..-..---...-
  249. ஞி -> -----..-..-.....-
  250. ஸூ -> ...........-....--
  251. ஜொ -> ....--.-....-.-.--
  252. ஹு -> ....--.-...-.--...
  253. ஹை -> ....--.-...-.--..-
  254. ஹீ -> ....--.-...-.--.--
  255. ஸெ -> .-.....----..-....
  256. ஜூ -> .-.....----..-...-
  257. ரௌ -> .-.....----..-..-.
  258. ஹே -> -----..-..---.....
  259. ஸே -> -----..-..-.......
  260. யௌ -> ---..-.-.-..-.-...
  261. ஷூ -> ---..-.-.-..-.-..-
  262. ஹூ -> ---..-.-.-..-.-.--
  263. ஹெ -> ...........-....-..
  264. ஞூ -> ...........-....-.-
  265. ஸோ -> ....--.-...-.--.-..
  266. ஞே -> .-.....----..-..---
  267. ஷீ -> -----..-..---....--
  268. ஷோ -> -----..-..-......--
  269. ஷெ -> -----..-..---....-.
  270. ஹொ -> ---..-.-.-..-.-.-..
  271. ஞோ -> ---..-.-.-..-.-.-.-
  272. ஸௌ -> ....--.-....-.-.-...
  273. டௌ -> ....--.-....-.-.-.--
  274. லௌ -> ....--.-....-.-.-.-.
  275. ஞு -> ....--.-...-.--.-.--
  276. நௌ -> .-.....----..-..--.-
  277. ஙு -> -----..-..-......-..
  278. ஹௌ -> ....--.-....-.-.-..-.
  279. ஸொ -> .-.....----..-..--...
  280. னௌ -> ....--.-...-.--.-.-.-
  281. ஙொ -> ....--.-...-.--.-.-..
  282. ஞௌ -> .-.....----..-..--..-
  283. ஞொ -> ....--.-....-.-.-..---
  284. ஙா -> -----..-..-......-.---
  285. ஙே -> -----..-..-......-.-..
  286. ளௌ -> ....--.-....-.-.-..--..
  287. ஷொ -> -----..-..-......-.-.--
  288. ழௌ -> -----..-..-......-.--..
  289. ஙூ -> -----..-..-......-.-.-.
  290. ஷௌ -> -----..-..-......-.--.--
  291. றௌ -> -----..-..-......-.--.-.
  292. ஙோ -> ....--.-....-.-.-..--.--
  293. ஙி -> ....--.-....-.-.-..--.-.

We are able to say this Morse code book is a better representation of Tamil since it finds 290 letters incident of the 323 letters in Grantha + Tamil letter set generated from the Madurai corpus of 4 million words.

 

Tamilisch – தமிழ் மொழியின் பெயர்

முதல் முரை நான் செருமன் மொழி கற்கும் போது தமிழ் மொழியின் பெயர் Tamilisch என்று சொன்னாங்க. ஜெர்மென் கற்க வாய்ப்பை பயன்படுத்திக்கொள்ளமுடியவில்லை.

ஒரு தானியங்கி ஆட்டொமாடிக்கா பல மொழிகளில் தமிழ் மொழியின் பெயர் இதோ!

Language Word for ‘தமிழ்’ Code
Afrikaans tamil af
Albanian tamil sq
Amharic ታሚልኛ am
Arabic التاميل ar
Armenian թամիլերեն hy
Azerbaijani Tamil az
Basque tamil eu
Belarusian тамільская be
Bengali তামিল bn
Bosnian Tamil bs
Bulgarian тамилски bg
Catalan tamil ca
cebCebuano Tamil nga
Chichewa Tamil ny
Chinese (Simplified) 泰米尔人 zh
Chinese (Traditional) 泰米爾人 zh-TW
Corsican Tamil co
Croatian tamilski hr
Czech tamil cs
Danish Tamil da
Dutch Tamil nl
English Tamil en
Esperanto tamila eo
Estonian tamil et
Filipino Tamil tl
Finnish tamil fi
French tamoul fr
Frisian tamil fy
Galician tamil gl
Georgian Tamil ka
German Tamilisch de
Greek Ταμίλ el
Gujarati તમિલ gu
Haitian Creole Tamil ht
Hausa Tamil ha
Hawaiian Tamil haw
Hebrew טמילית iw
Hindi तामिल hi
Hmong Tamil hmn
Hungarian tamil hu
Icelandic tamil is
Igbo Tamil ig
Indonesian Tamil id
Irish tamil ga
Italian Tamil it
Japanese タミル語 ja
Javanese Tamil jw
Kannada ತಮಿಳು kn
Kazakh Тамил kk
Khmer ភាសាតាមីល km
Korean 타밀 ko
Kurdish (Kurmanji) Tamil ku
Kyrgyz Tamil ky
Lao ທະມິນ lo
Latin Tamil la
Latvian Tamilu lv
Lithuanian tamilų lt
Luxembourgish Tamil lb
Macedonian Тамилските mk
Malagasy Tamil mg
Malay Tamil ms
Malayalam തമിഴ് ml
Maltese tamil mt
Maori Tamil mi
Marathi तामिळ mr
Mongolian Тамил mn
Myanmar (Burmese) တမီး my
Nepali तामिल ne
Norwegian Tamil no
Pashto تامیل ps
Persian تامیل fa
Polish Tamil pl
Portuguese tâmil pt
Punjabi ਤਾਮਿਲ pa
Romanian tamilă ro
Russian тамильский ru
Samoan Tamil sm
Scots Gaelic Tamil gd
Serbian тамилски sr
Sesotho Tamil st
Shona Tamil sn
Sindhi تامل sd
Sinhala දෙමළ si
Slovak tamil sk
Slovenian tamil sl
Somali Tamil so
Spanish Tamil es
Sundanese Tamil su
Swahili Tamil sw
Swedish Tamil sv
Tajik тамилӣ tg
Tamil தமிழ் ta
Telugu తమిళ te
Thai มิลักขะ th
Turkish Tamilce tr
Ukrainian тамільська uk
Urdu تمل ur
Uzbek Tamil uz
Vietnamese Tamil vi
Welsh tamil cy
Xhosa Tamil xh
Yiddish טאַמיל yi
Yoruba Tamil yo
Zulu Tamil zu

இதன் நிரல் இங்க்கே: