書くことは誰にとっても簡単な仕事ではありません。同じ単語やフレーズを何度も繰り返さないことをお勧めします。今日の最適化の世界では、単語やフレーズの繰り返しを数えて制限する必要があることがよくあります。この記事では、ドキュメント内の単語をプログラムでカウントする方法と、Javaでの各単語の出現について説明します。

単語と出現回数をカウントするJavaAPI

GroupDocs.Parserは、開発者向けのドキュメント解析ソリューションを紹介しています。そのJavaAPI、つまりGroupDocs.Parser for Javaを使用して、ドキュメントからテキストを抽出し、出現回数をカウントします。 APIを使用すると、ワープロドキュメント、プレゼンテーション、スプレッドシート、電子メール、データベース、電子書籍など、サポートされているドキュメント形式の多数のリストの画像とメタデータを抽出することもできます。

ダウンロードして構成する

ダウンロードセクションからライブラリを入手してください。 MavenベースのJavaアプリケーションの場合は、次のpom.xml構成を追加するだけです。この後、この記事の例を実行できます。また、GitHubでさらに多くの例を利用できます。詳細については、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>

Javaを使用してドキュメント内の単語をカウントする

まず、単語を数える前に、ドキュメントのコンテンツ全体を正確に解析して抽出することが重要です。テキストを抽出した後、そのコンテンツを単語やフレーズのコレクションに簡単に分割できます。次の手順は、Javaを使用してドキュメント内の単語をカウントする方法を示しています。

-Parserクラスを使用してドキュメントをロードします。 -TextReaderを使用して、ロードされたドキュメントのテキストを取得します。 -区切り文字を使用してテキストを単語に分割します。 -単語数を実行します。

次のJavaソースコードは、ドキュメント内の単語数をカウントします。

// Javaを使用してPDFドキュメントの単語を数える
// Javaを使用してPDFドキュメント内の一意の単語とその出現をカウントします
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);
}

Javaでの単語の出現をカウントする

同様に、特定のまたは任意の一意の単語またはフレーズがドキュメントに出現した回数を数えることができます。この機能を使用すると、記事内の単語の繰り返しを回避できます。次の手順では、Javaを使用してドキュメント内の各単語の出現をカウントします。

  • Parserクラスを使用してドキュメントをロードします。
  • TextReaderを使用して、ロードされたドキュメントのテキストを取得します。
  • テキスト全体を読んで単語コレクションに分割します。
  • 単語コレクションをトラバースして、各単語の出現をカウントします。

次のJavaコードスニペットは、ドキュメント内の各一意の単語の出現をカウントします。

// Javaを使用してPDFドキュメント内の一意の単語とその出現をカウントします
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());
	});
}

上記のコードの出力は次のとおりです。

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
...

無料のAPIライセンスを取得する

評価の制限なしにAPIを使用するために、無料の一時ライセンスを取得できます。

結論

結論として、Javaを使用してドキュメント内の単語をカウントする方法を学びました。さらに、ドキュメントで使用されている各単語の単語出現回数を取得する方法についても説明しました。オンラインの単語カウンターJavaアプリケーションを開発してみてください。 APIの詳細と学習については、ドキュメントにアクセスしてください。お問い合わせは、フォーラムまでお問い合わせください。

関連項目