ஓப்பன்-தமிழ் வெளியீடு – வரிசை எண் 0.97

ஒப்பன்-தமிழ் வரிசை எண் v0.97

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

$ pip install –upgrade open-tamil==0.97

என்று கட்டளை கொடுக்கலாம்.

1 புதிய மேம்பாடுகள்:

  1. மாத்திரை கணித்தல் – தமிழ் உரையில் உள்ள சொற்களின் மாத்திரை அளவை கணிக்க புதியசார்பு ‘tamil.utf8.total_maaththirai()’ என்று திரு. பரதன் தியாகலிங்கம் அவரால் பங்களிக்கப்பட்டது.
  2. வடமொழி சொல்பட்டியல் மோனியர்-வில்லியம்ஸ் அவரது அகராதியில் இருந்து திரிக்கப்பட்டு இங்கு சேர்க்கப்பட்டது
  3. ‘tabraille’ என்ற module-இல் கண்பார்வை குறை உள்ளவர்களினால் தமிழ் பாரத பிரெயில் என்ற தரத்தை கையாளும் வகை சில உத்திகள் உள்ளன.
  4. ‘kural’ என்ற module-இல் திருக்குறளை நேரடியாக கையாள சில உத்திகள் உள்ளன. இது 2013-இல் வெளிவந்த ‘libkural’ என்பதன் மீள்பதிவாகும்.
  5. ‘solthiruthi’ என்ற module-இல் எளிதான சில மேம்பாடுகள் செய்யப்பட்டுள்ளன – இவற்றினால் வரும் மாற்றுச்சொற்கள் சற்று மேன்மை அடையும்.6.  தமிழ் எழுத்துவழி எண்களை பகுப்பாய்வு செய்து எண்களாக மாற்ற ஒரு சார்பு #221
  6. olini.py supports natual language arithmetic evaluation in Tamil for
  7.        all numbers based on this work.7. ‘tamiltts’ என்ற ஒரு module-இல்  normalize numbers to numeral text என்றும் வேறு பல சொல்/உரை நெறிப்படுத்தும் பயன்பாடுகள் உள்ளன.   இதுவும் ஒரு பழைய நிரலில் மீள் பதிப்பு.
  8. ‘tamil.tace16’ – என்ற நிரல் தொகுப்பில் தமிழ் TACE16 என்ற குறியீட்டிற்க்கு உதவும்வழி சில நிரல் சார்புகள் உண்டு.
  9. ‘transliterate.ITRANS’ – என்ற நிரல் தொகுப்பில் ITRANS transliteration – ஒலிவழி தட்டச்சு செய்தல் உருவாக்கப்பட்டது

2 வழு நீக்கம்:

  1. பாமிணி எழுத்துருவில் இருந்து ஒறுங்குறியில் மாற்றத்தில் வழு நீக்கம் சரிபார்க்கப்பட்டது
  2. நெடில் பட்டியலை சரிபார்த்தல்
  3. Python3-இல் உகந்தவாறு sorting, ‘tamil.utf8.tamil_sorted’ என்ற சார்பு சேர்க்கப்பட்டது
  4. நாள், நேரம் – tamil.date நிரல் தொகுப்பில் உள்ள சில வழு நீக்கம் செய்யப்பட்டது

3 புரவலர்களுக்கு நன்றி தெறிவித்தல்

We thank @pycharm for donation of 1 seat professional license towards Open-Tamil development. __/|\__. Thanks to @infitt and Prof. @crselvakumar1 for their support toward 1-way airfare cost of attending 2017-Tamil Internet Conference in Toronto, Canada. https://github.com/Ezhil-Language

வாய்ப்பிற்கு நன்றி.

-முத்து (கலிபோர்னியா).

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

எண்ணிம ‘டிஜிட்டல்’ தரவாக்கமும் தமிழ் எழுத்துரு குறியீடுகளும்

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

இதை அணுகுவதில் 1980-90-களில் இருந்த தமிழ் எழுத்துரு வழி உள்ள குறியீடுகளும் [font-based encoding] அதன்பால் உள்ள சிக்கல்களும் நிற்கின்றன. இவற்றை தரப்படுத்தி தமிழில் ஒருங்குறி [unicode] வழியில் சேமித்தால் இந்த தரவுகளை முறைப்படி சேமித்தும், பரிசோதித்தும் பார்க்கலாம் என்பது இலக்கு.

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

