2012-12-05 39 views
8

का उपयोग करके सभी शब्द फॉर्म जेनरेट करें मैं एक आवेदन में काम करता हूं, हम ल्यूसीन विश्लेषक का उपयोग करते हैं, विशेष रूप से यह हंसस्पेल भाग का उपयोग करते हैं। मुझे जिस समस्या का सामना करना पड़ता है वह है: मुझे प्रत्यय नियमों के एक सेट का उपयोग करके, शब्द के सभी शब्द रूपों को उत्पन्न करने की आवश्यकता है।ल्यूसीन और हनस्पेल

उदा। शब्द 'शिक्षित' और एफ़िक्स नियम एबीसी, शब्द 'शिक्षित' के सभी रूप उत्पन्न करते हैं। - शिक्षित, शिक्षित, शिक्षित, आदि

मैं क्या जानना चाहता हूं: क्या लुसीन के हनस्पेल कार्यान्वयन का उपयोग करके ऐसा करना संभव है (हम एक हंसस्पेल डिक्शनरी (.dic) और एफ़िक्स फ़ाइल (.aff) का उपयोग करते हैं, तो यह एक Hunspell एपीआई होना चाहिए)? लुसीन की हनस्पेल एपीआई इतना बड़ी नहीं है, मैं इसके माध्यम से गया, और कुछ उपयुक्त नहीं मिला।

निकटतम मैं इतने पर मिल सकता है this था, लेकिन वहाँ hunspell से संबंधित कोई जवाब नहीं है।

अद्यतन 1 मैं परियोजना जहां मैं अब और इसके बाद के संस्करण का सामना करना पड़ा पर काम नहीं कर रहा हूँ, लेकिन यदि कोई ऐसी Lucene के विश्लेषक का उपयोग यह करने के लिए एक समाधान है, मुझे खुशी है कि समुदाय जवाब देखेंगे होगी।

उत्तर

7

हनस्पेल अनमंच कमांड के साथ आता है, जो सभी शब्द रूपों को बनाएगा। आप इसे इस तरह कॉल कर सकते हैं:

unmunch en_GB.dic en_GB.aff 

इस प्रकार आप hunspell स्रोत में लग सकता है कि यह कैसे कार्यान्वित किया जाता है और क्या यह बाहर से कहा जा सकता है। पिछली बार जब मैंने यौगिकों के साथ शब्दकोशों पर इस्तेमाल किया था तो कमांड छोटी सी छोटी थी - उन मामलों में आप सभी वर्डफॉर्म बना सकते हैं, क्योंकि उनमें से एक अनंत संख्या है।

+0

धन्यवाद डैनियल का बहुत जवाब! मैं अनचाहे के बारे में पता हूँ। इसे कॉल करना उपयोग के मामले के लिए एक विकल्प नहीं है जहां मैं एक नया शब्द जोड़ना चाहता हूं, और मैं इसके सभी रूपों का पूर्वावलोकन करना चाहता हूं। मैंने इस स्रोत को देखने का प्रयास किया कि यह कैसे कार्यान्वित किया गया है, लेकिन फिर मैंने सोचा: यदि यह पहले से ही लुसीन में लागू किया गया है, तो मुझे एक नया बग्गी बंदरगाह नहीं बनाना पड़ेगा, और यह लुसीन के अन्य हिस्सों के अनुरूप होगा। –

5

मुझे लगता है कि आप जो खोज रहे हैं Hunspell के wordforms आदेश है:

Usage: wordforms [-s | -p] dictionary.aff dictionary.dic word 
-s: print only suffixed forms 
-p: print only prefixed forms 

उदाहरण:

$ wordforms en_US.aff en_US.dic educate 
educating 
educated 
educate 
educates 
educates 

the documentation में अधिक पढ़ें।

+0

क्या आपको पता है कि यह ल्यूसीन से कॉल करने योग्य है या नहीं? –

+1

मैं आउटपुट को फाइल में कैसे लिख सकता हूं? – MonsterMMORPG

+1

इस आदेश मेरे लिए विफल रहता है :(https://github.com/hunspell/hunspell/issues/474 – MonsterMMORPG