SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
Şahabettin AKCA - 11 Nisan 2023
Metin Madenciliği
Özellik Seçimi
Metin Madenciliği
Özellik Seçimi
• Sını
fl
andırıcının, kendisine hangi anahtar sözcüklerle sını
fl
andırma işlemine
karar vereceğini sormaktadır.
• Bu anahtar sözcükler ile bütün eğitim dokümanlarını ele alarak hangisiyle
daha çok ilişkili ise o yönde karar vermektedir.
• Dokümanı temsil edecek kelimelerin seçimi veya diğer bir deyişle özellik
seçimi kavramı, metin madenciliği çalışmalarında dokümanın hangi sözcüklerle
ifade edileceğinin belirlendiği adımdır.
• Özellik seçiminin doküman vektör boyutunun azaltılması sonucu olarak işlem
süresini düşürdüğü ve çalışmalarda daha doğru sonuçlar elde edilmesini
sağladığını belirten çalışmalar vardır.
Özellik Seçimi
Odds Ratio
Metin madenciliğinde Odds Ratio (OR) veya etiketleri hesaplamak için aşağıdaki formülü kullanabilirsiniz:
OR = (a x d) / (b x c)
Burada,
a: İlgilenilen terimin belirli bir sınıfta bulunduğu belge sayısı
b: İlgilenilen terimin diğer sını
fl
arda bulunduğu belge sayısı
c: Diğer tüm terimlerin belirli bir sınıfta bulunduğu belge sayısı
d: Diğer tüm terimlerin diğer sını
fl
arda bulunduğu belge sayısı
Bu formül, terimin belirli bir sınıfta bulunma olasılığını, diğer sını
fl
arda bulunma olasılığına karşı oranını
hesaplar. OR değeri 1'den büyükse, terimin belirli sını
fl
a ilişkili olduğu düşünülür. OR değeri 1'e yakınsa,
terimin sını
fl
a ilişkili olmadığı düşünülür.
Örnek Kod
Php Programlama Dili
// Belirli bir sınıfta ilgili terimin geçtiği belge sayısı
$a = 5;
// Diğer sını
fl
arda ilgili terimin geçtiği belge sayısı
$b = 10;
// Belirli sınıftaki diğer tüm terimlerin geçtiği belge sayısı
$c = 50;
// Diğer sını
fl
ardaki diğer tüm terimlerin geçtiği belge sayısı
$d = 100;
// Odds Ratio hesaplama
$or = ($a * $d) / ($b * $c);
// Sonucu ekrana yazdırma
echo "Odds Ratio: " . $or;
Bu örnek kodda, ilgili terim belirli bir
sınıfta 5 belgede, diğer sını
fl
arda 10
belgede geçiyor.
Aynı sınıftaki diğer tüm terimler 50
belgede, diğer sını
fl
ardaki diğer tüm
terimler 100 belgede geçiyor.
Bu değerleri kullanarak Odds Ratio
hesaplanıyor ve sonuç ekrana yazdırılıyor.
Bu değerin 1'den büyük olması
durumunda, terimin belirli bir sını
fl
a ilişkili
olduğu düşünülebilir.
Örnek Terim
Php Programlama Dili
$tr[1][1] = array(1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0);
$tr[1][2] = array(1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0);
$tr[1][3] = array(0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1);
$tr[1][4] = array(0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1);
$tr[1][5] = array(1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1);
$tr[2][1] = array(0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0);
$tr[2][2] = array(1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0);
$tr[2][3] = array(1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1);
$tr[3][1] = array(0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0);
$tr[3][2] = array(1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1);
Hesaplama Fonksiyonu 1/5
Tanımlamalar
$as = array(); // Belirli bir sınıfta ilgili terimin geçtiği belge sayısı
$bs = array(); // Diğer sını
fl
arda ilgili terimin geçtiği belge sayısı
$cs = array(); // Belirli sınıftaki diğer tüm terimlerin geçtiği belge sayısı
$ds = array(); // Diğer sını
fl
ardaki diğer tüm terimlerin geçtiği belge sayısı
$sonuc = array();
$istenenTerim = 0;
$c_toplam = 0;
$d_toplam = 0;
Hesaplama Fonksiyonu 2/5
Olan Terimleri Tespit Etme
foreach ($sini
fl
ar as $keySinif => $sinif) {
foreach ($sinif as $k2 => $dokuman) {
foreach ($dokuman as $keyTerim => $terim) {
if (!isset($sonuc[$keyTerim][$keySinif])) {
$sonuc[$keyTerim][$keySinif] = 0;
$cs[$keySinif] = 0;
$ds[$keySinif] = 0;
}
if ($terim == 1) {
$sonuc[$keyTerim][$keySinif]++;
}
}
ksort($sonuc[$keySinif]); //sıralama için. yatay da başlarda sıfır 0 olunca aşağıda 1 olunca key aşağıya atılıyordu.
}
}
ksort($sonuc);
Hesaplama Fonksiyonu 3/5
A Değeri Hesaplama
foreach ($sonuc as $keyTerim => $terim) {
foreach ($terim as $keySinif => $terimSayisi) {
$as[$keyTerim] = $terimSayisi;
$mevcutSinif = $keySinif;
$cs[$keySinif] += $terimSayisi; //bu siniftaki tum terim sayisi
$c_toplam += $terimSayisi;
if ($keySinif != $istenenTerim) //istenen terim değilse A yı hesaplamayı bırak
break;
}
}
ksort($a);
Hesaplama Fonksiyonu 4/5
B Değeri Hesaplama
foreach ($sonuc as $keyTerim => $terim) {
foreach ($terim as $keySinif => $terimSayisi) {
if ($keySinif != $mevcutSinif) {//istenen terim A ise diğer terimleri topla B yi hesapla
$bs[$keyTerim] += $terimSayisi;
$ds[$keySinif] += $terimSayisi; //diğer siniftaki tum terim sayisi
$d_toplam += $terimSayisi;
}
}
}
ksort($b);
Hesaplama Fonksiyonu 5/5
Or Değeri Hesaplama
$degerler = array();
foreach ($as as $key => $a) {
$b = $bs[$key];
$c = $c_toplam;
$d = $d_toplam;
$or = ($a * $d) / ($b * $c);
$degerler[$key] = $or;
}
Bu örnek kodda, her bir sınıfın her bir özelliği için Odds
Ratio hesaplanıyor ve sonuçlar ekrana yazdırılıyor. Bu
değerin 1'den büyük olması durumunda, terimin belirli
bir sını
fl
a ilişkili olduğu düşünülebilir.
Or Sonuçları
Terim Değerleri
[0] => 0.88095238095238
[1] => 0.88095238095238
[2] => 0.88095238095238
[3] => 0.88095238095238
[4] => 1.1746031746032
[5] => 0.88095238095238
[6] => 0
[7] => 1.1746031746032
[8] => 1.1011904761905
[9] => 0.44047619047619
[10] => 0.88095238095238
[11] => 0.88095238095238
[12] => 2.202380952381
[13] => 1.3214285714286
[14] => 1.3214285714286
Verilen değerleri kullanarak Odds Ratio
hesaplanıyor ve sonuç ekrana yazdırılıyor.
Bu değerin 1'den büyük olması durumunda,
terimin belirli bir sınıfla ilişkili olduğu
düşünülebilir.
Hesaplama Sonuçlar
a ve b Değerleri
[0] => 3
[1] => 4
[2] => 2
[3] => 2
[4] => 4
[5] => 1
[6] => 0
[7] => 4
[8] => 5
[9] => 1
[10] => 2
[11] => 3
[12] => 5
[13] => 3
[14] => 3
c = 42
[0] => 3
[1] => 4
[2] => 2
[3] => 2
[4] => 3
[5] => 1
[6] => 2
[7] => 3
[8] => 4
[9] => 2
[10] => 2
[11] => 3
[12] => 2
[13] => 2
[14] => 2
d = 37

