Parçalama Ağacı (Parse Tree)

Yazan : Şadi Evren ŞEKER

Parçalam işlemi  (parsing) bilgisayar bilimlerinde çeşitli amaçlar için kullanılmaktadır. Özellikle de dil ile ilgili işlemlerin hemen hepsinde ihtiyaç duyulan bir işlemdir. Örneğin bir programlama dilinde yazılan komutların algılanması için öncelikle kelimeleirn parçalanması (parse) gerekir. Benzer şekilde dopal dil işleme (natural language processing) işlemlerinde de doğal dilde bulunan kelimelerin algılanması bir parçalamadan (ek ve köklerin ayrılmasından) sonra gerçekleşmektedir.

Çeşitli sebeplerle kullanılan parçalama ağaçları basitçe verilen bir dilbilgisine (grammer) göre verilen cümlenin (veya kelimenin) nasıl parçalandığını şekilsel olarak gösteren ağaçlardır:

Örneğin aşağıda BNF yapısında verilmiş dili ele alalım:

<dil>::=<işlem>

<işlem> ::= <işlem> + <terim> | <işlem> – <terim> | <terim>

<terim> ::= <terim> * <unsur> | <terim> / <unsur> | <unsur>

<unsur> ::= sayı | ( <işlem> )

<sayı> ::= 1|2|3…|9|0

Bu dilde aşağıdaki örneğin nasıl parçalandığını inceleyelim:

4+8*(2-3)

Bu dilde tanımlı olan yukarıdaki işlemin parçalama ağacı aşağıdaki şekildedir:

yukarıdaki şekilde devamlı (nonterminal) terimlerden sonuncu (terminal) terimlere kadar bir BNF dilinin nasıl açıldığı gösterilmiştir.

Bu yazıyı beğendiyseniz, başkalarının da ilgisini çekebilirsiniz:


284 views

Leave a Reply


* iki = 12

Benzer Yazılar:

Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Parçalama Ağacı (Parse Tree)' isimli yazı 09 Dec 2008 tarihinde, saat: 16:56 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam284 defa okunmuştur.

Benzer yazıları Automata (otomatlar, özdevinirler), Bilgisayar Kavramları, Doğal Dil İşleme (NLP), Programlama Dilleri, Sistem Programlama (System Programming) kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.


Category: Automata (otomatlar, özdevinirler), Bilgisayar Kavramları, Doğal Dil İşleme (NLP), Programlama Dilleri, Sistem Programlama (System Programming)