செவ்வாய், 17 மார்ச், 2026

வாரம் 3: தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-3)

📜 வாரம் 3: தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-3) | Tholkaappiyam Nunmarabu Python Text-3

வாரம் 3: தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-3)

Tholkaappiyam - Nunmarabu (Python Text-3)

முனைவர் சத்தியராஜ் தங்கச்சாமி

தமிழ் உதவிப்பேராசிரியர் & விக்கிமீடியர்,

ஸ்ரீ கிருஷ்ணா ஆதித்யா கலை மற்றும் அறிவியல் கல்லூரி, கோயம்புத்தூர் – 641042.

அறிமுகம்

முந்தைய வகுப்பில் தொல்காப்பியம் அறிமுகம், பைத்தான் அறிமுகம், பைத்தான் நிரல் எழுதும் முறை, தொல்காப்பிய நூற்பாவைப் பைத்தான் நிரலாக மாற்றும் முறைமைகளை அறிந்தோம். அவை தொல்காப்பிய நூன்மரபு முதல் ஏழு நூற்பாக்களுக்குப் பைத்தான் நிரலாக்கமுறையில் விளக்கம் தரப்பெற்றதாகவும் பைத்தான் நிரல் உருவாக்கும் வழிமுறைகளை விளக்குவதாகவும் அமைந்தன. அதன் தொடர்ச்சியாகத் தொல்காப்பிய நூற்பா 8-ற்கு ஆணைத்தொடர் (Algorithm) உருவாக்கிப் பைத்தான் நிரல் எழுதும் வழிமுறையை இப்பாடம் இயம்புகின்றது.

முந்தைய வகுப்பில் கற்ற முக்கியக் குறிப்புகள்
முந்தைய வகுப்பில் கற்ற முக்கியக் குறிப்புகளை மட்டும் இங்கு மீண்டும் நினைவுபடுத்திப் பார்ப்போமா? சரி ஐயா…
  • input - இது பயனரிடமிருந்து தரவைப் பெறுவதற்குப் பயன்படுகின்றது.
  • if - ஒன்றை ஆய்வுசெய்ய பயன்படுகின்றது.
  • in - பயனர் தரக்கூடிய குறிப்பு, ஏற்கனவே உள்ள பட்டியலில் உள்ளதா எனக் கண்டறிய உதவுகின்றது.
  • elif - if என்பதில் தரப்பெற்ற குறிப்புத் தவறு என்றால் இன்னொரு மாறியில் உள்ள பட்டியலைச் சரிபார்த்துப் பயனர் தந்த குறிப்புச் சரியானதா என உறுதிப்படுத்த இது பயன்படும்.
  • else - if, elif ஆய்விற்குப் பின்பு பயனர் தந்த குறிப்புத் தவறு என்றால். இந்தக் குறிச்சொல்மூலம் அதனைத் தெரிவிக்க உதவுகின்றது.
இவற்றை எல்லாம் ஒருமுறை நினைவுப்படுத்திப் பார்த்துக் கொண்டேன் ஐயா.

மிக்க மகிழ்ச்சி. அதனை வைத்தே இனிவரும் நூற்பா 8-ற்கும் நிரல் எழுதிப் பழகலாம்.

நூற்பா 8 - உயிர் எழுத்துக்கள்
ஔகார இறுவாய்ப்
பன்னீர் எழுத்தும் உயிர் என மொழிப. (நூற்பா 8)

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

ஆணைத்தொடர் என்றால் என்ன ஐயா. கொஞ்சம் விளக்குங்கள்.
ஆணைத்தொடர் (Algorithm) - ஓர் அறிமுகம்

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

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

இப்பொழுது புரிந்துகொண்டாயா?
புரிந்த மாதிரியும் புரியாத மாதிரியும் உள்ளது ஐயா.

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

சரி ஐயா.
ஆணைத்தொடர்களின் பயன்பாடு

ஆணைத்தொடர்கள் பல்வேறு துறைகளில் முக்கிய பங்கு வகிக்கின்றன. இது பல பயன்பாடுகளைக் கொண்டுள்ளன.

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

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

சரி, மேற்கண்ட தொல்காப்பிய எழுத்ததிகார நூன்மரபு 8ஆம் நூற்பாவிற்கு ஒரு ஆணைத்தொடர் உருவாக்குவோமா? சரி ஐயா.
நூற்பா 8 - ஆணைத்தொடர் படிநிலைகள்

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

