c-uygulama-ornekleri-1

C# kullanarak daha karmaşık metin işleme örneklerini inceleyelim. Bu örnekler, web sitesi metin içeriğini daha fazla analiz etmek ve manipüle etmek için kullanabileceğiniz daha gelişmiş işlevleri içerecektir.

c-uygulama-ornekleri-1
c-uygulama-ornekleri-1
  1. Metin Analizi ve Sıklık Hesaplama

Web sitesi içeriği üzerinde metin analizi yapmak, anahtar kelimeleri veya terimleri belirlemek için önemlidir. Örneğin, belirli bir metinde kelime sıklığını hesaplayarak en sık kullanılan kelimeleri bulmak için aşağıdaki kodu kullanabilirsiniz:

csharp
Copy code
using System;
using System.Collections.Generic;
using System.Linq;

string metin = “Bu bir örnek metindir. Bu metin içeriği analiz ediliyor. Örnek metin metin içeriği.”;

// Metni boşluklara göre böler ve küçük harfe dönüştürür.
string[] kelimeler = metin.ToLower().Split(new char[] { ‘ ‘, ‘.’, ‘,’, ‘!’, ‘?’ }, StringSplitOptions.RemoveEmptyEntries);

// Kelime sıklığını hesaplar.
var kelimeSikligi = kelimeler.GroupBy(kelime => kelime)
.Select(grup => new { Kelime = grup.Key, Sayi = grup.Count() })
.OrderByDescending(x => x.Sayi);

// En sık kullanılan 5 kelimeyi gösterir.
var enSikKelimeler = kelimeSikligi.Take(5);

foreach (var kelime in enSikKelimeler)
{
Console.WriteLine($”{kelime.Kelime}: {kelime.Sayi} kez kullanıldı.”);
}

Bu kod, metindeki en sık kullanılan 5 kelimeyi bulacaktır.

  1. Metin Karşılaştırma ve Benzerlik Analizi

Web sitesi içeriğini karşılaştırarak benzer metinleri bulmak da önemlidir. Örneğin, iki metin arasındaki benzerlik derecesini ölçmek için Levenshtein mesafesi kullanabilirsiniz:

csharp
Copy code
using System;

string metin1 = “Bu bir örnek metindir.”;
string metin2 = “Bu örnek metin bir örnek metin değildir.”;

int[,] mesafe = new int[metin1.Length + 1, metin2.Length + 1];

for (int i = 0; i <= metin1.Length; i++)
{
for (int j = 0; j <= metin2.Length; j++)
{
if (i == 0)
mesafe[i, j] = j;
else if (j == 0)
mesafe[i, j] = i;
else if (metin1[i – 1] == metin2[j – 1])
mesafe[i, j] = mesafe[i – 1, j – 1];
else
mesafe[i, j] = 1 + Math.Min(Math.Min(mesafe[i – 1, j], mesafe[i, j – 1]), mesafe[i – 1, j – 1]);
}
}

int benzerlikDerecesi = Math.Max(metin1.Length, metin2.Length) – mesafe[metin1.Length, metin2.Length];

Console.WriteLine($”Metinler arasındaki benzerlik derecesi: %{(benzerlikDerecesi * 100) / Math.Max(metin1.Length, metin2.Length)}”);

Bu kod, iki metin arasındaki benzerlik derecesini yüzde olarak hesaplayacaktır.

Bu örnekler, C# kullanarak daha karmaşık metin işleme ve analiz görevlerini gerçekleştirmenize yardımcı olacak ve web sitesi içeriğini daha derinlemesine incelemek için kullanabileceğiniz becerileri geliştirecektir.

By Artsın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir