How to correct text and return the corrected text automatically with PyEnchant

后端 未结 3 446
忘了有多久
忘了有多久 2021-01-13 10:20
import enchant
import wx
from enchant.checker import SpellChecker
from enchant.checker.wxSpellCheckerDialog import wxSpellCheckerDialog
from enchant.checker.CmdLineC         


        
相关标签:
3条回答
  • 2021-01-13 10:45

    For my purposes, the level of automation you provided here was too risky -- the words were going to include proper nouns -- so I built a bit more of a check into the system.

    I'm appending the corrections for a file-write later in the process.

    Thought this would be helpful for others as the documentation wasn't quite sufficient for me...

    for data_field in fields:
        checker.set_text(str(data_field))
        for err in checker:
            print err.word
            print err.suggest()
            correct = raw_input("provide 0-index int of correct word or i to ignore, e to edit ")
            if correct == 'i':
                pass
            elif correct == 'e':
                suggest = raw_input("")
                err.replace(suggest)
            else:
                correct = int(correct)
                suggest = err.suggest()[correct]
                err.replace(suggest)
        corrected_text.append(checker.get_text())
    
    0 讨论(0)
  • 2021-01-13 10:48

    Actually I am not familiar with python and the libraries you describe but the general approach to correct text is using a dictionary approach. This means in other words, that you check if a word is included in a French dictionary (or a list of French words) and if it is the case, the word is correct, otherwise use the word from the dictionary.

    0 讨论(0)
  • 2021-01-13 11:06
    a = "Ceci est un text avec beuacuop d'ereurs et pas snychro"
    chkr = enchant.checker.SpellChecker("fr_FR")
    chkr.set_text(a)
    for err in chkr:
        print err.word
        sug = err.suggest()[0]
        err.replace(sug)
    
    c = chkr.get_text()#returns corrected text
    print c
    

    Works exactly as I was intending to have it work. Add Filters and corrects all small text automatically enabling you to perform keyword searches etc...

    Took me 13hrs to figure out ;(

    0 讨论(0)
提交回复
热议问题