2009-03-25 7 views
8

मैं एक पुस्तकालय की तलाश में हूं जो जर्मन शब्दों पर एक मॉर्फोलॉजिकल विश्लेषण कर सकता है, यानी यह किसी भी शब्द को इसके मूल रूप में परिवर्तित करता है और विश्लेषण शब्द के बारे में मेटा जानकारी प्रदान करता है।क्या जर्मन भाषा के morphological विश्लेषण के लिए एक मुफ्त पुस्तकालय है?

उदाहरण के लिए:

gegessen -> essen 
wurde [...] gefasst -> fassen 
Häuser -> Haus 
Hunde -> Hund 

मेरी इच्छा-सूची:

  • यह दोनों nouns और verbs के साथ काम करने की है।
  • मुझे पता है कि जर्मन भाषा की जटिलता को देखते हुए यह एक बहुत ही कठिन कार्य है, इसलिए मैं उन मुक्तियों की भी तलाश कर रहा हूं जो केवल अनुमान लगाते हैं या केवल 80% सटीक हो सकते हैं।
  • मैं पुस्तकालयों को पसंद करूंगा जो शब्दकोशों के साथ काम नहीं करते हैं, लेकिन फिर मैं परिस्थितियों के साथ समझौता करने के लिए खुला हूं।
  • मैं सी/सी ++/डेल्फी विंडोज पुस्तकालयों को भी पसंद करूंगा, क्योंकि इससे उन्हें एकीकृत करना आसान हो जाएगा लेकिन .NET, Java, ... भी करेगा।
  • यह एक मुफ्त पुस्तकालय होना है। (एल) जीपीएल, एमपीएल, ...

संपादित करें: मुझे पता है क्योंकि अनियमित शब्दों के किसी भी शब्दकोश के बिना एक रूपात्मक विश्लेषण करने के लिए कोई रास्ता नहीं है कि वहाँ, कर रहा हूँ। जब मैं कहता हूँ, मैं एक शब्दकोश मैं उड़ा उन पूर्ण शब्दकोशों जो हर शब्द के नक्शे मतलब बिना एक पुस्तकालय पसंद करते हैं: उन

arbeite -> arbeiten 
arbeitest -> arbeiten 
arbeitet -> arbeiten 
arbeitete -> arbeiten 
arbeitetest -> arbeiten 
arbeiteten -> arbeiten 
arbeitetet -> arbeiten 
gearbeitet -> arbeiten 
arbeite -> arbeiten 
... 

शब्दकोशों विशाल आकार और अज्ञात शब्दों को प्रोसेस करने में असमर्थता सहित कई कमियां, है।

बेशक सभी अपवाद केवल एक शब्दकोश से संभाला जा सकता:

esse -> essen 
isst -> essen 
eßt -> essen 
aß -> essen 
aßt -> essen 
aßen -> essen 
... 

(मेरा मन अभी स्पिन हो रही है :))

उत्तर

7

मुझे लगता है कि आप "स्टेमिंग एल्गोरिदम" की तलाश में हैं।

मार्टिन पोर्टर का दृष्टिकोण भाषाविदों के बीच अच्छी तरह से जाना जाता है। पोर्टर स्टेमर मूल रूप से एक एफ़िक्स स्ट्रिपिंग एल्गोरिदम है, जो उन विशेष मामलों के लिए कुछ प्रतिस्थापन नियमों के साथ संयुक्त है।

अधिकांश स्टेमर्स भाषाई रूप से "गलत" हैं। उदाहरण के लिए: "खूबसूरत" और "सौंदर्य" दोनों का परिणाम स्टेम "ब्यूटी" हो सकता है, जो निश्चित रूप से वास्तविक शब्द नहीं है।इससे कोई फर्क नहीं पड़ता, हालांकि, यदि आप जानकारी पुनर्प्राप्ति प्रणालियों में खोज परिणामों को बेहतर बनाने के लिए उन उपज का उपयोग कर रहे हैं। उदाहरण के लिए, पोर्टर स्टेमर के लिए Lucene समर्थन के साथ आता है।

पोर्टर ने स्नोबॉल नामक स्टेमर्स विकसित करने के लिए एक सरल प्रोग्रामिंग भाषा भी तैयार की।

स्नोबॉल में जर्मन के लिए स्टेमर्स भी उपलब्ध हैं। स्नोबॉल स्रोत से उत्पन्न एक सी संस्करण, एल्गोरिदम के सादा पाठ स्पष्टीकरण के साथ वेबसाइट पर भी उपलब्ध है।

यहाँ स्नोबॉल में जर्मन स्टेमर है: http://snowball.tartarus.org/algorithms/german/stemmer.html

आप आप एक शब्दकोश में मिल के रूप में के लिए भाषण की, आपको चाहिए गूगल ओर से जानकारी के साथ एक शब्द के लिए इसी स्टेम लिए देख रहे हैं "lemmatization"।

2

मुझे नहीं लगता कि है कि यह एक शब्दकोश के बिना किया जा सकता है । सही समाधान: -> एस्सेन
gegangen -> Angen

(लोग हैं, जो जर्मन बात नहीं करते के लिए ध्यान दें

नियम-आधारित दृष्टिकोण हमेशा की तरह

gegessen बातें ट्रिप हो जाएगा दूसरे मामले में "गेहेन" है)।

+0

आप आंशिक रूप से सही हो, मैं अपने सवाल अपडेट किया गया। –

1

Leo पर एक नज़र डालें। वे आपके द्वारा दिए गए डेटा की पेशकश करते हैं, शायद यह आपको कुछ विचार देता है।

3