படிநிலை - 1: முதலில் தமிழ்மொழியைக் கணினி முறைக்குப் புரியும் வகையில் எழுத வேண்டும் என்றால், முதலில் அதற்குரிய ஓபன் தமிழ் அகராதியை நிறுவ வேண்டும்.
!pip install Open-Tamil
படிநிலை - 2: நிறுவிய பின்பு ஓபன் தமிழ் அகராதியை உள்ளே வருவிக்க வேண்டும்.
import tamil
படிநிலை - 3: அடுத்து நூற்பாவில் சொல்லப்பெற்ற உயிர் எழுத்துக்களைப் பட்டியலாக உருவாக்க 'உயிர்_எழுத்து' எனும் மாறி உருவாக்க வேண்டும்.
உயிர்_எழுத்து = ['அ', 'ஆ', 'இ', 'ஈ', 'உ', 'ஊ', 'எ', 'ஏ', 'ஐ', 'ஒ', 'ஓ', 'ஔ']
படிநிலை - 4: அதனை விளைவாகக் காட்டுகின்றதா என எழுதி ஆய்வுசெய்ய வேண்டும்.
print(உயிர்_எழுத்து)
படிநிலை - 5: ஏற்கனவே உயிர் எழுத்தின் குறில், நெடில் எழுத்துக்கள் குறித்து அறிந்தமையால் அவற்றையும் பட்டியல்களாகத் தனித்தனி மாறிகளில் 'உயிர்_குற்றெழுத்து', 'உயிர்_நெட்டெழுத்து' என எழுதிக்கொள்ள வேண்டும்.
உயிர்_குற்றெழுத்து = ['அ', 'இ', 'உ', 'எ', 'ஒ']
உயிர்_நெட்டெழுத்து = ['ஆ', 'ஈ', 'ஊ', 'ஏ', 'ஐ', 'ஓ', 'ஔ']
படிநிலை - 6: இவற்றை எல்லாம் ஆய்வுசெய்து பார்க்க ஒரு எழுத்தைப் பெறும் input எனும் குறியீட்டுச் சொல் தந்து, 'எழுத்தறிதல்' எனும் மாறியில் எழுத வேண்டும்.
எழுத்தறிதல் = input("எழுத்தைக் கண்டறிய ஒரு எழுத்தைத் தருக: ")
படிநிலை - 7: அதன்பிறகு if எனும் கட்டளையில் எழுதி ஆய்வுசெய்ய வேண்டும்.
if எழுத்தறிதல் in உயிர்_குற்றெழுத்து:
படிநிலை - 8: எழுத்தறிதல் எனும் மாறியில் வாங்கிய எழுத்து உயிர்_குற்றெழுத்தாக இருந்தால் பின்வருமாறு விளைவினைத் தருவதாக எழுத வேண்டும்.
print("சரி. இது உயிர் குறில் எழுத்தே. பாராட்டு…")
படிநிலை - 9: அந்த எழுத்து இல்லை என்றால் அதன்பிறகு elif எனும் கட்டளையில் எழுதி ஆய்வுசெய்ய வேண்டும்.
elif எழுத்தறிதல் in உயிர்_நெட்டெழுத்து:
படிநிலை - 10: அந்த எழுத்து இல்லை என்றால் எழுத்தறிதல் எனும் மாறியில் வாங்கிய எழுத்து உயிர்_நெட்டெழுத்தாக இருந்தால் பின்வருமாறு விளைவினைத் தருவதாக எழுத வேண்டும்.
print("சரி. இது உயிர் நெடில் எழுத்தே. பாராட்டு…")
படிநிலை - 11: மேற்கூறிய எழுத்து எதுவுமே இல்லை என்றால் அதன்பிறகு else எனும் கட்டளையில் எழுதி ஆய்வுசெய்ய பின்வருமாறு விளைவினைத் தருவதாக எழுத வேண்டும்.
else:
print("நீங்கள் எழுதிய எழுத்து உயிர் குறிலும் இல்லை; நெடிலும் இல்லை. மீண்டும் முயற்சிக்கவும்…")
முழுமையான பைத்தான் நிரல்

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

!pip install Open-Tamil

import tamil

உயிர்_எழுத்து = ['அ', 'ஆ', 'இ', 'ஈ', 'உ', 'ஊ', 'எ', 'ஏ', 'ஐ', 'ஒ', 'ஓ', 'ஔ']
print(உயிர்_எழுத்து)

உயிர்_குற்றெழுத்து = ['அ', 'இ', 'உ', 'எ', 'ஒ']
உயிர்_நெட்டெழுத்து = ['ஆ', 'ஈ', 'ஊ', 'ஏ', 'ஐ', 'ஓ', 'ஔ']

எழுத்தறிதல் = input("எழுத்தைக் கண்டறிய ஒரு எழுத்தைத் தருக: ")

if எழுத்தறிதல் in உயிர்_குற்றெழுத்து:
    print("சரி. இது உயிர் குறில் எழுத்தே. பாராட்டு…")
elif எழுத்தறிதல் in உயிர்_நெட்டெழுத்து:
    print("சரி. இது உயிர் நெடில் எழுத்தே. பாராட்டு…")
else:
    print("நீங்கள் எழுதிய எழுத்து உயிர் குறிலும் இல்லை; நெடிலும் இல்லை. மீண்டும் முயற்சிக்கவும்…")
மாதிரி விளைவு:
['அ', 'ஆ', 'இ', 'ஈ', 'உ', 'ஊ', 'எ', 'ஏ', 'ஐ', 'ஒ', 'ஓ', 'ஔ']
எழுத்தைக் கண்டறிய ஒரு எழுத்தைத் தருக: அ
சரி. இது உயிர் குறில் எழுத்தே. பாராட்டு…
சரி அன்ப! இந்த வகுப்பை இத்துடன் முடித்துக் கொள்வோமா. பிற குறிப்புகளை அடுத்துவரும் பாடவேளையில் அறிந்துகொள்வோமா? சரி ஐயா. மிக்க நன்றி!
முடிவுரை

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

