Selasa, 10 Juli 2018

TF-IDF Mencari Kata Kunci dari Kalimat

jika kita adiminta u merangkum kalimat....aplikasi ini cuocok banget




HASIL PERHITUNGAN

HASIL PERHITUNGAN
 Nah ini rumusnya:



    <?php

if(isset($_POST['STEM'])){
require_once __DIR__ . '/vendor/autoload.php';


$jumlahcari=$_POST["jumlah"];

if(isset($_POST["isidokumen"])){
$bacapdf=$_POST["isidokumen"];
$bacapdf=strtolower($bacapdf);
}
else{

echo"<script>alert('Silakan isi dokumen uji Anda');document.location.href='steming.php';</script>";
}

error_reporting(0);

 $initos = new \Sastrawi\Stemmer\StemmerFactory();
 $bikinos = $initos->createStemmer();

$stemming=$bikinos->stem($bacapdf);
$stemming=strtolower($stemming);
$arAsli=explode(".",$bacapdf);
$jumk=count($arAsli);

$AR=explode(" ",$stemming);
$AR=array_unique($AR);

$m=0;
for($i=0;$i<count($AR);$i++){
if(strlen($AR[$i])>1){
$arUnix[$m]=$AR[$i];
$m++;
}
}

for($i=0;$i<$jumk-1;$i++){
$TOT[$i]=0;
$kalimat=strtolower($arAsli[$i]);
$stemsatuan= $bikinos->stem($kalimat);
$arStem[$i]=$stemsatuan;
$no=$i+1;
echo"<b>Kalimat $no.</b><br><b>ASLI :</b>".$arAsli[$i]."<br><b>STEM:</b>".$arStem[$i]."<hr>";
}

echo"<table width='300%' border='1'>";
echo"<tr><td>Kata";
for($i=0;$i<$jumk;$i++){
$u=$i+1;
echo"<td>D".$u;
}
echo"<td>df<td>IDF";
for($i=0;$i<$jumk;$i++){
$u=$i+1;
echo"<td>IDF".$u;
}
echo"</tr>";

for($i=0;$i<count($arUnix);$i++){
$kata=$arUnix[$i];
echo"<tr><td>".$kata."</td>";
$jumada=0;
for($j=0;$j<$jumk;$j++){
$ada=getHit($kata,$arStem[$j]);
$M[$i][$j]=$ada;
$jumada+=$ada;
echo"<td>".$ada;
}
$log=log($jumk,10)/$jumada;
$log=log($jumk/$jumada,10);
$log=round($log,2);
echo"<td>$jumada<td>log($jumk/$jumada)=$log";

for($j=0;$j<$jumk;$j++){
$N[$i][$j]=round($M[$i][$j] * $log,2);
$TOT[$j]=$TOT[$j]+$N[$i][$j];
echo "<td>".$N[$i][$j];
}
echo"</tr>";
}//for i

//------------------------------------
echo"<tr><td>";
for($i=0;$i<$jumk;$i++){
$u=$i+1;
echo"<td>";
}
echo"<td><td>Total";
for($i=0;$i<$jumk;$i++){
$IN[$i]=$i;
echo"<td>".$TOT[$i];
}
echo"</tr>";
echo"</table>";


    $size = count($TOT);
    for ($i=0; $i<$size; $i++) {
        for ($j=0; $j<$size-1-$i; $j++) {
            if ($TOT[$j+1] > $TOT[$j]) {
                swap($TOT, $j, $j+1);
  swap($IN, $j, $j+1);
            }
        }
    }

echo"<h3>Hasil Peringkasan Dokumen Prioritas</h3>";
for($i=0;$i<$jumlahcari;$i++){
$index=$IN[$i];
$bobot=$TOT[$i];
echo ($i+1).".". $arAsli[$index]." ".$bobot."<hr>";
}

}//isset
?>



                </div>             
            </div>
        </div>
</br>
</br>
</br>
    <?php

function getHit($kal,$kalimat){
$ar=explode(" ",$kalimat);
$ada=0;
for($i=0;$i<count($ar);$i++){
if($kal==$ar[$i]){$ada++;}
}//for
return $ada;
}
?>
 
    <?php
function swap(&$arr, $a, $b) {
    $tmp = $arr[$a];
    $arr[$a] = $arr[$b];
    $arr[$b] = $tmp;
}
?>


Tidak ada komentar:

Posting Komentar

Mencari Tanggal Terakhir Suatu Bulan

  $a_date = "$tahun-$bulan-01"; $lastdate= date('t',strtotime($a_date));//Y-m-t <?php require_once"koneksivar.php&...