आपने इसे थोड़ी देर पहले पूछा था, लेकिन आप इसे अभी भी morphisto के साथ आज़मा सकते हैं।

यहाँ कैसे Ubuntu में यह करने के लिए पर एक उदाहरण है:

  1. स्थापित स्टटगार्ट परिमित राज्य ट्रांसड्यूसर उपकरण

    $ sudo apt-get sfst

  2. स्थापित डाउनलोड morphisto आकृति विज्ञान उदाहरण के लिए morphisto-02022011.a

  3. कॉम्पैक्ट, उदा।

    $ FST-कॉम्पैक्ट morphisto-02022011.a morphisto-02022011.ac

  4. यह प्रयोग करें! यहां कुछ उदाहरण दिए गए हैं:

    $ Hchozeit echo। FST-proc morphisto-02022011.ac ^ Hochzeit/hohZeit < + एनएन>/hohZeit < + एनएन>/hohZeit < + एनएन>/hohZeit < + एनएन>/Hochzeit < + एनएन>/Hochzeit < + एनएन>/Hochzeit < + एनएन>/Hochzeit < + एनएन>/Hochzeit < + एनएन>/Hochzeit < + एनएन>/Hochzeit < + एनएन>/Hochzeit < + एनएन> $

    $ गूंज gearbeitet | FST-proc morphisto-02022011.ac ^ gearbeitet/arbeiten < + एडीजे>/arbeiten < + एडीजे>/arbeiten < + V> $

5

morphisto से उत्पादन को स्पष्ट (अस्वीकरण: मैं अपने ही मुक्त स्रोत परियोजनाओं यहाँ जोड़ने हूँ) http://www.danielnaber.de/morphologie/ पर उपलब्ध है एक शब्द सूची के रूप में यह डेटा

। सूची में नहीं यौगिक संज्ञाओं को कवर करने के लिए इसे एक शब्द स्प्लिटर लाइब्रेरी (जैसे jwordsplitter) के साथ जोड़ा जा सकता है।

या बस LanguageTool from Java का उपयोग करें, जिसमें एक कॉम्पैक्ट परिमित राज्य मशीन के रूप में एम्बेडेड शब्द सूची है (साथ ही इसमें यौगिक विभाजन भी शामिल है)।

+2

आपका उत्तर पोस्ट करने के लिए धन्यवाद! कृपया सावधानीपूर्वक [स्व-संवर्धन पर अक्सर पूछे जाने वाले प्रश्न] (http://stackoverflow.com/faq#promotion) को पढ़ना सुनिश्चित करें। यह भी ध्यान रखें कि यह * आवश्यक * है कि जब भी आप अपनी साइट/उत्पाद से लिंक करते हैं तो आप एक अस्वीकरण पोस्ट करते हैं। –

3

LemmaGen (http://lemmatise.ijs.si/) पर एक नज़र डालें जो एक ऐसी परियोजना है जिसका उद्देश्य लेमैटिज़ेशन के लिए मानकीकृत ओपन सोर्स बहुभाषी मंच प्रदान करना है। यह वही कर रहा है जो आप चाहते हैं।

1

वहां कुछ उपकरण हैं जिन्हें आप मॉर्फ की तरह उपयोग कर सकते हैं। Matetools, Morphisto आदि में घटक लेकिन दर्द उन्हें अपने उपकरण श्रृंखला में एकीकृत करने के लिए है। इन भाषाई उपकरणों में से बहुत सारे के आसपास एक बहुत अच्छा रैपर डीआईएमपीओ (https://dkpro.github.io/dkpro-core/) है, जो यूआईएमए का उपयोग करके एक ढांचा है। यह आपको विभिन्न संसाधनों से विभिन्न भाषाई उपकरण का उपयोग करके अपनी प्रीप्रोकैसिंग पाइपलाइन लिखने की अनुमति देता है जो सभी आपके कंप्यूटर पर स्वचालित रूप से डाउनलोड होते हैं और एक-दूसरे से बात करते हैं। आप जावा या ग्रोवी या यहां तक ​​कि ज्योथन का उपयोग करने के लिए इसका उपयोग कर सकते हैं। डीकेप्रो आपको दो मॉर्फोलॉजिकल विश्लेषकों, मैटमोर्फ टैगर और एसएफस्टएएनोटेटर तक आसानी से पहुंच प्रदान करता है।

आप पोर्टर जैसे स्टेमर का उपयोग नहीं करना चाहते हैं, यह शब्द रूप को इस तरह से कम करेगा जो भाषाई रूप से कोई समझ नहीं लेता है और आपके द्वारा वर्णित व्यवहार नहीं है। यदि आप केवल मूल रूप खोजना चाहते हैं, तो एक क्रिया के लिए जो infinitive और संज्ञा के लिए नामांकित एकवचन होगा, तो आपको एक लेमैमाइज़र का उपयोग करना चाहिए। आप जर्मन लेमैमाइज़र here की एक सूची पा सकते हैं। Treetagger व्यापक रूप से प्रयोग किया जाता है। आप SMORS जैसे मॉर्फोलॉजिकल विश्लेषक द्वारा प्रदान किए गए एक और जटिल विश्लेषण का भी उपयोग कर सकते हैं। यह आप (SMORS वेबसाइट से उदाहरण) कुछ इस तरह दे देंगे:

और यहाँ "unübersetzbarstes" दिखा prefixation, प्रत्यय और> उन्नयन के विश्लेषण है: संयुक्त राष्ट्र < PREF> übersetzen < वी> बार < SUFF > < + एडीजे> < Sup> < neut> < Nom> < Sg> < सेंट>

संबंधित मुद्दे