P. 1
INF01020103.pdf

INF01020103.pdf

|Views: 110|Likes:
Published by GaBy HyoHyuk
STUDI ANALISIS METODE-METODE PARSING DAN
INTERPRETASI SEMANTIK PADA NATURAL LANGUAGE
PROCESSING
STUDI ANALISIS METODE-METODE PARSING DAN
INTERPRETASI SEMANTIK PADA NATURAL LANGUAGE
PROCESSING

More info:

Published by: GaBy HyoHyuk on Apr 19, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/18/2013

pdf

text

original

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/

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

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

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

di antaranya ialah left-corner parsing serta Earley's parsing. Dengan demikian metode parsing yang terbaik ialah metode yang dapat menggabungkan top-down dan bottom-up parsing.C. 33: link(d. 25: word(n.S) :word(W.the).[np. 24: word(n.[]).S) :rule(W.np). 30: 31: %links 32: link(np.S1.S).ac. 36: link(X.n]). 26: word(n.S).S) :parse(C. link(W. 3.s).S) % parsing list C1 dan hasilnya di S parse_list([C|Cs]. 15: rule(np. Ada beberapa metode yang dikembangkan yang menggabungkan kedua metode ini. menentukan jenis constituent apa yang dimulai dengan jenis kata tersebut.S1.S2).C. Cara kerja left-corner parsing ialah dengan mula-mula menerima sebuah kata.[Word|S2].S).list) 6: word(symbol.C. Program 3 menunjukkan implementasi left-corner parser dalam Turbo Prolog. 35: link(v. complete(W.a). 22: word(d.% jika C=W jangan lakukan apa-apa complete(W.S1.[]).S) % Memastikan bahwa W ialah subconstituent pertama dari C.symbol) 7: link(symbol.vp]). sedangkan alur kerjanya ditunjukkan pada gambar 5.S). Universitas Kristen Petra http://puslit. Gambar 5.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.S1. parse_list([]. Dengan demikian proses parsing dimulai secara bottom-up dan diakhiri secara topdown. 18: rule(d.chased). complete(W.Word). 17: rule(vp.S2.list.S2.S).dogs).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. 16: rule(vp. 29: word(v.vp).S).C).[v]). Program 3 Left-Corner Parser 1: DOMAINS 2: list = symbol* 3: 4: PREDICATES 5: rule(symbol.[v.symbol) 8: parse(symbol. 19: 20: % lexicon 21: word(d. parse(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).S1.cat).petra.id/journals/informatics/ 17 . % kemudian melakukan left-corner parsing terhadap sisa dari C complete(C. Fakultas Teknologi Industri.C. 37: 38: % parse(C.cats). % complete(W.C).S) :rule(P. Cara Kerja Left-Corner Parser Jurusan Teknik Informatika.[d. 28: word(v.list) 10: complete(symbol.symbol.np]). parse_list(Cs. % parse(C1.S.list) 9: parse_list(list. 34: link(d. 23: word(n.list) 11: 12: CLAUSES 13: % rules 14: rule(s.list. Sedangkan metode bottom-up dapat menangani left recursion namun tidak dapat menangani empty production.% untuk null constituent link(W.X).chases).S1. kemudian melakukan proses parsing terhadap sisa dari constituent tersebut secara top-down. parse_list(Rest.S2).[W|Rest]). complete(P.S2.C.barked).C.3 Gabungan Top-Down dan Bottom-Up Parsing Baik top-down parsing mapun bottom-up parsing memiliki kekurangan dan kelebihannya masing-masing.list.S2.S.dog).s).S1.S2. 27: word(v.

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

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

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

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

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

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->