STUDI ANALISIS METODE-METODE PARSING DAN INTERPRETASI SEMANTIK PADA NATURAL LANGUAGE PROCESSING (James Suciadi

)

STUDI ANALISIS METODE-METODE PARSING DAN INTERPRETASI SEMANTIK PADA NATURAL LANGUAGE PROCESSING James Suciadi
Fakultas Teknologi Industri, Jurusan Teknik Informatika - Universistas Kristen Petra e-mail: jsuciadi@peter.petra.ac.id
ABSTRAK: Tiga proses utama yang dilakukan dalam pengolahan bahasa alami ialah analisa sintaksis, interpretasi semantik dan interpretasi kontekstual. Makalah ini akan membahas mengenai proses yang pertama dan kedua. Analisa sintaksis atau parsing ialah proses penentuan struktur sebuah kalimat berdasarkan grammar dan lexicon tertentu. Parsing dapat dilakukan secara top-down maupun bottom-up, masing-masing memiliki kelebihan dan kekurangannya sendiri. Top-down parsing tidak dapat menangani grammar dengan left-recursion, sedangkan bottom-up parsing tidak dapat menangani grammar dengan empty production. Karena itu metode parsing yang terbaik ialah yang dapat menggabungkan kedua cara ini. Interpretasi semantik ialah proses penerjemahan sebuah kalimat menjadi bentuk representasi artinya yang umum disebut logical form tanpa memperhatikan konteks. Dua proses utama yang diperlukan dalam membentuk logical form ialah penentuan peran tiap kata dan frase dalam kalimat, serta pemilihan arti kata yang tepat untuk membentuk kalimat yang masuk akal. Peranan kata-kata dan frase dalam kalimat dapat direpresentasikan dalam bentuk predikat-argumen biasa ataupun menggunakan thematic roles. Sedangkan proses pemilihan arti kata yang tepat dapat dilakukan dengan selectional restrictions ataupun context activation. Kata kunci: pengolahan bahasa alami, analisa sintaksis, interpretasi semantik, grammar, lexicon.

ABSTRACT: Three main processes in Natural Language Processing are syntax analysis or parsing, semantic interpretation and contextual interpretation. This paper discuss about the first and the second of these processes. Parsing is the recognition of the sentence structure based on a grammar and a lexicon. Parsing can be done in either top-down or bottom-up methods, each has its own advantages and disadvantages. Top-down parsers can not handle grammar with left-recursion, where bottomup parsers can not handle grammar with empty production. The best parsers combine these two approaches. Semantic interpretation is the process of mapping a sentence into its context-independent meaning representation called logical form. There are two processes needed in building logical form, the first is to identify the semantic roles that each word and phrase plays in the sentence, the second is to choose the correct sense of each word to build a plausible sentence, which called word-sense disambiguation. The semantic roles may be represented using predicate-argument relations or using the thematic roles, word-sense disambiguation can be done by selectional restrictions or by context-activation. Keywords: natural language processing, parsing, semantik interpretation, grammar, lexicon.

1. PENDAHULUAN Natual Language Processing (NLP) atau pengolahan bahasa alami merupakan salah satu bidang ilmu Artificial Intelligence (Kecerdasan Buatan) yang mempelajari komunikasi antara manusia dengan komputer melalui bahasa alami. NLP tidak bertujuan untuk mentransformasikan bahasa yang diterima dalam bentuk suara menjadi

data digital dan/atau sebaliknya pula; melainkan bertujuan untuk memahami arti dari ucapan yang diberikan dalam bahasa alami dan memberikan respon yang sesuai, misalnya dengan melakukan suatu aksi tertentu atau menampilkan data tertentu. Untuk mencapai tujuan ini dibutuhkan tiga tahap proses. Proses yang pertama ialah parsing atau analisa sintaksis yang memeriksa kebenaran struktur kalimat 13

Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Kristen Petra http://puslit.petra.ac.id/journals/informatics/

