Anda di halaman 1dari 32

1.

Intro To NLP (Natural Language Processing)

Pemrosesan Bahasa alami NLP (Natural language Processing) adalah penerapan ilmu
computer, khususnya kecerdasan buatan (artificial intelligence), dan linguistik khususnya
linguistik komputasional (computational linguistics) untuk mengkaji interaksi antara komputer
dengan bahasa alami manusia dengan segala aturan gramatika dan semantiknya serta mengubah
bahasa tersebut menjadi repsentasi formal yang dapat diperoses oleh komputer.

1.1 Bidang Popular Penerapan NLP

Berikut merupakan beberapa bidang penerapan Natural Languange Processing:


a) Penjawab pertanyaan (question answering)
Mesin dilatih untuk dapat menjawab pertanyaan manusia. Secara otomatis menjawab
pertanyaan yang diajukan bahasa alami dengan jawaban dalam bahasa alami pula.
Contoh: Cleverbot, SimSimi, dan begobet.
b) Information extraction
Komputer dapat mengesktrak data menjadi informasi lain yang dapat dimanfaatkan.
Contoh:

Dari sekumpulan kalimat dalam sebuah email, dilakukan ekstraksi dengan


memanfaatkan NLP sehingga mendapatkan informasi yang bisa dijadikan sebagai
Event: Curriculum mtg
reminder bagi pemilik email untuk menghadiri suatu event.

Date: Jan-16-2012
Start: 10:00am
End: 11:30am
Where: Gates 159
c) Sentiment Analysis
Digunakan untuk melakukan product review agar mendapatkan resume dari produk
tersebut. Misalnya dari produk sebuah kamera terdapat komentar-komentar para
pengguna kamera tersebut. Dari komentar-komentar tersebut dihasilkan product
review berupa kalimat-kalimat yang positif dan negatif. Hal ini bisa dimanfaatkan
untuk menarik daya beli kamera ataupun untuk menentukan rating dari kamera
tersebut.
Contoh:

d) Machine Translation
Contoh : google translate merupakan mesin penerjemah yang menerapkan NLP agar
bisa merespon suatu bahasa berupa teks yang diinputkan kemudian secara otomasis
menerjemahkannya ke bahasa lain sesuai keinginan manusia/user.
e) Pemerolehan informasi (Information retrival)
Pencarian dokumen yang relevan, pencarian informasi spesifik di dalam dokumen,
serta pembuatan metadata
Contoh: Sistem IR yang paling popular adalah search engine pada World Wide Web.
f) Perangkuman otomatis (automatic summarization)
Pembuatan versi singkat berisi butiran-butiran penting dari suatu dokumen dengan
menggunakan program komputer.
g) Pengenalan wicara (speech recognation)
Pengubahan bahasa lisan menjadi masukan yang dikenali oleh mesin.
contoh: S-Voice pada Samsung.
h) Kategorisasi teks
Kategorisasi adalah proses untuk menemukan model atau fungsi yang menjelaskan
atau membedakan konsep atau kelas data, dengan tujuan untuk dapat memperkirakan
kelas dari suatu objek yang labelnya tidak diketahui.
Pada kategorisasi teks, diberikan sekumpulan kategori (label) dan koleksi dokumen
yang berfungsi sebagai data latih, yaitu data yang digunakan untuk membangun
model, dan kemudian dilakukan proses untuk menemukan kategori yang tepat untuk
dokumen test, yaitu dokumen yang digunakan untuk menentukan akurasi dari model.
Misalkan ada sebuah dokumen x sebagai inputan, maka output yang dihasilkan oleh
model tersebuat adalah kelas atau kategori y dari beberapa kategori tertentu yang
telah didefinisikan sebelumnya (y1,…,yk). Adapun contoh dari pemanfaatan
kategorisasi teks adalah pengkategorisasian berita ke dalam beberapa kategori seperti
bisnis, teknologi, kesehatan dan lain sebagainya; pengkategorisasian email sebagai
spam atau bukan; pengkategorisasian kilasan film sebagai film favorit, netral atau
tidak favorit; pengkategorisasian paper yang menarik dan tidak menarik; dan
penggunaan dari kategorisasi teks yang paling umum adalah kategorisasi otomatis
dari web pages yang dimanfaatkan oleh portal Internet seperti Yahoo. Kategorisasi
otomatis ini memudahkan proses browsing artikel berdasarkan topik tertentu yang
dilakukan oleh user. Salah satu algoritma kategorisasi yang sering digunakan adalah
algoritma Naive bayes multinomial. Algoritma ini merupakan algoritma yang
menerapkan metode probabilistic learning method.

1.2 Kesulitan Mesin dalam Memahami NLP

Komputer ataupun mesin yang menerapkan NLP membutuhkan sesuatu untuk


menghadapi permasalahan seperti, pengetahuan terhadap bahasa manusia agar komputer
bisa merespon bahasa tersebut serta pengetahuan terhadap lingkungan ataupun latar
belakang suatu objek yang diproses. Berikut merupakan masalah yang dihadapi dalam
penerapan NLP:
a) Ambiguity
Contoh : “Teacher Strikes Idle Kids”
Bukan berarti seorang memukul anak kecil yang sedang diam. Bisa saja berarti
seorang guru membuat muridnya terdiam oleh karena pidatonya.
b) Non-standard language
Contoh : Great job @justinbieber! Were SOO PROUD of what youve accomplished! U
taught us 2 #neversaynever & you yourself should never give up either♥
c) Segmentation Issues
Contoh : The New York-New Haven Railroad
The New York-New Haven Railroad
d) Idiom
Contoh : dark horse, get cold feet, lose face, throw in the towel

2. Word Normalization

Word normalization merupakan proses pengubahan bentuk teks (baik indeks teks
maupun query term) menjadi bentuk yang sama dengan teks lainnya agar memiliki bentuk yang
serupa atau seragam sehingga dokumen lebih mudah untuk diproses. Word normalization sering
digunakan ketika mengkonversi text to speech, nomor, tanggal, akronim, dan singkatan yang
non-standar. Misal:
a) $200 menjadi two thousand dollars
b) U.S.A dengan USA menjadi United States of America
c) I like u’r dress menjadi I like your dress

Berikut merupakan beberapa proses dalam melakukan word normalization:

2.1 Case Folding

Case folding adalah mengubah semua huruf dalam dokumen menjadi huruf kecil
(lower case). Hanya huruf ‘a’ sampai dengan ‘z’ yang diterima. Karakter selain huruf
dihilangkan dan dianggap delimiter. Tahap tokenizing/parsing adalah tahap pemotongan
string input berdasarkan tiap kata yang menyusunnya. Contoh dari tahap ini adalah sebagai
berikut:
2.2 Stopwords Removal

