Uploaded by laodegaming.21

Artificial Intelegent

advertisement
MAKALAH
LOGIKA ORDER PERTAMA DALAM KECERDASAN
BUATAN
LA ODE YUDISTIRA DWISURYA NDAU
1162001035
PROGRAM STUDI INFORMATIKA
FAKULTAS TEKNIK DAN ILMU
KOMPUTER UNIVERSITAS BAKRIE
JAKARTA 2021
1.
Pendahuluan
Kecerdasan Buatan sebenarnya sudah dimulai sejak musim panas tahun1956. pada waktu itu
sekelompok pakar komputer, pakar dan peneliti dari disiplinilmu lain dari berbagai akademi,
industri serta berbagai kalangan berkumpul di Dartmouth College untuk membahas potensi
komputer dalam rangka menirukanatau mensimulasi kepandaian manusia. Beberapa ilmuwan
yang terlibat adalah Allen Newel, Herbert Simon, Marvin Miskey, Oliver Selfridge, dan
JohnMcCarthy. Sejak saat itu, para ahli mulai bekerja keras untuk membuat, mendiskusikan,
merubah dan mengembangkan sampai mencapai titik kemajuan yang penuh. Mulai dari
laboratorium sampai kepada pelaksanaan kerja nyata. Pada mulanya Kecerdasan Buatan hanya
ada di universitas-universitas dan laboratorium-laboratorium penelitian, dan hanya sedikit sekali
– jika ada – produkpraktis yang sudah dikembangkan. Menjelang akhir tahun 1970-an dan awal
tahun 1980-an, mulai dikembangkansecara penuh dan hasilnya secara berangsur-angsur mulai
dipasarkan. Saat ini, sudah banyak hasil penelitian yang sedang dan sudah dikonversikan
menjadiproduk nyata yang membawa keuntungan bagi pemakainya.
Sistem tanya jawab (STJ) adalah sebuah sistem yang berupaya untuk mencari jawaban spesifik
terhadap sebuah pertanyaan yang diajukan dalam bahasa natural. Dibandingkan dengan mesin
pencarian yang memberikan himpunan dokumen hasil penelusuran, sebuah STJ harus dapat
menghadirkan jawaban akhir kepada pengguna. Secara nilai kecerdasan, STJ harus memiliki
intelijensia yang lebih dibandingkan dengan mesin pencarian biasa. Permasalahan utama yang
harus diatasi dalam STJ adalah sejauh mana pertanyaan yang diajukan dalam bahasa alami
(bahasa Inggris, Indonesia, dll) dapat diinterpretasikan, dan kemudian dicari jawabannya dari
sekumpulan fakta yang telah ada di dalam sistem. Fakta dapat berupa sekumpulan kalimat yang
diinputkan melalui dialog dengan sistem ataupun sekumpulan dokumen tekstual dalam jumlah
yang sangat besar (korpus), misalnya dokumen-dokumen yang dapat diakses melalui Internet.
Pencarian jawaban dalam STJ dapat menggunakan beberapa teknik dengan menerapkan teknikteknik penelusuran informasi (information retrieval / IR, misalnya dengan teori probabililitas,
model bahasa, dan model similaritas kata), kecerdasan buatan (artificial intelligence, misalnya
dengan ontologi, data-driven, anotasi pengetahuan, dan logika deskripsi / description logic), dan
pendekatan penalaran (reasoning, misalnya dengan teknik resolusi dan inferensi pada logika
tingkat pertama = First Order Logic / FOL). Pada umumnya teknik IR dipakai untuk menyaring
2
kandidat dokumen yang berisi jawaban dari korpus yang besar, dan dipakai dalam STJ domain
terbuka (open-domain), misalnya STJ yang beroperasi pada Internet, seperti AskMSR [Lin &
Katz 2003], AskJeeves, OpenEphyra [Schlaefer, et.al. 2006, 2007], dan JIRS [Buscaldi, et. al
2009]. Pemanfaatan ontologi dalam STJ, biasanya dilakukan untuk STJ dalam domain tertutup
(closed-domain). Penerapan ontologi dapat dilakukan jika model data dalam sebuah domain
direpresentasikan sebagai sebuah keterkaitan konsep, yang pada akhirnya digunakan sebagai alat
interpretasi bahasa alami. Contoh STJ yang menerapkan ontologi dan data-driven antara lain
AquaLog [Lopez, et. al. 2009a,b], Senso [Saias & Quaresma, 2007], dan HITIQA [Strzalkowski,
et. al. 2005].
Pemanfaatan FOL untuk merepresentasikan fakta adalah salah satu teknik dasar yang sudah sejak
lama dipakai untuk dapat mengkodekan bahasa alami ke dalam bentuk formal. Dengan
menggunakan FOL, diharapkan fakta (dan juga pertanyaan) dapat direpresentasikan secara tepat
ke dalam konteksnya masing-masing, sehingga jawaban akhir yang dikembalikan kepada
pengguna adalah jawaban yang tingkat kesasihannya (validity, di dalamnya mencakup
consistency dan informativeness) sangat tinggi. STJ yang memanfaatkan teknik penalaran antara
lain QED dan LaSapienza [Bos, J. 2006], LogAnswer [Furbach, U., et. al. 2009].
STJ yang dibahas dalam laporan ini akan menggunakan dialog sebagai alat untuk menginputkan
fakta dan pertanyaan. Sistem akan memberikan sebuah jawaban tunggal yang didapatkan dari
hasil inferensi. Contoh dialog yang diharapkan, misalnya:
Pengguna: Ayah makan sepiring nasi
Sistem: Ok
Pengguna: Anto naik sepedaSistem: Ok
Pengguna: Siapa makan sepiring nasi?
Sistem: Ayah
Untuk dapat melakukan dialog seperti di atas, ada dua permasalahan yang harus dapat ditangani
di dalam sistem:
1. Bagaimana kalimat dalam bahasa alami dapat secara otomatis direpresentasikan ke dalam
bentuk semantik yang sesuai?
2. Bagaimana representasi bahasa alami yang telah dihasilkan dapat dipakai untuk
3
melakukan penalaran jawaban?
Bagian laporan selanjutnya akan memuat pembahasan mengenai FOL yang sebagai perangkat
representasi untuk analisis semantik fakta dan pertanyaan, serta mekanisme penalaran yang
digunakan dalam menentukan jawaban akhir. Pendekatan analisis semantik yang digunakan
dalam laporan ini memakai model yang ditulis dalam buku “Representation and Inference for
Natural Language” karangan Patrick Blacburn dan Johan Bos [Blackburn, P. & Bos, J. 2005],
selanjutnya disebut sebagai BB1.
Susunan laporan selanjutnya adalah sebagai berikut: bagian dua akan memuat pembahasan
mengenai peranan FOL dalam representasi semantik. Bagian tiga akan membahas mengenai
arsitektur yang dipakai untuk analisis dan inferensi semantik. Bagian empat akan memuat
mengenai permasalahan representasi FOL, yang diteruskan pada bagian lima
dengan
pembahasan mengenai pembentukan semesta pembicaraan yang dipakai sebagai perangkat untuk
membentuk domain penalaran untuk STJ. Bagian enam akan membahas mekanisme STJ yang
dihasilkan. Laporan akan ditutup dengan beberapa kesimpulan dan arah penelitian selanjutnya.
2.
Representasi Semantik
Representasi sebuah fakta dalam bentuk FOL memiliki beberapa keuntungan dibandingkan
dengan logika proposisi. Dalam logika proposisi sebuah kalimat direpresentasikan ke dalam
sebuah lambang yang menggantikan keseluruhan kalimat secara utuh. Misalnya: ‘ayah makan
sepiring nasi’, akan dilambangkan dengan proposisi utuh ‘A’. Keterbatasan dari representasi ini
adalah jika hanya sebagian dari fakta yang berperan sebagai jawaban atas sebuah pertanyaan.
Misalnya jika sistem hanya ingin mengambil jawaban ‘ayah’ sebagai respons atas pertanyaan
‘Siapa makan sepiring nasi?’.
Dengan FOL, representasi dapat dilakukan dengan memberikan predikat yang menjelaskan
adanya relasi antara fakta atomik (variabel) dalam kalimat. FOL juga memberikan kesempatan
untuk melengkapi representasi dengan adanya kuantifikator, yang menjelaskan lingkup predikat
dalam kalimat bahasa alami. Sebagai contoh kalimat ‘ayah makan sepiring nasi’, sebenarnya
ingin menjelaskan bahwa ‘ada seorang ayah yang memakan nasi dengan menggunakan sejumlah
4
piring sebagai tempat nasi tersebut’, atau dengan kata lain ada fakta atomik ‘ayah’ yang
melakukan fakta tindakan ‘makan’ sesuatu, yaitu ‘nasi’ yang diletakkan di dalam ‘piring’. Jika
direpresentasikan ke dalam FOL, kalimat ‘ayah makan sepiring nasi’, dapat menjadi
sejumlah nasi tertentu diberikan lingkup ke dalam konteks ‘makan’ yang dilakukan ‘ayah’.
Kuantifikator ini dapat digunakan untuk menjelaskan generalisasi terhadap sebuah fakta. Sebagai
contoh jika ada kalimat ‘semua ayah makan sepiring nasi’, maka dapat direpresentasikan ke
,y))’. Perhatikan bahwa FOL, ambiguitas (underspecification) dalam
mengartikan sebuah kalimat tetap dapat direpresentasikan. Contoh di atas menghasilkan dua
interpretasi, yang pertama menjelaskan bahwa ‘semua ayah memakan nasi dari piring yang
berbeda-beda’, sedangkan yang kedua menjelaskan bahwa ‘semua ayah memakan nasi dari
sebuah piring yang sama’. Permasalahan ambiguitas ini bergantung pada lingkup kuantifikator
dalam formula FOL. Untuk menjelaskan lingkup kuantifikator diperlukan adanya pemahaman
terhadap model, domain, formula, dan keterikatan variabel (variable binding) dalam sebuah
representasi FOL.
2.1.
Model, Domain dan Formula
Sebuah model adalah sebuah situasi yang menjelaskan hal-hal yang menjadi konteks
pembicaraan. Untuk membentuk sebuah model, diperlukan adanya kosa-kata (vocabularies),
yaitu daftar istilah yang membentuk model tersebut. Sebuah kosa-kata berisikan topik
pembicaraan dan bahasa (simbol) yang digunakan dalam pembicaraan. Dalam contoh kalimat
‘ayah dan anto makan sepiring nasi’, akan terdapat kosa-kata sebagai berikut: {(ayah,1), (anto,0),
(makan,2), (nasi,1)}. Dalam kosa-kata ini akan terlihat bagaimana relasi antara fakta atau
variabel yang satu dengan lainnya di dalam representasi. Perlu dibedakan antara fakta (sebuah
konstanta / non-binding variable), dengan variabel yang dapat menampung sebuah fakta (binding
variable). Dalam contoh, relasi ‘makan’ menjelaskan bahwa aktivitas tersebut dapat terjadi jika
melibatkan dua konstanta (relasi biner yang memiliki arity 2). Angka 1 menjelaskan bahwa
terjadi relasi tunggal (arity 1), yang dapat diisikan (binding) dengan sebuah konstanta. Angka 0
menjelaskan sebuah konstanta, dan bukan merupakan relasi.
5
Sebuah domain memberikan himpunan entitas / fakta yang menjadi fokus pembicaraan. Setiap
simbol dalam kosa-kata akan menyampaikan nilai semantik yang sesuai dengan interpretasinya
di dalam domain yang berlaku. Interpretasi terhadap simbol diberikan dengan menggunakan
sebuah fungsi. Dengan demikian sebuah model M, adalah pasangan domain dengan fungsi yang
memberikan nilai semantik tertentu (D,F). Misalkan untuk contoh ‘ayah makan sepiring nasi’,
terdapat domain D = {d1, d2}, dengan fungsi interpretasi F1, sebagai berikut: F1(ayah) = d1,
F1(nasi) = d2, F1(makan) = {d1, d2}, akan menghasilkan sebuah model M, yang berisikan
pasangan antara domain dengan fungsi.
6
2.2.
Kalkulus Lambda
Sebuah kalimat bahasa alami tidak dapat secara langsung direpresentasikan ke dalam bentuk
FOL tanpa melalui proses pengenalan semantik dari setiap simbol (kata) di dalamnya. Hal ini
terutama terkait dengan proses pengikatan variabel-konstanta dan kuantifikator untuk setiap
simbol dalam kosa-kata yang merepresentasikan nilai semantik tertentu. Bahasa alami memiliki
tata bahasa (gramatika / struktur sintaksis), yang bersifat hierarkis. Sebuah kalimat lengkap akan
dapat diuraikan ke dalam bentuk yang lebih sederhana secara bertingkat, dengan setiap
simbolnya menempati peranan (fungsi interpretasi / semantik) tertentu di dalam domainnya.
Untuk contoh ‘ayah makan sepiring nasi’, setiap simbolnya dapat memiliki nilai semantik
berdasarkan struktur sintaksis, sebagai berikut:
Salah satu pendekatan yang digunakan untuk melakukan analisis sintaksis adalah dengan
menerapkan Definite Clause Grammar (DCG). Sebelum representasi FOL dapat dilakukan,
aturan DCG harus diterapkan ke dalam sistem, yaitu dengan:
1. Memberikan spesifikasi sintaksis (gramatika) untuk bahasa alami yang digunakan.
2. Memberikan spesifikasi representasi semantik untuk setiap simbol (leksikon).
3. Memberikan spesifikasi hierarkis / komposisional yang memberikan nilai semantik
untuk setiap (sub-) bagian dalam sintaks.
7
Setelah adanya aturan DCG, representasi FOL dapat dilakukan dengan melakukan terlebih
dahulu pengikatan variabel dan kuantifikator untuk setiap simbol yang akan dianalisis nilai
semantiknya. Hal ini dilakukan dengan menerapkan kalkulus lambda (KL). KL memberikan
jaminan bahwa setiap simbol akan mendapatkan pengikatan variabel yang berbeda sesuai dengan
untuk menampung informasi yang ‘hilang’ dalam sebuah relasi / predikat di dalam domain.
Informasi akan diikatkan ke dalam variabel dengan proses substitusi, dengan simbol @ (dapat
diartikan sebagai “sesuatu diaplikasikan (applied) ke dalam variabel pada fungsi domain”).
-conversion, akan menjamin bahwa substitusi dilakukan
untuk ‘lubang’ dengan variabel yang tepat.
Sebagai contoh untuk kalimat ‘anto makan sepiring nasi’, maka dapat digunakan aturan DCG,
dengan penerapan KL, sebagai berikut:
8
2.3.
Implementasi Kalkulus Lambda
Guna mengimplementasikan analisis semantik dengan pendekatan DCG, diperlukan seperangkat
komponen. Komponen-komponen tersebut harus mewakili aturan-aturan sintaktik dan semantik.
Setiap aturan sintaktik dan semantik akan dipakai untuk menginterpretasikan kalimat yang
diinputkan ke dalam sistem, kata-per-kata. Interpretasi akhir dari sebuah kalimat akan
bergantung pada model representasi semantik yang dipakai, misalnya jika pada sistem diterapkan
KL, maka binding (pengisian variabel dan kuantifikator) akan mengikuti mekanisme
-
conversion. Arsitektur dalam BB1 diimplementasikan dengan bahasa pemrograman Prolog yang
sangat fleksibel untuk implementasi aturan dan dapat diandalkan untuk melakukan inferensi.
lambda disiapkan untuk mengisi ‘lubang’ pada sebuah variabel X. Sebenarnya dalam mekanisme
KL ada dua proses yang terjadi. Yang pertama adalah untuk memberikan label (penamaan
variabel) yang unik untuk setiap variabel yang terdapat dalam kalimat, dan kedua memberikan
nilai pada label, sesuai dengan urutan (dengan data struktur tumpukan / stack). Proses yang
-reduction
-reduction. Kedua
proses ini harus dilakukan untuk menghindari adanya ‘kekurangcermatan’ pemberian label pada
variabel saat analisis kalimat dilakukan. Setelah kedua proses dalam KL dilakukan, barulah
proses binding dilakukan sesuai dengan domain dan fungsi yang berlaku pada kalimat yang
9
dianalisis. Dalam Prolog, aplikasi fungsional seperti ini dilakukan oleh sebuah predikat
app(Functor,Argument).
Ide implementasi dengan data struktur tumpukan terhadap kalkulus lambda, dapat dilihat pada
contoh berikut ini. Seandainya terdapat kalimat “ayah tidur”, maka sebenarnya secara kalkulus
lambda akan direpresentasikan dengan app(lam(X,tidur(X),ayah). Dalam proses selengkapnya,
representasi tersebut terjadi dengan tahapan sebagai berikut:
Ekspresi
Stack
app(lam(X, tidur(X), ayah)
[]
lam(X, tidur(X))
[ayah]
tidur(ayah)
[]
Proses dimulai dengan tumpukan kosong, pada saat aplikasi fungsi akan dilakukan, maka
argumen dalam ekspresi, yaitu ‘ayah’, dilempar (push) ke dalam tumpukan (baris pertama). Jika
ekspresi yang ditemukan adalah sebuah abstraksi lambda (baris kedua), maka simbol lambda
akan dibuang, dan selanjutnya variabel pertama yang ditemukan dalam argumen, akan diisikan
dengan nilai yang ada pada tumpukan (pop). Jika ekspresi bukan merupakan ‘aplikasi’ ataupun
‘abstraksi lambda’, maka proses keseluruhan selesai. Dengan cara yang demikian, KL
memberikan proses yang transparan dan notasi yang utuh untuk analisis semantik, dan sekaligus
dapat digunakan untuk “menyatukan” semantik dengan aturan sintaktiknya.
3.
Arsitektur Analisis Semantik
Arsitektur yang ditawarkan dalam BB1 diupayakan untuk memenuhi tiga persyaratan dalam
implementasi tata-bahasa, yaitu: modular (setiap komponen memiliki peran spesifik dengan
antarmuka yang jelas dengan komponen lainnya), ekstensibilitas (aturan tata-bahasa harus dapat
dengan mudah diperluas jika ada kebutuhan baru), dan penggunaan kembali (reusabilitas, yang
artinya komponen tata-bahasa harus sedemikian rupa dapat dipertahankan, meskipun ada
perubahan model representasi semantik).
Untuk menjawab ketiga syarat tersebut, maka arsitektur yang disiapkan terbagi ke dalam dua
dimensi, yaitu: aturan sintaktik (Grammar.pl) yang berkorespondensi dengan aturan semantik
untuk kombinasi konstruksi bagian kalimat (SemRules.pl), dan leksikon (Lexicon.pl, yang berisi
10
kosa-kata) yang berkorespondensi dengan aturan semantik leksikal (SemLex.pl). Jika
digambarkan, maka dimensi arsitektur tersebut dapat dilihat sebagai berikut:
Model
Representasi
Semantik
syntax
Lexicon.pl
SemLex.pl
Grammar.p
SemRules.pl
lexicon
grammar
semantic
l
11
3.1.
Aturan Tata Bahasa
Aturan tata bahasa memberikan susunan kalimat bahasa natural dalam sebuah DCG. Dalam
perangkat aturan tata bahasa ini, konstuksi semantik yang penting untuk sebuah bahasa natural
didefinisikan, misalnya aturan untuk pronomina, kata kerja, determinator, kata benda, dsb.
Dalam arsitektur BB1, kombinasi antar setiap konstruksi semantik diberikan dengan predikat
sebagai berikut:
s([coord:no,sem:Sem])-->
np([coord:_,num:Num,gap:[],sem:NP]),
vp([coord:_,inf:fin,num:Num,gap:[],sem:VP]),
{combine(s:Sem,[np:NP,vp:VP])}.
Dalam aturan ini, terlihat juga bahwasanya sebuah kalimat S bukan kalimat berkoordinasi
(berdiri tunggal), bagian NP dan VP memiliki konteks numerikal yang sama (misalnya tunggal).
Konstruksi VP dalam aturan ini harus dalam kondisi yang terbatas (finite), dan secara lengkap
kalimat S merupakan kombinasi antara NP dan VP.
Jika detil dari sebuah konstruksi bahasa alami diambil, misalnya bagian NP, dengan aturan
sebagai berikut:
np([coord:no,num:sg,gap:[],sem:NP])-->pn([sem:PN]),
{combine(np:NP,[pn:PN])}.
Dan dengan aturan PN, sebagai berikut:
pn([sem:Sem])-->
{lexEntry(pn,[symbol:Sym,syntax:Word])},Word,
{semLex(pn,[symbol:Sym,sem:Sem])}.
12
Akan terlihat sekarang, bahwa sebuah tata-bahasa, selain memerlukan kombinasi konstruksi
semantik, juga memerlukan kosa-kata (lewat predikat lexEntry), dan juga aturan semantik dari
leksikon tersebut (semLex).
3.2.
Kombinasi Konstruksi
Kombinasi konstruksi memberikan aturan untuk pengaplikasian fungsional antara bagian
kalimat, atau dengan kata lain melakukan “aplikasi fungsional untuk setiap argumen dalam
ekspresi lambda” yang dikenali dari kalimat. Dalam implementasi BB1, kombinasi konstruksi
dilakukan den
NP
VP, akan menggunakan aturan sebagai berikut:
combine(s:app(A,B),[np:A,vp:B]).
Definisi untuk combine/2, adalah sebagai berikut:
combine(t:Converted,[s:Sem]):betaConvert(Sem,Converted).
Terlihat bahwa dengan cara yang demikian, interpretasi semantik yang dilakukan dapat
dilakukan secara modular, atau dengan kata lain, jika model yang digunakan untuk model
representasi semantik bukan KL, maka definisi combine/2 harus dirubah pada perangkat ini,
dan juga pada perangkat semantik leksikon.
3.3.
Leksikon
Leksikon berisi daftar kata yang akan dikenali di dalam sistem. Dalam daftar kata ini akan
diberikan juga kategori dan fitur dari setiap kata. Sebagai contoh untuk kata dengan kategori PN:
lexEntry(pn,[symbol:ayah,syntax:[ayah]]).
Secara
generik
setiap
entry
dalam
lexicon
dapat
diberikan
dengan
predikat:
lexEntry(Category,Features). Category memberikan jenis konstruksi yang diwakili oleh kata
dalam semantik, sedangkan Features memberikan pasangan atribut-nilai, yang berperan dalam
analisis semantik. Sebagai contoh, symbol ‘ayah’, akan diolah sebagai konstruksi PN, dengan
syntax (tampilan) yang harus muncul dalam kalimat (teks) yang akan dikenali adalah ‘ayah’.
13
Sesuai dengan konstruksi yang diwakili oleh setiap leksikon, maka bisa saja ada fitur yang
membedakan untuk setiap jenis leksikon. Misalnya untuk determinator, memerlukan fitur
kuantifikator untuk kata benda yang ditunjuknya, atau verba transitif, memerlukan fitur untuk
menentukan nilai ‘numerik’ dari kata kerja, sebagai tunggal atau majemuk.
3.4.
Semantik Leksikon
Perangkat semantik leksikon memberikan definisi semantik yang sesungguhnya (seperti sebuah
‘macro’) untuk setiap kata dalam leksikon. Misalnya jika sebuah kata adalah dalam kategori PN,
maka proses KL yang harus dilakukan adalah sebagai berikut:
semLex(pn,M):M = [symbol:Sym, sem:lam(P,app(P,Sym))].
Terlihat dari definisi SemLex untuk PN, bahwa misalnya ‘ayah’ akan diasosiasikan dengan fitur
symbol dalam leksikon, dan representasi semantik lam(X,app(X,ayah)). Contoh lain misalnya
untuk kata benda:
semLex(noun,M):M = [symbol:Sym, sem:lam(X,Formula)], compose(Formula,Sym,[X]).
Terlihat bahwa untuk definisi kata benda, diperlukan mekanisme untuk ‘mengaitkan’ sebuah variabel
sebagai tanda bahwa kata benda harus ‘diisikan’ nantinya dengan sebuah fakta. Proses pemberian variabel
tersebut dilakukan melalui predikat compose/3, sebagai berikut:
compose(Term,Symbol,ArgList):- Term =.. [Symbol|ArgList].
Dengan komposisi arsitektur yang demikian, maka jika ada perubahan yang perlu diubah hanya
pada bagian semantik-nya, sedangkan sintaktiknya dapat dipertahankan.
4.
Permasalahan Lingkup Kuantifikator
Secara khusus dalam buku BB1, diberikan beberapa pendekatan yang dipakai untuk mengatasi
ambiguitas lingkup kuantifikator (scope ambiguities atau underspecified scoping). Permasalahan
14
lingkup kuantifikator muncul sebagai akibat perbedaan interpretasi yang dimunculkan oleh
kehadiran kuanfikator dalam FOL. Misalkan sebuah kalimat: ‘setiap pria mencintai seorang
wanita’. Untuk kalimat ini akan muncul dua interpretasi dalam FOL, yaitu:
1. Ada wanita yang berbeda-beda yang dicintai oleh pria yang berbeda:
^ cinta(x,y))).
2. Ada hanya satu wanita yang dicintai oleh semua pria:
^
cinta(x,y))).
Perbedaan interpretasi ini disebabkan perubahan lingkup kuantifikator eksistensial dalam
kalimat. Pada interpretasi pertama, lingkup kuantifikator ‘seorang wanita’, berada di dalam
lingkup kuantifikator universal untuk ‘semua pria’. Sedangkan pada interpretasi kedua, urutan
munculnya kuantifikator dibalik. Atau dengan kata lain, kuantifikator universal (‘semua pria’)
pada interpretasi pertama memiliki konteks luas, dan kuantifikator eksistensial (‘seorang
wanita’), berkonteks sempit. Peran ini terbalik pada interpretasi kedua.
Peran kuantifikator sebagaimana dijelaskan di atas, tidak muncul pada aturan-aturan sintaktik.
Setiap kata pada kalimat memiliki kategori yang sudah pasti, dan dengan demikian tidak akan
membedakan ‘interpretasi’ yang seharusnya muncul karena perbedaan peran kuantifikator.
Permasalahan yang sebenarnya akan muncul jika dari interpretasi yang diberikan, tidak ada
satupun yang benar-benar merupakan sesuatu yang ‘utuh’ sebagai hasil representasi. Dari contoh
di atas, interpretasi pertama adalah representasi utuh dari analisis sintaktik dan semantik, atau
dengan kata lain langsung mengikuti hasil parsing dari aturan sintaktik, sehingga bisa dianggap
sebagai representasi yang ‘seharusnya’ (weakest representation). Atau dengan kata lain, jika
hasil penguraian ternyata membentuk interpretasi yang berbeda-beda dari analisis sintaksis, dan
jika ada perbedaan implikasi logis dari setiap interpretasi, maka tanpa adanya mekanisme untuk
menentukan lingkup kuantifikator, hanya akan terbentuk satu interpretasi yang belum tentu tepat.
Sistem harus dapat memberikan alternatif kepada pengguna untuk memilih interpretasi yang
‘lebih tepat’, menurut pendapat manusia.
15
4.1.
Pendekatan Montague
Pendekatan Montague, disebut juga dengan istilah pembangkitan kuantifikator (quantifier
rising). Jika ada kuantifikator yang ingin ‘ditonjolkan’, atau ingin diunggulkan terhadap lainnya,
maka kuantifikator tersebut harus dikaitkan dengan sebuah variabel ‘bayangan’, yang disebut
sebagai sebuah ‘placeholder’, yang dapat diberikan index. Variabel bayangan ini akan diisi
sesuai dengan aturan sintaktik pada tingkatan penguraian kalimat yang sesuai. Kuncinya adalah
dengan “merekam” posisi placeholder, dan “memutar”-nya kembali saat muncul pada
kesempatan lain, yaitu saat ingin dicari representasi semantiknya, dengan menerapkan KL.
Pada contoh di atas, pembangkitan kuantifikator, terjadi untuk variabel bayangan z3, yang
melalui KL diaplikasikan untuk ‘seorang wanita’. Kelemahan utama pendekatan Montague,
adalah perlu menambahkan aturan-aturan pada tata-bahasa (grammar), misalnya aturan untuk
memperkenalkan variabel baru, dan juga aturan untuk eliminasi placeholder yang diisikan
dengan pronomina dari fakta (domain) tertentu. Dengan cara seperti ini, arsitektur tidak akan
sefleksibel semula, yaitu jika aturan hanya perlu diubah untuk analisis semantik.
4.2.
Cooper Storage
Dalam representasi dengan menggunakan storage, representasi semantik dibangun secara
langsung tanpa melalui analisis sintaktik. Ide utamanya adalah dengan mengasosiasikan setiap
simpul dalam pohon sintaktik dengan sebuah store, yang berisi sebuah inti dari representasi
semantik bersama dengan kuantifikator dari simpul di bawahnya. Setelah sebuah kalimat
diuraikan, store digunakan untuk membangkitkan representasi lingkup kuantifikator. Store
16
adalah sebuah abstraksi dari representasi semantik berupa list dari n-keterurutan. List bisa berisi
keterurutan tunggal (1-place store
ada) yang dihasilkan oleh analisis semantik (n-place store
Dengan demikian melalui
abstraksi tersebut akan dihasilkan daftar dari urutan KL yang perlu untuk di-binding dengan
fakta di dalam domain. Daftar urutan berisi index dan daftar operator lambda yang perlu untuk
di-binding, yaitu
index binding operators.
Konstruksi semantik dalam storage dapat dengan baik berperan pada frase kata benda (NP) yang
dilengkapi dengan determinator (quantified noun phrase). Ada dua langkah dalam memanipulasi
storage, yaitu membentuk store dan melakukan retrieval.
Aturan untuk membentuk store adalah sebagai berikut (COOPER):
“Jika store
representasi semantik untuk sebuah frase
i
dengan i adalah index yang unik, adalah juga sebuah representasi untuk NP tersebut”.
Strategi besar dalam penentuan store adalah dengan ‘memilih’ sebuah variabel baru secara acak,
yang akan digunakan sebagai placeholder, untuk setiap bagian kalimat yang memiliki frase NP.
Sama sebagaimana yang dilakukan dalam pendekatan Montague, bagian tersebut akan ‘direkam’,
dan diingat bahwa variabel bebasnya perlu untuk diisikan sesuatu. Pada tahap pembentukan store
ini, semua variabel baru masih belum ‘diikat’ dengan lingkupnya, namun pada saat retrieval
nantilah urutannya akan menjadi jelas.
Aturan untuk melakukan retrieval store (COOPER):
“Jika ada
store
dan
berisi urutan untuk binding (kemungkinan bisa kosong), dan jika
diasosiasikan dengan sebuah ekspresi pada kalimat, maka store
i
juga dapat diasosiasikan dengan ekspresi tersebut”.
Contoh Cooper Storage untuk kalimat ‘setiap pria mencintai seorang wanita’, dapat dilihat
sebagai berikut:
17
Pada gambar di atas, untuk setiap simpul yang berisi kuantifikator NP, terbentuk sebuah store.
Store tersebut berisi 2-place. Slot yang pertama adalah untuk identifikasi variabel yang harus dibinding, sedangkan yang kedua untuk identifikasi nomor index variabel yang telah ditentukan
untuk dibuat saat pembentukan store. Slot pertama berisi ‘inti aktif’, yang dipakai untuk
representasi semantiknya, diistilahkan juga sebagai functional-application-in-the-first-method.
Guna menentukan lingkup dari kuantifikator yang akan di-binding, langkah retrieval storage
perlu dilakukan. Retrieval akan membuang index variabel, dan kemudian dikombinasikan
dengan representasi ‘inti aktif’ untuk membentuk representasi inti yang baru. Jika index dan
binding sudah dilebur pada tingkat komponen NP, maka pada saat analisis semantik berada pada
tingkat kalimat (S), yang tersisa adalah 1-place sequence, yang merupakan ekspresi akhir untuk
representasi kalimat. Untuk contoh di atas, adalah z6 dan z7 pada tingkat S. Representasi inti
yang terakhir inilah yang akan menentukan lingkup kuantifikator.
Proses selengkapnya dapat dijelaskan sebagai berikut:
dengan aplikasi
-conversion dihasilkan:
dengan retrieval storage Cooperdidapatkan:
conversion, dihasilkan kuantifikator ‘seorang wanita’ yang memiliki lingkup lebih luas
dibandingkan dengan kuantifikator ‘semua pria’:
^
cinta(x,y))).
18
Metode store memberikan kebebasan dalam memilih variabel yang akan dijadikan sebagai
kuantifikator, dan juga memberikan keleluasaan dalam melakukan retrieval, sehingga perubahan
lingkup kuantifikator dalam kalimat dapat tetap ditelusuri.
Dalam arsitektur BB1, store diimplementasikan sebagai sebuah list, dengan menyiapkan index
untuk binding operator dalam bentuk bo(Quantificator,Index). Quant berisi ekspresi lambda yang
perlu ditelusuri selama retrieval, dan Index merupakan variabel yang akan diisikan saat binding
terjadi.
Perubahan dalam macro semantik, terjadi dalam komponen SemLex, misalnya untuk konstruksi
TV:
semLex(tv,M):M = [symbol:Sym, sem:[lam(K,lam(Y,app(K,lam(X,Formula))))]],compose(Formula,Sym,[Y,X]).
Selain itu, perlu juga untuk mengubah aturan kombinasi dalam komponen SemRules, misalnya
untuk transitif VP:
combine(vp:[app(A,B)|S],[tv:[A],np:[B|S]]).
Aturan untuk combine/2memberikan mekanisme retrieval sebagai berikut:
combine(s:S,[np:[A|S1],vp:[B|S2]]):appendLists(S1,S2,S3),
sRetrieval([app(A,B)|S3],Retrieved),
betaConvert(Retrieved,S).
Dengan mekanisme retrieval yang sesungguhnya sebagai
berikut:
sRetrieval([S],S).
sRetrieval([Sem|Store],S):selectFromList(bo(Q,X),Store,NewStore),
sRetrieval([app(Q,lam(X,Sem))|NewStore],S).
Melalui sifat rekursif yang dimiliki dalam sRetrieval/2, ini menjamin bahwa store akan dapat
‘direduksi’ menjadi elemen yang hanya terdiri atas satu item, yang merupakan representasi
19
lingkup akhir dalam kalimat.
4.3.
Keller Storage
Mekanisme Cooper Storage (CS) telah memberikan kebebasan untuk melakukan retrieval
kuantifikator dalam urutan yang bebas. Namun CS hanya cocok untuk ambiguitas dalam frase
NP dengan determinator, yaitu dengan menggunakan variabel yang dilengkapi co-index dan KL
sebagaimana dalam pendekatan Montague. Perlu diperluas juga mekanisme untuk ambiguitas
yang hadir dalam berbagai bentuk kalimat, seperti misalnya untuk klausa relatif (contoh kalimat
‘setiap perbuatan yang melawan sebuah hukum bertentangan dengan norma sosial’) atau untuk
kalimat dengan frase preposisi dalam NP kompleks (contoh kalimat ‘anto mengenal setiap orang
yang memiliki sebuah sepeda’). Dalam contoh kedua, interpretasi yang mungkin muncul adalah
bahwa anto mengenal pemilik sepeda yang ‘berbeda’, dan interpretasi bahwa hanya ada ‘satu’
sepeda yang dimiliki semua orang. Kedua contoh kalimat di atas juga memberikan adanya
konstruksi NP bersarang, yaitu: ‘setiap perbuatan yang melawan sebuah hukum’, dan ‘setiap
orang yang memiliki sebuah sepeda’. Karena CP memberikan kebebasan dalam memilih
retrieval kuantifikator, mekanisme tersebut tidak memperhitungkan struktur hirarki.
Salah satu cara untuk menyertakan struktur hirarki adalah dengan melakukan kontrol terhadap
variabel bebas pada saat proses retrieval kuantifikator. Keller Storage (KS) memberikan
alternatif solusi terhadap masalah ini, yaitu dengan mengijinkan adanya persarangan storage
(nested storage). Dalam proses pembentukan storage, aturan yang digunakan adalah (KELLER):
“Jika sebuah storage
adalah sebuah interpretasi untuk sebuah NP,
maka
i
sebuah interpretasi untuk NP tersebut.”
Sedangkan untuk aturan retrieval storage adalah sebagai berikut (KELLER):
binding, dan
jika store
ekspresi dalam kalimat lengkap S, maka
interpretasiekspresi tersebut.”
20
i
juga merupakan
Sebagai contoh dalam sub-kalimat NP ‘setiap pemilik sebuah sepeda’, pembentukan KS terjadi
sebagai berikut:
Persarangan storage yang terjadi dalam kalimat lengkap ‘anto mengenal setiap pemilik sebuah
sepeda’ adalah (‘sepeda yang sama untuk semua pemilik’):
<kenal(anto,z2),
Dengan persarangan tersebut, hanya ada satu kemungkinan untuk melakukan retrieval, pertama
mengambil kuantifikator universal, dan diikuti dengan kuantifikator eksistensialnya.
Interpretasi kedua dari kalimat contoh adalah dengan ‘tidak’ melakukan store untuk sub-NP
‘sebuah sepeda’, sehingga dihasilkan penguraian sebagai berikut (‘sepeda yang berbeda’):
21
Persarangan yang terbentuk untuk interpretasi kedua ini adalah:
retrieval storage
yang
dapat
dilakukan
untuk
interpretasi
ini
adalah:
Implementasi Prolog untuk KS, mirip dengan CS, hanya saja pada saat retrieval dilakukan
dengan persarangan, yaitu dengan melakukan binding operator secara bertahap mulai dari
persarangan terdalam pada sRetrieval/2:
sRetrieval([S],S).
sRetrieval([Sem|Store],S):selectFromList(bo([Q|NestedStore],X),Store,TempStore),
appendLists(NestedStore,TempStore,NewStore), sRetrieval([app(Q,lam(X,Sem))|NewStore],S).
4.4.
Hole Semantics
Kelemahan kedua metode storage CS dan KS, adalah keterbatasannya dalam menangani
constraints, yang hanya sebatas pada kuantifikator saja. Dalam kalimat bahasa alami ada lebih
banyak persyaratan yang bisa menghasilkan ambiguitas, seperti: negasi, dan relasi sub-kalimat
(koordinasi). Mengingat bahwa representasi yang digunakan adalah FOL, tentu diperlukan
mekanisme untuk juga menangani ambiguitas pada saat kalimat sudah diubah ke dalam bentuk
formula FOL. Untuk inilah metode Hole Semantics (HS) dikembangkan. HS memberikan
kemungkinan untuk melakukan analisis semantik secara hirarki dalam pohon penguraian kalimat
dengan memperhitungkan urutan kemunculan formula dalam pohon tersebut. Konsep yang
ditawarkan dalam HS adalah dengan memperhitungkan keterurutan (sorted) formula FOL.
Dalam HS dianalogikan bahwa sebuah simpul (sebagai lubang / ‘hole’), dalam pohon penguraian
perlu diisikan oleh subformula yang memenuhi persyaratan. Dengan kata lain, beberapa simpul
22
dalam pohon memiliki dominansi (pada hirarki yang lebih tinggi, disebut dominance constraints)
dibandingkan simpul lainnya, sehingga subformula yang menyusun dominasi tersebut akan dapat
dipakai untuk membentuk representasi semantik yang diinginkan. Formula FOL dapat
mengambil semua bentuk dasar sebagai bagian dari kosa-kata dalam HS, yaitu: NOT, IMP,
h) menyatakan bahwa sebuah posisi h dalam simpul sintaktik l perlu untuk ‘diangkat’ lebih
tinggi, atau dengan kata lain lubang h harus mendominansi simpul yang diberi label l. Metode
HS akan dapat dipakai untuk merepresentasikan sebuah ambiguitas secara utuh, bukan hanya
sebatas pada (sub)formula tertentu saja. Oleh karena itu HS juga sering diistilahkan sebagai
Underspecified Representations (USR).
Bentuk USR untuk contoh kalimat ‘setiap pria mencintai seorang wanita’, dengan interpretasi
^ cinta(x,y))), dapat dinyatakan dalam USR sebagai:
1
2
1(l1:ALL(v1,l2)
^
3
1(l2:IMP(l3,h1)
4
5
2(l4:SOME(v2,l5)
^
6
2(l5:AND(l6,h2)
7(l7:cinta(v1,v2)
^ l7
h1 ^ l7
h2 ^
0(l1
h0 ^ l4
^
^
l3:pria(v1)
^
l6:wanita(v2)
^
h0)))))).
Jika digambarkan bentuk USR yang dihasilkan, sebenarnya menggambarkan keterurutan formula
FOL yang perlu ditelusuri pada saat binding variabel dilakukan, misalnya untuk USR di atas:
23
Dari contoh USR di atas, dapat dilihat bahwa dengan representasi seperti ini terlihat bagaimana
formula l7, ‘dipaksa’ untuk memiliki lingkup yang lebih luas dibandingkan dengan implikasi
dari kuantifikator universal dan konjungsi dari kuantifikator eksistensial. Terlihat juga
bagaimana posisi dari l1 dan l4, berada setingkat dan tidak dapat ‘saling’ mengalahkan. Dengan
demikian penggunaan konsep hole dan dominansi dalam HS, telah memungkinkan adanya
kesetaraan dalam kuantifikator, yang memampukan keleluasaan dalam analisis representasi
untuk keseluruhan kalimat.
Jika USR telah dihasilkan, maka dalam HS, langkah berikutnya adalah melakukan plugging,
yaitu proses “pengisian” lubang dengan representasi yang diinginkan. Plugging adalah proses
yang bersifat pemetaan satu-ke-satu untuk semua h dan l dalam USR. Plugging yang diinginkan
adalah yang bersifat admissable, yaitu jika tidak terbentuk siklus (cycle) saat h dipetakan pada l.
Untuk contoh di atas, terdapat dua cara plugging, P1 (yaitu P1(h0)=l1, P1(h1)=l4, P1(h2)=l7)
dan P2 (yaitu P2(h0)=l4, P2(h1)=l7, P2(h2)=l1). Dengan P1, gambar USR di atas,akan menjadi:
24
Dengan menggunakan P2, maka USR akan menjadi:
Implementasi HS dalam arsitektur dilakukan dengan cara mengubah komponen SemLex dan
SemRules, sehingga dapat mengakomodasikan konsep hole, label dan dominansi. Misalnya
untuk komponen SemLex untuk konstruksi TV:
semLex(tv,M):M=[symbol:Sym
,
sem:lam(Z,lam(X,app(Z,lam(Y,lam(H,lam(L,and(pred2(L,Sym,X,Y),leq(L,H))))))))].
Untuk melakukan kombinasi terhadap konstruksi-konstruksi dalam bagian kalimat, predikat
combine/2 dalam HS, didefinisikan sebagai:
combine(t:U,[s:S]):- betaConvert(some(T,and(hole(T),some(L,and(label(L),app(app(S,T),L))))),U).
Tahapan yang dilakukan pembentukan representasi semantik secara utuh dengan HS, setelah
kalimat diuraikan sebagai USR, adalah sebagai berikut:
1. Lakukan proses skolemisasi untuk setiap variabel dalam USR.
2. Pecahkan USR ke dalam komponen yang lebih kecil, dan masukkan (assert) ke dalam
basis data Prolog.
3. Bentuk plugging yang mungkin dilakukan (admissable plugging).
4. Aplikasikan plugging untuk membentuk formula semantik akhir.
25
Secara garis besar, tahapan di atas dapat diimplementasikan dalam Prolog sebagai berikut:
plugUSR(USR,Sem):numbervars(USR,0,_),
% 1 Skolemise USR
initUSR,
assertUSR(USR),
% 2 Break down and assert USR
top(Top), findall(H,hole(H),Holes),
findall(L,(label(L),\+ parent(_,L)), Labels), plugHoles(Holes,Labels,[]),
% 3 Calculate a
plugging
url2srl(Top,Sem).
4.5.
% 4 Construct SRL formula
Inferensi dalam Perangkat Komputasi Semantik
Representasi semantik dalam bentuk FOL yang dihasilkan melalui KL, pendekatan Montague,
storage ataupun HS adalah usaha untuk merepresentasikan bahasa natural ke dalam bentuk
formal yang dapat dimengerti oleh komputer. Hasil representasi tidak akan memiliki makna bagi
pengguna (manusia) jika hanya dibiarkan sebagai model. Model yang telah tersedia harus dapat
diakses kembali untuk melakukan pelacakan informasi, misalnya melalui sebuah interaksi atau
dialog.
Representasi dalam FOL selain berfungsi sebagai pembentuk model, juga berperan sebagai
perangkat dasar untuk melakukan penalaran atau inferensi. Dalam ranah komputasi semantik,
sebuah inferensi sebenarnya terdiri atas tiga bentuk tugas, yaitu: operasi kueri, analisis
konsistensi, dan analisis informatif. Yang dimaksud dengan operasi kueri adalah usaha untuk
menilai apakah sebuah formula FOL
satisfied) dalam sebuah
model M.
M, dengan kata lain mencoba untuk menilai satisfiabilitas (masuk akal atau tidak) sebuah
dalam model M, dengan kata lain, ingin menilai sejauh mana sebuah formula berperan dalam
pembentukan nilai informasi baru di dalam sebuah model.
Ketiga tugas ini sebenarnya saling terkait satu dengan lainnya. Operasi kueri memungkinkan
proses bahwa sistem dapat menerima informasi dan mengakses model, yang pada akhirnya akan
26
dapat ditentukan apakah informasi tersebut konsisten atau tidak di dalam model, juga untuk
menilai apakah informasi tersebut membentuk sebuah fakta baru atau tidak. Sebagai contoh, jika
misalkan di dalam model tersedia informasi ‘anto seorang pria’. Kemudian melalui operasi kueri,
dimasukkan informasi tambahan bahwa ‘anto bukan seorang pria’, maka sebenarnya informasi
yang dimasukkan tersebut bukan informasi yang konsisten dengan model, karena saling
bertentangan. Atau jika dimasukkan informasi ‘anto makan bakso’, maka dapat dinilai bahwa
informasi tersebut informatif (valid) di dalam model, karena merupakan informasi baru. Secara
abstraksi, tugas untuk analisis konsistensi dan analisis informatif merupakan sesuatu yang
bersifat tidak mutlak (undecidable), karena jumlah model yang dapat ditampung dalam mesin
inferensi tidak terbatas jumlahnya, dan tidak mungkin untuk menilai konsistensi dan
informativitas untuk semua model yang tidak terbatas tersebut. Oleh karena inilah perlu dibentuk
solusi parsial yang hanya melihat konsistensi dan validitas tersebut dari domain yang terbatas,
yaitu sebatas kalimat-kalimat yang dimasukkan ke dalam sistem dan dicari representasi
semantiknya.
Cara yang paling sederhana untuk melakukan evaluasi konsistensi adalah dengan sebuah model
checker (MC). Untuk membuat sebuah MC, diperlukan tiga tahap, yaitu: pertama, menentukan
bagaimana
model
direpresentasikan.
Kedua,
menentukan
bagaimana
formula
FOL
direpresentasikan. Dan ketiga, bagaimana representasi model dan formula yang telah terbentuk
dalam dua tahap sebelumnya dapat ditelusuri alokasi variabelnya, yaitu untuk menilai apakah
penggunaan ‘semantik’ variabel dalam formula telah memenuhi batasan domain
yang
ditentukan. Salah satu implementasi yang ditawarkan dalam BB1, adalah dengan menggunakan
predikat satisfy/4, yang memiliki 4 argumen sebagai berikut: satisfy(Formula,Model,
Assignment,Result).
Definisi predikat satisfy/4 sangat bergantung pada komposisi formula dalam kalimat yang
hendak dibentuk representasi semantiknya. Formula dapat berisi sub-formula yang merupakan
semua kemungkinan komposisi formula dalam FOL, yaitu: kuantifikator eksistensial dan
universal, disjungsi, konjungsi, implikasi, negasi, persamaan (ekualitas), predikat relasi tunggal
(one-place predicates) dan predikat relasi ganda (two-place predicates). Misalkan terdapat
sebuah representasi model:
example(3,model([d1,d2],[f(0,anto,d1),f(0,tuti,d2),f(1,pria,d1),f(1,wanita,d2),f(2,cinta,[d1,d2])])).
27
Dalam model ini terdapat dua domain, d1 dan d2. Anto adalah konstanta (one-place predicates)
yang mengisi domain d1, dan tuti mengisi domain d2. Di dalam model ini terdapat juga relasi
(two-place predicates) ‘cinta’, yang menghubungkan isi domain d1 dan d2. Dengan
menggunakan predikat satisfy/4, akan dapat dinilai misalnya sebuah formula FOL,
‘cinta(anto,mia)^wanita(tuti)’, memenuhi model dengan nomor 3 atau tidak. Yang menjadi kunci
adalah trik untuk membentuk komposisi formula ke dalam bentuk yang lebih sederhana (subformula), kemudian melihat apakah ada interpretasi variabel dan term (konstanta), sepanjang
perjalanan evaluasi formula di dalam domain yang menggunakan data struktur list. Untuk contoh
di atas, pertama-tama sistem akan menghasilkan dua sub-formula dengan melepas konjungsi,
melalui predikat satisfy/4 untuk konjungsi sebagai berikut:
satisfy(Formula,Model,G,pos):nonvar(Formula),
Formula = and(Formula1,Formula2),
satisfy(Formula1,Model,G,pos),
satisfy(Formula2,Model,G,pos).
Sub-formula pertama akan dievaluasi sebagai two-place predicates, dan yang kedua sebagai oneplace predicates. Pada saat evaluasi sub-formula inilah akan diketahui interpretasi formula yang
sebenarnya di dalam domain, dengan menggunakan predikat i/4 sebagai berikut:
i(X,model(D,F),G,Value):-(
var(X), memberList(g(Y,Value),G),
X==Y, !, memberList(Value,D)
;
atom(X), memberList(f(0,X,Value),F)).
28
Untuk contoh di atas, formula dalam bentuk konjungsi tidak memenuhi model, karena di dalam
model, tidak ada domain (baik sebagai variabel ataupun atom), untuk relasi ‘cinta(anto,mia)’,
sehingga bernilai salah, meskipun relasi ‘wanita(tuti)’bernilai benar.
Penggunaan model checker dalam interpretasi semantik hanya dapat digunakan jika variabel
telah diisikan dengan konstanta, dan tidak dapat dipakai untuk menginterpretasikan kalimat
(formula) yang mengandung kuantifikator. Untuk melakukan inferensi dalam FOL, kuantifikator
(eksistensial) harus diolah terlebih dahulu sehingga interpretasi semantik dengan metode yang
ada, seperti: CS, KS ataupun HS, dapat dilakukan. Pengolahan kuantifikator memerlukan strategi
unifikasi. Unifikasi dalam FOL dapat dijamin jika formula direprentasikan sebagai klausa normal
konjungsi (conjunctive normal form / CNF), yaitu jika semua komposisi semua klausa dalam
(sub)-formula dilakukan melalui simbol konjungsi (^), misalnya: (pvq)^(rv~qvs)^(gv~s).
Langkah-langkah yang diperlukan untuk membentuk CNF dari sebuah formula FOL adalah:
1. Mereduksi semua (sub)-formula ke dalam bentuk normal negasi (negation normal form /
NNF).
2. Membuang semua kuantifikator eksistensial dengan skolemisasi.
3. Membuang semua kuantifikator universal.
4. Menempatkan formula yang sudah tidak memiliki kuantifikator ke dalam bentuk CNF.
Implementasi tingkat tinggi dalam Prolog untuk proses CNF, misalnya:
cnf(Formula,SetCNF):- nnf(Formula,NNF),
skolemise(NNF,Skolemised,[]),
cnf([[Skolemised]],[],CNF),
setCnf(CNF,SetCNF).
Jika CNF telah dihasilkan maka formula akhir tersebut akan dapat diunifikasikan ke dalam
model. Unifikasi dapat diartikan sebagai usaha untuk melakukan substitusi dua term dari formula
ke dalam domain sehingga menjadi identik. Sebelum unifikasi dilakukan, perlu dilakukan juga
‘penyederhanaan’ variabel terhadap klausa-klausa yang redundant, sehingga
memiliki
interpretasi yang unik. Misalnya terdapat klausa [A(m), A(y), B(n,x), B(y,z), ~C(w),
~C(f(z)], maka bisa disederhanakan menjadi [A(m), B(n,x), B(m,z), ~c(f(z)] atau menjadi [A(m),
A(n), B(n,x), ~C(f(x)]. Klausa yang sudah sederhana ini disebut sebagai non-redundant factors.
29
Hasil akhir sebuah proses unifikasi adalah proses resolusi, yaitu usaha untuk menghilangkan
fakta-fakta yang saling bertentangan untuk menjamin konsistensi dalam model. Jika resolusi
berhasil dilakukan maka unifikasi yang dihasilkan adalah konsisten.
Klausa utama dalam melakukan resolusi, misalnya:
rprove(Formula):cnf(not(Formula),CNF), nonRedundantFactors(CNF,NRF), refute(NRF). Dalam proses pembentukan
non-redundant factors, dilakukan pula occurs-check, terhadap dua variabel. Dengan cara ini sebuah
variabel hanya akan berunifikasi dengan term jika term tersebuttidak berisi variabel dengan nama yang
sama, atau dengan kata lain terbentuk “sound- unification”.
Arsitektur dalam BB1, selain menggunakan model checker, untuk menjamin optimasi pada saat
analisis konsistensi dan analisis informatif, digunakan perangkat terpisah, yaitu: theorem prover
(TP) dan model builder (MB). Perbedaan antara keduanya terletak pada proses unifikasi. Dalam
sebuah TP, unifikasi formula dilakukan dengan mencoba melakukan resolusi pada model yang
‘dimasukkan’ ke dalam sistem (negative check). Sedangkan dalam MB, mencoba untuk
‘membentuk’ model dari formula yang dimasukkan, atau dengan kata lain dari sebuah deskripsi
(kalimat) akan dibuat sebuah gambaran keadaan yang membuat deskripsi tersebut benar (positive
check). Contoh TP yang dapat digunakan dalam arsitektur BB1, antara lain: Bliksem, Otter,
Gandalf. Contoh MB untuk arsitektur BB1, antara lain: Mace, Paradox, Satchmo.
4.6.
Permasalahan Representasi Semantik
Representasi FOL dan usaha untuk analisis konsistensi / analisis informatif formula di dalam
model sering dilakukan keadaan parsial, yang tentu saja bertolak belakang dengan kenyataan
bahwa sebenarnya model dari dunia riil sifatnya tidak berhingga. Dengan kata lain konsistensi
dan informativitas adalah sesuatu yang sifatnya undecidable.
Permasalahan lain juga muncul dalam bentuk yang lebih fundamental, yaitu bahwa bentuk
representasi semantik dapat dilakukan dengan berbagai macam pendekatan. Telah diuraikan
dalam bagian terdahulu bahwa dengan representasi formula FOL, berbagai bentuk representasi
semantik dapat dibuat, seperti: Montague, CS, KS, dan HS. Semua pendekatan tersebut
sebenarnya dilakukan untuk menjamin fleksibilitas dalam menangani ambiguitas semantik. Dari
30
berbagai pendekatan yang telah dibahas, semua masih berkutat pada ranah ambiguitas
kuantifikator (secara khusus yang bersifat eksistensial), dan belum pada ranah pembentukan
semesta pembicaraan (discourse). Pembentukan semesta ini penting untuk menjamin pilihan
model yang akan dipakai untuk memenuhi analisis konsistensi dan pembentukan informasi baru.
Untuk melakukan tanya jawab dengan sistem, pengguna harus dapat memasukkan informasi
(berupa bahasa natural) ke dalam sistem, yang harus diinterpretasikan bukan hanya secara
representasi sintaktik ke representasi semantik berdasarkan leksikon, tapi juga harus sesuai
dengan ‘maksud’ yang lazim dalam pembicaraan manusia. Salah satu cara untuk membentuk
nilai semantik untuk semesta pembicaraan, adalah dengan memberikan keterkaitan konsep secara
intrinsik (intrinsic literal) yang terkandung dalam setiap predikat dan variabel. Dengan cara
seperti ini akan terlihat ‘peran’ dari setiap relasi antara predikat dengan variabel. Sebagai contoh
untuk kalimat ‘ayah makan sepiring nasi’, selain representasi kuantifikator, dapat diberikan
tambahan konsep yang memperjelas peran dari setiap relasi / predikat, misalnya:
pred(event,z) ^
rel(agent,z,x) ^ rel(patient,z,y)) Dengan interpretasi intrinsik bahwa ada seorang ‘agent’ ayah
sedang melakukan ‘event’ makan dengan obyek / ‘patient’ nasi. Interpretasi intrinsik ini
berkaitan dengan interpretasi ekstrinsik yang dalam hal ini terjadi secara sintaktik sesuai bentuk
tata bahasa yang digunakan, sehingga dalam contoh ini misalnya dapat ditentukan bahwa ‘event’
makan adalah sebuah komponen TV dengan determinator yang sifatnya nonreflexive. Contoh
representasi intrinsik seperti ini, dikenal sebagai pendekatan ‘neo-davidsonian’ [Larasati, Dian
Septina. 2007], yang membentuk konteks intrinsik sebagai predikat terhadap obyek dan event,
yang juga turut melibatkan analisis variabel (argumen) melalui interpretasi ekstrinsik dengan
aturan sintaktik, sehingga secara keseluruhan membentuk keutuhan analisis semantik.
Jika interpretasi intrinsik, seperti dicontohkan di atas, dapat dihasilkan, maka proses tanya-jawab
dengan sistem dapat dengan lebih tepat dilakukan sesuai dengan tipe pertanyaan. Misalnya jika
pengguna bertanya ke dalam sistem ‘siapa makan sepiring nasi?’, maka kata ‘siapa’ dapat
dijadikan sebagai acuan untuk mencari jawaban (‘ayah), yaitu suatu predikat di dalam model
yang berupa ‘agent’ dan mengandung komponen ‘PN’.
Pendekatan-pendekatan yang telah dibicarakan sebelumnya dalam laporan ini, tidak
31
memungkinkan analisis intrinsik internal, sehingga perlu adanya pendekatan lain yang juga dapat
dipakai sebagai pembentuk semesta pembicaraan, yaitu Discourse Representation Theory
(DRT).
5.
Discourse Representation Theory
Pembahasan mengenai DRT dalam laporan ini dilandasi dengan arsitektur dalam BB1, yang
diperluas dengan pembentukan DRT sebagaimana dituliskan dalam buku “Representation and
Inference for Natural Language, Vol. II Working with Discourse Representation Structures”,
oleh Patrick Blackburn dan Johan Bos [Blackburn, P. & Bos, J. 1999], selanjutnya disebut
sebagai BB2.
5.1.
Discourse Representation Structures
Sebuah Discourse Representation Structures (DRS) adalah yang mengimplementasi konsep
DRT yang pada awalnya diusulkan oleh [Kamp, H. 1984] dan [Heim, I. 1982]. DRS dapat
diasumsikan sebagai sebuah model pemikiran yang dibentuk selama proses pemasukan fakta ke
dalam sistem. DRS dapat digambarkan sebagai kotak yang secara dinamis dapat berisi berbagai
fakta dalam semesta.
DRS memiliki kosa-kata yang beririsan dengan FOL. DRS memiliki simbol-simbol logika
DRS dapat dimasukkan simbol-simbol x, y, z, dsb yang merepresentasikan variabel atau
referents. Dalam DRS tidak terdapat kuantifikator, karena konsep lingkup kuantifikator sudah
diambil alih dalam bentuk semesta pembicaraan, yang direpresentasikan dengan ‘kotak’.
32
Representasi DRS terdiri atas sebuah himpunan variabel dan sebuah himpunan kondisi. Dalam
Prolog representasi ini dapat dituliskan sebagai drs(Ref, Cond). Misalkan untuk contoh kalimat
‘ayah makan sepiring nasi’, DRS yang terbentuk dapat digambarkan sebagai berikut:
| x3 x2 x1
|
|------------------|
| ayah(x3)
|
| nasi(x2)
|
| makan(x1)
|
| agent(x1,x3)
|
| patient(x1,x2)
|
| nonreflexive(x1) |
| event(x1)
|
|
|
Representasi sintaksis dan analisis semantik terhadap DRS yang terbentuk tersebut dapat
digambarkan sebagai berikut:
33
Dengan adanya kemiripan kosa-kata antara DRS dengan FOL, representasi DRS di atas juga
dapat dituliskan dalam bentuk formula FOL sebagai berikut:
drs([A, B, C], [pred(ayah,A), pred(nasi, B), pred(makan, C), rel(agent, C, A), rel(patient, C,B),
pred(nonreflexive, C), pred(event, C)])
Dari gambar DRS di atas, x1, x2 dan x3 adalah variabel yang mengikat kosa-kata yang dikenali
dengan aturan semantik pada komponen SemRules dan SemLex, sebagaimana dalam BB1, tapi
yang diperluas untuk DRS. Daftar kata-kata (komponen Lexicon) dan aturan tata bahasa
(komponen Grammar) dari BB1 dapat dipertahankan.
Aturan dalam SemLex untuk DRS harus disesuaikan sehingga di dalam DRS terjadi pengikatan
variabel dan kondisi, dengan tetap menggunakan konsep KL. Misalnya untuk aturan struktur PN,
aturan SemLex DRS-nya adalah:
semLex(pn,M):M = [symbol:Sym, sem:lam(P,alfa(nam,drs([X],[pred(Sym,X)]),app(P,X)))].
Aturan ini menyiratkan bahwa variabel x adalah sebuah DRS yang diikat (melalui proses KL), dengan
sebuah kata yang berpredikat dan dalam tipe PN.
Jika dibandingkan dengan arsitektur BB1, pembuatan DRS melalui analisis sintaktik DCG
memiliki proses yang sama. Perbedaan yang ada terletak pada saat kombinasi antara struktur
kalimat dilakukan. Dalam DRS, kombinasi dilakukan dengan melakukan penggabungan DRS
(merge DRS). Perubahan yang terjadi dalam SemRules (combine/2) untuk DRS, misalnya untuk
menggabungkan antara TV dan NP, seperti contoh di atas, adalah:
combine(t:Drs,[s:S,t:T]):- betaConvert(mergeDrs(app(S,lam(E,drs([],[pred(event,E)]))),T),Drs).
combine(vp:app(A,B),[tv:A,np:B]).
Dengan aturan untuk mergeDrs/2, adalah sebagai berikut:
34
mergeDrs(merge(G1,G2),drs(Disc3,Cond3)):mergeDrs(G1,drs(Disc1,Cond1)),
mergeDrs(G2,drs(Disc2,Cond2)),
appendLists(Disc1,Disc2,Disc3),
appendLists(Cond1,Cond2,Cond3).
Proses penggabungan terjadi secara rekursif dengan menggunakan data struktur list, sehingga
dapat membentuk DRS yang kompleks.
5.2.
Resolusi Referensi dan Presupposisi
Konsep DRS sebagaimana dijelaskan dalam bagian sebelumnya memungkinkan terbentuknya
sub-ordinasi (kotak di dalam kotak). Dengan cara seperti ini referensi pronomina (anafora) dan
juga presupposisi dapat dideteksi, dan dibatasi dengan membentuk DRS di dalam DRS.
Mekanisme untuk menyelesaikan referensi anafora dan presupposisi di dalam DRS
memanfaatkan kondisi ekualitas (‘=’). Dalam DRS dimungkinkan untuk memberikan kondisi
x=y, yang berlaku dalam DRS tertentu, sehingga y dapat diakses dari DRS lain yang memiliki x.
Dengan kata lain, sebuah variabel dapat memiliki referensi yang sama dalam sebuah DRS jika
berada dalam DRS yang sama atau dalam sub-ordinasi yang dapat diakses.
Sebagai contoh, jika seandainya dimasukkan dua kalimat ke dalam sistem: ‘ayah memakan
sepiring nasi’, dan ‘ dia tidak makan sepiring nasi’.
Untuk kalimat contoh di atas, bisa terbentuk interpretasi DRS sebagai berikut:
35
Interpretation 1: consistent, informative, 0 local violations.
| x3 x5 x4
|
|--------------------------|
| neuter(x3)
|
| ayah(x3)
|
| nasi(x5)
|
| makan(x4)
|
| agent(x4,x3)
|
| patient(x4,x5)
|
| nonreflexive(x4)
|
| event(x4)
|
|
|
|
| x2 x1
|
|
||
|------------------| |
| | nasi(x2)
||
|
| makan(x1)
||
|
| agent(x1,x3)
||
|
| patient(x1,x2)
||
|
| nonreflexive(x1) | |
|
| event(x1)
||
|
|
||
|
|
Dalam interpretasi DRS di atas, terlihat bahwa ‘ayah(x3)’, dan ‘dia’ (= neuter (x3)), mengacu
pada semantik yang sama, yaitu ‘ayah’.
Hal yang menarik juga terjadi untuk bentuk negasi pada kalimat kedua ‘dia tidak makan nasi’.
DRS bisa mengahasilkan interpretasi yang menyatakan bahwa sebuah event yang sama, yaitu
‘makan nasi’ tidak dapat terjadi secara bersamaan (event (x1) dan event (x4)). Jika keduanya
36
terjadi bersamaan, maka akan terjadi inkonsistensi dalam model, seperti terlihat dalam DRS
berikut ini:
Interpretation 2: inconsistent.
| x3 x5 x4
|
|--------------------------|
| neuter(x3)
|
| ayah(x3)
|
| nasi(x5)
|
| makan(x4)
|
| agent(x4,x3)
|
| patient(x4,x5)
|
| nonreflexive(x4)
|
| event(x4)
|
|
|
|
| x2 x1
|
|
||
|------------------| |
| | nasi(x2)
||
|
| makan(x1)
||
|
| agent(x1,x3)
||
|
| patient(x1,x2)
||
|
| nonreflexive(x1) | |
|
| event(x1)
||
|
|
||
|
|
37
DRS juga dapat menginterpretasikan inkonsistensi yang akan terjadi jika dua event makan (x1
dan x4) dengan dua agent (x3 dan x5) berada dalam event yang sama. Atau dengan kata lain,
kedua event tersebut harus terjadi dalam model yang berbeda. Gambar interpretasi DRS untuk
keadaan ini dapat dilihat sebagai berikut:
Interpretation 3: inconsistent.
| x5 x3 x4
|
|--------------------------|
| neuter(x3)
|
| ayah(x5)
|
| nasi(x3)
|
| makan(x4)
|
| agent(x4,x5)
|
| patient(x4,x3)
|
| nonreflexive(x4)
|
| event(x4)
|
|
|
|
| x2 x1
|
|
||
|------------------| |
| | nasi(x2)
||
|
| makan(x1)
||
|
| agent(x1,x3)
||
|
| patient(x1,x2)
||
|
| nonreflexive(x1) | |
|
| event(x1)
||
|
|
||
|
|
Algoritma yang digunakan dalam pendeteksian anafora dan presupposisi secara ringkas dapat
38
dijelaskan sebagai berikut:
1. Bentuk sebuah DRS dari kalimat yang dimasukkan untuk semua bentuk anafora dan
presupposisi sebagai reduksi beta dan alfa.
2. Gabungkan DRS yang terbentuk dengan DRS yang sudah ada sebelumnya.
3. Lakukan traversal di dalam DRS yang telah digabungkan secara lokal untuk
mendeteksi konsistensi pada sub-ordinasi. Jika terjadi reduksi alfa, lakukan
a. Hubungkan informasi anafora untuk sub-ordinasi DRS yang dapat diakses,
dengan melakukan mekanisme free-variable-check.
b. Jika gagal, sampaikan informasi anafora untuk super-ordinasi
4. Buang interpretasi DRS yang tidak memiliki variabel bebas, karena tidak memiliki
resolusi anafora di dalamnya.
Sesuai mekanisme di atas, bisa saja terbentuk lebih dari satu interpretasi DRS pada saat traversal
dilakukan pada sub- dan super-ordinasi. Untuk menyesuaikan dengan kebutuhan, pengguna
dapat memilih salah satu interpretasi DRS yang terbentuk sebagai sebuah semesta pembicaraan.
Jika semesta pembicaraan sudah dipilih, maka mekanisme tanya jawab antara pengguna dengan
sistem akan mengikuti model dan formula FOL dari DRS yang dipilih tersebut.
39
6.
Mekanisme Tanya Jawab dengan Analisis Semantik
Terkait dengan studi mandiri ini, sebuah solusi parsial telah dikembangkan untuk melakukan
tanya jawab dari sebuah model DRS. Solusi ini mengandalkan pada konsep unifikasi antara
formula FOL dari pertanyaan dan DRS yang dipilih untuk mewakili semesta pembicaraan.
Jika ada sebuah pertanyaan dari pengguna ke dalam sistem, maka sistem akan terlebih dahulu
melakukan analisis semantik dengan menguraikan pertanyaan sesuai aturan tata-bahasa sebagai
berikut:
q([sem:Sem])-->
whnp([num:Num,sem:NP]), vp([coord:_,inf:fin,num:Num,gap:[],sem:VP]),
{combine(q:Sem,[whnp:NP,vp:VP])}.
Aturan ini menyatakan bahwa sebuah pertanyaan akan diinterpretasikan sebagai gabungan antara
kata tanya dalam struktur NP dan sisa kalimat dalam struktur VP.
Diperlukan lebih banyak aturan untuk mengidentifikasi kata tanya yang memberikan tipe
pertanyaan. Namun dalam laporan ini hanya dibahas mengenai tipe pertanyaan yang dapat
dijawab dengan pronomina (PN), misalnya untuk kata tanya ‘siapa’, dengan aturan ‘whnp’
sebagai berikut:
whnp([num:sg,sem:NP])-->
qnp([mood:int,sem:QNP]),
{combine(whnp:NP,[qnp:QNP])}.
Lewat aturan ini, sistem akan mengetahui bahwa kalimat yang dimasukkan adalah kalimat tanya,
dengan aturan ‘qnp’ sebagai berikut:
qnp([mood:M,sem:Sem])-->
{lexEntry(qnp,[symbol:Symbol,syntax:Word,mood:M,type:Type])},Word,
{semLex(qnp,[type:Type,symbol:Symbol,sem: Sem])}.
40
Dalam komponen lexicon, diperlukan penyesuaian pada simbol kata ‘siapa’ sebagai Person,
sehingga diinterpretasikan sebagai variabel pada saat pembentukan DRS. Hal ini dilakukan
dengan aturan LexEntry sebagai berikut:
lexEntry(qnp,[symbol:Person,syntax:[who],mood:int,type:wh]).
Aturan dalam komponen SemLex untuk variabel Person perlu dibuat, sehingga DRS kalimat
pertanyaan dapat disesuaikan bentuknya dengan DRS yang telah terbentuk sebelumnya, sebagai
berikut:
semLex(qnp,M):M=[type:wh,symbol:Sym,
sem:lam(P,alfa(nam,drs([X],[pred(Sym,X)]),app(P,X)))].
Untuk aturan kombinasi kalimat tanya, diperlukan aturan sebagai berikut di dalam perangkat
SemLex:
combine(q:app(A,B),[whnp:A,vp:B]).
combine(whnp:A,[qnp:A]).
Setelah interpretasi DRS terhadap kalimat tanya terbentuk, maka langkah berikutnya adalah
mencoba melakukan unifikasi antara formula FOL dari kalimat tanya dan formula FOL untuk
DRS yang dipilih. Proses unifikasi ini dilakukan dengan memanfaatkan predikat unifiable/3 dari
Prolog, seperti berikut ini:
prosesQ(QFOL,SelFol,X):unifiable(QFOL,SelFol,X).
Hasil unifikasi adalah himpunan nilai variabel, maka untuk mendapatkan jawaban akhir adalah
dengan membuang dari himpunan tersebut, nilai yang bukan merupakan PN.
Contoh jalannya mekanisme sesi tanya jawab, dapat dilihat sebagai berikut:
41
ready> ayah makan sepiring nasi.ready>
interpretations.
Interpretation 1: consistent, informative, 0 local violations.
drs([_G8812, _G8815, _G8818], [pred(ayah, _G8812), pred(nasi, _G8815),pred(makan,
_G8818), rel(agent, _G8818, _G8812), rel(patient, _G8818,
_G8815), pred(nonreflexive, _G8818), pred(event, _G8818)])
model([d1], [f(1, event, []), f(1, thing, []), f(1, neuter, []), f(1,
male, []), f(1, female, []), f(1, ayah, []), f(1, makan, []), f(2, agent,
[]), f(1, nonreflexive, []), f(1, nasi, []), f(2, patient, [])])ready> select 1.
ready> query.
ready> siapa makan sepiring nasi? FOL
of the selected discourse:
some(_G6487,some(_G6490,some(_G6493,and(pred(ayah,_G6487),and(pred(nasi,_G
6490),and(pred(makan,_G6493),and(rel(agent,_G6493,_G6487),and(rel(patie
nt,_G6493,_G6490),and(pred(nonreflexive,_G6493),pred(event,
_G6493))))))))))
FOL of the query:
some(_G6241,some(_G6244,some(_G6247,and(pred(_G6253,_G6241),and(pred(nasi,
_G6244),and(pred(makan,_G6247),and(rel(agent,_G6247,_G6241),and(rel(pat
ient,_G6247,_G6244),and(pred(nonreflexive,_G6247),pred(event,
_G6247))))))))))
42
Hasil unifikasi formula DRS pertanyaan dengan semesta pembicaraan adalah:
[_G6562=ayah,_G6568=_G6569, _G6574=_G6575, _G6580=_G6581]
Jawaban akhir dari sistem adalah:
ready> answer: ayah
7.
Kesimpulan dan Penelitian Lanjutan
Dalam laporan telah dituliskan peranan formula FOL dalam upaya untuk melakukan tanya jawab
dari sebuah semesta pembicaraan. FOL dapat digunakan untuk melakukan representasi semantik
yang dapat diperluas guna mengatasi berbagai permasalahan ambiguitas, misalnya untuk
ambiguitas kuantifikator dapat digunakan pendekatan Montague, Cooper Storage, Keller Storage
dan Hole Semantics. Untuk mengatasi ambiguitas dalam konteks yang lebih luas, FOL harus
dilengkapi dengan konsep Discourse Representation Structure, yang dapat dipakai untuk
memilih semesta pembicaraan. Melalui pemilihan semesta pembicaraan inilah, sebuah
mekanisme tanya-jawab dapat dibangun, yang merepresentasikan kebutuhan dari pengguna.
Keterbatasan mekanisme tanya jawab yang telah dikembangkan saat ini adalah keterbatasan
dalam melakukan inferensi yang sangat tergantung pada struktur kalimat hasil analisis semantik
dan sintaktik. Hal ini terjadi karena sistem masih belum dapat melakukan inferensi dari model,
dan hanya sebatas pada unifikasi formula FOL antara kalimat tanya dengan semesta
pembicaraan.
Penelitian lanjutan yang dapat dilakukan adalah dengan mencoba memanfaatkan aksioma
ataupun background knowledge, sehingga inferensi dapat dilakukan berdasarkan model semesta
pembicaraan yang dipilih. Selain itu akan menarik pula, jika sistem dapat memiliki interpretasi
konteks pembicaraan yang diambil dari sekumpulan dokumen (korpus), dan bukan hanya yang
berasal dari dialog singkat dengan pengguna. Jika sistem memiliki interpretasi yang sudah built43
in (misalnya dengan adanya background knowledge atau world knowledge), maka materi yang
dipakai dalam penalaran akan menjadi lebih luas, dan bisa memiliki variasi jawaban.
44
Referensi
Blackburn, P. & Bos, J. 2005. Representation and Inference for Natural Language: A First
Course in Computational Semantics. Center for the Study of Language and Information
(CLSI) Publications.
Blackburn, P. & Bos, J. 2003. Computational Semantics. Theoria 18(1), pp. 27-45.
Blackburn, P. & Bos, J. 1999. Representation and Inference for Natural Language: A First
Course in Computational Semantics. Volume II Working with Discourse Representation
Structures. Book Draft. Available at: http://www.blackburnbos.org.
Bos, Johan. 2006. The “La Sapienza” Question Answering System at TREC 2006.
Buscaldi, D., Rosso, P., Gómez-Soriano, J.M., Sanchis, E. 2009. Answering questions with
an n-gram based passage retrieval engine. Journal of Intelligent Information System (82),
Springer.
Furbach, Ulrich; Glockner, Ingo; Helbig, Hermann and Bjorn Pelzer. 2009. LogAnswer - A
Deduction-Based Question Answering System. Proceedings CLEF 2009.
Heim, I. 1982. The Semantics of Definite and Indefinite Noun Phrases. Ph.D. thesis,
University of Massachusetts.
Kamp, H. 1984. A Theory of Truth and Semantic Representation. In J. Groenendijk, T.M.
Janssen, and M. Stokhof (Eds.), Truth, Interpretation and Information: Selected Papers
from the Third Amsterdam Colloquium, pp. 1-41. Dordrecht – Holland/Cinnaminson –
U.S.A.: Foris
Larasati, Dian Septina. 2007. Pengembangan Awal Analisis Semantik Bahasa Indonesia
dengan Metode Syntax-Driven Semantic Analysis dan Penerapannya dalam Sistem Tanya
Jawab. Bachelor Thesis Faculty of Computer Science University of Indonesia.
Lin, Jimmy & Katz, Boris. 2003. Question Answering Techniques for the World Wide Web.
Tutorial presentation at The 11th Conference of the European Chapter of the Association
of Computational Linguistics (EACL-2003).
Lopez, Vanessa; Sabou, Marta; Uren, Victoria; & Motta, Enrico. 2009a. Cross-Ontology
Question Answering on the Semantic Web –an initial evaluation. In Proc. of Knowledge
Capture Conference.
Lopez, Vanessa; Sabou, Marta; Uren, Victoria; & Motta, Enrico. 2009b. Merging and
Ranking answers in the Semantic Web: The Wisdom of Crowds. Lecture Notes in
Computer Science (LNCS) Volume 5926/2009. Springer Berlin, Heidelberg.
Saias, Jose & Quaresma, Paulo. 2007. The Senso Question Answering approach to
Portuguese QA@CLEF-2007.
Schlaefer, Nico; Gieselmann, Petra; Schaaf, Thomas & Waibel, Alex. 2006. A Pattern
Learning Approach to Question Answering Within the Ephyra Framework. Lecture Notes
in Computer Science (LNCS) Volume 4188/2006.
Schlaefer, Nico & Ko, Jeongwoo. 2007. Semantic Extensions of the Ephyra QA System for
TREC 2007. In Proceedings of the 16th Text REtrieval Conference (TREC 2007).
Strzalkowski, Tomek; Small, Sharon; Hardy, Hilda; Yamrom, Boris; Liu, Ting; Kantor, Paul;
Ng, K.B.; Wacholder, Nina. 2005. HITIQA: A Question Answering Analytical Tool.
32
View publication stats
Download