தமிழ் உரை சம்பந்தமான சில புதிர்கள் (3) – மறைந்த மெய் புள்ளிகள்

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

1. அறிமுகம்

எனக்கு இந்த சிக்கல் இருப்பதன் காரணம், 1910-இல் ஆர்டன் பாதரியார் இயற்றிய “A progressive grammar of common Tamil,” என்ற நூலின் மறுபதிப்பு பிரதியில் சில/பல சொற்கள் விட்டுப்போயிருந்தன. மறுபதிப்பு செய்யும் நிறுவனமோ, கலிபோர்னியா லாசு ஏஞ்சலஸ் பல்கலைக்கழகத்தில் உள்ள பிரதியினில் இருந்து எப்படியோ (கூகிள் புத்தகங்கள் வழியாகவா?) ஒரு புத்தகத்தின் மின்வடிவத்தை சரிபார்க்காமல் அப்படியே அச்சு செய்து அமேசான் சந்தையில் விற்று அதுவும் என் கைக்கு கிடைத்தது. பல இடங்களில் மெய் புள்ளிகளின் மறைவு – சொற்பிழைப்போல் பாவிக்கும் இந்த பிழைகள் இந்திர வழி செயல்திருத்தத்தால் நுழைக்கப்பட்டவை. நுழககபபடடவை!

மெய் புள்ளிகளின்றி செம்புலப்பொயல்நீரார் கூற்றி சங்க இலக்கியத்தில் இருந்து இப்படியே தோன்றும்,

யாயும ஞாயும யாராகியரோ

எநதையும நுநதையும எமமுறைக கேளிர

இதனை எப்படி நாம் சீர் செய்வது? இதுதான் நமது இன்றைய சிக்கல்.

2. அல்கோரிதம்

உள்ளீடு

  • சொல் என்பதை எழுத்துச் சரமாக தறப்படுகிறது. இதனை சொ என்ற மாறியில் குறிக்கின்றோம்.

வெளியீடுகள்

  • மறைந்த மெய்கள் இருந்தால் அவற்றை மற்றும் திருத்தி புதிய சொல் வெளியீடு செய்வதற்கு.

அல்கோரிதம்  முன்-நிபந்தனைகள்

  1. உள்ளீட்டு சரம் என்பதில் வேறு எந்த சொற்பிழைகளும் இல்லை
  2. சரம் என்பதின் இடம் ‘‘ என்பதில், சரம் எழுத்து சொ[இ] என்ற நிரலாக்கல் குறியீட்டில் சொல்கின்றோம்.
  3. சரம் எழுத்து சொ[இ], தமிழ் எழுத்தாக இல்லாவிட்டால் அதனை நாம் பொருட்படுத்துவதில்லை
  4. சரம் எழுத்து சொ[இ], உயிர், மெய், உயிர்மெய் (அகர வரிசை தவிர்த்து), ஆய்த எழுத்து என்றாலும் அவற்றில் எவ்வித செயல்பாடுகளையும் செய்யப்போவதில்லை
  5. ஆகவே, சரம் எழுத்து சொ[இ] என்பது உயிர்மெய் எழுத்தாக அதுவும் அகரவரிசையில் {க, ச, ட, த, ப, ர, .. } இருந்தால் மட்டும் இதனை செயல்படுத்துகின்றோம்.

அல்கோரிதம்  செயல்பாடு

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

இதன் மேலோட்டமான ஒரு முதற்கண் தீற்வை பார்க்கலாம் (இதனை மேலும் சீர்மை செய்ய வேண்டும்),

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

நிரல்பாகம் மறைந்த_மெய்_புள்ளியிடல்( சொல் )

திருத்தம்_சொல் = ""