Stopwords merupakan kata umum (common word) yang biasanya muncul dalam
jumlah besar dan dianggap tidak memiliki makna. Tujuan melakukan stopwords removal
selain untuk menghilangkan kata yang tidak memiliki makna, juga untuk mengurangi jumlah
kata yang akan diproses. Contoh:
Berikut merupakan beberapa stopword dalam bahasa inggris:

a don't in she'd wasn't


about down into she'll we
above during is she's we'd
after each isn't should we'll
again few it shouldn't we're
against for it's so we've
all from its some were
am further itself such weren't
an had let's than what
and hadn't me that what's
any has more that's when
are hasn't most the when's
aren't have mustn't their where
as haven't my theirs where's
at having myself them which
be he no themselves while
because he'd nor then who
been he'll not there who's
before he's of there's whom
being her off these why
below here on they why's
between here's once they'd with
both hers only they'll won't
but herself or they're would
by him other they've wouldn't
can't himself ought this you
cannot his our those you'd
could how ours through you'll
couldn't how's ourselves to you're
did i out too you've
didn't i'd over under your
do i'll own until yours
does i'm same up yourself
doesn't i've shan't very yourselves
doing if she was
Berikut merupakan beberapa stopword dalam bahasa indonesia:

ada bagaimana berarti berupa dengan


