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

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

அகர வரிசை அடிப்படையில் பகுப்பாய்வு

📚

ஆவணங்கள்

චරිත සංඛ්‍යාත විශ්ලේෂණ මෙවලම

හැඳින්වීම

චරිත සංඛ්‍යාත විශ්ලේෂණය යනු, දී ඇති පෙළකදී එක් එක් චරිතය කී දෙනෙකුට පෙනී යන බව ගණනය කරමින් හා දෘශ්‍යමාන කරමින් විශ්ලේෂණය කිරීමේ මූලික තාක්ෂණයකි. මෙම ශක්තිමත් ක්‍රමය භාෂාව භාවිතයේ රටාවන් හෙළි කරයි, කුඩා කේත විශ්ලේෂණය, දත්ත සම්පීඩනය, සහ භාෂා අධ්‍යයන සඳහා උපකාරී වේ. අපගේ චරිත සංඛ්‍යාත විශ්ලේෂණ මෙවලම ඕනෑම පෙළක් විශ්ලේෂණය කිරීමට සහ චරිත බෙදාහැරීමේ පැතිකඩක් නිර්මාණය කිරීමට සරල නමුත් කාර්යක්ෂම මාර්ගයක් ලබා දෙයි. චරිත සංඛ්‍යාතයන් තේරුම් ගැනීමෙන්, ඔබට පෙළේ ව්‍යුහය පිළිබඳ අInsight ලබා ගත හැක, සම්භාවිතා ගැටළු හඳුනා ගන්න, හෝ සාමාන්‍ය කියවීමෙන් පෙනෙන්නෙ නැති රටාවන් හඳුනා ගන්න.

මෙම මෙවලම පරිශීලක හිතකාමී අතුරුමුහුණතක් ඇති අතර, ඔබට ඕනෑම අන්තර්ගතයක් ඇතුළත් කිරීමට පෙළ ඇතුළත් කිරීමේ ප්‍රදේශයක් ඇත, සහ එය ස්වයංක්‍රීයව එක් එක් චරිතයේ සංඛ්‍යාතය පෙන්වන බාර් චාට් විශ්ලේෂණයක් නිර්මාණය කරයි. මෙම කාලීන දෘශ්‍ය ප්‍රතිචාරය නිසා, ඔබට කුමන චරිතයන් වැඩි ප්‍රමාණයක් පෙනී යන බව හඳුනා ගැනීමට සහ ඔබේ පෙළේ සමස්ත සංරචනය තේරුම් ගැනීමට පහසු වේ.

චරිත සංඛ්‍යාත විශ්ලේෂණය කෙසේ ක්‍රියා කරයි

චරිත සංඛ්‍යාත විශ්ලේෂණය සරල මූලධර්මයක් මත ක්‍රියා කරයි: පෙළකදී එක් එක් චරිතයේ සෑම පෙනී යාමක්ම ගණනය කරමින් ප්‍රතිඵල පෙන්වන්න. මෙම අදහස සරල වුවද, ක්‍රියාත්මක කිරීමේදී කිහිපයක් ප්‍රධාන අදියර ඇත:

ඇල්ගෝරිදමය

  1. පෙළ ඇතුළත් කිරීමේ සැකසීම: මෙවලම ඔබේ ඇතුළත් පෙළ ගණනාවක් චරිතයකින් චරිතයකට සැකසී.
  2. චරිත ගණනය කිරීම: සෑම චරිතයක්ම හමුවූ විට, ඇල්ගෝරිදමය එම විශේෂිත චරිතය සඳහා ගණනක් වැඩි කරයි.
  3. සංඛ්‍යාත ගණනය: සම්පූර්ණ පෙළක් සැකසීමෙන් පසු, සෑම චරිතයකම සංඛ්‍යාතය ගණනය කරයි.
  4. දත්ත වර්ගීකරණය: ප්‍රතිඵල සාමාන්‍යයෙන් වඩා පහසු විෂය නිර්ණය සඳහා අකාරානුකූලව හෝ සංඛ්‍යාතය අනුව වර්ගීකරණය කරයි.
  5. දෘශ්‍යමාන කිරීම: සංඛ්‍යාත දත්ත බාර් චාට් ලෙස දෘශ්‍යමාන කිරීමට පරිවර්තනය කරයි.

චරිත සංඛ්‍යාතය ගණනය කිරීමේ ගණිතමය නියෝජනය පහත පරිදි ප්‍රකාශ කළ හැක:

f(c)=ncN×100%f(c) = \frac{n_c}{N} \times 100\%

