DC-грамматика

Грамматика, построенная на определённых предложениях (сокр. DC-грамматика, DCG; от англ. Definite clause grammar) — это способ построения грамматики в логических языках программирования, например, Пролог. DC-грамматика обычно ассоциируется с Прологом, но и другие языки, например, Mercury, также могут использовать DC-грамматику. Словосочетание «определенные предложения» используется в названии потому, что эта грамматика основывается на дизъюнкте Хорна в логике первого порядка.

Определение DCG ссылается на специфичные типы выражений в Пролог и других подобных ему языках. Не все способы выражения грамматики, использующие определённые предложения, рассматриваются с помощью DC-грамматики. Однако все возможности и свойства DC-грамматики будут точно такими же для любой грамматики, которая использует определённые предложения точно так же, как и Пролог.

Чтобы яснее представить себе, что же такое DC-грамматики, можно провести следующее гипотетическое сопоставление: множество определённых предложений можно рассмотреть как множество аксиом, а корректность входной строки и существование для неё дерева разбора — как теорему, доказательство которой строится на этих аксиомах [1]. Такое представление имеет преимущество, так как распознавание и разбор выражений языка превращается в доказательство выражений, точно так же, как это делается в логических языках программирования.

История

История DC-грамматик тесно связана с историей Пролога, которая в свою очередь создавалась в Марселе (Франция) и Эдинбурге (Шотландия). Благодаря Роберту Ковальски, первому разработчику языка Пролог, первая Пролог система была разработана в 1972 году Аленом Колмероэ [A.Colmerauer] и Филиппом Русселем [P.Roussel][2]. Первая программа, написанная на языке, была попыткой реализации системы обработки естественного языка. Также в разработке Пролога принимали участие Фернандо Перейра [F.Pereira] и Дэвид Уоррен [D.Warren] из университета Эдинбурга.

Предыдущая работа Колмероэ была посвящена системе обработки языка, известной под названием Q-система, которая использовалась для перевода с английского на французский [3]. В 1978 Колмероэ написал статью о способе представления грамматик, которые назывались метаморфозными грамматики (metamorphosis grammars) и которые лежали в основе первой версии Пролога, называемого марсельским Прологом. В этой статье он дал формальное описание метаморфозным грамматикам и привел некоторые примеры, демонстрирующие их применение.

Два других создателя Пролога, Фернандо Перейра и Дэвид Уоррен, придумали термин «грамматика с определёнными предложениями» и создали ту нотацию DC-грамматик, которая используется в Прологе по сей день. Они оценили идеи Колмероэ и Ковальски и заметили, что DC-грамматика — это частный случай метаморфозных грамматик Колмероэ. Эта идея была представлена в статье «Definite Clause Grammars for Language Analysis» (DC-грамматики для языкового анализа), в которой DC-грамматика описывалась как «формализм … в котором грамматика выражается предложениями предикатной логики первого порядка», что «позволяет создавать эффективные программы на языке программирования Пролог»[4].

Позже Перейра, Уоррен и другие пионеры Пролога описали другие аспекты DC-грамматик. Перейра и Уоррен написали статью «Parsing as Deduction» (Разбор с помощью логического вывода), описывающую процедуру доказательства логического вывода Эрли, использующуюся для разбора[5]. Также Перейра в соавторстве со Стюартом Шейбером написал книгу «Prolog and Natural Language Analysis» (Пролог и анализ естественных языков), которая была предназначена для изучения основ вычислительной лингвистики с использованием логического программирования[6].

Расширение

Для DC-грамматик, описанных Перейрой и Уорреном, были предложены улучшения. Например, сам Перейра предложил экстрапозиционные грамматики (extraposition grammars, XGs)[7]. Этот формализм был необходим для того, чтобы упростить представление примечательного грамматического феномена — экстрапозиции. Перейра писал : «Различие между правилами XG и DC-грамматики заключается в том, что левая часть XG правила может состоять из нескольких символов». Это делает её проще для выражения контекстно-зависимых грамматик. Однако XG может быть трансформирована в DC-грамматику, а DC-грамматика, в принципе, может все, что умеет XG.

Значительно позднее, в 1995 г., исследователями из корпорации NEC было разработано другое расширение, называемое многомодальной DC-грамматикой (Multi-Modal Definite Clause Grammars, MM-DCGs). Это расширение предназначалось для того, чтобы распознавать и разбирать выражения, которые включают не только текстовые части, но и, например, картинки[8].

