Penambangan Teks di Python: Preprocessing dengan NLTK

Di dunia saat ini, menurut perkiraan industri, hanya sekitar 20 persen dari data yang dihasilkan dalam format terstruktur saat kita berkomunikasi, seperti melalui tweet yang kita tulis, saat kita mengirim pesan menggunakan WhatsApp, Email, Facebook, Instagram atau pesan teks apa pun. Dan sebagian besar data ini ada dalam bentuk teks yang merupakan format yang sangat tidak terstruktur. Untuk menghasilkan wawasan yang bermakna dari data teks maka kita perlu mengikuti metode yang disebut Analisis Teks.

Penambangan Teks adalah proses memperoleh informasi berkualitas tinggi dari teks. Tujuan keseluruhannya adalah mengubah teks menjadi data untuk dianalisis melalui aplikasi Pengolahan Bahasa Alami (Natural Language Processing, NLP). NLP menggunakan metodologi yang berbeda untuk menguraikan ambiguitas dalam bahasa manusia, termasuk di antaranya adalah peringkasan otomatis (summarization), penandaan bagian-dari-ungkapan (part of speech tagging), disambiguasi, chunking, serta pengenalan dan pemahaman bahasa alami.

Kita akan melihat sebagian besar proses Text Mining tersebut menggunakan Python dan library NLTK.

Struktur Data Probabilistik: Bloom Filter

Struktur data mainstream seperti List, Map, Set, Tree, dll. banyak digunakan untuk mencapai hasil tertentu berkaitan dengan ada atau tidaknya data, mungkin bersama dengan jumlah kemunculannya dan semacamnya. Struktur data probabilistik akan memberikan efisiensi memori, hasil yang lebih cepat, bentuk hasil lebih ke ‘mungkin’ daripada ‘pasti’. Tampaknya tidak intuitif untuk menggunakan struktur data probabilistik untuk saat ini, tetapi tutorial ini akan mencoba meyakinkan bahwa jenis struktur data ini memiliki tempat pemanfaatan khusus dan kita mungkin menemukannya berguna dalam skenario tertentu.

Dalam posting ini, kita akan mendiskusikan tentang salah satu struktur data probabilistik paling populer yang disebut Bloom filter. Silakan Akses Tutorial ini!

Tutorial Hadoop untuk Pemula

Jumlah data telah meningkat pesat dalam satu dekade terakhir. Ini termasuk volume besar dari berbagai format data yang dibangkitkan pada kecepatan sangat tinggi. Pada masa awal, bukanlah tugas yang berat untuk mengelola data, tetapi dengan meningkatnya data, telah menjadi lebih sulit untuk menyimpan, memroses, dan menganalisisnya. Data demikian dikenal sebagai Big Data. Bagaimana kita mengelola big data? Gunakan Hadoop, suatu framework yang dapat digunakan untuk menyimpan (store), memroses dan menganalisis big data.

Dalam tutorial ini kita akan mendiskusikan hal-hal berikut:

1. Mengapa Hadoop?
2. Apa itu Hadoop?
3. Hadoop HDFS
4. Hadoop MapReduce
5. Hadoop YARN
6. Kasus penggunaan Hadoop
7. Demo HDFS, MapReduce, dan YARN

Berminat? silakan download tutorial ilustratif ini, hanya 18 halaman koq 🙂

Teknik Estimasi dalam Pemrosesan Bahasa Alami

Kali ini kita akan mempelajari suatu topik penting di dalam bidang Pengolahan Bahasa Alami (Natural Language Processing), yaitu Pendekatan Prediksi Kata untuk memperkirakan kehadiran suatu kata. Beberapa contoh dan penjelasannya akan digunakan untuk memudahkan pemahaman terhadap topik ini. Tulisan ini tidak mengandung review penelitian dan keterbaruan pendekatan solutif, meski tetap mencoba untuk melihat beberapa contoh aplikasi terkini dari topik yang dibahas. Hal ini pula yang menjadi alasan digunakannya buku, catatan kuliah dan situs web tertentu sebagai referensi dalam menyelesaikan naskah ini.

