2010-12-21 18 views
10

मैं यह जांचने का एक आसान तरीका ढूंढ रहा हूं कि कोई निश्चित स्ट्रिंग एक सही वर्तनी वाला अंग्रेजी शब्द है या नहीं। उदाहरण के लिए, 'देखा' सच हो जाएगा जबकि 'hurrr' झूठा वापस आ जाएगा। मुझे वर्तनी सुझाव या किसी भी वर्तनी-सुधार सुविधाओं की आवश्यकता नहीं है। बस एक साधारण फ़ंक्शन जो स्ट्रिंग लेता है और एक बूलियन मान देता है। यह ऐसा करने कापायथन: जांचें कि कोई शब्द सही वर्तनी है या नहीं

उत्तर

24

दो संभव तरीके:

  1. सभी वैध शब्द है जो अपनी खुद की फ़ाइल है। एक सेट में फ़ाइल लोड और देखने के लिए कि क्या यह उस में मौजूद है (सेट में शब्द)
  2. (बेहतर तरीका) PyEnchant, एक वर्तनी जांच पुस्तकालय का उपयोग करें अजगर के लिए
+0

धन्यवाद, यह वही है जो मैंने उत्तर देने के दौरान किया था;) – Nikolai

+2

किसी सूची के बजाय सेट का उपयोग करें, और बेहतर प्रदर्शन के लिए 'my_set' में शब्द पूछें। –

+0

@ करल: वास्तव में एक बहुत ही वैध बिंदु, सूचियों की तुलना में सेट महत्वपूर्ण रूप से तेज़ होते हैं जब यह निर्धारित करने की बात आती है कि कोई ऑब्जेक्ट सेट में मौजूद है या नहीं। अपडेट किया गया। – user225312

0

याहू जादू प्रदान करता है प्रत्येक शब्द की तुलना YQL के माध्यम से API की जांच।

इसका बहुत सरल और आप 5000 प्रश्नों के लिए/आईपी पते/गैर वाणिज्यिक उपयोग के लिए दिन (फ्री)

1

मैं एक ही कार्यक्षमता के लिए देख रहा था और जो Windows में काम करता है एक मौजूदा पुस्तकालय को खोजने के लिए संघर्ष किया, 64 बिट । PyEnchant, हालांकि एक महान पुस्तकालय, वर्तमान में सक्रिय नहीं है और 64 बिट में काम नहीं करता है। मैंने पाया कि अन्य पुस्तकालय विंडोज में काम नहीं किया था।

मुझे अंततः एक समाधान मिला जो मुझे आशा है कि दूसरों को मूल्यवान मिलेगा।

समाधान ...

  • उपयोग nltk
  • से
  • एक सेट में कनवर्ट nltk.corpus.brown शब्द सूची शब्द सूची निकालें (कुशल खोज के लिए)
  • उपयोग in कीवर्ड निर्धारित करें कि आपका स्ट्रिंग सेट

में है
from nltk.corpus import brown 
word_list = brown.words() 
word_set = set(word_list) 

# Check if word is in set 
"looked" in word_set # Returns True 
"hurrr" in word_set # Returns False 

टाइमर चेक का उपयोग करें और आप देखेंगे कि सेट को खोजने के लिए लगभग कोई समय नहीं लगता है। 1,000 शब्दों पर एक परीक्षण ने 0.004 सेकंड लिया।

0

मैं व्यक्तिगत रूप से इस्तेमाल किया: http://textblob.readthedocs.io/en/dev/ यह एक सक्रिय परियोजना है और वेबसाइट के अनुसार:

वर्तनी सुधार पीटर Norvig के पर आधारित है "कैसे एक वर्तनी पढ़नेवाला लिखें" [1] पैटर्न पुस्तकालय में लागू किया। यह लगभग 70% सटीक

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