@(சொல் இல் எழுத்து) ஒவ்வொன்றாக
   விடை = 0
   @( அகரவரிசை_உயிர்மெய்( எழுத்து ) ) ஆனால்  
      விடை = புள்ளிகள்_தேவையா( சொல், எழுத்து )
   முடி
   @( விடை ) ஆனால்
      திருத்தம்_சொல் += புள்ளிகள்_சேர்( எழுத்து )
   இல்லை
      திருத்தம்_சொல் += எழுத்து
   முடி
முடி
பின்கொடு திருத்தம்_சொல்
முடி

நிரல்பாகம் அகரவரிசை_உயிர்மெய்( எழுத்து )
   அகரவரிசை_உயிர்மெய்கள் = 'கசடதபறயரலவழளஞஙனநமண'
   பின்கொடு அகரவரிசை_உயிர்மெய்கள்.இடம்(எழுத்து) != -1
முடி

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

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

3. மாற்று அல்கோரிதம்

மேல் சொன்னபடி உள்ள கட்டமைப்பில் புள்ளிகள் தேவையா என்பதன் ஓட்ட நேரம் (runtime), கணிமை சிக்கலளவு (computational complexity) பற்றி பார்க்கலாம்.

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

அதாவது, “கணனன” என்ற சொல்லை மொத்தம் உள்ள வழிகளாவது இவற்றின் பெருக்கல்:

என்ற எழுத்தில் இரண்டு வழிகள்

என்ற எழுத்தில் இரண்டு வழிகள்

என்ற எழுத்தில் இரண்டு வழிகள்

என்ற எழுத்தில் இரண்டு வழிகள்

மொத்தம் 2 x 2 x 2 x 2 = 24 = 16 வழிகள் உள்ளன.

இதனை பொதுப்படுத்தி சொன்னால்,

  • நீ என்ற எண் நீளம் உள்ள சொல்லில் (அதாவது, நீ = |சொல்|) என்ன நடக்கின்றது என்றால்,
  • நீ1 என்ற எண் சொல்லின் உள்ள அகரவரிசை உயிர்மெய்களை குறிக்கும் என்றால், 
  • நீ1 ⩽  நீ,
  • மொத்தம் நாம் பரிசோதிக்க வேண்டிய வழிகள், 2நீ1

இது விரைவில் பொறிய அளவு வளரும் ஒரு தொகை, இதனை exponentially fast, அதிவேகமாக வளரும் கணிமை என்றும் சொல்லாம். இதற்கு என்ன செய்ய வேண்டும் என்றால் இதனை எளிதாக வழிகள் தோன்றும் படி மட்டும் விடைகள் தேடினால் நமது செயல்பாடு விரைவில் முடியவே முடியாது – இதற்காக branch and bound என்ற செயல்முறைகளை பயன்படுத்தவேண்டும்.

#இந்த நிரல்பாகம், 2நீ1 என்ற ஓட்ட நேரத்தில் இயங்கும்
நிரல்பாகம் புள்ளிகள்_தேவையா_உதவியாளர்( முதல்_ஒட்டு, சந்தித்காதவை )
   @( நீளம்( சந்தித்காதவை ) == 0 )
         பின்கொடு [முதல்_ஒட்டு]
   முடி
   விடைகள் = []
   எழுத்து = சந்தித்காதவை[0]
   @( அகரவரிசை_உயிர்மெய்( எழுத்து ) ) ஆனால்
         #உள்ளபடியே இந்த இடத்தில் மெய் இல்லை என்றவழியில் யுகிக்க
         விடைகள்1 = புள்ளிகள்_தேவையா_உதவியாளர்(முதல்_ஒட்டு + எழுத்து, சந்தித்காதவை[1:])
         விடைகள்.நீட்டிக்க( விடைகள்1 )

         #உள்ளபடியே இந்த இடத்தில் மெய் வந்தால் எப்படி இருக்கும் என்ற்வழியில் யுகிக்க
         மெய்எழுத்து = புள்ளிகள்_சேர்( எழுத்து )
         விடைகள்2 = புள்ளிகள்_தேவையா_உதவியாளர்(முதல்_ஒட்டு + மெய்எழுத்து, சந்தித்காதவை[1:])
         விடைகள்.நீட்டிக்க( விடைகள்2 )
   இல்லை
         விடைகள்3 = புள்ளிகள்_தேவையா_உதவியாளர்(முதல்_ஒட்டு + எழுத்து, சந்தித்காதவை[1:])
         விடைகள்.நீட்டிக்க( விடைகள்3 )
   முடி
   பின்கொடு விடைகள் 