Makalah ini akan menjelaskan beberapa pendekatan dasar dalam mengestimasi kata yang akan hadir, baik setelah suatu deretan kata lain atau di awal kalimat. Topik mengenai prediksi kata selanjutnya sangat berkaitan dengan pemodelan suatu bahasa, karena itu juga akan dijabarkan mengenai model bahasa tertentu, terutama n-grams. Teknik estimasi yang dipilih dapat memberikan hasil yang tidak sesuai dengan kecerdasan manusia, sehingga diperlukan beberapa pendekatan untuk memperbaiki kualitas mesin prediksi “next word” ini.

Bagaimana, tertarik melanjutkan? Silakan download dan baca uraiannya.

Mata Kuliah Sistem Terdistribusi, Apa sih Isinya?

Di Universitas Trunojoyo Madura (UTM), Mata kuliah “pengantar” Sistem Terdistribusi (SisTer) mempunyai kode TIK-604. Artinya disediakan untuk Kita Semester 6. Penekanannya adalah pada teknik atau konsep fundamental untuk mewujudkan suatu sistem terdistribusi yang berfungsi, bermanfaat, dan berkinerja tinggi. Matakuliah SisTer ini hanya mempunyai satu tujuan utama, yaitu Kita (Kita) memperoleh pemahaman mengenai prinsip dan paradigma yang mendasari Sistem Terdistribusi, seperti Komunikasi antar entitas dalam dan antar jaringan, konkurensi (kebersamaan), sinkronisasi (penyelerasan), replikasi dan caching (penggKitaan data dan aplikasi), konsistensi dan toleransi kegagalan. Jadi, Kita harus betul-betul memahami konsep atau cara kerja dari SisTer. Terdengar Abstrak? Tidak juga, beberapa contoh akan memudahkan kita mendiskusikan konsep-konsep klasik dan modern di bidang yang sedang sangat dibutuhkan ini.

Continue reading

Kecerdasan Bisnis dan Terapannya

Kecerdasan Bisnis merupakan bidang yang sangat menarik dewasa ini. Berangkat dari Data Mining dan Analitika Teks, Business Intelligence juga membahas data science, kercerdasan buatan, data semesta, dan komputasi awan. Darisisi text (data) mining, topik mengenai Analitika Desrkiptif dan prediktif sangat mendominasi. Selain itu juga ada kajian mengenai analisis jejaring sosial, pembelajaran mesin (dan deep learningnya) dan pemrosesan bahasa alami.

Karena itu, situs ini coba berbagi bahan kuliah atau materi kajian ilmiah yang up-to-date dan bagus sekali mengenai business iltelligence dan contoh aplikasinya pada bahasa pemrograman Python. Slide-slide yang dapat didownload di bawah ini, awalnya adalah karya Dr. Min-Yuh Day dari Universitas Tamkang(Taiwan). Jika anda tertarik memperoleh materi BI langsung dari Dr. Day, silakan kunjungi situs webnya di http://mail.tku.edu.tw/myday.

1. Pengantar Kecerdasan Bisnis dalam Praktek

2. Kecerdasan Bisnis, Analitika dan Data Science

3. ABC: AI, Big Data dan Cloud Computing

4. Analitika Deskriptif I: Sifat Data, Pemodelan dan Visualisasi Secara Statistika

5. Analitika Deskriptif II: Kecerdasan Bisnis dan Data Warehousing

6. Analitika Prediktif I: Proses, metode dan Algortima Penambangan Data

7. Analitika Prediktif II: Analitika Teks, Web dan Media Sosial

8. Analitika Preskriptif: Optimisasi dan Simulasi

9. Analisis Jejaring Sosial

10. Pembelajaran Mesin dan Deep Learning