උදාහරණය:

  • f(c)f(c) යනු චරිත cc හි සංඛ්‍යාතය
  • ncn_c යනු චරිත cc හි පෙනී යාම
  • NN යනු පෙළේ සම්පූර්ණ චරිත ගණන

භාවිතා කරන දත්ත ව්‍යුහ

මෙම ක්‍රියාත්මක කිරීම සාමාන්‍යයෙන් චරිත පෙනී යාම ගණනය කිරීමට කාර්යක්ෂමව භාවිතා කරන හෑෂ් සිතියම (අර්ථකථන) දත්ත ව්‍යුහයක් භාවිතා කරයි:

11. හිස් හෑෂ් සිතියමක් ආරම්භ කරන්න
22. ඇතුළත් පෙළේ සෑම චරිතයක් සඳහා:
3   a. චරිතය හෑෂ් සිතියමේ තිබේ නම්, එහි ගණන වැඩි කරන්න
4   b. නැත්නම්, චරිතය හෑෂ් සිතියමට එකතු කර 1ක් ලෙස ගණනක් ලබා දෙන්න
53. හෑෂ් සිතියම චරිත-ගණන යුගල වල අරය කිරීමට පරිවර්තනය කරන්න
64. අවශ්‍ය නම් (අකාරානුකූලව හෝ සංඛ්‍යාතය අනුව) අරය වර්ගීකරණය කරන්න
75. වර්ගීකරණය කළ අරය මත දෘශ්‍යමාන කිරීම නිර්මාණය කරන්න
8

මෙම ආකාරය O(n) කාල සංකීර්ණතාවයක් ඇත, එහි n යනු ඇතුළත් පෙළේ දිග වන අතර, විශාල පෙළ ආදර්ශ සඳහා කාර්යක්ෂම වේ.

මෙවලම භාවිතා කිරීමට පියවරෙන් පියවර මාර්ගෝපදේශය

අපගේ චරිත සංඛ්‍යාත විශ්ලේෂණ මෙවලම පරිශීලක හිතකාමී ලෙස නිර්මාණය කර ඇත. ඔබේ පෙළ විශ්ලේෂණය කිරීමට මෙම සරල පියවර අනුගමනය කරන්න:

1. ඔබේ පෙළ ඇතුළත් කරන්න

පෙළ ඇතුළත් කිරීමේ ක්ෂේත්‍රයට ඔබේ පෙළ ඇතුළත් කිරීම හෝ පිටපත් කිරීමෙන් ආරම්භ කරන්න. මෙවලම ඕනෑම පෙළ අන්තර්ගතයක් පිළිගනී, ඒ අතර:

  • සාම්ප්‍රදායික පෙළ ලේඛන
  • කේත කොටස්
  • සාහිත්‍ය කථා
  • සංකේතගත පණිවුඩ
  • විදේශීය භාෂා පෙළ
  • තාක්ෂණික ලේඛන

ඔබට අවශ්‍ය ඕනෑම පමණක් පෙළ ඇතුළත් කළ හැක - එක් වාක්‍යයකින් පුරාවට සම්පූර්ණ ලේඛන දක්වා.

2. ස්වයංක්‍රීය විශ්ලේෂණය

බොහෝ අනෙකුත් මෙවලම්වලට වඩා, අපගේ චරිත සංඛ්‍යාත විශ්ලේෂණ මෙවලම ඔබට ඇතුළත් කරමින්ම ස්වයංක්‍රීයව ඔබේ පෙළ විශ්ලේෂණය කරයි. වෙනත් "ගණන කරන්න" බොත්තමක් ක්ලික් කිරීමට අවශ්‍ය නැත - ඔබේ ඇතුළුවීම වෙනස් කරන විට ප්‍රතිඵල කාලීනව යාවත්කාලීන වේ.

3. ප්‍රතිඵල අර්ථය

ඔබේ පෙළ විශ්ලේෂණය කර ඇති විට, මෙවලම පෙන්වයි:

  • බාර් චාට් දෘශ්‍යමාන කිරීම: චරිත සංඛ්‍යාතයන්ගේ පැහැදිලි ග්‍රාෆික් නිරූපණයක්
  • සම්පූර්ණ චරිත ගණන: ඔබේ පෙළේ සම්පූර්ණ චරිත ගණන
  • පෙරළි චරිත ගණන: සෑම චරිතයක් සඳහාම පෙනී යාම ගණන

බාර් චාට් එක පහසු කරයි හඳුනා ගැනීමට:

  • වැඩි ප්‍රමාණයෙන් පෙනෙන චරිත
  • අඩු ප්‍රමාණයෙන් පෙනෙන චරිත
  • ඔබේ පෙළේ ව්‍යුහය පුරා බෙදාහැරීම්
  • විශේෂ අන්තර්ගතයක් පෙන්වන්නා වූ අසාමාන්‍ය සංඛ්‍යාත