முடி

நிரல்பாகம் மறைந்த_மெய்_புள்ளியிடல்(சொல்)
    #யுகிப்பு சார்பு என்பது n-gram புள்ளியியல் கொண்டு 
    #சொல்லின் புள்ளிகள் சோர்க்கப்பட்ட மாற்றங்களை மதிப்பிடும்.
    மாற்று_சொற்கள் = புள்ளிகள்_தேவையா_உதவியாளர்( '', list(சொல்) )
    மதிப்பீடுகள் = யுகிப்பு_சார்பு( மாற்று_சொற்கள் )
    இடம் = அதிக_மதிப்பெண்_இடம்( மதிப்பீடுகள் )
    சரியான_மாற்று_சொல் = மாற்று_சொற்கள்[ இடம் ]
    பின்கொடு சரியான_மாற்று_சொல்
முடி

மேல் சொல்லப்பட்டபடி கணினி அல்கோரிதப்படுத்திப்பார்த்தால் ‘கணனன’ என்ற சொல்லிற்கு, 16 மாற்றுகள் கிடைக்கும். அவையாவன,

['கணனன',
 'கணனன்',
 'கணன்ன',
 'கணன்ன்',
 'கண்னன',
 'கண்னன்',
 'கண்ன்ன',
 'கண்ன்ன்',
 'க்ணனன',
 'க்ணனன்',
 'க்ணன்ன',
 'க்ணன்ன்',
 'க்ண்னன',
 'க்ண்னன்',
 'க்ண்ன்ன',
 'க்ண்ன்ன்']

இந்த விடையின் மாற்று சொற்களை unigram அல்லது bigram யுகிப்பு சார்புகளின்படி மதிப்பிட்டால் கீழ்கண்டவாறு கிடைக்கின்றது,

[(‘க்ண்ன்ன்‘, 28.0),
(‘க்ணன்ன்’, 24.83912971793407),
(‘க்ண்னன்’, 24.39197168659185),
(‘க்ண்ன்ன’, 24.0),
(‘கண்ன்ன்’, 23.60384297446045),
(‘க்ணனன்’, 21.231101404525926),
(‘க்ணன்ன’, 20.83912971793407),
(‘கணன்ன்’, 20.44297269239452),
(‘க்ண்னன’, 20.39197168659185),
(‘கண்னன்‘, 19.9958146610523),
(‘கண்ன்ன’, 19.60384297446045),
(‘க்ணனன’, 17.231101404525926),
(‘கணனன்’, 16.834944378986375),
(‘கணன்ன’, 16.44297269239452),
(‘கண்னன’, 15.995814661052302),
(‘கணனன’, 12.834944378986375)]
(‘க்ண்ன்ன்’, -11.553147747485053)]

இந்த சமயம் நமக்கு சரியான விடைகிடைக்கவில்லை; இதனுடன் அகராதிபெயர்கள் அல்லது classification செயற்கைப்பின்னல்களை பயன்படுத்திப்பார்க்கலாம் என்றும் தோன்றுகிறது.

