Menganalisa Text dengan P5js (part 1)

Elian Daiva
Labtek Indie
Published in
3 min readJan 11, 2018

Lagi-lagi, saya akan mencoba melakukan speedhacks dan merekomendasikan penggunaan p5js yang sangat friendly untuk digunakan buat para artis/designer yang ingin menguji coba ide-idenya di platform web. Agak amburadul yah kata-katanya hahahah agaknya saya terlalu excited pasca menemukan framework p5js ini!

Pada kesempatan kali ini, saya akan mencoba melakukan analisa dan manipulasi terhadap teks (string) dengan menggunakan library tambahan bernama RiTa.js. Ide ini muncul dikarenakan kantor saya saat ini (Labtek Indie) terbiasa menggunakan Meekan, sebuah scheduling bot yang dapat melakukan task mundane yang sehari-hari kita lakukan: menjadwalkan meeting. Bot ini sangat membantu ketika diintegrasikan dengan Slack dan Google Calendar, layaknya anda punya sekretaris pribadi yang melakukan sinkronisasi otomatis terhadap semua jadwal kerja dan jadwal personal anda. Hal ini tentunya menggelitik rasa penasaran saya untuk memahami bagaimana sebuah bot mencerna kalimat untuk kemudian dilakukan action terhadapnya.

Untuk speedhack kali ini, ada dua fitur yang ingin diusahakan:

  1. Mengidentifikasi Noun di dalam suatu kalimat dan menggantinya dengan Noun lain secara random,
  2. Mengidentifikasi noun di dalam suatu kalimat dan menggantinya dengan kata lain yang memiliki rima yang sama (seperti halnya pada pantun).

Namun sepanjang perjalanan saya dalam menyelesaikan fitur ini, saya sedikit banyak digiring juga untuk mempelajari DOM (Document Object Model) pada platform website; mengenai struktur HTML document serta bagaimana cara styling nya.

Hasil akhirnya nampak sebagai berikut:

Tampilan Text Modifier v0.1

Untuk fitur yang pertama (tombol Change with Random Noun) dapat dengan mudah dilakukan dengan memanfaatkan RiTa library. Hal pertama yang dilakukan adalah mendefinisikan kalimat yang dimasukkan sebagai RiTa string serta menganalisa PoS (Part of Speech) dari kalimat tersebut. Part of Speech adalah kategorisasi kata yang berada pada suatu struktur kalimat, yang secara umum untuk bahasa Inggris terbagi atas 6 jenis yaitu noun, verb, adjective, adverb, pronoun, preposition, conjunction, interjection.

Namun RiTa library menggunakan extended PoS yang mengacu pada Penn Treebank Project yang dikembangkan oleh departemen linguistik University of Pennsylvania.

Script untuk mendapatkan Part of Speech

Hasil log PoS kalimat default “Mary has a little lamb”:

Mary (NNP= Proper noun, singular), has (VBZ= Verb, 3rd person singular present), a (DT= Determiner), little (JJ= Adjective), lamb (NN= Noun, singular or mass).

Setelah diketahui, maka dapat dengan mudah dilakukan penggantian terhadap kata dengan PoS ‘noun’ dengan memanfaatkan RiTa Lexicon. Berikut adalah syntax lengkap dari tombol change noun:

Syntax tombol change Noun

Proses yang sama juga dilalui oleh fitur tombol (Find Noun’s with similar rhyme). Bedanya fitur ini memanfaatkan fungsi RiTa.rhymes untuk menemukan kata dengan rima akhir yang sama dengan noun yang ditemukan. Kalian juga bisa mencoba dengan kalimat-kalimat lain, yang tentunya dalam bahasa Inggris!

Source code yang lebih lengkap dapat ditemukan di https://github.com/labtek-indie/text-processing

Demo dari speedhack ini bisa dijajal di https://labtek-indie.github.io/text-processing/. Speedhack ini dilakukan dalam waktu 4 jam.

--

--