Quantcast
Channel: கணியம்
Viewing all 1914 articles
Browse latest View live

பைத்தான் கணினிமொழியின் உதவியுடன் கோப்புகளைதானாகவே பிற்காப்பு செய்திட முடியும்

$
0
0

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

அஞ்சற்க அவ்வாறான நிலையில் கைகொடுக்கவருமாறு நாமே முயன்று   பிற்காப்பு செய்திடுவதற்கானபைத்தான் நிரல்தொடரை உருவாக்கி பயன்படுத்தி கொள்ளலாம்  இதற்காக நம்மிடம் விண்டோ இயக்கமுறைமையில் செயல்படும் பைத்தான் 2 அல்லது பைத்தான்  3 பதிப்புள்ள கணினிமொழி இருந்தால் போதும் இந்த பயன்பாட்டிற்கு  sync.py என்றவாறு பெயரிட்டுகொள்க  Sync1.ini:    என்பது கட்டமைவு கோப்பாகும் Logger1.py:  என்பது Logger ஆதரவிற்கான தொகுதியாகும்  Sync.log என்பது sync.py ஆல் உருவாக்கப்பட்ட ஒருகோப்பாகும்

இதில் பயன்படுத்தி கொள்வதற்காக Import configparser.

Import time.

Import shutil.

Import hashlib.

From the distutils.dir_util import copy_tree.

From the collections, import OrderedDict.

Import the OS.

Import logger1 as log1.

எனும் கட்டளைவரிகளின் வாயிலாக தேவையான நூலகங்களை பதிவிறக்கம் செய்து கொள்க

அதனை தொடர்ந்து

def ConfRead():

config = configparser.ConfigParser()

config.read(“Sync1.ini”)

return (dict(config.items(“Para”)))

எனும் குறிமுறைவரிகள்  Sync1.ini எனும் கோப்பினை படித்தறிகின்றது

Sync.ini எனும் கோப்பிலிருந்து பின்வரும் குறிமுறைவரிகள் ஒருசில மாறிகள் பெறப்படுகின்றன

All_Config = ConfRead()

Freq = int(All_Config.get(“freq”))*60

Total_time = int(All_Config.get(“total_time”))*60

repeat = int(Total_time/Freq)

கோப்பின் புலத்தை கணக்கிட பின்வரும்  md5எனும்செயலி பயன்படுத்தப்படுகிறது. நாம் ஒரு கோப்பினை மாற்றினால், அதனுடைய பெயர் ஒரே மாதிரியாகவே இருக்கும், ஆனால்அதனுடைய ஹாஷ் மட்டும் மாறியமையும்.

def md5(fname,size=4096):

hash_md5 = hashlib.md5()

with open(fname, “rb”) as f:

for chunk in iter(lambda: f.read(size), b””):

hash_md5.update(chunk)

return hash_md5.hexdigest()

பின்வரும் செயலி இடைப்பட்டிகளுடன் முழு அடைவையும் நகலெடுக்கின்றது:

def CopyDir(from1, to):

copy_tree(from1, to)

பின்வரும் செயலி  ஒரு கோப்பினை மட்டும் தேவையான இடத்தில் நகல்மட்டும் எடுக்கின்றது

def CopyFiles(file, path_to_copy):

shutil.copy(file,path_to_copy)

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

def OriginalFiles():

drive = All_Config.get(“from”)

Files_Dict = OrderedDict()

print (drive)

for root, dir, files in os.walk(drive, topdown=True):

for file in files:

file = file.lower()

file_path = root+’\\’+file

try:

hash1 = md5(file_path,size=4096)

#modification_time = int(os.path.getmtime(file_path))

rel_path = file_path.strip(drive)

Files_Dict[(hash1,rel_path)]= file_path

except Exception as e :

log1.logger.error(‘Error Original files: {0}’.format(e))

return Files_Dict

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

def Destination():

Files_Dict = OrderedDict()

from1 = All_Config.get(“from”)

to= All_Config.get(“to”)

dir1= from1.rsplit(“\\”,1)[1]

drive = to+dir1

#print (drive)

try:

if os.path.isdir(drive):

for root, dir, files in os.walk(drive, topdown=True):

for file in files:

file = file.lower()

file_path = root+’\\’+file

try:

hash1 = md5(file_path,size=4096)

#modification_time = int(os.path.getmtime(file_path))

rel_path = file_path.strip(drive)

Files_Dict[(hash1,rel_path)]= file_path

except Exception as e :

log1.logger.error(‘Error Destination foor loop: {0}’.format(e))

return Files_Dict

else :

CopyDir(from1,drive)

log1.logger.info(‘Full folder: {0} copied’.format(from1))

return None

except Exception as e :

log1.logger.error(‘Error Destination: {0}’.format(e))

கோப்பகத்துடன் கோப்பினை உருவாக்க பின்வரும் படத்திலுள்ளவாறான  செயலி வரையறுக்கின்றது

கோப்பினைமட்டும் உருவாக்க பின்வரும் படத்திலுள்ளவாறான  செயலி வரையறுக்கின்றது

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

def LogicCompare():

from1 = All_Config.get(“from”)

to= All_Config.get(“to”)

Dest_dict = Destination()

if Dest_dict:

Source_dict = OriginalFiles()

remaining_files = set(Source_dict.keys())- set(Dest_dict.keys())

remaining_files= [Source_dict.get(k) for k in remaining_files]

for file_path in remaining_files:

try:

log1.logger.info(‘File: {0}’.format(file_path))

dir, file = file_path.rsplit(“\\”,1)

rel_dir = from1.rsplit(“\\”,1)[1]

rel_dir1 = dir.replace(from1,””)

dest_dir = to+rel_dir+”\\”+rel_dir1

if not os.path.isdir(dest_dir):

os.makedirs(dest_dir)

CopyFiles(file_path, dest_dir)

except Exception as e:

log1.logger.error(‘Error LogicCompare: {0}’.format(e))

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

= 0

while True:

if i >= repeat:

break

LogicCompare()

time.sleep(Freq)

i = i +1

Let us see the content of file Sync1.ini

[Para]

From = K:\testing1

To = E:\

Freq = 1

Total_time = 5

அதைவிட பின்வரும்  குறிமுறைவரி மிகஎளியதாக NFO modeஎனும் நிலையில் செயல்படுமாறு செய்யப்பட்டுள்ளது

import logging

logger = logging.getLogger(“Mohit”)

logger.setLevel(logging.INFO)

fh = logging.FileHandler(“Sync.log”)

formatter = logging.Formatter(‘%(asctime)s – %(levelname)s – %(message)s’)

fh.setFormatter(formatter)

logger.addHandler(fh)

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

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

இதன்பின்னர்  dist எனும் கோப்பகத்தில  இதற்கான exe கோப்பு நாம் பயன்படுத்திகொள்வதற்கு தயாராக இருக்கின்றது இதன்பிறகு இதனை செயல்படுத்தி  கோப்புகளை பிற்காப்பு செய்திட பயன்படுத்தி கொள்க


திறந்த மூலக் கயெக இயக்கிகள் (CNC Controllers)

$
0
0

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

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

அர்டுயினோ நுண்கட்டுப்படுத்திக்கான (Arduino microcontroller) ஜி ஆர் பி எல் (GRBL) இயக்கி

ஜி ஆர் பி எல் என்பது அர்டுயினோ நுண்கட்டுப்படுத்திக்காகவே உருவாக்கப்பட்ட திறந்த மூல இயக்கி ஆகும். அர்டுயினோவை அறிமுகம் செய்து முன்னர் இந்த இதழில் வந்த கட்டுரையை இங்கே காணலாம். அர்டுயினோ உனோ (Arduino Uno) என்பது அதன் மிகச்சிறிய மாதிரி ஆகும். இது 500 ரூபாய்க்குக் கீழே கிடைக்கிறது. இதில் நீங்கள் ஜி ஆர் பி எல் பதிவிறக்கம் செய்து நிறுவினால் உங்களுக்கு கயெக இயக்கி  தயார்.

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

ஜி ஆர் பி எல் இயக்கும் கயெக சீரொளி வெட்டி

ஜி ஆர் பி எல் இயக்கும் கயெக சீரொளி வெட்டி

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

பொதுப்பயன் கணினிகளில் ஒடும் லினக்ஸ் சிஎன்சி (LinuxCNC)

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

லினக்ஸ் சிஎன்சி

லினக்ஸ் சிஎன்சி

இது லினக்ஸ் டெபியனில் (Debian) தயார் செய்து சோதித்து வெளியிடப்படுகிறது. எனவே டெபியனில் ஓட்டுவதுதான் பிரச்சினையை குறைக்கும் வழி.

ஆனால் தொடுதிரை பயன்படுத்த உபுண்டுவே சிறந்தது என்று சொல்கிறார்கள். எனினும் இது உபுண்டுவிலும் ஓடும். இது இயந்திரத்தை இயக்குவதால் இதற்கு துல்லியமான நேரக் கட்டுப்பாடு தேவை. ஆகவே நிகழ்நேரப் பயன்பாட்டு இடைமுகம் (Real Time Application Interface – RTAI) என்ற கருநிரல் (kernel) இதற்குத் தேவை. உபுண்டுவில் முதலில் நிகழ்நேரப் பயன்பாட்டு இடைமுகம் நிறுவி அதைக் கருநிரலாக மாற்றிக் கொண்டு அதன் மேல் லினக்ஸ் சிஎன்சி நிறுவ வேண்டும். இது மிகக் கடினமான வேலை. ஆகவே உபுண்டு, நிகழ்நேரப் பயன்பாட்டு இடைமுகம் மற்றும் லினக்ஸ் சிஎன்சி மூன்றையும் ஒரே தருணத்தில் நிறுவத் தயாராக ISO கோப்பு வடிவத்தில் கிடைத்தால் அதைப் பயன்படுத்தலாம். உபுண்டு 18.04 நெடுங்கால ஆதரவு வெளியீட்டில் நிறுவும் படிகள் இங்கே.

லினக்ஸ் சிஎன்சி வரைபடப் பயன்பாட்டு இடைமுகங்கள் (Graphical User Interfaces – GUIs)

லினக்ஸ் சிஎன்சி-க்கு பல வரைபடப் பயன்பாட்டு இடைமுகங்கள் கிடைக்கின்றன.

நிகழ்நேர முன்பார்வை மற்றும் உளிப்பாதை காட்டுவது ஆக்சிஸ் (Axis) வரைபட பயன்பாட்டு இடைமுகத்தின் சிறப்பு அம்சங்கள்.

டச்சி (Touchy) பயனர் இடைமுகம் இயந்திர கட்டுப்பாட்டகங்களில் பயன்படுத்தப்படுகிறது, எனவே விசைப்பலகை மற்றும் சுட்டி தேவையில்லை. கையால் துடிப்பு இயற்றும் சக்கரம் (Manual Pulse Generator) மற்றும் சுவிட்சுகள், பொத்தான்களுடன் இணைந்து வேலை செய்யும்.

பைதான் மெய்நிகர் கட்டுப்பாட்டகம் (python Virtual Control Panel – pyVCP) பயன்படுத்தி ஆக்ஸிஸ் பயனர் இடைமுகத்தில் சிறப்பு செயல்களுக்கு பொத்தான்களையும் காட்டிகளையும் (indicators) சேர்த்து தனிப்பயனாக்க இயலும்.

மற்ற இயந்திரவியல் கட்டுரைகள்:

நன்றி தெரிவிப்புகள் (Acknowledgements)

ashokramach@gmail.com

அமேசான் இணையச்சேவைகள் –தரவத்தள மாற்றச்சேவை

$
0
0

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

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

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

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

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

இச்சேவையைப் பயன்படுத்த மூன்று முக்கிய விசயங்கள் தேவைப்படுகின்றன.

  • நகலாக்கச் சேவையகம் – Replication Server
  • மூல & இலக்கு தரவுத்தளங்களுக்கான முகவரிகள் – Source and target endpoints
  • தரவுமாற்றத்தின்போது செய்யவேண்டிய வேலைகள் – migration tasks

தரவுத்தள மாற்றத்தின்போது இருவகையான வேலைகளைப் பெருவாரியாக பயன்படுத்துகிறோம்.