இந்த அல்கோரிதத்தை ஓப்பன்-தமிழ் பைத்தான் நிரலாக எழுதினால் இப்படி:

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

  1. [(‘யாயும்‘, 20.0), (‘யாயும’, 16.0)]
  2. [(‘ஞாயும்‘, 20.0), (‘ஞாயும’, 16.0)]
  3. [(‘யாராகிய்ரோ‘, 36.0), (‘யாராகியரோ‘, 31.94703511524359)]
  4. [(‘எந்தையும்‘, 32.0),(‘எநதையும்’, 28.83912971793407),(‘எந்தையும’, 28.0),(‘எநதையும’, 24.83912971793407)]
  5. [(‘நுந்தையும்‘, 36.0),
    (‘நுநதையும்’, 32.83912971793407),
    (‘நுந்தையும’, 32.0),
    (‘நுநதையும’, 28.83912971793407)]
  6. [(‘எம்முறைக்‘, 32.181004231607204),
    (‘எமமுறைக்’, 28.543012694821613),
    (‘எம்முறைக’, 28.181004231607204),
    (‘எமமுறைக’, 24.543012694821613)]
  7. [(‘கேளிர்‘, 20.0), (‘கேளிர’, 16.0)]

மேலும் தொடர்புக்கு உங்கள் விவரங்களை இங்கு சேர்க்கவும்.

தமிழ் உரை சம்பந்தமான சில புதிர்கள் (2) – இரட்டைக்கிளவி, ஜதி

1 கேள்வி

ஏற்கணவே எழுதிய கட்டுரை கீற்றில் தமிழ் கட்டுரைகளில் எப்படி பால் ஓற்றுமை படுத்துவது என்ற கேள்வியைப்பற்றி கண்டோம். இன்று, தமிழில் எப்படி இரட்டைக்கிளவி சொற்கள், பரத நாட்டிய/கருநாடக இசையில் ஜதி சொற்கள், என்பதை கணினியால் சுயமாக அறியமுடியும் என்ற கேள்வியைப்பற்றி பார்க்கலாம். விடைகள் என்னிடம் இருந்தால் INFITTக்கு முதல் ஆளாக கட்டுரை எழுதிருபேன் இல்லையா ஹஹா ;).

முதன்மையில் இவ்வை சொற்கள், இரட்டைக்கிளவி மற்றும் ஜதி சொற்கள், ஒருவகையான இசைவுத்தன்மையை சொல்பவை. இதனை, மற்ற மொழிகளிலும் காணலாம் – முதன்மையாக ஆங்கிலத்தில் இதனை Onomatopoeia என்றும் சொல்கின்றனர்.

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

உதாரணம், இந்த 1998-இல் வெளிவந்த ஜீன்ஸ் படப் பாடலான “கண்ணோடு காண்பதெல்லாம்…” பாடலில் இரட்டைக்கிளவி, மற்றும் ஜதி சொற்கள் இடம் பெருகின்றன:

தக்ரதக்ரதக்ரதிம் தக்ரதக்ரதக்ரதிம் தக்ரதக்ரதக்ரதிம் தக்ரதக்ரதகஜம் (2)

சலசல சலசல இரட்டைக் கிளவி தகதக தகதக இரட்டைக் கிளவி
உண்டல்லோ தமிழில் உண்டல்லோ

தமிழில் சராசரி சொல்லாடல்களை சற்று விக்கிப்பீடியாவில் கண்டால் அவர்கள் பட்டியலில் வருவதாவது,

  1. கிடுகிடு பள்ளம் பார்த்தேன்
  2. கிளுகிளு படம் பார்த்தாராம்
  3. கிறுகிறு என்று தலை சுற்றியது
  4. கீசுகீசு என குருவிகள் கத்தின
  5. குசுகுசு என்று அதை சொன்னார்
  6. குடுகுடு கிழவர் வந்தார்
  7. குபுகுபு என குருதி கொட்டியது
  8. கும்கும் என்றும் குத்தினார்
  9. குளுகுளு உதகை சென்றேன்

சில கேள்விகள்

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

2 சில் விடைக்கான எண்ணங்கள்

2.1 Regular Expression