11. Pemrosesan Bahasan Alami

12. Chatbot dan Percakapan Cerdas

13. Tren Masa Depan, Pertimbangan Privasi dan Manajerial dalam Analitika.

Semoga bermanfaat, terutama bagi para dosen dan mahasiswa yang tertarik memulai penelitian mengenai topik-topik yang disebutkan di atas.

Pemrograman Aplikasi Temu-Kembali Informasi

Kali ini, saya mencoba berbagi sedikit pengalaman menulis aplikasi sistem temu-kembali (STKI) alias Information Retrieval (IR). Aplikasi ini sangat sederhana, hanya melalukan indexing, retrieval dan caching dalam penanganan query dari pengguna. Sebagaimana aplikasi IR lainnya, titik berat dari sistem demikian adalah perhitungan kemiripan antara Query Q dengan daftar dokumen di dalam koleksi (Di, i = 1 … n). Agar mudah dipahami, kali ini saya ketengahkan kode program lengkap (namun sederhana) dalam bahasa pemrograman PHP, bahasa yang sudah umum digunakan oleh pengembang aplikasi web, termasuk para pemula.

Silakan klik link-link berikut untuk mendapatkan tutorial dan source codenya:

1. Tutorial pengembangan aplikasi Sistem Temu-Kembali Informasi.

2. Kumpulan semua file dan database yang diperlukan agar aplikasi ini berjalan sesuai dengan Tutorial di atas. Silakan download file stbicode-v1.pdf kemudian ubah ekstensinya menjadi .zip. Ekstrak file tersebut dan siap digunakan. File stbicode-v1.zip berisi:

a. Daftar fungsi (fungsi.php) yang digunakan di dalam Sistem Temu-Kembali Informasi
b. File halaman web utama (index.php) dari aplikasi
c. File PHP untuk membangun koneksi ke server database MySQL (koneksi.php)
d. File backup database (SQL) yang berisi struktur dan isi database yang diperlukan oleh aplikasi STKI ini.

Semoga tulisan ini bermanfaat. Aamiin 🙂

Membangun Layanan Web Hosting Modern

Salam rekan sekalian. Kali ini saya akan coba mengetengahkan mengenai proses pembangunan sistem web hosting modern, yaitu yang melibatkan teknologi virtual hosting. Ada beberapa tool atau server yang digunakan: Bind 9 DNS Server, Apache 2 Web Server, Nginx Web Server dan HA Proxy (Reverse Proxy dan Load Balancer). Penguasaan dengan baik apa yang dibahas dalam tutorial ini merupakan jaminan untuk mampu membangun dan mengelola suatu sistem layanan Web Hosting Modern, meskipun teknologi virtualiasi di dunia web hosting dan pengembangan aplikasi terus bergerak cepat.

Silakan download tutorial tersebut di sini!. Selamat belajar

Pengembangan Aplikasi Web dengan MEAN (1) – Mengelola Database Dokumen dengan MongoDB

MongoDB adalah salah satu database dokumen. Ia juga masuk kategori NoSQL (Not Only SQL). Database jenis ini sedang menjadi tren terutama untuk menyimpan dokumen-dokumen yang tentu saja tidak tepat dalam format Relasional. SQL, sebagaimana hadir pada banyak database, seperti MySQL, SQL Server, Oracle dan PostgreSQL, memerlukan waktu lama untuk menguasainya. MongoDB sangat sederhana dan dapat dipelajari dalam sekejap.

Pada database relasional, data disimpan dalam rangkaian baris dan tabel. MongoDB mempunyai koleksi dan dokumen. Koleksi dapat disamakan dengan tabel, dan dokumen diumpamakan sebagai baris. Meskipun sebetulnya analogi tersebut belum tentu tepat.

Continue reading

Handout Kecerdasan Buatan

========================================= P E N G U M U M A N ================================================
Kuliah Tambahan/Pengganti di Minggu Tenang, diTIADAkan.