முதலாவதாக, ஒரு தரவுத்தள மாற்றவேலையைக் கட்டமைக்கும்போது ஒரேயொருமுறை மட்டும் எல்லாத் தரவுகளையும் படியெடுத்தபின்னர் அவ்வேலையை நிறுத்திவிடுமாறு கட்டமைக்கலாம் (full load of existing data). தரவுத்தள மாற்றம் நிகழ்ந்தபின்னர் மூல தரவுத்தளம் நிறுத்தப்பட்டு, இலக்கு தரவுத்தளத்தை செயலிகள் தொடர்ந்து பயன்படுத்துவதற்கான தேவை இருக்கும்போது இவ்வகை வேலையைத் தேர்ந்தெடுக்கலாம்

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

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

Arduino One Pixel Camera எனும் படபிடிப்பு கருவியை கொண்டு அனைத்துபடங்களயும் திரையில் காட்சியாக தோன்றசெய்து காணலாம்

$
0
0

தற்போது நாம் வாழும் இந்த 21 ஆம்நூற்றான்டில் படபிடிப்பு செய்வது எனும் பணியானது மிகவும் எளிதாகிவிட்டது இதற்காகவென தனியாக படபிடிப்பு கருவியெதையும் நாம் வாங்கத் தேவையில்லை நம்முடைய கையிலிருக்கும திறன்பேசி அல்லது கைபேசியே படப்பிடிப்பு செய்வதற்கு தேவையான அனைத்து வசதிகளுடன் தயாராக இருக்கும் போது நாம் மிகவும் எளிதாக படபிடிப்பு செய்யலாம் அல்லவா எனவே எந்தவிடத்திலும் எந்தநேரத்திலும் புகைப்படம் எடுக்கும் கருவி நம்முடைய கைவசமுள்ள இந்த காலத்தில், மிக மெதுவான மிக குறைந்த தெளிவுத்திறன் கொண்ட பழங்காலத்திய புகைபடகருவி நம்முடைய கைவசம் இல்லை யேஎன நம்மில் ஒருசிலர்கவலைப்படலாம். இயல்பான சூழ்நிலையில் அது உண்மையாககூட இருக்கலாம் அவ்வாறான நிலையில் கைகொடுக்க வருவதுதான் Arduino One Pixel Camera எனும் புகைப்படகருவி இதனை github.com/tuckershannon/One-Pixel-Arduino-Camera எனும் தளத்திற்கு சென்று பதிவிறக்கம் செய்து கொள்க அசாதாரண படிப்பிடிப்பு கருவியில் Adafruit இலிருந்து ஒரு 3D அச்சிடப்பட்ட உறை ம7ற்றும் ஒரு 3mm OD அலுமினிய குழாய் மூலம் உள்வரும் ஒரு இறுக்கமான ஒளிகற்றையை பெறுவதற்காக இதனுடைய இதயமாக TCS34725 RGB எனும் வண்ண சென்சார் ஒன்றுள்ளது. இந்த Arduino Uno ஆனது சிறிய துண்டு ஒளியின் நிறத்தை கூட உருவப்படமாக மேம்படுத்திடமுடியுமாவென தீர்மாணிக்க அனுமதிக்கிறது, இறுதியாக வண்ண படத்தின் ஒற்றை பிக்சலை உருவாக்குகிறது. [Tucker] இந்த செயல்முறையின் முடிவில் ஒரு கருப்பு & வெள்ளை படத்தை நம்முடைய நினைவில் இல்லை என்றாலும் ஒரு எளிய photocell ஐ கொண்டு ஐந்து வண்ண சென்சாரை வெளியே மாற்ற முடியும் . இரு நிகழ்வுகளிலும், ஒளியின் அளவை ஆய்வு செய்தவுடன், இரட்டை BYJ-48 ஸ்டெப்பர் மோட்டார்கள் மூலம் சென்சாரின் autoturret-style இல் இடமாற்றம் செய்யப்படுகிறது. இந்த செயல்முறையில் புள்ளியாக இருப்பது மிகமெதுவாக விரிவடைந்து கொண்டே வந்து இறுதியில் படத்தின் முழு உருவம் ஆகி ஒன்றாக இணைக்கப்படும் வரை தொடர்கிறது, இறுதியாக இதிலிருந்து வெளியேறுகின்றது இப்போது உங்கள் கைபேசியில் கேமரா ஒப்பிடும்போது, இதன் விளைவாக படம் ஒரு பிட் அண்டர்வெல்மிங் இருக்கலாம். நாங்கள் ஒரு பிட் கணினி டிஜிட்டல் படத்தை பார்க்கும் ஒரு பிட் தான் என்று 8 பிட் கம்ப்யூட்டர் இருந்தது, ஆனால் உண்மையிலேயே அது அதிக தாராளமாக இருக்கும். ஆனால் நவீன கண்கள் விரும்புவதைப் போல அது மிருதுவானதாக இல்லாவிட்டாலும் கூட, இது நிச்சயமாக ஒரு குறிக்கப்பட்ட படமாகும், இது அனைத்து [Tucker] படப்பிடிப்புக்காக உள்ளது என்பதில் சந்தேகம் இல்லை. நிச்சயமாக, உங்கள் optical frugality என்றால் இந்த குறைந்த-தெளிவுதிறன் படப்பிடிப்பு கருவியானது உங்கள் சுவைகளை மிகவும் கூர்மையாக்ககூடியது

இணைய வழி தமிழ் உரை ஒலி மாற்றி –வெளியீடு

$
0
0

 

வணக்கம்.
இன்று tts.kaniyam.com என்ற இணைய வழி தமிழ் உரை ஒலி மாற்றியை வெளியிடுவதில் பெருமகிழ்ச்சி கொள்கிறோம்.
இது ஒரு கட்டற்ற மென்பொருள்.
மூலநிரல் – github.com/KaniyamFoundation/tts-web
Ubuntu/Linux, Python, Django, Celery, MySQL, ஆகியவை கொண்டு உருவாக்கப்பட்டது.
அறிமுகம்

இந்த மென்பொருள் உங்கள் தமிழ் உரைக்கோப்புகளை (text file) ஒலிக்கோப்புகளாக (MP3) மாற்ற உதவுகிறது. (TTS Text-To-Speech)

எப்படி மாற்றுவது?

  1. இதில், நீங்கள் ஒரு கணக்கு உருவாக்கவும். tts.kaniyam.com/signup/
  2. உங்கள் மின்னஞ்சலுக்கு, புது கணக்கை உறுதி செய்ய, ஒரு இணைப்பு வரும். அதை சொடுக்கவும்.
  3. புகுபதிகை செய்யவும். (Login)
  4. tts.kaniyam.com/upload/ பக்கத்துக்கு சென்று, ஒரு தமிழ் உரைகள் கொண்ட கோப்பை பதிவேற்றம் செய்யவும்.
  5. இப்போது, பின்புலத்தில் உங்கள் உரைக்கோப்பு, ஒலிக்கோப்பாக மாற்றம் செய்யப்படும். இதற்கு சற்று கால அவகாசம் ஆகும். சில நிமிடங்கள் முதல் சில மணி நேரங்கள் கூட ஆகலாம். இந்த காத்திருப்பு காலம், உங்கள் கோப்பின் அளவையும், மொத்தமாக அனைவரும் ஏற்றியுள்ள கோப்புகளின் எண்ணிக்கை, அவற்றின் வரிசைகளைப் பொறுத்து மாறும்.
  6. MP3 ஆக மாற்றியபின், உங்கள் மின்னஞ்சலுக்கு பதிவிறக்கம் செய்வதற்கான இணைப்பு வந்து சேரும். உங்களுக்கான tts.kaniyam.com/ முகப்பு பக்கத்தில் காட்டப்படும் உங்கள் கோப்புகளின் பட்டியலிலும் பதிவிறக்க இணைப்பு இருக்கும்.
  7. இணைப்பை சொடுக்கி, நீங்கள் ஒலிக்கோப்பை பதிவிறக்கம் செய்து கொள்ளலாம்.

அடிக்கடி கேட்கப்படும் வினாக்கள்

எந்த வகை கோப்புகளை பதிவேற்றலாம்?
ஒருங்குறி (Unicode) எழுத்துருவில் உள்ள, txt வகைக் கோப்புகளை மட்டுமே ஏற்றலாம். அதிக பட்சம் 100 MB இருக்கலாம்.

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

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

ஏன் ஆண் குரல் மட்டும்? பெண் குரல் இல்லையா? பெண் குரல் சோதனையில் உள்ளது. விரைவில் சேர்ப்போம்

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

இந்த மென்பொருள் பாதுகாப்பனதா? ஓரளவுதான். இது ஒரு கட்டற்ற மென்பொருள். இதன் மூல நிரலை இங்கே ( github.com/KaniyamFoundation/tts-web )பெற்று, நீங்களே சோதித்துக் கொள்ளுங்கள். மேலும் பல்வேறு பாதுகாப்புக்கான பல்வேறு செயல்கள் செய்யப்பட உள்ளன. உதாரணமாக SSL சேர்த்தல், கோப்புகளை மறைகுறியாக்கம் Encrypt) செய்தல் போன்றவை.

இதை விண்டோசில் நிறுவலாமா? முடியாது.

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

பங்களித்தோர்

ஊர் கூடி தேர் இழுக்கும் பெரும் பணி இது.

IndicTTS (www.iitm.ac.in/donlab/tts/index.php) எனும் திட்டம் வழியாக IIT Madras ம் SSN College of Engineering ம் இணைந்து, தமிழுக்கு ஒரு உரை ஒலி மாற்றி உருவாக்கி, கட்டற்ற மென்பொருளாக வெளியிட்டுள்ளனர். ( பிற மொழிகளுக்கும் ஆய்வுகள் நடந்து வருகின்றன ).

இதில் பங்களிப்போர்

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

நிரல் இங்கே – github.com/tshrinivasan/tamil-tts-install

பலவகைகளில் சோதனைகள் செய்தவர்

இதை இணைய வழி மென்பொருளாக எழுதி, நிறுவி, பராமரிப்பவர்

இதற்கான சர்வரை நன்கொடையாக அளித்தவர்கள் –

இதற்கான யோசனைகள், திட்டங்கள், ஆலோசனைகளை அளித்தோர்

  • இந்திய லினக்சு பயனர் குழு, சென்னை – Indian Linux Users Group, Chennai ilugc.in
  • கட்டற்ற மென்பொருள் அறக்கட்டளை, தமிழ்நாடு – Free Software Foundation, TamilNadu fsftn.org
  • ஒருங்கிணைப்பு – கணியம் அறக்கட்டளை – kaniyam.com/foundation

தொடர்புக்கு kaniyamfoundation@gmail.com

பின் வரும் மாற்றங்களை விரைவில் எதிர் பார்க்கலாம்

  1. பெண் குரல்
  2. இன்னும் தரமான உரை ஒலி மாற்றம்
  3. பிற மொழிகளுக்கான உரை ஒலி மாற்றம்
  4. REST API வசதிகள்
எப்படி பிழைகளை புகார் செய்வது?
Github.com ல் ஒரு கணக்கு உருவாக்கி, github.com/KaniyamFoundation/tts-web/issues இங்கு உங்கள் புகார்கள், பிழைகள், யோசனைகள், ஆலோசனைகளைத் தெரிவிக்கலாம்.

நீங்களும் பங்களிக்கலாமே

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

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

வங்கிக் கணக்கு விவரங்கள்

Kaniyam Foundation
Account Number : 606 1010 100 502 79
Union Bank Of India
West Tambaram, Chennai
IFSC – UBIN0560618
நன்கொடை விவரங்களை kaniyamfoundation@gmail.com க்கு மின்னஞ்சல் அனுப்புங்கள்.

நிகழ்வுக் குறிப்புகள் –இலண்டன் பல்கலைக்கழகத்தில் தமிழ்த்துறை – TamilChairUK –சென்னையில் கலந்துரையாடல்

$
0
0

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

