SlideShare a Scribd company logo
1 of 45
Download to read offline
ச ொற்பிழை த்திருத்தி - சில வழிகள்
Algorithms for certain classes of Tamil
Spelling correction
முத்து அண்ணொமழைல ezhillang@gmail.com
த.சீனிவொ ன் tshrinivasan@gmail.com
ச ொற்பிழை த்திருத்திகள்
தமி ொ குழு - hunspell
Used in Google Docs
Open-Tamil
Text Processing Library in Python
Free/Open Source Software
ந்திப்பிழை த்திருத்தி
ச ொற்பிழை த் திருத்தி
Edit Distance Search Algorithm
verb declension,
affix removal,
morpheme extraction,
applying corrections to root word
synthesizing it.
Norvig Algorithm
1. Deleted,
2. Substituted - with alternate letter
3. Inserted - with alternate letter
Driver Algorithm for Spell Checker
This is non-word
error correcting algorithm
i.e. it corrects only words not in dictionary
தமிழில் உள்ள மயங்சகொலி எழுத்துகள்
ல, , ள வரிழை .
ர, ற வரிழை .
ந, ன, ண வரிழை .
ங, ஞ, வரிழை .
ச ொல்திருத்தியில் கணினி நிரல்
ச ய்யவேவண்டியது இதுவேவ
உள்ளீடு சகொடுக்கபட்ட ச ொல் ரியொனதொ, அல்லது
தவறொனதொ ?
தவறொன ச ொல் என்ற பட் த்தில் அதன் மொற்றங்கள்
என்சனன்ன ?
அகரொதி
ரியொன ச ொற்கள், அதொவது வேவர் எடுத்த, புணர்ச்சி
மற்றும் ொந்தி பிரிக்கப்பட்ட ச ொற்கள் அழைனத்தும்
ரொ ரி மின்அகரொதியில் கொணலொம்.
மயங்சகொலிப்பிழை
பளம்
பள்ளம், ,ப ம்
Algorithm for conjoined word recognition
சதன்றல்கொற்று = சதன்றல் + கொற்று
யொரிகழ்ந்து =
[['ய்', 'ஆரிகழ்ந்து'],
['யொர்', 'இகழ்ந்து'],
['யொரிக்', 'அழ்ந்து'],
['யொரிகழ்ந்த்', 'உ']]
Typographical error correction in Tamil
தமிழ்99 அல்லது அஞ் ல் வேபொன்ற விழை களின் வழி
உள்ளீடு ச ய்ழைகயில் எழுத்துப்பிழை கள்
AI/ML
Recurrent Neural Networks (RNN)
Long Short-term Memory (LSTM)
Word2Vec
Word Sense Disambiguation
அன்வேப சிவம்
அன்வேப வம்
Optimizing a Spell Checker Implementation
Algorithm for fast Unicode letter detection
is_tamil_unicode_predicate = lambda x: x >= chr(2946) and x <= chr(3066)
Caching results
Multi-Threading/Multi-Processing
Redis / distributed DB
http://tamilpesu.us
பயன்பொடுகள்
● உழைர ஒலி மொற்றி
● ச ொல் வேதடல் - குறுக்சகழுத்து
● தமிழ் எண்கள்
● Tamil Stemmer
● தமிழ் ந்திப்பிழை திருத்தி
● சபருக்கல் அட்டவழைண
● ச ொல் எண்ணி
● ஒலிசபயர்ப்பி
● தமிழ் எழுத்துப் பிழை திருத்தி
● ஒறுங்குறி (யுனிவேகொட்) மொற்றி
● தமிழ் N-கிரொம்
● Tamil game Minnal
● தமிழ் யுனிகிரொம்
● தமிழ் அனொகிரொம்
● ச ொல்ழைல திருப்பி எழுது
● தமிழ் உழைர சுருக்கி
● Tamil Morse code
நன்றி
Algorithms for certain classes of tamil spelling correction
Algorithms for certain classes of tamil spelling correction
Algorithms for certain classes of tamil spelling correction

More Related Content

More from Shrinivasan T

கணித்தமிழும் மென்பொருள்களும் - தேவைகளும் தீர்வுகளும்
கணித்தமிழும் மென்பொருள்களும் - தேவைகளும் தீர்வுகளும் கணித்தமிழும் மென்பொருள்களும் - தேவைகளும் தீர்வுகளும்
கணித்தமிழும் மென்பொருள்களும் - தேவைகளும் தீர்வுகளும் Shrinivasan T
 
Contribute to free open source software tamil - கட்டற்ற மென்பொருளுக்கு பங்களி...
Contribute to free open source software tamil - கட்டற்ற மென்பொருளுக்கு பங்களி...Contribute to free open source software tamil - கட்டற்ற மென்பொருளுக்கு பங்களி...
Contribute to free open source software tamil - கட்டற்ற மென்பொருளுக்கு பங்களி...Shrinivasan T
 
ஏன் லினக்ஸ் பயன்படுத்த வேண்டும்? - Why Linux? in Tamil
ஏன் லினக்ஸ் பயன்படுத்த வேண்டும்? - Why Linux? in Tamilஏன் லினக்ஸ் பயன்படுத்த வேண்டும்? - Why Linux? in Tamil
ஏன் லினக்ஸ் பயன்படுத்த வேண்டும்? - Why Linux? in TamilShrinivasan T
 