துணைநின்றவை
📺 காணொலி விரிவுரையைப் பாருங்கள்
மூன்றாம் வார முழு விளக்கவுரை (காணொலி நேரம்: 35:20)

வாரம் 2: தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-2)

📜 வாரம் 2: தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-2) | Tholkaappiyam Nunmarabu Python Text-2

வாரம் 2: தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-2)

Tholkaappiyam - Nunmarabu (Python Text-2)

முனைவர் சத்தியராஜ் தங்கச்சாமி

தமிழ் உதவிப்பேராசிரியர் & விக்கிமீடியர்,

ஸ்ரீ கிருஷ்ணா ஆதித்யா கலை மற்றும் அறிவியல் கல்லூரி, கோயம்புத்தூர் – 641042.

அறிமுகம்

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

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

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

ஆம் ஐயா. இதில் குறில் எழுத்துக்களைப் பற்றிக் கூறியுள்ளார் தொல்காப்பியர்.

ஆம். அப்போ என்ன செய்ய வேண்டும்.

பட்டியல்தானே ஐயா உருவாக்க வேண்டும்.

ஆம். சரியாகச் சொன்னீர்கள். பட்டியல் உருவாக்கும் முறைக்கு என்ன பெயர் கூறுங்கள் பார்க்கலாம். அது வந்து ஐயா… ஊகூம்… பரவாயில்லை… அதற்கு மாறி (List) என்று பெயர். அதுமட்டுமல்லாமல் (), [] ஆகிய இந்தக் குறியீடுகளையும் அறிந்துகொள்ளுங்கள்.

  • (...) - இந்தக் குறியீட்டினுள் உள்ளவற்றை நீக்கவோ, மாற்றவோ, திருத்தம் செய்யவோ முடியாது.
  • [...] - இந்தக் குறியீட்டினுள் உள்ளவற்றை நீக்கவோ, மாற்றவோ, திருத்தம் செய்யவோ முடியும்.

சரி… இனி… அந்த நூற்பாவிற்கு ஒரு மாறி அமைத்து நிரல் உருவாக்குங்கள் பார்க்கலாம்.

உயிர்_குற்றெழுத்து = ['அ', 'இ', 'உ', 'எ', 'ஒ']
print(உயிர்_குற்றெழுத்து)
ஐயா, அந்த நூற்பாவில் உள்ள குறில் எழுத்துக்களின் வகைகளை விளைவாகக் காட்ட தாங்கள் கூறியது போலவே நிரல் எழுதியுள்ளேன். சரியா ஐயா.

சரியாக எழுதியுள்ளீர்கள். பாராட்டு. சரி அதில் '=' என்ற சமக் குறியீட்டிற்குப் பின்பும் முன்பும் உள்ளவற்றை எவ்வாறு புரிந்துகொள்ள வேண்டும் எனச் சொல்லுங்கள் அன்பரே.

அதுவா ஐயா… சமக் குறியீட்டிற்குப் பின்பு உள்ளவற்றை மதிப்பு (Value) என்றும் முன்பு உள்ளவற்றை அந்த மதிப்பிற்கான மாறி (List) என்றும் புரிந்துகொண்டுள்ளேன். சரிதானே ஐயா.

மிகச் சரிதான் அன்பரே. சரி இதன் விளைவு பின்வருவதுபோல் அமையும்.

விளைவு = ['அ', 'இ', 'உ', 'எ', 'ஒ']
நூற்பா 4 - நெடில் எழுத்துக்கள்

இதுபோல் அடுத்துவரும் நூற்பாவிற்கும் பட்டியல் எழுதுவோமா?

ஆ ஈ ஊ ஏ ஐ
ஓ ஔ என்னும் அப் பால் ஏழும்
ஈர் அளபு இசைக்கும் நெட்டெழுத்து என்ப.

இந்த நூற்பாவிலும் முந்தைய நூற்பாவில் கூறியதுபோல் உயிர் நெடில் எழுத்துக்களைத் தருகின்றார் தொல்காப்பியர். அதற்குரிய நிரல் வருமாறு:-

உயிர்_நெட்டெழுத்து = ['ஆ', 'ஈ', 'ஊ', 'ஏ', 'ஐ', 'ஓ', 'ஔ']
print(உயிர்_நெட்டெழுத்து)
['ஆ', 'ஈ', 'ஊ', 'ஏ', 'ஐ', 'ஓ', 'ஔ']

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

உயிர்_குற்றெழுத்து = tamil.utf8.kuril_letters
print(உயிர்_குற்றெழுத்து)

உயிர்_நெட்டெழுத்து = tamil.utf8.nedil_letters
print(உயிர்_நெட்டெழுத்து)

