Pemrosesan Bahasa Alami (Natural Language Processing) - Seri Text Mining dan Web Mining (2)

Beberapa aplikasi text mining awal menggunakan penyajian sederhana yang disebut dengan ‘bag-of-words' ketika mengenalkan struktur ke suatu kumpulan dokumen berbasis teks untuk mengklasifikasikan nya menjadi dua atau lebih kelas yang sudah ditentukan atau untuk meng-cluster nya menjadi pengelompokan-pengelompokan alami. [Baca juga: Pengertian Clustering atau Analisa Cluster]. Dalam model ‘bag-of-words’ tersebut, teks, misalnya suatu kalimat, paragraph, atau dokumen penuh, disajikan sebagai kumpulan kata, dengan mengabaikan tata bahasa atau  urutan kata-kata yang akan muncul. Model ‘bag-of-words’ masih digunakan dalam beberapa tool klasifikasi dokumen yang sederhana. Contohnya, dalam memfilter spam email, suatu pesan di email bisa dimodelkan sebagai suatu kumpulan kata-kata yang tak berurutan (a bag-of-words) yang dibandingkan dengan dua ‘bags’ berbeda yang sudah ditentukan sebelumnya. Satu ‘bag’ diisi dengan kata-kata yang ditemukan di dalam pesan-pesan spam dan yang satunya diisi dengan kata-kata yang ditemukan dalam email-email yang legitimate. Meskipun beberapa kata mungkin ditemukan dalam kedua ‘bags’, bag untuk spam akan berisi kata-kata yang terkait dengan spam seperti stock, Viagra, dan buy jauh lebih sering muncul dibanding dengan bag untuk email legitimate, yang berisi lebih banyak kata yang terkait dengan teman-teman dan tempat kerja pengguna. Tingkat kecocokan antara ‘bag-of-words’ dari email tertentu dan dua bags yang berisi  ‘descriptor’ menetukan apakah email akan menjadi spam atau legitimate.

Secara alami, kita (manusia) tidak menggunakan kata-kata tanpa suatu urutan atau struktur. Kita menggunakan kata-kata dalam kalimat, yang memiliki semantik dan dan struktur sintaksis. Teknik-teknik otomatis (seperti teks mining) harus mencari cara untuk melebihi kemampuan interpretasi ‘bag-of-words’ dan menyatukan makin lama makin banyak struktur semantik dalam operasinya. Trend saat ini dalam text mining mengarah untuk selalu memasukkan banyak fitur-fitur canggih yang bisa diperoleh dengan menggunakan pemrosesan bahasa alami (natural language processing).



Sudah dibuktikan bahwa metode ‘bag-of-word’ mungkin tidak menghasilkan isi informasi yang cukup bagus untuk tugas-tugas dalam text mining (misalnya, klasifikasi, clustering, asosiasi). Contoh yang bagus bisa ditemukan dalam evidence-based medicine (pengobatan/kedokteran berbasis bukti). Komponen penting dalam pengobatan berbasis bukti ini adalah menyatukan temuan-temuan penelitian terbaik yang ada ke proses pembuatan keputusan klinis, yang melibatkan penilaian terhadap informasi yang dikumpulkan dari media cetak untuk validasi dan relevansi. Beberapa peneliti dari Univeristy of Maryland telah mengembangkan beberapa model penilaian bukti dengan menggunakan metode ‘bag-of-words’. Mereka menerapkan beberapa metode machine-learning yang popular disertai dengan lebih dari setengah juta artikel penelitian yang dikumpulkan dari MEDLINE (Medical Literature Analysis and Retrieval System Online). Dalam model-model mereka, mereka menyajikan setiap abstrak sebagai ‘bag-of-words’, dimana setiap istilah menunjukan satu feature. Meskipun menggunakan beberapa metode klasifikasi popular dengan berbagai metodologi design eksperimental, hasil-hasil prediksi dari eksperimen tersebut tidak jauh lebih baik dibandingkan dengan menebak secara sederhana, yang mungkin menunjukkan bahwa ‘bag-of-words’ tidak menghasilkan penyajian yang cukup bagus untuk artikel-artikel penelitian dalam domain ini; karena itu, teknik-teknik yang lebih handal seperti pemrosesan bahasa alami (Natural Language Processis/NLP) diperlukan. [Baca juga: Proses dalam Text Mining]