கட்டற்ற மென்பொருள் பற்றிய அறிமுகம் - தமிழில் - Introduction to Open source in...
கட்டற்ற மென்பொருள் பற்றிய அறிமுகம் - தமிழில் - Introduction to Open source in...கட்டற்ற மென்பொருள் பற்றிய அறிமுகம் - தமிழில் - Introduction to Open source in...
கட்டற்ற மென்பொருள் பற்றிய அறிமுகம் - தமிழில் - Introduction to Open source in...Shrinivasan T
 
Share your knowledge in wikipedia
Share your knowledge in wikipediaShare your knowledge in wikipedia
Share your knowledge in wikipediaShrinivasan T
 
Open-Tamil Python Library for Tamil Text Processing
Open-Tamil Python Library for Tamil Text ProcessingOpen-Tamil Python Library for Tamil Text Processing
Open-Tamil Python Library for Tamil Text ProcessingShrinivasan T
 
Version control-systems
Version control-systemsVersion control-systems
Version control-systemsShrinivasan T
 
Contribute to-ubuntu
Contribute to-ubuntuContribute to-ubuntu
Contribute to-ubuntuShrinivasan T
 
Sprit of Engineering
Sprit of EngineeringSprit of Engineering
Sprit of EngineeringShrinivasan T
 
Amace ion newsletter-01
Amace ion   newsletter-01Amace ion   newsletter-01
Amace ion newsletter-01Shrinivasan T
 
Chennai Linux User Group
Chennai Linux User GroupChennai Linux User Group
Chennai Linux User GroupShrinivasan T
 
Ruby An Introduction
Ruby An IntroductionRuby An Introduction
Ruby An IntroductionShrinivasan T
 

More from Shrinivasan T (19)

கணித்தமிழும் மென்பொருள்களும் - தேவைகளும் தீர்வுகளும்
கணித்தமிழும் மென்பொருள்களும் - தேவைகளும் தீர்வுகளும் கணித்தமிழும் மென்பொருள்களும் - தேவைகளும் தீர்வுகளும்
கணித்தமிழும் மென்பொருள்களும் - தேவைகளும் தீர்வுகளும்
 
Contribute to free open source software tamil - கட்டற்ற மென்பொருளுக்கு பங்களி...
Contribute to free open source software tamil - கட்டற்ற மென்பொருளுக்கு பங்களி...Contribute to free open source software tamil - கட்டற்ற மென்பொருளுக்கு பங்களி...
Contribute to free open source software tamil - கட்டற்ற மென்பொருளுக்கு பங்களி...
 
ஏன் லினக்ஸ் பயன்படுத்த வேண்டும்? - Why Linux? in Tamil
ஏன் லினக்ஸ் பயன்படுத்த வேண்டும்? - Why Linux? in Tamilஏன் லினக்ஸ் பயன்படுத்த வேண்டும்? - Why Linux? in Tamil
ஏன் லினக்ஸ் பயன்படுத்த வேண்டும்? - Why Linux? in Tamil
 
கட்டற்ற மென்பொருள் பற்றிய அறிமுகம் - தமிழில் - Introduction to Open source in...
கட்டற்ற மென்பொருள் பற்றிய அறிமுகம் - தமிழில் - Introduction to Open source in...கட்டற்ற மென்பொருள் பற்றிய அறிமுகம் - தமிழில் - Introduction to Open source in...
கட்டற்ற மென்பொருள் பற்றிய அறிமுகம் - தமிழில் - Introduction to Open source in...
 
Share your knowledge in wikipedia
Share your knowledge in wikipediaShare your knowledge in wikipedia
Share your knowledge in wikipedia
 
Open-Tamil Python Library for Tamil Text Processing
Open-Tamil Python Library for Tamil Text ProcessingOpen-Tamil Python Library for Tamil Text Processing
Open-Tamil Python Library for Tamil Text Processing
 
Version control-systems
Version control-systemsVersion control-systems
Version control-systems
 
Contribute to-ubuntu
Contribute to-ubuntuContribute to-ubuntu
Contribute to-ubuntu
 
Dhvani TTS
Dhvani TTSDhvani TTS
Dhvani TTS
 
Freedom toaster
Freedom toasterFreedom toaster
Freedom toaster
 
Sprit of Engineering
Sprit of EngineeringSprit of Engineering
Sprit of Engineering
 
Amace ion newsletter-01
Amace ion   newsletter-01Amace ion   newsletter-01
Amace ion newsletter-01
 
Rpm Introduction
Rpm IntroductionRpm Introduction
Rpm Introduction
 
Foss History
Foss HistoryFoss History
Foss History
 
Jobs In Foss
Jobs In FossJobs In Foss
Jobs In Foss
 
Chennai Linux User Group
Chennai Linux User GroupChennai Linux User Group
Chennai Linux User Group
 
Ruby An Introduction
Ruby An IntroductionRuby An Introduction
Ruby An Introduction
 
Open Source Intro
Open Source IntroOpen Source Intro
Open Source Intro
 
Why Linux
Why LinuxWhy Linux
Why Linux
 

Algorithms for certain classes of tamil spelling correction