4. පිටපත් කිරීමේ විශේෂාංගය භාවිතා කිරීම

ඔබේ විශ්ලේෂණය ප්‍රතිඵල සුරක්ෂිත කර ගැනීමට හෝ බෙදා හරිනු සඳහා:

  1. නිර්මාණය කළ සංඛ්‍යාත දත්ත සමාලෝචනය කරන්න
  2. "පිටපත් කරන්න" බොත්තම ක්ලික් කර අකාරානුකූල ප්‍රතිඵල ඔබේ ක්ලිප්බෝර්ඩ් එකට පිටපත් කරන්න
  3. ඕනෑම ලේඛනයක්, පත්‍රිකාවක්, හෝ සන්නිවේදන මෙවලමකට ප්‍රතිඵල ඇතුළත් කරන්න

මෙම විශේෂාංගය පර්යේෂකයින්, ශිෂ්‍යයින්, සහ වෘත්තීය පුද්ගලයින්ට විශේෂයෙන් ප්‍රයෝජනවත් වේ, ඔවුන්ට තම කාර්යයන්හි සංඛ්‍යාත විශ්ලේෂණය ඇතුළත් කිරීමට අවශ්‍ය වේ.

චරිත සංඛ්‍යාත විශ්ලේෂණය සඳහා භාවිතා කරන අවස්ථා

චරිත සංඛ්‍යාත විශ්ලේෂණය විවිධ ක්ෂේත්‍රවල විශාල ප්‍රයෝජන ඇති:

සංකේත විද්‍යාව සහ කේත කඩිනම් කිරීම

චරිත සංඛ්‍යාත විශ්ලේෂණය සංකේත විද්‍යාවේ පරණ හා මූලික තාක්ෂණයකි. බොහෝ ප්‍රතිස්ථාපන සංකේත වලදී, මුල් භාෂාවේ සංඛ්‍යාත රටාවන් හඳුනා ගත හැක, එම නිසා සංකේතිත පණිවුඩ කඩිනම් කිරීමේදී චරිත බෙදාහැරීම් සමඟ සැසඳීමෙන් කඩිනම් කරන්න ඉඩ සලසයි.

උදාහරණයක්: ඉංග්‍රීසියෙන් ලියන පෙළකදී, 'E', 'T', 'A', සහ 'O' සාමාන්‍යයෙන් වැඩි ප්‍රමාණයෙන් පෙනේ. සංකේතිත පෙළක් වෙනස් චරිත සඳහා වැඩි සංඛ්‍යාත පෙන්වන්නේ නම්, සංකේත විද්‍යාවකයාට ප්‍රතිස්ථාපන රටාව පිළිබඳ අධ්‍යයනය කිරීමට හොඳ අනුමාන කිරීම් කිරීමට හැක.

දත්ත සම්පීඩනය

බොහෝ සම්පීඩන ඇල්ගෝරිදම් චරිත සංඛ්‍යාත තොරතුරු භාවිතා කරමින් කාර්යක්ෂම කේත නිර්මාණය කරයි. හෆ්මන් කේතනය, උදාහරණයක් ලෙස, වැඩි ප්‍රමාණයෙන් පෙනෙන චරිත සඳහා කෙටි බිට් අනුක්‍රම සහ අඩු ප්‍රමාණයෙන් පෙනෙන චරිත සඳහා දිගු අනුක්‍රම ලබා දෙයි.

උදාහරණයක්: 'E' 15% කින් පෙනී යන පෙළකදී 'Z' 0.07% කින් පෙනී යන්නේ නම්, සම්පීඩන ඇල්ගෝරිදමයක් 'E' සඳහා 2-බිට් කේතයක් සහ 'Z' සඳහා 8-බිට් කේතයක් ලබා දිය හැක, එමඟින් විශාල ඉඩ සුරක්ෂිත කරයි.

භාෂා විශ්ලේෂණය

භාෂා විද්‍යාඥයන් චරිත සංඛ්‍යාත විශ්ලේෂණය භාවිතා කරමින් භාෂා රටාවන් අධ්‍යයනය කරයි, ලේඛකත්වය හඳුනා ගනිමින්, සහ විවිධ භාෂා හෝ බස සසඳයි.

උදාහරණයක්: ලේඛකයෙකුට තම ලේඛන ශෛලියට අදාළ සංඛ්‍යාත රටාවන් ඇති විය හැක. මෙය අනන්‍ය පෙළක් හඳුනා ගැනීමට හෝ පිළිගැනීමේදී උපකාරී වේ.

