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 :
- Format umum untuk isi pesan komunikasi
- Ontologi bersama (semantik)
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 NLPSecara 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 BoxKata 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 botChat 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