В 1984 году было описано другое расширение, называемое DC-грамматиками трансляции (definite clause translation grammars, DCTGs)[9]. DCTG-нотация выглядит практически точно также, как и нотация DC-грамматики, за исключением того, что в правилах использовалась запись ::= вместо -->. Она была придумана для удобной поддержки атрибутных грамматик[10]. Перевод DCTG в нормальные предложения Пролога точно такой же, как и при DC-грамматиках, но добавляется три аргумента вместо двух.

Пример

Элементарный пример DC-грамматик поможет понять, на что способны такие грамматики и что они собой представляют.

sentence --> noun_phrase, verb_phrase. 
noun_phrase --> det, noun. 
verb_phrase --> verb, noun_phrase. 
det --> [the]. 
det --> [a]. 
noun --> [cat]. 
noun --> [bat]. 
verb --> [eats].

Эта грамматика порождает приложения вида «the cat eats the bat», «a bat eats the cat». Чтобы породить корректное выражение языка при помощи этой грамматики, в интерпретаторе Пролога необходимо набрать: sentence(X,[]). А чтобы протестировать, принадлежит ли данное предложение языку, можно набрать sentence([the,bat,eats,the,bat],[]).

Трансформация в множество определённых предложений

Нотация DC-грамматик представляет собой синтаксический сахар для нормального множества синтаксических предложений в Прологе. Например, предыдущий пример может быть записан следующим образом:

sentence(S1,S3) :- noun_phrase(S1,S2), verb_phrase(S2,S3). 
noun_phrase(S1,S3) :- det(S1,S2), noun(S2,S3). 
verb_phrase(S1,S3) :- verb(S1,S2), noun_phrase(S2,S3). 
det([the|X], X). 
det([a|X], X). 
noun([cat|X], X). 
noun([bat|X], X). 
verb([eats|X], X).

Разница списков

Аргументы для каждого функтора, например, (S1,S3) и (S1,S2), представляют собой разницу списков. Разницей списков является способ представления списка с помощью разницы двух списков. Используя нотацию Пролога для списка, можно записать, что список L является парой списков ([L|X],X).

Разница списков используется для представления списков в DC-грамматиках по причине своей эффективности. Более удобно производить конкатенацию разницы списков там, где это необходимо, потому что конкатенацией списков (S1,S2) и (S2,S3) является список (S1,S3).[11]

Контекстно-зависимые грамматики

В Прологе нормальные DC правила обходятся без дополнительных аргументов в функторах, как это было продемонстрировано в предыдущем примере. Однако такая грамматика может представлять только контекстно-свободные грамматики, то есть с одним аргументом в левой части. Однако контекстно-зависимые грамматики также могут быть представлены с помощью DC-грамматики при помощи добавления аргументов так, как это сделано в следующем примере:

s --> symbols(Sem,a), symbols(Sem,b), symbols(Sem,c). 
symbols(end,_) --> []. 
symbols(s(Sem),S) --> [S], symbols(Sem,S).

Это множество правил DC-грамматики описывает грамматику, которая порождает строки формы , структурно представляя .[12]

Особенности представления

Также с помощью DC-грамматик могут быть довольно лаконично представлены различные лингвистические особенности языка путём добавления дополнительных аргументов функторам.[13] Для примера рассмотрим следующее множество DC-правил:

sentence --> pronoun(subject), verb_phrase. 
verb_phrase --> verb, pronoun(object). 
pronoun(subject) --> [he]. 
pronoun(subject) --> [she]. 
pronoun(object) --> [him]. 
pronoun(object) --> [her]. 
verb --> [likes].

Такая грамматика порождает предложения вида «he likes her» или «he likes him», но не позволяет порождать «her likes he» или «him likes him».

Разбор DC-грамматик

Пример дерева разбора для этой грамматики.

Главная практическая ценность использования DC-грамматик — это разбор предложений данной грамматики, то есть построение дерева разбора. Это может быть сделано при помощи добавления «дополнительных аргументов» в функторы DC-грамматики, например, так, как это сделано в следующем примере:

sentence(s(NP,VP)) --> noun_phrase(NP), verb_phrase(VP). 
noun_phrase(np(D,N)) --> det(D), noun(N). 
verb_phrase(vp(V,NP)) --> verb(V), noun_phrase(NP). 
det(d(the)) --> [the]. 
det(d(a)) --> [a]. 
noun(n(bat)) --> [bat]. 
noun(n(cat)) --> [cat]. 
verb(v(eats)) --> [eats].

