का उपयोग करने की कोशिश कर रहा है नमस्ते मैं PET पार्सर का उपयोग करने की कोशिश कर रहा हूं, लेकिन उपयोग के लिए दिए गए दस्तावेज अपर्याप्त हैं। क्या कोई मुझे पीईटी का उपयोग करने पर एक अच्छा लेख या ट्यूटोरियल इंगित कर सकता है? क्या यह utf-8 का समर्थन करता है?एचपीएसजी पीईटी पार्सर
उत्तर
पीईटी पार्सर का उपयोग करने के लिए, सबसे पहले आपको ब्याज की भाषा के लिए व्याकरण लोड करना होगा। व्याकरण को टीडीएल भाषा में लिखा जाना चाहिए, जैसा कि DELPH-IN consortium (wiki here) में उपयोग किया जाता है। अंग्रेजी, जापानी और जर्मन समेत कई भाषाओं के लिए बड़े, संगत व्याकरण उपलब्ध हैं। छोटे व्याकरण भी उपलब्ध हैं, और आप अपना खुद का लिख सकते हैं।
इसके लिए - और इन व्याकरणों के साथ काम करने के लिए - आपकी सबसे अच्छी शर्त एन कोपेस्टेक की पुस्तक, "Implementing Typed Feature Structure Grammars" (CSLI 2002) है। यह पुस्तक टीडीएल और व्याकरण जैसे पूर्ण रूप से परिचय प्रदान करती है जो टाइप की गई फीचर संरचनाओं के एकीकरण के माध्यम से कार्य करती हैं। व्याकरण सिंटैक्स (सतह तार) और अर्थशास्त्र के बीच बिडरेक्शनल मैपिंग का समर्थन करते हैं ("अर्थ," कोपेस्टेक के एमआरएस - न्यूनतम रिकर्सन सेमेन्टिक्स के अनुसार दर्शाया गया है)। ध्यान दें कि ये सटीक व्याकरण हैं, जिसका अर्थ है कि वे आमतौर पर सांख्यिकीय प्रणालियों की तुलना में अनगिनत इनपुट के कम सहनशील होते हैं।
English Resource Grammar (ERG) अंग्रेजी का एक बड़ा व्याकरण है जिसमें व्यापक, सामान्य-डोमेन कवरेज है। यह खुला स्रोत है और आप इसे वेबसाइट से डाउनलोड कर सकते हैं। पीईटी पार्सर द्वारा संचालित एक ऑनलाइन डेमो, here पाया जा सकता है।
पीईटी पार्सर दो चरणों में चलता है। पहला, जिसे फ्लॉप नामक व्याकरण का "संकलित" संस्करण बनाता है। दूसरा चरण वास्तविक पार्सिंग है, जो सस्ते प्रोग्राम का उपयोग करता है। आपको अपनी लिनक्स मशीन के लिए इन दो पीईटी बाइनरी प्राप्त करने की आवश्यकता होगी, या उन्हें स्वयं बनाएं। यदि आप लिनक्स पर सॉफ्टवेयर बनाने से परिचित नहीं हैं तो यह कदम आसान नहीं हो सकता है। पीईटी विंडोज (या मैक, मेरे ज्ञान के लिए) पर नहीं चलता है।
फ्लॉप चलाना आसान है। बस अपने/एर्ग निर्देशिका पर जाएँ, और प्रकार:
$ flop english.tdl
यह english.grm फ़ाइल का उत्पादन करेगा। अब आप सस्ते चलाकर वाक्य पार्स कर सकते हैं:
$ echo the child has the flu. | cheap --mrs english.grm
यह उदाहरण श्रीमती में सजा की एक भी अर्थ प्रतिनिधित्व पैदा करता है (कम से कम Recursion शब्दार्थ) प्रारूप:
[ LTOP: h1
INDEX: e2 [ e SF: PROP TENSE: PRES MOOD: INDICATIVE PROG: - PERF: - ]
RELS: <
[ _the_q_rel<-1:-1>
LBL: h3
ARG0: x6 [ x PERS: 3 NUM: SG IND: + ]
RSTR: h5
BODY: h4 ]
[ "_child_n_1_rel"<-1:-1>
LBL: h7
ARG0: x6 ]
[ "_have_v_1_rel"<-1:-1>
LBL: h8
ARG0: e2
ARG1: x6
ARG2: x9 [ x PERS: 3 NUM: SG ] ]
[ _the_q_rel<-1:-1>
LBL: h10
ARG0: x9
RSTR: h12
BODY: h11 ]
[ "_flu_n_1_rel"<-1:-1>
LBL: h13
ARG0: x9 ] >
HCONS: < h5 qeq h7 h12 qeq h13 > ]
Copestake की पुस्तक विशिष्ट वाक्यविन्यास बताते हैं और भाषाई औपचारिकता पीईटी के साथ संगत व्याकरण में प्रयोग की जाती है। यह ओपन-सोर्स एलकेबी सिस्टम के लिए उपयोगकर्ता के मैनुअल के रूप में भी कार्य करता है, जो एक अधिक इंटरैक्टिव सिस्टम है जो इन व्याकरणों के साथ भी विश्लेषण कर सकता है।पार्सिंग के अलावा, एलकेबी रिवर्स कर सकता है: एमआरएस अर्थपूर्ण प्रतिनिधित्व से वाक्यों को उत्पन्न करें। एलकेबी वर्तमान में केवल लिनक्स/यूनिक्स पर समर्थित है। वास्तव में एलकेबी और पीईटी समेत कुल चार डीएलपीएच-इन अनुपालन व्याकरण प्रसंस्करण इंजन हैं।
विंडोज के लिए, वहाँ है सहमत, एक multi-threaded parser/generator (और here) है कि मैं नेट के लिए विकसित किया है; यह पीढ़ी और पार्सिंग दोनों का भी समर्थन करता है। यदि आपको व्याकरण के साथ अंतःक्रियात्मक रूप से काम करने की आवश्यकता है, तो आप एलकेबी या का उपयोग करने पर विचार करना चाहेंगे - पीईटी के बजाय - या इसके बजाय। के लिए इंटरैक्टिव क्लाइंट फ्रंट-एंड अधिकतर WPF- आधारित हैं, लेकिन इंजन और एक साधारण कंसोल क्लाइंट किसी भी मोनो प्लेटफ़ॉर्म पर चला सकता है।
ACE एक और ओपन-सोर्स DELPH-IN संगत पार्सिंग और पीढ़ी प्रणाली है जो उच्च प्रदर्शन के लिए डिज़ाइन की गई है, और यह लिनक्स और मैकोज़ के लिए उपलब्ध है।
एलकेबी लिस्प में लिखा गया है, जबकि पीईटी और एसीई सी/सी ++ हैं, इसलिए उत्तरार्द्ध उत्पादन के उपयोग के लिए तेज़ पार्सर्स हैं। सहमत हैं एलकेबी की तुलना में भी तेज़ है, लेकिन जटिल वाक्यों को पार्स करते समय केवल पीईटी से तेज़ हो जाता है, जहां से ओवरहेड सहमत हैं लॉक-फ्री कॉन्सुरेंसी अमूर्त हो जाती है।
[2011/11/25 संपादित करें: सहमत अब पीढ़ी के साथ-साथ पार्स का समर्थन करता है]
पीईटी संकलित करते समय कॉन्फ़िगर किए जाने के तरीके के आधार पर यूटीएफ -8 का समर्थन करता है। विकी पेज के अलावा, mailing list पर एक प्रश्न भी देखें या पोस्ट करें।
कई इनपुट विधियां मौजूद हैं, मैं सबसे आधुनिक होने के लिए एफएससी (एक्सएमएल) या वाई वाई (एस-एक्स) की सिफारिश करता हूं। मैं किसी भी छोटे ट्यूटोरियल से अनजान हूं, लेकिन आप एक पूर्ण एंड-टू-एंड एनएलपी पैकेज के लिए Heart of Gold पर भी देख सकते हैं, जहां पीईटी एक घटक है।
क्या आप ईआरजी के साथ पार्स कर रहे हैं?
ओपी कुछ न्यूनतम उदाहरण चाहता था। जैसे पीईटी को एक वाक्य दिया गया, और पीईटी से अर्थपूर्ण जानकारी कैसे प्राप्त करें (किस विकल्प के लिए कुछ सरल उदाहरणों के साथ उद्देश्य)। AFAIO यह जानकारी विकी में नहीं मिल सकती है। – hmuelner