දෝෂ හඳුනා ගැනීම සහ නිවැරදි කිරීම

අපේක්ෂිත සංඛ්‍යාත රටාවන් පිහිටුවීමෙන්, චරිත විශ්ලේෂණය ගැටළු හෝ ප්‍රේරණ දත්තවල දෝෂ හඳුනා ගැනීමට උපකාරී වේ.

උදාහරණයක්: ඉංග්‍රීසියෙන් විය යුතු පෙළක් සාමාන්‍යයෙන් ඉංග්‍රීසියෙන් ප්‍රමාණවත් නොවන සංඛ්‍යාත රටාවන් පෙන්වන්නේ නම්, එය ප්‍රේරණ දෝෂ හෝ කේත ගැටළු පෙන්වන්නා විය හැක.

ස්වාභාවික භාෂා සැකසුම

NLP පද්ධති සාමාන්‍යයෙන් භාෂා හඳුනා ගැනීම, හැඟීම් විශ්ලේෂණය, සහ අනෙකුත් පෙළ සැකසුම් කාර්ය සඳහා චරිත සංඛ්‍යාතය විශේෂාංගයක් ලෙස භාවිතා කරයි.

උදාහරණයක්: විවිධ භාෂා විශේෂිත චරිත සංඛ්‍යාත බෙදාහැරීම් ඇත. පද්ධතියක් මෙම තොරතුරු භාවිතා කරමින් පෙළක් කුමන භාෂාවකින් ලියන ලද බව ස්වයංක්‍රීයව හඳුනා ගත හැක.

අධ්‍යාපනික යෙදුම්

චරිත සංඛ්‍යාත විශ්ලේෂණය සංඛ්‍යාත විද්‍යාව, භාෂා විද්‍යාව, සහ වැඩසටහන් සංකල්ප ඉගැන්වීමට වටිනා අධ්‍යාපනික මෙවලමක් විය හැක.

උදාහරණයක්: ශිෂ්‍යයන්ට විවිධ කාල පරාසයන් හෝ ලේඛකයන්ගෙන් පෙළ විශ්ලේෂණය කරමින් භාෂාව භාවිතය කෙසේ වෙනස් වී ඇතිද දක්වා දැක්විය හැක.

චරිත සංඛ්‍යාත විශ්ලේෂණය සඳහා විකල්ප

චරිත සංඛ්‍යාත විශ්ලේෂණය ශක්තිමත් වුවද, ඔබේ විශේෂ අවශ්‍යතා අනුව වඩා සුදුසු වෙනත් ආකාර තිබේ:

වාක්‍ය සංඛ්‍යාත විශ්ලේෂණය

එක් එක් චරිතය වෙනුවට වාක්‍ය සංඛ්‍යාත විශ්ලේෂණය පෙළකදී එක් එක් වාක්‍යය කී දෙනෙකුට පෙනී යන්නේ කෙසේදැයි පරීක්ෂා කරයි. මෙම ආකාරය තේමාවන් හඳුනා ගැනීම, යතුරු පද හඳුනා ගැනීම, සහ විෂය ආකෘතිකරණය සඳහා වඩා අර්ථකථන තොරතුරු ලබා දෙයි.

කවදා භාවිතා කළ යුතුද: ඔබට පෙළක අර්ථය සහ තේමාවන් ගැන වැඩි අවධානයක් තිබේ නම් වාක්‍ය සංඛ්‍යාත විශ්ලේෂණය තෝරන්න.

N-ග්‍රෑම් විශ්ලේෂණය

N-ග්‍රෑම් විශ්ලේෂණය චරිත හෝ වාක්‍ය (බිග්‍රෑම්, ට්‍රිග්‍රෑම්, ආදිය) වල අනුක්‍රම පරීක්ෂා කරයි. මෙය ප්‍රසංග රටාවන් අල්ලා ගැනීමට සහ භාෂා ආකෘතිකරණය සහ පූර්ව කථන පද්ධති සඳහා වටිනා වේ.

කවදා භාවිතා කළ යුතුද: ඔබට අනුක්‍රමික රටාවන් හෝ පූර්ව කථන ආකෘතිකරණය කිරීමට අවශ්‍ය නම් N-ග්‍රෑම් විශ්ලේෂණය වඩා හොඳ වේ.

හැඟීම් විශ්ලේෂණය

