2012-07-07 17 views
8

मेरे पास एक टीएसवी (टैब-पृथक मान) फ़ाइल है जिसे मुझे गलत वर्तनी और संयुक्त शब्दों (यानी 'मैं तुमसे प्यार करता हूं' बनाम 'Iloveyou') के लिए वर्तनी-जांच करने की आवश्यकता है।स्वत: सुधार वर्तनी परीक्षक

मैंने अपनी मशीन पर Aspell स्थापित किया है और इसे aspell() फ़ंक्शन का उपयोग करके आर के माध्यम से चला सकता है।

files <- "train2.tsv" 
res <- aspell(files) 
str(res) 
summary(res) 

हालांकि, आर में इसे चलाने से आउटपुट गलत वर्तनी वाले शब्दों और संभावित सुझावों की एक सूची है।

> summary(res) 
Possibly mis-spelled words: 
[1] "amant"  "contaneir" "creat"  "ddition"  "EssaySet"  "EssayText" "experiament" "expireiment" "expirement" 
[10] "Fipst"  "infomation" "Inorder"  "measureing" "mintued"  "neccisary" "officialy" "renuminering" "rinsen"  
[19] "sticlenx"  "sucessfully" "tipe"   "vineager"  "vinigar"  "yar" 

> str(res) 
Classes ‘aspell’ and 'data.frame':  27 obs. of 5 variables: 
$ Original : chr "EssaySet" "EssayText" "expirement" "expireiment" ... 
$ File  : chr "train2.tsv" "train2.tsv" "train2.tsv" "train2.tsv" ... 
$ Line  : int 1 1 3 3 3 3 3 3 6 6 ... 
$ Column  : int 4 27 27 108 132 222 226 280 120 156 ... 
$ Suggestions:List of 27 
    ..$ : chr "Essay Set" "Essay-Set" "Essayist" "Essays" ... 
    ..$ : chr "Essay Text" "Essay-Text" "Essayist" "Sedatest" ... 
    ..$ : chr "experiment" "excrement" "excitement" "experiments" ... 
    ..$ : chr "experiment" "experiments" "experimenter" "excrement" ... 
    ..$ : chr "Amandy" "am ant" "am-ant" "Amanda" ... 
    ..$ : chr "year" "ya" "Yard" "yard" ... 

क्या एस्पेल (या कोई अन्य वर्तनी जांचकर्ता) स्वचालित रूप से गलत वर्तनी वाले शब्दों को सही करने का तरीका है?

उत्तर

8

ऐसा लगता है कि आप निम्न कर सकते हैं: प्रलेखन अधिक

s = load_up_users_dictionary() 

for word in text_to_check: 
    if word not in s: 
     new_words = s.suggest(word) 
     replace_incorrect_word(word, new_words[0])#Pick the first word from the returned list. 

बस एक नज़र और है कि आप स्वचालित रूप से सुझाव सही वर्तनी का उपयोग करने के लिए क्या करना होगा क्या तरह दिखता है।

http://0x80.pl/proj/aspell-python/index-c.html

संपादित करें: एहसास है कि आप अजगर कोड की तलाश नहीं किया जा सकता है, लेकिन इस अजगर के साथ यह करने के लिए के रूप में प्रश्न अजगर के साथ टैग किया गया था सबसे आसान तरीका होगा। ऐसा करने का शायद एक और अधिक कुशल तरीका है, लेकिन देर हो रही है और यह पहले दिमाग में आया।

+0

मैंने पायथन टैग किया क्योंकि मुझे पता है कि एनएलपी के लिए कुछ अच्छी पुस्तकालय हैं और यह पता चला है कि आर में कुछ भी नहीं होने पर यह अच्छा बैक अप होगा। धन्यवाद। – screechOwl

+0

ठीक है, उस अर्थ में उपरोक्त यह करने का एक आसान तरीका है, संभवतः दस्तावेज में एक छिपी मणि है जो आपको वही करेगा जो आपको चाहिए। – sean

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