22 berdasarkan suatu grammar (tata bahasa) dan lexicon (kosa kata) tertentu. sedangkan untuk bentuk-bentuk turunannya (misalnya kicks dari kick ) dapat diperoleh dengan menerapkan analisa morphology (proses perubahan bentuk kata). Gambar 1. GRAMMAR DAN LEXICON Grammar dan lexicon memegang peranan yang sangat penting dalam NLP. Universitas Kristen Petra http://puslit. Parser akan mencari aturan-aturan yang tepat untuk membentuk struktur suatu kalimat. Perkembangan NLP mengalami kemajuan yang sangat pesat sejalan dengan berkembangnya grammar dan lexicon. a noun → dog. seperti : • The dog chased a cat • The dog sees a cat • The dogs sees a cat (nonvalid) • A dogs chased a cat (nonvalid) Proses pembentukan kalimat dari grammar disebut derivation. Dengan adanya grammar. 2. Parse Tree untuk Kalimat “The dog chased the cat” 2. 1. Gambaran organisasi dari sebuah sistem NLP yang lengkap ditunjukkan pada gambar 1. karena umumnya lexicon memiliki ukuran yang sangat besar. sees sentence Grammar ini akan mampu menghasilkan sekumpulan kalimat bahasa Inggris yang sederhana. see.petra.2 Lexicon Untuk membuat sebuah aplikasi NLP yang handal. semakin baik sistem tersebut dapat berkomunikasi. Proses kedua ialah semantic interpretation atau interpretasi semantik yang bertujuan untuk merepresentasikan arti dari kalimat secara context-independent untuk keperluan lebih lanjut.ac. cat verb → chased. Mei 2001: 13 . Seperti halnya seorang manusia. No. Fakultas Teknologi Industri. dogs. 2. Karena itu umumnya lexicon hanya menyimpan bentuk dasar dari kata-kata yang ada.1 Grammar Grammar ialah aturan-aturan pembentukan suatu kalimat dalam sebuah bahasa. Organisasi Sebuah Sistem NLP Gambar 2.id/journals/informatics/ . parsing dapat dilakukan secara cepat dengan hanya melakukan proses searching. Kosa kata dalam komputer disebut lexicon. Salah satu contoh grammar yang sederhana untuk bahasa Inggris ialah sebagai berikut: 14 Jurusan Teknik Informatika. Sedangkan proses ketiga ialah contextual interpretation atau interpretasi kontekstual yang bertujuan untuk merepresentasikan arti secara contextdependent dan menentukan maksud dari penggunaan kalimat. Contoh derivation untuk menghasilkan kalimat “The dog chased the cat” dari grammar di atas ditunjukkan pada gambar 2. semakin lengkap kosa kata dalam sebuah sistem NLP. atau yang biasa disebut tata bahasa. → noun phrase + verb phrase noun phrase → determiner + noun verb phrase → verb + noun phrase determiner → the. Faktor yang penting menyangkut lexicon ialah penyimpanannya. 2. dibutuhkan kamus atau kosa kata yang handal pula.JURNAL INFORMATIKA Vol.

word(v. word(d. % parse(C.n]). parse_list(list.vp]).[np. word(n. 12. parse_list(Cs. dimana proses ini sudah tersedia secara otomatis dalam bahasa Prolog.S1.list) 7. word(n.1 Top-down Parsing Top-down parser bekerja dengan cara menguraikan sebuah kalimat mulai dari constituent yang terbesar yaitu sampai menjadi constituent yang terkecil.S) :32. dan istilah parser yaitu program yang melakukan proses parsing. % parse_list([C|Cs]. dengan menggunakan contoh grammar di atas. expand 35. Sebagai contoh. yaitu kata. rule(vp. Dengan demikian parser yang ditulis dalam Prolog atau bahasa deklaratif lainnya akan menjadi jauh lebih sederhana daripada parser yang dibuat dalam bahasa prosedural biasanya seperti Pascal. 17. word(n. % jika C ialah terminal (kata).S) 38. melainkan juga pada bidang lain seperti pada pembuatan sebuah compiler. % dari S1 42. rule(d. parse_list(Cs. 14. PREDICATES 4. DOMAINS 2.dog). PARSING Proses parsing tidak hanya dapat dilakukan dalam NLP.chase). Metode-metode parsing yang dibahas berikut khusus digunakan dalam NLP.list) 5. parse_list([C|Cs].S1. 37. % S ialah sisa kalimat setelah C dan Cs dikeluarkan 41. rule(symbol.S1. 19.S). namun akan lebih baik jika digunakan declarative language seperti Prolog atau LISP. Hal ini disebabkan oleh karena pada dasarnya proses parsing ialah proses searching yang dilakukan secara rekursif dan backtracking.S). % S ialah sisa kalimat setelah C dikeluarkan dari S1 31.[]).S) :43.[d. Hal ini dilakukan terus-menerus sampai semua komponen yang dihasilkan ialah constituent terkecil dalam kalimat. parse(symbol.dogs).np]).ac. 44.cat).Cs). parse(C. % periksa apakah S1 dimulai dengan constituent berkategori 39. 36.S1. 26. rule(np.cats). 45.S) 29. Cara Kerja Top-down Parser Jurusan Teknik Informatika. Program 1 Simple Top-Down Parser 1. CLAUSES 10. Beberapa metode parsing yang bekerja secara topdown ialah: • Top-down parser biasa • Recursive-descent parser • Transition-network parser • Chart parser Top-down parser dapat diimplementasikan dengan berbagai bahasa pemrograman. Dari gambar ini terlihat bahwa top-down parser menelusuri setiap node pada parse tree secara pre-order. 13. Program 1 menunjukkan implementasi topdown parser biasa dalam bahasa Prolog. % periksa apakah S1 dimulai dengan constituent C 30.list. word(v.[v.the). 16.chases). 9.S1.STUDI ANALISIS METODE-METODE PARSING DAN INTERPRETASI SEMANTIK PADA NATURAL LANGUAGE PROCESSING (James Suciadi) 3. rule(C. stop 33. 21. dapat dilakukan proses top-down parsing untuk kalimat “The dog chased the cat” yang ditunjukkan pada gambar 3.S1. % C diikuti oleh Cs 40. 27. word(d.S). verb phrase dan sebagainya . Gambar 3.symbol) 6.petra. 25. word(symbol. parse_list([]. % jika C ialah nonterminal. rule(s. word(n. contohnya noun phrase.S.S) :34. 23.list.a).list) 8.Word). 20. parse(C.id/journals/informatics/ 15 . 22.[Word|S]. 3.barked). Universitas Kristen Petra http://puslit. % lexicon 18. rule(vp. word(C. Sebelumnya perlu diketahui arti dari istilah constituent . word(v. % rules 11.[v]). list = symbol* 3.S2). 28. yaitu unsur-unsur pembentuk kalimat yang dapat berdiri sendiri. C dan sebagainya. 15. Fakultas Teknologi Industri.S2. 24. parse(C.

