Natural Language Processing
1. Text Classification / Text Categorization
Text classification adalah proses pengklasifikasian dokumen menjadi beberapa kategori yang telah ditetapkan, berdasarkan muatan masing-masing. Text classification merupakan syarat awal dari sistem text retrieval yang mengambil teks-teks yang ada sebagai respon dari masukan (query) user, dan sistem text understanding yang mengubah teks menjadi kesimpulan, jawaban dari pertanyaan, atau makna dari data. Algoritma supervised learning untuk pengklasifikasian teks yang ada saat ini membutuhkan dokumen yang cukup agar bisa belajar dan berkembang secara akurat.
Banyak algoritma yang telah dikembangkan untuk menangani text classification secara otomatis. Yang paling umum digunakan adalah Naive Bayes classifier, association rule mining, genetic algorithm, dan decision tree.
Bayesian Classifier dijalankan berdasarkan Bayes theorem. Sebuah Bayesian classification sederhana yang dinamakan naive classification dinilai memiliki performa setara dengan decision tree dan neural network classifier. Naive Bayes classification mengasumsikan bahwa efek dari nilai sebuah atribut dari kelas yang diberikan bersifat independen terhadap nilai atribut lain. Asumsi ini dinamakan class conditional independence. Bayes classifier adalah yang paling populer dan memiliki performa terbaik. Klasifikasi yang dilakukan terhadap data baru kurang lebih dengan cara memilih kelas yang dirasa paling mirip dengan contoh sebelumnya. Akurasi dari algoritma ini berkisar antara 41 % hingga 74 %.
Association rule mining mencari dan menemukan hubungan atau korelasi diantara himpunan data yang besar. Singkat kata, association rule mining berdasarkan pengasosiasian hubungan. Algoritma ini dijalankan berdasarkan 2 faktor utama yang disebut minumum support threshold dan minimum confidence threshold.
Association rule mining diterapkan bersamaan dengan Bayes classifier, untuk pengklasifikasian teks. Association rule mining bergantung pada Bayes classifier. Namun, metode ini menerapkan perhitungan secara negatif terhadap setiap penentuan kelas khusus pada beberapa kasus, sehingga akurasinya hanya mampu mencapai 60 %.
Genetic algorithm adalah bagian dari komputasi yang evolusioner yang bertumbuh cepat di bidang AI ini. Algoritma ini dibuat berdasarkan teori evolusi Darwin. Dengan kata lain, sebuah masalah diselesaikan melalui proses evolusi yang menghasilkan hasil terbaik yang paling mampu bertahan, atau singkat kata solusi itu sendiri berevolusi. Tingkat keberhasilannya bisa mencapai 69 %, namun butuh waktu yang lama mengingat waktu evolusi yang dibutuhkan tidaklah sebentar.
2. Information Retrieval (Temu Kembali Informasi)
Information Retrieval adalah seni dan ilmu mencari informasi dalam dokumen, mencari dokumen itu sendiri, mencari metadata yang menjelaskan dokumen, atau mencari dalam database, apakah relasional database itu berdiri sendiri atau database hypertext jaringan seperti Internet atau intranet, untuk teks , suara, gambar, atau data
Secara prinsip, penyimpanan informasi dan penemuan kembali informasi adalah hal yang sederhana. Misalkan terdapat tempat penyimpanan dokumen-dokumen dan seseorang (user) merumuskan suatu pertanyaan (request atau query) yang jawabannya adalah himpunan dokumen yang mengandung informasi yang diperlukan yang diekspresikan melalui pertanyaan user. User bisa saja memperoleh dokumen-dokumen yang diperlukannya dengan membaca semua dokumen dalam tempat penyimpanan, menyimpan dokumen-dokumen yang relevan dan membuang dokumen lainnya. Hal ini merupakan perfect retrieval, tetapi solusi ini tidak praktis. Karena user tidak memiliki waktu atau tidak ingin menghabiskan waktunya untuk membaca seluruh koleksi dokumen, terlepas dari kenyataan bahwa secara fisik user tidak mungkin dapat melakukannya.
Information Retrieval merupakan bagian dari computer science yang berhubungan dengan pengambilan informasi dari dokumen-dokumen yang didasarkan pada isi dan konteks dari dokumen-dokumen itu sendiri. Information Retrieval merupakan suatu pencarian informasi (biasanya berupa dokumen) yang didasarkan pada suatu query (inputan user) yang diharapkan dapat memenuhi keinginan user dari kumpulan dokumen yang ada. Sedangkan, definisi query dalam Information Retrieval menurut referensi merupakan sebuah formula yang digunakan untuk mencari informasi yang dibutuhkan oleh user, dalam bentuk yang paling sederhana, sebuah query merupakan suatu keywords (kata kunci) dan dokumen yang mengandung keywords merupakan dokumen yang dicari dalam IRS.
Proses yang terjadi di dalam Information Retrieval System terdiri dari 2 bagian utama, yaitu Indexing subsystem, dan Searching subsystem (matching system). Proses indexing dilakukan untuk membentuk basisdata terhadap koleksi dokumen yang dimasukkan, atau dengan kata lain, indexing merupakan proses persiapan yang dilakukan terhadap dokumen sehingga dokumen siap untuk diproses. Proses indexing sendiri meliputi 2 proses, yaitu document indexing dan term indexing. Dari term indexing akan dihasilkan koleksi kata yang akan digunakan untuk meningkatkan performansi pencarian pada tahap selanjutnya. Tahap-tahap yang terjadi pada proses indexing ialah:
1. Word Token, yaitu mengubah dokumen menjadi kumpulan term dengan cara menghapus semua karakter dalam tanda baca yang terdapat pada dokumen dan mengubah kumpulan term menjadi lowercase.
2. Stopword Removal. Proses penghapusan kata-kata yang sering ditampilkan dalam dokumen seperti: and, or, not dan sebagainya.
3. Stemming. Proses mengubah suatu kata bentukan menjadi kata dasar.
4. Term Weighting. Proses pembobotan setiap term di dalam dokumen.
Model IR ada tiga jenis, yaitu :
– Model Boolean : merupakan model IR sederhana yang berdasarkan atas teori himpunan dan aljabar boolean
– Model Vector Space : merupakan model IR yang merepresentasikan dokumen dan query dalam bentuk vektor dimensional
– Model Probabilistic : merupakan model IR yang menggunakan framework probabilistic
3.HITS Algorithm (Hyperlink-Induced Topic Search)
Hal ini hampir sama dengan algoritma PageRank, tapi HITS tidak menghitung jumlah link di halaman, tapi melihat-lihat link yang ditemukan, jika sesuai dengan tujuan link, kata-kata yang lebih tepat antara link asal ke link tujuan akan semakin tinggi nilai otoritas nya dalam halaman.
Ide dasar dibalik algoritma ini adalah bahwa semua halaman web di internet dikategorikan ke dalam dua kelompok yang disebut Hub dan Authoritas. Hub menentukan halaman web yang telah keluar ke suatu link yang merupakan halaman web penting lainnya dan authoritas menentukan halaman web yang memiliki link masuk dari halaman web penting lainnya. Pengaplikasian algoritma hits adalah search engine querying (Kecepatan merupakan suatu masalah, mencari komunitas web, mencari halaman web terkait, mengisi kategori dalam direktori web, dan menganalisis suatu kutipan.
4. Prolog (PROgramming in LOGic)
Prolog merupakan satu ide yang dicetuskan pada awal 1970an untuk menggunakan logika sebagai bahasa pemprograman. Mereka yang bertanggungjawab dalam pengembangan ide ini ialah Robert Kowalski dari Edinburgh dalam aspek teori dan Colmerauer dari Marseilles dalam aspek implementasi.
Prolog biasanya dikaitkan dengan berlogika dan merupakan bahasa pemprograman untuk perhitungan simbolik dan tak-berangka. Prolog paling sesuai untuk menyelesaikan masalah yang berkaitan dengan objek dan hubungan antara objek, masalah persamaan corak, masalah penjejakan ke belakang dan masalah yang informasinya tidak lengkap.
Algoritma dalam Prolog terdiri dari logika dan kontrol. Logika merupakan fakta dan peraturan yang menerangkan apa yang seharusnya dilakukan oleh algoritma. Sedangkan kontrol merupakan cara algoritma bisa Munir: Pengenalan Bahasa Prolog 2 diimplementasikan dengan menggunakan peraturan. Sintaks yang dibentuk dalam Prolog adalah dalam bentuk klausa atau formula First Order Predicate Logic.
Prolog adalah bahasa pemrograman logika atau di sebut juga sebagai bahasa non-procedural. Namanya diambil dari bahasa Perancis programmation en logique (pemrograman logika). Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan logika alih-alih rangkaian perintah untuk dijalankan komputer.
Berbeda dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensional sebagai teknik pencariannya seperti pada Delphi, Pascal, BASIC, COBOL danbahasa pemrograman yang sejenisnya, maka prolog menggunakan teknik pencarian yang di sebut heuristik (heutistic) dengan menggunakan pohon logika.
www.binus.ac.id