adalah bagaimanakah berawal besar depan
adanya bagaimanapun berbagai biasa dia
adapun bagi berdatangan biasanya diakhiri
agaknya bagian beri bila diakhirinya
agar bahkan berikan bilakah dialah
akan bahwa berikut bisa diantara
akankah bahwasanya berikutnya bisakah diantaranya
akhir bakal berjumlah bolehkah diberi
akhiri bakalan berkali-kali bolehlah diberikan
akhirnya bapak berkata buat diberikannya
aku bawah berkehendak bukan dibuat
akulah beberapa berkeinginan bukankah dibuatnya
amatlah begini berkenaan bukanlah didapat
anda beginian berlainan bukannya didatangkan
andalah beginikah berlalu bulan digunakan
antar beginilah berlangsung bung diibaratkan
antara begitu bermacam cara diibaratkannya
antaranya begitukah bermacam- caranya diingat
apa begitulah macam cukup diingatkan
apabila begitupun bermaksud cukupkah diinginkan
apakah bekerja bermula cukuplah dijawab
apalagi belakang bersama cuma dijelaskan
apatah belakangan bersama-sama dahulu dijelaskannya
artinya belumlah bersiap dalam dikarenakan
asalkan benarlah bersiap-siap dan dikatakan
atas berada bertanya dapat dikatakannya
atau berakhir bertanya-tanya dari dikerjakan
ataukah berakhirlah berturut daripada diketahui
ataupun berakhirnya berturut-turut datang diketahuinya
awal berapa bertutur dekat dikira
awalnya berapakah berujar demi dilakukan
bagai berapalah demikian dilalui
bagaikan berapapun demikianlah dilihat
dimaksud ditegaskan ibu kapan kok
dimaksudkan ditujukan ikut kapankah kurang
dimaksudkannya ditunjuk ingat kapanpun lagi
dimaksudnya ditunjuki ingat-ingat karena lagian
diminta ditunjukkan ingin karenanya lah
dimintai ditunjukkannya inginkah kasus lain
dimisalkan ditunjuknya inginkan kata lainnya
dimulai dituturkan ini katakan lalu
dimulailah dituturkannya inikah katakanlah lanjut
dimulainya diucapkan inilah katanya lanjutnya
dimungkinkan diucapkannya itu keadaan lebih
dini diungkapkan itukah kebetulan lewat
diperbuat dong itulah kedua lima
diperbuatnya dua jadi keduanya luar
dipergunakan dulu jadilah keinginan macam
diperkirakan empat jadinya kelamaan maka
diperlihatkan enggak janganlah kelihatan makanya
diperlukan enggaknya jawab kelihatannya malah
diperlukannya entah jawaban kelima malahan
dipersoalkan entahlah jawabnya keluar mampu
dipertanyakan hal jika kembali mampukah
dipunyai hampir jikalau kemudian mana
diri hanya juga kemungkinan manakala
dirinya hanyalah jumlahnya kemungkinannya manalagi
disampaikan hari justru kenapa masa
disebut haruslah kala kepada masalah
disebutkan harusnya kalau kepadanya masalahnya
disebutkannya hendak kalaulah keseluruhan masih
disini hendaklah kalaupun keseluruhannya masihkah
disinilah hendaknya kalian ketika masing
ditambahkan hingga kami khususnya masing-masing
ditandaskan ialah kamilah kini mau
ditanya ibarat kamu kinilah maupun
ditanyai ibaratkan kamulah kita melainkan
ditanyakan ibaratnya kan kitalah
melakukan mendatangi menyeluruh panjang saya
melalui mendatangkan menyiapkan para sayalah
melihat menegaskan merasa pastilah sebab
melihatnya mengakhiri mereka penting sebabnya
memang mengapa merekalah pentingnya sebagai
memberi mengatakan merupakan per sebagaimana
memberikan mengatakannya meski pernah sebagainya
membuat mengenai meskipun persoalan sebagian
memerlukan mengerjakan meyakini pertama sebaliknya
memihak mengetahui meyakinkan pertama-tama sebanyak
meminta menggunakan minta pertanyaan sebegini
memintakan menghendaki mirip pertanyakan sebegitu
memisalkan mengibaratkan misal pihak sebelum
memperbuat mengibaratkannya misalkan pihaknya sebelumnya
mempergunakan mengingat misalnya pukul sebenarnya
memperkirakan mengingatkan mula pula seberapa
memperlihatkan menginginkan mulai pun sebesar
mempersiapkan mengira mulailah punya sebetulnya
mempersoalkan mengucapkan mulanya rasa sebisanya
mempertanyakan mengucapkannya mungkin rasanya sebuah
mempunyai mengungkapkan mungkinkah rata sebut
memulai menjadi nah rupanya sebutlah
memungkinkan menjawab naik saat sebutnya
menaiki menjelaskan namun saatnya secara
menambahkan menuju nanti saja sedang
menandaskan menunjuk nantinya sajalah sedangkan
menanti menunjuki nyaris saling sedemikian
menanti-nanti menunjukkan nyatanya sama sedikit
menantikan menunjuknya oleh sama-sama sedikitnya
menanya menurut olehnya sambil segala
menanyai menuturkan pada sampai segalanya
menanyakan menyampaikan padahal sampai-sampai segera
mendapat menyangkut padanya sampaikan sehingga
mendapatkan menyatakan pak sana seingat
mendatang menyebutkan paling satu sejak
ada bagaimana berarti berupa dengan
adalah bagaimanakah berawal besar depan
adanya bagaimanapun berbagai biasa dia
adapun bagi berdatangan biasanya diakhiri
agaknya bagian beri bila diakhirinya
agar bahkan berikan bilakah dialah
akan bahwa berikut bisa diantara
akankah bahwasanya berikutnya bisakah diantaranya
akhir bakal berjumlah bolehkah diberi
akhiri bakalan berkali-kali bolehlah diberikan
akhirnya bapak berkata buat diberikannya
aku bawah berkehendak bukan dibuat
akulah beberapa berkeinginan bukankah dibuatnya
amatlah begini berkenaan bukanlah didapat
anda beginian berlainan bukannya didatangkan
andalah beginikah berlalu bulan digunakan
antar beginilah berlangsung bung diibaratkan
antara begitu bermacam cara diibaratkannya
antaranya begitukah bermacam- caranya diingat
apa begitulah macam cukup diingatkan
apabila begitupun bermaksud cukupkah diinginkan
apakah bekerja bermula cukuplah dijawab
apalagi belakang bersama cuma dijelaskan
apatah belakangan bersama-sama dahulu dijelaskannya
artinya belumlah bersiap dalam dikarenakan
asalkan benarlah bersiap-siap dan dikatakan
atas berada bertanya dapat dikatakannya
atau berakhir bertanya-tanya dari dikerjakan
ataukah berakhirlah berturut daripada diketahui
ataupun berakhirnya berturut-turut datang diketahuinya
awal berapa bertutur dekat dikira
awalnya berapakah berujar demi dilakukan
bagai berapalah demikian dilalui
bagaikan berapapun demikianlah dilihat
dimaksud ditegaskan ibu kapan kok
dimaksudkan ditujukan ikut kapankah kurang
dimaksudkannya ditunjuk ingat kapanpun lagi
dimaksudnya ditunjuki ingat-ingat karena lagian
diminta ditunjukkan ingin karenanya lah
dimintai ditunjukkannya inginkah kasus lain
dimisalkan ditunjuknya inginkan kata lainnya
dimulai dituturkan ini katakan lalu
dimulailah dituturkannya inikah katakanlah lanjut
dimulainya diucapkan inilah katanya lanjutnya
dimungkinkan diucapkannya itu keadaan lebih
dini diungkapkan itukah kebetulan lewat
diperbuat dong itulah kedua lima
diperbuatnya dua jadi keduanya luar
dipergunakan dulu jadilah keinginan macam
diperkirakan empat jadinya kelamaan maka
diperlihatkan enggak janganlah kelihatan makanya
diperlukan enggaknya jawab kelihatannya malah
diperlukannya entah jawaban kelima malahan
dipersoalkan entahlah jawabnya keluar mampu
dipertanyakan hal jika kembali mampukah
dipunyai hampir jikalau kemudian mana
diri hanya juga kemungkinan manakala
dirinya hanyalah jumlahnya kemungkinannya manalagi
disampaikan hari justru kenapa masa
disebut haruslah kala kepada masalah
disebutkan harusnya kalau kepadanya masalahnya
disebutkannya hendak kalaulah keseluruhan masih
disini hendaklah kalaupun keseluruhannya masihkah
disinilah hendaknya kalian ketika masing
ditambahkan hingga kami khususnya masing-masing
ditandaskan ialah kamilah kini mau
ditanya ibarat kamu kinilah maupun
ditanyai ibaratkan kamulah kita melainkan
ditanyakan ibaratnya kan kitalah
melakukan mendatangi menyeluruh panjang saya
melalui mendatangkan menyiapkan para sayalah
melihat menegaskan merasa pastilah sebab
melihatnya mengakhiri mereka penting sebabnya
memang mengapa merekalah pentingnya sebagai
memberi mengatakan merupakan per sebagaimana
memberikan mengatakannya meski pernah sebagainya
membuat mengenai meskipun persoalan sebagian
memerlukan mengerjakan meyakini pertama sebaliknya
memihak mengetahui meyakinkan pertama-tama sebanyak
meminta menggunakan minta pertanyaan sebegini
memintakan menghendaki mirip pertanyakan sebegitu
memisalkan mengibaratkan misal pihak sebelum
memperbuat mengibaratkannya misalkan pihaknya sebelumnya
mempergunakan mengingat misalnya pukul sebenarnya
memperkirakan mengingatkan mula pula seberapa
memperlihatkan menginginkan mulai pun sebesar
mempersiapkan mengira mulailah punya sebetulnya
mempersoalkan mengucapkan mulanya rasa sebisanya
mempertanyakan mengucapkannya mungkin rasanya sebuah
mempunyai mengungkapkan mungkinkah rata sebut
memulai menjadi nah rupanya sebutlah
memungkinkan menjawab naik saat sebutnya
menaiki menjelaskan namun saatnya secara
menambahkan menuju nanti saja sedang
menandaskan menunjuk nantinya sajalah sedangkan
menanti menunjuki nyaris saling sedemikian
menanti-nanti menunjukkan nyatanya sama sedikit
menantikan menunjuknya oleh sama-sama sedikitnya
menanya menurut olehnya sambil segala
menanyai menuturkan pada sampai segalanya
menanyakan menyampaikan padahal sampai-sampai segera
mendapat menyangkut padanya sampaikan sehingga
mendapatkan menyatakan pak sana seingat
mendatang menyebutkan paling satu sejak
sejauh semuanya setidak- tentulah tutur
sejenak semula tidaknya tentunya tuturnya
sejumlah sendiri setidaknya terakhir ucap
sekadar sendirian setinggi terbanyak ucapnya
sekadarnya sendirinya seusai terdahulu ujar
sekali seolah sewaktu terdapat ujarnya
sekali-kali seolah-olah siapa terdiri umumnya
sekalian seorang siapakah terhadap ungkap
sekaligus sepanjang siapapun terhadapnya ungkapnya
sekalipun sepantasnya sini teringat untuk
sekarang sepantasnyalah sinilah teringat-ingat usai
sekarang seperlunya soal terjadi wah
sekecil seperti soalnya terjadilah wahai
seketika sepertinya suatu terjadinya waktunya
sekiranya sepihak sudahkah terkira walau
sekitar seringnya sudahlah terlalu walaupun
sekitarnya serta supaya terlebih wong
sela serupa tadi terlihat yaitu
selaku sesaat tadinya termasuk yakni
selama-lamanya sesama tahu ternyata yang
selamanya sesampai tahun tersampaikan di
selanjutnya sesegera tambahnya tersebut ku
seluruh sesekali tampak tersebutlah se
seluruhnya seseorang tampaknya tertentu nya
semacam sesuatu tandas tertuju html
semakin sesuatunya tandasnya tetapi com
semasa sesudah tanpa tiap sih
semasih sesudahnya tanya tiba loh
semata setelah tanyakan tiba-tiba
semata-mata setempat tanyanya tidakkah
semaunya setengah tapi tidaklah
sementara seterusnya tegasnya tiga
semisal setiap tempat toh
semisalnya setiba tengah tunjuk
semua setibanya tentang turut
3. Sentence Segmentation