# This code is in Public Domain.
# It requires installation of Open-Tamil module from Python Package Index.
# Currently Tamil text is saved in Unicode format but it wasn't always like this.
# If you have some of the old encoding formats like TAM, TAB, ISCII etc. you can
# use the encoding converters from Open-Tamil (inspired by ones from Suratha, and late Gopi of HiGopi.com)
# The following code demonstrates the decoding process
# using an intensive search algorithm written by Arulalan, T.
import tamil
data="""¸¡Äõ ºïº¢¨¸Â¢ý Å¡Øõ ¾Á¢ú: ¾Á¢úôÒò¾¸í¸Ç¢ý Å¢üÀ¨ÉÔõ ¸ñ¸¡ðº¢Ôõ
ãýÈ¡õ ¬ñÎ ÌÁ¡÷ ã÷ò¾¢ ¿¢¨É×ô§ÀÕ¨Ã: ¦¾Ç¢Åò¨¾ §Â¡ºô"""
print(tamil.txt2unicode.auto2unicode(data))

view raw
detect_encoding.py
hosted with ❤ by GitHub

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

  1. சுரதா அவரது தமிழ் உரை மாற்றி
  2. நீச்சல் அவரது தமிழ் எழுத்து எழுத்துசீராக்கி
  3. nhm-ரைட்டரில் 2007-இல் இருந்து இந்த சேவை இருப்பதாக அவர்கள் தெரிவித்தார்கள்.

ஆனால் இன்று எளிதாக பொதுவில் இதனை உங்கது ஆவணமாக்கம் தேவைகளுக்கு ஓப்பன்-தமிழிலும் பயன்படுத்தலாம்.

நன்றி.

 

 

 

Tamil in Morse-code

Can we compose a Tamil Morse-code ? Yes, we can.

315px-International_Morse_Code.svg
International Morse Code – Source: Wikipedia

  1. Start with a frequency count of Tamil letters from various sources
  2. Build a probability distribution from the frequency counts
  3. Build a Huffman code using the above distribution
  4. Each letter of Tamil alphabet gets a Morse code : 0 = ‘.’, 1 – ‘-‘.
    புள்ளி, கோடு.

Tamil Morse Code Table generated from Open-Tamil library. See here for full code and methodology. Full table follows.

Can you decode what this Morse code means in Tamil ? Hint: 2 words (4,5) letters long

...-. --.--.. .---..--.--- .-..-. ...-. ---.-. -----.--.- .--....- ..-..-

Please note table was updated to show letters in most-frequent to least-frequent alphabets and their code-words used. Updated after publishing on Aug 16th, 2018.

Source coding theory

Information theory provides us with tools to calculate the information content of symbols in a language, i.e. alphabets in our case. Average codeword length was 6.45652 bits, which is rounded to 7bits.
According to 230+ symbols of encoded in binary without attention to letter frequency we would be using ceil[ log2[230] ] ~ 8bits per symbol, so the usage of Morse code provides a related data compression of 12.5%!