எனது அனுபவத்தில், இதன் தானியங்கி விதிகள் regular expression என்ற சார்ககத்தினால் எந்த ஒரு உரையிலும் கண்டெடுக்கலாம் என்றும் எண்ணுகின்றேன் – (தமிழில் regular expression-களை ஓப்பன் தமிழ் நிரல் திரட்டில் நீங்கள் பார்க்கலாம்) – எனினும் இது எளிதான செயல் அல்ல – அதுவும் கணினி நினைவகம்/இயக்கும் நேரம் big-O சிக்கல் அளவுகளில் சிக்கனமாகவும் துரிதமாகவும் இந்தவகைச்சேவைகளைச்செய்வது ஒரு கடினமான காரியம்.

pattern = u"^[க-ள].+[க்-ள்]$"

data = [u"இந்த",u"தமிழ்",
        u"ரெகேஸ்புல்",
        u"\"^[க-ள].+[க்-ள்]$\"",u"இத்தொடரில்", u"எதை", u"பொருந்தும்"]
output = match(data, pattern)
expected = [1,2,6] # i.e.தமிழ்

2.2 செயற்கையறிவு பின்னல்கள் / எந்திரவழி கற்றல்.

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

மேலும் – ஒரு நல்ல sequence-to-sequence வழியாக கட்டமைக்கப்பட்ட செயற்கையறிவு மாதிரி பின்னல் நாம் சொல்லிக்கொடுத்ததைவிட அதிகமாகவே கற்றிருக்கும் தன்மையையும் நாம் பார்க்கக்கூடும் என்று யுகிக்கக் தோன்றுகிறது.

இது இன்றைக்கு உள்ள சிக்கல்.

 

குவாண்டம் கணிமை

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

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

தற்சமயம் 20இல் இருந்து 30 குவாண்டம் பிட்கள் கூபிட் என்ற அளவிலான கணிதங்களை சராசரி கணினியில் பரிசோதனையாகவும் NMR, Ion Trap, SQUID வழிமுறை குவாண்டம் கணினியிலும் செயல்படுத்த முடிகின்றது. இந்த நிலை விரைவில் (சில ஆண்டுகளில்) மாறலாம்.

மேலும் படிக்க பல சுட்டிகள் – https://github.com/desireevl/awesome-quantum-computing

தமிழ் உரை சம்பந்தமான சில புதிர்கள்

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

  1. இருபால் சமநிலைப்பாடுத்தல் (gender balanced text)
    • அரசாங்கம், வணிக கார்ப்ரேட் நிறுவனங்கள் தினசரி புழக்கத்தில் பல செய்திகள் விளம்பரப்படுத்தலுக்கும், உள்நிறுவன செயல்பாட்டிற்கும் பகிர்ந்துகொள்ள வேண்டியிருக்கும். இத்தகைய செய்திகளில் சில் கேள்விகள் எழுகின்றன:
      • இந்த செய்திகள் முழுவதும் இருபாலினருக்கும் சரிசமமாக பாரபட்சமின்றி எழுதப்பட்டுள்ளதா?
      • இப்படி இல்லாவிட்டால் செயற்கையாக உரைதிருத்தம் செய்து இருபால் சம நிலைப்படுத்தல் செய்யலாம ?
    • உதாரணம்: “பணியாளர் வேலைக்கு வந்தால் அவர் மனைவியிடம் ஒப்புதல் பெற வேண்டும்..” என்ற படி ஒரு உரை இருந்தால் அது சமனிலைப்படுத்தப்பட்டபின்  “பணியாளர் வேலைக்கு வந்தால் அவர் மனைவியிடம் (அல்லது அவள் கணவனிடம், [துனைவன்/வியிடம்]) ஒப்புதல் பெறவேண்டும்” என்று வரவேண்டும்.
    • இத்தகைய ஒரு செயற்கையறிவு அல்லது தானியங்கியிடம் திருக்குறள் மற்றும் சம்காலத்தில் உருவாகாத பழங்கால உரைகளைக்கொடுத்தால் என்ன ஆகும் ?