Pemrosesan Bahasa Alami atau Natural Language Processing (NLP) adalah komponen penting dalam text mining dan subbidang dalam kecerdasan buatan (artificial intelligence/AI) dan komputasi linguistic. Dia mempelajari tentang bagaimana ‘memahami’  bahasa manusia alami, dengan cara mengubah gambaran bahasa manusia (seperti dokumen teks) menjadi penyajian yang lebih formal (dalam bentuk data numeric dan sombolik) yang lebih mudah untuk dimanupulasi oleh program computer. Tujuan NLP adalah untuk melangkah melebihi manipulasi teks berbasis sintaks (yang sering kali disebut dengan ‘word counting’) ke pemahaman yang benar dan memproses bahasa alami yang mempertimbangkan berbagai batasan semantik dan gramatikal dan juga konteks.
Definisi dan scope dari kata ‘memahami’ adalah salah satu topic utama dalam diskusi tentang NLP. Dengan mempertimbangkan bahwa bahasa alami manusia adalah kabur dan bahwa pemahaman yang benar terhadap suatu arti memerlukan pengetahuan yang luas terhadap suatu topic (jauh berada diluar kata, kalimat, dan paragraph), akankah komputer mampu memahami bahasa alami dengan cara yang sama dan akurasi yang sama dengan manusia? Barangkali tidak! NLP telah ada lama sejak era ‘word counting’ yang sederhana, namun dia masih perlu lebih lama lahi untuk menuju ke benar-benar mampu memahami bahasa alami manusia.  Berikut adalah beberapa tantangan yang biasanya dikaitkan dengan implementasi NLP:
  • Part-of-speech tagging. Sangatlah sulit untuk menandai istilah-istilah dalam suatu teks yang terkait dengan bagian tertentu dari suatu naskah (misalnya kata benda, kata kerja, kata sifat, kata keterangan, dst), karena bagian dari naskah tidak hanya bergantung pada definisi istilah tetapi juga pada konteks dimana teks digunakan.
  • Text segmentation. Beberapa bahasa tulisan, seperti bahasa mandarin, jepang, dan thai, tidak memiliki batasan kata. Dalam contoh ini, tugas text-parsing memerlukan idetifikasi terhadap batasan kata, yang seringkali merupakan tugas yang sangat sulit. Tantangan serupa dalam segmentasi naskah muncul ketika menganalisa bahasa verbal, karena suara menyajikan rangkaian huruf dan kata yang bercampur satu sama lain.
  • Word sense disambiguation.  Banyak kata yang memiliki lebih dari satu arti. Memilih arti yang paling masuk akan hanya bisa dicapai dengan mempertimbangkan konteks di mana kata digunakan.
  • Syntactic ambiguity.  Tata bahasa dalam bahasa alami seringkali ambigu; artinya, ada berbagai struktur kalimat yang memungkinakan yang perlu dipertimbangkan. Memilih struktur yang paling tepat biasanya memerlukan paduan informasi kontektual dan semantik.
  • Imperfect or irregular input.  Aksen asing atau lokal dan berbagai hambatan vokal dalam pidato dan kesalahan ketik dan tata bahasa dalam teks-teks menyebabkan pengolahan bahasa bahkan lebih sulit.
  • Speech acts.  Suatu kalimat seringkali dianggap sebagai suatu aksi oleh si pembicara. Struktur kalimatnya sendiri mungkin tidak berisi cukup informasi untuk mendefinisikan tindakan ini. Contohnya, “Can you pass the class?” memerlukan jawaban singkat ya/tidak, padahal “Can you pass the salt?” adalah permintaan untuk melakukan suatu tindakan nyata untuk dilakukan.
Adalah suatu mimpi panjang bagi komunitas kecerdasan buatan (AI) untuk memiliki algoritma yang mampu secara otomatis membaca dan memperoleh pengetahuan dari teks.  Dengan menerapkan algoritma ‘learning’ terhadap teks yang diurai, para peneliti dari lab NLP Stanford University telah mengembangkan metode yang bisa secara otomatis mengidentifikasi konsep dan keterkaitan antara konsep-konsep tersebut di dalam teks. Dengan menerapkan prosedur unik terhadap sejumlah besar teks, algoritma-algoritma mereka secara otomatis memperoleh ratusan ribu item pengetahuan dunia dan menggunakan mereka untuk menghasilkan repository yang sudah ditingkatkan secara signifikan untuk WordNet. WordNet adalah database kosa kata bahasa inggris yang  dibuat dengan susah payah, definisi-definisinya, kumpulan sinonim, dan berbagai hubungan semantik antara kumpulan sinonim. Ini adalah sumberdaya utama bagi aplikasi NLP, tetapi telah terbukti sangat mahal untuk dibuat dan dimaintain secara manual. Dengan secara otomatis mendorong pengetahuan ke dalam WordNet, ada potensi untuk membuat WordNet sumber daya yang lebih besar dan lebih komprehensif untuk NLP dengan sebagian kecil dari biaya itu.

Salah satu bidang terkenal dimana manfaat NLP sudah berhasil dipetik adalah di CRM (Customer Relationship Management). Secara umum, tujuan CRM adalah untuk memaksimalkan nilai pelanggan dengan memahami lebih baik dan merespon secara efektif terhadap kebutuhan actual mereka. Bidang penting dari CRM dimana NLP berpengaruh secara signifikan adalah analisa sentimen (sentiment analysis). Sentiment analysis adalah suatu teknik yang digunakan untuk mendeteksi opini positif dan negative terhadap suatu produk dan layanan tertentu dengan menggunakan sejumlah besar data teks (feedback pelanggan dalam bentuk posting web). 