கலந்து கொண்டோர்
1. சிவா பிள்ளை, இலண்டன் தமிழ்த்துறை ஒருங்கிணைப்புக் குழு
2. மு. கனகலட்சுமி
3. பாலகிருஷ்ணன் ஐ.பி.எஸ், இணை ஆணையர், சென்னை பெருநகர காவல்துறை
4. அக்னி, ஒருங்கிணைப்பாளர், உலகத் தமிழர் பேரவை
5. வாசுகி, தலைமை நிலைய செயற்பாட்டாளர், உலகத் தமிழர் பேரவை
6. சி. பெரியசாமி
7. மு. வேடியப்பன், டிஸ்கவரி புக் பேலஸ்
8. கு. சிதம்பரம், உலகத் தமிழாராய்ச்சி நிறுவனம்
9. சு. சதாசிவம், சென்னை கிறுத்துவக் கல்லூரி
10. த. சீனிவாசன், கணியம் அறக்கட்டளை
11. கலீல் ஜாகீர், கணியம் அறக்கட்டளை
12. அன்வர், கணியம் அறக்கட்டளை
13. உ. கார்க்கி, கணியம் அறக்கட்டளை
14. சே. அருணாசலம், கணியம் அறக்கட்டளை

சிவா பிள்ளை

அனைவரின் அறிமுகத்துக்குப் பிறகு, சிவா பிள்ளை அவர்கள் இலண்டன் பல்கலைக் கழகத்தின் ஒரு பகுதியான SOAS (School of Oriental and organisational studies, London, UK”) ல் பல நூறாண்டுகள் தொடர்ந்து இயங்கும் வகையில் தமிழ்த்துறை ஒன்று உருவாக்க வேண்டும் என்ற தேவையையும், அதன் வரலாற்றையும் விளக்கினார். உலகின் பிற நாடுகளில் அமைக்கப்படும் தமிழ் இருக்கை ஆய்வுப் பணிகளை மட்டுமே முதன்மையாக கொண்டவை. ஆனால் இலண்டனில் அமைக்கப்படுவது தமிழை தொடக்க நிலை, இடைநிலை, உயர் நிலைகளில் அனைவருக்கும் முழு நேரப் பாடமாக கல்வி தரும் வகையில் ஒரு முழு துறை ஆகும். இதன் மூலம் இலண்டன் பல்கலைக் கழகத்தின் ஆதரவுடன் பிரிட்டனில் உள்ள இளைய தலைமுறையினர், தமிழை முறையாக்க் கற்கவும், அவர்களது கல்வியில் அதிகப் புள்ளிகள் பெறவும் இயலும்.

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

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

ஓரிரு வாரங்களில் அடுத்த சந்திப்பு ஏற்பாடு செய்யப் படும். அதில் அடுத்த கட்ட செயல்கள், முயற்சிகள் விவாதிக்கப்படும்.

மேலும் விவரங்களுக்கு – tamilchairuk.org/

தொடர்புக்கு – tamilchairuk@gmail.com

புகைப்படங்கள் இங்கே –
photos.app.goo.gl/43pQfFAim6TXmbcC9

வேறு ஒரு செய்திக் குறிப்பு இங்கே – worldtamilforum.com/forum/forum_news/london_university_tamil_chair_savera/

கணியம் அறக்கட்டளை சனவரி 2019 மாத அறிக்கை

$
0
0

கணியம் அறக்கட்டளை சனவரி 2019 மாத அறிக்கை

தொலை நோக்கு – Vision

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

பணி இலக்கு – Mission

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

நிகழ்ச்சிகள்

செயல்கள்

எண் செயல்கள் இந்த மாதம் மொத்தம் பங்களித்தோர்
1 FreeTamikEbooks.com வெளியீடுகள் 21 506 ச. இராஜேஸ்வரி – லெனின் குருசாமி – எம்.ரிஷான் ஷெரீப்
2 கணியம் கட்டுரைகள் 8 696 இரா. அசோகன் – கலாராணி – ச.குப்பன்
3 கணியம் ஒலியோடை 5 9 ஆறுமுகம், கமல், பிரசன்னா, கணேஷ், நூருதீன்
4 அரசியல் உரைகள் ஒலியோடை 16 16 ஆழி செந்தில்நாதன், TNCPIM குழுவினர்

விக்கிமூலம்

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

காண்க ta.wikisource.org/wiki/விக்கிமூலம்:கணியம்_திட்டம்

பங்களித்தோர்

  • திவ்யா
  • பவித்ரா
  • சோபியா
  • அருண்
  • தகவல் உழவன்

திட்டதின் வழிகாட்டல்களுக்கு விக்கிமூலம் தன்னார்வலர் பாலாஜி அவர்களுக்கு நன்றிகள்.

ஒலியோடை

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

  • வாசகசாலை அமைப்பின் காணொளிகள் கிரியேட்டிவ் காமன்சு உரிமையில் வெளியிடப் பட்டுள்ளன. www.youtube.com/channel/UCh3dIFfxy5cp1DBAlthHctA/videos வாசகசாலைக்கான ஒலியோடை உருவாக்கப்பட்டு வருகிறது. விரைவில் வெளியடப்படும்.
  • கிரியேட்டிவ் காமன்சு உரிமையில் உள்ள TNCPIM காணொளிகள் அரசியல் உரைகள் ஒலியோடையில் வெளியிடப்படுகின்றன.

மென்பொருட்கள்

  1. இணைய வழி உரை ஒலி மாற்றி ( TTS on Web ) மென்பொருள் வெளியிடப்பட்டது. மூலநிரல்(github.com/KaniyamFoundation/tts-web)
  2. Youtube அல்லது நம்மிடம் உள்ள ஒலிக்கோப்பை ஒலியோடையாக எளிதில் வெளியிடும் மென்பொருள் உருவாக்கப்பட்டது. மூலநிரல் – github.com/KaniyamFoundation/YouTube2Podcast இதன் மூலம் விரைந்து பல ஒலியோடைகளை வெளியிடலாம். உருவாக்கிய கலீல் ஜாகீருக்கு நன்றி. CommandLine ல் இயங்கும் இதை இணைய வழி மென்பொருளாக, அனிதா மாற்றி வருகிறார். மூலநிரல் – github.com/anithagk12/metadata
  3. விக்கிசனரியில் உள்ள வார்த்தைகளை ஒலியாகப் பதிவு செய்ய ஆன்டிராய்டு செயலி உருவாக்கப்பட்டு வருகிறது. இதன் சில பிழைகள் களையப்பட்டன. தொடர்ந்து மேம்படுத்தப் பட்டு வருகிறது.
  4. தமிழ் எழுத்துப்பிழைத்திருத்தி உருவாக்குவதற்கான ஆய்வுகள் தொடங்கப்பட்டுள்ளன. மொழியியல் அறிஞர் திரு. பழனி அவர்கள் பெயர்ச்சொற்களுக்கான விதிகளை அனுப்பியுள்ளார். அவற்றை நிரலாக்கம் செய்ய திட்டமிடுகிறோம்.

புதிய திட்டங்கள்

பல்வேறு புதிய திட்டங்களுக்கான உரையாடல்களை இங்கே பதிந்து வருகிறோம்.

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

இம்மாத நன்கொடையாளர்கள்

  • அம்பேத்கர், குப்பம், ஆந்திரம் – ரூ 13,000
  • த.சீனிவாசன், சென்னை – ரூ 10,000
  • ரேவதி குப்புசாமி – ரூ 500 மொத்தம் – ரூ 23,500

இணைய வளங்கள் நன்கொடைகள்

  • நூலகம் அறக்கட்டளை – சர்வர் (ரூ 350/மாதம்)
  • E2E Networks – சர்வர் ( ரூ 730/மாதம்)

சென்ற மாத இருப்பு – ரூ 96,000

செலவுகள்

  1. லெனின் குருசாமி – 1335 – கணியம் அறக்கட்டளை 2019 நாட்காட்டி (சோதனை முயற்சி)
  2. திவ்யா – 965 – விக்கி மூலம்
  3. பவித்ரா – 552 – விக்கி மூலம்
  4. அன்வர் – 3000 – கோவை பயணம் – சில நூலாசிரியர்களை நேரில் கண்டு, அவர்கள் படைப்புகளை கி.கா உரிமையில் பெறுதல்
  5. த. சீனிவாசன் – 800 – முன்னேற்றப் பதிப்ப நூல்கள் வாங்கியதற்காக

மொத்த செலவுகள் – ரூ 6652

மொத்தம் கையிருப்பு – ரூ 96,000 + ரூ 23500 – ரூ 6652 = ரூ 1,12,848

இந்த இணைப்பில் அனைத்து வரவு, செலவு விவரங்கள் பகிரப்படுகின்றன. docs.google.com/spreadsheets/d/1zBXZzjYP_WKfm4y3EpTYw5yOTOeA-sSp8mcNjjNAUe0/edit?usp=sharing

வங்கிக் கணக்கு விவரங்கள்

Kaniyam Foundation
Account Number : 606 1010 100 502 79
Union Bank Of India
West Tambaram, Chennai
IFSC - UBIN0560618
  • உங்கள் நன்கொடைகளை இந்தக் கணக்குக்கு அனுப்பி, கணியம் அறக்கட்டளை செயல்களை ஆதரிக்க வேண்டுகிறோம்.
  • நன்கொடைகளை அனுப்பியபின், உங்கள் பெயர்,நன்கொடை விவரங்களை kaniyamfoundation@gmail.com க்கு அனுப்ப வேண்டுகிறோம்.

மேலும் விவரங்களுக்கு எழுதுக – kaniyamfoundation@gmail.com

 

ஆங்கில அறிக்கை – github.com/KaniyamFoundation/Organization/wiki/Kaniyam-Foundation-January-2019-Report

மீப்பெரும் தரவுகள் ஒரு அறிமுகம்

$
0
0

நுண்ணறிவு, போக்குகள், தொடர்புகள் ஆகியவற்றை வெளிப்படுத்தவும் குறிப்பாக மனித நடத்தையையும் அவர்களுடனான இடைமுகப்பு தொடர்பாகவும் இந்தமீப்பெரும் தரவுத் தொகுப்புகளின் வாயிலாக மிகஎளிதாக கணிப்பாய்வு செய்யலாம்,
தொழில்துறை ஆய்வாளரான Doug Laney என்பவர் Gartner என்பவருடன் சேர்ந்து தொகுதி(volume) , வேகம் (velocity) , வகைகள் (variety) ஆகிய மூன்று பெரிய Vs சேர்ந்ததே இன்றைய முக்கிய மீப்பெரும் தரவுகளின் வலிமையாகும் என்ற வரையறையை வெளிப்படுத்தியுள்ளார்.மேலும் மாறிலியாகவும்(Variability),சிக்கலானதாகவும்(Complexity) இருக்கும்என்று கூறுகின்றார்

, ஃபேஸ்புக் மற்றும் ட்விட்டர் போன்ற சமூக ஊடகங்களின் வாடிக்கையாளர் நடத்தை, முன்னுரிமை ,பொருள் உற்பத்திமீதான கருத்து ஆகியவற்றின் முன்னோடியில்லாத காட்சியை பெறுவதன் அடிப்படையில் நுகர்வோர் தயாரிப்பு நிறுவனங்கள் மற்றும் சில்லறை நிறுவனங்கள் கட்டுபடுத்தப்படும் .

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

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

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

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

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


அட்டைப்படம் உருவாக்கலாம் வாங்க!

$
0
0

 

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

அவற்றுக்கான அட்டைப்படங்களை உருவாக்கும் ஒரு நிகழ்வை வரும் ஞாயிறு அன்று ஏற்பாடு செய்துள்ளோம். மின்னூல்களுக்கான அட்டைப்படம் உருவாக்கும் ஆர்வமுள்ள அனைவரையும் அழைக்கிறோம்.

நாள் – பிப்ரவரி 10, 2019
நேரம் – காலை 9.00 முதல் 1.00 வரை

இடம் – தரைதளம் 4, சுபிக்‌ஷா அடுக்ககம், 42, வியாசர் தெரு, கிழக்கு தாம்பரம், சென்னை 600059 (த.சீனிவாசன், து.நித்யா வீடுதாங்க)

வரைபடம் – goo.gl/maps/zpjo9F83HDF2

நிகழ்ச்சி நிரல்
9.00 – 9.30 – கட்டற்ற வரைகலை மென்பொருள் GIMP அறிமுகம்
9.30 – 10.00 – அட்டைப்படங்கள் – அறிமுகம், தேவைகள்
10.00 – 1.00 – அனைவரும் இணைந்து அட்டைப்படங்கள் உருவாக்குதல்

குறிப்புகள் –
நீங்களே உங்கள் மடிக்கணினி கொண்டுவருதல் அவசியம்.

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