மேலும் சில திறன்களை தமிழ் இயல்மொழிபகுப்பாய்வு பெரும் என்றும் நம்பலாம்; அடுத்தகட்ட கேள்விகள் / புதிர்கள் அடுத்த பதிவில்.

நன்றி

-முத்து

 

செயற்கையறிவு – அறம்

Montreal-Declaration-for-AI

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

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

  1. Black Mirror என்ற தொலைகாட்சித்தொடரில் “Metal Head” என்ற கதையில் இரத்த வெறிபிடித்த செயற்கை ஓனாய்கள் பற்றியும்,
  2. Silicon Valley HBO தொடரில் “Eklow” என்ற கதையில் “Fiona” என்ற எந்திர பெண் பாலியல் முறைகேடிக்கு உட்படுத்தப்படுவதும்,
  3. தமிழில் எந்திரன்-1 இல் காதல் மோகம் கொண்ட (சிவப்பு சில்லு புரோகிராமிங் கொண்ட) “சிட்டி

பற்றியும் படித்தால் நாளைய ரோபோக்கள் எந்தவித வேலைகளில் ஈடுபடலாம் என்றும் அவற்றில் சில மனித அறம் மீரியவை என்றும் புலப்படுகின்றது.

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

மேலும், இந்த சூழலில் கனடிய மொண்ரியால் பல்கலைக்கழகம் நடத்திய கருத்தரங்கின் வழிவந்த ஒரு செயற்கையறிவு நடுவன் மற்றும் மூல கட்டமைப்பு கோட்பாடு உலகத்தரம் வாயந்ததாகவும், பொதுவான குடியரசு, ஜனநாயக, சமத்துவ, மனித உரிமை, கோட்பாடுகளின் மீதும் தழுவிய அறக்கோட்பாடுகளென காண்கின்றேன். இதன் முழு உரை இங்கே: https://www.montrealdeclaration-responsibleai.com/the-declaration – இந்த ஆவணத்தை சிறந்த வழக்கறிஞர்களும், தொழில்நுட்பவியலாளர்களும் சேர்ந்து தமிழிலும் ஒரு நாள் மொழிபெயர்ப்பார்கள் என்று எண்ணலாம்.

மேலும் ஐக்கிய அமெரிக்க அரசும் இதனைப்போல் ஒரு பொது நல செயற்கையறிவின் பயன்பாட்டினை அமெரிக்க நாட்டின் நலத்திற்காகவும், உலக மக்களின் நலன், முன்னேற்றத்திற்காகவும் இங்கு அளித்திருக்கின்றது. https://www.bloomberg.com/opinion/articles/2020-01-07/ai-that-reflects-american-values

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

-முத்து.

Open-தமிழ் திட்டம் ஒரு பார்வை

சமிபத்தில், ஓப்பன் தமிழ் வரிசை எண் 0.96-இல் எண்ணவெல்லாம் நிரல் படுத்தி செய்யலாம் ? இவற்றை எங்களது ஆறு ஆண்டு முயற்சியாக @UTSC எண்ணிம தமிழ் துரையினரிடம் நேற்று வழங்கினேன். முழு வில்லைகள் (Slides) இங்கும். bit.ly/2G7mevE  இங்கும் (PDF-வடிவில்) : ஒப்பன்தமிழ்-2020-ஓரு-பார்வை-2 பல ஆண்டுகளாக பங்களித்தவர்கள் அனைவருக்கும் நன்றி.

EOqpf_UUEAICPsV