Text segmentation merupakan proses membagi-bagi teks menjadi unit-unit yang berarti.
Sentence segmentation membagi string tertulis dalam komponen kata dilakukan dengan
menggunakan regular expression.

3.1 Regular Expression

Regular Expression atau yang lebih sering disebut regex merupakan sebuah teknik
yang digunakan untuk mencocokan string teks, seperti karakter tertentu, kata-kata, atau pola
karakter. RegEx memiliki 2 fungsi utama yakni mencari dan mengganti, mencari suatu pola
tertentu dalam text lalu menggantinya menjadi pola yang lain.

Ada beberapa pola untuk mendefenisikan regular expression yaitu:

Pola Penjelasan
[]  Ekspresi kurung. Cocok dengan satu karakter yang berada dalam kurung,
misal: pattern "a[bcd]i" cocok dengan string "abi", "aci", dan "adi".
 Penggunaan range huruf dalam kurung diperbolehkan, misal : pattern "[a-z]"
cocok dengan salah satu karakter diantara string "a" sampai "z".
 Pattern [0-9] cocok dengan salah satu angka.
 Jika ingin mencari
karakter "-" juga, karakter tersebut harus diletakkan di depan atau di
belakang kelompok, misal: "[abc-]".
[^ ]  Cocok dengan sebuah karakter yang tidak ada dalam kurung, berlawanan
dengan yang diatas.
 Misal: pattern "[^abc]" cocok dengan satu karakter apa saja kecuali "a",
"b", "c".
?  Cocok dengan nol atau satu karakter sebelumnya.
 misal: pattern "died?" cocok dengan string "die" dan "died".
+  Cocok dengan satu atau lebih karakter sebelumnya.
 Misal: "ye+s" cocok dengan "yes", "yeees", "yeeeees", dan seterusnya.
*  Cocok dengan nol atau lebih karakter sebelumnya.
 misal: pattern "ye*s" cocok dengan string "ys", "yes", "yees" dan
seterusnya.
{x}  cocok dengan karakter sebelumnya sejumlah x karakter.
 misal: pattern
"[0-9]{3}" cocok dengan bilangan berapa saja yang berukuran 3 digit.
{x,y}  Cocok dengan karakter sebelumnya sejumlah x hingga y karakter.
 Misal: pattern
"[a-z]{3,5}" cocok dengan semua susunan huruf kecil yang terdiri dari 3
sampai 5 huruf.
!  Jika diletakkan di depan pattern, maka berarti "bukan".
 Misal pattern "!a.u" cocok dengan string apa saja kecuali string "alu", "aku",
"abu", "acu", "aiu", dan seterusnya .
^ Jika diletakkan di depan pattern, akan cocok dengan awal sebuah string.

() Grouping digunakan untuk mengelompokkan karakter - karakter menjadi


single unit. string yang cocok dalan pattern yang berada dalam tanda kurung
dapat digunakan pada operasi berikutnya, semacam variable.

\ escape character. mengembalikan fungsi metacharacter menjadi karakter biasa.


pada beberapa system dapat berarti sebaliknya, yaitu metacharacter
menggunakan escape character didepannya.

$  Jika diletakkan di belakang pattern, akan cocok dengan akhir sebuah string.
 Misal: The end?.$ maka cocok dengan “!’
Contoh kasus regular expression:
a) Memblok semua yang huruf baik huruf kecil maupun besar

b) Akan memblok karakter sepanjang 4 karakter


4. Stemming

Stemming adalah proses mengubah kata berimbuhan menjadi kata dasar. Proses
stemming dapat membantu menemukan dokumen yang sedang dicari yaitu dengan
menanggalkan imbuhan-imbuhan hingga hanya menyisakan kata dasar. Algoritma yang
digunakan dalam melakukan stemming adalah algoritma porter.

Stemming khusus bahasa Inggris yang ditemukan oleh Martin Porter 1980. Mekanisme
algoritma dalam mencari kata dasar suatu kata berimbuhan dengan membuang imbuhan–
imbuhan (atau lebih tepatnya akhiran) pada kata–kata bahasa Inggris karena dalam bahasa
Inggris tidak mengenal awalan. Karena bahasa Inggris datang dari kelas yang berbeda, beberapa
modifikasi telah dilakukan untuk membuat Algoritma Porter sehingga dapat digunakan sesuai
dengan bahasa Indonesia.

Pada tahap ini dilakukan proses pengembalian berbagai bentukan kata ke dalam suatu
representasi yang sama. Tahap ini kebanyakan dipakai untuk teks berbahasa inggris dan lebih
sulit diterapkan pada teks berbahasa Indonesia. Hal ini dikarenakan bahasa Indonesia tidak
memiliki rumus bentuk baku yang permanen. Contoh dari tahapan ini pada teks berbahasa
inggris adalah sebagai berikut:

4.1 Porter Stemmer Bahasa Indonesia

Implementasi Porter Stemmer for Bahasa Indonesia berdasarkan English Porter


Stemmer yang dikembangkan oleh W.B. Frakes pada tahun 1992. Karena bahasa Inggris
datang dari kelas yang berbeda, beberapa modifikasi telah dilakukan untuk membuat
Algoritma Porter dapat digunakan sesuai dengan bahasa Indonesia. Desain dari Porter
Stemmer for Bahasa Indonesia dapat dilihat pada gambar.
4.2 Algoritma pada Porter Stemmer

Berikut merupukan algoritma porter untuk melakukan stemming:

1. Menghapus partikel seperti: -kah, -lah, -tah