இங்கு உருவாக்க வேண்டிய அட்டைப்படங்களின் விவரங்கள் உள்ளன.
github.com/KaniyamFoundation/SangaElakkiyam/issues

மின்னூல்கள் விவரங்கள் –

  1. சிலப்பதிகாரம் – 10
  2. தொல்காப்பியம் – 40
  3. நாலடியார் – 22
  4. திணைமாலை நூற்றைம்பது – 3
  5. திருக்குறள் – 74
  6. திரிகடுகம் – 7
  7. ஆசாரக் கோவை – 6
  8. பழமொழி நானூறு – 6
  9. சிறுபஞ்ச மூலம் – 3
  10. முதுமொழிக்காஞ்சி – 4
  11. ஏலாதி – 6
  12. இன்னிலை – 2
  13. கைந்நிலை – 2
  14. நான்மணிக்கடிகை – 3
  15. இறையனார் அகப்பொருள் – 2
  16. மணிமேகலை – 13
  17. பதினெண்கீழ்க்கணக்கு தொகுப்பு – 3
  18. இன்னா நாற்பது – 4
  19. இனியவை நாற்பது – 4
  20. கார் நாற்பது – 4
  21. களவழி நாற்பது – 2
  22. ஐந்திணை ஐம்பது – 2
  23. ஐந்திணை எழுபது – 3
  24. திணைமொழி ஐம்பது – 3

மொத்தம் – 228

இந்த மின்னூலாக்க நிகழ்வில் கலந்து கொள்ள விரும்புவோர் tshrinivasan@gmail.com க்கு ஒரு மின்னஞ்சல் அனுப்பி உறுதி செய்து கொள்ள வேண்டுகிறோம்.

தொடர்புக்கு – த. சீனிவாசன் – 984179546 எட்டு

 

நிகழ்வுக் குறிப்புகள் –அட்டைப்படம் உருவாக்கம்

$
0
0

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

கலந்து கொண்டோர்

  • அன்பரசு
  • அன்வர்
  • தகவல் உழவன்
  • த. சீனிவாசன்
  • கருவெளி இராசேந்திரன் (இணைய வழியில்)
  • லெனின் குருசாமி (இணைய வழியில்)

அன்வர், தகவல் உழவன், சீனிவாசன், அன்பரசு

முதலில் GIMP பற்றிய அறிமுகம் தரப்பட்டது. பின் ஒரு உதாரண அட்டைப்பட உருவாக்கிய பின், அனைவரும் அட்டைப்படங்கள் உருவாக்கினர்.

Git, Github, Issues, Workflow, Labels ஆகியவை அறிமுகப்படுத்தப்பட்டன.  மதிய உணவுக்குப் பின்னும் தொடர்ந்த நிகழ்வு 5 மணிக்கு நிறைவு பெற்றது. மொத்தம் 36 படங்கள் உருவாக்கப் பட்டன. கலந்து கொண்டு பங்களித்த அனைவருக்கும் நன்றிகள்.

படங்கள் – photos.app.goo.gl/kPSqYVv4UC1aDGbv5

 

படங்கள் இங்கே பதிவேற்றப்பட்டன – github.com/KaniyamFoundation/SangaElakkiyam/issues/

விரைவு எதிர்வினை குறியீடு (QR code)

$
0
0

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

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

ரியாக்ட் செயலி உருவாக்கம்:

முதல்படியாக ஒரு ரியாக்ட் செயலியை உருவாக்கலாம். பலவழிகளில் இதனைச் செய்யமுடியும். அவற்றையெல்லாம் இவ்விணைப்பில் காணலாம். நமது தேவைக்கு create-react-app என்ற கருவியைப் பயன்படுத்தி qr-code-demo என்ற புதிய செயலியை உருவாக்கலாம்.

npx create-react-app qr-code-demo
cd qr-code-demo
npm start

இக்கட்டளையை இயக்கியவுடன் localhost:3000 என்ற முகவரியைக் கொண்ட பக்கம் உலாவியில் திறக்கப்படுகிறது. கீழ்கண்ட படத்திலுள்ளது போன்ற பக்கத்தை அதில் காணலாம்.

இதில் குறிப்பிட்டுள்ளது போல, src/App.js என்ற கோப்பினை மாற்றி, ஒரு விரைவு எதிர்வினைக் குறியீட்டை உருவாக்கலாம்.

QR Code – உருவாக்கம்

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

npm install --save qrcode

App.js ல் இதைப் பயன்படுத்துவதற்கு முன், பின்வருமாறு இறக்குமதி செய்யவேண்டும்.

import QRCode from 'qrcode';

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

generateQRCode() {
   QRCode.toDataURL('http://www.kaniyam.com/qrcode')
     .then(url => this.setState({ url }))
     .catch(err => console.error(err))
}

இங்கே www.kaniyam.com/qrcode என்பது நாம் உருவாக்குகிற குறியீட்டில் இருக்கவேண்டிய செய்தியாகும். toDataURL என்ற செயற்கூறு, இச்செய்தியை குறியீடாக மாற்றி, அதற்கான data url ஐத்தருகிறது. இதனை ஒரு <img /> க்கு மூலமாக (src) கொடுக்கும்போது நம்மால் குறியீட்டைத் திரையில் காண முடிகிறது.

<img src={this.state.url} alt=’qr-code’/>

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

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

import React, { Component } from 'react';
import QRCode from 'qrcode';
import './App.css';

class App extends Component {
 constructor(props) {
   super(props);
   this.state = {
     url: null
   }
 }

 componentDidMount() {
   this.generateQRCode();
 }

 generateQRCode() {
   QRCode.toDataURL('http://www.kaniyam.com/qrcode')
     .then(url => this.setState({ url }))
     .catch(err => console.error(err))
 }

 render() {
   return (
     
<div className="App">
       
<header className="App-header">
         <img src={this.state.url} alt='qr-code'/>
       </header>

     </div>

   );
 }
}

export default App;

QR Code – உணர்தல்

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

npm install --save react-qr-scanner

அடுத்ததாக, இதனை App.jsல் இறக்குமதி செய்யவேண்டும்.

import QrReader from 'react-qr-scanner';

240×320 என்ற அளவுகொண்ட பகுதியில் கேமராவினை இயக்கி, குறியீட்டை வருடுவதற்கு, பின்வரும் நிரலைப் பயன்படுத்தலாம்.

         <QrReader
            delay={100}
            style={{ height: 240, width: 320 }}
            onError={(err) => console.error(err)}
            onScan={this.handleScan}
         />

இங்கே delay என்பது எத்தனை மில்லிவினாடிகளுக்கு ஒருமுறை கியூஆர் குறியீட்டை வருடவேண்டும் எனக் குறிப்பிடுகிறது. வருடும்போது பிழை ஏற்பட்டால் என்ன செய்யவேண்டும் என்பதை onError குறிக்கிறது. வருடிய செய்தியை என்ன செய்யவேண்டும் என்பதை onScan குறிக்கிறது. இங்கே handleScan என்ற செயற்கூற்றினைப் பயன்படுத்துமாறு எழுதியிருக்கிறோம். அச்செயற்கூற்றின் வரையறையை கீழே காணலாம்.

handleScan(data){
  this.setState({
    result: data
  })
}

இந்த எளிய செயற்கூறு, குறியீட்டில் உள்ள தகவலை data என்ற உள்ளீடாகப் பெற்று, result என்ற மாறியில் சேமிக்கிறது. செயல்முறைக்காக, ஒரு <p />ஐப் பயன்படுத்தி, இத்தகவலைத் திரையில் காட்டலாம்.

<p>{this.state.result}</p>

இதற்கான முழுமையான நிரலைக் கீழே காணலாம்.

import React, { Component } from 'react';
import QrReader from 'react-qr-scanner';
import './App.css';

class App extends Component {
 constructor(props) {
   super(props);
   this.state = {
     result: 'Loading...'
   }
   this.handleScan = this.handleScan.bind(this)
 }

 handleScan(data){
   this.setState({
     result: data
   })
 }

 render() {
   return (
    <div className="App">   
      <header className="App-header">
         <QrReader
            delay={100}
            style={{ height: 240, width: 320 }}
            onError={(err) => console.error(err)}
            onScan={this.handleScan}
         />
         <p>{this.state.result}</p>
       </header>
     </div>
   );
 }
}

export default App;

இச்செயல்முறைக்குப் பயன்பட்ட முழுநிரலையும், பின்வரும் இணைப்பில் பெறலாம்.

github.com/kalarani/qr-code-demo

1000 நூல்களை ஒருங்குறி வடிவில் வாங்க நன்கொடை வேண்டுதல்

$
0
0

கணியம் அறக்கட்டளை

 

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

  • Kaniyam.com  தளத்தில் கடந்த  7 ஆண்டுகளாக, கட்டற்ற மென்பொருள் சார்ந்த கட்டுரைகளும், மின்னூல்களும் தொடர்ச்சியாக வெளியிடப்பட்டு வருகின்றன.
  • FreeTamilEbooks.com தளத்தில் 5.5 ஆண்டுகளில் 500 மின்னூல்கள் இது வரை வெளியிடப்பட்டுள்ளன.  தமிழ்கூறு நல்லுலகெங்கும் வாழும் பல்திறப்பட்ட ஆர்வலர்கள் தொடர்ந்து மின்னூலாக்கத்தில் ஊக்கத்துடன் ஈடுபட்டுவருகின்றார்கள்.
  • ta.wikisource.org தளத்தில் விக்கிப்பீடியா குழுவினருடன் இணைந்து 2000 க்கும் மேற்பட்ட மின்னூல்கள் எழுத்துணரி (OCR) மூலம் எழுத்துகளாக மாற்றப்பட்டு, மெய்ப்பு (Proof Reading) பார்க்கப்பட்டு வருகின்றன.

இப்பணிகளுக்குத் தேவையான பல்வேறு மென்பொருட்கள் உருவாக்கப் பட்டு, கட்டற்ற மென்பொருட்களாக (Free Open Source Software) வெளியிடப்படுகின்றன.

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

மாணவர் பதிப்பகம்

 

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

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

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

நூல் பட்டியல்

 

  1. பாவேந்தர் பாரதிதாசன் – 167 நூல்கள்
  2. கா. அப்பாத்துரையார் – 98 நூல்கள்
  3. முதுமுனைவர் இளங்குமரனார் தமிழ்வளம் – 80 நூல்கள்
  4. சாமிநாத சர்மா நூல்திரட்டு – 76 நூல்கள்
  5. ந.சி.க. நூல் திரட்டு – 65 நூல்கள்
  6. திரு.வி.க. தமிழ்க்கொடை – 54 நூல்கள்
  7. பாவாணர் தமிழ்க் களஞ்சியம் – 53 நூல்கள்
  8. மறைமலை அடிகள் – 52 நூல்கள்
  9. சாமி சிதம்பரனார் நூற்களஞ்சியம் – 37 நூல்கள்
  10. முனைவர் இராசமாணிக்கனார் நூல்கள் – 39 நூல்கள்
  11. மாணிக்க விழுமியங்கள் – 34 நூல்கள்
  12. நா.மு.வே.நாட்டார் தமிழ் உரைகள் – 32 நூல்கள்
  13. ஔவை துரைசாமி உரைவேந்தர் தமிழ்த்தொகை – 32 நூல்கள்
  14. புலவர் குழந்தை படைப்புகள் – 28 நூல்கள்
  15. சங்க இலக்கியக் களஞ்சியம் – 22 நூல்கள்
  16. கவியரசர் முடியரசன் படைப்புகள் – 22 நூல்கள்
  17. அறிஞர் க. வெள்ளை வாரணனார் நூல் வரிசை – 21 நூல்கள்
  18. மயிலை சீனி. வேங்கடசாமி ஆய்வுக் களஞ்சியம் – 20 நூல்கள்
  19. தொல்காப்பிய உரைத்தொகை – 19
  20. பதினெண் கீழ்க்கணக்கு – 18 நூல்கள்
  21. தமிழ் இலக்கணப் பேரகராதி (கோபாலையர்) – 18 நூல்கள்
  22. இராகவன் நூற்களஞ்சியம் – 16 நூல்கள்
  23. சதாசிவப் பண்டாரத்தார் – 16 நூல்கள்
  24. தொல்காப்பியம் (உரைகளுடன்) – 15 நூல்கள்
  25. செவ்விலக்கிய கருவூலங்கள் -15 நூல்கள்
  26. தேவநேயப் பாவாணர் – 13 நூல்கள்
  27. தமிழக வரலாற்று வரிசை – 12 நூல்கள்
  28. நாவலர் சோமசுந்தர பாரதியார் நற்றமிழ் ஆய்வுகள் – 10 நூல்கள்
  29. செம்மொழிச் செம்மல்கள் – 10 நூல்கள்
  30. பி. இராமநாதன் – 10 நூல்கள்
  31. செந்தமிழ்ச் சொற்பொருட் களஞ்சியம் – 10 நூல்கள்
  32. கருணாமிர்த சாகரம் -7 நூல்கள்
  33. ஐம்பெருங் காப்பியங்கள் – 5 நூல்கள்
  34. முதுமொழிக் களஞ்சியம் – 5 நூல்கள்
  35. சுப்புரெட்டியார் – 3 நூல்கள்
  36. வெள்ளி விழாத் தமிழ்ப் பேரகராதி – 3 நூல்கள்
  37. உவமைவழி அறநெறி விளக்கம் – 3 நூல்கள்
  38. யாழ்ப்பாண அகராதி -2 நூல்கள்
  39. ந.சி. கந்தையா அகராதிகள் – 2 நூல்கள்
  40. நீதி நூல்கள் – 2 நூல்கள்
  41. குறுந்தொகை விளக்கம் (இராகவன் ஐயங்கார்) – 1 நூல்