இந்த வழங்கலின் பின் எழுப்பப்பட்ட கேள்விகளானவை:

  1. NLTK-என்ற புகழ் பெற்ற ஆங்கலி இயல் மொழி பகுப்பாய்வு திறண்களைப்போன்ற சேவைகள் எப்பொழுது தமிழில் – அதுவும் ஓப்பன்-தமிழ் வழி கொண்டுவரப்படும் ? குறிப்பாக, POS – சொற்றொடர்களின் சொல் பகுப்பாய்வுகள், SynNet – சொல் இணைப்பு பின்னல்கள் ஆகியன.
  2. உரையினை சொல் எழுத்துக்களாக பகுப்பாய்வு செய்வதன் வேகம், செய்முறை நினைவகளவு (RAM) குறைவாகவும் இருப்பது பற்றிய கேள்விகள்; விக்கிபீடியாவின் தரவுகளில் சொல்தேடல்கள் (word search), சொல் எண்ணிக்கை (frequency) பட்டியலிடலின், concordance/collocation database creation பற்றியும், அவைகளை உருவாக்கும் இயக்க நேர அளவுகள் போன்றவற்றை பற்றியும் அதன் வேகப்படுத்துவதைப் பற்றியும் கேள்விகள் வந்தன.
  3. சொல்வனம் மின் இதழ்களின் வரலாற்று தரவுகளை எப்படி ஆரய்ச்சிக்காக கேட்பது என்பது பற்றியும் அவற்றில் உள்ள கலை சொற்கள், அறிவியல் ஆராய்ச்சி கட்டுரைகள், தமிழாக்க  நடை அவற்றினை UTSC பல்கலைக்கழகத்திற்கும் மற்ற பொது ஆய்விற்கும் பெருவதன் அனுகுமுறை பற்றியும் கேள்விகள் எழுப்பப்பட்டன.
  4. இதன் கண் தமிழில் தரவுகள் அதிகமாக நேர்ந்தால், கைக்கெட்டினால் தமிழில் பல் புதுமைகள் செய்யலாம் என்பதும் ஒரு பேராசையாக இந்தத் தருனத்தில் தேன்றும். புதிய இயந்தர வழி கற்றலின் பால் உள்ள வாய்புகளுக்கு இணங்க எப்படி இந்த மென்பொருளை வளர்ப்பது என்பது ஒரு புதிய சவால்.  சந்திப்போம்!

Screen Shot 2020-01-19 at 11.09.34 AM

செயற்கையறிவு – சில சுட்டிகள்

மெரிட் ஏரி, ஓக்லாண்டு, கலிபோர்னியா.

