कोणत्याही मजकूरातील अक्षरांची वारंवारता वितरण विश्लेषित करा आणि दृश्यात्मक करा. तुमचा मजकूर पेस्ट करा आणि अक्षरांच्या उपस्थितीच्या नमुन्यांचे प्रदर्शन करणारा एक संवादात्मक बार चार्ट तयार करा.
वर्णनात्मक वारंवारता विश्लेषण हा मजकूर विश्लेषणातील एक मूलभूत तंत्र आहे जो दिलेल्या मजकूरात प्रत्येक वर्ण किती वेळा दिसतो हे मोजतो आणि दृश्यात्मक रूपात दर्शवतो. ही शक्तिशाली पद्धत भाषेच्या वापरातील नमुने उघड करते, क्रिप्टानालिसिस, डेटा संकुचन आणि भाषाशास्त्रीय अध्ययनात मदत करते. आमचे वर्णनात्मक वारंवारता विश्लेषण साधन कोणत्याही मजकूराच्या इनपुटचे विश्लेषण करण्याचा एक सोपा तरी प्रभावी मार्ग प्रदान करते आणि वर्ण वितरणाचे स्पष्ट दृश्यात्मक प्रतिनिधित्व तयार करते. वर्णांच्या वारंवारता समजून घेऊन, तुम्ही मजकूराची रचना समजून घेऊ शकता, संभाव्य कोडिंग समस्यांची ओळख करू शकता किंवा अगदी सामान्य वाचनाद्वारे त्वरित स्पष्ट नसलेल्या नमुन्यांचे निदान करू शकता.
हे साधन एक वापरकर्ता-अनुकूल इंटरफेससह येते ज्यामध्ये तुम्ही कोणताही मजकूर पेस्ट किंवा टाइप करू शकता, आणि ते स्वयंचलितपणे प्रत्येक वर्णाची वारंवारता दर्शविणारे बार चार्ट दृश्य तयार करते. हे त्वरित दृश्यात्मक फीडबॅक तुम्हाला सर्वाधिक वारंवारता असलेल्या वर्णांची ओळख करण्यात आणि तुमच्या मजकूराची एकूण रचना समजून घेण्यात सोपे करते.
वर्णनात्मक वारंवारता विश्लेषण एक साध्या तत्त्वावर कार्य करते: मजकूरातील प्रत्येक वर्णाची प्रत्येक उपस्थिती मोजा आणि परिणाम दर्शवा. जरी संकल्पना सोपी असली तरी, अंमलबजावणीमध्ये काही मुख्य टप्पे समाविष्ट आहेत:
वर्णनात्मक वारंवारता गणनेचे गणितीय प्रतिनिधित्व असे व्यक्त केले जाऊ शकते:
जिथे:
अंमलबजावणी सामान्यतः वर्ण उपस्थिती मोजण्यासाठी एक हॅश नकाशा (शब्दकोश) डेटा संरचना वापरते:
11. एक रिक्त हॅश नकाशा/शब्दकोश प्रारंभ करा
22. इनपुट मजकूरातील प्रत्येक वर्णासाठी:
3 a. जर वर्ण हॅश नकाश्यात अस्तित्वात असेल, तर त्याची संख्या वाढवा
4 b. जर नसल्यास, त्या वर्णाला हॅश नकाशात 1 च्या संख्येसह जोडा
53. हॅश नकाशाला वर्ण-गणना जोड्या म्हणून अॅरेमध्ये रूपांतरित करा
64. आवश्यकतेनुसार (व्याख्येप्रमाणे किंवा वारंवारतेनुसार) अॅरे क्रमबद्ध करा
75. क्रमबद्ध अॅरेवर आधारित दृश्यात्मकता तयार करा
8
हा दृष्टिकोन O(n) च्या वेळेच्या जटिलतेसह कार्य करतो, जिथे n म्हणजे इनपुट मजकूराची लांबी, त्यामुळे मोठ्या मजकूर नमुन्यांसाठीही तो कार्यक्षम आहे.
आमचे वर्णनात्मक वारंवारता विश्लेषण साधन सहज आणि वापरण्यासाठी सोपे डिझाइन केले आहे. तुमच्या मजकूराचे विश्लेषण करण्यासाठी या सोप्या टप्प्यांचे पालन करा:
इनपुट क्षेत्रात तुमचा मजकूर प्रविष्ट करण्यास किंवा पेस्ट करण्यास प्रारंभ करा. साधन कोणत्याही मजकूराच्या सामग्रीस स्वीकारते, समाविष्ट आहे:
तुम्ही आवश्यकतेनुसार जितका मजकूर प्रविष्ट करू शकता - एकल वाक्यापासून संपूर्ण दस्तऐवजांपर्यंत.
इतर अनेक साधनांच्या विपरीत, आमचे वर्णनात्मक वारंवारता विश्लेषण साधन तुमचा मजकूर टाइप किंवा पेस्ट करताच स्वयंचलितपणे प्रक्रिया करते. "गणना" बटणावर क्लिक करण्याची आवश्यकता नाही - तुमचा इनपुट बदलताच परिणाम त्वरित अद्यतनित होतात.
एकदा तुमचा मजकूर प्रक्रिया झाल्यावर, साधन दर्शवते:
बार चार्ट तुम्हाला ओळखण्यात मदत करते:
जर तुम्हाला तुमच्या विश्लेषणाच्या परिणामांचे जतन किंवा सामायिक करायचे असल्यास:
ही सुविधा संशोधक, विद्यार्थ्यांसाठी आणि व्यावसायिकांसाठी विशेषतः उपयुक्त आहे ज्यांना त्यांच्या कामात वारंवारता विश्लेषण समाविष्ट करायचे आहे.
वर्णनात्मक वारंवारता विश्लेषण अनेक क्षेत्रांमध्ये विविध व्यावहारिक अनुप्रयोग आहेत:
वर्णनात्मक वारंवारता विश्लेषण क्रिप्टानालिसिसमधील एक प्राचीन आणि मूलभूत तंत्र आहे. अनेक बदलविवर्तन सिफरमध्ये, मूळ भाषेच्या वारंवारता नमुने ओळखता येतात, ज्यामुळे एन्क्रिप्टेड संदेशांचे ब्रेकिंग शक्य होते.
उदाहरण: इंग्रजी मजकूरात, 'E', 'T', 'A', आणि 'O' सामान्यतः सर्वाधिक वारंवारता असलेले अक्षर आहेत. जर एखाद्या एन्क्रिप्टेड मजकूरात भिन्न वर्णांसाठी उच्च वारंवारता दर्शविली, तर क्रिप्टानालिस्ट बदलविवर्तन नमुन्याबद्दल शिक्षित अंदाज लावू शकतो.
अनेक संकुचन अल्गोरिदम वर्ण वारंवारता माहितीवर अवलंबून असतात जे अधिक प्रभावी एनकोडिंग तयार करतात. हफमॅन कोडिंग, उदाहरणार्थ, अधिक वारंवारता असलेल्या वर्णांना लहान बिट अनुक्रम आणि कमी सामान्य असलेल्या वर्णांना मोठे अनुक्रम असाइन करते.
उदाहरण: एका मजकूरात जिथे 'E' 15% वेळा दिसते तर 'Z' फक्त 0.07% वेळा, संकुचन अल्गोरिदम 'E' साठी 2-बिट कोड आणि 'Z' साठी 8-बिट कोड असाइन करू शकतो, ज्यामुळे महत्त्वाची जागा वाचते.
भाषाशास्त्रज्ञ वर्णनात्मक वारंवारता विश्लेषणाचा वापर भाषेच्या नमुन्यांचा अभ्यास करण्यासाठी, लेखकत्वाची ओळख करण्यासाठी आणि विविध भाषां किंवा बोलींची तुलना करण्यासाठी करतात.
उदाहरण: एखाद्या लेखकाकडे वर्ण वारंवारता नमुने असू शकतात जे त्यांच्या लेखन शैलीचा "फिंगरप्रिंट" म्हणून कार्य करतात. हे गूढ मजकूरांना अट्रिब्यूट करण्यास किंवा प्लेगिअरिझम शोधण्यात मदत करू शकते.
अपेक्षित वारंवारता नमुन्यांची स्थापना करून, वर्ण विश्लेषण प्रसारित डेटा मध्ये संभाव्य त्रुटी किंवा भ्रष्टाचाराची ओळख करण्यात मदत करू शकते.
उदाहरण: जर एखादा मजकूर जो इंग्रजीमध्ये असावा, तो मानक इंग्रजीच्या वारंवारता नमुन्यांपासून महत्त्वाने विचलित दिसत असेल, तर हे प्रसारण त्रुटी किंवा कोडिंग समस्यांचे संकेत देऊ शकते.
NLP प्रणाली सामान्यतः भाषा ओळख, भावना विश्लेषण, आणि इतर मजकूर प्रक्रिया कार्यांमध्ये वर्ण वारंवारता एक वैशिष्ट्य म्हणून वापरतात.
उदाहरण: भिन्न भाषांमध्ये विशिष्ट वर्ण वारंवारता वितरण असते. एक प्रणाली या माहितीचा वापर करून स्वयंचलितपणे ओळखू शकते की मजकूर कोणत्या भाषेत लिहिला आहे.
वर्णनात्मक वारंवारता विश्लेषण सांख्यिकी, भाषाशास्त्र, आणि प्रोग्रामिंग संकल्पनांचे शिक्षण देण्यासाठी एक मौल्यवान शैक्षणिक साधन असू शकते.
उदाहरण: विद्यार्थी भिन्न काळ किंवा लेखकांमधील मजकूरांचे विश्लेषण करून भाषेच्या वापरात कसे बदल झाले आहे हे निरीक्षण करू शकतात.
जरी वर्णनात्मक वारंवारता विश्लेषण शक्तिशाली असले तरी, तुमच्या विशिष्ट गरजेनुसार मजकूर विश्लेषणासाठी काही पर्यायी दृष्टिकोन अधिक उपयुक्त असू शकतात:
एकंदरीत वर्णांचे विश्लेषण करण्याऐवजी, शब्द वारंवारता विश्लेषण मजकूरात प्रत्येक शब्द किती वेळा दिसतो हे पाहते. या दृष्टिकोनामुळे अधिक अर्थपूर्ण माहिती मिळते आणि सामग्री विश्लेषण, कीवर्ड ओळखणे, आणि विषय मॉडेलिंगसाठी उपयुक्त आहे.
कधी वापरावे: जर तुम्हाला मजकूराच्या अर्थ आणि थीममध्ये अधिक रस असेल तर शब्द वारंवारता विश्लेषण निवडा.
एन-ग्राम विश्लेषण वर्ण किंवा शब्दांच्या अनुक्रमांचे (बिग्राम, ट्रिग्राम, इ.) विश्लेषण करते. हे संदर्भ नमुन्यांना पकडते आणि भाषा मॉडेलिंग आणि भविष्यवाणी मजकूर प्रणालींसाठी मूल्यवान आहे.
कधी वापरावे: जर तुम्हाला अनुक्रमिक नमुन्यांचे समजून घेणे किंवा भविष्यवाणी मॉडेल तयार करणे आवश्यक असेल तर एन-ग्राम विश्लेषण अधिक योग्य आहे.
वारंवारता मोजण्याऐवजी, भावना विश्लेषण मजकूराच्या भावनिक टोनचा निर्धारण करण्याचा प्रयत्न करते. हे नैसर्गिक भाषा प्रक्रिया तंत्रांचा वापर करून मजकूराचे वर्गीकरण सकारात्मक, नकारात्मक, किंवा तटस्थ म्हणून करते.
कधी वापरावे: जर तुम्हाला मजकूरातील भावनिक सामग्री किंवा व्यक्त केलेल्या मताबद्दल रस असेल तर भावना विश्लेषण निवडा.
वाचनक्षमता विश्लेषण मजकूर किती सोपा किंवा कठीण आहे हे मूल्यांकन करते, जसे की फ्लेश-किंडाईड किंवा SMOG निर्देशांक. हे वाक्यांची लांबी आणि syllable संख्या यांसारख्या घटकांचा विचार करते.
कधी वापरावे: लक्षित प्रेक्षकासाठी मजकूराची गुंतागुंती किंवा प्रवेशयोग्यता मूल्यांकन करणे आवश्यक असल्यास वाचनक्षमता विश्लेषण सर्वोत्तम आहे.
वर्णनात्मक वारंवारता विश्लेषणाला शतकानुशतके समृद्ध इतिहास आहे:
क्रिप्टोग्राफीसाठी वारंवारता विश्लेषणाचा पहिला ज्ञात उपयोग 9 व्या शतकात अरब बहुविधज्ञ अल-किंदीने केला. "गुप्त संदेशांचे विघटन" या आपल्या हस्तलिखितात, त्याने साध्या बदलविवर्तन सिफर तोडण्यासाठी वर्ण वारंवारता वापरण्याचा उल्लेख केला.
युरोपियन पुनर्जागरण दरम्यान, क्रिप्टोग्राफर जिओवानी बटिस्ता बेलासो आणि ब्लेज डि विगेनेरेने विशेषतः वारंवारता विश्लेषणाचा प्रतिकार करण्यासाठी अधिक जटिल सिफर विकसित केले. यामुळे एन्क्रिप्शन आणि डिक्रिप्शन तंत्रांमधील चालू लढाई निर्माण झाली.
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 // एक हॅशमॅप प्रारंभ करा
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
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' यांची अधिक उपस्थिती आहे, आणि ते 'ß' आणि उम्लॉट्स सारख्या अक्षरांचा वापर करतात जे इंग्रजीमध्ये दिसत नाहीत.
वर्णनात्मक वारंवारता विश्लेषण एकल वर्णांची (अक्षरे, संख्या, विरामचिन्हे) संख्या मोजते, तर शब्द वारंवारता विश्लेषण संपूर्ण शब्दांची संख्या मोजते. वर्ण विश्लेषण अधिक मूलभूत आहे आणि सर्व मजकूर प्रकारांवर कार्य करते, तर शब्द विश्लेषण अधिक अर्थपूर्ण माहिती प्रदान करते परंतु भाषिक विशिष्ट प्रक्रियेची आवश्यकता असते.
वर्ण वारंवारता माहिती हफमॅन कोडिंगसारख्या अंतःकेंद्रित संकुचन अल्गोरिदमसाठी आवश्यक आहे. अधिक वारंवारता असलेल्या वर्णांना लहान कोड अनुक्रम आणि कमी सामान्य वर्णांना मोठे अनुक्रम असाइन करून, या अल्गोरिदम महत्त्वपूर्ण जागा वाचवण्यासाठी सर्व माहिती जतन करतात.
हे तुमच्या विशिष्ट अनुप्रयोगावर अवलंबून आहे. क्रिप्टानालिसिस आणि भाषाशास्त्रीय अध्ययनासाठी, सामान्यतः मोठ्या आणि लहान अक्षरे वेगळ्या वर्णांप्रमाणे विचारणे उपयुक्त असते. इतर अनुप्रयोगांसाठी, विश्लेषणापूर्वी सर्व मजकूर लहान अक्षरांमध्ये रूपांतरित करणे अधिक अर्थपूर्ण परिणाम प्रदान करू शकते.
जरी वर्णनात्मक वारंवारता एकट्याने लेखकाची ओळख लावणे सामान्यतः पुरेसे नसले तरी, हे मोठ्या शैली विश्लेषणामध्ये एक वैशिष्ट्य म्हणून कार्य करू शकते. शब्द निवड, वाक्य लांबी, आणि इतर भाषिक मार्करांसह एकत्र केल्यास, वर्ण वारंवारता लेखकाची ओळख किंवा पडताळणी करण्यात योगदान देऊ शकते.
आमचे वर्णनात्मक वारंवारता विश्लेषण साधन सर्व वर्ण, समाविष्ट आहे जागा, विरामचिन्हे, आणि विशेष वर्णांची संख्या मोजते. प्रत्येक अद्वितीय वर्णाला वारंवारता मोजण्यात स्वतंत्र घटक म्हणून विचारले जाते, ज्यामुळे मजकूराच्या रचनेचा संपूर्ण चित्र मिळतो.
साधन विविध लांबीच्या मजकूरांना हाताळण्यासाठी डिझाइन केले आहे, एकल वाक्यांपासून लांब दस्तऐवजांपर्यंत. तथापि, अत्यंत मोठ्या मजकूरांमध्ये (संपूर्ण शंभर हजार वर्ण) ब्राउझरमध्ये काही कार्यक्षमता कमी होऊ शकते. अत्यंत मोठ्या डेटासेटसाठी, समर्पित डेस्कटॉप अनुप्रयोग किंवा प्रोग्रामिंग लायब्ररी वापरण्याचा विचार करा.
सिंह, एस. (1999). कोड बुक: प्राचीन इजिप्तपासून क्वांटम क्रिप्टोग्राफीपर्यंत गुप्ततेची विज्ञान. अँकर बुक्स.
शॅनन, सी. ई. (1951). "प्रिंटेड इंग्रजीची भविष्यवाणी आणि एन्ट्रॉपी." द बेल सिस्टम टेक्निकल जर्नल, 30(1), 50-64.
बेकर, एच., & पायपर, एफ. (1982). सिफर प्रणाली: संवादांचे संरक्षण. नॉर्थवुड बुक्स.
अल-काझाझ, एन. आर., टेहान, डब्ल्यू. जे., & इर्विन, एस. ए. (2018). "संपूर्ण बदलविवर्तन सिफरचे स्वयंचलित क्रिप्टानालिसिस." माहिती विज्ञान, 474, 18-28.
हफमॅन, डी. ए. (1952). "किमान-रिडंडन्सी कोड्सच्या बांधणीसाठी एक पद्धत." IRE च्या कार्यवाही, 40(9), 1098-1101.
स्टॉलिंग्स, डब्ल्यू. (2017). क्रिप्टोग्राफी आणि नेटवर्क सुरक्षा: तत्त्वे आणि प्रथा (7वा आवृत्ती). पिअर्सन.
जोला, पी. (2006). "लेखकत्व अट्रिब्यूशन." माहिती पुनर्प्राप्तीमध्ये आधार आणि ट्रेंड, 1(3), 233-334.
स्टॉलिंग्स, डब्ल्यू. (2017). क्रिप्टोग्राफी आणि नेटवर्क सुरक्षा: तत्त्वे आणि प्रथा (7वा आवृत्ती). पिअर्सन.
आमच्या वर्णनात्मक वारंवारता विश्लेषण साधनासह कोणत्याही मजकूराचे विश्लेषण करा आणि नमुने शोधा, संकुचन ऑप्टिमाइझ करा, किंवा फक्त तुमच्या सामग्रीच्या रचनेचा अन्वेषण करा. भिन्न नमुने वापरून पहा जेणेकरून वर्ण वितरण विविध भाषांमध्ये, लेखकांमध्ये, आणि मजकूर प्रकारांमध्ये कसे बदलते ते पहा!
आपल्या कामच्या प्रक्रियेसाठी उपयुक्त असणारे अधिक उपकरण शोधा.