Теперь для любого предложения можно получить дерево разбора:

| ?- sentence(Parse_tree, [the,bat,eats,a,cat], []). 
Parse_tree = s(np(d(the),n(bat)),vp(v(eats),np(d(a),n(cat)))) ? ;

Дополнительное применение

DC-грамматики могут предоставлять дополнительный синтаксический сахар для сокрытия параметров в других местах кода, которые не связаны с разбором приложений. Например, в языке программирования Mercury, который частично заимствует синтаксис Пролога, DC-грамматики используются для того, чтобы скрыть io__state аргумент в коде ввода-вывода.[14] Также DC-грамматики используются и в других ситуациях в Mercury.

См. также

Замечания

  1. Johnson, M. Two ways of formalizing grammars (англ.) // Linguistics and Philosophy[англ.] : journal. — 1994. — Vol. 17, no. 3. — P. 221—248.
  2. Kowalski, R. A. The early years of logic programming (неопр.).
  3. Colmerauer, A. Metamorphosis grammars (неопр.) // Natural Language Communication with Computers. — 1978. — С. 133—189.
  4. Pereira, F.; D. Warren. Definite clause grammars for language analysis (неопр.). — 1980.
  5. Pereira, F. C. N. (1983). "Parsing as deduction". Proceedings of the 21st annual meeting on Association for Computational Linguistics. Association for Computational Linguistics Morristown, NJ, USA. pp. 137–144. {{cite conference}}: Неизвестный параметр |coauthors= игнорируется (|author= предлагается) (справка)
  6. Pereira, F. C. N.; S. M. Shieber. Prolog and natural-language analysis (неопр.). — Microtome Publishing, 2002.
  7. Pereira, F. Extraposition grammars (неопр.) // Computational Linguistics. — 1981. — Т. 7, № 4. — С. 243—256.
  8. Shimazu, H.; Y. Takashima. Multimodal definite clause grammar (неопр.) // Systems and Computers in Japan. — 1995. — Т. 26, № 3.
  9. Abramson, H. Definite clause translation grammars (неопр.). — 1984.
  10. Sperberg-McQueen, C. M. A brief introduction to definite clause grammars and definite clause translation grammars. Дата обращения: 21 апреля 2009. Архивировано 22 марта 2012 года.
  11. Fleck, Arthur. Definite Clause Grammar Translation. Дата обращения: 16 апреля 2009. Архивировано 22 марта 2012 года.
  12. Fisher, J. R. Prolog Tutorial -- 7.1. Дата обращения: 16 апреля 2009. Архивировано 22 марта 2012 года.
  13. DCGs give us a Natural Notation for Features. Дата обращения: 21 апреля 2009. Архивировано 22 марта 2012 года.
  14. Mercury Tutorial: DCG Notation. Дата обращения: 21 апреля 2009. Архивировано 22 марта 2012 года.

Дополнительные источники

Read other articles:

EredivisieMusim2023–2024Tanggal11 atau 13 Agustus 2023 – 19 Mei 2024← 2022–2023 2024–2025 → Eredivisie 2023–2024 adalah musim ke-68 dari Eredivisie, kompetisi sepak bola utama Belanda. Musim ini dimulai pada 11 atau 13 Agustus 2023 dan berakhir pada 19 Mei 2024. Klasemen Pos Tim Main M S K MG KG SG Poin Kualifikasi atau degradasi 1 AFC Ajax 0 0 0 0 0 0 0 0 Lolos ke babak grup Liga Champions 2 AZ Alkmaar 0 0 0 0 0 0 0 0 3 Excelsior Rotterdam 0 0 0 0 0 0 0 0 Lolos ke babak kualifi...

 

Abbasanta AbbasàntaKomuneComune di AbbasantaLokasi Abbasanta di Provinsi OristanoNegara ItaliaWilayah SardiniaProvinsiOristano (OR)Pemerintahan • Wali kotaStefano SannaLuas • Total39,85 km2 (15,39 sq mi)Ketinggian315 m (1,033 ft)Populasi (2016) • Total2,729[1]Zona waktuUTC+1 (CET) • Musim panas (DST)UTC+2 (CEST)Kode pos09071Kode area telepon0785Situs webhttp://www.comune.abbasanta.or.it Abbasanta (baha...

 