1. Bottom-Up Parsing Bottom-up parser bekerja dengan cara mengambil satu demi satu kata dari kalimat yang diberikan. 15: 16: % lexicon 17: rule(d.chases.[cat]).list) 6: parse(list) 7: append(list. 24: rule(v. Gambar 4. yaitu parse yang hanya memiliki sebuah argumen.the. parse(NewList). Fakultas Teknologi Industri.[the]).L2.RHS).X.dog.[np. Kata-kata dari input kalimat akan dirangkaikan sambil mencari aturan yang lebih luas. 16 Jika diberikan input kalimat "The dog chased the cat" maka query pada external goal Turbo Prolog berbentuk : ?-parse([the.Back. Universitas Kristen Petra http://puslit.[LHS|Rest].Rest. np dan sebagainya).[saw]). 23: rule(v. [d.dog.[dog]).list) 8: 9: CLAUSES 10: % rules 11: rule(s.parse(s. Dengan demikian metode bottom-up bekerja dengan cara yang terbalik dari top-down.[barked]).id/journals/informatics/ . dan Prolog akan memberikan jawaban YES karena kalimat tersebut sesuai dengan grammar yang ditunjukkan pada baris 11-15 oleh predikat rule.ac. 20: rule(n. 22: rule(v.vp].[the.[d. 21: rule(v.petra. Hal ini dilakukan terus-menerus sampai constituent yang terbentuk ialah sentence atau kalimat.n] dan sebagainya. append(RHS.2. parse(List) :append(Front.[v. % append untuk menambah isi list 1 ke list 2 % hasilnya pada list 3 append([].[runs]). dimana s berarti kalimat dan X ialah input kalimat yang berbentuk list dari symbol. append([H1|T1].JURNAL INFORMATIKA Vol. sedangkan parse_list berfungsi untuk melakukan proses parsing terhadap sekumpulan constituent.L2.[v]).[]). Cara Kerja Bottom-up Parser Metode parsing yang bekerja secara bottom-up antara lain ialah bottom-up parser biasa dan shift-reduce parser. sampai tinggal sebuah simbol saja dalam list.L3).[a]). 3.list. 25: 26: % parse list dengan cara bottom-up 27: % parser akan mencari semua kemung28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: kinan kombinasi % kata yang dapat membentuk constituent parse([s]).22 Predikat parse berfungsi untuk melakukan proses parsing terhadap sebuah constituent tunggal (misalnya s.n]). 19: rule(n.List).np]). misalnya [np.NewList).Back). 18: rule(d. yaitu s. Cara kerja bottom-up parser ditunjukkan pada gambar 4.[chased]). Mei 2001: 13 . 2. 14: rule(vp. No.X. 13: rule(vp. Argumen ini berisi kalimat yang akan diparse dalam bentuk list dari symbol.[]) Perhatikan bahwa parser ini tidak membedakan antara rule (grammar) dan word (lexicon) sehingga cara kerjanya sangat sederhana namun sangat "bodoh" karena akan terus mengulang-ulang kesalahan yang sama.vp]).cat]) Jurusan Teknik Informatika. rule(LHS. 12: rule(np.cat].the. Program 2 Simple Bottom-Up Parser 1: DOMAINS 2: list = symbol* 3: 4: PREDICATES 5: rule(symbol. untuk dirangkaikan menjadi constituent yang lebih besar. untuk melakukan parsing terhadap kalimat "The dog chases the cat". Program 2 menunjukkan contoh implementasi bottomup parser biasa dalam bahasa Turbo Prolog. Sebagai contoh.chased. maka query yang diberikan pada external goal Turbo Prolog ialah sebagai berikut : ?. append(Front.[H1|L3]) :append(T1. Parser akan dipanggil dengan query parse(s.X). Kesederhanaan metode ini terletak pada predikat untuk parsing.

parse_list(Rest.symbol) 7: link(symbol.[Word|S2]. parse_list(Cs.a).dogs). 15: rule(np.S).n]).S) :parse(C. menentukan jenis constituent apa yang dimulai dengan jenis kata tersebut.S1.S2. 27: word(v. % complete(W. 34: link(d. Dengan demikian metode parsing yang terbaik ialah metode yang dapat menggabungkan top-down dan bottom-up parsing.[W|Rest]).symbol) 8: parse(symbol.S) :rule(P.STUDI ANALISIS METODE-METODE PARSING DAN INTERPRETASI SEMANTIK PADA NATURAL LANGUAGE PROCESSING (James Suciadi) Prolog kemudian akan memebrikan jawaban YES karena kalimat tersebut sesuai dengan grammar pada baris 11-24.list.S).S1. 16: rule(vp. 19: 20: % lexicon 21: word(d. 24: word(n. 29: word(v.C. Cara kerja left-corner parsing ialah dengan mula-mula menerima sebuah kata. di antaranya ialah left-corner parsing serta Earley's parsing.S) % parsing list C1 dan hasilnya di S parse_list([C|Cs]. parse(C. 18: rule(d.% jika C=W jangan lakukan apa-apa complete(W.[]).S).list) 11: 12: CLAUSES 13: % rules 14: rule(s.barked).cat).chased).C.S2.C. complete(W.s). 22: word(d.S2.S) :word(W. sedangkan alur kerjanya ditunjukkan pada gambar 5.S2).X).s). Sedangkan metode bottom-up dapat menangani left recursion namun tidak dapat menangani empty production. Gambar 5. Universitas Kristen Petra http://puslit. % parse(C1. 23: word(n.[d.petra.the).C.id/journals/informatics/ 17 .S1. complete(W.S1. Cara Kerja Left-Corner Parser Jurusan Teknik Informatika.dog). complete(P.3 Gabungan Top-Down dan Bottom-Up Parsing Baik top-down parsing mapun bottom-up parsing memiliki kekurangan dan kelebihannya masing-masing.list.np).[v]).C. % kemudian melakukan left-corner parsing terhadap sisa dari C complete(C. 26: word(n. 17: rule(vp.list.S.S2.S2). Dengan demikian proses parsing dimulai secara bottom-up dan diakhiri secara topdown.vp).Word). 36: link(X.[v.chases).list) 10: complete(symbol. Fakultas Teknologi Industri.ac. 3.S).S1.list) 6: word(symbol.C). kemudian melakukan proses parsing terhadap sisa dari constituent tersebut secara top-down. 37: 38: % parse(C.S).S1. 30: 31: %links 32: link(np. parse_list([]. 25: word(n.S1. 33: link(d.symbol. link(W. 35: link(v.np]).[]).[np. 28: word(v.S) % Memastikan bahwa W ialah subconstituent pertama dari C. Metode top-down mampu menangani grammar dengan empty production (misalnya d → 0 ) namun tidak dapat menangani grammar dengan left recursion (misalnya np → np conj np).C).list) 9: parse_list(list.S) :rule(W.S) 39: % parse constituent dengan kategori 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: C yang dimulai dengan % input string S1 dan berakhir dengan input string S parse(C. Ada beberapa metode yang dikembangkan yang menggabungkan kedua metode ini.S2.cats).% untuk null constituent link(W. Program 3 menunjukkan implementasi left-corner parser dalam Turbo Prolog.vp]).C. Program 3 Left-Corner Parser 1: DOMAINS 2: list = symbol* 3: 4: PREDICATES 5: rule(symbol.S.S).

Representasi yang umum dipakai ialah logical form. melainkan dalam suatu bentuk hubungan antara predikat dan argumennya. kalimat “John broke the window with the hammer” dapat direpresentasikan sebagai berikut : ((PAST BREAKS) JOHN (THE WINDOW) (WITH THE HAMMER)) Artinya. ‘or’ dan sebagainya seperti pada pernyataan-pernyataan logika. predikat ‘eat’ membutuhkan dua buah argumen di mana argumen pertama berjenis ANIMATE (mahluk hidup yang bergerak). John melakukan kegiatan break pada waktu yang lampau.JURNAL INFORMATIKA Vol. Fakultas Teknologi Industri. Tahap-tahap Interpretasi Kalimat Input untuk proses interpretasi semantik ialah parse tree hasil parsing. dan predicate yang membutuhkan n argumen disebut n. 2. sedangkan terms ialah komponen logical form yang menyatakan tentang suatu obyek di dunia.[]) maka parser akan memberikan jawaban YES karena kalimat tersebut sesuai dengan grammar pada baris 14-18. hanya saja masih dalam bentuk yang belum dapat dipahami komputer.parse(s.petra. sedangkan argumen kedua berjenis FOOD (makanan). sedangkan contextual interpretation akan menerjemahkan logical form ke dalam bentuk representasi lain yang disebut knowledge representation atau final meaning representation. Predicate yang membutuhkan dua argumen disebut binary predicate. No. arti dari kata kerja ‘eat’ dapat disimpan sebagai berikut : eat(<ANIMATE>. Sebenarnya teks asalpun merupakan suatu bentuk representasi. Predicate yang hanya membutuhkan sebuah argumen disebut unary predicate. kata kerja yang sama tetapi memiliki jumlah Gambar 6. Universitas Kristen Petra http://puslit. kalimat-kalimat dalam bahasa alami bisa pula dihubungkan dengan operator ‘and’. 1.<FOOD>) Ini berarti.dog. Gambar 6 menunjukkan contoh sederhana mengenai apa yang dilakukan oleh proses-proses dalam NLP. Mei 2001: 13 .22 Misalnya diberikan query ?.chased. Predicate ialah komponen logical form yang menjelaskan hubungan antar obyek atau sifat dari suatu obyek. INTERPRETASI SEMANTIK PADA NLP Interpretasi semantik bertujuan untuk menerjemahkan kalimat menjadi bentuk representasi yang disebut logical form. Sebuah kalimat dibentuk dari sebuah predicate diikuti oleh satu atau lebih terms sebagai argumennya. Sebagai contoh.id/journals/informatics/ . Sebagai contoh.2 Thematic roles Dengan bentuk predicate-argument. 4. Sebagai contoh. 4. Komputer menyimpan arti dari kata-kata bukan dalam bentuk definisinya. Jenis representasi logical form seperti ini disebut bentuk predicate-argument. jika sebuah kalimat bernilai benar.cat].1 The Logical Form Logical form merupakan bentuk representasi arti secara context-independent dengan menggunakan hukum-hukum logika. 4.ac.ary predicate. sedangkan outputnya ialah representasi yang sesuai dalam arti dapat diproses dan dipahami oleh komputer. terhadap the window dengan alat with the hammer. termasuk kejadian ( event ) dan situasi.[the. Selain itu. representasi arti dari bahasa alami karena bahasa alami memiliki persamaan-persamaan dengan pernyataan-pernyataan logika. dan disebut pula properties atau sifat. Logical form dipandang sesuai untuk 18 Jurusan Teknik Informatika. maka negasi kalimat tersebut bernilai salah.

S1.X) :53: lex(X. 48: word(n. FROM-LOC. logical form dari contoh kalimat kedua di atas menjadi sebagai berikut : (EVENT (BREAK)) (INSTRUMENT (THE HAMMER)) (THEME (THE WINDOW)) (ATTIME (PAST)) Terlihat bahwa bentuk ini lebih memperjelas peranan tiap kata dibandingkan dengan bentuk predicate-argument biasa. Davidson (1967) memperkenalkan event .[agent.S).S).theme]. The window broke.S1.slist) 16: semantik2(slist.on).slist) 17: carievent(slist. 70: semantik(L1.the). Jurusan Teknik Informatika.slist) 20: carinp(slist. 68: lex(E. Prinsipnya ialah dengan memandang suatu kalimat sebagai suatu event atau kejadian.house). 65: 66: intsem(L.[E]). 32: 33: rule(s.slist) 11: word(symbol.slist. Peran-peran inilah yang disebut thematic roles.id/journals/informatics/ 19 .[d.symbol) 12: parse(symbol.[p.ac.slist.slist.[to_loc]).slist) 10: rule(symbol.[instrument]). 39: rule(pp.L2).theme. 43: word(n.S) :56: word(C. 63: parse_list(Cs.hammer).np]).book).theme.n]).pp]). namun kurang menjelaskan peranan tiap frase secara tepat.S) :58: rule(C.T0.[]). 30: lex(gives.[np.list.[Word|S]. 36: rule(d.slist. Perhatikan contoh berikut ini : John broke the window with the hammer. 52: word(v. dan menentukan peranan tiap kata atau frase dalam kejadian tersebut. 54: 55: parse(C._.[].cat).lf) 15: semantik(slist.Word). 46: word(n.list.slist. sedangkan pada kalimat ketiga the window yang dianggap sebagai subyek.[v]).slist) 21: process(slist) 22: cetak(list) 23: writelist(slist) 24: gabung(slist.slist) 25: 26: CLAUSES 27: lex(reads. 37: rule(vp. 45: word(n.S). TO-LOC.list. 64: parse_list([].T0).S1.S1. dan lebih lanjut konsep ini dikembangkan menjadi case grammar pada tahun 1970.window).[]). Konsep ini kemudian dikembangkan lagi menjadi apa yang disebut thematic roles atau case roles.STUDI ANALISIS METODE-METODE PARSING DAN INTERPRETASI SEMANTIK PADA NATURAL LANGUAGE PROCESSING (James Suciadi) argumen yang berbeda akan disimpan sebagai arti yang berbeda.boy). 50: word(p.vp. CO-THEME AT-LOC. TO-POSS Dengan thematic roles. Fakultas Teknologi Industri.slist) 14: intsem(slist.[np.S) :62: parse(C.slist) 13: parse_list(slist.slist. 49: word(p.to_poss].[agent. FROM-TIME.theme].petra.with). Program 4 menunjukkan implementasi thematic roles dalam Turbo Prolog. 40: 41: word(d. 35: rule(np.S1. 42: word(n.S.at_loc]. 28: lex(breaks. Sejumlah thematic roles yang umum digunakan ialah sebagai berikut : • • • • • • • • • • AGENT THEME INSTRUMENT BENEFICIARY EXPERIENCER CO-AGENT.[theme]. Pada kalimat kedua the hammer dianggap sebagai subyek.S1.slist) 4: list = tuple* 5: lf = logical_form(list) 6: slist = symbol* 7: 8: PREDICATES 9: lex(symbol.list. 34: rule(s.E. 31: lex(runs. 29: lex(puts. 51: word(p. 47: word(n. Untuk mengatasi hal ini.T1. The hammer broke the window.L1).[]). PATH-LOC AT-TIME.vp]). 57: parse(C.S2).[]).S2). 60: 61: parse_list([C|Cs].logical_form(T2)) :67: carievent(L.list.[]. 59: parse_list(Cs. Pendekatan semacam ini lebih mudah diimplementasikan.slist.to). TO-VALUE AT-POSS.S2.Cs).slist. Universitas Kristen Petra http://puslit. 69: insertt(t(event.np]). 44: word(n. FROM-POSS. Bentuk-bentuk logical form dari contohcontoh di atas ialah: ((PAST BREAKS) JOHN (THE WINDOW) (WITH THE HAMMER)) ((PAST BREAKS) (THE HAMMER) (THE WINDOW)) ((PAST BREAKS) (THE WINDOW)) Program 4 Contoh Implementasi Thematic Roles Sederhana 1: DOMAINS 2: id = integer 3: tuple = t(symbol. TO-TIME AT-VALUE.slist.[agent. 38: rule(vp.symbol.table)._).[v.[agent. FROM-VALUE.slist) 18: insertt(tuple.list) 19: insert(symbol.

[X]) :.I2.I2.L3). cetak([H|T]) :H = t(A.X.T.NP.I.L2). 95: insertt(t(to_loc.I2.NL) :103: L = [with|L1]. gabung(L1.T. 85: insertt(t(instrument.[instrument|T].NL).id/journals/informatics/ . insertt(X. 81: semantik(L2.[H|T]. 104: carinp(L1. carievent(T.NL).I.I2).I.[H|T1]) :insert(X.NL). gabung(L.O. karena komputer harus mengetahui ungkapanungkapan mana yang memiliki arti yang sama. sedangkan polysemy merupakan masalah yang ditangani contextual interpretation.L. cetak([]) :.O.L2) :insert(H.O.T.I.[to_poss|T].[H|T].NL) :79: carinp(L.NP.window]). Jika program ini dijalankan dan diberikan query pada external goal Turbo Prolog sebagai berikut : ?-process([the.L3. !.O.T.[to|NP]).!.L1.I.NP.T1).I.I. 105: insertt(t(instrument.NP).O.!.NP. misalnya kata ‘bark’ yang bisa berarti ‘gonggongan’ ataupun ‘kulit kayu’.T1.[with. carievent([H|T]. 97: semantik(L. 84: carinp(L1.O.I.T.NL) :93: L = [to|L1].I2). word(n.[].I.O.[A. 76: insertt(t(agent. X = logical_form(LF).B). writelist([]) :. Polysemy ialah katakata yang memiliki arti yang sama atau berhubungan satu dengan yang lainnya. cetak(T).E. writelist(T). Universitas Kristen Petra http://puslit.NP). process(L) :parse(s. contohnya ialah kata ‘dog’ yang bisa berfungsi sebagai kata benda ataupun kata kerja.boy.L1. 89: carinp(L1.[instrument|T].NP. homonymy dan categorial ambiguity.I.E. 92: semantik(L.I2). insert(X.T.I2).B). Yang dimaksud word-sense ambiguity pada interpretasi semantik ialah homonimy.ac.O.JURNAL INFORMATIKA Vol. carinp(L1. Homonymy ialah arti-arti yang berbeda dari sebuah kata.[theme|T]. gabung(L1.X). insertt(t(to_loc.O. 86: semantik(L2.I2.[to|NP]).L1. 82: semantik(L._).[agent|T].[].T.t(agent. 99: carinp(L1.3 Word-sense Disambiguation Terdapat tiga jenis lexical ambiguity (kerancuan arti yang berhubungan dengan kata). semantik(L2.NL) :98: L = [to|L1]. Mei 2001: 13 . insertt(X. ‘expanding’. writelist(B).T. writelist([H|T]) :write(H. hammer]) maka program akan menghasilkan output sebagai berikut : logical_form([t(event.I2).L2).I.O.I2).A.O.L2).[]).A).O.NL).22 71: semantik2(L2.[H|T]. 72: 73: semantik(L. semantik2(L.L2)." "). t(theme.T. Categorial ambiguity merupakan masalah yang ditangani dalam proses parsing.breaks.[].L2).L2).[on|NP]).X. !.[at_loc|T].[A]. misalnya ‘open’.NL).I. carinp([A.O.O.I2.I2.NP. 87: semantik(L.[X]) :.I. 74: semantik(L.[breaks]).L).A).B|T].L2).L2).petra.the.[the. 101: semantik(L2.O.[to_loc|T].I2). Untuk mengatasi homonimy akan digunakan teknik selectional restriction dan context activation.[with|NP]).H). write("\n".T1). carievent([H|T]." : ").[t he. semantik2(L2.I2.I.S2.NL).NL) :L = [to|L1]. 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: cetak(LF).L2) :insert(H. Sedangkan categorial ambiguity ialah kata yang bisa berfungsi sebagai jenis kata yang berbeda.!.T.L3). gabung(L3.O.I.!.L) :. write(X). 94: carinp(L1.L2). 96: semantik(L2.[to|NP]). the.the.L2).I 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: .!. carinp([A|T].NL) :88: L = [on|L1]. !.hamme r]) event : breaks agent : the boy theme : the window instrument : with the hammer 4.NL).NL) :83: L = [with|L1]. 20 Jurusan Teknik Informatika.[H|T1]) :insertt(X.NL).T. 91: semantik(L2. semantik2(L. 78: semantik(L.B].boy]).I. 1.L) :. !. insert(X.window. No.I2).T) :word(n.!.with. dan sebagainya.T2.L2).H.T. 90: insertt(t(at_loc. t(instrument.I2. 80: insertt(t(theme.[].NL) :75: carinp(L.NP. yaitu polysemy. Fakultas Teknologi Industri. 77: semantik(L2.[to_loc|T].[with|NP]). 102: semantik2(L.L1. ‘unfolding’. intsem(L.NP. 100: insertt(t(to_poss.T) :word(d.I.L2) :word(v._. 2.

perhatikan arti dari kata ‘pen’ yang ambiguous pada dua kalimat berikut : There are pigs in the pen (pen = kandang hewan) There is ink in the pen (pen = alat untuk menulis) Arti dari kata ‘pen’ ditentukan oleh konteks yang ada sebelumnya. Sebagai contoh. Relasi-relasi ini penting artinya dalam word-sense disambiguation. Physical object sendiri dapat dibagi menjadi kelas living dan non-living. Gambar 7. Selectional Restriction Arti dari kata-kata dapat saling berelasi sesuai dengan kelas obyek yang dijelaskan. digunakan dua macam lexicon yaitu katakata yang tidak ambiguous dan kata-kata yang bersifat ambiguous. CAT1 menjelaskan kelas obyek ‘cat’. Hirarki ini menunjukkan pembagian jenis-jenis obyek yang ada di dunia. baik yang konkrit maupun yang abstrak. Universitas Kristen Petra http://puslit. Context Activation Teknik ini dapat memilih arti kata yang tepat dalam ruang lingkup yang terbatas. dan menerapkan konteks ini kepada kata-kata yang ambiguous untuk memilih arti yang tepat. Kedua macam lexicon ini menentukan konteks apa yang sedang aktif. predikat ‘purple’ yang menunjukkan warna harus memiliki argumen berupa physical object . Program 5 menunjukkan implementasi word-sense disambiguation dengan context activation dalam Turbo Prolog. misalnya antara DOG dan MAMMAL. DOG1 dan CAT1 disebut hubungan yang disjoint . Fakultas Teknologi Industri. Sebagai contoh.STUDI ANALISIS METODE-METODE PARSING DAN INTERPRETASI SEMANTIK PADA NATURAL LANGUAGE PROCESSING (James Suciadi) a.id/journals/informatics/ 21 . Tiap argumen merupakan salah satu kelas obyek dalam word-sense hierarchy.ac.petra. ataupun ‘ink’ yang menunjukkan konteks penulisan. Hirarki yang lengkap untuk bahasa Inggris sangatlah luas dan kompleks. b. Sebagai contoh. yaitu ‘pigs’ yang menunjukkan konteks pertanian. Untuk memilih arti kata yang tepat. jika menjelaskan kelas obyek ‘animal’. sehingga baik ‘table’ maupun ‘horse’ dapat menjadi argumen untuk predikat ‘purple’. maka predikat read dapat memiliki bentuk selectional restriction berikut : (EVENT READ) (AGENT (THEME TEXTOBJ) PERSON) yang berarti agent untuk event read harus berupa person. Selain itu terdapat pula relasi yang berupa subclass. Sebagai contoh. sedangkan theme untuk event read harus berupa textobj . dengan cara mengikutsertakan konteks dalam lexicon. dengan mengasumsikan bahwa kelas obyek ‘non-living’ masih dapat dibagi menjadi ‘textobj’ dan ‘non-textobj’. Selectional restrictions memilih arti kata yang tepat berdasarkan hubungan yang sesuai antara sebuah predikat dan argumennya. Untuk menjelaskan hubungan-hubungan ini dibutuhkan suatu hirarki yang disebut word-sense hierarchy atau semantic type hierarchy. Namun keduanya bisa pula berada pada kelas yang sama. DOG1 menjelaskan kelas obyek ‘dog’. Salah satu contoh word-sense hierarchy yang digunakan dalam NLP ditunjukkan oleh gambar 7 [2]. Word-Sense Hierarchy Jurusan Teknik Informatika. dan sebagainya. Posisi kata-kata yang menunjukkan ciri konteks ini tidak harus selalu mendahului kata ‘pen’. dan relasi yang overlap. namun beberapa ahli telah memperkenalkan hirarki yang cukup sederhana yang dapat digunakan dalam NLP. misalnya antara PET dan MAMMAL. karena sebuah obyek yang mempunyai warna haruslah obyek yang konkrit. karena menjelaskan kelas obyek yang berbeda. Kemudian input kalimat akan discan untuk mencari konteks dari kata-kata yang tidak ambiguous.

karena lebih memperjelas peran tiap elemen kalimat dibandingkan dengan predicate-argument biasa.[]. Fakultas Teknologi Industri.ac.C1). process(W.C). disambiguate(W._)).C. Michael A. 2.C1). cue(pigs. 35: 36: disambiguate([]. 31: not(member(C1._.in.NewSentence. mic(terminal. Universitas Kristen Petra http://puslit. mic(pen. !.C) :not(mic(H.NC).T2.!.22 Program 5 Word-sense Disambiguation dengan Context-Activation 1: DOMAINS 2: list = symbol* 3: PREDICATES 4: cue(symbol. cue(carpenter.[].airplane.the.[C1|C].pen_for_animals.airport_terminal. 37: disambiguate([H|T].[_|T]) :26: member(X.Context) Hasil output query ini ialah : NewSentence= [there.computer_terminal.% H is ambiguous 39: 40: 41: 42: 43: 44: 45: 46: 47: and means H2 in context C1 member(C1.list) CLAUSES cue(farmer. disambiguate(T.T). beberapa kesimpulan yang dapat diambil ialah sebagai berikut : • Tidak ada metode parsing yang ideal untuk segala masalah dalam NLP. Natural Language Processing in Prolog. Mei 2001: 13 .woodworking)._).aircraft). Natural Language Processing for Prolog Programmers.compu ter).are. mic(plane. • Thematic roles lebih menguntungkan dalam pembentukan logical form dibandingkan dengan hubungan predicateargument biasa.writing_pen. • Word-sense hierarchy yang digunakan oleh selectional restrictions sangat membantu dalam melakukan proses wordsense disambiguation.list. No. 1989 4. dengan memperhatikan kompleksitas grammar dan kebutuhan dari aplikasi. Covington.pigs. 27: 28: collect_cues([].H2. • Jika aplikasi NLP yang dibuat menggunakan grammar yang kompleks.symbol) % word is ambiguous in context collect_cues(list. disambiguate([H|T]. Natural Language Understanding.NC) :30: cue(H.C).C.symbol.C). cue(airport.T2. Addison-Wesley.writing).C) :collect_cues(W.aircraft). DAFTAR PUSTAKA 1.[H2|T2]. cue(ink. 33: collect_cues([_|T]. maka parser yang menggabungkan metode topdown dan bottom-up merupakan pilihan yang terbaik karena mengatasi kekurangan pada masing-masing metode.are.list.D.symbol) % word has single 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: meaning for context mic(symbol. 29: collect_cues([H|T].C) :38: mic(H.list) member(symbol. mic(plane. Gerald Gazdar and Chris Mellish.list.C).C.[X|_]) :.JURNAL INFORMATIKA Vol.C).farm).D.NC) :34: collect_cues(T. Benjamin-Cummings Publishing Company. Graeme Hirst. Prentice Hall. 1991 2. 32: collect_cues(T.[H|T2]. mic(terminal.pen_for_ animals]. disambiguate(T.C)).pigs.farm).farm).C).the. KESIMPULAN Dari hasil penulisan makalah ini. mic(pen.C.pen].in.NC). 5. 1994 3. 1987 Program dipanggil dengan query pada external goal Prolog dengan predikat process seperti berikut : ?-process([there. 23: 24: member(X. 1. Context = [farm] YES Kekurangan metode ini ialah ruang lingkupnya sangatlah kecil. 25: member(X. 22 Jurusan Teknik Informatika.list) disambiguate(list. sehingga lebih baik dibandingkan context activation. Semantic Interpretation and the Resolution of Ambiguity. karena untuk konteks yang sempit sekalipun terdapat cukup banyak kata yang bersifat ambiguous.woodworking). Pemilihan metode parsing yang digunakan harus dilakukan secara jeli.petra.plane_tool. James Allen.id/journals/informatics/ .aircra ft).list) process(list.writing).

Sign up to vote on this title
UsefulNot useful