Contenu connexe

Plus de Şahabettin Akca

Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly
Temel Bilgisayar ve Günümüz Bilgisayarları ile AssemblyTemel Bilgisayar ve Günümüz Bilgisayarları ile Assembly
Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly
Şahabettin Akca
 

Plus de Şahabettin Akca (8)

Hoca Ahmet Yesevi Hayatı, Eğitimi ve Esereri
Hoca Ahmet Yesevi Hayatı, Eğitimi ve EsereriHoca Ahmet Yesevi Hayatı, Eğitimi ve Esereri
Hoca Ahmet Yesevi Hayatı, Eğitimi ve Esereri
 
İşletim Sistemi Bellek Yönetimi
İşletim Sistemi Bellek Yönetimiİşletim Sistemi Bellek Yönetimi
İşletim Sistemi Bellek Yönetimi
 
Analog Sayısal ve Sayısal Analog Çeviriciler
Analog Sayısal ve Sayısal Analog ÇeviricilerAnalog Sayısal ve Sayısal Analog Çeviriciler
Analog Sayısal ve Sayısal Analog Çeviriciler
 
Sokrates niçin yargılandı, suçlamalar nelerdi, savunması - Şahabettin AKCA
Sokrates niçin yargılandı, suçlamalar nelerdi, savunması - Şahabettin AKCASokrates niçin yargılandı, suçlamalar nelerdi, savunması - Şahabettin AKCA
Sokrates niçin yargılandı, suçlamalar nelerdi, savunması - Şahabettin AKCA
 