இந்த இரண்டு நிரல்களிலும் உள்ள tamil.utf8.kuril_letters, tamil.utf8.nedil_letters ஆகிய இரண்டு மதிப்புகளுக்குரிய விளைவுகளை Open-Tamil எனும் பைத்தான் அகராதியிலிருந்து வருவித்துக் கொள்ளலாம். இதனை ஏற்கனவே விளக்கியுள்ளேன். ஆகவே, மீண்டும் நினைவில் நிறுத்திக் கொள்ளுங்கள் pip install Open-Tamil எனும் தொடரைத் தந்து இயக்கிச் சேமித்துக்கொள்ள வேண்டும். சரியா.

தர்க்க நிரல் - குறில்/நெடில் கண்டறிதல்

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

உயிர்_குற்றெழுத்து = ['அ', 'இ', 'உ', 'எ', 'ஒ']
உயிர்_நெட்டெழுத்து = ['ஆ', 'ஈ', 'ஊ', 'ஏ', 'ஐ', 'ஓ', 'ஔ']

எழுத்தறிதல் = input("எழுத்தைக் கண்டறிய ஒரு எழுத்தைத் தருக: ")

if எழுத்தறிதல் in உயிர்_குற்றெழுத்து:
    print ("சரி. இது உயிர் குறில் எழுத்தே. பாராட்டு…")
elif எழுத்தறிதல் in உயிர்_நெட்டெழுத்து:
    print ("சரி. இது உயிர் நெடில் எழுத்தே. பாராட்டு…")
else:
    print ("நீங்கள் எழுதிய எழுத்து உயிர் குறிலும் இல்லை; நெடிலும் இல்லை. மீண்டும் முயற்சிக்கவும்…")

இதுவரை நீங்கள் அறிந்ததில் இங்குப் புதியதாக உள்ள நுட்பங்கள் எவை என்று கண்டறியுங்கள் பார்க்கலாம்.

ஐயா, முந்தையதில் print என்பதைப் பார்த்துள்ளோம். இப்பொழுது புதியதாக, input, if, in, elif, else ஆகியன உள்ளன.

ஆம்… இவைதான் பைத்தான் குறிச்சொற்கள். இவைபோன்று தருக்கத்திற்கு ஏற்ப இன்னும் பல உண்டு என்பதை உணருங்கள். அவற்றைச் சூழல் வரும்பொழுது கற்றுக்கொள்ளலாம். சரி ஐயா.

மகிழ்ச்சி. இந்தக் குறிச்சொற்களைப் பற்றி முதலில் அறிவோம்.

  • input - இது பயனரிடமிருந்து தரவைப் பெறுவதற்குப் பயன்படுகின்றது.
  • if - ஒன்றை ஆய்வுசெய்ய பயன்படுகின்றது.
  • in - பயனர் தரக்கூடிய குறிப்பு, ஏற்கனவே உள்ள பட்டியலில் உள்ளதா எனக் கண்டறிய உதவுகின்றது.
  • elif - if என்பதில் தரப்பெற்ற குறிப்புத் தவறு என்றால் இன்னொரு மாறியில் உள்ள பட்டியலைச் சரிபார்த்துப் பயனர் தந்த குறிப்புச் சரியானதா என உறுதிப்படுத்த இது பயன்படும்.
  • else - if, elif ஆய்விற்குப் பின்பு பயனர் தந்த குறிப்புத் தவறு என்றால். இந்தக் குறிச்சொல்மூலம் அதனைத் தெரிவிக்க உதவுகின்றது.

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

நூற்பா 5, 6, 7 - மாத்திரை
மூ அளபு இசைத்தல் ஓர் எழுத்து இன்றே. (நூற்பா 5)

நீட்டம் வேண்டின் அவ்வளபுடைய
கூட்டி எழூஉதல் என்மனார் புலவர். (நூற்பா 6)

கண் இமை நொடியென அவ்வே மாத்திரை
நுண்ணிதின் உணர்ந்தோர் கண்ட ஆறே. (நூற்பா 7)
மாத்திரை = ['கால் மாத்திரை', 'அரை மாத்திரை', 'ஒரு மாத்திரை', 'இரண்டு மாத்திரை']
print(மாத்திரை)
['கால் மாத்திரை', 'அரை மாத்திரை', 'ஒரு மாத்திரை', 'இரண்டு மாத்திரை']
கால்_மாத்திரை = ['போன்ம்']
print('கால் மாத்திரை அளவு ஒலிக்கக் கூடிய சொல் : ', கால்_மாத்திரை)
கால் மாத்திரை அளவு ஒலிக்கக் கூடிய சொல் : ['போன்ம்']
அரை_மாத்திரை = ['க்', 'ங்', 'ச்', 'ஞ்', 'ட்', 'ண்', 'த்', 'ந்', 'ப்', 'ம்', 'ய்', 'ர்', 'ல்', 'வ்', 'ழ்', 'ள்', 'ற்', 'ன்']
print('அரை மாத்திரை அளவு ஒலிக்கக் கூடிய எழுத்துக்கள் : ', அரை_மாத்திரை)
அரை மாத்திரை அளவு ஒலிக்கக் கூடிய எழுத்துக்கள் : ['க்', 'ங்', 'ச்', 'ஞ்', 'ட்', 'ண்', 'த்', 'ந்', 'ப்', 'ம்', 'ய்', 'ர்', 'ல்', 'வ்', 'ழ்', 'ள்', 'ற்', 'ன்']
ஒரு_மாத்திரை = ['அ', 'இ', 'உ', 'எ', 'ஒ']
print('ஒரு மாத்திரை அளவு ஒலிக்கக் கூடிய எழுத்துக்கள் : ', ஒரு_மாத்திரை)
ஒரு மாத்திரை அளவு ஒலிக்கக் கூடிய எழுத்துக்கள் : ['அ', 'இ', 'உ', 'எ', 'ஒ']
இரண்டு_மாத்திரை = ['ஆ', 'ஈ', 'ஊ', 'ஏ', 'ஓ', 'ஐ', 'ஔ']
print('இரண்டு மாத்திரை அளவு ஒலிக்கக் கூடிய எழுத்துக்கள் : ', இரண்டு_மாத்திரை)
இரண்டு மாத்திரை அளவு ஒலிக்கக் கூடிய எழுத்துக்கள் : ['ஆ', 'ஈ', 'ஊ', 'ஏ', 'ஓ', 'ஐ', 'ஔ']
முடிவுரை

