Kelime sayısı, karakter sayısı (boşluklu/boşluksuz), cümle sayısı, okuma süresi ve frekans analizi ile anında metin analizi. Denemeler, SEO ve sosyal medya için mükemmel.
Bir belgede 500 kelimelik minimum sınırı geçip geçmediğinizi veya dar bir karakter sınırı içinde kalıp kalmadığınızı merak ettiniz mi hiç? İşte bu araç tam olarak bunu çözüyor.
Bir metin çözümleyici, yazınız hakkında anında temel ölçümleri ortaya çıkarır—kelime sayısı, karakter sayısı (boşluklu ve boşluksuz), cümle sayısı, paragraf sayısı, okuma süresi ve daha fazlası. İçeriğinizi yapıştırın, "Çözümle" butonuna tıklayın ve milisaniyeler içinde kapsamlı istatistikleri alın.
Bunu özellikle kullanışlı kılan şey: her iki tür karakter sayımını da görmenizdir. Twitter gibi sosyal medya platformları boşluklar dahil tüm karakterleri sayarken, bazı akademik başvuru sistemleri bunları hariç tutar. Her iki ölçüm türüne sahip olmak, içeriği farklı platformlara yapıştırırken sürprizle karşılaşmamanızı sağlar.
Araç tamamen tarayıcınızda çalışır—sunucuya yükleme yok, karmaşık kurulum yok, hesap gerekmiyor. Sadece Microsoft Word ve Google Docs tarafından kullanılan sayım algoritmaları ile eşleşen anında metin ayrıştırma.
Bu aracı kullanmak yaklaşık 5 saniye sürer:
Metninizi Girin: İçeriği herhangi bir kaynaktan yapıştırın—Word belgeleri, Google Dokümanlar, e-postalar, blog taslakları veya doğrudan giriş alanına yazın.
Analiz Et'e Tıklayın: Analiz düğmesine basın ve sonuçların anında görünmesini izleyin. İşleme istemci tarafında gerçekleşir, bu nedenle 10.000+ kelimeli belgeler bile bir saniyeden kısa sürede analiz edilir.
Sonuçları İnceleyin: İstatistikler kolay taranabilir kart düzeninde görüntülenir. Her metrik net bir etiket ve sayı gösterir—yorumlama gerekmez.
Hızlıca Yineleyin: Metninizi düzenleyin ve gerektiği kadar yeniden analiz edin. Bu, özellikle denemeler için belirli kelime sayılarını yakalamaya veya sosyal medya gönderilerinde karakter sınırları içinde kalmaya çalışırken oldukça yararlıdır.
Dil Desteği: Kelimeleri ayırmak için boşluk kullanan herhangi bir dilde çalışır (İngilizce, İspanyolca, Fransızca, Almanca vb.). Karakter sayımı evrensel olarak çalışır, ancak okuma süresi tahminleri İngilizce okuma hızını (dakikada 225 kelime) varsayar. Çince veya Japonca gibi kelime ayırıcıları olmayan dillerde karakter sayımları doğru kalır, ancak kelime sayımları anlamlı olmayacaktır.
Gerçek dünya metinleri karmaşıktır—fazladan boşluklar, tutarsız satır sonları, özel biçimlendirmeler. İşte çözümleyicinin yaygın senaryoları nasıl ele aldığı:
Yaygın bir kenar durum örneği: PDF'lerden metin kopyalamak genellikle cümle ortasında garip satır sonları getirir. Çözümleyici bunu zarifçe ele alır, ancak beklenenin üzerinde paragraf sayıları görebilirsiniz. Bu durumda, cümle-paragraf oranı sorunu ortaya çıkarır.
İşte her bir istatistiğin size ne anlattığı ve neden önemli olduğu:
Boşluklarla ayrılmış toplam kelimeler. "Çok-bilinçli" gibi tire ile birleşik kelimeler bir kelime olarak sayılır, "don't" gibi kısaltmalar da.
Neden önemli: Çoğu akademik ödevler kelime sayısı gereksinimleri belirtir. İçerik pazarlaması da genellikle belirli aralıkları hedefler—blog yazıları SEO için tipik olarak 1.500-2.000 kelime, sosyal medya altyazıları ise 150 kelimenin altında çalışır.
Harfler, sayılar, noktalama işaretleri ve boşluklar dahil her karakter.
Neden önemli: Twitter'ın 280 karakterlik sınırı, LinkedIn'in 3.000 karakterlik gönderi sınırı ve SMS mesajlaşması boşlukları sayar. Bu sizin "gerçek dünya" karakter sayınızdır.
Herhangi bir beyaz boşluk hariç tüm karakterler.
Neden önemli: Bazı akademik dergiler ve başvuru sistemleri sınırlardan boşlukları çıkarır. Boşluklar dahil edilmeden 5.000 karakterlik bir sınır, boşluklar dahil edildiğinde yaklaşık %20 daha fazla alan sağlar.
Terminal noktalama işaretleriyle (. ! ?) tespit edilir, boşluk veya metnin sonu takip eder. Temel sezgisel yöntemler "Dr." gibi kısaltmaların cümle sonları olarak sayılmasını engeller.
Neden önemli: Kelime sayısıyla birlikte, cümle karmaşıklığını ortaya çıkarır. Haber makaleleri ortalama 15-20 kelime içerirken, akademik yazılar genellikle 25-30 kelime içerir.
Satır sonlarıyla ayrılır. Tek satırlık metinler bile bir paragraf olarak sayılır.
Neden önemli: Çevrimiçi okuyucular taramayı okumaya tercih eder. Kısa paragraflar (3-5 cümle) ekranlarda okunabilirliği artırır. 500 kelimelik metniniz 3 paragrafsa, okuyucuları uzaklaştıran duvar metinleri yazıyorsunuz demektir.
Toplam kelimeler cümle sayısına bölünür, bir ondalık basamağa yuvarlanır.
Neden önemli: Bu tek metrik neredeyse her şeyden daha iyi okunabilirliği tahmin eder. Genel kitlelerde 15-20, profesyonel içerikte 20-25, akademik yazıda 25+ hedefleyin. Cümle başına 30 kelimenin üzerine çıkmak genellikle metni parçalamanız gerektiğini gösterir.
En çok görünen kelimeler ve kullanım sayıları.
Neden önemli: Anahtar kelime kullanımını ve olası aşırı kullanımı gösterir. SEO içeriği yazarken, hedef anahtar kelimenizin burada olmasını istersiniz ama baskın olmamasını. 500 kelimelik bir makalede bir kelime 50 kez geçiyorsa, anahtar kelime dolduruyorsunuz demektir. Doğal dil, bu ilk sıralarda çeşitli kelime dağılımı gösterir.
Dakikada 225 kelime olan ortalama sessiz okuma hızına göre. Trauzettel-Klosinski (2006) araştırmasına göre, normal yetişkin okuma hızları 200-250 kelime/dakika arasında değişir, 225 medyan değeri temsil eder.
Neden önemli: 7-8 dakikalık okuma süresine sahip blog yazıları katılım için en iyi performansı gösterir. Okuyucular bilinçsizce başlamadan önce zamana yatırım yapıp yapmayacaklarına karar verirler. 5 dakikanın altındaki haber bülteni makaleleri daha yüksek tamamlanma oranları görür.
Araç, Microsoft Word ve Google Docs ile eşleşen standart metin işleme algoritmaları kullanır:
Kelime Sayımı: Metni boşluk sınırlarında (boşluklar, sekmeler, satır sonları) böl, boş dizgileri filtrele, geriye kalanları say. Bu, Unicode Metin Bölümleme belirtimi tarafından tanımlanan endüstri standardı yaklaşımdır.
Karakter Sayımı: "Boşluklarla" sayım için, dize uzunluğunu ölç. "Boşluksuz" için, önce tüm boşluk karakterlerini çıkar. Her iki yöntem de World Wide Web Konsorsiyumu (W3C) standartlarıyla uyumludur.
Cümle Tespiti: Terminal noktalama işaretlerini (. ! ?) boşluk veya metin sonu takip ederse belirle. Temel sezgisel yaklaşımlar, "Dr." veya "Mrs." gibi yaygın kısaltmalardan yanlış pozitifleri engeller—ancak "The U.S. economy grew 2.5%." gibi karmaşık durumlar bazen beklenmedik sayımlara neden olabilir. Mükemmel cümle tespiti doğal dil işleme gerektirir; bu uygulama hızı önceliklendirir ve tipik kullanım durumlarının %95'ini kapsar.
Kelime Sıklığı: Küçük harfe dönüştür (büyük/küçük harf duyarsız eşleştirme), tekrarları say, sıklığa göre sırala. Bu desenler ortaya çıkarır ancak sınırlamaları vardır—"running" ve "run" farklı kelimeler olarak sayılır ve "the" gibi yaygın makaleler genellikle baskın çıkar.
Tüm işlemler tarayıcınızda JavaScript'in yerleşik dize metodları kullanılarak yapılır. Hiçbir veri cihazınızdan ayrılmaz.
Öğrenciler katı kelime sayısı gereksinimlerini karşılamak zorundadır—tipik olarak denemeler için 500, 1.000, 1.500 veya 2.000 kelime. Sadece 50 kelime eksik kalmak bile not kaybetmenize neden olabilir, sınırların üzerine çıkmak ise sizin özlü düzenleme yapamadığınızı gösterir.
Yaygın bir senaryo: yazmış olduğunuz içerik yeterli görünür, ancak kelime sayısı 2.000 kelimelik minimum için 1.847 kelimeyi gösterir. Dolgu metinlerle doldurmak yerine, ortalama cümle başına kelime sayınızı analiz edin. Eğer 20'nin altındaysa, çok kısa yazıyor olabilirsiniz ve karmaşık fikirleri daha detaylı açıklamalarla genişletebilirsiniz.
Arama motorları kapsamlı içeriği tercih eder. Birçok SEO çalışmasından elde edilen veriler, 1.500-2.500 kelimelik makalelerin rekabetçi anahtar kelimeler için daha yüksek sıralamaya sahip olduğunu gösterir. Ancak kelime sayısı tek başına başarıyı garanti etmez—içeriğin özü de gereklidir.
Anahtar kelime kullanım sıklığını kontrol etmek için frekans analizini kullanın. Eğer hedef anahtar kelimeniz 2.000 kelimede 30 kez geçiyorsa (%1,5 yoğunluk), doğru aralıktasınız demektir. %3'ün üzerinde ise Google'ın cezalandırdığı anahtar kelime doldurma (keyword stuffing) yapıyor olabilirsiniz.
Her platformun farklı sınırları vardır: Twitter 280 karaktere izin verir, LinkedIn gönderileri 3.000 karakterle sınırlıdır (ilk 140 karakter "devamını gör" olmadan görüntülenir), Instagram altyazıları 2.200 karakteri destekler. Bu sınırlar içinde etkiyi korumak hassasiyet gerektirir.
Boşluk olmadan karakter sayısı SMS pazarlaması için de önemlidir. Standart bir SMS 160 karakter tutar, ancak bazı sistemlerde bu sınır boşlukları kapsamaz. Sınırın üzerine çıkmak mesajınızı birden fazla metne böler ve genellikle biçimlendirmeyi bozar.
Araştırmalar 125 kelimeden kısa e-postaların en yüksek yanıt oranına sahip olduğunu gösterir. 200 kelimenin üzerinde yanıt oranları düşer. Okuma süresi tahmini bunu değerlendirmede yardımcı olur—soğuk yaklaşımlar için 1 dakikanın altında, iç iletişimler için 2 dakikanın altında hedefleyin.
10 dakikalık bir sunum aralığı yaklaşık 1.300-1.500 kelimelik yazılı içerik gerektirir (dakikada 130-150 kelime konuşma hızı varsayılarak, bu okuma hızından daha yavaştır). Metninizi yapıştırın, kelime sayısını kontrol edin ve buna göre ayarlayın. Süreyi aşmak sizi keser; erken bitirmek ise hazırlıksız görünmenize neden olur.
Çevrilmiş metinler genellikle İngilizce orijinallerden %15-30 daha uzundur, dilbilgisel farklılıklar nedeniyle. İspanyolca daha uzun tarafa eğilimlidir, Almanca ise daha da fazla. Kaynak ve çeviri arasındaki karakter sayılarını karşılaştırarak olası sorunları tespit edebilirsiniz—Almanca çeviriniz İngilizce metinden kısaysa, muhtemelen bir şeyler eksiktir.
Bu çözümleyici temel metriklere odaklanır—kelime sayısı, karakter sayısı, cümle yapısı. Daha derinlemesine analiz için şu uzmanlaşmış araçları değerlendirebilirsiniz:
Okunabilirlik Puanları: Flesch-Kincaid Sınıf Seviyesi ve Gunning Fog Endeksi, hece sayıları ve cümle uzunluğuna göre okuma zorluğunu hesaplar. Bu formüller nesnel okunabilirlik derecelendirmeleri sağlar, ancak sınırlamaları vardır—"Kedi oturdu" ifadesi "Bu karmaşık" ifadesinden daha basit olarak puanlanır, oysa benzer bir anlama zorluk söz konusudur.
Dilbilgisi Denetleyicileri: Grammarly gibi araçlar dilbilgisi hatalarını tespit eder, stil geliştirme önerileri sunar ve pasif sesi işaretler. Metin çözümleyicilerin istatistiksel yaklaşımını doğruluk odaklı bir bakışla tamamlarlar.
Duygu Analizi: NLP modelleri duygusal tonu belirler—olumlu, olumsuz veya nötr. Müşteri geri bildirimleri veya sosyal medya paylaşımlarını büyük ölçekte analiz etmek için kullanışlıdır.
İntihal Tespiti: Metninizi web sayfaları ve akademik makalelerden oluşan milyarlarca içerikle karşılaştırır. Akademik dürüstlük ve içerik özgünlüğünün doğrulanması için vazgeçilmezdir.
Bilgisayarlar öncesinde, yazarlar ve editörler kelimeleri elle sayarlardı—zahmetli ve hata yapmaya açık bir süreç. İlk otomatik kelime sayıcılar 1890'larda mekanik daktilolarda ortaya çıktı, ancak bunlar sadece tuş vuruşlarını sayabiliyordu, gerçek kelimeleri değil.
Dijital kelime işleme her şeyi değiştirdi. WordStar (1978) ve WordPerfect (1979), yazılım tabanlı kelime sayımını tanıttı ve doğru metin ölçümlerini bir PC sahibi herkes için erişilebilir kıldı. 1980'ların ortalarında, kelime sayımı her kelime işlemcide standart bir özellik haline geldi.
İnternet çağı yeni talepler getirdi. Twitter'ın 2006'daki 140 karakterlik sınırı (sonradan 280'e çıkarılan), karakter sayımını milyonlarca kişi için günlük bir etkinlik haline getirdi. Blog platformları 2010 civarında okuma süresi tahminleri ekledi, bu sayede okuyucular uzun makalelere zaman ayırıp ayırmayacaklarına karar verebildiler. 2010'lardaki SEO araçları anahtar kelime yoğunluğu analizini popülerleştirdi, ancak Google'ın algoritma güncellemeleri sonunda açık anahtar kelime doldurma yöntemlerini cezalandırdı.
Günümüzün metin çözümleyicileri basitlik ve gücü birleştiriyor—anlık sonuçlar, kurulum gerektirmeden, tamamen tarayıcıda çalışan araçlar. Temel algoritmalarda 1970'lerden beri çok fazla değişiklik olmadı (boşluk üzerinden bölme hala standart kelime sayma yöntemidir), ancak erişilebilirlik dramatik olarak gelişti.
İşte çeşitli programlama dillerinde metin analizi işlevleri için uygulama örnekleri:
1// JavaScript Metin Analizi İşlevleri
2
3function analyzeText(text) {
4 if (!text || text.trim().length === 0) {
5 return {
6 wordCount: 0,
7 charCountWithSpaces: 0,
8 charCountWithoutSpaces: 0,
9 sentenceCount: 0,
10 paragraphCount: 0,
11 avgWordsPerSentence: 0,
12 topWords: [],
13 readingTime: '0 saniye'
14 };
15 }
16
17 const words = text.trim().split(/\s+/).filter(word => word.length > 0);
18 const wordCount = words.length;
19 const charCountWithSpaces = text.length;
20 const charCountWithoutSpaces = text.replace(/\s+/g, '').length;
21
22 // Cümle sayısını say (basit uygulama)
23 const sentenceCount = Math.max(1, (text.match(/[.!?]+/g) || []).length);
24
25 // Paragraf sayısını say
26 const paragraphs = text.split(/\n+/).filter(p => p.trim().length > 0);
27 const paragraphCount = Math.max(1, paragraphs.length);
28
29 // Ortalama cümle başına kelime sayısını hesapla
30 const avgWordsPerSentence = (wordCount / sentenceCount).toFixed(1);
31
32 // En sık 5 kelimeyi bul
33 const wordFrequency = {};
34 words.forEach(word => {
35 const lowerWord = word.toLowerCase().replace(/[^a-z0-9]/g, '');
36 if (lowerWord) {
37 wordFrequency[lowerWord] = (wordFrequency[lowerWord] || 0) + 1;
38 }
39 });
40
41 const topWords = Object.entries(wordFrequency)
42 .sort((a, b) => b[1] - a[1])
43 .slice(0, 5)
44 .map(([word, count]) => ({ word, count }));
45
46 // Okuma süresini hesapla (dakikada 225 kelime)
47 const minutes = Math.floor(wordCount / 225);
48 const seconds = Math.round((wordCount % 225) / 225 * 60);
49 const readingTime = minutes > 0
50 ? `${minutes} dk ${seconds} sn`
51 : `${seconds} saniye`;
52
53 return {
54 wordCount,
55 charCountWithSpaces,
56 charCountWithoutSpaces,
57 sentenceCount,
58 paragraphCount,
59 avgWordsPerSentence: parseFloat(avgWordsPerSentence),
60 topWords,
61 readingTime
62 };
63}
64
65// Örnek kullanım:
66const sampleText = "Merhaba dünya! Bu bir metin çözümleyicisidir. Kelimeleri ve daha fazlasını sayar.";
67const results = analyzeText(sampleText);
68console.log(results);
691import re
2from collections import Counter
3
4def analyze_text(text):
5 if not text or not text.strip():
6 return {
7 'word_count': 0,
8 'char_count_with_spaces': 0,
9 'char_count_without_spaces': 0,
10 'sentence_count': 0,
11 'paragraph_count': 0,
12 'avg_words_per_sentence': 0,
13 'top_words': [],
14 'reading_time': '0 saniye'
15 }
16
17 # Kelime sayısı
18 words = text.split()
19 word_count = len(words)
20
21 # Karakter sayıları
22 char_count_with_spaces = len(text)
23 char_count_without_spaces = len(re.sub(r'\s+', '', text))
24
25 # Cümle sayısı
26 sentences = re.findall(r'[.!?]+', text)
27 sentence_count = max(1, len(sentences))
28
29 # Paragraf sayısı
30 paragraphs = [p for p in text.split('\n') if p.strip()]
31 paragraph_count = max(1, len(paragraphs))
32
33 # Ortalama cümle başına kelime sayısı
34 avg_words_per_sentence = round(word_count / sentence_count, 1)
35
36 # En sık 5 kelime
37 clean_words = [re.sub(r'[^a-z0-9]', '', word.lower())
38 for word in words]
39 clean_words = [w for w in clean_words if w]
40 word_freq = Counter(clean_words)
41 top_words = [{'word': word, 'count': count}
42 for word, count in word_freq.most_common(5)]
43
44 # Okuma süresi (dakikada 225 kelime)
45 minutes = word_count // 225
46 seconds = round((word_count % 225) / 225 * 60)
47 reading_time = f"{minutes} dk {seconds} sn" if minutes > 0 else f"{seconds} saniye"
48
49 return {
50 'word_count': word_count,
51 'char_count_with_spaces': char_count_with_spaces,
52 'char_count_without_spaces': char_count_without_spaces,
53 'sentence_count': sentence_count,
54 'paragraph_count': paragraph_count,
55 'avg_words_per_sentence': avg_words_per_sentence,
56 'top_words': top_words,
57 'reading_time': reading_time
58 }
59
60# Örnek kullanım:
61sample_text = "Merhaba dünya! Bu bir metin çözümleyicisidir. Kelimeleri ve daha fazlasını sayar."
62results = analyze_text(sample_text)
63print(results)
641import java.util.*;
2import java.util.regex.*;
3import java.util.stream.*;
4
5public class MetinCozumleyici {
6
7 public static class AnalysisResult {
8 public int wordCount;
9 public int charCountWithSpaces;
10 public int charCountWithoutSpaces;
11 public int sentenceCount;
12 public int paragraphCount;
13 public double avgWordsPerSentence;
14 public List<WordFrequency> topWords;
15 public String readingTime;
16
17 public static class WordFrequency {
18 public String word;
19 public int count;
20
21 public WordFrequency(String word, int count) {
22 this.word = word;
23 this.count = count;
24 }
25 }
26 }
27
28 public static AnalysisResult analyzeText(String text) {
29 AnalysisResult result = new AnalysisResult();
30
31 if (text == null || text.trim().isEmpty()) {
32 result.wordCount = 0;
33 result.charCountWithSpaces = 0;
34 result.charCountWithoutSpaces = 0;
35 result.sentenceCount = 0;
36 result.paragraphCount = 0;
37 result.avgWordsPerSentence = 0;
38 result.topWords = new ArrayList<>();
39 result.readingTime = "0 saniye";
40 return result;
41 }
42
43 // Kelime sayısı
44 String[] words = text.trim().split("\\s+");
45 result.wordCount = words.length;
46
47 // Karakter sayıları
48 result.charCountWithSpaces = text.length();
49 result.charCountWithoutSpaces = text.replaceAll("\\s+", "").length();
50
51 // Cümle sayısı
52 Pattern sentencePattern = Pattern.compile("[.!?]+");
53 Matcher sentenceMatcher = sentencePattern.matcher(text);
54 result.sentenceCount = Math.max(1, (int) sentenceMatcher.results().count());
55
56 // Paragraf sayısı
57 String[] paragraphs = text.split("\n+");
58 result.paragraphCount = Math.max(1,
59 (int) Arrays.stream(paragraphs).filter(p -> !p.trim().isEmpty()).count());
60
61 // Ortalama cümle başına kelime sayısı
62 result.avgWordsPerSentence =
63 Math.round((double) result.wordCount / result.sentenceCount * 10.0) / 10.0;
64
65 // En sık 5 kelime
66 Map<String, Integer> wordFreq = new HashMap<>();
67 for (String word : words) {
68 String cleanWord = word.toLowerCase().replaceAll("[^a-z0-9]", "");
69 if (!cleanWord.isEmpty()) {
70 wordFreq.put(cleanWord, wordFreq.getOrDefault(cleanWord, 0) + 1);
71 }
72 }
73
74 result.topWords = wordFreq.entrySet().stream()
75 .sorted(Map.Entry.<String, Integer>comparingByValue().reversed())
76 .limit(5)
77 .map(e -> new AnalysisResult.WordFrequency(e.getKey(), e.getValue()))
78 .collect(Collectors.toList());
79
80 // Okuma süresi (dakikada 225 kelime)
81 int minutes = result.wordCount / 225;
82 int seconds = Math.round((result.wordCount % 225) / 225.0f * 60);
83 result.readingTime = minutes > 0
84 ? minutes + " dk " + seconds + " sn"
85 : seconds + " saniye";
86
87 return result;
88 }
89
90 public static void main(String[] args) {
91 String sampleText = "Merhaba dünya! Bu bir metin çözümleyicisidir. Kelimeleri ve daha fazlasını sayar.";
92 AnalysisResult results = analyzeText(sampleText);
93 System.out.println("Kelime Sayısı: " + results.wordCount);
94 System.out.println("Okuma Süresi: " + results.readingTime);
95 }
96}
971' Excel VBA Metin Analizi İşlevi
2Function KelimeSayisi(text As String) As Long
3 Dim words() As String
4 If Len(Trim(text)) = 0 Then
5 KelimeSayisi = 0
6 Else
7 words = Split(Trim(text), " ")
8 KelimeSayisi = UBound(words) + 1
9 End If
10End Function
11
12Function BoşluklarlaKarakterSayisi(text As String) As Long
13 BoşluklarlaKarakterSayisi = Len(text)
14End Function
15
16Function BoşluksuzKarakterSayisi(text As String) As Long
17 Dim textNoSpaces As String
18 textNoSpaces = Replace(text, " ", "")
19 textNoSpaces = Replace(textNoSpaces, vbTab, "")
20 textNoSpaces = Replace(textNoSpaces, vbCrLf, "")
21 textNoSpaces = Replace(textNoSpaces, vbCr, "")
22 textNoSpaces = Replace(textNoSpaces, vbLf, "")
23 BoşluksuzKarakterSayisi = Len(textNoSpaces)
24End Function
25
26Function CümleSayisi(text As String) As Long
27 Dim count As Long
28 Dim i As Long
29 count = 0
30
31 For i = 1 To Len(text)
32 If Mid(text, i, 1) = "." Or Mid(text, i, 1) = "!" Or Mid(text, i, 1) = "?" Then
33 count = count + 1
34 End If
35 Next i
36
37 If count = 0 And Len(Trim(text)) > 0 Then
38 count = 1
39 End If
40
41 CümleSayisi = count
42End Function
43
44' Excel'de kullanım:
45' =KelimeSayisi(A1)
46' =BoşluklarlaKarakterSayisi(A1)
47' =BoşluksuzKarakterSayisi(A1)
48' =CümleSayisi(A1)
49Bu örnekler, farklı programlama dillerinde temel metin analizi işlevlerinin nasıl uygulanacağını göstermektedir. Her uygulama, belirli gereksinimlere göre uyarlanabilir ve genişletilebilir.
İşte birkaç örnek metin girişi ve bunların karşılık gelen analiz sonuçları:
Örnek 1: Kısa Paragraf
Girdi Metni: "Hızlı kahverengi tilki tembel köpeğin üzerinden atlar. Bu cümle alfabedeki her harfi içerir."
Analiz Sonuçları:
Örnek 2: Çok Paragraflı Metin
Girdi Metni: "Merhaba dünya! Bu birinci paragraftır.
Bu ikinci paragraftır ve daha fazla içerik içerir. Çözümleyiciyi göstermek için birden fazla cümle içerir."
Analiz Sonuçları:
Evet, standart metin için. Her ikisi de boşluk ayırma algoritmaları kullanır. Kimi zaman tire ile birleştirilmiş kelimeler veya özel karakterlerle küçük farklılıklar ortaya çıkabilir—Word "e-ticaret" kelimesini bir kelime olarak sayarken bazı araçlar bunu iki kelime olarak sayabilir. Tipik yazıların %99'unda sayımlar tam olarak eşleşir.
Platformlar farklı şekillerde sayar. Twitter, LinkedIn ve çoğu sosyal medya platform karakter sınırlarında boşlukları dahil eder. Bazı akademik dergiler ve uluslararası metin sistemleri (Japon mobil operatörleri gibi) boşlukları hariç tutar. Her ikisine de sahip olmak, 280 karakter yazıp hedef platformun farklı saymasından kaynaklanan hayal kırıklığını önler.
Medyan yetişkin okuma hızı olan dakikada 225 kelimeye dayanan yararlı bir yaklaşımdır. Teknik içerik daha uzun sürer, anlatı kurgusu daha hızlı okunur. Temel bir referans olarak kullanın—gerçek süreler karmaşıklık ve okuyucunun konuya aşinalığına bağlı olarak %20-30 değişebilir.
Karakter sayımı evrenseldir. Kelime sayımı boşlukları kelime sınırı olarak kullanan dillerde çalışır (İspanyolca, Fransızca, Almanca, İtalyanca vb.). Kelime ayırıcıları olmayan dillerde—Çince, Japonca, Tay dili—anlamlı kelime sayımları üretilemez. Cümle tespiti Avrupa dilleri için oldukça iyi çalışır ancak farklı noktalama sistemleri kullanan dillerde zorlanabilir.
Teknik olarak yok, ancak 100.000 karakterin ötesinde performans düşer (yaklaşık 70 sayfalık roman). Tipik kullanımlar—blog yazıları, makaleler, e-postalar, sosyal medya—için işleme anında gerçekleşir.
Standart metinler için yaklaşık %95 doğru. Yaygın kısaltmaları (Dr., Mrs., vs.) işler ancak ondalık sayılar ("Skor 3.5 puandı") veya olağandışı noktalama işaretlerinde yanılabilir. Dilbilimsel araştırmalar için kesin cümle sayımları gerekiyorsa, özelleştirilmiş NLP araçları gerekir.
Bu doğal dil yapısıdır. İşlev kelimeleri (makaleler, edatlar, bağlaçlar) İngilizce metnin %40-50'sini oluşturur. Anahtar kelime tekrarını kontrol ediyorsanız, ilk 1-2 konumun ötesine bakın. Hedef anahtar kelimeleriniz 3-5. konumlarda makul sıklıkta görünmeli, listeye hakim olmamalı.
Evet, ancak bağlam önemlidir. Google algoritmaları açık anahtar kelime doldurmasını (%3+ yoğunluk) cezalandırırken doğal dili ödüllendirir. Hedef anahtar kelimeniz en sık 5 kelime arasında %1-2 yoğunlukta görünüyorsa iyi durumdasınız. 1.000 kelimelik bir makalede 50+ kez 1. konumda görünüyorsa, büyük olasılıkla aşırı optimize ediyorsunuz demektir.
İster bir ödevin gereksinimleri karşılayıp karşılamadığını doğruluyor olun, ister blog içeriğini SEO için optimize ediyor olun, ister bir tweet'in karakter sınırlarına uyup uymadığını kontrol ediyor olun, metninizi yukarıya yapıştırın ve anında ölçümleri alın. Hiçbir kayıt, hiçbir kurulum, hiçbir veri toplama yok—sadece doğrudan çalışan metin analizi.
Trauzettel-Klosinski S, Dietz K. "Okuma Performansının Standartlaştırılmış Değerlendirilmesi: Yeni Uluslararası Okuma Hızı Metinleri IReST." Araştırma Oftalmolojisi ve Görsel Bilim. 2012. PMID: 16844754
Unicode Konsorsiyumu. "Unicode Metin Bölümleme (UAX #29)." Unicode Standart Eki #29. https://unicode.org/reports/tr29/
Dünya Çapında Web Konsorsiyumu. "Dünya Çapında Web için Karakter Modeli: Dize Eşleştirme." W3C Çalışma Taslağı. https://www.w3.org/TR/charmod-norm/
Kincaid JP, Fishburne RP, Rogers RL, Chissom BS. "Donanma Personeli için Yeni Okunabilirlik Formüllerinin Türetilmesi." Araştırma Şubesi Raporu 8-75, Deniz Teknik Eğitim Komutanlığı, 1975. https://www.govinfo.gov/content/pkg/GOVPUB-ED-PURL-gpo106104/pdf/GOVPUB-ED-PURL-gpo106104.pdf
İş akışınız için faydalı olabilecek daha fazla aracı keşfedin