සංඛ්‍යාත ගණනය කිරීමේදී, හැඟීම් විශ්ලේෂණය පෙළක හැඟීමේ ආකාරය තීරණය කිරීමට අරමුණු කරයි. මෙය ස්වාභාවික භාෂා සැකසුම් තාක්ෂණ භාවිතා කරමින් පෙළක් ධනාත්මක, ඍණාත්මක, හෝ සාමාන්‍ය ලෙස වර්ගීකරණය කරයි.

කවදා භාවිතා කළ යුතුද: ඔබට පෙළක හැඟීමේ අන්තර්ගතය හෝ අදහස ගැන වැඩි අවධානයක් තිබේ නම් හැඟීම් විශ්ලේෂණය තෝරන්න.

කියවීමේ හැකියාව විශ්ලේෂණය

කියවීමේ හැකියාව විශ්ලේෂණය පෙළක් කියවීමට කී දෙනෙකුට පහසුද නැද්ද යන්න ඇගැයීමේදී, වාක්‍ය දිග සහ සිරුරේ ගණන වැනි මැතිවරණ භාවිතා කරයි.

කවදා භාවිතා කළ යුතුද: ඔබට ඉලක්ක ප්‍රේක්ෂකයෙකුට පෙළේ සංකීර්ණත්වය හෝ ප්‍රවේශය ඇගැයීමට අවශ්‍ය නම් කියවීමේ හැකියාව විශ්ලේෂණය තෝරන්න.

චරිත සංඛ්‍යාත විශ්ලේෂණයේ ඉතිහාසය

චරිත සංඛ්‍යාත විශ්ලේෂණයේ ඉතිහාසය සියවස ගණනාවක් පුරා ගොඩනැගී ඇත:

පුරාණ ආරම්භ

චරිත ගණනය කිරීම සඳහා කඩිනම් කිරීමේ පළමු නිවැරදි භාවිතාව 9 වන සියවසේ අරාබි විද්‍යාඥ Al-Kindi විසින් සිදු කරන ලදි. ඔහුගේ "සංකේත පණිවුඩ කඩිනම් කිරීමේ පිළිබඳ" ලිපියෙන්, සරල ප්‍රතිස්ථාපන සංකේත කඩිනම් කිරීමට චරිත සංඛ්‍යාත භාවිතා කළ හැකි බව විස්තර කරයි.

නැණසෙල් සංවර්ධන

යුරෝපීය නැණසෙල් කාලයේදී, සංකේත විද්‍යාඥයන් Giovanni Battista Bellaso සහ Blaise de Vigenère වැනි පුද්ගලයන් චරිත සංඛ්‍යාත විශ්ලේෂණයට ප්‍රතිරෝධය කිරීමට විශේෂිත සංකේත නිර්මාණය කළහ. මෙය සංකේත සහ කඩිනම් කිරීමේ ක්‍රම අතර අඛණ්ඩ සටනක් ඇති කළේය.

නවීන යෙදුම්

20 වන සියවසේදී, චරිත සංඛ්‍යාත විශ්ලේෂණය යුද්ධ කාලීන සංකේත විද්‍යාවේ වැදගත් භූමිකාවක් ගෙන ආයේය, විශේෂයෙන් ජර්මානු එනිග්ම කේතය කඩිනම් කිරීමේදී. බ්ලෙච්ලි පාර්ක් හි බ්‍රිතාන්‍ය සංකේත විද්‍යාඥයන්, ඇලන් ටියුරිං ඇතුළු, ඔවුන්ගේ කඩිනම් කිරීමේ උත්සාහයන්හි චරිත සංඛ්‍යාතය භාවිතා කළහ.

ඩිජිටල් යුගය

කම්පියුටර්වල පැමිණීමත් සමඟ, චරිත සංඛ්‍යාත විශ්ලේෂණය ස්වයංක්‍රීය හා වඩා සංකීර්ණ විය. නවීන යෙදුම් සංකේත විද්‍යාවෙන් ඉක්මවා යන්න, දත්ත සම්පීඩනය, තොරතුරු ප්‍රතිපැවැත්ම, සහ යන්ත්‍ර ඉගෙනීම ඇතුළු.

නවීන පර්යේෂණ

අද, පර්යේෂකයන් විශාල දත්ත, සයිබර් ආරක්ෂාව, සහ කෘතිම බුද්ධිය සඳහා චරිත සංඛ්‍යාත තාක්ෂණයන් සංවර්ධනය කිරීමට පවත්වාගෙන යති. මූලික ප්‍රතිපත්ති එකම වන නමුත් ක්‍රමවේද සහ මෙවලම් දැඩි ලෙස සංවර්ධනය වී ඇත.

කේත උදාහරණ