2. Mengapus kata ganti (Possesive Pronoun), seperti –ku, -mu, -nya
3. Mengapus awalan pertama. Jika tidak ditemukan, maka lanjut ke langkah 4a, dan
jika ada maka lanjut ke langkah 4b.
5. a. Menghapus awalan kedua, dan dilanjutkan pada langkah ke 5a
b. Menghapus akhiran, jika tidak ditemukan maka kata tersebut diasumsikan
sebagai kata dasar (root word). Jika ditemukan maka lanjut ke langkah 5b.
6. a. Menghapus akhiran dan kata akhir diasumsikan sebagai kata dasar (root word).
b. Menghapus awalan kedua dan kata akhir diasumsikan sebagai kata dasar (root
word).

4.3 Aturan Algoritma Porter untuk Indonesia

Terdapat 5 aturan pada Algoritma Porter untuk Bahasa Indonesia. Aturan-aturan


tersebut dapat dilihat pada tabel berikut :
4.4 Masalah Porter Stemmer dalam Bahasa Indonesia

Namun demikian, struktur morfologi dalam bahasa Indonesia memiliki tingkat


kerumitan yang lebih tinggi daripada bahasa Inggris. Seperti misalnya,kesulitan dalam
membedakan suatu kata yang mengandung imbuhan baik prefiksmaupun sufiks dengan
suatu kata dasar yang salah satu suku katanya merupakanbagian dari imbuhan, terutama
dengan kata dasar yang mempunyai suku kata lebih besar dari dua.
Contoh :
Sekolah  sekolah (kata dasar, tidak dilakukan stemming)
Duduklah  duduk (dilakukan proses stemming)

4.5 Pemaksimalan Porter Stemmer

Untuk menangani masalah pada Porter Stemmer untuk Indonesia perlu ditambahkan
beberapa aturan dalam algoritma agar memberikan hasil yang lebih maksimal dan untuk
mempermudah proses stem maka dibuatlah beberapa kamus kecil, antara lain sebagai
berikut:

1. Kamus kata dasar yang dilekati partikel, untuk menyimpan kata dasar yang memiliki
suku kata terakhir (partikel infleksional) serta kata tersebut tidak mendapat imbuhan
apapun. Seperti : masalah.
2. Kamus kata dasar yang dilekati partikel berprefiks untuk menyimpan kata dasar yang
memiliki suku kata terakhir (partikel infleksional) dan mempunyai prefiks. Seperti :
menikah.
3. Kamus kata dasar yang dilekati kata ganti milik, untuk menyimpan kata dasar yang
memiliki suku kata terakhir (kata ganti infleksional) serta kata dasar tersebut tidak
mendapatkan imbuhan apapun. Seperti : bangku.
4. Kamus kata dasar yang dilekati kata ganti milik berprefiks, untuk menyimpan kata
dasar yang memiliki suku kata terakhir (kata ganti infleksional) dan mempunyai
prefiks. Seperti : bersuku.
5. Kamus kata dasar yang dilekati prefiks pertama, untuk menyimpan kata dasar yang
memiliki suku kata pertama (prefiks derivasional pertama) serta kata dasar tersebut
tidak mendapatkan imbuhan apapun.. Seperti : median.
6. Kamus kata dasar yang dilekati prefiks pertama bersufiks, untuk menyimpan kata
dasar yang memiliki suku kata pertama (prefiks derivasional pertama) dan
mempunyai sufiks derivasional. Seperti : terapan.
7. Kamus kata dasar yang dilekati prefiks kedua, untuk menyimpan kata dasar yang
memiliki suku kata pertama (prefiks derivasional kedua) serta kata dasar tersebut
tidak mendapatkan imbuhan apapun. Seperti : percaya.
8. Kamus kata dasar yang dilekati prefiks kedua bersufiks, untuk menyimpan kata dasar
yang memiliki suku kata pertama (prefiks derivasional) dan mempunyai sufiks
derivasional. Seperti : perasaan.
9. Kamus kata dasar yang dilekati sufiks, untuk menyimpan kata dasar yang memiliki
suku kata terakhir (sufiks derivasional). Seperti : pantai.
5. Representasi Fitur

Salah satu elemen kunci dari text mining adalah kumpulan dokumen yang berbasis teks. Pada
prakteknya, text mining ditujukan untuk menemukan pola dari sekumpulan dokumen yang jumlahnya
sangat besar dan bisa mencapai jumlah ribuan bahkan sampai jutaan. Koleksi dokumen bisa statis, dimana
dokumen tidak berubah, atau dinamis, dimana dokumen selalu diupdate sepanjang waktu.
Algoritma yang digunakan pada text mining, biasanya tidak hanya melakukan perhitungan hanya
pada dokumen, tetapi pada juga feature. Empat macam feature yang sering digunakan:
1. Character, merupakan komponan individual, bisa huruf, angka, karakter spesial dan spasi,
merupakan block pembangun pada level paling tinggi pembentuk semantik feature, seperti
kata,term dan concept.Pada umumnya, representasi character-based ini jarang digunakan pada
beberapa teknik pemrosesan teks.
2. Words.
3. Terms merupakan single word dan frasa multiword yang terpilih secara langsung dari corpus.
Representasi term-based dari dokumen tersusun dari subset term dalam dokumen.
4. Concept, merupakan feature yang di-generate dari sebuah dokumen secara manual, rule-based,
atau metodologi lain. Pada tugas akhir ini, concept di-generate dari argument atau verb yang
sudah diberi label pada suatu dokumen.
Representasi fitur yang biasanya digunakan adalah dengan menggunakan matrix, dengan cara
mengumpulkan semua kata yang ada pada dokumen atau dengan kata lain kita membuat suatu vocabulary
yang digambarkan sebagai berikut :

Dokumen 1 :
Saya ingin pulang ke padang, Vocabulary
dengan cara itu saya bisa Saya, ingin, pulang, ke, padang,
mengucapkan terimakasih kepada dengan, cara, itu, bisa,
orang tua saya mengucapkan, terimakasih,
Dokumen 2 : kepada, orang, tua, Andi,
Andi bermimpi membelikan sebuah bermimpi, membelikan, sebuah,
mobil kepada seorang kakek kakek mobil, kepada, seorang, kakek,
yang ia temui dijalan yang, ia, temui, dijalan, Bagus,
Dokumen 3 : sekali, novel, baca, kemarin,
Bagus sekali novel yang saya baca malam
kemarin malam itu.

Representasi fitur dalam bentuk matriks ditunjukkan sebagai berikut :

Dokume Saya Ingin Pulang Ke Padang ... ... Kemarin Malam


