தமிழ் உரை சம்பந்தமான சில புதிர்கள் (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 வழியாக கட்டமைக்கப்பட்ட செயற்கையறிவு மாதிரி பின்னல் நாம் சொல்லிக்கொடுத்ததைவிட அதிகமாகவே கற்றிருக்கும் தன்மையையும் நாம் பார்க்கக்கூடும் என்று யுகிக்கக் தோன்றுகிறது.

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

 

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

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

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