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 Listngrams(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