මෙහි විවිධ වැඩසටහන් භාෂා වල චරිත සංඛ්‍යාත විශ්ලේෂණය සඳහා ක්‍රියාකාරකම් ඇත:

පයිතන්

1def analyze_character_frequency(text):
2    # හිස් අර්ථකථන ආරම්භ කරන්න
3    frequency = {}
4    
5    # සෑම චරිතයක්ම ගණනය කරන්න
6    for char in text:
7        if char in frequency:
8            frequency[char] += 1
9        else:
10            frequency[char] = 1
11    
12    # යුගල වලට පරිවර්තනය කරන්න සහ අකාරානුකූලව වර්ගීකරණය කරන්න
13    result = sorted(frequency.items())
14    
15    return result
16
17# උදාහරණ භාවිතය
18text = "Hello, World!"
19frequencies = analyze_character_frequency(text)
20for char, count in frequencies:
21    print(f"'{char}': {count}")
22

ජාවාස්ක්‍රිප්ට්

1function analyzeCharacterFrequency(text) {
2  // හිස් වස්තුවක් ආරම්භ කරන්න
3  const frequency = {};
4  
5  // සෑම චරිතයක්ම ගණනය කරන්න
6  for (let i = 0; i < text.length; i++) {
7    const char = text[i];
8    if (frequency[char]) {
9      frequency[char]++;
10    } else {
11      frequency[char] = 1;
12    }
13  }
14  
15  // වස්තුවක් ලෙස අරයට පරිවර්තනය කරන්න සහ අකාරානුකූලව වර්ගීකරණය කරන්න
16  const result = Object.entries(frequency)
17    .map(([char, count]) => ({ char, count }))
18    .sort((a, b) => a.char.localeCompare(b.char));
19  
20  return result;
21}
22
23// උදාහරණ භාවිතය
24const text = "Hello, World!";
25const frequencies = analyzeCharacterFrequency(text);
26frequencies.forEach(item => {
27  console.log(`'${item.char}': ${item.count}`);
28});
29

ජාවා

1import java.util.*;
2
3public class CharacterFrequencyAnalyzer {
4    public static List<Map.Entry<Character, Integer>> analyzeCharacterFrequency(String text) {
5        // හිස් HashMap එකක් ආරම්භ කරන්න
6        Map<Character, Integer> frequency = new HashMap<>();
7        
8        // සෑම චරිතයක්ම ගණනය කරන්න
9        for (int i = 0; i < text.length(); i++) {
10            char c = text.charAt(i);
11            frequency.put(c, frequency.getOrDefault(c, 0) + 1);
12        }
13        
14        // ලැයිස්තු වලට පරිවර්තනය කරන්න සහ අකාරානුකූලව වර්ගීකරණය කරන්න
15        List<Map.Entry<Character, Integer>> result = new ArrayList<>(frequency.entrySet());
16        result.sort(Map.Entry.comparingByKey());
17        
18        return result;
19    }
20    
21    public static void main(String[] args) {
22        String text = "Hello, World!";
23        List<Map.Entry<Character, Integer>> frequencies = analyzeCharacterFrequency(text);
24        
25        for (Map.Entry<Character, Integer> entry : frequencies) {
26            System.out.println("'" + entry.getKey() + "': " + entry.getValue());
27        }
28    }
29}
30

C++

1#include <iostream>
2#include <string>
3#include <map>
4#include <vector>
5#include <algorithm>
6
7std::vector<std::pair<char, int>> analyzeCharacterFrequency(const std::string& text) {
8    // හිස් සිතියමක් ආරම්භ කරන්න
9    std::map<char, int> frequency;
10    
11    // සෑම චරිතයක්ම ගණනය කරන්න
12    for (char c : text) {
13        frequency[c]++;
14    }
15    
16    // යුගල වලට පරිවර්තනය කරන්න
17    std::vector<std::pair<char, int>> result(frequency.begin(), frequency.end());
18    
19    // සිතියම අකාරානුකූලව සකස් කර ඇත
20    return result;
21}
22
23int main() {
24    std::string text = "Hello, World!";
25    auto frequencies = analyzeCharacterFrequency(text);
26    
27    for (const auto& pair : frequencies) {
28        std::cout << "'" << pair.first << "': " << pair.second << std::endl;
29    }
30    
31    return 0;
32}
33

රුබි