n
Dok 1 2 1 1 1 1 0 0
Dok 2 0 0 0 0 0 0 0
Dok 3 1 0 0 0 0 1 1
6. Naive Bayes
6.1 Text Classification and Naive Bayes
pada pembelajaran kali ini akan diperkenalkan topik dari text classification dan algoritma naive
bayes dimana ini merupakan satu hal terpenting ketika kita melakukan text classificaion, berikut contoh
pengguanaan dari text classification :
 Mengetahui spam atau bukan spam
Mengetahui apakah email merupakan spam atau pun bukan spam, kita mukin bisa mendeteksi
secara langsung apakah email yang kita terima adalah spam atau bukan. Namun untuk sistem
mungkin akan susah untuk mengetahuinya. Bisa dijelaskan sebagai berikut :

Pada gambar email diatas kita bisa tau bahwa email tersebut merupakan spam dan bukan
email personal untuk kita. Bisa dibuktikan bahwa dari subject email saja yang berupa “important
notice!” dan ditujukan bukan untuk seorang namun kepada undisclosed-recipients. Untuk
pegklasifikasian teks kita menginginkan bahwa sistem dapat mengklasifikasi apakah email
tersebut merupakan spam atau bukan spam .
 Male or femail author
Dalam text classification kita dapat melakukan klasifikasi teks berdasarkan siapa yang
membuat dan menulis berdasarkan jenis kelami dari penulis tersebut. Misalnya terdapat dua
paragraf sebagai berikut :

1. By 1925 present-day Vietnam was divided into three parts under French colonial rule.
The southern region embracing Saigon and the Mekong delta was the colony of
Cochin-Vhina; the central area with its imperial capital at Hue was the protectorate of
Annam....
2. Clara never failed to be astonished by the extraordinary felicity of her own name. She
found it hard to trust herself to the mercy of fate, which had managed over the years
to converther greatest shame into one of her greatest assets...

Dari kedua paragraf diatas dapat kita tentukan bahwa penulis paragraf pertama berjenis kelamin
laki-laki dikarenakan lebih banyak menggunakan kata ganti “the” dan “was”, sebaliknya paragraf
kedua yang menulis adalah permpuan dikarenakan sering menggunakan kata “she” dan “her”.
 Positive or negative movie review
Dalam text classification kita dapat menentukan sentimen positif ataupun negatif dari
review suatu produk atau dari suatu review movie yang terdapat diinternet. Misalnya terdapat
beberapa movie review sebgai berikut :

 Unbelievable disappointing  negative


 Full of zany characters and richly applied satire, and some great plot twists  positive
 This is the greatest screwball comedy ever filmed  positive
 It was pathetic. The worst part about it was the boxing scenes.  negative
Dari beberapa review tersebut dapat ditentukan apakah kalimat review itu merupakan kalimat
positif atau negatif.

Contoh lain dari text classification adalah :

 Assigning subject categories, topics, or genres


 Spam detection
 Authorship identification
 Age/gender identification
 Language identification
 Sentiment Analysis
Input dalam text classification adalah sebuah dokumen d dan sejumlah kelas yang sudah ditetapkan
sebelumnya C = {C1,C2,.....,C3} dan keluaran dari text classification adalah suatu class prediction.
Adapun tugas dari klasifikasi text adalah mengambil sebuah dokumen dan menetapkan kelas yang sesuai
untuk dokumen tersebut.
Beberapa metode dari klasifikasi adalah sebagai berikut :
1. Hand coded rules
 Aturan yang berdasarkan kombinasi dari kata kata untuk fitur lainnya.
 Akurasi dapat menjadi tinggi, jika berhati hati untuk setiap aturan yang didefinisikan oleh
ekspert
 Tetapi membangun dan melakukan maintenance terhadap rule atau aturan akan sangat
mahal.
2. Supervised machine learning
 Input :
o A document d
o A fixed set of classes {C = (C1,C2,...,CJ)}
o A training let of inhand labeled document (d1,c1),..., (dm,cm)
 Output :
o A learner classifier
 Algoritma yang digunakan untuk classifikasi adalah :
o Naive bayes
o Logistic regression
o Suport vector machine
o K nearest neighbor
6.2 Naive Bayes
Naive bayes merupakan salah satu algoritma yang populer dalam melakukan text classification.
Beberapa instuisi tentang naive bayes :

 Metode klasifikasi yang sederhana yang dasarnya adalah arutan bayes. Naive bayes disebut juga
aturan bayes yang naif.
 Berdasarkan pada representasi yang sangat sederhana dari sebuah dokumen yaitu :
o Bag of word

Bag of word dapat di representasikan, ketika kita mempunyai suatu dokumen seperti dibawah ini:

Saya suka film ini! Ini manis, tetapi


dengan humor satir. Dialog nya bagus

(
dan adegan petualangan yang
menyenangkan ... Saya akan γ
merekomendasikan hal ini kepada siapa
pun. Aku sudah melihatnya beberapa
kali, dan aku selalu senang melihat lagi
dan setiap kali saya punya teman yang
telah belum melihatnya saya akan
merekomendasikan film tersebut. )=c

Tugas kita adalah mengambil fungsi gamma ( γ ) dikalikan dengan sebuah dokumen yang kita
punya kemudian disimpan kedalam kelas (c). Kelas tersebut bisa bernilai positif ataupun negatif. Jadi
analisis sentimen menghasilkan nilai positif ataupun negatif. Satu hal yang bisa kita lakukan adalah
melihat kata kata individu dalam dokumen seperti kata-kata yang ditebali diatas. Kita juga bisa
mempresentasikan bag of word dengan menggunakan subset of words (bagian kata). Misalnya dari
dokumen diatas kita bisa dapatkan kata yang penting saja , namun kita tidak lagi mengetahui arti dari
kalimat tersebut dan tidak dapat lagi mengetahui informasi yang ingin disampaikan oleh dokumen
tersebut.

Kita dapat merepresentasikan dokumen sebagai vektor dari kata-kata misalnya sebagai berikut:

( ) =
Suka 2
γ Romantis 2
rekomendasi 1
Tertawa 1
Senang 1
...... ......
c
dalam vektor tersebut terdapat kata-kata apa saja yang muncul dan dianggap penting dari sebuah
dokumen, kemudian dihitung jumlah perkata tersebut ada berapa masing masing kata tersebut muncul
dalam dokumen kemudian hasilnya dimasukkan kedalam kelas tertentu apakah termasuk kedalam kelas
positif atau negatif.

6.3 Formalizing the naive bayes classifier


