4.2.5 Class Mencari Bobot
Pemprosesan sebuah sistem untuk menentukan bobot di setiap term yang didapat.
} return hasil;
} return null;
} public static ListString stemDokumen Dokumen, SetString
kamus { Lemmatizer stemmer = new DefaultLemmatizerkamus;
ListString hasil = new ArrayListDokumen.size; for String kata : Dokumen.daftarKata {
hasil.addstemmer.lemmatizekata; }
return hasil; }
}
List Code 4. 4 Class Tampil stopword
public class Mencari_bobot { public static double dotproductdouble[] i, double[] j {
if i.length = j.length { throw new IllegalArgumentException;
} double hasil = 0;
for int k = 0; k i.length; k++ { hasil += i[k] j[k];
} return hasil; }
static class TermDocumentPair { public String term;
public Dokumen doc; TermDocumentPairString term, Dokumen doc {
this.term = term; this.doc = doc; }
} private SetString allTerms;
private MapTermDocumentPair, Integer tableTF; private MapString, Integer tableDF;
private Master master; private Dokumen docTest;
private Dokumen docTest; public Dokumen getDocTest {
return docTest; }
public void setDocTestDokumen docTest { this.docTest = docTest;
} public Mencari_bobotMaster m {
master = m; allTerms = m.terms;
int size = allTerms.size m.documents.size; tableTF = new HashMapsize;
tableDF = new HashMapsize; docTest = m.getTestDoc;
} public int getTermFrequencyString term, Dokumen doc {
TermDocumentPair key = new TermDocumentPairterm, doc; if tableTF.containsKeykey {
return tableTF.getkey; } else {
int count = 0; for String kata : doc.daftarKata {
if kata.equalsterm { count++;
} }
tableTF.putkey, count; return count;
} }
public int getDocumentFrequencyString term { if tableDF.containsKeyterm {
return tableDF.getterm; } else {
int c = 0; for Dokumen d : master.documents {
if d.daftarKata.containsterm { c++;
} }
tableDF.putterm, c; return c;
} }
idf
private double idf1String term { return Math.logmaster.documents.size
getDocumentFrequencyterm; }
private double idf2String term { return 1d double getDocumentFrequencyterm;
} private double idf3String term {
return Math.log1000 getDocumentFrequencyterm; }
public double getInverseDocumentFrequencyString term, int metode { switch metode {
case 1: return idf1term;
case 2: return idf2term;
case 3: return idf3term;
default: throw new IllegalArgumentException;
} }
bobot public double getWeightString term, Dokumen doc {
return getTermFrequencyterm, doc getInverseDocumentFrequencyterm,1;
} public double getInnerProductString term, Dokumen doc {
return getWeightterm, doc getWeightterm, docTest; }
List Code 4. 5 Class Mencari Bobot W
Untuk memanggil semua sistem yang sudah dibuat sehingga dokumen dapat diproses dengan semestinya.
4.3 Sistem Yang Digunakan Dari WEKA