Psaní není jen jednoduchý úkol pro každého. Doporučuje se neopakovat stále stejná slova a fráze. V dnešním světě optimalizace je často potřeba počítat a následně omezit opakování slovíček a frází. Tento článek popisuje, jak programově počítat slova v dokumentech a výskyty každého slova v Java.

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

GroupDocs.Parser představuje řešení analýzy dokumentů pro vývojáře. K extrakci textu z dokumentů a počítání výskytů použiji jeho Java API, tj. GroupDocs.Parser for Java. API také umožňuje extrakci obrázků a metadat pro velký seznam podporovaných formátů dokumentů, jako jsou dokumenty pro zpracování textu, prezentace, tabulky, e-maily, databáze, elektronické knihy a mnoho dalších.

Stáhnout a nakonfigurovat

Získejte knihovnu z sekce ke stažení. Pro vaši Java aplikaci založenou na Maven stačí přidat následující konfiguraci pom.xml. Poté můžete spustit příklady z tohoto článku a mnoho dalších příkladů dostupných na GitHub. Podrobnosti naleznete v Odkaz na rozhraní API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
	<groupId>com.groupdocs</groupId>
	<artifactId>groupdocs-parser</artifactId>
	<version>22.3</version> 
</dependency>

Počítání slov v dokumentu pomocí Java

Za prvé, je důležité přesně analyzovat a extrahovat celý obsah dokumentu před počítáním slov. Po extrakci textu můžeme jeho obsah snadno rozdělit na sbírku slov a frází. Následující kroky ukazují, jak počítat slova v dokumentu pomocí Java.

  • Načtěte dokument pomocí třídy Parser.
  • Načtěte text načteného dokumentu pomocí TextReader.
  • Rozdělte text na slova pomocí oddělovačů.
  • Proveďte počítání slov.

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

// Počítejte slova v dokumentu PDF pomocí Java
// Počítejte jedinečná slova a jejich výskyty v dokumentu PDF pomocí Java
try (Parser parser = new Parser("path/document.pdf")) {

	TextReader reader = parser.getText();
	String text = reader.readToEnd();

	String[] words = text.split("\\s+|\\.|\\,|\\?|\\:|\\;");
	System.out.println("Length:" + words.length);
}

Počítejte výskyty slov v Java

Stejně tak můžeme spočítat, kolikrát se v dokumentu objevilo určité nebo jakékoli jedinečné slovo nebo fráze. Pomocí této funkce se můžete vyhnout opakování jakéhokoli slova v článku. Následující kroky počítají výskyt každého slova v dokumentu pomocí Java.

  • Načtěte dokument pomocí třídy Parser.
  • Načtěte text načteného dokumentu pomocí TextReader.
  • Přečtěte si a rozdělte celý text do kolekce slov.
  • Procházejte sbírku slov a spočítejte výskyt jednotlivých slov.

Následující fragment kódu Java 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í Java
try (Parser parser = new Parser("path/document.pdf")) {

	TextReader reader = parser.getText();
	String text = reader.readToEnd();

	String[] words = text.split("\\s+|\\.|\\,|\\?|\\:|\\;");
	Hashtable<String, Integer> wordCountTable = new Hashtable<String, Integer>();

	int minWordLength = 2;
	for (String word : words) 
	{
		String uniqueWord = word.toLowerCase();
		if (uniqueWord.length() > minWordLength) 
		{
			if (wordCountTable.containsKey(uniqueWord))	{
				wordCountTable.replace(uniqueWord, wordCountTable.get(uniqueWord),
						wordCountTable.get(uniqueWord).intValue() + 1);
			} else {
				wordCountTable.put(uniqueWord, 1);
			}

		}
	}
	wordCountTable.entrySet().forEach(entry ->{
		System.out.println(entry.getKey() + ": " + entry.getValue());
	});
}

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

lorem: 6
ipsum: 2
eleifend: 2
integer: 1
augue: 3
aliquet: 1
ligula: 1
dolor: 1
venenatis: 2
viverra: 1
amet: 2
urna: 1
senectus: 2
lectus: 2
volutpat: 1
massa: 1
blandit: 1
dapibus: 1
habitant: 2
pharetra: 2
...

Získejte bezplatnou licenci API

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

Závěr

Na závěr jste se naučili počítat slova v dokumentu pomocí Javy. Kromě toho jsme diskutovali o tom, jak můžeme získat počet výskytů slov pro každé slovo použité v dokumentu. Zkuste vyvinout online aplikaci Java pro počítadlo slov. Další podrobnosti a informace o rozhraní API naleznete v dokumentaci. V případě dotazů nás kontaktujte prostřednictvím fóra.

Viz také