N-Grams adalah potongan sejumlah karekter dari suatu string tertentu atau potongan jumlah (n) kata dari suatu kalimat. Jadi setiap string yang diproses akan menjadi potongan-potongan n kata.
N-grmas merupakan dasar dari pengolahan kalimat. Dengan implementasi N-Grams sebuah aplikasi dapat dikembangkan untuk spelling correction, word breaking dan text summarization. Bahkan Microsoft dan Google menggunakan model ini untuk pengembangan web mereka.
N-Grams ini akan mengambil sejumlah kata yang kita butuhkan dari sebuah kalimat. Seperti contohnya kalimat "Melody nampak sangat cantik", maka bentuk N-Grams dari kalimat tersebut adalah :
- Unigram : Melody, nampak, sangat, cantik
- Bigram : Melody nampak, nampak sangat, sangat cantik
- Trigram : Melody nampak sangat, nampak sangat cantik
- dst,.
Lalu bagaimana mengimplementasikannya pada sebuah pemrograman? Salah satu bahasa yang bisa digunakan untuk N-Grams ini adalah Java. Berikut adalah kodenya :
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class NGram {
public static List ngrams(int n, String str) {
List ngrams = new ArrayList();
String[] words = str.split(" ");
for (int i = 0; i < words.length - n + 1; i++) {
ngrams.add(concat(words, i, i + n));
}
return ngrams;
}
public static String concat(String[] words, int start, int end) {
StringBuilder sb = new StringBuilder();
for (int i = start; i < end; i++) {
sb.append((i > start ? " " : "") + words[i]);
}
return sb.toString();
}
public static void main(String[] args) {
String kalimat;
int pilih = 0;
while (pilih != 4) {
Scanner s = new Scanner(System.in);
Scanner s2 = new Scanner(System.in);
System.out.println("1. Unigram");
System.out.println("2. Bigram");
System.out.println("3. Trigram");
System.out.println("4. Exit");
System.out.print("Plih N-Gram : ");
pilih=s.nextInt();
if (pilih > 0 && pilih < 5 && pilih!=4) {
System.out.print("Masukan Kalimat : ");
kalimat = s2.nextLine();
if (pilih != 4) {
for (int n = pilih; n <= pilih; n++) {
for (String ngram : ngrams(n, kalimat)) {
System.out.println(ngram);
}
System.out.println();
}
}
}else{
if (pilih != 4) {
System.out.println("Input Salah..");
System.out.println("=============");
}
}
}
}
}
Itulah cara Membuat N-Grams : Unigram, Bigram, Trigram Pada Java.
Terima kasih.

Comments
Post a Comment