மொத்த பக்கங்கள் – 2 இலட்சத்துக்கு மேல்

மொத்த நூல்கள் – 1,165

நாட்டுடைமை நூல்களை மின்னூல்களாக வெளியிடுதல்

 

தமிழ் இணையக் கல்விக் கழகம் நாட்டுடைமை நூல்களை PDF கோப்புகளாக வெளியிட்டுள்ளது. அவற்றை விக்கி மூலம் பங்களிப்பாளர்கள், OCR கருவி மூலம் எழுத்துகளாக மாற்றி, அதில் ஏற்பட்ட பிழைகளைக் களைந்து வருகின்றனர்.

கடும் மனித உழைப்பையும் நேரத்தையும் கோரும் பணி இது. இப்போதுள்ள சுமார் 2000 மின்னூல்களைப் பிழைத்திருத்தம் செய்து உரை வடிவில் வெளியிட சில பத்தாண்டுகள் ஆகலாம்.

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

விக்கிமூலத்தில் proof read பணிகள் பற்றியும், கணியம் அறக்கட்டளை, FreeTamilEbooks.com வெளியீடுகள் பற்றியும் அவர்களுக்கு எடுத்துரைத்தோம். கிரியேட்டிவ் காமன்ஸ் உரிமையில் அனைவருக்கும் இலவசமாகவே மின்னூல்களை தருவது அறிந்து மகிழ்ந்து வாழ்த்தினர்.

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

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

இதற்கான நன்கொடையாக ரூபாய் 5 லட்சம் அளிப்பதாக இசைந்தோம். நாம் ஒரு பக்கத்திற்கு எவ்வளவு நன்கொடையாக செய்கிறோம் என்று எண்ணினால், அது ஒரு மிகச் சிறிய தொகை [2.5 ரூபாய் /பக்கம்].

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

அவர்களிடமிருந்து நூல்களைப் பெற்ற பின், அவற்றுக்கு அட்டைப்படம் சேர்த்து, விக்கிப்பீடியாவின் துணைத்திட்டமான விக்கிமூலம் தளத்திலும் (ta.wikisource.org), கூடவே கிண்டில், கைபேசி, கணினி என அனைத்து மின்னணுக் கருவிகளிலும் படிக்கும் வகையில், epub, mobi, A4 PDF, 6 inch PDF ஆகிய வடிவங்களில் FreeTamilEbooks.com இலும், வெளியிடுவோம்.

நன்கொடை வேண்டுகோள்

 

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

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

வெளிப்படைத்தன்மை

 

வங்கி விவரங்கள்

 

Kaniyam Foundation

Account Number : 606 1010 100 502 79

Union Bank Of India

West Tambaram, Chennai

IFSC – UBIN0560618

Account Type : Current Account

 

நன்கொடை விவரங்களை kaniyamfoundation@gmail.com க்கு மின்னஞ்சல் அனுப்புங்கள்.

 

UPI செயலிகளுக்கான QR Code

Note: Sometimes UPI does not work properly, in that case kindly use Account number and IFSC code for internet banking.
குறிப்பு: சில UPI செயலிகளில் இந்த QR Code வேலை செய்யாமல் போகலாம். அச்சமயம் மேலே உள்ள வங்கிக் கணக்கு எண், IFSC code ஐ பயன்படுத்தவும்.

தொடர்புக்கு

 

த. சீனிவாசன் – 9841795468

அன்வர் – 8124782351 (வாட்சப் எண்)

kaniyamfoundation@gmail.com

 

Machine Learning – 18 – Simple LinearRegression

$
0
0

Simple linear regression -க்கான சமன்பாடு பின்வருமாறு அமையும். இதை வைத்து (1,1) , (2,2) , (3,3) எனும் புள்ளி விவரங்களுக்கு பின்வரும் கணிப்பான் h(x) மூலம் கணிப்பதை நாம் இங்கு உதாரணமாக எடுத்துக் கொள்வோம்.

இந்தக் கணிப்பானது தீட்டா-0 மற்றும் தீட்டா-1 எனும் இரண்டு முக்கிய parameters-ஐப் பொறுத்தே அமைகிறது. எனவே வெவ்வேறு மதிப்புள்ள parameters-க்கு வெவ்வேறு வகையில் கணிப்புகள் நிகழ்த்தப்படுவதை பின்வரும் உதாரணத்தில் காணலாம்.

முதலில் (1,1) , (2,2) , (3,3) –க்கான வரைபடம் வரையப்படுகிறது. பின்னர் தீட்டா-0 =1.5, தீட்டா-1 =0 எனும் போது பின்வரும் சமன்பாட்டில் பொருத்தி (1, 1.5) , (2, 1.5) , (3, 1.5) எனும் மதிப்புகளையும்,

h(1) = 1.5 + 0(1) = 1.5

h(2) = 1.5 + 0(2) = 1.5

h(3) = 1.5 + 0(3) = 1.5

அவ்வாறே தீட்டா-0 =0, தீட்டா-1 =1.5 எனும் போது (1, 1.5) , (2, 3) , (3, 4.5) எனும் மதிப்புகளையும், கடைசியாக தீட்டா-0 =1, தீட்டா-1 =0.5 எனும் போது (1, 1.5) , (2, 2) , (3, 2.5) எனும் மதிப்புகளையும் அளிப்பதைக் காணலாம்.

h(1) = 0 + 1.5(1) = 1.5 h(1) = 1 + 0.5(1) = 1.5

h(2) = 0 + 1.5(2) = 3 h(2) = 1 + 0.5(2) = 2

h(3) = 0 + 1.5(3) = 4.5 h(3) = 1 + 0.5(3) = 2.5

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

மேற்கண்ட 3 கணிப்புகளில் எதன் கணிப்பு உண்மையான மதிப்புகளுக்கு அருகில் உள்ளதோ அதனுடைய தீட்டா மதிப்புகளையே நாம் இறுதியாக கணிப்பிற்கு எடுத்துக்கொள்ளலாம். இங்கு (1,1) , (2,2) , (3,3) எனும் மதிப்புகளுக்கு (1, 1.5) , (2, 2) , (3, 2.5) எனும் மதிப்புகள் சற்று அருகில் வந்துள்ளது. எனவே தீட்டா-0 =1, தீட்டா-1 =0.5 எனும் மதிப்புகளைக் கொண்ட கணிப்பானையே நாம் தேர்வு செய்து கொள்வோம்.

இங்கு வெறும் 3 தரவுகள் மட்டும் இருப்பதால், எதை வைத்துக் கணித்தால் கணிப்பிற்கும் உண்மையான மதிப்பிற்குமான வேறுபாடு சற்று குறைவாக இருக்கும் என நம்மால் சுலபமாகக் கூற முடியும். ஆனால் நிஜத்தில் ஆயிரக்கணக்கில் தரவுகள் இருக்கும்போது, இந்த வேறுபாட்டினைக் கண்டறிந்து கூற உதவும் சூத்திரமே cost function ஆகும்.

Cost Function:

இதற்கான சமன்பாடு பின்வருமாறு.

J = cost function

m = மொத்த தரவுகளின் எண்ணிக்கை

i = மொத்தத் தரவுகளில் ஒவ்வொன்றாகச் செல்ல உதவும். .

h(x) = கணிக்கப்படுகின்ற மதிப்பு

y = எதிர்பார்க்கின்ற உண்மையான மதிப்பு

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

வெளியீடு:

cost when theta0=1.5 theta1=0 : 0.4583333333333333
cost when theta0=0 theta1=1.5 : 0.5833333333333333
cost when theta0=1 theta1=0.5 : 0.08333333333333333

கணக்கீடு நிகழும் விதம்:

(1, 1.5) , (2, 1.5) , (3, 1.5) vs (1, 1) , (2, 2) , (3, 3) (தீட்டா-0 =1.5, தீட்டா-1 =0)

J = 1/2*3 [(1.5-1)**2 + (1.5-2)**2 + (1.5-3)**2] = 1/6 [0.25 + 0.25 + 2.25] = 2.75

(1, 1.5) , (2, 3) , (3, 4.5) vs (1, 1) , (2, 2) , (3, 3) (தீட்டா-0 =0, தீட்டா-1 =1.5)

J = 1/2*3 [(1.5-1)**2 + (3-2)**2 + (4.5-3)**2] = 1/6 [0.25 + 1 + 2.25] = 3.50

(1, 1.5) , (2, 2) , (3, 2.5) vs (1, 1) , (2, 2) , (3, 3) (தீட்டா-0 =1, தீட்டா-1 =0.5)

J = 1/2*3 [(1.5-1)**2 + (2-2)**2 + (2.5-3)**2] = 1/6 [0.25 + 0 + 0.25] = 0.50

இதில் தனித்தனி வேறுபாடுகளைக் கூட்டி அதன் சராசரியைக் கண்டுபிடிப்பதன் மூலம் ஒவ்வொரு கணிப்பான் நடத்தும் கணிப்பும் எந்த அளவு வேறுபாடில் அமையும் என்பதைக் கூற முடியும்.இத்தகைய வேறுபாடுகளின் மடங்குகள் கண்டுபிடிக்கப்பட்டு அவை 2-ஆல் வகுக்கப்படுவதற்கான காரணம் என்னவெனில், சராசரியைக் கண்டுபிடிக்கும்போது ஏதாவது ஒரு எதிர்மறை எண் இருந்தால்கூட அது கூட்டப்படுவதற்கு பதிலாக கழிக்கப்பட்டு விடும். எனவேதான் சூத்திரம் இதுபோன்று அமைக்கப்பட்டுள்ளது. இதுவே sum of squares error என்று அழைக்கப்படும்.

இங்கு நாம் ஏற்கனவே கண்டுபிடித்த தீட்டா-0 =1, தீட்டா-1 =0.5 மதிப்புகள் கொண்ட கணிப்பானே குறைந்த அளவு cost-ஐ வெளிப்படுத்துவதைக் காணலாம்(0.50). எனவே தரவுகளின் எண்ணிக்கை பெருகினாலும், இந்த சூத்திரத்தின் மூலம் வேறுபாட்டினை நாம் சுலபமாகக் கணக்கிடாலாம்.

இந்த 0.50 எனும் வேறுபாடு சற்று அதிகம் எனக் கருதினால், இதனை நாம் இன்னும் குறைக்க பல்வேறு தீட்டாக்களுக்கு இச்சோதனையை திரும்பத் திரும்ப செய்து அதில் குறைவான வேறுபாடு ஏற்படுத்தும் தீட்டாக்களை கண்டுபிடிக்க உதவுவதே Gradient descent ஆகும். அதற்கு முதலில் பல்வேறு தீட்டாக்களின் மதிப்பையும், அவற்றுக்கான cost-ஐயும் ஒரு வரைபடமாக வரைந்து பார்ப்போம். இதுவே contour plots ஆகும்.

Contour plots:

தீட்டா-0 , தீட்டா-1 மற்றும் இவ்விரண்டின் அடிப்படையில் கண்டறியப்பட்ட cost மதிப்பு இம்மூன்றையும் முப்பரிமாண வரைபடமாக வரைந்து காட்ட உதவுவதே contour வரைபடம் ஆகும். இது கிண்ண வடிவிலோ அல்லது வட்ட வடிவிலோ பின்வருமாறு இருக்கும். புள்ளி வைத்துள்ள இடங்களில் எல்லாம் cost இருக்கிறது என வைத்துக் கொண்டால், அவற்றை எல்லாம் இணைப்பதன் மூலம் கிண்ணம் போன்ற ஒரு வடிவம் ஏற்படும்.

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

கீழ்க்கண்ட நிரலில் -2 லிருந்து 2 வரை தீட்டாக்களுக்கு 100 முறை மதிப்புகள் மாற்றி மாற்றி அளிக்கப்பட்டு cost கண்டறியப்படுகிறது. இங்கு numpy மூலம் தீட்டாக்களுக்கு மதிப்புகள் வழங்கப்படுகின்றன. இவை uniform distribution முறையில் அமையும்.

நமது தரவுகளுக்கான வரைபடம் பின்வருமாறு.

Machine Learning – 19 – Gradient descent

$
0
0

Gradient descent

குறைந்த அளவு வேறுபாடு ஏற்படுத்தக் கூடிய தீட்டாக்களின் மதிப்பினைக் கண்டுபிடிக்கும் வேலையை gradient descent செய்கிறது முதலில் தீட்டாக்களுக்கு ஒரு குறிப்பிட்ட மதிப்பினைக் கொடுத்து அதற்கான cost-ஐக் கண்டறிகிறது. பின்னர் அம்மதிப்பிலிருந்து, ஒரு குறிப்பிட்ட அளவு விகிதத்தில் தீட்டாக்களின் மதிப்புகள் குறைக்கப்பட்டு அதற்கான cost கண்டறியப்படுகிறது. இவ்வாறாக ஒவ்வொரு சுழற்சியிலும் சிறிது சிறிதாகக் குறைத்துக் கொண்டே வந்து குறைந்த அளவு cost கண்டுபிடிக்கப்படுகிறது. இதற்கான சமன்பாடு பின்வருமாறு.

இங்கு ஒவ்வொரு சுழற்சியின் முடிவிலும் தீட்டா-0 , தீட்டா-1 ஆகியவற்றின் மதிப்புகள் ஒரே நேரத்தில் குறைக்கப்பட வேண்டும். இதுவே simultaneous update எனப்படுகிறது. கிண்ணமாக இருப்பின், கிண்ணத்தின் அடிப்பகுதியைக் கண்டறிவதும், வட்டமாக இருப்பின் அவ்வட்டத்தின் மையத்தைக் கண்டறியும் வேலையையுமே இந்த gradient descent செய்கிறது. இதுவே global optimum-ஐ அடையும் வழி ஆகும். இதற்கு மாறாக local optimum என்பது cost-ன் மதிப்புகளில் தொடர்ச்சியாக ஏற்ற இறக்கங்கள் இருப்பின், ஒவ்வொரு இறக்கமும் local optimum எனப்படும். பொதுவாக linear regression-க்கான வரைபடத்தில், local minimum என்பது கிடையாது. global optimum மட்டுமே.

Alpha என்பது தீட்டாக்களின் மதிப்புகள் எந்த அளவு விகிதத்தில் குறைக்கப்பட வேண்டும் என்பதைக் குறிக்கும். இதன் மதிப்பு மிகவும் சிறியதாகவும் இல்லாமல், மிகவும் பெரியதாகவும் இல்லாமல் சரியான அளவில் அமைய வேண்டும். பொதுவாக 0.1, 0.01, 0.001 என்று அமையும்.

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

Alpha-க்கு அடுத்து ஒவ்வொரு தீட்டாவின் partial derivative கண்டுபிடிக்கப்படுகிறது. Simple linear regression-ல் தீட்டா-0 என்பது தனியாக இருக்கும். தீட்டா-1 என்பது x-வுடன் சேர்ந்து இருக்கும்( h(x) = தீட்டா-0 + தீட்டா-1x ). partial derivative –க்கான சமன்பாடும் இதே முறையில் பின்வருமாறு அமையும்.

 

கீழ்க்கண்ட நிரலில் தீட்டா0 மதிப்பு நிலையாக வைக்கப்பட்டு, தீட்டா1 –ன் மதிப்பு மட்டும் gradient descentமுறையில் குறைக்கப்படுகிறது. 50 சுழற்சிகள் நடத்தப்படுகின்றன. பின்னர் J_history எனும் list-ல் ஒவ்வொரு சுழற்சியிலும் கண்டறியப்பட்ட cost சேமிக்கப்பட்டு அதிலிருந்து குறைவான மதிப்பு தேர்வு செய்யப்படுகிறது. இதில் partial derivative-ஆனது delta எனும் பதத்தால் குறிக்கப்படுகிறது. இதன் மதிப்பு பின்வரும் வகையில் கணக்கிடப்படுகிறது.

delta = 1/m . (h(x) – y).x

= 1/m . (தீட்டா1.x – y).x where h(x)= தீட்டா1.x

= 1/m . x. தீட்டா1.x – x.y

வெளியீடு:

0.5995100694321308

Gradient descent-ல் அதிகபட்ச சுழற்சிகள் எவ்வளவு இருக்க வேண்டும் எனக் கொடுத்து, அதிலிருந்து குறைவான cost-ஐ தேர்வு செய்யலாம். மேலும் அடுத்தடுத்த தொடர்ச்சியான சுழற்சிகளில் ஒரே மாதிரியான cost மதிப்புகள் வெளிப்படுகிறதெனில் நாம் global optimum-ஐ அடைந்து விட்டோம் என்று அர்த்தம். உதாரணத்துக்கு 300 முதல் 400 வரையிலான சுழற்சிகளில் J மதிப்பு, மிக மிகக் குறைந்த அளவே வேறுபடுகிறதெனில் (<0.001) அது global optimum-ஐ அடைந்து விட்டது என்றே அர்த்தம். இதுவே Automatic convergence test என்றும் அழைக்கப்படுகிறது.

எளிய தமிழில் Robotics 1. நிலம், நீர், வானம் எங்கும் எந்திரன்மயம்!

$
0
0

தானியங்கியியல் (Robotics) என்றவுடனே நம் மனக்கண்ணில் தோன்றுவது எந்திர மனிதன் தான். டெர்மினேட்டர், ஸ்டார் வார்ஸ் படத்தில் வந்த C3P0 மற்றும் R2D2, வால்-E, ரஜினிகாந்தின் எந்திரன் மற்றும் ரோஸி எந்திரப் பணிப்பெண் போன்ற திரைப்படங்களில் வந்த கற்பனை ஆளுமைகள் இந்த எந்திர மனிதனின் கவர்ச்சியை வளர்த்து விட்டன.

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

எந்திரன்

மனித உருவ எந்திரன்

எந்திரனுக்குத் தேவையான அம்சங்கள் இவை. சூழலின் நிலையைக் கண்டறிய உணரிகள்(sensors), சூழலின் நிலையை மாற்றுவதற்கான இயக்கிகள் (actuators) மற்றும் சூழல்களின் நிலையை உணரிகளின் மூலம் சமிக்ஞையாகப் பெற்று இயக்கிகளின் செயல்முறைகளைக் கட்டுப்படுத்தும் கட்டுப்பாட்டு அமைப்பு (controller).

இருப்பினும் மேற்கண்ட அம்சங்கள்  உள்ள எல்லாத் தானியங்கிகளையும் எந்திரன் என்று சொல்லிவிட முடியாது. எடுத்துக்காட்டாக பல தானியங்கி படிகள் (Escalators) யாராவது அருகில் வந்தால்தான் ஓடத் துவங்கும். ஏறியவர்கள் யாவரும் இறங்கிவிட்டால் நின்றுவிடும். இவற்றுக்கான உணரிகள் உண்டு. உணரிகளிலிருந்து சமிஞ்சை கிடைத்தவுடன் கட்டுப்பாட்டு அமைப்பு விசைகளைத் துவக்கவும் நிறுத்தவும் செய்கிறது. நடைமுறையில், இந்த வகை சாதனங்களை மின்னணு கட்டுப்பாட்டு எந்திரம் (Mechatronic device) என்று மட்டுமே கூறலாம். ஆனால் இவற்றை எந்திரன் என்று கூற முடியாது. ஏனெனில் இவற்றுக்குத் தன்னியக்கமும் (autonomy) தடைகளைச் சமாளிக்கும் வழிகளைக் கண்டறியும் திறனும் (resourcefulness) கிடையாது.

ரூம்பா (Roomba) போன்ற தூசுறிஞ்சி தானியங்கிகள், மாற்றுத் திறனாளிகளுக்கும், முதியோர்களுக்கும் உதவும் தானியங்கி சக்கர நாற்காலிகள், PR2 மற்றும் Care-O-Bot போன்ற பல்வேறு வீட்டு வேலைகளைச் செய்யும் உதவியாளர் தானியங்கிகள் வணிக ரீதியாக வந்து விட்டன. டா-வின்சி (Da-Vinci) மற்றும் ஜீயஸ் (Zeus) போன்ற மிக அண்மைத் தொழில்நுட்பம் கொண்ட தொலைநோக்கு அறுவை சிகிச்சை எந்திரன்களும் வணிக ரீதியாகக் கிடைக்கின்றன. சில தொழிற்சாலைகளில் இரவுப்பணிக்கு எந்திரங்களை ஓடவிட்டு விளக்கை அணைத்துவிட்டு வீட்டுக்குச் சென்றுவிடுகிறார்கள் (lights-out manufacturing). இதிலிருந்து தொழிலக தன்னியமாக்கலில் எந்த அளவு எந்திரன்கள் புழக்கத்தில் வந்துவிட்டன என்று தெரிந்துகொள்ளலாம்.

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

இயந்திரன் கைகள் (Robotic arms)

எந்திரன் கை

எந்திரன் கை

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

பறக்கும் எந்திரன்கள் (Flying robots)

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

தானோட்டி வானூர்தி

தானோட்டி வானூர்தி

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

நீர்மூழ்கி எந்திரன்கள் (Diving robots)

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

நீர்மூழ்கி எந்திரன்

நீர்மூழ்கி எந்திரன்

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

நன்றி தெரிவிப்புகள் (Acknowledgements)

  1. Robot – PNG images and cliparts for web design
  2. uArm Metal Open Source Robot Arm by Siaopan – Wikipedia
  3. Gray drone white board by Adonyi Gábor on Pxhere
  4. The science ROV ‘Hercules’ by Brennanphillips – Wikipedia

இத்தொடரில் அடுத்த கட்டுரை: தொழில்துறை எந்திரன்கள் (Industrial Robots)

முதல் எந்திரனை 1954 இல் ஜார்ஜ் டெவல் (George Devol) என்பவர் தொழில்துறைக்கே உருவாக்கினார். தொழில்துறை எந்திரன்களின் அடிப்படைக் கருத்துகள் எண்ணிம கட்டுப்பாடு மற்றும் தொலைக் கையாளுதல் (remote manipulation) ஆகியவற்றிலிருந்து உருவாகியுள்ளன. தொழில்துறைத் தானியங்கிகளைப் பொதுவாக ஐந்தாறு வகைகளாகப் பிரிக்கலாம்.

ashokramach@gmail.com


Machine Learning – 20 – Matrix

$
0
0

அணிகள்


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

அணி:

ஒரு அணியில் எத்தனை rows மற்றும் columns உள்ளது என்பதே அந்த அணியின் dimension எனப்படும். 2 rows மற்றும் 3 columns கொண்ட A அணி பின்வருமாறு அமையும். இது 2 * 3 dimensional matrix எனப்படும். இந்த அணியில் உள்ள மதிப்புகளை அணுக, A –ன் கீழ் எத்தனையாவது row மற்றும் எத்தனையாவது column-ல் அம்மதிப்பு உள்ளது எனக் கொடுக்க வேண்டும். உதாரணத்துக்கு A22 என்பது இரண்டாவது row மற்றும் இரண்டாவது column-ல் உள்ள 5 எனும் மதிப்பினைக் குறிக்கும்.