Pembahasan sub bab kali ini akan mempelajari tentang formalisasi naive bayes classifier. Dalam
klasifikasi kita mempunyai sebuah tujuan dari klasifikasi. Aturan bayes diterapkan pada dokumen dan
kelas sebagai berikut, untuk sebuah dokumen d dan kelas c

P(c|d) =
P ( d|c ) . P(c)
P (d)
tujuan utama kita adalah mendapatkan nilai dari probabilitas setiap kelas, kita akan menggunakan nilai
probabilistik untuk mendapatkan kelas yang terbaik. Jadi aturan bayes adalah nilai probabilitas dari
dokumen dalem sebuah kelas dikalikan dengan nilai probabilitas kelasnya kemudian dibagi dengan
probabilitas dokumennya.

6.3.1 Naive Bayes Classifier

argmax
Cmap = P(C|d)
c ∈C

argmax
=
c ∈C
P ( d|c ) . P(C)
P( d)

argmax
= P(d|c).P(c)
c ∈C
Pada rumus diatas kelas terbaik adalah yang mempunyai maximum a posteriori class,
mencari nilai maksimum dari semua kelas ditentukan dengan rumus naive bayes namun
penyebut P(d) atau probabilitas dokumen dapat dihilangkan karena tidak mempengaruhi
perhitungan, karena kita ingin mendapatkan nilai yang maksimal. Persamaan diatas kemudian
diturunkan menjadi,

argmax
Cmap = P(d|c).P(c)
c ∈C
argmax
= P(x1,x2,...,xn |c) . P(c)
c ∈C
dokumen d direpresentasikan sebagai fitur x1,x2,...,xn.

Bagaimana cara kita melakukan perhitungan probabilitas dari sebuah kelas? Kita
hanya bertanya seberapa sering kelas ini terjadi. Perhitungan probabilitas dari sebuah kelas
bisa sesuai dengan perhitungan “frekuensi relatif” pada sebuah korpus atau sebuah dataset.
Probabilitas dari sebuah kelas relatif lebih mudah untuk dihitung, karena terdapat parameter
untuk probabilitas.

6.3.2 Multinomial naive bayes independence assumption

P(x1,x2,...,xn |c)
 Bag of word assumption : asumsi bahwa posisi dalam dokumen tidak penting atau
tidak dipermasalahkan
 Conditional independence : berasumsi bahwa perobabilitas fitur P(xi|cj) yang
independen diberikan pada kelas c. Misalnya suatu fitur muncul dan diberikan kelas,
maka fitur lainnya pun akan berikan kelas juga
Hasil dari kedua asumsi yang sederhana tersebut di representasikan kedalam rumus
sebagai berikut :

P(x1,x2,...,xn |c) = P(x1|c). P(x2|c),...., P(xn|c)


Setiap kondisi satu fitur didalam kelas tersebut dikalikan dengan fitur lain dalam kelas
tertentu sebanyak jumlah fitur tersebut.

6.3.3 Multinomial naive bayes classifier

argmax
Cmap = P(x1,x2,...,xn |c) . P(c)
c ∈C

argmax
CNB = (P(cj) ∏ P(x∨c ))
c ∈C x∈ X

Pengaplikasian multinomial naive bayes pada pengklasifikasian teks adalah,

argmax
CNB = (P(cj) ∏ P(x∨c ))
c ∈C x∈ X

Penjelasan
 P(cj)  probabilitas dari setiap kelasnya
 P(xi|cj)  untuk setiap kelasm meliha setiap posisi dan untuk
setiap posisi kita melihat kata dalam posisi dan mencari
probabilitas yang diberikan pada kelas.

(P(c1) ∏ P (w 1∨c 1))  C1


i
(P(c2) ∏ P (w 2∨c 2))  C2
i
Dapat dilihat yang terbesar nilainya dari kedua rumus diatas dan
diambil lalu dimasukkan kedalam kelas masing masing. Misal yang
pertama akan masuk kedalam kelas pertama (C1) dan yang kedua
akan masuk kedalam kelas ke dua (C2).

6.4 Pembelajaran Naive Bayes


Pembelajaran model multinominal naive bayes :

 First attemp : estimasi maksimum kedekatan


Secara sederhana menggunakan frekuensi didalam datanya

doc count (c =cj)


P(cj) =
Ndoc

P(wi|cj) =
count (wi , cj)
∑ count (w , cj)
w ∈v
masalah yang akan timbul dalam menggunakan maximum likelihood adalah apabila kita mempunyai
dokumen latih dengan kata fantastic dan di klasifikasikan dalam topik yang positive.

count(fantastic∨ positive)
P(“fantastic”|positive) =
∑ count (w , positive)
w ∈v

= 0

kemungkinan probabilitas nol tidak dapat menjadi sebuah kondisi, tidak peduli dengan bukti yang lain.
Solusi untuk masalah tersebut sangat sederhana dengan menggunakan :

Laplace (add - 1) smoothing for naive bayes

count ( wi , cj )+ 1
P(wi|c) =
∑ count ( w , cj )+ 1
w ∈v

= count(wi , cj)
¿¿

Dalam sebuah training corput kita dapat mengekstraksi list vocabulary setiap katanya . kemudian
dapat dilakukan

 perhitungan P(cj) untuk kata,


Untuk setiap Cj didalam C, akan dilakukan ,
P(cj) =
¿ docsj∨ ¿ documents∨¿ ¿
¿ total ¿
Docsj  semua dokumen dengan kelac Cj
 calculate p(wk|cj) term
textj  single doc containing all docsj P(wk|cj) =
untuk setiap kata Wk dalam vocabulary Nk +∝
nk  # dari dokumen dari wk pada textj n+∝∨vocabulary
Laplace (add - 1) smoothing : unknown
words

tambah satu kata dalam vocabulary

count ( wi , cj )+ 1
P(wi|c) =
∑ count ( w , cj )+ ¿ v +1∨¿ ¿
w ∈v

=
1
¿¿

6.5 Multinominal Naive Bayes_ A worked Example

P(c) = Probabilitas suatu kelas adalah jumlah dokumen dalam kelas dibagi dengan jumlah total
Nc dokumen yang ada.
N
Suatu kemungkinan atau probabilitas suatu kata diberi kelas adalah dengan
P(wi|c) =
menghitung jumlah kata yang sudah diberi kelas ditambah satu dan dibagi
count ( wi , cj )+ 1
dengan jumlah kelas ditambah dengan jumlah vocabulary yang ada.
count(C)+¿ v∨¿¿
Studi kasus, diberikan sebuah dokumen latih dan testing sebagai berikut:

