การทำซ้ำข้อมูลอาจทำให้คุณค่าของเนื้อหาลดลง การทำงานเป็นนักเขียน คุณต้องปฏิบัติตามหลักการ DRY(อย่าย้ำตัวเอง) สถิติต่างๆ เช่น จำนวนคำหรือจำนวนคำที่เกิดขึ้นของแต่ละคำช่วยให้คุณวิเคราะห์เนื้อหาได้ แต่การทำด้วยตนเองสำหรับเอกสารหลายๆ ฉบับนั้นทำได้ยาก ดังนั้น บทความนี้จะสาธิตวิธีนับคำทางโปรแกรมและจำนวนคำที่เกิดขึ้นในแต่ละคำในรูปแบบเอกสาร PDF, Word, Excel, PowerPoint, eBook, Markup และ Email โดยใช้ C#

.NET API เพื่อนับคำและเหตุการณ์

GroupDocs.Parser ให้บริการโซลูชันการแยกวิเคราะห์เอกสารสำหรับนักพัฒนา สำหรับการดึงข้อความจากเอกสารและการนับเหตุการณ์ เราจะใช้ GroupDocs.Parser for .NET นอกจากนี้ API ยังอนุญาตให้แยกรูปภาพและข้อมูลเมตาจากรายการ เอกสารที่รองรับ รูปแบบ เช่น เอกสารประมวลผลคำ งานนำเสนอ สเปรดชีต อีเมล ฐานข้อมูล eBook และอื่นๆ อีกมากมาย

คุณสามารถดาวน์โหลดโปรแกรมติดตั้ง DLLs หรือ MSI ได้จาก ส่วนการดาวน์โหลด หรือติดตั้ง API โดยเพิ่มแพ็คเกจลงในแอปพลิเคชัน .NET ของคุณผ่าน NuGet

PM> Install-Package GroupDocs.Parser

นับคำโดยใช้ C#

สำหรับการนับคำ สิ่งสำคัญคือการแยกวิเคราะห์และแยกเนื้อหาทั้งหมดของเอกสาร หลังจากแยกข้อความแล้ว เราสามารถแยกเนื้อหาออกเป็นชุดของประโยคและคำ ขั้นตอนต่อไปนี้ช่วยให้สามารถนับคำภายในเอกสารโดยใช้ C#

  • โหลดเอกสารโดยใช้คลาส Parser
  • ดึงข้อความของเอกสารที่โหลดลงใน TextReader
  • รับ the text of the document from the TextReader as a string.
  • แยกข้อความเป็นคำและบันทึกลงในอาร์เรย์สตริง
  • ทำการนับคำ

ซอร์สโค้ด C# ต่อไปนี้นับจำนวนคำในเอกสาร

// นับคำในเอกสาร PDF โดยใช้ C#
using (Parser parser = new Parser("path/document.pdf"))
{                
	// แยกข้อความลงในเครื่องอ่าน
	using (TextReader reader = parser.GetText())
	{
		string text = reader.ReadToEnd();
		char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
		// แยกคำ
		string[] words = text.Split(chars);
		// พิมพ์จำนวนคำทั้งหมด
		Console.WriteLine("Total word count: {0}", stats.Count);
	}
}

นับจำนวนคำที่เกิดขึ้นใน C#

ในทำนองเดียวกัน เราสามารถนับจำนวนครั้งที่มีการใช้คำหรือวลีเฉพาะในเอกสาร เมื่อใช้คุณลักษณะนี้ คุณสามารถหลีกเลี่ยงการใช้คำใดๆ ในบทความซ้ำมากเกินไป ขั้นตอนต่อไปนี้จะนับการเกิดขึ้นของแต่ละคำที่ใช้ในเอกสาร

  • โหลดเอกสารโดยใช้คลาส Parser
  • ดึงข้อความของเอกสารที่โหลดไปยัง TextReader
  • อ่านและแยกข้อความทั้งหมดออกเป็นชุดคำ
  • สำรวจคอลเลกชันคำเพื่อนับคำ

ข้อมูลโค้ด C# ต่อไปนี้จะนับการเกิดขึ้นของแต่ละคำที่ไม่ซ้ำกันภายในเอกสาร

// นับคำที่ไม่ซ้ำและการเกิดขึ้นในเอกสาร PDF โดยใช้ C#
using (Parser parser = new Parser("path/document.pdf"))
{                
	// แยกข้อความลงใน TextReader
	using (TextReader reader = parser.GetText())
	{
		Dictionary<string, int> stats = new Dictionary<string, int>();
		string text = reader.ReadToEnd();
		char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
		// แยกคำ
		string[] words = text.Split(chars);
		int minWordLength = 2; // Consider a word having more than 2 characters

		// วนซ้ำการรวบรวมคำเพื่อนับเหตุการณ์
		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
				}
			}
		}
		// สั่งคอลเลกชันตามจำนวนคำ
		var orderedStats = stats.OrderByDescending(x => x.Value);
		
    		// พิมพ์ผลการนับคำ
		Console.WriteLine("Total word count: {0}", stats.Count);

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

ต่อไปนี้เป็นผลลัพธ์ของโค้ดด้านบน:

จำนวนการเกิดขึ้นของคำ

รับใบอนุญาต API ฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ API โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

โดยสรุป คุณได้เรียนรู้วิธีการนับคำในเอกสารโดยใช้ C# นอกจากนี้ เรายังกล่าวถึงวิธีการหาจำนวนคำที่เกิดขึ้นสำหรับแต่ละคำในเอกสาร ลองพัฒนาแอปพลิเคชัน .NET ตัวนับคำออนไลน์ของคุณ สำหรับรายละเอียดเพิ่มเติมและเรียนรู้เกี่ยวกับ API โปรดไปที่ เอกสารประกอบ สำหรับข้อสงสัย ติดต่อเราผ่านทาง ฟอรัม

ดูสิ่งนี้ด้วย