Multiple linear என்று வரும்போது ஒரு அணியின் dimension என்பது தரவுகளின் எண்ணிக்கை மற்றும் அது கணிப்பதற்கு எடுத்துக் கொள்ளும் அம்சங்கள் ஆகியவற்றைப் பொறுத்து அமையும். அதாவது.

rows = no. of records

columns = no. of features

வெக்டர்:

ஒரே ஒரு column-ஐக் கொண்ட அணி வெக்டர் என்று அழைக்கப்படும். இது பின்வருமாறு. வெக்டரில் உள்ள மதிப்புகளை அணுக எத்தனையாவது row என்று மட்டும் கொடுத்தால் போதுமானது. B3 என்பது மூன்றாவது row-ல் உள்ள மதிப்பான 38 என்பதைக் குறிக்கும். ஒரு வெக்டரை 0-indexed மற்றும் 1-indexed எனும் இரு வகைகளில் குறிக்கலாம். B3 என்பது 1-indexed எனில் 38-ஐயும், 0-indexed எனில் 47-ஐயும் குறிக்கும்.

அணிகளின் கூட்டல்:

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

If (3*2) * (3*2) = 3*2

1+7 8+2

3+9 4+10

5+11 6+12

அணிகளின் பெருக்கல்:

முதலாவது அணியின் column மற்றும் இரண்டாவது அணியின் row ஆகியவைகளின் எண்ணிக்கை சமமாக இருந்தால் மட்டுமே அவ்விரண்டு அணிகளையும் பெருக்கி மற்றொரு அணியை உருவாக்க முடியும். புதிதாக பெருக்கி உருவாக்கப்பட்ட அணியின் dimension-ஆனது, முதலாவது அணியின் rows மற்றும் இரண்டாவது அணியின் columns மதிப்பினைப் பெற்றிருக்கும்.

If (3*2) * (2*2) = 3*2

முதலாவது அணியில் உள்ள row-ன் மதிப்புகள் இரண்டாவது அணியில் உள்ள column-ன் மதிப்புகளுடன் தனித்தனியாகப் பெருக்கப்படும். பின்னர் அப்பெருக்களின் மதிப்புகள் ஒன்றாகக் கூட்டப்படுகின்றன. இவ்வாறே அணிகளின் பெருக்கல் நடைபெறுகிறது.

(1*7)+(2*9) (1*8)+(2*10) = 7+18 8+20

(3*7)+(4*9) (3*8)+(4*10) = 21+36 24+40

(5*7)+(6*9) (5*8)+(6*10) = 35+54 40+60

அணிகளின் transpose:

ஒரு அணியில் உள்ள rows அனைத்தும் columns-ஆக மாற்றப்படுவதே அந்த அணியின் transpose எனப்படும்.

அணிகளின் Inverse:

ஒரு அணியின் inverse என்பது சற்றே கடினமான முறையில் கணக்கிடப்படும். 2*2 dimension கொண்ட அணியின் inverse பின்வருமாறு கணக்கிடப்படும். A11, A22 மதிப்புகளின் பெருக்கலுக்கும் A12, A21 மதிப்புகளின் பெருக்கலுக்கும் உள்ள வித்தியாசமானது 1-ன் கீழ் அமைந்து வகுக்கப்படும். இதன் தொடர்ச்சியாக அதே அணியில் உள்ள A11, A22 மதிப்புகள் இடமாற்றம் செய்யப்பட்டும், A12, A21 மதிப்புகள் எதிர் மறையில் மாற்றப்பட்டும் பெருக்கப்படும்.

Identity Matrix:

ஒரே எண்ணிக்கையிலான rows மற்றும் columns-ஐக் கொண்ட அணியே சதுர அணி எனப்படும். ஒரு சதுர அணியின் மூலைவிட்டத்தில் மட்டும் 1 என இருந்து மற்ற இடங்களில் எல்லாம் பூஜ்ஜியம் என இருந்தால் அதுவே Identity Matrix எனப்படும். ஒரு அணியும், அந்த அணியின் inverse-ம் சேர்ந்து Identity matrix-ஐ உருவாக்கும்.

TiddlyWiki எனும் இணையபக்கம் ஒரு அறிமுகம்

$
0
0

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

இதனை பயன்படுத்தி கொள்வதற்காக www.tiddlywiki.com/ எனும் இணையபக்கத்திற்கு சென்று empty.html எனும் பெயரிலுள்ள கோப்பினை பதிவிறக்கம் செய்து கொள்க பின்னர் அந்த கோப்பிற்கு நாம் விரும்பிய பெயரினை இட்டுகொள்க அதன்பிறகு நம்முடைய இணையஉலாவியில் புதிய பெயருடைய இந்த கோப்பினை திறந்து கொள்க இதனுடைய திரையின் மேலே வலதுபுறமூலையிலுள்ள pencil போன்றுள்ள உருவப்பொத்தானை தெரிவுசெய்து சொடுக்குதல்செய்து தேவையானவாறு விவரங்களை உள்ளீடுசெய்து கொள்க checkmark போன்றுள்ள உருவப்பொத்தானை தெரிவுசெய்து சொடுக்குதல்செய்துTiddlyWikiஐ சேமித்து கொள்க இவ்வாறு சேமித்திடும்போது நாம் விரும்பும் இடத்தில் சேமித்திடுவதற்காக நாம் குரோம் எனும் இணைய உலாவியைபயன்படுத்தி கொண்டிருந்தால் Settings,என்பதை தெரிவுசெய்து சொடுக்குக உடன்விரியும் Settings,எனும் பக்கத்தில் Show advanced settings என்பதை தெரிவுசெய்து சொடுக்குக பின்னர் விரியும் திரையில் Ask where to save each file before downloading எனும் வாய்ப்பினை தெரிவுசெய்து சொடுக்குக நாம் ஃபயர்ஃபாக்ஸ் எனும் இணைய உலாவியைபயன்படுத்தி கொண்டிருந்தால் திரையின் மேலே வலதுபுறமூலையிலுள்ள Options எனும் முப்புள்ளியை தெரிவுசெய்து சொடுக்குக உடன் விரியும் பட்டியில் Downloads எனும் வாய்ப்பையும் பின்னர் Always ask you where to save filesஎனும் வாய்ப்பினையும் தெரிவுசெய்து சொடுக்குக

குறிப்பெடுப்பதற்காக இந்த TiddlyWiki இல் + எனும் உருவப்பொத்தானை தெரிவுசெய்து சொடுக்குக உடன் புதிய tiddlerஎனும் திரை நாம் குறிப்பெடுப்பதற்காக தோன்றிடும் அதில்Notes for netbooks essay.என்றவாறு பெயரிட்டு குறிச்சொல்லை Tag nameஎனும் புலத்தில் உள்ளீடுசெய்து கொண்டு குறிப்புகளை உள்ளீடுசெய்திடலாம் வடிவமைப்பு செய்வதற்கு TiddlyWiki’s markup அல்லது formatting toolbarஐயும்சேமிப்பதற்காக checkmark எனும் உருவப்பொத்தானையும் பயன்படுத்தி கொள்க

புதிய இணைய இதழ்களை வெளியிடுவதற்காக Tools எனும் தாவிபொத்தானின் திரையில் New journalஎனும் வாய்ப்பினை தெரிவுசெய்து சொடுக்குக அதன்பின்னர் கருவிகளின் பட்டியில் Create a new journal tiddler எனும் கருவியை தெரிவுசெய்து சொடுக்குதல் செய்திடுக தொடர்ந்து நம்முடைய இதழ்களை உருவாக்கிடும் பணியை செயல்படுத்திடுக மேலும் வசதிகளை பெறுவதற்காக இதனுடைய கூடுதல்விரிவாக்கம் (plugins) என்பதை பயன்படுத்தி கொள்க குறிப்புகள் செயல்திட்டங்கள் இணையஇதழ்கள் ஆகிய அனைத்தையும் ஒன்றிணைத்து தொகுப்பான TiddlyWikiஎனும் கோப்புகளாக பயன்படுத்தி கொள்ளலாம மேலும் ஒன்றுக்குமேற்பட்ட TiddlyWikiகோப்புகளை கையாள desktop version பயன்படுத்தி கொள்வது நல்லது என பரிந்துரைக்கப்படுகின்றது

மேலும் இதனை பற்றி கானொளி காட்சியின் வாயிலாக தெரிந்து கொள்வதற்காக www.youtube.com/channel/UCCYN_nzlUKKMiTj5rerv2lQ/videos என்ற இணையபக்கத்திற்கு செல்க ஐந்தே படிமுறையில் கற்று செயல்படுத்தி பயன்பெறுவதற்காக www.richshumaker.com/tw5/FiveStepsToTiddlyWiki5.htm என்ற இணையபக்கத்திற்கு செல்க

Machine Learning – 21 – Multiple LinearRegression

$
0
0

Multiple LinearRegression

ஒன்றுக்கும் மேற்பட்ட அம்சங்கள் ஒன்றாகச் சேர்ந்து ஒரு விஷயத்தைக் கணிக்கிறது எனில் அதுவே multiple linear regression எனப்படும். ஒவ்வொரு அம்சமும் x1,x2,x3.. எனக் கொண்டால், இதற்கான சமன்பாடு பின்வருமாறு அமையும்.

multiple linear-ல் ஒவ்வொரு feature-க்கும் ஒரு தீட்டா மதிப்பு காணப்படுமே தவிர, no.of rows –ஐப் பொறுத்து மாறாது. எனவே தீட்டா என்பது எப்போதும் 1 row-ல் பல்வேறு மதிப்புகள் அமைந்துள்ள அணியாக இருக்கும். பின்னர் இந்த அணியை transpose செய்து 1 column-ல் பல்வேறு மதிப்புகள் அமைந்துள்ள வெக்டராக மாற்றலாம். எனவே தான் transpose செய்யப்பட்ட தீட்டா அணியையும், features-க்கான X அணியையும் பெருக்கினால் multiple linear-க்கான சமன்பாடு வந்துவிடுகிறது.

இந்த சமன்பாட்டில் தீட்டா0 –வுடன் x0 எனும் புதிய feature ஒன்று சேர்க்கப்படுகிறது. இது எப்போதும் 1 எனும் மதிப்பையே பெற்றிருக்கும். இந்த புதிய feature-ஆல் தீட்டா0 மதிப்பில் எந்த ஒரு மாற்றமும் ஏற்படாது. வெறும் அணிகளின் பெருக்கலுக்கு துணைபுரியும் வகையில் இது சேர்க்கப்பட்டுள்ளது.

கீழ்க்கண்ட உதாரணத்தில்,

800 சதுர அடி, 2 அறைகள், 15 வருட பழைய வீட்டின் விலை = 3000000

1200 சதுர அடி, 3 அறைகள், 1 வருட பழைய வீட்டின் விலை = 2000000

2400 சதுர அடி, 5 அறைகள், 5 வருட பழைய வீட்டின் விலை = 3500000

எனும் 3 தரவுகள் X எனும் அணியில் கொடுக்கப்பட்டுள்ளன. அவ்வாறே 100, 1000, 10000, 100000 ஆகிய மதிப்புகள் தீட்டா0 , தீட்டா1, தீட்டா2, தீட்டா3 –ன் மதிப்புகளாக தீட்டா எனும் அணியில் கொடுக்கப்பட்டுள்ளன. இவை இரண்டும் மேற்கண்ட சமன்பாட்டின் படி பொருத்தப்பட்டு, h(x) அணியை உருவாக்குகின்றன.

வெளியீடு:

[2320100 1330100 2950100]
[-679900 -669900 -549900]
[462264010000 448766010000 302390010000]
1213420030000
202236671666.66666

கணக்கிடு நிகழ்ந்த விதம்:

Cost function:

இது simple linear-ஐ ஒத்தே இருக்கும். ஆனால் h(x) கணக்கிடும் சூத்திரம் மட்டும் மாறுபடும்.

Gradient descent:

இதுவும் simple linear-ஐ ஒத்தே இருக்கும். ஆனால் simple linear-ல் தீட்டா0 மதிப்பு குறைக்கப்படுவதற்கான சமன்பாடில் x என்பது இருக்காது. ஆனால் இங்கு தீட்டா0 –வுடன் x0 சேர்க்கப்பட்டிருப்பதால், அனைத்து தீட்டா மதிப்புகள் குறைக்கப்படுவதற்கான சமன்பாடும் பின்வருமாறு ஒரே மாதிரியாகத்தான் இருக்கும்.