Proje rapor oop program kullanım kılavuzu
Proje rapor oop program kullanım kılavuzuProje rapor oop program kullanım kılavuzu
Proje rapor oop program kullanım kılavuzu
 
Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly
Temel Bilgisayar ve Günümüz Bilgisayarları ile AssemblyTemel Bilgisayar ve Günümüz Bilgisayarları ile Assembly
Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly
 
Dağıtık Sistemler / Programlama
Dağıtık Sistemler / ProgramlamaDağıtık Sistemler / Programlama
Dağıtık Sistemler / Programlama
 
Bor Elementi - Şahabettin Akca
Bor Elementi - Şahabettin AkcaBor Elementi - Şahabettin Akca
Bor Elementi - Şahabettin Akca
 

Feature selection - metin madenciliği özellik seçimi

  • 1. Şahabettin AKCA - 11 Nisan 2023 Metin Madenciliği Özellik Seçimi
  • 2. Metin Madenciliği Özellik Seçimi • Sını fl andırıcının, kendisine hangi anahtar sözcüklerle sını fl andırma işlemine karar vereceğini sormaktadır. • Bu anahtar sözcükler ile bütün eğitim dokümanlarını ele alarak hangisiyle daha çok ilişkili ise o yönde karar vermektedir. • Dokümanı temsil edecek kelimelerin seçimi veya diğer bir deyişle özellik seçimi kavramı, metin madenciliği çalışmalarında dokümanın hangi sözcüklerle ifade edileceğinin belirlendiği adımdır. • Özellik seçiminin doküman vektör boyutunun azaltılması sonucu olarak işlem süresini düşürdüğü ve çalışmalarda daha doğru sonuçlar elde edilmesini sağladığını belirten çalışmalar vardır.
  • 3. Özellik Seçimi Odds Ratio Metin madenciliğinde Odds Ratio (OR) veya etiketleri hesaplamak için aşağıdaki formülü kullanabilirsiniz: OR = (a x d) / (b x c) Burada, a: İlgilenilen terimin belirli bir sınıfta bulunduğu belge sayısı b: İlgilenilen terimin diğer sını fl arda bulunduğu belge sayısı c: Diğer tüm terimlerin belirli bir sınıfta bulunduğu belge sayısı d: Diğer tüm terimlerin diğer sını fl arda bulunduğu belge sayısı Bu formül, terimin belirli bir sınıfta bulunma olasılığını, diğer sını fl arda bulunma olasılığına karşı oranını hesaplar. OR değeri 1'den büyükse, terimin belirli sını fl a ilişkili olduğu düşünülür. OR değeri 1'e yakınsa, terimin sını fl a ilişkili olmadığı düşünülür.
  • 4. Örnek Kod Php Programlama Dili // Belirli bir sınıfta ilgili terimin geçtiği belge sayısı $a = 5; // Diğer sını fl arda ilgili terimin geçtiği belge sayısı $b = 10; // Belirli sınıftaki diğer tüm terimlerin geçtiği belge sayısı $c = 50; // Diğer sını fl ardaki diğer tüm terimlerin geçtiği belge sayısı $d = 100; // Odds Ratio hesaplama $or = ($a * $d) / ($b * $c); // Sonucu ekrana yazdırma echo "Odds Ratio: " . $or; Bu örnek kodda, ilgili terim belirli bir sınıfta 5 belgede, diğer sını fl arda 10 belgede geçiyor. Aynı sınıftaki diğer tüm terimler 50 belgede, diğer sını fl ardaki diğer tüm terimler 100 belgede geçiyor. Bu değerleri kullanarak Odds Ratio hesaplanıyor ve sonuç ekrana yazdırılıyor. Bu değerin 1'den büyük olması durumunda, terimin belirli bir sını fl a ilişkili olduğu düşünülebilir.
  • 5. Örnek Terim Php Programlama Dili $tr[1][1] = array(1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0); $tr[1][2] = array(1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0); $tr[1][3] = array(0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1); $tr[1][4] = array(0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1); $tr[1][5] = array(1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1); $tr[2][1] = array(0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0); $tr[2][2] = array(1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0); $tr[2][3] = array(1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1); $tr[3][1] = array(0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0); $tr[3][2] = array(1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1);
  • 6. Hesaplama Fonksiyonu 1/5 Tanımlamalar $as = array(); // Belirli bir sınıfta ilgili terimin geçtiği belge sayısı $bs = array(); // Diğer sını fl arda ilgili terimin geçtiği belge sayısı $cs = array(); // Belirli sınıftaki diğer tüm terimlerin geçtiği belge sayısı $ds = array(); // Diğer sını fl ardaki diğer tüm terimlerin geçtiği belge sayısı $sonuc = array(); $istenenTerim = 0; $c_toplam = 0; $d_toplam = 0;
  • 7. Hesaplama Fonksiyonu 2/5 Olan Terimleri Tespit Etme foreach ($sini fl ar as $keySinif => $sinif) { foreach ($sinif as $k2 => $dokuman) { foreach ($dokuman as $keyTerim => $terim) { if (!isset($sonuc[$keyTerim][$keySinif])) { $sonuc[$keyTerim][$keySinif] = 0; $cs[$keySinif] = 0; $ds[$keySinif] = 0; } if ($terim == 1) { $sonuc[$keyTerim][$keySinif]++; } } ksort($sonuc[$keySinif]); //sıralama için. yatay da başlarda sıfır 0 olunca aşağıda 1 olunca key aşağıya atılıyordu. } } ksort($sonuc);
  • 8. Hesaplama Fonksiyonu 3/5 A Değeri Hesaplama foreach ($sonuc as $keyTerim => $terim) { foreach ($terim as $keySinif => $terimSayisi) { $as[$keyTerim] = $terimSayisi; $mevcutSinif = $keySinif; $cs[$keySinif] += $terimSayisi; //bu siniftaki tum terim sayisi $c_toplam += $terimSayisi; if ($keySinif != $istenenTerim) //istenen terim değilse A yı hesaplamayı bırak break; } } ksort($a);
  • 9. Hesaplama Fonksiyonu 4/5 B Değeri Hesaplama foreach ($sonuc as $keyTerim => $terim) { foreach ($terim as $keySinif => $terimSayisi) { if ($keySinif != $mevcutSinif) {//istenen terim A ise diğer terimleri topla B yi hesapla $bs[$keyTerim] += $terimSayisi; $ds[$keySinif] += $terimSayisi; //diğer siniftaki tum terim sayisi $d_toplam += $terimSayisi; } } } ksort($b);
  • 10. Hesaplama Fonksiyonu 5/5 Or Değeri Hesaplama $degerler = array(); foreach ($as as $key => $a) { $b = $bs[$key]; $c = $c_toplam; $d = $d_toplam; $or = ($a * $d) / ($b * $c); $degerler[$key] = $or; } Bu örnek kodda, her bir sınıfın her bir özelliği için Odds Ratio hesaplanıyor ve sonuçlar ekrana yazdırılıyor. Bu değerin 1'den büyük olması durumunda, terimin belirli bir sını fl a ilişkili olduğu düşünülebilir.
  • 11. Or Sonuçları Terim Değerleri [0] => 0.88095238095238 [1] => 0.88095238095238 [2] => 0.88095238095238 [3] => 0.88095238095238 [4] => 1.1746031746032 [5] => 0.88095238095238 [6] => 0 [7] => 1.1746031746032 [8] => 1.1011904761905 [9] => 0.44047619047619 [10] => 0.88095238095238 [11] => 0.88095238095238 [12] => 2.202380952381 [13] => 1.3214285714286 [14] => 1.3214285714286 Verilen değerleri kullanarak Odds Ratio hesaplanıyor ve sonuç ekrana yazdırılıyor. Bu değerin 1'den büyük olması durumunda, terimin belirli bir sınıfla ilişkili olduğu düşünülebilir.
  • 12. Hesaplama Sonuçlar a ve b Değerleri [0] => 3 [1] => 4 [2] => 2 [3] => 2 [4] => 4 [5] => 1 [6] => 0 [7] => 4 [8] => 5 [9] => 1 [10] => 2 [11] => 3 [12] => 5 [13] => 3 [14] => 3 c = 42 [0] => 3 [1] => 4 [2] => 2 [3] => 2 [4] => 3 [5] => 1 [6] => 2 [7] => 3 [8] => 4 [9] => 2 [10] => 2 [11] => 3 [12] => 2 [13] => 2 [14] => 2 d = 37