1def analyze_character_frequency(text)
2  # හිස් අර්ථකථන ආරම්භ කරන්න
3  frequency = Hash.new(0)
4  
5  # සෑම චරිතයක්ම ගණනය කරන්න
6  text.each_char do |char|
7    frequency[char] += 1
8  end
9  
10  # යුගල වලට පරිවර්තනය කරන්න සහ අකාරානුකූලව වර්ගීකරණය කරන්න
11  result = frequency.to_a.sort_by { |char, _| char }
12  
13  return result
14end
15
16# උදාහරණ භාවිතය
17text = "Hello, World!"
18frequencies = analyze_character_frequency(text)
19frequencies.each do |char, count|
20  puts "'#{char}': #{count}"
21end
22

අසනීප ප්‍රශ්න

චරිත සංඛ්‍යාත විශ්ලේෂණය යනු කුමක්ද?

චරිත සංඛ්‍යාත විශ්ලේෂණය යනු පෙළකදී එක් එක් චරිතය කී දෙනෙකුට පෙනී යන බව ගණනය කිරීමේ ක්‍රමයකි. එය චරිත බෙදාහැරීම් පිළිබඳ දැනුම ලබා දිය හැකි අතර, කුඩා කේත විශ්ලේෂණය, දත්ත සම්පීඩනය, භාෂා අධ්‍යයන, සහ අනෙකුත් පෙළ විශ්ලේෂණය යෙදුම් සඳහා උපකාරී වේ.

චරිත සංඛ්‍යාත විශ්ලේෂණය කෙසේද නිවැරදිද?

චරිත සංඛ්‍යාත විශ්ලේෂණයේ නිවැරදි බව සාම්ප්‍රදායික ප්‍රමාණය මත පදනම් වේ. කුඩා පෙළ සඳහා, සංඛ්‍යාත බෙදාහැරීම සාමාන්‍යයෙන් භාෂාවේ සාමාන්‍ය රටාවන්ට නොගැලපෙන විය හැක. නමුත් විශාල පෙළ (සැමට පරාසයක් හෝ ඊට වඩා) සඳහා, විශ්ලේෂණය සාමාන්‍යයෙන් චරිත බෙදාහැරීම් විශ්ලේෂණය සඳහා විශ්වාසදායක නිරූපණයක් ලබා දෙයි.

චරිත සංඛ්‍යාත විශ්ලේෂණය නවීන සංකේතය කඩිනම් කිරීමට හැකිද?

නැත, චරිත සංඛ්‍යාත විශ්ලේෂණය පමණක් නවීන සංකේත ඇල්ගෝරිදම් (AES හෝ RSA වැනි) කඩිනම් කිරීමට නොහැක. එය ප්‍රධාන වශයෙන් සරල ප්‍රතිස්ථාපන සංකේත සහ කිහිපයක් අතින් ක්‍රියාත්මක වන සංකේත ක්‍රම සඳහා කාර්යක්ෂම වේ. නවීන සංකේත විද්‍යාව සංකීර්ණ ගණිතමය ක්‍රියාකාරකම් සහ යතුරු පදනම් පද්ධති භාවිතා කරයි, එමඟින් සංඛ්‍යාත රටාවන් රැදී නොයයි.

භාෂා අතර චරිත සංඛ්‍යාත කෙසේ වෙනස් වේද?

සෑම භාෂාවකම විශේෂිත චරිත සංඛ්‍යාත පැතිකඩක් ඇත. උදාහරණයක් ලෙස, ඉංග්‍රීසියෙන් 'E' සාමාන්‍යයෙන් වැඩි ප්‍රමාණයෙන් පෙනේ, එනම් ස්පාඤ්ඤයෙන් 'E' සහ 'A' වැඩි ප්‍රමාණයෙන් පෙනේ. ජර්මානු භාෂාව 'E', 'N', සහ 'I' වැඩි ප්‍රමාණයෙන් පෙනේ, සහ 'ß' සහ උමල් වැනි චරිත භාවිතා කරයි, එය ඉංග්‍රීසියේ නොපෙනේ.

චරිත සංඛ්‍යාත සහ වාක්‍ය සංඛ්‍යාත විශ්ලේෂණය අතර වෙනස කුමක්ද?

චරිත සංඛ්‍යාත විශ්ලේෂණය එක් එක් චරිතය (අකුරු, අංක, පූර්ණක) ගණනය කරයි, එනම් වාක්‍ය සංඛ්‍යාත විශ්ලේෂණය සම්පූර්ණ වාක්‍ය ගණනය කරයි. චරිත විශ්ලේෂණය වඩා මූලික වේ සහ සියලුම පෙළ වර්ග සඳහා ක්‍රියාත්මක වේ, එනම් වාක්‍ය විශ්ලේෂණය වඩා අර්ථකථන තොරතුරු ලබා දෙයි නමුත් භාෂාවට විශේෂිත සැකසුමක් අවශ්‍ය වේ.

