Sesuai
dengan skripsi saya,saya sedang dalam proses membuat suatu account
twitter yang dapat bekerja secara semantic dalam proses pencarian.
Hasil dari yang saya buat ini adalah aku twitter yang nantinya dapat
autotweet segala sesuatu yang bermakna diskon. Saya menggunakan
Algoritma Latent Semantic dalam proses filternya.Nantinya, sistem
hanya autotweet tweet yang bermakna diskon, apabila hanya ada kata
“diskon” tetapi maknanya bukan memberitahu diskon, maka tidak
akan ditampilkan. Hal ini menuntut sistem bekerja layaknya manusia
yaitu dapa memilih dan mengetahui suatu makna tertentu.
ALGORITMA
Metode
LSA (Latent Semantic Analysis)
Metode
LSA (Latent Semantic Analysis) adalah salah satu metode yang
digunakan untuk mencari kesamaan dokumen dengan dokumen lainnya.
Metode ini juga memiliki beberapa tahap dalam mencari kesamaan
dokumen. Tahap pertama yaitu parsing text,
yaitu untuk mencari frekuensi kemunculan term dari dokumen dengan
melakukan proses tokenisasi, filtering (stopwords removal), tahap
yang terakhir yaitu dengan cosine similarity untuk menghitung
kesamaan dokumen yang dibandingkan.
TF
- IDF (Term Frequency - Inverse
Document Frequency)
Algoritma
tf - idf adalah suatu algoritma atau formula yang digunakan untuk
menghitung bobot masing masing dokumen terhadap kata kunci. Term
frequency (tf)
adalah frekuensi dari kemunculan sebuah term
dalam dokumen yang bersangkutan, sedangkan Inverse
document frequency (idf)
adalah suatu statistik yang mengkarakteristikkan sebuah term
dalam keseluruhan koleksi dokumen [2].
TF merupakan pembobotan yang sederhana dimana penting tidaknya sebuah
kata diasumsikan sebanding dengan jumlah kemunculan kata tersebut
dalam dokumen, sementara IDF adalah pembobotan yang mengukur seberapa
penting sebuah kata dalam dokumen bila dilihat secara global pada
seluruh dokumen. Nilai pembobotan TF x IDF akan tinggi jika nilai TF
besar dan kata yang diamati tidak ditemukan di banyak dokumen [3].
Keterangan
:
N
: Jumlah dokumen
dft
: Jumlah
dokumen yang mengandung term yang
bersangkutan
tfd,t
: Frekuensi
dari
kemunculan
sebuah term dalam
dokumen yang bersangkutan
Vector
S M
Vector
Space Model (vektor ruang model) banyak
digunakan untuk mempresentasikan dokumen ke dalam bentuk sebuah ruang
vektor yang selanjutnya akan digunakan dalam pencarian dan
penyaringan informasi, pengindeksan dan penyusunan peringkat
berdasarkan tingkat relevansi terhadap dokumen lain.
Cosine
Similarity
Cosine
Similarity adalah salah satu metode dalam
menghitung kesamaan pada dua buah vektor dengan cara mengukur sudut
cosinus dari kedua vektor tersebut. Dalam kasus ini vektor tersebut
akan di dapatkan menggunakan VSM (Vector Space Model). Dengan cara
inilah Sosine Similarity dapat
digunakan untuk melakukan perhitungan kesamaan dari dokumen. Rumus
yang digunakan oleh cosine similarity adalah :
Cosine
similarity memiliki indeks dari 0 sampai dengan 1 dimana apabila
hasilnya 1 dapat diambil kesimpulan bahwa sudut yang dibentuk dari
dua buah vektor tersebut adalah 0 derajat (Cos 0 = 1). Ini berarti
kedua buah vektor yang dibentuk dari dokumen adalah sama. Apabila
hasilnya 0 maka sudut yang dibentuk dari dua buah vektor tersebut
adalah 90 derajat (Cos 90 = 0). Dimana kedua buah vektor dokumen
tersebut berbeda jauh.
Metode
Perhitungan Semantic Similarity
Perhitungan
semantic similarity ini diimplementasikan melalui tahap-tahap berikut
:
Gambar
1. Perancangan Pembuatan Sistem
Gambar
1 merupakan rancangan sistem yang
dilakukan. Berikut akan dijelaskan masing-masing prosesnya
:
Masukkan
Link
Pada
tahap ini, user memasukkan link ke search bar yang tersedia.
Terdapat dua search bar, pertama untuk link dengan isi artikel
sebagai penguji dan kedua diisi dengan web dimana menyimpan artikel
yang diuji.
Simpan
Artikel dalam Format Teks
Pada
langkah ini, sistem akan mengambil artikel atau postingan yang ada
pada web kemudian menyimpannya dalam bentuk teks.
Tokenisasi,
Stopwords Removal dan Stemming.
Tokenisasi
Tokenisasi
merupakan suatu proses pemisahan setiap
kata yang terdapat dalam suatu artikel. Di
tahap ini akan dilakukan pemotongan string input berdasarkan tiap
kata yang menyusunnya [4].
Langkah-langkah
melakukan tokenisasi :
Carilah
tanda baca yang ada di dalem artikel (seperti titik, koma,titik dua,
titik koma, tanda seru, tanda tanya dan sebagainya).
Hilangkan
semua tanda baca tersebut.
Susun
dan rapikan kembali artikel.
Stopwords
Removal
Tahap
ini merupakan proses penghilangan kata-kata tidak penting (stopwords)
dari suatu artikel. Proses penghilangan dilakukan dengan pencocokan
kata-kata yang ada dalam artikel terhadap sebuah tabel yang berisikan
daftar kata-kata tidak penting [5].
Langkah-langkah
melakukan stopword removal :
Carilah
kata umum yang tidak memiliki makna di dalam artikel (pada umumnya
merupakan preposisi, seperti yang, di, ke, dari, dan sebagainya).
Hilangkan
semua stopword tersebut.
Susun
dan rapikan kembali artikel.
Stemming
Stemming
merupakan proses pengembalian suatu kata berimbuhan ke bentuk
dasarnya (root word). [5].
Langkah-langkah
melakukan stopword removal :
Carilah
kata yang memiliki imbuhan dan akhiran lalu ubahlah menjadi kata
dasarnya (contoh : merubah >>
ubah, melupakan >> lupa, dan lain-lain).
Susun
dan rapikan kembali artikel.
Karena
nantinya akan berhubungan dengan interaksi pengguna twitter lainnya,
maka saya juga membutuhkan sebuag agent communication language
dan bahasa natural alami. Saya juga akan memodelkan percakapan.
Nantinya saya akan membuat dengan menggunakan ptyhon dan library
gensim.
Agent
Comunication Language (ACL)
Sebuah Agent
Comunication Language (ACL) adalah
agen yang dapat berkomunikasi dengan agen lain untuk menyelesaikan
tugas-tugas. Seperti bahasa yang harus menjadi salah satu tempat
inkonsistensi dan menyeleksi variasi notasi secara acak. Dalam
pencarian untuk bahasa seperti itu, para peneliti di ARPD Knowledge
Sharing Effort
[Neches, 1993] mendefinisikan komponen ACL mampu memenuhi standar
tersebut.
Menurut definisi
ini, pesan ACL hanyalah sebuah ekspresi KQML dimana argumen adalah
kalimat KIF terbentuk dari kata-kata dalam kosa kata ACL. Biasanya ,
ACL disusun dalam tiga lapisan yaitu :
Oleh karena itu,
arsitektur agen perlu kedua representasi dan model komunikasi di mana
model representasi meliputi ontologi yang menentukan model domain
atau kosakata dari domain wacana dan konten bahasa yang mewakili
keseluruhan agen (misalnya keyakinan, keinginan dan niat). ACL
terkadang disebut sebagai bahasa pembungkus karena mereka menerapkan
tingkat pengetahuan protokol komunikasi yang tidak menyadari pilihan
bahasa konten dan mekanisme spesifikasi ontologi.
Bahasa
Alami ( Natural Language)
Bahasa
adalah suatu sistem untuk komunikasi yang terdiri simbol dan aturan
yang digunakan untuk mengekspresikan ide, pikiran dan perasaan.
Bahasa alami adalah bahasa yang dipakai oleh manusia untuk
berkomunikasi dalam kehidupan sehari-hari. Bahasa alami yang
digunakan oleh manusia tergantung dengan daerah di mana manusia
tinggal. Contoh bahasa alami adalah diantaranya bahasa Indonesia,
bahasa Inggris, bahasa Jepang dan lain-lain. Bahasa melibatkan proses
pengenalan bunyi atau huruf,sintaksis,kalimat,inferensi semantik
tingkat tinggi, bahkan komunikasi emosi lewat irama bicara
[Rudiyanto, 2005]
Bahasa alami
sendiri oleh para ahli didefinisikan menjadi beberapa tingkat
analisis yang berbeda yaitu :
Persanjakan.
Persanjakan berhubungan dengan ritme dan intonasi
Fonologi. Fonologi
merupakan analisis bunyi yang tergabungkan untuk membentuk bahasa.
Morfologi.
Morfologi menyimak komponen-komponen yang memiliki makna yang
membentuk kata, antara lain melibatkan awalan dan akhiran yang
mengubah arti kata-kata dasar.
Sintaksis.
Sintaksis merupakan studi yang menyimak tentang aturan penggabungan
kata menjadi frase dan kalimat yang diperkenankan dan pemakaian
aturan-aturan tersebut menjadi kalimat. Semantik menyimak arti
kata,frase dan kalimat serta cara penyampaiannya dalam bahasa alami.
Pragmatik.
Pragmatik merupakan studi tentang cara penggunaan bahasa dan
pengaruhnya pada pendengar.
Pengetahuan tentang
dunia sekitar, pengetahuan tentang dunia sekitar mencakup
pengetahuan dunia fisis, dunia interaksi sosial dan peranan tujuan
dalam komunikasi.
Unit dasar bahasa
adalah kalimat. Kalimat menyatakan pikiran secara lengkap dalam
bentuk pertanyaan, perintah atau seruan. Kalimat terdiri dari
unit-unit individual yang disebut kata. Kata itu sendiri akan
memiliki makna jika dihubungkan dengan kata yang lain.
Linguistik adalah
bidang ilmu yang khusus mengkaji tentang bagaimana bahasa
distrukturkan dan digunakan. Bidang ilmu ini salah satunya membahasa
tentang perbendaharaan kata dan leksikon.
Pembendaharaan kata
adalah sekumpulan kata-kata dan frase-frase yang digunakan dalam
bahasa tertentu. Sebagai bagian dari pengkajian bahasa, linguis
mendefinisikan semua kata-kata dan frase-frase yang digunakan secara
umum kemudian mengorganisasikannya ke dalam sebuah leksikon. Leksikon
adalah kamus yang mendaftar kata-kata bahasa secara alfabet
Tahap Analisis NLP
Secara umum, ada
tiga tahapan untuk analisis pemahaman bahasa alami yaitu :
1.
Parsing(penguraian)
merupakan tindakan menganalisa struktur sintaks kalimat. Parsing
tidak hanya membuktikan bahwa kalimat dapat dibentuk secara
sintaksis, tetapi juga dapat menentukan struktur lingustiknya.
Dengan mengidentifikasi hubungan-hubunganlingustik utamanya seperti
subject-verb,verb-object,
dan noun-modifier,
maka penguraian(parser)
memberikan
suatu kerangka/bentuk diagram bagi interpretasi semantik dan hal
ini sering kali digambarkan dalam pohon pengurai. Penguraian
menggunakan pengetahuan sintaks bahasa, morfologi dan beberapa
semantik bahasa.
2.
Interpretasi semantik, pada tahap ini menghasilkan suatu
representasi arti dari teks. Representasi lain umumnya digunakan,
meliputi ketergantungan konseptual, bingkai dan representasi
berbasis logika. Interpretasi semantik menggunakan pengetahuan
tentang arti kata dari struktur linguistiknya, seperti peranan kata
benda atau transitivitas kata kerja. Tahap ini juga melakukan
pengujian konsistensi semantik.
3. Struktur-struktur dari basis
pengetahuan ditambahkan pada representasi kalimat untuk
menghasilkan representasi perluasan dari arti kalimat. Struktur
yang dihasilkan merepresentasikan makna dari teks bahasa alami dan
digunakan oleh sistem untuk pemrosesan lebih jauh.
Chat
Box
Kata
bot berasal dari kata robot,
yang dapat diartikan sebagai sebuah program komputer yang
berfungsi mengumpulkan informasi atau memberikan layanan yang
biasanya telah dijadwalkan sebelumnya. Sebuah bot
biasanya mencari informasi di internet, mengumpulkan informasi
sesuai dengan yang diinginkan, kemudian mengeluarkan atau
memberikan output
secara periodik atau sesuai dengan perintah.
Bot
biasa
digunakan dalam IRC (Internet
Chat Group)
di mana bot
tersebut melakukan berbagai fungsi seperti menyapa partisipan
baru dan memonitor penggunaan kata-kata yang tidak pantas.
Sekarang ini, bot
dapat mengumpulkan informasi, mengolah informasi tersebut dan
memberikan respon terhadap pengguna dan event
yang terjadi di internet. Beberapa jenis bot
bekerja
secara silent
di internet tanpa sepengetahuan, namun ada pula bot
yang bekerja secara interaktif yang dapat diajak berbicara yaitu
chat bot
Chat
bot
adalah sebuah simulator percakapan yang berupa program
komputer yang dapat berdialog dengan penggunaannya dalam
bahasa alami. Karena chat
bot
hanya sebuah program bukan robot, maka yang dimaksud dengan
dialog antara manusia sebagai pengguna dengan chat
bot
dilakukan dengan cara mengetik apa yang akan dibicarakan dan
chat bot
akan memberikan respon. Orang yang membuat dan mengembangkan
program chat
bot
disebut bot
master.
Turing Test
Turing
test adalah
usulan untuk mengetes kemampuan sebuah mesin untuk melakukan
percakapan seperti manusia. Konsep dari Turing
test
sebagai berikut : Seorang manusia sebagai penilai melakukan
percakapan bahasa alami dengan dua pihak lain, satu manusia dan
satunya lagi mesin, jika penilai tidak dapat mengatakan yang mana
mesin dan yang mana manusia, maka mesin tersebut telah berhasil
melalui tes tersebut. Diasumsikan bahwa mnusia dan mesin mencoba
untuk terlihat seperti manusia. Untuk menjaga test
diatur lebih sederhana dan universal, percakapan biasanya dibatasi
dengan teks saja.
Memodelkan
Percakapan
Pembuatan model dialog
menggunakan notasi. Berikut beberapa notasi :
Instances.
Biasanya berupa tugas, proses atau benda. Instances yang diwakili
oleh simbol-simbol yang disebut life line
Pesan.
Sebuah pesan dikirim oleh sebuah instance
dan diterima oleh instance
yang lain yang diwakili oleh garis depan panah yang menunjukkan
tujuan pesan
Timer.
Sebuah instance dapat
dimulai dengan timer,
yang akan berhenti dalam waktu-waktu tertentu. Sebuah timer
juga dapat dibatalkan oleh
instance yang
menciptakannya
Referensi
http://apranolo.tif.uad.ac.id/wp-content/uploads/2014/12/Bab-5-Natural-Language-Processing.pdf
14 maret
http://ir.uiowa.edu/cgi/viewcontent.cgi?article=1246&context=etd#page=2&zoom=auto,0,749
17 maret
http://ebiquity.umbc.edu/_file_directory_/papers/185.pdf
17 maret
http://www.lirmm.fr/~jonquet/publications/documents/RR-LIRMM-05006-Jonquet-Cerri-01-05.pdf
17 maret