இதுவரை விளக்கப்பெற்ற கருத்துக்களின் அடிப்படையில் தொல்காப்பியம் பைத்தான் நிரலாக்கமாக எழுதி இயக்கிப் பார்க்க எளிமையானது என்ற நம்பிக்கையை அளித்திருக்குமல்லவா. இது ஒரு தொடர் ஓட்டமே. அதுமட்டுமின்றி, input, if, in, elif, else ஆகிய புதிய பைத்தான் குறிச்சொற்களையும் அறிந்துகொண்டோம். இதன் தொடர்ச்சியை அடுத்த இதழில் அறிவோம்.

சரி இந்த வகுப்பை இத்துடன் முடித்துக் கொள்வோம். பிற குறிப்புகளை அடுத்துவரும் பாடவேளையில் அறிந்துகொள்வோமா?
துணைநின்றவை
📺 காணொலி விரிவுரையைப் பாருங்கள்
இரண்டாம் வார முழு விளக்கவுரை (காணொலி நேரம்: 28:45)

வாரம் 1: தொல்காப்பியம் - நூன்மரபு அறிமுகமும் பைத்தானும்

📜 வாரம் 1: தொல்காப்பியம் - நூன்மரபு அறிமுகமும் பைத்தானும் | Python via Tholkaapiyam

வாரம் 1: தொல்காப்பியம் - நூன்மரபு

Python via Tholkaapiyam Nuunmarapu

முனைவர் சத்தியராஜ் தங்கச்சாமி

தமிழ் உதவிப்பேராசிரியர் & விக்கிமீடியர்,

ஸ்ரீ கிருஷ்ணா ஆதித்யா கலை மற்றும் அறிவியல் கல்லூரி, கோயம்புத்தூர் – 641042.

அறிமுகம்

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

1. தொல்காப்பியம் - அறிமுகம்

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

2. தொல்காப்பிய அதிகாரங்கள்

தொல்காப்பியம் மூன்று அதிகாரங்களால் ஆனது. அவை,

  • எழுத்ததிகாரம்
  • சொல்லதிகாரம்
  • பொருளதிகாரம்

என்பனவாகும். இவற்றுள், எழுத்ததிகாரம்,

  • நூன்மரபு
  • மொழிமரபு
  • பிறப்பியல்
  • புணரியல்
  • தொகைமரபு
  • உருபியல்
  • உயிர் மயங்கியல்
  • புள்ளி மயங்கியல்
  • குற்றியலுகரப் புணரியல்

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

  • எழுத்தின் வகை
  • மாத்திரை
  • எண்
  • வடிவம்
  • மெய்ம்மயக்கம்
  • பிற மரபுகள்

ஆகிய ஆறு பகுதிகளாகப் பிரித்து விளக்கமாக அறிவோம்.

3. திறமூலத் தமிழ் நூலகம் நிறுவல்

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

!pip install Open-Tamil
ஐயா, இது என்ன? இதனைக் கொஞ்சம் விளக்குங்கள்.

!pip install Open-Tamil [8] என்ற குறியீடு, பைத்தான் மொழியில் தமிழ் எழுத்துக்களைப் பயன்படுத்துவதற்குத் தேவையான நூலகத்தை உங்கள் கணினியில் நிறுவுகிறது. இந்த நூலகம், தமிழ் எழுத்துக்களை உருவாக்க, படிக்க, எழுத, செயலாக்கத் தேவையான அனைத்து வகையான செயல்பாடுகளையும் வழங்குகிறது.

இந்தக் குறியீட்டைப் பயன்படுத்தி, உங்கள் கணினியில் Open-Tamil என்ற நூலகத்தை நிறுவலாம். பின்னர், இந்த நூலகத்தைப் பயன்படுத்தி, பைத்தான் மொழியில் தமிழ் எழுத்துக்களைக் கொண்ட குறியீட்டை எழுதலாம்.