Kuliah Tambahan Kecerdasan Buatan, untuk kelas 10-03, 04 dan 05, ditiadakan. Silakan belajar sendiri, manfaatkan handout dan contoh-contoh dibuku referensi utama.

Selamat belajar, semoga sukses di UAS 🙂
————————————————————————————————————–

Ini adalah halaman yang berisi pengumuman dan materi kuliah Kecerdasan Buatan (Artificial Intelligence, AI) yang saya ampu pada semester I 2012/2013 di STMIK Amikom Yogyakarta.

Kuliah ini mencoba mendiskusikan berbagai konsep dan teknik penting dalam ilmu kecerdasan buatan, secara luas, singkat, tepat namun tidak mendalam & tidak rumit. Fokusnya adalah pada pemahaman (understanding) konsep dasar. Materi kuliah mencakup konsep Pencarian, representasi pengetahuan, penalaran, s.d soft computing. Kuliah ini mengharuskan mahasiswanya telah lulus matakuliah Logika Informatika dan berakal sehat 🙂

Tujuan Kuliah ini:

Mahasiswa mampu memahami konsep paradigma kecerdasan buatan dan soft computing, beserta keunggulannya dibandingkan komputasi tradisional.

Mahasiswa mampu memahami fondasi teoritis berbagai teknologi sistem cerdas sehingga cukup mampu untuk mengembangkan kemampuan untuk meng-evaluasi sistem cerdas, terutama pas/tidaknya itu bagi aplikasi tertentu dan mengelola aplikasi dari berbagai tool yang tersedia untuk mengembangkan sistem cerdas.

Rencana Materi Kuliah:

01. Mengenal Sistem Cerdas [Download Slide]

A. Konsep Fundamental
————————————————–
02. Penyelesaian masalah dengan Pencarian, fokus pada Uninformed/Blind Search [Download Slide]
03. Pencarian Informed (terpandu, heuristik), terutama Pencarian Greedy dan A* [Download Slide]
04. Variasi A* (IDA*, SMA*, D*) dan Pencarian Hill Climbing [Download Slide]
05. Pencarian Adversarial (Min-Max dan Alpha-Beta Pruning) [Tugas Mandiri]
06. Representasi Pengetahuan dan Penalaran [Download Slide]

UJIAN TENGAH SEMESTER (UTS)

07. Sistem Pakar berbasis Aturan (Rule-based Expert Systems, RBES), terutama penalaran Forward dan Backward Chaining [Download Slide]
08. Ketidakpastian (Uncertainty) dalam Sistem Pakar, mencakup Teorema dan Jaringan Bayes, dan Faktor Kepastian (CF) [Download Slide]

xx. Dasar Pemrograman Prolog, ditunda atau bakal dicancel 🙂

B. Soft Computing
————————————————–
09. Sistem [Pakar] Fuzzy, (Fuzzy Logic), mencakup Himpunan Fuzzy dan Operasinya, model penalaran Fuzzy: Mamdani, Sugeno dan Tsukamoto [Download Slide]
10. Pembelejaran Mesin (Machine Learning), terutama mengenai Decision Tree dan Pendekatan Bayesian [Download Slide]

11. Jaringan Syaraf Tiruan (Neural Network) [Download Slide]
12. Jaringan Syaraf Tiruan (lanjutan).

UJIAN AKHIR SEMESTER (UAS)

Buku Teks:

Crina Grosan dan Ajith Abraham, Intelligent Systems: A Modern Approach, Springer, 2011

Buku Pendukung:

Wolfgang Ertel, Introduction to Artificial Intelligence, Springer, 2011
Stuart Russell dan Peter Norvig, Artificial Intelligence: A Modern Approach, 3rd Edition, Prentice Hall, 2011

Hal-hal lain terkait kuliah ini dapat ditanyakan melalui email Lunix96@gmail.com