Xyridaceae Klasifikasi ilmiah Kerajaan: Plantae Divisi: Magnoliophyta (tanpa takson): Monokotil (tanpa takson): Commelinids (EuMonokotil) Ordo: Poales Famili: Xyridaceae Genera Abolboda Achlyphila Aratitiyopea Orectanthe Xyris Xyridaceae adalah salah satu suku anggota tumbuhan berbunga. Menurut sistem klasifikasi APG II suku ini termasuk ke dalam bangsa Poales, klad commelinids (euMonokotil). Wikimedia Commons memiliki media mengenai Xyridaceae. Pengidentifikasi takson Wikidata: Q131613 Wiki...

Pour les articles homonymes, voir Favier. Jean FavierJean Favier en 2005.FonctionsPrésidentComité d'histoire de la ville de Paris (d)2007-2013Danielle TartakowskyPrésidentAcadémie des inscriptions et belles-lettres1995Jean MarcadéPierre ToubertPrésidentBibliothèque nationale de France1994-1997Pierre-Jean RemyPrésidentSociété nationale des antiquaires de France1993Jean-Pierre CalluAndré MandouzePrésidentAssociation des lauréats du concours général1988-2002Maurice DruonJean-Jacq...

 

American journalist and writer Ellen GoodmanGoodman gives a TEDx TalkBorn (1941-04-11) April 11, 1941 (age 82)Newton, Massachusetts, USNationalityAmericanAlma materRadcliffe CollegeAwardsPulitzer Prize 1980 Ellen Goodman (born April 11, 1941) is an American journalist and syndicated columnist. She won a Pulitzer Prize in 1980.[1] She is also a speaker and commentator. Career Goodman's career began as a researcher and reporter for Newsweek magazine between 1963 and 1965. She ...

 

Private yacht club in New York, US Huguenot Yacht ClubBurgeeShort nameHYCFoundedFebruary 8, 1895; 129 years ago (1895-02-08)LocationNew Rochelle, Westchester County, New York  United StatesWebsitehttp://huguenotyc.com The Huguenot Yacht Club (HYC) is a private yacht club located on Neptune Island along New Rochelle Harbor in the city of New Rochelle in Westchester County, New York. The club offers a number of boating activities, including yacht racing, frostbiting, one-...

2019–20 New Mexico lobos men's basketball team 2020–21 New Mexico Lobos men's basketballConferenceMountain West ConferenceRecord6–16 (2–15 MW)Head coachPaul Weir (4th season)Assistant coaches Dan McHale Scott Padgett Ralph Davis Seasons← 2019–202021–22 → 2020–21 Mountain West Conferencemen's basketball standings Conf Overall Team W   L   PCT W   L   PCT No. 16 San Diego State† 14 – 3   .824 23 – 5   .821 Utah...

 

Pour les articles homonymes, voir Al-Mustakfi. Al-Mustakfi IerFonctionCalife abbassideBiographieNaissance 23 mars 1285Le CaireDécès Février 1340 (à 54 ans)QûsPère Al-Hakim IerEnfants Al-Hakim IIAl-Mu'tadid Iermodifier - modifier le code - modifier Wikidata Abû ar-Rabî` Sulaymân al-Mustakfi bi-llâh[1] ou Al-Mustakfi Ier[2] (1285-1340) est un calife abbasside au Caire de 1302 à 1340. Il passe tout son règne sous la tutelle du sultan Mamelouk bahrite An-Nâs...

 

Antenna of Otakadoyayama Transmitter Otakadoyayama Transmitter (おおたかどや山標準電波送信所, otakadoyayama-hyoujyundenpa-soushinjyo) is an LF-time signal transmitter at Tamura-City, Fukushima-ken, Japan used for transmitting the time signal JJY on 40 kHz. The Otakadoyama site is one of two JJY transmitters, another is the Haganeyama site. Summy[1][2] NAME:NICT Otakadoyayama LF station Location:Summit of Mt. Otakadoya, Tamura-City, Fukushima-ken Elevatio...

Line of mid-range smartphones LG K seriesDeveloperLGTypeSmartphonesOperating systemAndroid The LG K series is a line of mid-range smartphones which are designed, developed and marketed by LG Electronics, which run the Android mobile operating system. The K Series, which launched in January 2016 with the K7 and K10, was followed by the K4, later that same month. The K8 debuted soon after in February that year, finishing out the 2016 lineup with the K3 in August. In December 2016, LG Electronic...

 

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Go Your Way lagu – berita · surat kabar · buku · cendekiawan · JSTOR Go Your WayRegular Edition coverLagu oleh CNBLUEdari album WaveDirilis28 Agustus 2013 (2013-08-28)FormatCD singel, Unduhan d...

 

