2014-04-26 11 views
5

का उपयोग कर ओसीआर से अनजान शब्दों को टोकन करना I पीडीएफ फाइलों से निकाले गए कुछ पाठ को संसाधित करने के लिए एनएलटीके का उपयोग कर रहा हूं। मैं टेक्स्ट को ज्यादातर बरकरार रख सकता हूं, लेकिन ऐसे कई उदाहरण हैं जहां शब्दों के बीच की जगहें कैप्चर नहीं की जाती हैं, इसलिए मुझे if I, या के बजाय that position, या andhe's के बजाय and he's के बजाय शब्द मिलते हैं।एनएलटीके

मेरा प्रश्न यह है: मैं उन शब्दों को देखने के लिए एनएलटीके का उपयोग कैसे कर सकता हूं जो इसे पहचान नहीं पा रहे हैं/नहीं सीखा है, और देखें कि क्या "पास" शब्द संयोजन हैं जो अधिक होने की संभावना है? क्या इस तरह के चेक को लागू करने के लिए एक और अधिक शानदार तरीका है, जो कि अज्ञात शब्द, एक समय में एक चरित्र, इसे विभाजित करने और देखने के लिए कि क्या यह दो पहचानने योग्य शब्द बनाता है?

उत्तर

4

मैं सुझाव दूंगा कि आप इसके बजाय pyenchant का उपयोग करने पर विचार करें, क्योंकि यह इस तरह की समस्या के लिए एक अधिक मजबूत समाधान है। आप pyenchant here डाउनलोड कर सकते हैं। यहां एक उदाहरण दिया गया है कि आप इसे इंस्टॉल करने के बाद अपने परिणाम कैसे प्राप्त करेंगे:

>>> text = "IfI am inthat position, Idon't think I will." # note the lack of spaces 
>>> from enchant.checker import SpellChecker 
>>> checker = SpellChecker("en_US") 
>>> checker.set_text(text) 
>>> for error in checker: 
    for suggestion in error.suggest(): 
     if error.word.replace(' ', '') == suggestion.replace(' ', ''): # make sure the suggestion has exact same characters as error in the same order as error and without considering spaces 
      error.replace(suggestion) 
      break 
>>> checker.get_text() 
"If I am in that position, I don't think I will." # text is now fixed 
+1

सुझाव के लिए धन्यवाद, एक वर्तनी जांचकर्ता का उपयोग करने के बारे में सोचा नहीं था। समाधान महान काम करता है, अगर/जब आप पाइन्चेंट स्थापित करते हैं। मुझे पैनेंचर की निर्भरताओं को स्थापित करने में बहुत कठिनाई थी (कोई "पीआईपी इंस्टॉल पायनेंचर" नहीं है)। साइट पर मैक बाइनरीज़ को पायथन 2.5 या 2.6 की आवश्यकता होती है, पायथन पैकेज इंडेक्स पाइथन 2.7 के लिए बाइनरी प्रदान करता है लेकिन इसके लिए होमब्रू पायथन की आवश्यकता होती है। वेबसाइट पर प्रदान किए गए पायनेंट-बिस्ट-ओएसएक्स-स्रोत टैरबॉल में मेकफ़ाइल है जो बार-बार चोक करता है। होमब्रू, और libiconv और स्रोत से enchant का उपयोग कर गेटटेक्स्ट और ग्लिब स्थापित करना समाप्त हो गया, फिर setup.py build/install के साथ pyenchant। – charlesreid1

+0

@ charlesreid1 वाह। मुझे यह जानकर खेद है कि मैक बाइनरी बराबर नहीं हैं। यहां आपकी प्रक्रिया को नोट करने के लिए धन्यवाद। उम्मीद है कि किसी और को यह उपयोगी लगेगा। –