චරිත සංඛ්‍යාතය දත්ත සම්පීඩනය සඳහා කෙසේ භාවිතා කළ හැකිද?

චරිත සංඛ්‍යාත තොරතුරු සම්පීඩන ඇල්ගෝරිදම් සඳහා අත්‍යවශ්‍ය වේ, එය කාර්යක්ෂම කේත නිර්මාණය කිරීමට උපකාරී වේ. හෆ්මන් කේතනය, උදාහරණයක් ලෙස, වැඩි ප්‍රමාණයෙන් පෙනෙන චරිත සඳහා කෙටි කේත අනුක්‍රම සහ අඩු ප්‍රමාණයෙන් පෙනෙන චරිත සඳහා දිගු අනුක්‍රම ලබා දේ.

කේත විශ්ලේෂණය චරිත සංඛ්‍යාතය හඳුනා ගන්නා හැකිද?

චරිත සංඛ්‍යාතය පමණක් භාවිතා කිරීමෙන් ලේඛකයෙකු හඳුනා ගැනීම සාමාන්‍යයෙන් ප්‍රමාණවත් නොවේ, නමුත් එය විශාල ශෛලාවන්හි වඩාත්ම ප්‍රධාන ලක්ෂණයක් ලෙස පවතී. වාක්‍ය තෝරා ගැනීම, වාක්‍ය දිග, සහ අනෙකුත් භාෂා ආකාරකයන් සමඟ එකට, චරිත සංඛ්‍යාතය ලේඛකත්වය හඳුනා ගැනීම හෝ සත්‍යාපනය කිරීමට උපකාරී වේ.

මෙවලම විශේෂ චරිත සහ අවකාශ කෙසේ හසුරුවයි?

අපගේ චරිත සංඛ්‍යාත විශ්ලේෂණ මෙවලම සියලුම චරිත, අවකාශ, පූර්ණක, සහ විශේෂ චරිත ගණනාවන් ගණනය කරයි. සෑම අද්විතීය චරිතයක්ම සංඛ්‍යාත ගණනේදී වෙනම වශයෙන් සැලකේ, එමඟින් පෙළේ සංරචනය පිළිබඳ සම්පූර්ණ පින්තූරයක් ලබා දේ.

මට විශ්ලේෂණය කිරීමට කිහිපයක් පෙළක් තිබේද?

මෙම මෙවලම කුඩා වාක්‍යවලින් විශාල ලේඛන දක්වා විවිධ දිගකින් පෙළ ගණනාවන් ගණනය කිරීමට නිර්මාණය කර ඇත. නමුත් ඉතා විශාල පෙළ (හजार ගණනක් චරිත) කුමක් හෝ කාලය ප්‍රමාණවත් වේ. විශාල දත්ත කට්ටල සඳහා, විශේෂිත පරිගණක යෙදුමක් හෝ වැඩසටහනක් භාවිතා කිරීමට සලස්වන්න.

යොමු

  1. Singh, S. (1999). The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography. Anchor Books.

  2. Shannon, C. E. (1951). "Prediction and entropy of printed English." The Bell System Technical Journal, 30(1), 50-64.

  3. Beker, H., & Piper, F. (1982). Cipher Systems: The Protection of Communications. Northwood Books.

  4. Al-Kazaz, N. R., Teahan, W. J., & Irvine, S. A. (2018). "An automatic cryptanalysis of simple substitution ciphers using compression." Information Sciences, 474, 18-28.

  5. Huffman, D. A. (1952). "A Method for the Construction of Minimum-Redundancy Codes." Proceedings of the IRE, 40(9), 1098-1101.

  6. Konheim, A. G. (2010). Computer Security and Cryptography. John Wiley & Sons.

  7. Juola, P. (2006). "Authorship Attribution." Foundations and Trends in Information Retrieval, 1(3), 233-334.

  8. Stallings, W. (2017). Cryptography and Network Security: Principles and Practice (7th ed.). Pearson.

අපගේ චරිත සංඛ්‍යාත විශ්ලේෂණ මෙවලම භාවිතා කරමින් ඔබේ පෙළ විශ්ලේෂණය කරන්න, රටාවන් හඳුනා ගන්න, සම්පීඩනය සඳහා උපකාරී වන්න, හෝ ඔබේ අන්තර්ගතයේ සංරචනය විමසා බලන්න. විවිධ ආදර්ශ පරීක්ෂා කරන්න, චරිත බෙදාහැරීම් කෙසේද යන්න දකින්න!

🔗

சம்பந்தப்பட்ட கருவிகள்

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