Doc Words Class


Training 1 Chinese Beijing Chinese C
2 Chinese Chinese Shanghai C
3 Chinese Makao C
4 Tokyo Japan Chinese J
Testing 5 Chinese Chinese Chinese Tokyo Japan ?

Dalam tabel diatas terdapat dua data dari lima dokumen, empat dokumen merupakan data training
yang sudah mempunyai kelasnya, dan satu dokumen merupakan data testing yang belum diketahui
kelasnya, dari ke empat dokumen training dapat dilihat dokumen dokumen tersebut mempunyai dua kelas
yaitu c dan j. tiga dari dokumen training masuk kedalam kelas c dan satu dokumen masuk kedalam kelas
j. Tugas kita disini adalah menentukan apakah dokumen ke lima masuk kedalam kelas c ataukan masuk
kedalam kelas j, dengan cara :

Menemukan probabilitas prior untuk masing masing kelas :


3
P(c) =  dilihat dari jumlah dokumen yang kelasnya c dibagi dengan jumlah
4
dokumen keseluruhan

1
P(j) =  dilihat dari jumlah dokumen yang kelasnya j dibagi dengan jumlah dokumen
4
keseluruhan
Setelah kita mendapatkan probabilitas priornya, kemudian kita akan mencari probabilitas dari setiap
katanya.

P(Chinese|c)  diperoleh dengan cara menghitung semua kata Chinese yang ada pada dokumen kelas c
lalu ditambah 1 kemudian dibagi dengan jumlah semua kata dalam kelas c ditambah jumlah vocabulary
pada semua kelas atau dokumen yang ada, sehingga didapatkan hasil sebagai berikut :

Conditional probability :

5+1 6 3
P(Chinese|c) = = = P(Chinese|j) =
8+6 14 7
1+1 2
=
3+6 9

0+1 1
P(Tokyo|c) = = P(Tokyo|j) =
8+6 14
1+1 2
=
3+6 9

0+1 1
P(Japan|c) = = P(Japan|c) =
8+6 14
1+1 2
=
3+6 9

Kita sudah mempunyai informasi yang kita butuhkan yaitu prior dan conditional probability. Lalu hal
yang dapat kita lakukan adalah melakukan perhitungan apakah dokumen kelima masuk kedalam kelas c
atau kedalam kelas j, berikut perhitungannya

Dengan menggunakan rumus : P(wi|c) = P(c) . P(c|wi)


 P(c|d5) = P(c) . P(d5|c)
= P(c).{ P(Chinese|c). P(Chinese|c). P(Chinese|c). P(Tokyo|c). P(Japan|
c)}
3 3 3 3 1 1
= . . . . . = 0,003
4 7 7 7 14 14

 P(j|d5) = P(j) . P(d5|j)


= P(j). { P(Chinese|j). P(Chinese|j). P(Chinese|j). P(Tokyo|j). P(Japan|j)}
1 2 2 2 2 2
= . . . . .
4 9 9 9 9 9
= 0,0001
Jadi dari hasil diatas dokumen kelima akan dimasukkan kedalam kelas c karena nilai probabilitasnya
lebih besar dari pada probabilitas kelas j.

6.6 Precision, Recall, dan F Measure


Subbab ini akan membahas tentang evaluasi teks kategorisasi dan menerapkan konsep precission dan
recall untuk memperkenalkan informasi. Permulaan untuk mengerti pengukuran ini desediakan tabel
sebagai berikut :

Benar Tidak benar


Terpilih TP (True Positive) FP (False Positive)
Tidak Terpilih FN (False Negative) TN (True Negative)

Misalnya tabel diatas adalah menjelaskkan tentang perbedaan antara email spam dengan bukan spam. Maka
untuk kolom dari tabel diatas adalah menunjukkan keadaan yang sebenarnya dari dokumen, sedangkan
baris dalam tabel diatas menunjukkan keadaan pada sistem contoh dari penggunaan tabel diatas adalah
sebagai berikut :

Benar (spam) Tidak benar


(not spam)
Terpilih TP FP
(spam)
Tidak Terpilih FN TN
(not spam)
Penjelasan :

 TP (True Positive) adalah ketika pada keadaan sebenarnya email tersebut benar spam dan pada
sistem email tersebut terpilih sebagai spam
 FP (False Positive) adalah terjadi ketika pada keadaan sebenarnya suatu dokumen atau email
adalah bukan spam namun pada sistem dokumen atau email tersebut dipilih ebagai spam.
 FN (False Negative) adalah terjadi ketika pada keadaan sebenarnya dokumen atau email
tersebut adalah bukan spam namun pada sistem dokumen atau email tersebut tidak dipilih
sebagai spam.
 TN (True Negative) adalah ketika pada keadaan sebenarnya dokumen atau email tersebut
adalah bukan spam dan pada sistem dokumen atau emai tersebut dipilih sebagai bukan spam
juga.
Untuk mengetahui akurasi dari klasifikasi yang akan kita lakukan pada misalnya deteksi email spam atau
bukan spam. Kita dapat melakukan perhitungan dengan cara sebagai berikut :

Akurasi =
TP+TN
TP+ FP+ FN +TN
Dalam banyak aplikasi, akurasi adalah perhitungan yang sangat berguna untuk mengetahui atau
mengevaluasi kondisi pada sistem. Namun pada beberapa kasus akurasi saja tidak cukup, karena akurasi
tidak menjamin ketepatan hasil kategorisasi untuk itu kita butuhkan adanya precision dan recall.
Precision adalah presentasi dari item yang terpilih benar, bisa ditunjukkan dengan rumus sebagai berikut :

Precission =
TP
TP+ FP
dan recall adalah presentasi dari item yang benar dimana item tersebut
terpilih, adapun rumus untuk recall adalah sebagai berikut :

Recall =
TP
TP+ FN

Biasanya nilai precision dan recall berbanding terbalik (trade of). Agar nilai precision dan recall
seimbang dilakukanlah perhitungan dengan menggunakan F-measure untuk mengukur performansi dari
sistem. Dengan rumus sebagai berikut :

1
F = 1 1 =
∝ +(1−∝)
p R
( β 2+1 ) PR
β 2 P+ R

Supaya nilai dari precision dan recall menjadi balance, rumus pada F measure biasanya dengan
∝=0.5 dan β=1 sehingga rumusnya menjadi

2 PR
F1 =
P+ R
Semakin besar nilai F1, maka performansi sistem akan semakin bagus.

Anda mungkin juga menyukai