Previously, I had written about Morse code for Tamil in this blog here, and relationship with Unigram, Bigram and Trigram models and word-structure in Tamil language.

  1. ம் -> --..
  2. த -> -...
  3. க -> ...-.
  4. ல் -> ..---
  5. த் -> ----.
  6. க் -> -.---
  7. ன் -> -.--.
  8. ர -> .....-
  9. ப -> ....--
  10. வ -> ..--.-
  11. தி -> ..-..-
  12. ச -> ..-.-.
  13. கு -> .----.
  14. ம -> .---.-
  15. ப் -> .--..-
  16. ட் -> .--.-.
  17. டு -> .-...-
  18. ர் -> .-..-.
  19. ய -> .-.-.-
  20. அ -> ---..-
  21. ட -> ---.--
  22. ரு -> ---.-.
  23. பு -> -..---
  24. கா -> -..--.
  25. து -> -..-.-
  26. ல -> -.-..-
  27. வி -> .......
  28. டி -> ....-..
  29. ண் -> ....-.-
  30. சி -> ...---.
  31. ன -> ..--...
  32. ரி -> ..-....
  33. ங் -> ..-...-
  34. ந் -> ..-.---
  35. ற் -> .-----.
  36. இ -> .--...-
  37. று -> .-..---
  38. ச் -> .-....-
  39. சு -> .-..--.
  40. பா -> .-.----
  41. கி -> .-.--..
  42. பி -> .-.--.-
  43. வா -> .-.-...
  44. மு -> -----..
  45. ள் -> ---....
  46. லை -> --.--..
  47. உ -> --.--.-
  48. டை -> --.-..-
  49. தா -> --.-.--
  50. ண -> -..-...
  51. கை -> -..-..-
  52. ஆ -> -.-...-
  53. மா -> -.-.---
  54. ய் -> -.-.-.-
  55. ள -> ......-.
  56. சா -> ...--..-
  57. ற -> ...--.--
  58. லி -> ..--..--
  59. வு -> .---...-
  60. கொ -> .---..-.
  61. ந -> .--.....
  62. நி -> .--....-
  63. ஞ் -> .--.----
  64. ரா -> .--.---.
  65. ணி -> .--.--..
  66. ளி -> .--.--.-
  67. யா -> .-......
  68. நா -> .-.-..--
  69. றி -> .-.-..-.
  70. கோ -> -------.
  71. செ -> ------..
  72. ழி -> ------.-
  73. னி -> -----.-.
  74. ழு -> --.-----
  75. மி -> --.----.
  76. யி -> --.-....
  77. பொ -> --.-.-..
  78. ரை -> --.-.-.-
  79. வெ -> -.-.....
  80. எ -> -.-.--..
  81. மை -> -.-.--.-
  82. றை -> -.-.-..-
  83. பூ -> ......--.
  84. ழ -> ...-----.
  85. னை -> ...----..
  86. லா -> ...--.-..
  87. சை -> ..--..-.-
  88. வை -> ..-.--...
  89. போ -> ..-.--..-
  90. கூ -> ..-.--.-.
  91. வே -> .--------
  92. டா -> .-------.
  93. தை -> .------..
  94. பெ -> .---....-
  95. ளை -> .---..---
  96. தே -> .-.---...
  97. ஒ -> .-.---.--
  98. ழ் -> -----.---
  99. லு -> ---...---
  100. நீ -> ---...-..
  101. சீ -> ---...-.-
  102. தீ -> --.---...
  103. மூ -> --.---..-
  104. தொ -> --.---.--
  105. ணை -> --.---.-.
  106. ஏ -> --.-...-.
  107. நெ -> -.-....-.
  108. ளு -> -.-.-....
  109. னா -> ......----
  110. சூ -> ......---.
  111. மே -> ...-------
  112. தோ -> ...------.
  113. தெ -> ...----.-.
  114. சொ -> ...--.....
  115. சே -> ...--....-
  116. தூ -> ...--...--
  117. யு -> ...--...-.
  118. பே -> ...--.-.--
  119. வீ -> ..--..-..-
  120. ஊ -> .------.--
  121. னு -> .---......
  122. யோ -> .---.....-
  123. சோ -> .---..--..
  124. கே -> .-.....---
  125. ழை -> .-.....--.
  126. ணு -> .-.---..--
  127. ஓ -> .-.---.-..
  128. கெ -> ----------
  129. கீ -> --------..
  130. றா -> --------.-
  131. பை -> -----.--..
  132. ணா -> -----.--.-
  133. ரோ -> ---...--.-
  134. மொ -> -.-....--.
  135. மெ -> -.-.-...--
  136. லோ -> ...----.---
  137. பீ -> ...----.--.
  138. ளா -> ...--.-.-.-
  139. ஈ -> ..--..-....
  140. ஞா -> ..--..-...-
  141. மீ -> ..-.--.----
  142. வ் -> ..-.--.--..
  143. மோ -> ..-.--.--.-
  144. நு -> .---..--.-.
  145. ஐ -> .-.....-..-
  146. ரே -> .-.....-.-.
  147. நோ -> .-.---..-.-
  148. நே -> .-.---.-.--
  149. நூ -> ---------..
  150. யெ -> --.-...----
  151. லே -> --.-...--..
  152. ரீ -> -.-....----
  153. நொ -> -.-....---.
  154. யை -> -.-.-...-..
  155. ழா -> ...--.-.-...
  156. ரூ -> ...--.-.-..-
  157. னோ -> .------.-.--
  158. ஞ -> .---..--.---
  159. யூ -> .---..--.--.
  160. வோ -> .-.....-....
  161. யே -> .-.....-.---
  162. லெ -> .-.---..-...
  163. ரெ -> .-.---.-.-.-
  164. ணீ -> ---...--....
  165. டோ -> ---...--..--
  166. டெ -> ---...--...-
  167. கௌ -> ---...--..-.
  168. ணெ -> --.-...---..
  169. சௌ -> --.-...---.-
  170. றெ -> ..-.--.---...
  171. லூ -> ..-.--.---..-
  172. றோ -> .------.-....
  173. னே -> ..-.--.---.--
  174. னீ -> .------.-..-.
  175. நை -> .------.-..--
  176. டூ -> .------.-.-..
  177. னெ -> .-.....-.--..
  178. டே -> .-.....-.--.-
  179. ஞெ -> .-.---..-..--
  180. ளெ -> .-.---.-.-...
  181. டீ -> ---------.---
  182. யொ -> ---------.--.
  183. பௌ -> ---------.-..
  184. ஃ -> --.-...--.---
  185. ஔ -> --.-...--.-..
  186. ஞை -> -.-.-...-.---
  187. யீ -> -.-.-...-.--.
  188. றொ -> -.-.-...-.-.-
  189. வொ -> .------.-...--
  190. வூ -> ..-.--.---.-..
  191. னூ -> .------.-.-.--
  192. ளோ -> .-.....-...---
  193. ணோ -> .------.-.-.-.
  194. றே -> .-.....-...--.
  195. மௌ -> .-.....-...-..
  196. தௌ -> .-.---..-..-..
  197. ளே -> .-.---.-.-..-.
  198. லொ -> .-.---.-.-..--
  199. றூ -> ---------.-.--
  200. ரொ -> --.-...--.--..
  201. டொ -> --.-...--.-.-.
  202. ங -> -.-.-...-.-...
  203. ணே -> ..-.--.---.-.--
  204. ளீ -> .------.-...-..
  205. ழூ -> .-.....-...-.-.
  206. ளொ -> .-.---..-..-.-.
  207. ரௌ -> .-.---..-..-.--
  208. யௌ -> ---------.-.-..
  209. னொ -> ---------.-.-.-
  210. ழோ -> --.-...--.-.--.
  211. ளூ -> --.-...--.-.---
  212. ஞி -> -.-.-...-.-..--
  213. ணொ -> .-.....-...-.---
  214. ணூ -> .------.-...-.--
  215. ழீ -> .-.....-...-.--.
  216. ஸ் -> --.-...--.--.--.
  217. வௌ -> -.-.-...-.-..-..
  218. ஞீ -> --.-...--.--.---
  219. ஷ் -> ..-.--.---.-.-...
  220. ஷி -> ..-.--.---.-.-..-
  221. ழெ -> ..-.--.---.-.-.-.
  222. றீ -> .------.-...-.-.-
  223. நௌ -> ..-.--.---.-.-.--
  224. ஞே -> .------.-...-.-..
  225. லௌ -> --.-...--.--.-..-
  226. ஞொ -> -.-.-...-.-..-.--
  227. ஙு -> --.-...--.--.-...
  228. ஷ -> --.-...--.--.-.---
  229. ழொ -> --.-...--.--.-.--.
  230. ழே -> -.-.-...-.-..-.-.
  231. டௌ -> --.-...--.--.-.-.-
  232. ஞூ -> --.-...--.--.-.-..

Caveats and Closing Comments

Of course 15 of 247 letters are perhaps not received any codeword in this codebook. Further with inclusion of Grantha letters, 323 letters exist in Tamil some of which we don’t have code words.

Further, a large text corpus like Project Madurai’s [PM] unigram frequency distribution maybe useful to develop a widely representative Morse code table. Once you have this PM unigram data, you know how to get this Tamil Morse codebook regenerated!