சூத்திரத்தின் மூலம் minimum cost கண்டறிதல்:

Gradient descent-ஐப் பயன்படுத்துவதற்கு பதிலாக பின்வரும் சமன்பாட்டின் மூலம் நேரடியாக நாம் minimum cost-ஐ ஏற்படுத்தக் கூடிய தீட்டாவை கண்டுபிடிக்க முடியும். ஆனால் features-ன் எண்ணிக்கை அதிகமாக இருந்தால், gradient descentஐப் பயன்படுத்துவதே சிறந்தது. ஏனெனில் மொத்த features-க்கும் அதனுடைய transpose கண்டுபிடிப்பது மிகுந்த நேர விரயம் செய்யக்கூடியதாக அமையும்.

Feature Scaling:

இங்கு ஒவ்வொரு feature-ம் வெவ்வேறு அளவிலான எண் வரிசைகளில் அமைந்திருப்பதைக் கவனிக்கவும். உதாரணத்துக்கு சதுர அடி என எடுத்துக் கொண்டால் அவை 800 முதல் 1200 வரையிலும், அறைகளின் எண்ணிக்கை என எடுத்துக்கொண்டால் அவை 2 முதல் 5 வரையிலும் பரவியுள்ளது.

சதுர அடி = 800, 1200, 2400
அறைகள் = 2, 3, 5

இவ்வாறு ஒவ்வொரு column-ல் உள்ள மதிப்புகளும் வெவ்வேறு எண் வரிசைகளில் இல்லாமல், அனைத்தும் -1 லிருந்து +1 வரை அல்லது 0 லிருந்து 1 வரை என normalize செய்வதே feature scaling எனப்படும். இதற்கு உதவுவதே mean normalization ஆகும். இதற்கான சூத்திரம் பின்வருமாறு.

particular value – mean of all values

————————————————–

maximum – minimum

சதுர அடி = (800 –1600)/(2400–800), (1200–1600)/(2400–800), (2400–1600)/(2400–800)
               = -0.5 , 0.25, 0.5
அறைகள் = (2-3.5)/(5–2), (3-3.5)/(5–2), (5-3.5)/(5–2)
               = -0.5 , -0.16, 0.5

இது போன்ற multiple linear-ல் gradient descent-ஐப் பயன்படுத்தும்போது ஒவ்வொரு feature-ம் ஒவ்வொரு அளவு வரிசைகளில் இருப்பதால் plot-ஆனது மிக மிகக் குறுகிய அளவு வட்டங்களை நெருக்க நெருக்கமாக ஏற்படுத்தும். எனவே மையத்தினை சென்றடைய மிகவும் சிரமப்படும். அதுவே normalize செய்யப்பட்டு அனைத்து வட்டங்களும் ஒரே அளவில் இருந்தால் மையத்தினை சென்றடைய வசதியாக இருக்கும்.

NLP பயிற்சிப் பட்டறை – SRM வள்ளியம்மை பொறியியற் கல்லூரி, சென்னை – நிகழ்வுக் குறிப்புகள்

$
0
0

கணியம் அறக்கட்டளை  சார்பாக, சென்னை வள்ளியம்மை பொறியியற் கல்லூரி, சென்னையில் 05.02.2019 இயல்மொழி ஆய்வுக் கருவிகள்  பயிற்சிப் பட்டறை (Natural Language Processing Workshop) நடத்தப்பட்டது.

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

பின்வரும் தலைப்புகளில் பயிற்சிகள் அளிக்கப்பட்டன.

  1. Natural Language Processing in a nutshell
  2. Regular Expression
  3. Tokenization
  4. Simple topic identification
  5. Named-entity recognition
  6. Building a “fake news” classifier

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

 

மேலும் படங்கள் இங்கே –

photos.app.goo.gl/GvBiVwzyyoyJmGNJ8

open-tamil மூலம் தமிழுக்கான வேர்ச்சொல் காணும் நிரல் வெளியீடு

$
0
0

தமிழில் வேர்ச்சொல் வடிகட்டியை open-tamil பைதான் நிரல் தொகுதி மூலம் வழங்குகிறோம்.
ஆசிரியர்: முத்தையா அண்ணாமலை <ezhillang@gmail.com>

சுருக்கம்:

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

வேர்ச்சொல் வடிகட்டி என்றால் என்ன?

வேர்ச்சொல் பகுப்பாய்வு என்பது ஒரு சொல் அல்லது பல சொற்களை கொடுத்தால் (எ.கா. [‘மலைகள்’,’பாடுதல்’,’ஓடினான்’] அவற்றை [‘மலை’,’பாடு’, ‘ஓடி’] என்று) அதன் மூல அடி/வேர் சொல்லினைக் கொண்டு செல்கின்ற ஒரு அல்கோரிதம்.
இத்தகைய சேவையை தமிழில் பொதுவெளியில் திரு. தாமோதரன் ராஜலிங்கம் 2013-இல் வெளியிட்டார் [1]. இதனை snowball என்ற ஒரு மொழியியல் தொகுப்பி [compiler]-இன் வாயிலாக அதற்கு தமிழ் புரியும் படி குறியீட்டு [unicode encoding] விதிகள் அமைத்து, தமிழ் சொற்களை இலக்கண விதிகளின் மூலம் வேர்சொற்களாக அடையுமாரு அருமையான பணியை செய்தார்.

அதனை பொதுவாக இணைப்பதில் என்ன தடங்கல்?

மேல் உள்ள பணியை பொதுவாக இணைப்பதில் என்ன தடங்கல் என்றால், Snowball என்ற மென்பொருள் C-நிரல்களை வெளியிடுகிறது. இதனை இயக்கியாக மட்டுமே செயல்படுத்த முடிகிறது – நேரடியாக பைத்தான் நிரலாக இதனை சேர்த்து ஒரு மொழியியல் செயலியை உருவாக்க முடியவில்லை.

திரு. சீனிவாசன் இதனை ஒரு “pipe open to a process” என்ற UNIX முறையில் [இரு செயலிகளை இணைக்கும் வகை] கையாண்டு சில மாற்று வழியில் செயல்பட்டார் – இதுவும் சிறிது சிக்கலாகத்தான் இருந்தது.
நானும் இணைந்த, வேறு சில முயற்சிகள் [பைத்தானில் நேரடியாக தமிழ் சொல் வடிகட்டையை உருவாக்க] எடுக்கப்பட்டன. ஆனால் அந்த செயல்களின் மொழியியல் சிக்கல் காரணமாக அவை வெற்றிபெறவில்லை.

ஜப்பான் பொறியாளர் கண்டெடுப்பு

இதனிடையே, சென்ற ஆண்டு திரு. யோஷி அவர் snowball நிரலை C மட்டுமின்றி பைத்தான் வெளியீடுகளையும் உருவாக்கும் படி செய்த முயற்சி என்கு தெரியவந்தது [2]. இதனை பயன்படுத்தி அவர் snowball_py என்ற தொகுப்பையும் வெளியிட்டார். அதாவது 15 மொழிகள் அவற்றின் பகுப்பாய்வை பைத்தானில் இருந்தே நேரடியாக அனுகும் வகை அவர் செய்தார்.
அவரது பணியை நான் முதலில் சரிவர புரிந்து கொள்ளவில்லை – அவரே ஒவ்வொரு மொழியின் வடிகட்டியை தானாக பைத்தான் மொழிக்கு மாற்றியதாக புரிந்த்திருந்த்தேன். பின்பு அவர் ஒரு தானியங்கியை உருவாக்கியதை கண்டு snowball-க்கும் snowball_py-க்கும் உள்ள தொடர்பை உணர்ந்தேன்.

இரண்டையும் இணைத்தல்

 

மேற்கண்ட கண்டெடுப்புகளால் தமிழின் வேர்ச்சொல்வடிகட்டியை பைத்தானில் கொண்டுவருவதற்கு இப்படி ஒரு வழி செய்யலாம் என்று எண்ணம் கிளம்ப, அதனை அதிஷ்ட வசமாக நேரடியே செயல்பட்டு சட்டேன்று சரியாக முடிந்தது. பிரெஞ்சு அறிவியலாளர், திரு. லூயி பாஸ்டோர் சொன்னது நினைவில் வரலாம் – ‘Luck is when preparation meets opportunity’ என்று.

படிப்படியாக இதனைபார்த்தால்:
1. தாமோதரன் அளித்த snowball patch-ஐ யோஷியின் snowball இல் இணைத்தேன்
2. பின்பு இதில் build செய்தால் ‘tamil-stemmer.py’ என்ற நிரல் உருவாகும்
3. அடுத்து இந்த நிரலை ‘snowball_py’-இனில் இணைக்கவேண்டும்
4. இந்த புரிதலை கொண்டு, திறமூல நிரல்களினால் இவற்றை ஒப்பன் தமிழினில் ஒட்டிக்கொண்டேன் [3].
5. மேலும் திரு. யோஷியின் திட்டத்திற்கு pull-request அனுப்பியுள்ளேன் – அதாவது அவர் அதனை ஏற்றாரேனில் தமிழ் பகுப்பாய்வு வசதி snowball_py-இலும் வரும் வகை திரு. தாமோதரனின் சேவையை நான் கொண்டு சேர்த்திருப்பேன்.

இன்றைய நிலை – தொழில்நுட்ப விவரங்கள்

ஓப்பன் தமிழ் நிரல் தொகுப்பை நிறுவினால் இதில் ‘tamilstemmer’ என்று ஒரு நிரல் வசதி உள்ளது. இது தான் தாமோதரன் அவர்களின் சேவையை நேரடியாக பைத்தான் தளத்தில் (வேறேதும் ஒரு நிரல்தேவைகள் இல்லாமல் – அதாவது ‘dependency’ இல்லாமல்) பயன்படுத்தலாம். உதாரணம்:

open-tamil நிறுவுதல்

உங்கள் கணினியில் pip3 நிரலை நிறுவி, பிறகு பின்வரும் கட்டளை மூலம், open-tamil நிரல் தொகுப்பை நிறுவலாம்.

sudo pip3 install open-tamil

அடுத்த கட்ட பணிகள்

இத்தகைய வேர்சொல் வடிகட்டியினை சொல்திருத்தியில் சேர்த்தால் அது ஒட்டு மொழியான தமிழின் பல சொல் வடிவங்களை சரியானதாக புரிந்துகொள்ளும்; ஆகையால் சொல்திருத்திகளின் வெளியீட்டில் சரியாக எழுதிய சொற்களை தவறு என்று அது பட்டியலிடும் வாய்ப்பு குறைகிரது [reduce false alarm rate].

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

மேற்கோள்கள்

1. R. Damodharan, “”An Affix Stripping Iterative Stemming Algorithm for Tamil,” [2013] தமிழ் இணைய மாநாடு. இந்த ஆயவின் மூல மென்பொருள் திரமூலமாக இங்கு வெளியிடப்பட்டது github.com/rdamodharan/tamil-stemmer
2. Yoshiki Shibukawa, github.com/shibukawa/snowball/; port of snoballstemmer Python library github.com/shibukawa/snowball_py
3. முத்து அண்ணாமலை, TamilStemmer என்ற நிரலை (module) இங்கு ஓப்பன் தமிழ் தொகுப்பில் இணைத்த நிரல் சேவகத்தின் [GitHub code-repository] சுட்டி. t.co/DfFwTEHpUp

 

கட்டுரையாளர் முத்து அண்ணாமலை, தமிழில் நிரல் எழுத உதவும் எழில் மொழியின் உருவாக்குனர். பைதான் மூலம் தமிழை எளிதில் கையாள உதவும் open-tamil நிரல் தொகுப்பின் உருவாக்குனர்.

முத்து அண்ணாமலை

open-tamil பற்றி மேலும் அறிய – github.com/Ezhil-Language-Foundation/open-tamil

இதில் உள்ள பிழைகளை இங்கே எழுதலாம் – github.com/Ezhil-Language-Foundation/open-tamil/issues

open-tamil ஐப் பயன்படுத்தி, இன்னும் மேம்படுத்தி உதவ முத்து அவர்களைத் தொடர்பு கொள்ள ezhillang@gmail.com க்கு மின்னஞ்சல் எழுதுங்கள்.

 

Viewing all 1914 articles
Browse latest View live