Sentiment analysis menawarkan peluang yang sangat besar untuk berbagai penerapan. Contohnya, dia akan memberikan fungsionalitas yang sangat dahsyat untuk analisa kompetitif, analisa marketing, dan deteksi rumor-rumor negatif terhadap manajemen risiko. Pendekatan sentiment analysis yang dikembangkan oleh para peneliti IBM brusahan untuk mengekstrak berbagai sentiment yang terkait dengan polaritas positif atau negative dari subyek tertentu (misalnya, produk atau layanan) dari sekumpulan dokumen.  Isu utama dalam sentiment analysis adalah bagaimana mengidentifikasi sentiment yang dinyatakan dalam teks dan apakah pernyataan menunjukkan opini positif atau negative terhadap subyek. Untuk meningkatkan akurasi sentiment analysis, hal yang penting untuk diperhatikan adalah mengidentifikasi keterkaitan semantic antara pernyataan sentiment dan subyek. Dengan menerapkan analisa semantic dengan menggunakan parser kalimat dan kamus sentiment, system dari IBM telah mencapai presisi yang tinggi (75-95%, bergantung pada data) dalam menemukan sentiment-sentimen dalam halaman-halaman web dan artikel-artikel berita.

NLP telah sukses diterapkan pada berbagai pekerjaan melalui program-program computer untuk memproses secara otomatis bahasa manusia yang sebelumnya hanya bisa dilakukan oleh manusia. Berikut ini adalah beberapa dari pekerjaan-pekerjaan yang paling popular dilakukan oleh NLP:
  • Information retrieval. Ilmu untuk melakukan pencarian terhadap berbagai dokumen yang relevan, menemukan informasi tertentu didalamnya, dan menghasilkan metadata  untuk isinya.
  • Information extraction. Sejenis ‘information retrieval’ yang tujuannya adalah untuk mengekstrak secara otomatis informasi terstruktur, seperti data yang sudah terdefinisi dengan baik secara semantik dan secara kontekstual yang sudah terkelompok dari domain tertentu, dengan menggunakan berbagai dokumen tak-terstruktur yang bisa terbaca oleh mesin.
  • Named-entity recognition. Juga dikenal sebagai ‘entity identification’ dan ‘entity extraction’, ini adalah sub-pekerjaan dari ‘information extraction’ yang bertujuan untuk menemukan dan mengklasifikasikan elemen-elemen atomic di dalam teks menjadi berbagai kategori yang sudah ditentukan sebelumnya, seperti nama orang, organisasi, lokasi, pernyataan waktu, kuantitas, nilai uang, persentase, dan seterusnya.
  • Questioning answering. Pekerjaan menjawab secara otomatis suatu pertanyaan yang diajukan dalam bahasa alami; yaitu, menghasilkan jawaban bahasa manusia ketika diberi pertanyaan bahasa manusia. Untuk mendapatkan jawaban terhadap pertanyaan, program computer bisa menggunakan baik database pra-terstruktur atau kumpulan dokumen bahasa alami (suatu ‘text corpus’ seperti world wide web).
  • Automatic summarization.  Pembuatan ringkasan terhadap dokumen teks yang dilakukan oleh program komputer yang berisi poin-poin paling penting dari dokumen asli.
  • Natural language generation. Sistem mengubah informasi dari database komputer menjadi bahasa manusia yang bisa dibaca.
  • Natural language understanding. Sistem mengubah contoh-contoh bahasa manusia menjadi penyajian yang lebih formal yang lebihi mudah bagi program komputer untuk memanupulasi.
  • Machine translation. Penerjemahan otomatis dari satu bahasa manusia ke bahasa yang lain.
  • Foreign language reading. Program komputer yang membantu orang yang non-native untuk membaca bahasa asing dengan pengucapan benar dan aksen pada bagian yang berbeda dengan benar.
  • Foreign language writing. Program komputer yang membantu orang yang non-native dalam menulis dalam bahasa asing.
  • Speech recognition. Mengubah kata-kata verbal menjadi input yang bisa terbaca oleh mesin. Dengan adanya sound clip dari orang yang sedang berbicara, sistem menghasilkan dikte dari teks.
  • Text-to-speech. Disebut juga ‘speech synthesis’, suatu program komputer yang mengubah secara otomatis teks menjadi suara manusia.
  • Text proofing. Program komputer  yang membaca bukti copy teks yang bertujuan untuk mendeteksi dan mengoreksi kesalahan.
  • Optical character recognition. Penerjemahan otomatis dari gambar tulisan tangan, tulisan ketikan, atau teks cetak (biasanya diambil dengan scanner) menjadi dokumen-dokumen teks yang bisa diedit oleh mesin.
Keberhasilan dan popularitas text mining sangat bergantung pada perkembangan NLP baik dalam prosses menghasilan maupun memahami bahasa manusia. NLP memungkin ekstraksi berbagai features dari teks tak-terstruktur sehingga berbagai jenis teknik data mining bisa digunakan untuk mengekstrak pengetahuan (pola dan keterkaitan yang baru dan bermanfaat) darinya. Dalam arti tersebut, gampangnya, text mining adalah kombinasi NLP dan data mining.

3 comments: