KaniyamFoundation / ProjectIdeas

A Place to write down the project ideas and to plan them
37 stars 3 forks source link

Write code for Tamil grammar rules from tolkappiyam #214

Open tshrinivasan opened 2 months ago

tshrinivasan commented 2 months ago

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

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

இது போன்ற முயற்சிகள் பல ஏற்கெனவே நடந்திருந்தாலும், அந்த விதிகளும், நிரல்களும் கட்டற்ற உரிமையில் கிடைக்கவில்லை.

எனவே இலக்கண விதிகளை எளிமையாக எழுதி, அவற்றுக்கான நிரலையும் எழுத வேண்டியுள்ளது.

இத்திட்டத்தில், காஞ்சி லினக்சு பயனர் குழு நண்பர்கள் பரமேஸ்வர், சீனிவாசன், திலிப் ஆகியோருடன், இனம் ஆய்விதழ் https://inamtamil.com/ நிறுவனர் பேராசிரியர் சத்யராஜ் இணைந்துள்ளார்.

ஒவ்வொரு சனிக்கிழமை மாலை 8-9 IST நேரத்தில் https://meet.jit.si/tholkappiyar_ruleset_discussion என்ற இணைப்பில் இணைந்து விதிகள் பற்றியும் நிரல்கள் பற்றியும் விவாதிக்கிறோம்.

திட்டத்தில் பங்களிக்க ஆர்வமுள்ளோர் KaniyamFoundation@gmail.com க்கு மின்னஞ்சல் அனுப்புக.

டெலிகிராம் குழுவிலும் இணையலாம் - https://t.me/+u8nBn-CRw9Y3ODFl

tshrinivasan commented 2 months ago

முதல் கூட்டம் ஏப்ரல் 13 2024 அன்று நடத்தது.

https://gitlab.com/kachilug/tamilrulepy இங்கு சில நிரல்களை சத்யராஜ் உதவியுடன் பரமேஸ்வர் ஏற்கெனவே சேர்த்துள்ளார். அவற்றை சரிபார்க்க வேண்டும்.

https://www.tolkappiyam.ca/call4papers/ - கனடாவில் தொல்காப்பிய மாநாடு நடைபெறுகிறது. வாய்ப்பு இருந்தால் அதற்குள் நிரலாக்கம் முடித்து ஒரு ஆய்வுக் கட்டுரை எழுதலாம்.

ஆய்வுச் சுருக்கம்: 2024-05-01

ஆய்வுச் சுருக்கம் ஏற்றுக்கொள்ளல்: 2024-05-25

முழுமையான ஆய்வுக் கட்டுரை அனுப்ப வேண்டிய இறுதிநாள்: 2024-07-01

அடுத்த செயல்கள் - பரமேஸ்வர் இதுவரை எழுதிய நிரல்களுக்கான விதிகளை தனியே எழுதுவார். சீனி, திலிப் - bloomfilter பற்றி ஆய்ந்து விளக்கவுரை அளிப்பர். சத்யராஜ் - முதல் கட்ட இலக்கண விதிகளை அளிப்பார்.

tshrinivasan commented 2 months ago

இரண்டாம் கூட்டம் ஏப்ரல் 13 2024 அன்று நடத்தது.

பேராசிரியர் சத்யராஜ் முதல் கட்ட விதிகளை அளித்தார்.

அவை

photo_6116415102229002592_y photo_6116415102229002593_y photo_6116415102229002637_y

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

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

சொல்லதிகாரம் .................................. விதி ஒன்று (சொல்.5) ................................... திணை - உயர்திணை, அஃறிணை என இரண்டு வகைப்படும்.

உயர்திணை - ஆண்பால், பெண்பால், பலர்பால் என மூன்று வகைப்படும்.

அஃறிணை - ஒன்றன்பால், பலவின்பால் என இரண்டு வகைப்படும்.

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

எ-டு:- அவன், செல்வன், முருகன், நகுலன், பிரபாகரன், சீனிவாசன், பரமேசுவரன் - பெயர் (Noun)

வருவான், போவான், செல்வான், தூங்குகிறான் - வினை (Verb)

சொல்லதிகாரம் .................................. விதி இரண்டு (சொல். 6) ...................................

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

