Opakování dat může snížit hodnotu obsahu. Při práci jako spisovatel se musíte řídit zásadou DRY(neopakujte se). Statistiky, jako je počet slov nebo počet výskytů každého slova, vám umožní analyzovat obsah, ale je těžké to udělat ručně pro více dokumentů. Tento článek tedy ukazuje, jak programově počítat slova a počet výskytů slov každého slova ve formátech dokumentů PDF, Word, Excel, PowerPoint, eBook, Markup a Email pomocí C#.

.NET API pro počítání slov a výskytů

GroupDocs.Parser poskytuje řešení pro analýzu dokumentů pro vývojáře. Pro extrakci textu z dokumentů a počítání výskytů použijeme jeho GroupDocs.Parser for .NET. API dále umožňuje extrahování obrázků a metadat z dlouhého seznamu podporovaných dokumentů formátů, jako jsou dokumenty pro textové zpracování, prezentace, tabulky, e-maily, databáze, elektronické knihy a mnoho dalších.

Můžete si stáhnout DLL nebo MSI instalační program z části ke stažení nebo nainstalovat API přidáním jeho balíčku do vaší aplikace .NET prostřednictvím NuGet.

PM> Install-Package GroupDocs.Parser

Počítání slov pomocí C#

Pro počítání slov je hlavní věcí analyzovat a extrahovat celý obsah dokumentu. Po extrakci textu můžeme jeho obsah rozdělit na sbírku vět a slov. Následující krok umožňuje počítání slov v dokumentu pomocí C#.

  • Načtěte dokument pomocí třídy Parser.
  • Načtěte text načteného dokumentu do TextReader.
  • Dostat the text of the document from the TextReader as a string.
  • Rozdělte text na slova a uložte je do pole řetězců.
  • Proveďte počítání slov.

Následující zdrojový kód C# počítá počet slov v dokumentu.

// Počítání slov v dokumentu PDF pomocí C#
using (Parser parser = new Parser("path/document.pdf"))
{                
	// Extrahujte text do čtečky
	using (TextReader reader = parser.GetText())
	{
		string text = reader.ReadToEnd();
		char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
		// rozdělená slova
		string[] words = text.Split(chars);
		// vytisknout celkový počet slov
		Console.WriteLine("Total word count: {0}", stats.Count);
	}
}

Počítání výskytu slov v C#

Podobně můžeme spočítat, kolikrát bylo v dokumentu použito určité slovo nebo fráze. Pomocí této funkce se můžete vyhnout nadměrnému opakování jakéhokoli slova v článku. Následující kroky počítají výskyt každého slova použitého v dokumentu.

  • Načtěte dokument pomocí třídy Parser.
  • Načtěte text načteného dokumentu do TextReader.
  • Přečtěte si a rozdělte celý text do sbírky slov.
  • Projděte sbírku slov a spočítejte slova.

Následující fragment kódu C# počítá výskyt každého jedinečného slova v dokumentu.

// Počítejte jedinečná slova a jejich výskyty v dokumentu PDF pomocí C#
using (Parser parser = new Parser("path/document.pdf"))
{                
	// Extrahujte text do TextReaderu
	using (TextReader reader = parser.GetText())
	{
		Dictionary<string, int> stats = new Dictionary<string, int>();
		string text = reader.ReadToEnd();
		char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
		// rozdělená slova
		string[] words = text.Split(chars);
		int minWordLength = 2; // Consider a word having more than 2 characters

		// iterujte přes sbírku slov a počítejte výskyty
		foreach (string word in words)
		{
			string w = word.Trim().ToLower();
			if (w.Length > minWordLength)
			{
				if (!stats.ContainsKey(w))
				{
					stats.Add(w, 1); // add new word to collection
				}
				else
				{
					stats[w] += 1; // update word occurrence count
				}
			}
		}
		// seřaďte sbírku podle počtu slov
		var orderedStats = stats.OrderByDescending(x => x.Value);
		
    		// Tisk výsledků počtu slov
		Console.WriteLine("Total word count: {0}", stats.Count);

    		foreach (var pair in orderedStats)
		{
			Console.WriteLine("Total occurrences of {0}: {1}", pair.Key, pair.Value);
		}
	}
}

Následuje výstup výše uvedeného kódu:

Počet výskytů slov

Získejte bezplatnou licenci API

Můžete získat bezplatnou dočasnou licenci, abyste mohli používat API bez omezení hodnocení.

Závěr

Abych to shrnul, naučili jste se počítat slova v dokumentu pomocí C#. Dále jsme diskutovali o tom, jak můžeme získat počet výskytů slov pro každé slovo v dokumentu. Zkuste vyvinout svou online aplikaci pro počítadlo slov .NET. Další podrobnosti a informace o rozhraní API naleznete v dokumentaci. V případě dotazů nás kontaktujte prostřednictvím fóra.

Viz také