Korpus (kumpulan dokumen) merupakan format XML yang disimpan dalam ‘korpus.txt’.
Salah satu contoh langkah program yaitu:
-membuka file korpus, pada PHP dapat dilakukan dengan:
$filename = “korpus.txt”;
$handle = fopen($filename, “r”);
-menghilangkan whitespace, seperti spasi, newline, dll:
$line = preg_replace(‘/^\s*/’, ”, $line);
$line = preg_replace(‘/\s*$/’, ”, $line);
-mengubah kata-kata pada korpus menjadi huruf kecil, sehingga memudahkan proses pencarian kata pada dokumen:
$line = strtolower($line);
-tokenisasi, kemudian menyimpannya sebagai array:
$kata = preg_split(“/[\s,.:]+/”, $line);
if (preg_match(“/^[a-z]/”, $tok)) {
$freq[$tok]+=1;
$s++; //menghitung jumlah seluruh kata
}
-mengambil nilai frekuensi array tersebut.
foreach ($freq as $key => $val) {
echo “$key => $val<br />”;
}
Contoh program (source code) secara keseluruhan yaitu:
$filename = “korpus.txt”;
$handle = fopen($filename, “r”);
while (!feof($handle)) {
$line = fgets($handle); //baca per baris
$line = preg_replace(‘/^\s*/’, ”, $line);
$line = preg_replace(‘/\s*$/’, ”, $line);
$line = strtolower($line);
if ($line==”<text>”) { // awal
$start=1;
}
elseif ($line==”</text>”) {
$start=0;
}
if ($start==1 && $line!=”<text>”) {
$kata = preg_split(“/[\s,.:]+/”, $line);
foreach($kata as $tok) {
$tok=preg_replace(‘/[?!.,()*]|\”/’,”,$tok);
$tok=preg_replace(‘/^\’/',”,$tok);
if (preg_match(“/^[a-z]/”, $tok)) {
$freq[$tok]+=1;
$s++; //menghitung jumlah seluruh kata
}
}
}
}
arsort($freq); //mengurutkan kata dari frekuensi yang terbesar
foreach ($freq as $key => $val) {
echo “$key => $val<br />”;
}
fclose($handle);
?>
OK, selamat berkreasi!!!
Download this post: PROGRAM TOKENISASI DAN HITUNG FREKUENSI DENGAN PHP