எ-டு:- அவள், மாரியம்மாள், குருவம்மாள் - பெயர் (Noun)

வருவாள், போவாள், செல்வாள், தூங்குகிறாள் - வினை (Verb)

சொல்லதிகாரம் .................................. விதி மூன்று (சொல். 7) ...................................

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

எ-டு:-

==ர்== அவர், இவர், மதிப்பிற்குரியவர், எவர், யாவர் - பெயர் (Noun)

வருவார், போவார், செல்வார், தூங்குகிறார் - வினை (Verb)

== பகர இறுதி == வருப, செல்ப, கூறுப, உண்ப

== மார் இறுதி == வருமார், செல்மார், கொண்மார்

சொல்லதிகாரம் .................................. விதி நான்கு (சொல்.8) ...................................

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

எ-டு:-

==து இறுதி==

வருவது, போவது, செல்வது, தூங்குகிறது, மேய்கிறது - வினை (Verb)

== று இறுதி == ஓடிற்று, தூங்கிற்று, வந்திற்று, மேய்ந்திற்று

== டு இறுதி == குலைக்காந்தட்டு

சொல்லதிகாரம் .................................. விதி ஐந்து (சொல்.9) ...................................

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

எ-டு:-

==அ இறுதி==

வந்தன, சென்றன, ஓடின, பறந்தன - வினை (Verb)

== ஆ இறுதி == வாரா, மேயா, தூங்கா, செல்லா, பறக்கா

== வ இறுதி == வருவ, செல்வ, துயில்வ

இந்த விதிகள் அனைத்தும் வினைச்சொல்லை மையமிட்டவை

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

=========

இங்கு தமிழில் உள்ள 1,53,548 பெயர்ச்சொற்களை தொகுத்துள்ளோம். https://github.com/KaniyamFoundation/all_tamil_nouns

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

http://sudar-ilakkanam.blogspot.com/

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

nirmalkabirdoss commented 2 months ago

I just tried this

from tamil import utf8

def uyirum_uyirum(first_word,second_word): firstword_lastletter = utf8.get_letters(first_word)[-1] secondword_firstletter = utf8.get_letters(second_word)[0] nilai_eeru = utf8.splitMeiUyir(firstword_lastletter)[-1] varu_mudhal_uyir = utf8.splitMeiUyir(secondword_firstletter)[0]

if nilai_eeru in ['இ','ஈ','ஐ']:
    udambadu_mei = 'ய்'

elif nilai_eeru in ['அ','ஆ','உ','ஊ','எ','ஒ','ஓ','ஔ']:
    udambadu_mei = 'வ்'

elif nilai_eeru == 'ஏ':
    udambadu_mei = ['ய்','வ்']
    udambadu_mei = udambadu_mei.

punarchi = utf8.joinMeiUyir(udambadu_mei,varu_mudhal_uyir)

return first_word + punarchi + second_word[1:]

print(uyirum_uyirum('மொழி','அறிவு'))

output மொழியறிவு

tshrinivasan commented 2 months ago

Tholkappiyar Ruleset meet

Date and Time Apr 27, 2024 20:00 - 21:00 IST

Attendees Parameshwar Arunachalam Sathiyaraj Thangasamy Suganthan V

Points discussed

Next action items

parameshwar-A commented 1 month ago

Tholkappiyar RuleSet Meet 2

Date and time

May 04, 2024 20:00 - 21:00 IST

Attendees

Parameshwar Arunachalam Dhilip Sathiyaraj Thangasamy Shrinivasan

Points Discussed

Pending tasks

tshrinivasan commented 4 weeks ago

1.6.2024 meeting minutes

matplotlib வைத்து படம் உருவாக்கினால், தமிழ் எழுத்துகள் சரியாகத் தெரியவில்லை. உதாரணம் இங்கே image

பல்வேறு எழுத்துருக்கள் Akshara Unicode, Vijaya, Noto Sans, Nirmala UI முயன்றோம். சற்றே பரவாயில்லை. ஆயினும் பிழைகள் உள்ளன.

இறுதியில் plotly முயன்றோம். அது உலாவியில் படம் காட்டுவதால், எழுத்துரு சிக்கல் இன்றி நன்றாகத் தெரிகிறது.

newplot