Results 1 to 3 of 3

Thread: Spelling suggestions for wrong spelling

  1. #1
    Join Date
    Jun 2007

    Spelling suggestions for wrong spelling


    I came across this perl script someone wrote for spelling suggestions when someone types a wrong spelling. Can someone please convert it to PHP? It will help a lot of people.

    Source: http://www.norvig.com/spell-correct.html

    import re, collections
    def words(text): return re.findall('[a-z]+', text.lower()) 
    def train(features):
        model = collections.defaultdict(lambda: 1)
        for f in features:
            model[f] += 1
        return model
    NWORDS = train(words(file('big.txt').read()))
    alphabet = 'abcdefghijklmnopqrstuvwxyz'
    def edits1(word):
       s = [(word[:i], word[i:]) for i in range(len(word) + 1)]
       deletes    = [a + b[1:] for a, b in s if b]
       transposes = [a + b[1] + b[0] + b[2:] for a, b in s if len(b)>1]
       replaces   = [a + c + b[1:] for a, b in s for c in alphabet if b]
       inserts    = [a + c + b     for a, b in s for c in alphabet]
       return set(deletes + transposes + replaces + inserts)
    def known_edits2(word):
        return set(e2 for e1 in edits1(word) for e2 in edits1(e1) if e2 in NWORDS)
    def known(words): return set(w for w in words if w in NWORDS)
    def correct(word):
        candidates = known([word]) or known(edits1(word)) or known_edits2(word) or [word]
        return max(candidates, key=NWORDS.get)

  2. #2
    Join Date
    Jun 2007
    Just in case that looks like I am trying to get some kind-hearted people to do my work for me , no, it's just that I have no idea of Perl at all (even if I am okay at PHP), and do not have enough time to learn now . I thank anyone for any help.

  3. #3
    Join Date
    Jan 2009
    Have you thought of using a javascript on the clients machine to "Spell Check" before posting data? If you search the net for javascript spell checkers... you will find some on offer.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center