Частина серії проФілософіяLeft to right: Plato, Kant, Nietzsche, Buddha, Confucius, AverroesПлатонКантНіцшеБуддаКонфуційАверроес Філософи Епістемологи Естетики Етики Логіки Метафізики Соціально-політичні філософи Традиції Аналітична Арістотелівська Африканська Близькосхідна іранська Буддій�...

Form of electronic dance music Not to be confused with (free) tekno music. For the YouTuber, see Technoblade. For the Marvel character, see Fixer (Marvel Comics). TechnoStylistic originsHouseelectrosynth-popEurodiscoItalo discopost-discohi-NRGChicago houseindustrialEBMkrautrockCultural originsMid-1980s, United States (Detroit), and West Germany (Frankfurt, Berlin)Derivative formsAlternative dancetranceSubgenresAcid technoambient technoBirmingham soundbleep technoDetroit technodub technohardco...

 

Derobrachus Derobrachus geminatus Klasifikasi ilmiah Kerajaan: Animalia Filum: Arthropoda Kelas: Insecta Ordo: Coleoptera Famili: Cerambycidae Subfamili: Prioninae Genus: Derobrachus Derobrachus adalah genus kumbang tanduk panjang yang tergolong famili Cerambycidae. Genus ini juga merupakan bagian dari ordo Coleoptera, kelas Insecta, filum Arthropoda, dan kingdom Animalia. Larva kumbang dalam genus ini biasanya mengebor ke dalam kayu dan dapat menyebabkan kerusakan pada batang kayu hidup ata...

 

此條目没有列出任何参考或来源。 (2012年2月7日)維基百科所有的內容都應該可供查證。请协助補充可靠来源以改善这篇条目。无法查证的內容可能會因為異議提出而被移除。 伊凡一世 伊凡一世·丹尼洛维奇(钱袋)(Ива́н I Дани́лович Калита́,1288年—1340年3月31日),是莫斯科大公(约1325年-1340年3月31日在位),亚历山大·涅夫斯基幼子丹尼尔·亚历山德罗维奇�...

Calendar year Millennium: 2nd millennium Centuries: 16th century 17th century 18th century Decades: 1660s 1670s 1680s 1690s 1700s Years: 1683 1684 1685 1686 1687 1688 1689 September 2: The Holy League Alliance of the Holy Roman Empire, Russia and Austria liberates the Hungarian city of Buda (now part of Budapest) from the Ottoman Empire in the Battle of Buda. 1686 by topic Arts and science Architecture Art Literature Music Science Leaders State leaders Colonial governors ...

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Best of The Blues Brothers – news · newspapers · books · scholar · JSTOR (May 2014) (Learn how and when to remove this message) 1981 greatest hits album by The Blues BrothersBest of The Blues BrothersGreatest hits album by The Blues BrothersReleasedNove...

 

Gotthard HeinriciGotthard Heinrici em 1945JulukanUnser GiftzwergLahir(1886-12-25)25 Desember 1886Gumbinnen, Provinsi Prusia Timur, Kerajaan Prusia, Kekaisaran Jerman sekarang Gusev, Oblast Kaliningrad, Federasi RusiaMeninggal10 Desember 1971(1971-12-10) (umur 84)Karlsruhe, Baden-Württemberg, Jerman BaratDikebumikanFreiburg im BreisgauPengabdian Kekaisaran Jerman (sampai 1918) Republik Weimar (sampai 1933) Jerman NaziLama dinas1905–45PangkatGeneraloberstKomandanXXXX...

Годы 2010 · 2011 · 2012 · 2013 — 2014 — 2015 · 2016 · 2017 · 2018 Десятилетия 1990-е · 2000-е — 2010-е — 2020-е · 2030-е Века XX век — XXI век — XXII век 3-е тысячелетие XIX век XX век XXI век XXII век XXIII век 1990-е 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000-е 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010-е 2010 2011 2012 2013 2014 2015 2016 ...

 

Public university in Windsor, Ontario, Canada For the Caribbean medical school, see Windsor University School of Medicine. University of WindsorCoat of armsFormer namesAssumption College (1857–1956)Assumption University of Windsor (1956–1963)MottoBonitatem, disciplinam, scientiam (Latin)Motto in EnglishGoodness, Discipline, and KnowledgeTypePublic research universityEstablishedSeptember 1857; 167 years ago (1857-09)[note 1]Academic affiliationsCARL...