இந்தக் குறியீட்டை உங்கள் கணினியில் நிறுவ, பின்வரும் வழிமுறைகளைப் பின்பற்றவும்:

  • உங்கள் கணினியில் ஒரு கட்டளைப் பதிவு நிரலாக்கியைத் திறக்கவும்.
  • !pip install Open-Tamil என்ற குறியீட்டை உள்ளிடவும்.
  • Enter விசை அழுத்தவும்.

இந்தக் குறியீட்டை நிறுவியபின்னர், உங்கள் கணினியில் Open-Tamil என்ற நூலகம் நிறுவப்பட்டிருக்க வேண்டும்.

சரி ஐயா, நிறுவி விட்டேன்.
# -*- coding: utf-8 -*-
ஐயா, இது எதற்கு?

# -- coding: utf-8 -- என்ற குறியீடு, பைத்தான் மொழியில் பயன்படுத்தப்படும் ஒரு குறியீட்டுத் தொகுப்பு ஆகும். இது, பைத்தான் மொழியில் பயன்படுத்தப்படும் அனைத்து எழுத்துக்களும், தமிழ் எழுத்துக்களுடன் இணைந்து பயன்படுத்தப்படலாம் என்பதை அறிவிக்கிறது. இது, பைத்தான் மொழியின் வார்த்தைகளையும் கட்டளைகளையும் சரியாகப் புரிந்து கொள்ளப்பட்டுச் செயல்படுத்தப்படுவதற்கு உதவுகிறது.

import tamil
ஐயா, இது என்ன?

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

4. தொல்காப்பிய ஆசானுக்கு வணக்கம் - முதல் நிரல் எழுதுதல்

மேற்கூறிய அந்தக் குறியீட்டைப் பயன்படுத்தி, பைத்தான் மொழியில் தமிழ் எழுத்துக்களைக் கொண்ட குறியீட்டை எழுதலாம். சான்றாக, பின்வரும் குறியீட்டைப் பயன்படுத்தி, "தொல்காப்பிய ஆசானுக்கு வணக்கம்" என்ற தமிழ்ச் சொல் தொடரை எழுதலாம்:

import tamil
print("தொல்காப்பிய ஆசானுக்கு வணக்கம்")
விளைவு:
தொல்காப்பிய ஆசானுக்கு வணக்கம்
5. பைத்தான் - ஓர் அறிமுகம்
ஐயா, பைத்தான் என்றால் என்ன? அந்த மொழியின் அடிப்படைகளைக் கொஞ்சம் விளக்கமுடியுமா?

பைத்தான் என்பது ஒரு கணினி மொழியாகும். இந்த மொழியைக் கூகுள், யூடியூப், முகநூல், பிட்லி, யாகூ நிலப்படம், யாகூ குழுமம், சோப், அல்ட்ரா சீக், லினக்சு வாரச் செய்தி, ரெட்ஹேட், டிக்க, இவன்ட்பிரைட், லேன்யார்ட், மிக்ஸ் பேனல், கோரா, பின்டிரசட், ரேட்டிட், பாத், இன்சடாகிராம், மொசில்லா நிறுவனம், சர்வே மங்கி, எல்பு, அசனா, சேக்கேன்டு, லைப்பு, வால்ட், டிச்சினி, கூகிள் அப் இஞ்ன், இவ் அன்லைன், கேம்ங் கனோனிக்கல் நிறுவனம், Rackspace, சிஸ்கோ சிஸ்டம்ஸ், ஐபிஎம், இன்டச்சிட்ரியல் லைட் மேசிக் பிக்சர், தேசிய வானூர்தியியல் விண்வெளி நிர்வாகம், ஹனிவெல் ஐரேபட், One Laptop Per Child (OLPC), டிச்கச்(disqus) ஆகிய நிறுவனங்கள் பயன்படுத்தி வருகின்றமை குறிப்பிடத்தக்கது [10]. இதன்மூலம் இந்தப் பைத்தான் மொழியின் முக்கியத்துவத்தை உணரலாம். இந்த மொழியைக் கற்றுக்கொள்வது எளிதான ஒன்றேயாகும்.

இந்த மொழி இணைய மென்பொருள் (Web Application), மின்னஞ்சல் அலகிடல் (Email Parsing), வலையமைப்பு நிரலான் (Network Program), மேசைத்தளம் மென்பொருள் (Desktop Application), இணைய நெறிமுறை (Internet Protocol), கணினி நிருவாகம் (System administration), விளையாட்டுகள் (sports) ஆகிய பயன்பாட்டுத் துறைகளை உள்ளடக்கியுள்ளது [10].