இனிய புத்தாண்டு வாழ்த்துக்கள் 2020. செயற்கையறிவு – சில கட்டமைப்பு பயிற்சி சுட்டிகளை இந்த பதிவில் நான் பகிர்கின்றேன். எனது குறிக்கோள் என்னவென்றால் – இதனை படிக்கும் நீங்கள் பைத்தான், numpy, tensorflow என்ற நுட்பங்களையும் கட்டமைப்புகளையும் கையாண்டு செயற்கையறிவு திறண்களை ஒரு ஆண்டில் அல்லது குறைவான காலத்தில் நீங்கள் பெறலாம் என்பதாவது. இவை அனைத்தையும் கற்றிட ஒரு கூகில் கணக்கு மட்டும் இருந்தால் போதும் – அவர்களது colaboratory = code + laboratory என்ற இணைய சேவை மிக உதவிகரமானது – இங்கு பார்க்கவும்.

  1. முதலில் உங்களுக்கு பைத்தான் மற்றும் numpy, அணிகளின் கணிதம் (linear algebra – எனுக்கு மிகவும் பிடித்தவர் பேராசிரியர். கில்பட் ஸ்டிராங்.) ஒருபடியாக தேர்ச்சியடைந்திருந்தால் நல்லது. இல்லாட்டி வருத்தப்படாமல் கூகில் செய்யுங்க; StackOverflow செய்யுங்கள்.
  2. ஸ்டான்போர்டு பல்களை செய்ற்கையறிவு பாடம், மற்றும் tensorflow நிரல் மாதிரிகள். இதனை இயற்றியவர் சிப்னுயன் என்பவள். இதன்வழி நீங்கள் tensorflow கற்றிடலாம். இவற்றின் மூலம் சில ஆண்டுகளாக நானும் படித்து வருகிறேன்.
  3. மேலும் படி 2-இல் சிக்கல் நேர்ந்தால் அல்லது உங்களுக்கு அதிக அளவு விவரங்கள் தேவைகள் இல்லாவிட்டால் Keras என்ற கட்டமைப்பையும் பயன்படுத்திடலாம். இவை இரண்டும் இல்லாத மற்ற கட்டமைப்புகளான PyTorch மற்றும் Caffe, CNTK என்றும் உள்ளன – இவற்றை பற்றி சொல்வதற்கு எனக்கு தேர்ச்சி இல்லை;
    1. உங்களுக்கு படிப்பதற்கு இவற்றில் ஏதோ ஓன்றினை மற்றும் படித்தால் போதுமானது; அதாவது இவற்றினிடையே வித்தியாசங்கள் எல்லாம் குளிர்பானங்களினிடையே உள்ள வித்தியாசங்களினை மட்டும்தான் என்ற்படி உணரவேண்டும்; நீங்கள் இந்த பலவிதமான செயற்கையறிவு கட்டமைப்புகளினிடையே காணமுடியும் என்றும் சொல்லாம்.
  4. தமிழில் ஒரு முதல் முறையாக சென்ற ஆண்டு வெளிவந்த நூல் “எளிய தமிழில் Machine Learning,” கணியம் திருமதி. து. நித்தியா. இதனை கிண்டில் மின்கருவி/செயலி அல்லது PDF-இலும் இங்கு படிக்கலாம்.
  5. எது செய்தாலும் நீங்கள் பயிற்சி நோக்கில் செய்பட எனது வலியுருத்தல். ஏட்டு சுறைக்காய் கறிக்கு என்றும் உதவாது என்றும் நாம் அறிவோம். மேலும் பயிற்சி செய்து சான்றுகள் பெற இணைய வழி பல்கழைக்கழாக்ங்களும் உதவுகின்றன – Coursera, Udacity போன்றவை.

இந்த செயற்கையறிவு நிரல்களை கொண்டு சில 5 ஆண்டுகளுக்கும் முன்பு எவராலும் இயல்முடியாத செயல்களை இந்த செயற்கை நரம்பு பின்னல்கள் (Deep Neural Networks) என்பவை சாத்தியப்படுத்துகின்றன. இந்தியாவில் இதை எழுதும் சமயம் 50% மேலான மக்கள் 30 வதிற்கும் குறைந்தவர்கள் – இந்த வழி திறண்களைக்கொண்டு புதிய சேவைகளையும் பலதுரைகளின் உருவாக்கியும் வழங்கியும் வாழ்வினை செம்மைப்படுத்தலாம்.

உதாரணம்:

  1. தானியங்கி கார்கள்/வாகனங்கள் செயல்படுத்துதல்: Tesla, Waymo, Cruise போன்ற பல நிறுவனங்கள் இவற்றினை செயல்படுத்துகின்றனர்.
  2. கணினி காட்சி அறிவியல்/உணர்தல்: ImageNet என்ற பல மில்லியன் படங்கள் கொண்ட தறவில் இருந்து பயிற்சி செய்யப்பட்ட செயற்கை நரம்பு பின்னல் 1000-வகையான பொருட்களை மனிதர் திறன் காட்டிலும் துல்லியமாகக் கண்டறிய உதவும். இவற்றைக்கொண்டு என்ன செய்யலாம் – யோசியுங்கள் ?
  3. மொழியில் சேவைகளும் NLP கணினியில் செம்மைபடுத்த இவைகள் உதவும்;
    1. மொழி உரை, ஒலி உணர்தல். (Comprehension)
    2. மொழி உரை->ஒலி மாற்றி (TTS)
    3. மொழி ஒலி -> உரை மாற்றி (ASR)

மேலும் பல. நீங்கள் முயற்சி செய்வீர்களா?

-முத்து.