Szövegelemző - Ingyenes Szószámláló és Karakterszámláló Eszköz
Azonnali szövegelemzés szószámolással, karakterszámolással (szóközökkel/szóközök nélkül), mondatszámolással, olvasási idővel és gyakoriság-elemzéssel. Tökéletes dolgozatokhoz, SEO-hoz és közösségi médiához.
Szöveg Elemző
Dokumentáció
Szöveg Elemző Eszköz - Ingyenes Online Szó és Karakter Számláló
Mi az a Szövegvizsgáló?
Valaha is bámult egy dokumentumot, és töprengett, hogy elérte-e a 500 szavas minimumot vagy bent maradt-e a szoros karakterkorlátban? Pontosan ezt oldja meg ez az eszköz.
A szövegvizsgáló azonnal feltárja az írás kulcsfontosságú mutatóit - szavak száma, karakterek száma (szóközökkel és szóközök nélkül), mondatok száma, bekezdések száma, olvasási idő és egyebek. Illessze be a tartalmát, kattintson az "Elemzés" gombra, és szerezzen átfogó statisztikákat pillanatok alatt.
Ami különösen hasznossá teszi: láthatja mindkét típusú karakterszámot. A közösségi média platformok, mint a Twitter, minden karaktert számolnak, beleértve a szóközöket is, míg egyes akadémiai beküldési rendszerek kizárják azokat. Mindkét mutató ismerete azt jelenti, hogy nem éri meglepetés, amikor tartalmat másol át különböző platformokra.
Az eszköz teljes egészében a böngészőjében működik - nincs szerverfeltöltés, nincs bonyolult beállítás, nem szükségesek fiókok. Csak azonnali szövegelemzés, amely megfelel a Microsoft Word és a Google Docs által használt számolási algoritmusoknak.
Hogyan használjuk a Szövegvizsgáló eszközt
A eszköz használata körülbelül 5 másodpercet vesz igénybe:
-
Szöveg bevitele: Illessze be a tartalmat bármilyen forrásból - Word dokumentumok, Google Dokumentumok, e-mailek, blogbejegyzések, vagy írja be közvetlenül a beviteli mezőbe.
-
Elemzés indítása: Kattintson az elemzés gombra, és figyelje, ahogy az eredmények azonnal megjelennek. A feldolgozás ügyféloldalon történik, így még a 10 000+ szavas dokumentumok elemzése is kevesebb, mint egy másodperc alatt megtörténik.
-
Eredmények áttekintése: A statisztikák könnyen áttekinthető kártya elrendezésben jelennek meg. Minden mutató egyértelmű felirattal és számmal rendelkezik - nem igényel értelmezést.
-
Gyors ismétlés: Szerkessze a szöveget, és elemezze újra tetszőleges alkalommal. Ez különösen hasznos, amikor meghatározott szószámot szeretne elérni egy esszénél, vagy karakterkorlátok között szeretne maradni közösségi bejegyzéseknél.
Nyelvi támogatás: Működik bármely olyan nyelven, amely szóközökkel választja el a szavakat (angol, spanyol, francia, német stb.). A karakterszámlálás univerzálisan működik, bár az olvasási idő becslése angol olvasási sebességet feltételez (225 szó percenként). Olyan nyelvek esetében, mint a kínai vagy a japán, amelyek nem használnak szóelválasztókat, a karakterszámlálás pontos marad, de a szószámlálás nem lesz értelmezhető.
Hogyan kezeli az eszköz a szélső eseteket
A valós világbeli szövegek rendszertelenül néznek ki - extra szóközök, következetlen sortörések, speciális formázás. Íme, hogyan kezeli az elemző a gyakori forgatókönyveket:
- Üres bemenet: Minden metrika nullát mutat. Egyszerű és világos.
- Csak whitespace: Üresnek tekintett - az eszköz nem számol egy dokumentumot tartalmasnak, ha az csak szóközökből áll.
- Egyetlen szavak: Egy mondatként és egy bekezdésként számolva. Ez furcsának tűnhet, de megakadályozza a nullával való osztás hibáit és konzisztens viselkedést biztosít.
- Több egymást követő szóköz: A karakterszám szóközök nélkül minden whitespace-t eltávolít, beleértve a tabulátorokat és sortöréseket. Hasznos PDF-ekből történő másolásnál, ahol a formázás rejtett karaktereket ad hozzá.
- Bekezdés észlelés: Sortörések azonosításával működik. Egy vagy több üres sor bekezdéshatárt hoz létre. Ez megfelel annak, ahogyan az emberek természetesen írnak.
- Számok és írásjelek: Szerepelnek a karakterszámban, de általában kizártak a szószámból (kivéve, ha betűkhöz kapcsolódnak, mint a "don't" vagy "COVID-19").
Egy gyakori szélső eset: PDF-ekből történő szövegmásolás gyakran furcsa sortöréseket vezet be mondatokon belül. Az elemző ezt ügyesen kezeli, bár magasabb bekezdésszámot láthat. Amikor ez történik, a mondat-bekezdés arány feltárja a problémát.
A metrikák megértése
Íme, mit mondanak az egyes statisztikák és miért fontosak:
Szavak száma
A szóközökkel elválasztott összes szó. A kötőjellel írt szavak, mint a „jól-ismert", egy szónak számítanak, akárcsak a rövidítések, mint a „nem".
Miért fontos: A legtöbb tudományos feladat meghatároz szómennyiségi követelményeket. A tartalommarketing gyakran céloz meg bizonyos tartományokat is – a blogbejegyzések általában 1500-2000 szót céloznak meg SEO szempontból, míg a közösségi média bejegyzések 150 szó alatt a leghatékonyabbak.
Karakterek száma (szóközökkel)
Minden karakter, beleértve a betűket, számokat, írásjeleket és szóközöket.
Miért fontos: A Twitter 280 karakteres, a LinkedIn 3000 karakteres bejegyzési korlátja és az SMS mind számolják a szóközöket. Ez a valós karakterszám.
Karakterek száma (szóközök nélkül)
Minden karakter, a whitespace kizárásával.
Miért fontos: Egyes tudományos folyóiratok és beküldési rendszerek kizárják a szóközöket a korlátozásból. Egy 5000 karakteres korlát szóközök nélkül körülbelül 20%-kal több teret ad, mint egy, amelyik tartalmazza a szóközöket.
Mondatok száma
Végződő írásjelek (. ! ?) által detektálva, szóköz vagy szövegvég után. Alapvető heurisztikák megakadályozzák a rövidítések, mint a „Dr." mondattörésként való számolását.
Miért fontos: A szavak számával kombinálva feltárja a mondatok összetettségét. A híranyagok átlagosan 15-20 szót tartalmaznak mondatonként, míg a tudományos írások gyakran 25-30 szavasak.
Bekezdések száma
Sortörésekkel elválasztva. Még az egyetlen soros szöveg is egy bekezdésnek számít.
Miért fontos: Az online olvasók inkább pásztáznak, mint olvasnak. A rövid bekezdések (3-5 mondat) javítják az olvashatóságot képernyőn. Ha 500 szavad van 3 bekezdésben, akkor olyan szövegfalakat írsz, amelyek elriasztják az olvasókat.
Átlagos szavak mondatonként
Összes szó elosztva a mondatok számával, egy tizedesre kerekítve.
Miért fontos: Ez az egyetlen mutató jobban előrejelzi az olvashatóságot, mint szinte bármi más. Célozd meg a 15-20 szót általános közönségnek, 20-25-öt professzionális tartalomnak, 25+ tudományos írásnak. A 30 feletti mondathossz általában azt jelzi, hogy fel kell darabolni a szöveget.
5 leggyakoribb szó
A legtöbbször előforduló szavak, előfordulási számukkal.
Miért fontos: Feltárja a kulcsszóhasználatot és a lehetséges túlhasználatot. SEO-s tartalomíráskor a célkulcsszónak itt kell lennie, de nem szabad dominálnia. Ha egy szó 50-szer fordul elő egy 500 szavas cikkben, az kulcsszó-tömörítés. A természetes nyelv változatos szókincset mutat ezeken a helyeken.
Olvasási idő becslés
225 szó percenként, az átlagos néma olvasási sebesség angolul. A Trauzettel-Klosinski (2006) kutatása szerint a normál felnőtt olvasási sebessége 200-250 szó/perc között van, 225 a medián.
Miért fontos: A 7-8 perces olvasási idejű blogbejegyzések teljesítenek a legjobban az elköteleződés terén. Az olvasók ösztönösen eldöntik, hogy szánnak-e rá időt, mielőtt elkezdenék. Az 5 percnél rövidebb hírlevél-cikkeknek magasabb a befejezési aránya.
A számítások működése
Az eszköz szabványos szövegfeldolgozó algoritmusokat használ, amelyek megegyeznek a Microsoft Word és a Google Docs módszereivel:
Szószámolás: Szöveg felosztása szóhatárok mentén (szóközök, tabulátorok, sortörések), üres karakterláncok kiszűrése, a megmaradó elemek megszámolása. Ez az iparági szabvány megközelítés, amelyet a Unicode szöveg szegmentációs specifikáció határoz meg.
Karakterszámolás: A "szóközökkel" történő számlálásnál egyszerűen mérjük a karakterlánc hosszát. A "szóközök nélküli" módnál először eltávolítjuk az összes whitespace karaktert. Mindkét módszer megfelel a World Wide Web Consortium (W3C) szabványainak.
Mondatfelismerés: Végződő központozás azonosítása (. ! ?) whitespace vagy szövegvég után. Alapvető heurisztikák megakadályozzák a hamis pozitívokat gyakori rövidítéseknél mint a "Dr." vagy "Mrs."—bár összetett esetek mint a "The U.S. economy grew 2.5%." alkalmanként váratlan eredményt adhatnak. A tökéletes mondatfelismeréshez természetes nyelvi feldolgozás szükséges; ez a megvalósítás a sebességet helyezi előtérbe és lefedi a tipikus esetek 95%+-át.
Szógyakoriság: Átalakítás kisbetűsre (nem érzékeny a kis-/nagybetűkre), előfordulások számolása, gyakoriság szerinti rendezés. Ez feltárja a mintázatokat, de vannak korlátai—a "running" és "run" különböző szónak számítanak, és a gyakori névelők mint a "the" gyakran dominálnak.
Minden feldolgozás a böngészőben, JavaScript natív karakterlánc-metódusaival történik. Egyetlen adat sem hagyja el az eszközt.
Valós élethelyzetek
Akadémiai írás
A diákok szigorú szószám-követelményekkel szembesülnek - általában 500, 1 000, 1 500 vagy 2 000 szó az esszékben. Még 50 szóval elmaradni a minimumtól pontlevonással jár, míg a felső határ túllépése azt sugallja, hogy nem tudsz tömören szerkeszteni.
Egy tipikus forgatókönyv: úgy érzed, eleget írtál, de a szószámláló 1 847 szót mutat egy 2 000 szavas minimum mellett. Ahelyett, hogy kitöltenéd üres szavakkal, elemezd a mondatonkénti átlagos szavak számát. Ha 20 alatt van, valószínűleg túl szűkszavúan írsz, és bővítheted összetett gondolataidat árnyaltabb magyarázatokkal.
Tartalommarketing és SEO
A keresőmotorok az átfogó tartalmat részesítik előnyben. Számos SEO-tanulmány adata szerint a 1 500-2 500 szavas cikkek magasabban rangsorolódnak a versengő kulcsszavaknál. De a szószám önmagában nem garantál sikert - tartalomra is szükség van.
Használd a gyakoriság-elemzést a kulcsszóhasználat ellenőrzéséhez. Ha a célkulcsszó 30-szor fordul elő 2 000 szóban (1,5%-os sűrűség), akkor a megfelelő tartományban vagy. 3% felett valószínűleg kulcsszófeltöltést végzel, amit a Google büntet.
Közösségi média menedzsment
Minden platformnak más korlátai vannak: A Twitter 280 karaktert engedélyez, a LinkedIn bejegyzések 3 000 karakterig terjednek (bár csak az első 140 jelenik meg "tovább" nélkül), az Instagram feliratok 2 200 karaktert támogatnak. Ezeken belül maradni úgy, hogy hatásos maradjon, pontosságot igényel.
A karakterszám szóközök nélkül az SMS-marketingben is fontos. Egy szabványos SMS 160 karaktert tartalmaz, de egyes rendszerekben ez a limit nem tartalmazza a szóközöket. A túllépés több üzenetre osztja az üzenetet, gyakran törött formázással.
Professzionális e-mail
A kutatások szerint a 125 szónál rövidebb e-mailek kapják a legmagasabb válaszarányt. 200 szó felett a válaszarányok zuhannak. Az olvasási idő becslése segít ebben - célozz meg 1 percnél rövidebb olvasási időt hideg megkereséseknél, 2 percnél rövidebbet belső kommunikációnál.
Beszéd és prezentáció időzítése
Egy 10 perces prezentációs blokkhoz körülbelül 1 300-1 500 szónyi leírt tartalomra van szükség (feltételezve 130-150 szó/perc beszédütemet, ami lassabb az olvasási sebességnél). Illeszd be a forgatókönyvet, ellenőrizd a szószámot, és módosíts ennek megfelelően. Ha túlléped az időt, levágnak; ha hamarabb végzel, felkészületlennek tűnsz.
Fordítás és honosítás
A lefordított szöveg általában 15-30%-kal hosszabb az angol eredeti szövegnél a nyelvtani különbségek miatt. A spanyol a hosszabb végén helyezkedik el, a német még inkább. A forrás és a fordítás közötti karakterszámok összehasonlításával észreveheted a potenciális problémákat - ha a német fordítás rövidebb az angolnál, valószínűleg hiányzik valami.
Kiegészítő eszközök mélyreható elemzéshez
Ez az elemző alapvető metrikákra összpontosít - szavak száma, karakterek száma, mondatszerkezet. Mélyebb elemzéshez vegye fontolóra ezeket a specializált eszközöket:
Olvashatósági pontszámok: A Flesch-Kincaid Évfolyam Szint és a Gunning Fog Index kiszámítja az olvasási nehézséget a szótagok száma és a mondatok hossza alapján. Ezek a képletek objektív olvashatósági értékeléseket nyújtanak, bár vannak korlátaik - a „A macska ült" egyszerűbbnek minősül, mint a „Bonyolult", annak ellenére, hogy hasonló a megértési nehézség.
Nyelvhelyesség-ellenőrzők: Az olyan eszközök, mint a Grammarly, észlelik a nyelvtani hibákat, stílusbeli javításokat javasolnak, és jelzik a passzív hangnemet. Kiegészítik a szövegvizsgálókat azáltal, hogy a helyességre összpontosítanak, nem pedig a statisztikákra.
Hangulatelemzés: Az NLP modellek meghatározzák az érzelmi tónust - pozitív, negatív vagy semleges. Hasznos ügyfélvisszajelzések vagy közösségi média említések elemzéséhez nagy léptékben.
Plágiumdetektálás: Összehasonlítja a szöveget milliárd weboldalhoz és tudományos publikációhoz. Elengedhetetlen az akadémiai integritás és a tartalmi eredeti igazolása szempontjából.
Rövid történet: A kézi számolástól a azonnali elemzésig
A számítógépek előtt az írók és szerkesztők kézzel számolták a szavakat - fárasztó és hibalehetőségekkel teli folyamat. Az első automatizált szószámlálók mechanikus írógépeken jelentek meg az 1890-es években, bár ezek csak a leütéseket számolták, nem a tényleges szavakat.
A digitális szövegszerkesztés mindent megváltoztatott. A WordStar (1978) és a WordPerfect (1979) szoftveralapú szószámlálást vezettek be, elérhetővé téve a pontos szövegmetrikákat mindenki számára, akinek számítógépe volt. Az 1980-as évek közepére a szószámlálás minden szövegszerkesztő szabványos funkciójává vált.
Az internet korszaka új igényeket támasztott. A Twitter 140 karakteres (később 280 karakteres) korlátja 2006-ban a karakterszámlálást milliók napi tevékenységévé tette. A blogplatformok körülbelül 2010-ben olvasási idő becsléseket adtak hozzá, segítve az olvasókat abban, hogy eldöntsék, érdemes-e időt szánni egy hosszú cikkre. A 2010-es évek SEO eszközei népszerűsítették a kulcsszósűrűség elemzést, bár a Google algoritmus-frissítései végül büntették a nyilvánvaló kulcsszó-tömörítést.
Napjaink szövegvizsgáló eszközei egyszerűséget és erőt ötvöznek - azonnali eredmények, nincs telepítés, teljes mértékben böngészőben működnek. Az alapul szolgáló algoritmusok alig változtak az 1970-es évek óta (a szóköz alapján történő felosztás továbbra is a szabványos szószámlálási módszer), de a hozzáférhetőség drámaian javult.
Kódpéldák
Íme a szövegelemzési függvények megvalósítási példái különböző programozási nyelveken:
1// JavaScript Szövegelemző Függvények
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 másodperc'
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 // Mondatok számlálása (alapvető megvalósítás)
23 const sentenceCount = Math.max(1, (text.match(/[.!?]+/g) || []).length);
24
25 // Bekezdések számlálása
26 const paragraphs = text.split(/\n+/).filter(p => p.trim().length > 0);
27 const paragraphCount = Math.max(1, paragraphs.length);
28
29 // Átlagos szavak mondatonként
30 const avgWordsPerSentence = (wordCount / sentenceCount).toFixed(1);
31
32 // Top 5 gyakori szó
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 // Olvasási idő számítása (225 szó percenként)
47 const minutes = Math.floor(wordCount / 225);
48 const seconds = Math.round((wordCount % 225) / 225 * 60);
49 const readingTime = minutes > 0
50 ? `${minutes} perc ${seconds} mp`
51 : `${seconds} másodperc`;
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// Példa használat:
66const sampleText = "Szia világ! Ez egy szövegelemző. Szavakat és egyebeket számol.";
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 másodperc'
15 }
16
17 # Szavak száma
18 words = text.split()
19 word_count = len(words)
20
21 # Karakterszámok
22 char_count_with_spaces = len(text)
23 char_count_without_spaces = len(re.sub(r'\s+', '', text))
24
25 # Mondatok száma
26 sentences = re.findall(r'[.!?]+', text)
27 sentence_count = max(1, len(sentences))
28
29 # Bekezdések száma
30 paragraphs = [p for p in text.split('\n') if p.strip()]
31 paragraph_count = max(1, len(paragraphs))
32
33 # Átlagos szavak mondatonként
34 avg_words_per_sentence = round(word_count / sentence_count, 1)
35
36 # Top 5 gyakori szó
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 # Olvasási idő (225 szó percenként)
45 minutes = word_count // 225
46 seconds = round((word_count % 225) / 225 * 60)
47 reading_time = f"{minutes} perc {seconds} mp" if minutes > 0 else f"{seconds} másodperc"
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# Példa használat:
61sample_text = "Szia világ! Ez egy szövegelemző. Szavakat és egyebeket számol."
62results = analyze_text(sample_text)
63print(results)
641import java.util.*;
2import java.util.regex.*;
3import java.util.stream.*;
4
5public class SzövegElemző {
6
7 public static class ElemzésiEredmény {
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<SzóGyakoriság> topWords;
15 public String readingTime;
16
17 public static class SzóGyakoriság {
18 public String word;
19 public int count;
20
21 public SzóGyakoriság(String word, int count) {
22 this.word = word;
23 this.count = count;
24 }
25 }
26 }
27
28 public static ElemzésiEredmény analyzeText(String text) {
29 ElemzésiEredmény result = new ElemzésiEredmény();
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 másodperc";
40 return result;
41 }
42
43 // Szavak száma
44 String[] words = text.trim().split("\\s+");
45 result.wordCount = words.length;
46
47 // Karakterszámok
48 result.charCountWithSpaces = text.length();
49 result.charCountWithoutSpaces = text.replaceAll("\\s+", "").length();
50
51 // Mondatok száma
52 Pattern sentencePattern = Pattern.compile("[.!?]+");
53 Matcher sentenceMatcher = sentencePattern.matcher(text);
54 result.sentenceCount = Math.max(1, (int) sentenceMatcher.results().count());
55
56 // Bekezdések száma
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 // Átlagos szavak mondatonként
62 result.avgWordsPerSentence =
63 Math.round((double) result.wordCount / result.sentenceCount * 10.0) / 10.0;
64
65 // Top 5 gyakori szó
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 ElemzésiEredmény.SzóGyakoriság(e.getKey(), e.getValue()))
78 .collect(Collectors.toList());
79
80 // Olvasási idő (225 szó percenként)
81 int minutes = result.wordCount / 225;
82 int seconds = Math.round((result.wordCount % 225) / 225.0f * 60);
83 result.readingTime = minutes > 0
84 ? minutes + " perc " + seconds + " mp"
85 : seconds + " másodperc";
86
87 return result;
88 }
89
90 public static void main(String[] args) {
91 String sampleText = "Szia világ! Ez egy szövegelemző. Szavakat és egyebeket számol.";
92 ElemzésiEredmény results = analyzeText(sampleText);
93 System.out.println("Szavak száma: " + results.wordCount);
94 System.out.println("Olvasási idő: " + results.readingTime);
95 }
96}
971' Excel VBA Függvény szövegelemzéshez
2Function SzavakSzáma(text As String) As Long
3 Dim words() As String
4 If Len(Trim(text)) = 0 Then
5 SzavakSzáma = 0
6 Else
7 words = Split(Trim(text), " ")
8 SzavakSzáma = UBound(words) + 1
9 End If
10End Function
11
12Function KarakterekSzámaHelyekkel(text As String) As Long
13 KarakterekSzámaHelyekkel = Len(text)
14End Function
15
16Function KarakterekSzámaHelyekNélkül(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 KarakterekSzámaHelyekNélkül = Len(textNoSpaces)
24End Function
25
26Function MondatokSzáma(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 MondatokSzáma = count
42End Function
43
44' Használat Excel-ben:
45' =SzavakSzáma(A1)
46' =KarakterekSzámaHelyekkel(A1)
47' =KarakterekSzámaHelyekNélkül(A1)
48' =MondatokSzáma(A1)
49Ezek a példák bemutatják, hogyan lehet megvalósítani az alapvető szövegelemzési funkciókat különböző programozási nyelveken. Minden implementáció adaptálható és kiterjeszthető specifikus igények alapján.
Numerikus Példák
Íme néhány példa szövegbevitel és azok elemzési eredményei:
1. Példa: Rövid Bekezdés
Bemeneti Szöveg: "A gyors barna róka átugrik a rest kutya felett. Ez a mondat tartalmazza az ábécé minden betűjét."
Elemzési Eredmények:
- Szavak Száma: 16
- Karakterek Száma (Szóközökkel): 87
- Karakterek Száma (Szóközök Nélkül): 71
- Mondatok Száma: 2
- Bekezdések Száma: 1
- Átlagos Szavak Mondatonként: 8.0
- Olvasási Idő: 4 másodperc
- Leggyakoribb Szavak: a (3), gyors (1), barna (1), róka (1), átugrik (1)
2. Példa: Többbekezdéses Szöveg
Bemeneti Szöveg: "Szia világ! Ez az első bekezdés.
Ez a második bekezdés több tartalommal. Több mondat van benne az elemző bemutatásához."
Elemzési Eredmények:
- Szavak Száma: 22
- Karakterek Száma (Szóközökkel): 127
- Karakterek Száma (Szóközök Nélkül): 106
- Mondatok Száma: 3
- Bekezdések Száma: 2
- Átlagos Szavak Mondatonként: 7.3
- Olvasási Idő: 6 másodperc
- Leggyakoribb Szavak: a (3), van (2), ez (2), bekezdés (2), több (1)
Gyakran Ismételt Kérdések
Megegyezik ez a Microsoft Word szószámával?
Igen, szabványos szöveg esetén. Mindkettő szóköz-alapú algoritmusokat használ. Alkalmanként eltérések fordulhatnak elő kötőjeles szavaknál vagy speciális karaktereknél - a Word az "e-commerce" kifejezést egy szónak tekinti, míg néhány eszköz két szónak számítja. A tipikus írások 99%-ában a számok pontosan megegyeznek.
Miért van két karakterszám?
A platformok különbözőképpen számolnak. A Twitter, LinkedIn és a legtöbb közösségi média a szóközöket is beleszámítja a karakterkorlátba. Egyes tudományos folyóiratok és nemzetközi szövegrendszerek (mint a japán mobilszolgáltatók) kizárják a szóközöket. Mindkét szám megléte megakadályozza a frusztrációt, hogy 280 karaktert írjon valaki, csak hogy aztán kiderüljön, a célplatform másképp számol.
Megbízható a becsült olvasási idő?
Hasznos becslés, amely 225 szó/perc alapján készül, ami a felnőttek átlagos olvasási sebessége. A technikai tartalom lassabban, a narratív szépirodalom gyorsabban olvasható. Használja alapvető referenciaként - a tényleges idők 20-30%-kal eltérhetnek a bonyolultság és az olvasó tárgyi ismeretei függvényében.
Működik más nyelveken is, nem csak angolul?
A karakterszámolás univerzális. A szószámolás működik minden olyan nyelven, amely szóközöket használ szóhatárolóként (spanyol, francia, német, olasz stb.). A szóelválasztó nélküli nyelvek - kínai, japán, thai - nem adnak értelmes szószámot. A mondatfelismerés viszonylag jól működik az európai nyelveken, de problémákba ütközhet az eltérő írásjelrendszerű nyelvek esetében.
Van szövegméret-korlát?
Technikailag nincs, de a teljesítmény 100 000 karakter (kb. 70 oldalas regény) felett romlik. Tipikus felhasználási módoknál - blogbejegyzések, esszék, e-mailek, közösségi média - a feldolgozás azonnali.
Mennyire pontos a mondatszámolás?
Körülbelül 95%-os pontosságú szabványos szöveg esetén. Kezeli a gyakori rövidítéseket (Dr., Mrs., vs.), de problémái lehetnek tizedes számokkal ("A pontszám 3.5 pont") vagy szokatlan írásjelekkel. Ha tökéletes mondatszámolásra van szüksége nyelvi kutatáshoz, speciális NLP eszközökre lesz szüksége.
Miért szerepelnek a leggyakoribb szavak között a "the" és az "a"?
Ez a természetes nyelv sajátossága. A funkcionális szavak (névelők, elöljárók, kötőszavak) az angol szöveg 40-50%-át teszik ki. Ha kulcsszó-ismétlődést vizsgál, nézzen túl az első vagy második pozíción. A célkulcsszavaknak a 3-5. pozícióban kell megjelenniük elfogadható gyakorisággal, nem uralva a listát.
Használhatom SEO kulcsszósűrűség ellenőrzésére?
Igen, de a kontextus számít. A Google algoritmusai büntetik a nyilvánvaló kulcsszó-tömörítést (3%+ sűrűség), miközben díjazzák a természetes nyelvet. Ha a célkulcsszó az 5 leggyakoribb szó között szerepel 1-2% sűrűséggel, jó úton jár. Ha 50+ alkalommal jelenik meg egy 1000 szavas cikkben az első pozícióban, valószínűleg túloptimalizál.
Kezdje el szövege elemzését
Akár egy esszé követelményeinek ellenőrzéséről, blog tartalom SEO-optimalizálásáról vagy egy tweet karakterkorlátjának betartásáról van szó, illessze be szövegét fent, és azonnal kapjon mérőszámokat. Regisztráció nélkül, telepítés nélkül, adatgyűjtés nélkül – csak egyszerű, hatékony szövegelemzés.
Hivatkozások és további olvasmányok
-
Trauzettel-Klosinski S, Dietz K. „Szabványosított olvasási teljesítmény felmérése: Az új nemzetközi olvasási sebesség szövegek IReST." Investigative Ophthalmology & Visual Science. 2012. PMID: 16844754
-
Unicode Konzorcium. „Unicode szöveg szegmentáció (UAX #29)." Unicode Standard Annex #29. https://unicode.org/reports/tr29/
-
World Wide Web Konzorcium. „Karaktermodell a World Wide Web számára: Karakterlánc illesztés." W3C Munkaközi Draft. https://www.w3.org/TR/charmod-norm/
-
Kincaid JP, Fishburne RP, Rogers RL, Chissom BS. „Új olvashatósági képletek levezetése haditengerészeti személyzet számára." Kutatási Részleg Jelentés 8-75, Haditengerészeti Műszaki Képzési Parancsnokság, 1975. https://www.govinfo.gov/content/pkg/GOVPUB-ED-PURL-gpo106104/pdf/GOVPUB-ED-PURL-gpo106104.pdf