இந்த மொழியினை எளிமையாகக் கையாளலாம். ஒரு நிரல் மொழி (அதாங்க புரோகிராமிங் லாங்குவேஜ்) படிக்க வேண்டும் என்றால்,

  • தரவு வகை (Datatype) தெரிந்திருக்க வேண்டும்.
  • இலக்கணம் (syntax) தெரிந்திருக்க வேண்டும்.
  • {, [, ; என்று பல உருவங்கள் கண் முன்னேயும் கனவிலும் வந்து போக வேண்டும் [11]

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

எண்1, எண்2 = 100, 90
# அல்லது
எண்1 = 100
எண்2 = 90

புதியவர்கள் மிக எளிதாக நிரலைப் புரிந்து கொள்வார்கள். இப்போது வரும் விடையை அச்சிட்டுப் பார்க்க,

print(எண்1 + எண்2)
விளைவு:
190

என்று கொடுத்தால் போதுமானது [11]. இப்பொழுது எளிமையாக விங்கிக்கொள்ள முடிந்தது அல்லவா.

சரி ஐயா, மேலும், நூன்மரபு முதல் விதியைப் பைத்தான் அடிப்படையில் கூறுங்கள். இன்னும் ஆர்வமாக உள்ளது.

ஆம். அன்பரே! கற்கும் ஆர்வத்தை நாம் ஏற்படுத்திக் கொண்டால் அனைத்தும் எளிது! இல்லை என்றால் கல்வி பாகற்காயாய்க் கசக்கும். சரி… சரி… இன்னொன்றையும் நீங்கள் அறிய வேண்டும். செய்யறிவு (AI) பற்றித் தெரியுமா?

கேள்விப்பட்டுள்ளோம் ஐயா. செயற்கை நுண்ணறிவு என்றும், ஏ.ஐ. (AI) என்றும் கூறுவார்களே அதுதானே.

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

6. தொல்காப்பியம்_எழுத்ததிகாரம்_இயல்கள் - இரண்டாம் பட்டியல் நிரல் எழுதுதல்
import tamil

தொல்காப்பியம்_எழுத்ததிகாரம்_இயல்கள் = ['நூன்மரபு', 'மொழிமரபு', 'பிறப்பியல்', 'புணரியல்', 'தொகைமரபு', 'உருபியல்', 'உயிர் மயங்கியல்', 'புள்ளி மயங்கியல்', 'குற்றியலுகரப் புணரியல்']
print(தொல்காப்பியம்_எழுத்ததிகாரம்_இயல்கள்)

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

['நூன்மரபு', 'மொழிமரபு', 'பிறப்பியல்', 'புணரியல்', 'தொகைமரபு', 'உருபியல்', 'உயிர் மயங்கியல்', 'புள்ளி மயங்கியல்', 'குற்றியலுகரப் புணரியல்']

இதுவரை எழுதிய பைத்தான் நிரல்களை கோலேப்பில் தந்து இயக்கிப் பார்க்கலாம்.

7. நூன்மரபு - மூன்றாம் பட்டியல் நிரல் எழுதுதல்
import tamil

நூன்மரபு = ['எழுத்துக்களின் வகை', 'மாத்திரை', 'எண்', 'வடிவு', 'மயக்கம்', 'பிற மரபுகள்']
print(நூன்மரபு)

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

['எழுத்துக்களின் வகை', 'மாத்திரை', 'எண்', 'வடிவு', 'மயக்கம்', 'பிற மரபுகள்']
8. எழுத்தின் வகை - நூற்பா 1
எழுத்து எனப்படுப
அகரம் முதல்
னகர இறுவாய் முப்பஃது என்ப
சார்ந்து வரல் மரபின் மூன்று அலங்கடையே.
வணக்கம் ஐயா, தொல்காப்பிய நூன்மரபைப் பைத்தான் மூலமாகக் கற்றுத் தருகின்றேன் எனக் கூறிவிட்டு, வழக்கமான உரையாசிரியர்களைப் போலவே, நூன்மரபு விதிகளைக் கூறுகின்றீர்களே.

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

ஐயா, தருக்கம் என்றால் என்ன?

அதுவா, வேறொன்றுமில்லை. தருக்கம் செய்கிறார்கள் எனக் கேள்விப் பட்டிருக்கின்றீர்களா?

ஆம். ஐயா. கேள்விகள் கேட்டால், அதற்குரிய விளக்கத்திற்குத் தேவையான சான்றுகளைக் காட்டிக் கூறுவார்களே? அதுதானே ஐயா.

ஆம். சரியாகப் புரிந்துகொண்டுள்ளீர்கள். சரி, இனி நாம் தொல்காப்பியர் எழுதிய எழுத்ததிகார நூன்மரபு முதல் விதிக்குப் போவோமா?

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

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

ஆம் சரிதான் அன்பரே!

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

எழுத்துக்களின்_வகை = ['முதலெழுத்து', 'சார்பெழுத்து']
print(எழுத்துக்களின்_வகை)
['முதலெழுத்து', 'சார்பெழுத்து']
ஐயா, இது அந்த நூற்பாவில் உள்ள எழுத்துக்களின் வகைகளை விளைவாகக் காட்ட எழுதியுள்ளேன்.

நன்று. அடுத்து, முதலெழுத்துக்குரிய நிரல்.

முதலெழுத்து = ['உயிரெழுத்து', 'மெய்யெழுத்து']
print(முதலெழுத்து)
['உயிரெழுத்து', 'மெய்யெழுத்து']

அருமை. சரி, இன்னொரு நுட்பத்தையும் உனக்குக் கற்றுத் தருகின்றேன். கூர்ந்து பார் அன்பரே!

உயிரெழுத்து = tamil.utf8.uyir_letters
print(உயிரெழுத்து)

# மெய்யெழுத்து = ['க்', 'ங்', 'ச்', 'ஞ்', 'ட்', 'ண்', 'த்', 'ந்', 'ப்', 'ம்', 'ய்', 'ர்', 'ல்', 'வ்', 'ழ்', 'ள்', 'ற்', 'ன்']
மெய்யெழுத்து = tamil.utf8.mei_letters
print(மெய்யெழுத்து)

இதுவும் ஒரு பைத்தான் நிரல். முன்பு பார்த்ததற்கும் இந்த நிரலிற்கும் என்ன வேறுபாடு அன்பரே! கண்டுபிடியுங்கள்.

ஐயா, இதில் மெய்யெழுத்து எனும் பட்டியலில் tamil.utf8.uyir_letters எனும் மதிப்புத் தரப்பெற்றுள்ளது ஐயா.

ஆம் சரியாகக் கண்டறிந்தீர்கள். பாராட்டு. tamil.utf8.uyir_letters இந்த மதிப்பை Open-Tamil என்ற நூலகத்திலிருந்து வருவித்து உரிய விளைவைத் தருவதைப் பார்க்கலாம். இதுபோல் பின்வரும் நிரல்களின் விளைவுகளும் அவ்வாறே அமையும் என்பதை அறிந்திருப்பீர்கள் அல்லவா? சரி, அந்த நூற்பா தரும் பிற விளக்கங்களுக்கான நிரல்களையும் பின்வருமாறு எழுதி, இயக்கிப் பழகுங்கள். இதற்குரிய நிரல்தொகுப்பினைக் கித்துப்பில் [9] உள்ளது. வேண்டுமானால் அதனைப் பைத்தான் இயக்கிப் பார்க்கும் முனையத்தில் பயன்படுத்திக் கொள்ளலாம்.

உயிரெழுத்து_வகை = ['குறில்', 'நெடில்']
print(உயிரெழுத்து_வகை)

இது உயிரெழுத்து வகையைக் குறிக்கும் நிரல்.

['குறில்', 'நெடில்']
உயிரெழுத்து_வகை_குறில் = tamil.utf8.kuril_letters
print(உயிரெழுத்து_வகை_குறில்)

இது உயிரெழுத்து வகையில் உள்ள குறில் எழுத்துக்களைக் குறிக்கும் நிரல்.

உயிரெழுத்து_வகை_நெடில் = tamil.utf8.nedil_letters
print(உயிரெழுத்து_வகை_நெடில்)

இது உயிரெழுத்து வகையில் உள்ள நெடில் எழுத்துக்களைக் குறிக்கும் நிரல்.

9. நூற்பா 2 - சார்பெழுத்து
அவைதாம்,
குற்றியலிகரம் குற்றியலுகரம்
ஆய்தம் என்ற
முப்பாற்புள்ளியும் எழுத்து ஓரன்ன.

இந்த நூற்பாவின் கருத்துக்களைப் பின்வருமாறு நிரல் எழுதி உருவாக்கி வைத்துக் கொள்வோமா?

சார்பெழுத்து = ['குற்றியலிகரம்', 'குற்றியலுகரம்', 'ஆய்தம்']
print(சார்பெழுத்து)

இது சார்பெழுத்து வகையைக் குறிக்கும் நிரல்.

['குற்றியலிகரம்', 'குற்றியலுகரம்', 'ஆய்தம்']
உயிர்_மெய் = [
    'க', 'கா', 'கி', 'கீ', 'கு', 'கூ', 'கெ', 'கே', 'கை', 'கொ', 'கோ', 'கௌ',
    ...
    'ன', 'னா', 'னி', 'னீ', 'னு', 'னூ', 'னெ', 'னே', 'னை', 'னொ', 'னோ', 'னௌ'
]
print(உயிர்_மெய்)

இது சார்பெழுத்து வகையில் உள்ள உயிர்மெய் எழுத்துக்களைக் குறிக்கும் நிரல்.

ஐயா, ஓர் ஐயம். என்னய்யா இப்படியே பைத்தான் நிரலாக எழுதிக்கொண்டே போகின்றோம்.

நல்ல ஐயம். என்எல்டிகே (NLTK), சுபேசி (spaCy), சென்சிம் (Gensim) இது போன்ற நூலகங்களைக் கேள்விப் பட்டதுண்டா?

இல்லை ஐயா.

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

சரி ஐயா…

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

10. முடிவுரை

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

11. துணைநின்றவை
📺 காணொலி விரிவுரையைப் பாருங்கள்
முதல் வார முழு விளக்கவுரை (காணொலி நேரம்: 32:15)

நாள் 2: செயற்கை நுண்ணறிவு நெறிமுறைகள் - பகுதி 1 (Ethical AI - Part 1)

📜 நாள் 2: செய்யறிவு நெறிமுறைகள் - பகுதி 1 | Ethical AI - Part 1 ...