Alat Analisis dan Visualisasi Kekerapan Aksara
Alat analisis kekerapan aksara percuma. Visualisasikan corak taburan huruf serta-merta. Sempurna untuk kriptografi, pemampatan data, pengesanan pengekodean teks, dan analisis linguistik.
Analisis Kekerapan Aksara
Dokumentasi
Apakah Analisis Kekerapan Aksara?
Pernahkah anda tertanya-tanya aksara mana yang mendominasi tulisan anda? Analisis kekerapan aksara mengira berapa kali setiap aksara muncul dalam teks, mendedahkan corak yang tidak jelas pada pandangan pertama. Teknik ini bermula dari kriptografi abad ke-9 dan kekal penting hari ini untuk memecahkan sandi, mengoptimumkan algoritma pemampatan, dan mengkaji corak linguistik.
Inilah yang menjadikan alat ini berguna: tampalkan mana-mana teksâsama ada kod, mesej tersulitkan, atau dokumen biasaâdan anda akan serta-merta melihat carta bar yang menunjukkan dengan tepat aksara mana yang muncul paling kerap. Saya mendapati ini amat berguna apabila menyahpepijat isu pengekodean teks atau menganalisis corak sandi dalam penyelidikan keselamatan.
Aplikasi dunia sebenar adalah sangat meluas. Apabila bekerja dengan projek pemampatan data, mengetahui taburan aksara anda membantu memilih algoritma yang betul. Dalam kerja kriptanalisis, corak kekerapan yang tidak biasa boleh mendedahkan kelemahan sandi penggantian. Malah untuk penyuntingan teks asas, mengesan kekerapan aksara yang tidak dijangka mungkin mendedahkan isu format tersembunyi atau masalah pengekodean yang akan terlepas dari semakan manual.
Cara Kerja Analisis Kekerapan Aksara
Konsep teras adalah mudah: kira setiap aksara dan visualisasikan hasilnya. Tetapi pelaksanaan memerlukan perhatian teliti terhadap kecekapan, terutamanya apabila memproses fail teks yang besar.
Algoritma di Sebalik Pengiraan Aksara
Begini cara analisis memproses teks anda:
- Pemprosesan Input Teks: Setiap aksara diperiksa secara individu, termasuk ruang, tanda baca, dan simbol khas.
- Pengiraan Aksara: Peta hash menjejaki kiraan setiap aksara, meningkatkan bilangan setiap kali aksara muncul.
- Pengiraan Kekerapan: Selepas mengimbas keseluruhan teks, peratusan dikira berbanding jumlah aksara keseluruhan.
- Pengisihan Data: Keputusan diisih mengikut abjad atau kekerapanâpengisihan abjad memudahkan mencari aksara tertentu, manakala pengisihan kekerapan menyerlahkan corak dominan.
- Visualisasi: Carta bar memaparkan hasil anda serta-merta, menjadikan corak jelas pada pandangan pertama.
Representasi matematikal kekerapan aksara boleh dinyatakan sebagai:
Di mana:
- adalah kekerapan aksara
- adalah bilangan kemunculan aksara
- adalah jumlah keseluruhan aksara dalam teks
Struktur Data dan Prestasi
Peta hash (juga dipanggil kamus atau objek) menyediakan cara paling cekap untuk mengira kemunculan aksara:
11. Mulakan peta hash/kamus kosong
22. Untuk setiap aksara dalam input teks:
3 a. Jika aksara wujud dalam peta hash, tambah kira bilanganya
4 b. Jika tidak, tambah aksara ke peta hash dengan kira 1
53. Tukar peta hash ke susunan pasangan aksara-kira
64. Isih susunan mengikut keperluan (mengikut abjad atau kekerapan)
75. Hasilkan visualisasi berdasarkan susunan yang diisih
8Pendekatan ini mempunyai kompleksiti masa O(n), di mana n bersamaan dengan panjang input teks. Maksudnya dalam amalan: dokumen 100,000 aksara diproses sama cepatnya per aksara seperti cebisan 100 aksara. Carian masa malar peta hash menjadikan ini mungkinâsetiap semakan aksara mengambil masa yang sama tanpa mengira berapa banyak aksara unik yang telah dikira.
Satu had yang perlu diambil perhatian: teks yang sangat besar (berjuta aksara) mungkin perlahan dalam pelaksanaan berasaskan pelayar disebabkan kekangan memori JavaScript. Untuk analisis teks skala industri, anda biasanya akan menggunakan pemprosesan sisi pelayan dengan bahasa seperti Python atau Go.
Cara Menggunakan Alat Kekerapan Aksara Ini
Memulakan hanya mengambil beberapa saat. Hanya tampal teks anda dan lihat analisis berlaku secara automatik.
Masukkan Teks Anda
Alat ini menerima apa sahaja yang anda berikan:
- Dokumen teks biasa dan artikel
- Cebisan kod (Python, JavaScript, mana-mana bahasa)
- Petikan sastera atau penulisan kreatif
- Mesej tersulit yang cuba anda dekripsi
- Teks bahasa asing (hebat untuk membandingkan corak bahasa)
- Dokumentasi teknikal atau log
Tiada had panjang praktis untuk kegunaan biasaâtampal perenggan atau satu bab penuh.
Analisis Masa Sebenar
Inilah sesuatu yang berguna: alat ini memproses teks anda semasa anda menaip. Tiada butang "Kira" untuk diklik, tiada menunggu. Tampal teks anda dan carta bar dikemas kini serta-merta. Ini memudahkan anda bereksperimenâcuba sampel teks berbeza dan serta-merta lihat bagaimana taburan aksara berubah.
Membaca Keputusan Anda
Visualisasi menunjukkan tiga perkara utama:
- Carta Bar: Setiap bar mewakili satu aksara. Bar yang lebih tinggi bermakna kekerapan lebih tinggi. Anda akan cepat melihat aksara mana yang mendominasi teks anda.
- Jumlah Bilangan Aksara: Menunjukkan dengan tepat berapa banyak aksara yang teks anda mengandungi, termasuk ruang dan tanda bacaan.
- Kiraan Individu: Arahkan ke mana-mana bar untuk melihat kiraan tepat untuk aksara tersebut.
Apa yang perlu dicari: Dalam teks Inggeris, anda biasanya menjangkakan 'E', 'T', 'A', 'O', dan 'I' hampir di bahagian atas. Jika anda melihat corak yang pelikâseperti 'Q' atau 'Z' muncul kerapâitu mungkin menunjukkan penggantian cipher atau isu pengkodan.
Salin dan Eksport
Perlukan data untuk laporan atau pembentangan? Klik butang "Salin" untuk mengambil keputusan yang diformat. Anda boleh menampalnya terus ke hamparan, dokumen, atau di mana sahaja anda sedang bekerja. Saya mendapati ini sangat membantu apabila mendokumenkan penemuan kriptanalisis atau memasukkan bukti statistik dalam penulisan teknikal.
Kegunaan Sebenar Analisis Kekerapan Aksara
Analisis kekerapan aksara muncul dalam bidang yang mengejutkan. Berikut adalah tempat ia sebenarnya digunakan:
Kriptografi dan Mematahkan Cipher Substitusi
Inilah tempat analisis kekerapan mendapat reputasinya. Cipher substitusi mudahâdi mana setiap huruf dipetakan ke huruf lainâmengekalkan corak kekerapan bahasa asal.
Contoh praktikal: Anda menganalisis mesej yang disulitkan dan perhatikan satu simbol muncul 12.7% masa. Dalam Bahasa Inggeris, 'E' biasanya muncul sekitar 12.7%, jadi simbol itu berkemungkinan besar mewakili 'E'. Silang rujuk dengan simbol kedua dan ketiga yang paling kerap (berkemungkinan 'T' pada ~9% dan 'A' pada ~8%), dan anda sudah mempunyai celahan pertama dalam cipher.
Penyulitan moden seperti AES-256 tidak mempunyai kelemahan iniâia mengacau segala-galanya sedemikian rupa sehingga analisis kekerapan tidak menunjukkan apa-apa. Tetapi cipher substitusi masih muncul dalam teka-teki, pertandingan CTF, dan dokumen sejarah.
Algoritma Pemampatan Data
Pengkodan Huffman dan algoritma pemampatan serupa bergantung sepenuhnya pada kekerapan aksara. Konsepnya: tetapkan kod bit pendek untuk aksara biasa dan kod yang lebih panjang untuk aksara yang jarang.
Senario dunia sebenar: Anda memampatkan fail log di mana 'E' muncul 15% masa dan 'Z' hanya 0.07%. Algoritma pemampatan anda memberikan 'E' kod 3-bit (000) dan 'Z' kod 11-bit. Darabkan perbezaan ini merentasi ribuan aksara, dan anda mencapai pengurangan saiz fail 40-60% tanpa kehilangan data. Beginilah fail ZIP dan GZIP berfungsi di sebalik tabir.
Analisis Linguistik dan Pengesanan Pengarang
Kekerapan aksara berfungsi sebagai cap jari gaya penulisan. Setiap pengarang cenderung menyukai huruf dan corak tanda baca tertentu, walaupun secara tidak sedar.
Aplikasi sebenar: Ahli linguistik forensik yang menganalisis kes Unabomber menggunakan analisis kekerapan sebagai salah satu teknik untuk mengenal pasti corak penulisan Theodore Kaczynski. Walaupun pilihan kata lebih penting, corak peringkat aksara (seperti kekerapan koma dan struktur ayat) menyumbang kepada profil linguistik keseluruhan.
Anda boleh mencuba sendiri: analisis beberapa perenggan daripada penulis yang berbeza dalam genre yang sama. Anda akan perhatikan perbezaan yang boleh diukur dalam ketumpatan tanda baca, panjang purata perkataan (yang tercermin dalam corak aksara), dan pengagihan huruf.
Mengesan Pengekodan Teks dan Ralat Penghantaran
Apabila teks kelihatan rosak atau memaparkan aksara pelik, analisis kekerapan membantu mendiagnosis masalah.
Senario biasa: Anda menerima fail yang sepatutnya mengandungi teks Inggeris, tetapi carta kekerapan menunjukkan kejadian yang tidak normal bagi aksara seperti 'Ă' atau '©'. Ini serta-merta mencadangkan teks UTF-8 sedang ditafsirkan sebagai pengekodan ISO-8859-1âralat yang kerap berlaku semasa memindahkan fail antara sistem.
Begitu juga, jika anda menjangkakan Bahasa Inggeris tetapi melihat corak aksara yang tidak sepadan (huruf biasa seperti 'E' atau 'T' hilang), anda mungkin sedang melihat data tersulitkan, data binari yang salah ditafsirkan sebagai teks, atau bahasa yang berbeza sepenuhnya.
Pemprosesan Bahasa Semula Jadi dan Pengesanan Bahasa
Sistem NLP menggunakan kekerapan aksara sebagai pengenal bahasa pertama. Bahasa yang berbeza mempunyai pengagihan aksara yang sangat berbeza.
Cara kerjanya dalam amali: Bahasa Inggeris kerap menggunakan 'E', 'T', 'A'. Bahasa Sepanyol menunjukkan kekerapan tinggi untuk 'E', 'A', 'O'. Bahasa Jerman mempunyai banyak 'E', 'N', serta umaut (Ă€, ö, ĂŒ) yang tidak wujud dalam Bahasa Inggeris. Semakan kekerapan mudah boleh mengenal pasti bahasa sebelum menggunakan model NLP yang lebih canggih, menjimatkan sumber pengiraan.
Belajar Pengaturcaraan dan Statistik
Kekerapan aksara merupakan projek pertama yang sangat baik untuk pelajar yang belajar mengekod. Ia mengajar konsep asas tanpa kerumitan yang melampau.
Mengapa ia berfungsi sebagai alat pengajaran: Pelajar berlatih peta hash, gelung, algoritma pengisihan, dan visualisasi dataâsemua konsep pengaturcaraan teras. Hasilnya segera kelihatan dan boleh disahkan, menjadikan penyahpepijatan lebih mudah. Saya telah melihat ini digunakan dengan jayanya dalam kursus CS101 sebagai pelaksanaan algoritma dunia sebenar pertama.
Bila Menggunakan Kaedah Analisis Teks Alternatif
Analisis kekerapan aksara mempunyai kekuatannya, tetapi kadang-kadang anda memerlukan pendekatan yang berbeza. Inilah yang lain wujud dan bila setiap pendekatan masuk akal:
Analisis Kekerapan Perkataan
Mengira perkataan dan bukannya aksara mendedahkan corak semantikâapa yang teks sebenarnya tentang dan bukannya sekadar komposisi aksaranya.
Lebih Baik untuk: Analisis kandungan, penyelidikan kata kunci SEO, atau pengenalpastian topik. Jika anda menganalisis posting blog untuk mencari tema atau mengekstrak kata kunci untuk pengindeksan, kekerapan perkataan memberikan anda keputusan bermakna yang tidak dapat dipadankan oleh analisis aksara.
Analisis N-gram
N-gram memeriksa urutan aksara atau perkataanâbigram (pasangan dua huruf), trigram (pasangan tiga huruf), dan sebagainya. Ini menangkap corak kontekstual.
Lebih Baik untuk: Sistem teks ramalan, ciri-ciri pembetulan automatik, dan pemodelan bahasa. Papan kekunci telefon anda menggunakan analisis n-gram untuk meramalkan perkataan seterusnya. Ia tahu bahawa "the" sering diikuti oleh kata nama benda, bukan berdasarkan huruf individu tetapi pada urutan perkataan yang dipelajari.
Analisis Sentimen
Ini menentukan nada emosi (positif, negatif, neutral) menggunakan teknik NLP dan bukannya sekadar pengiraan mudah.
Lebih Baik untuk: Analisis ulasan pelanggan, pemantauan media sosial, atau penjejakan persepsi jenama. Jika anda perlu mengetahui sama ada orang gembira atau marah tentang sesuatu, analisis sentimen memberikan jawapan yang tidak dapat diberikan oleh analisis kekerapan.
Analisis Keterbacaan
Metrik seperti Flesch-Kincaid Reading Ease atau Indeks SMOG mengukur sejauh mana teks sukar difahami, dengan mempertimbangkan panjang ayat dan kerumitan suku kata.
Lebih Baik untuk: Penilaian kandungan pendidikan, penilaian dokumentasi teknikal, atau memastikan kebolehcapaian. Sebelum menerbitkan kandungan untuk khalayak umum, skor keterbacaan membantu anda mengenal pasti bahagian yang terlalu kompleks yang mungkin membingungkan pembaca.
Sejarah di Sebalik Analisis Kekerapan Aksara
Teknik ini telah memecahkan kod selama lebih daripada seribu tahun. Beginilah perkembangannya:
Abad ke-9: Pencapaian Pertama
Ahli saintis Arab Al-Kindi mendokumentasikan keterangan terawal tentang analisis kekerapan dalam manuskrip beliau "Manuskrip tentang Menyahkod Mesej Kripto." Beliau menyedari bahawa huruf tertentu kerap muncul dalam teks Arab, dan corak ini kekal walaupun selepas penyulitan dengan cipher substitusi mudah. Pandangan ini merevolusikan kriptanalisisâselepas itu, mesej yang disulitkan tidak lagi dianggap selamat seperti yang disangka.
Zaman Renaissance: Perlumbaan Senjata Bermula
Menjelang abad ke-16, ahli kripto Eropah mengetahui tentang analisis kekerapan dan mereka bentuk cipher khusus untuk menewaskannya. Giovanni Battista Bellaso dan Blaise de VigenĂšre membangunkan cipher polialfabetik yang menukar corak substitusi sepanjang mesej, mengganggu corak kekerapan. Ini memulakan pertembungan berabad-abad antara pembuat kod dan pemecah kod.
Perang Dunia II: Kriptanalisis Skala Industri
Pemecah kod British di Bletchley Parkâtermasuk Alan Turing dan pasukannyaâmenggunakan analisis kekerapan sebagai salah satu komponen dalam memecahkan mesin Enigma Jerman. Walaupun proses sebenarnya jauh lebih kompleks, memahami corak kekerapan aksara dan huruf membantu mengenal pasti "crib" (fragmen teks biasa yang diketahui) yang boleh membuka keseluruhan mesej.
Era Moden: Melampaui Kriptografi
Sebaik sahaja komputer tiba, analisis kekerapan menjadi automatik dan menemui aplikasi baru. Prinsip matematik yang sama yang memecahkan kod juga mengoptimumkan algoritma pemampatan (pengkodan Huffman, LZ77), mengenal pasti bahasa dalam sistem NLP, dan menganalisis set data teks yang besar. Apa yang bermula sebagai teknik kriptografi kini menjadi alat asas dalam teori maklumat dan sains komputer.
Contoh Kod
Berikut adalah implementasi analisis kekerapan aksara dalam pelbagai bahasa pengaturcaraan:
Python
1def analyze_character_frequency(text):
2 # Mulakan kamus kosong
3 frequency = {}
4
5 # Kira setiap aksara
6 for char in text:
7 if char in frequency:
8 frequency[char] += 1
9 else:
10 frequency[char] = 1
11
12 # Tukar ke senarai tuple dan isih mengikut abjad
13 result = sorted(frequency.items())
14
15 return result
16
17# Contoh penggunaan
18text = "Hello, World!"
19frequencies = analyze_character_frequency(text)
20for char, count in frequencies:
21 print(f"'{char}': {count}")
22JavaScript
1function analyzeCharacterFrequency(text) {
2 // Mulakan objek kosong
3 const frequency = {};
4
5 // Kira setiap aksara
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 // Tukar ke tatasusunan objek dan isih mengikut abjad
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// Contoh penggunaan
24const text = "Hello, World!";
25const frequencies = analyzeCharacterFrequency(text);
26frequencies.forEach(item => {
27 console.log(`'${item.char}': ${item.count}`);
28});
29Java
1import java.util.*;
2
3public class CharacterFrequencyAnalyzer {
4 public static List<Map.Entry<Character, Integer>> analyzeCharacterFrequency(String text) {
5 // Mulakan HashMap
6 Map<Character, Integer> frequency = new HashMap<>();
7
8 // Kira setiap aksara
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 // Tukar ke senarai dan isih mengikut abjad
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}
30C++
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 // Mulakan peta
9 std::map<char, int> frequency;
10
11 // Kira setiap aksara
12 for (char c : text) {
13 frequency[c]++;
14 }
15
16 // Tukar ke vektor pasangan
17 std::vector<std::pair<char, int>> result(frequency.begin(), frequency.end());
18
19 // Peta sudah disusun mengikut kunci (aksara)
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}
33Ruby
1def analyze_character_frequency(text)
2 # Mulakan hash kosong
3 frequency = Hash.new(0)
4
5 # Kira setiap aksara
6 text.each_char do |char|
7 frequency[char] += 1
8 end
9
10 # Tukar ke tatasusunan tatasusunan dan isih mengikut abjad
11 result = frequency.to_a.sort_by { |char, _| char }
12
13 return result
14end
15
16# Contoh penggunaan
17text = "Hello, World!"
18frequencies = analyze_character_frequency(text)
19frequencies.each do |char, count|
20 puts "'#{char}': #{count}"
21end
22Soalan Lazim
Apakah kegunaan analisis kekerapan aksara?
Analisis kekerapan aksara mengira berapa kali setiap aksara muncul dalam teks. Kegunaan utama: memecahkan cipher penggantian, mengoptimumkan algoritma pemampatan data (seperti fail ZIP), mengesan ralat pengekodean teks, mengenal pasti bahasa dalam sistem NLP, dan menganalisis corak penulisan. Ia adalah teknik asas yang telah digunakan selama lebih 1,000 tahun dalam kriptografi.
Berapa banyak teks yang diperlukan untuk keputusan yang tepat?
Untuk corak bahasa biasa, anda memerlukan sekurang-kurangnya beberapa ratus aksaraâkira-kira 2-3 perenggan. Ayat pendek tidak akan sepadan dengan taburan kekerapan yang dijangka kerana terlalu banyak variasi rawak. Sebaik sahaja anda mencapai 1,000+ aksara, corak akan stabil dan mencerminkan gaya bahasa atau pengarang sebenar. Untuk kerja kriptanalisis, lebih banyak teks sentiasa membantuâmemecahkan cipher dengan teks tersandi 20 aksara hampir mustahil, tetapi sampel 500 aksara memberikan corak yang kukuh untuk digunakan.
Bolehkah ini memecahkan enkripsi moden seperti AES atau HTTPS?
Tidak. Analisis kekerapan aksara hanya berfungsi pada cipher penggantian mudah di mana setiap huruf secara konsisten dipetakan ke huruf atau simbol lain. Enkripsi moden (AES-256, RSA, TLS/HTTPS) menggunakan transformasi matematikal yang begitu kompleks sehingga output yang disulitkan kelihatan sepenuhnya rawakâtiada corak kekerapan yang bertahan. Jika analisis kekerapan dapat memecahkan HTTPS, perbankan dalam talian tidak akan wujud.
Mengapa bahasa berbeza mempunyai corak aksara yang berbeza?
Struktur bahasa menentukan kekerapan aksara. Bahasa Inggeris menggunakan perkataan pendek seperti "the", "and", "for" dengan kerap, mendorong kekerapan 'E' dan 'T'. Bahasa Sepanyol mempunyai perkataan yang kaya dengan vokal, jadi 'A', 'E', 'O' mendominasi. Bahasa Jerman menggunakan perkataan gabungan dan umaut (Ă€, ö, ĂŒ) yang tidak wujud dalam Bahasa Inggeris. Corak ini begitu konsisten sehingga anda boleh mengenal pasti bahasa hanya dari taburan kekerapan aksaraâtiada terjemahan diperlukan.
Kekerapan aksara vs kekerapan perkataanâyang mana patut saya gunakan?
Gunakan kekerapan aksara apabila: menganalisis teks tersulitkan, mengoptimumkan pemampatan, mengesan ralat pengekodean, atau bekerja dengan mana-mana bahasa (ia bersifat sejagat). Gunakan kekerapan perkataan apabila: anda memerlukan makna semantikâpengekstrakan kata kunci, analisis kandungan, pengoptimuman SEO, atau memahami apa yang teks itu tentang. Analisis aksara adalah peringkat rendah dan tidak bergantung pada bahasa; analisis perkataan adalah peringkat tinggi dan fokus pada makna.
Bagaimana algoritma pemampatan menggunakan kekerapan aksara?
Algoritma seperti pengkodean Huffman memberikan kod binari pendek kepada aksara yang kerap dan kod panjang kepada aksara yang jarang. Contoh: Dalam teks Bahasa Inggeris, 'E' mungkin mendapat kod 3-bit (000), manakala 'Z' mendapat 11 bit. Memandangkan 'E' muncul 12.7% masa dan 'Z' hanya 0.07%, anda menjimatkan jumlah ruang yang besar. Ini adalah prinsip teras di sebalik format pemampatan tanpa kehilangan ZIP, GZIP, dan banyak lagi. Algoritma membina jadual kekerapan terlebih dahulu, kemudian mengekod berdasarkan statistik tersebut.
Adakah huruf besar vs huruf kecil penting?
Bergantung kepada matlamat anda. Untuk kriptanalisis, simpan berasinganâ'E' dan 'e' mungkin mendekripsi ke huruf yang berbeza. Untuk analisis linguistik atau pengoptimuman pemampatan, anda sering menukar semuanya ke huruf kecil terlebih dahulu untuk fokus pada corak huruf dan bukannya gaya kapitalisasi. Alat ini mengira mereka sebagai aksara yang berbeza, memberikan anda data mentah untuk memutuskan cara mentafsirkannya.
Bolehkah kekerapan aksara mengenal pasti siapa yang menulis sesuatu?
Tidak dengan sendirinya, tetapi ia menyumbang kepada analisis stilometrik. Setiap pengarang mempunyai corak halus: ketumpatan tanda baca, panjang purata perkataan (dicerminkan dalam taburan aksara), dan keunikan penggunaan huruf. Digabungkan dengan pilihan perkataan, struktur ayat, dan penanda lain, kekerapan aksara menjadi satu titik data dalam cap jari pengarangan yang lebih besar. Pakar linguistik forensik menggunakan ini untuk kes atribusi, tetapi tiada metrik tunggal yang mencukupi sendiri.
Bagaimana alat ini mengira ruang dan tanda baca?
Setiap aksara dikira, termasuk ruang, tab, pemutus baris, tanda baca, dan simbol khas. Ruang sering menjadi "aksara" yang paling kerap dalam teks biasa. Kiraan lengkap ini memberikan gambaran penuh komposisi teksâberguna untuk mengesan pemformatan tersembunyi, menganalisis kod (di mana kurungan dan titik koma penting), atau memahami struktur penuh mesej tersulitkan.
Apakah saiz teks maksimum yang boleh dianalisis?
Alat ini mengendalikan dokumen biasa dengan mudahâsehingga 50,000-100,000 aksara sepatutnya berfungsi dengan baik dalam mana-mana pelayar moden. Melebihi itu, anda mungkin melihat perlambatan semasa JavaScript memproses data. Untuk menganalisis buku penuh atau set data besar (berjuta-juta aksara), anda memerlukan pelaksanaan sisi pelayan dalam Python, Go, atau bahasa lain yang direka untuk pemprosesan data berat. Untuk kegunaan seharian, walau bagaimanapun, alat berasaskan pelayar mengendalikan semua yang anda perlukan.
Rujukan Teknikal dan Bacaan Lanjut
-
MDN Web Docs: Peta (Implementasi Hash Map JavaScript) - Dokumentasi rasmi Mozilla Developer Network tentang struktur data hash map yang digunakan dalam analisis frekuensi.
-
Shannon, C. E. (1951). "Ramalan dan entropi bahasa Inggeris bercetak." Jurnal Teknikal Sistem Bell, 30(1), 50-64. - Kertas asas tentang teori maklumat dan frekuensi aksara.
-
Huffman, D. A. (1952). "Kaedah untuk Pembinaan Kod Minimum-Redudansi." Prosiding IRE, 40(9), 1098-1101. - Kertas asal yang menggambarkan pengkodan Huffman, yang bergantung pada frekuensi aksara.
-
Standard Pengekodan Aksara Unicode - Dokumentasi rasmi Konsortium Unicode untuk memahami set aksara dan pengekodean.
-
Stallings, W. (2017). Kriptografi dan Keselamatan Rangkaian: Prinsip dan Amalan (Ed. ke-7). Pearson. - Buku teks komprehensif yang meliputi teknik kriptanalisis termasuk analisis frekuensi.
-
Pengkodan Huffman - Wikipedia - Penjelasan terperinci tentang algoritma pemampatan yang bergantung pada frekuensi aksara.
-
Juola, P. (2006). "Atribusi Pengarang." Asas dan Aliran dalam Perolehan Maklumat, 1(3), 233-334. - Penyelidikan akademik tentang penggunaan corak aksara untuk pengenalpastian pengarang.
Mula Menganalisis Teks Anda
Bersedia untuk melihat corak tersembunyi dalam teks anda? Tampalkan mana-mana kandungan ke dalam alat di atasâmesej tersulam, sampel kod, sampel tulisan, atau dokumen dalam apa-apa bahasa. Visualisasi muncul serta-merta, menunjukkan dengan tepat karakter mana yang mendominasi teks anda. Sama ada anda sedang menyahpepijat isu pengekodan, menganalisis sifer, atau sekadar ingin tahu tentang taburan karakter, anda akan mendapat pandangan segera yang boleh diambil tindakan.