myspacee Posted June 9, 2009 Share Posted June 9, 2009 Hello to all,un these days a take again my Spellchecker project. It use some pubblic resources (open office dictionaries)and take part of my other scripts.I'm here to ask if is possbile to script a common spellchecker feature. A program that return 'similar' words.For me similar concept describe this :- missing letters [friendshp]- mispelled letters [frientship]- more letters than [friendshiip]my task is return all word (of given list) that contain most letter possible of given one.Nice test concept can be done here: http://www.spellchecker.net/spellcheck/where form, on mispelled word, return suggestion.Thak you for any reply,m. Link to comment Share on other sites More sharing options...
myspacee Posted June 9, 2009 Author Share Posted June 9, 2009 Think to have sort of solution for my problem.Change approach.First attempt to implement Soundex a phonetic algorithms which can find similar sounding terms and names. A Soundex search algorithm takes a written word, such as a person's name, as input and produces a character string that identifies a set of words that are (roughly) phonetically alike.Try to implement "The Soundex Algorithm" :expandcollapse popup#include <string.au3> ;~ The Soundex Algorithm ;~ 1. Capitalize all letters in the word and drop all punctuation marks. Pad the word with rightmost blanks as needed during each procedure step. ;~ 2. Retain the first letter of the word. ;~ 3. Change all occurrence of the following letters to '0' (zero): ;~ 'A', E', 'I', 'O', 'U', 'H', 'W', 'Y'. ;~ 4. Change letters from the following sets into the digit given: ;~ * 1 = 'B', 'F', 'P', 'V' ;~ * 2 = 'C', 'G', 'J', 'K', 'Q', 'S', 'X', 'Z' ;~ * 3 = 'D','T' ;~ * 4 = 'L' ;~ * 5 = 'M','N' ;~ * 6 = 'R' ;~ 5. Remove all pairs of digits which occur beside each other from the string that resulted after step (4). ;~ 6. Remove all zeros from the string that results from step 5.0 (placed there in step 3) ;~ 7. Pad the string that resulted from step (6) with trailing zeros and return only the first four positions, which will be of the form <uppercase letter> <digit> <digit> <digit>. $answer = InputBox("Question", "What your name ?", "Robert", "", -1, -1, 0, 0) ;-------------------------------------------------------- char CONVERSION $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "!", " ") $answer = StringReplace($answer, chr(34), " ") $answer = StringReplace($answer, "#", " ") $answer = StringReplace($answer, "$", " ") $answer = StringReplace($answer, "%", " ") $answer = StringReplace($answer, "&", " ") $answer = StringReplace($answer, "'", " ") $answer = StringReplace($answer, "(", " ") $answer = StringReplace($answer, ")", " ") $answer = StringReplace($answer, "*", " ") $answer = StringReplace($answer, "+", " ") $answer = StringReplace($answer, ",", " ") $answer = StringReplace($answer, "-", " ") $answer = StringReplace($answer, ".", " ") $answer = StringReplace($answer, "/", " ") $answer = StringReplace($answer, ";", " ") $answer = StringReplace($answer, "<", " ") $answer = StringReplace($answer, "=", " ") $answer = StringReplace($answer, ">", " ") $answer = StringReplace($answer, "?", " ") $answer = StringReplace($answer, "@", " ") $answer = StringReplace($answer, ":", " ") $answer = StringReplace($answer, "[", " ") $answer = StringReplace($answer, "\", " ") $answer = StringReplace($answer, "]", " ") $answer = StringReplace($answer, "^", " ") $answer = StringReplace($answer, "_", " ") $answer = StringReplace($answer, "`", " ") $answer = StringReplace($answer, "{", " ") $answer = StringReplace($answer, "}", " ") $answer = StringReplace($answer, "~", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "¡", " ") $answer = StringReplace($answer, "¢", " ") $answer = StringReplace($answer, "£", " ") $answer = StringReplace($answer, "¤", " ") $answer = StringReplace($answer, "¥", " ") $answer = StringReplace($answer, "¦", " ") $answer = StringReplace($answer, "§", " ") $answer = StringReplace($answer, "¨", " ") $answer = StringReplace($answer, "©", " ") $answer = StringReplace($answer, "ª", " ") $answer = StringReplace($answer, "«", " ") $answer = StringReplace($answer, "¬", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "®", " ") $answer = StringReplace($answer, "¯", " ") $answer = StringReplace($answer, "°", " ") $answer = StringReplace($answer, "±", " ") $answer = StringReplace($answer, "²", " ") $answer = StringReplace($answer, "³", " ") $answer = StringReplace($answer, "´", " ") $answer = StringReplace($answer, "µ", " ") $answer = StringReplace($answer, "¶", " ") $answer = StringReplace($answer, "·", " ") $answer = StringReplace($answer, "¸", " ") $answer = StringReplace($answer, "¹", " ") $answer = StringReplace($answer, "º", " ") $answer = StringReplace($answer, "»", " ") $answer = StringReplace($answer, "¼", " ") $answer = StringReplace($answer, "½", " ") $answer = StringReplace($answer, "¾", " ") $answer = StringReplace($answer, "¿", " ") $answer = StringReplace($answer, "×", " ") $answer = StringReplace($answer, "Þ", " ") $answer = StringReplace($answer, "ß", " ") $answer = StringReplace($answer, "÷", " ") $answer = StringReplace($answer, "ø", " ") $answer = StringReplace($answer, "þ", " ") $answer = StringReplace($answer, "|", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, "", " ") $answer = StringReplace($answer, " ", " ") $answer = StringReplace($answer, "0", "") $answer = StringReplace($answer, "1", "") $answer = StringReplace($answer, "2", "") $answer = StringReplace($answer, "3", "") $answer = StringReplace($answer, "4", "") $answer = StringReplace($answer, "5", "") $answer = StringReplace($answer, "6", "") $answer = StringReplace($answer, "7", "") $answer = StringReplace($answer, "8", "") $answer = StringReplace($answer, "9", "") $answer = StringReplace($answer, " ", "") $answer = StringReplace($answer,"á", "A") $answer = StringReplace($answer,"à", "A") $answer = StringReplace($answer,"â", "A") $answer = StringReplace($answer,"ä", "A") $answer = StringReplace($answer,"ã", "A") $answer = StringReplace($answer,"å", "A") $answer = StringReplace($answer,"æ", "A") $answer = StringReplace($answer,"b", "B") $answer = StringReplace($answer,"c", "C") $answer = StringReplace($answer,"ç", "C") $answer = StringReplace($answer,"d", "D") $answer = StringReplace($answer,"ð", "O") $answer = StringReplace($answer,"e", "E") $answer = StringReplace($answer,"é", "E") $answer = StringReplace($answer,"è", "E") $answer = StringReplace($answer,"ê", "E") $answer = StringReplace($answer,"ë", "E") $answer = StringReplace($answer,"í", "I") $answer = StringReplace($answer,"ì", "I") $answer = StringReplace($answer,"î", "I") $answer = StringReplace($answer,"ï", "I") $answer = StringReplace($answer,"ñ", "N") $answer = StringReplace($answer,"ó", "O") $answer = StringReplace($answer,"ò", "O") $answer = StringReplace($answer,"ô", "O") $answer = StringReplace($answer,"ö", "O") $answer = StringReplace($answer,"õ", "O") $answer = StringReplace($answer,"ø", "O") $answer = StringReplace($answer,"", "O") $answer = StringReplace($answer,"", "S") $answer = StringReplace($answer,"ú", "U") $answer = StringReplace($answer,"ù", "U") $answer = StringReplace($answer,"û", "U") $answer = StringReplace($answer,"ü", "U") $answer = StringReplace($answer,"ý", "Y") $answer = StringReplace($answer,"ÿ", "Y") $answer = StringReplace($answer,"", "Z") $answer = StringReplace($answer,"", "Z") $answer = StringReplace($answer, " ", "") ;remove spaces $answer = StringUpper($answer) ; uppercase all ;-------------------------------------------------------- split string $BOSS_letter = stringleft($answer,1) $other_letters = StringMid($answer, 2) ;-------------------------------------------------------- LETTERs sobstitution ;~ * 0 = 'A', E', 'I', 'O', 'U', 'H', 'W', 'Y'. $other_letters = StringReplace($other_letters ,"A", "0") $other_letters = StringReplace($other_letters ,"E", "0") $other_letters = StringReplace($other_letters ,"I", "0") $other_letters = StringReplace($other_letters ,"O", "0") $other_letters = StringReplace($other_letters ,"U", "0") $other_letters = StringReplace($other_letters ,"H", "0") $other_letters = StringReplace($other_letters ,"W", "0") $other_letters = StringReplace($other_letters ,"Y", "0") ;~ * 1 = 'B', 'F', 'P', 'V' $other_letters = StringReplace($other_letters ,"B", "1") $other_letters = StringReplace($other_letters ,"F", "1") $other_letters = StringReplace($other_letters ,"P", "1") $other_letters = StringReplace($other_letters ,"V", "1") ;~ * 2 = 'C', 'G', 'J', 'K', 'Q', 'S', 'X', 'Z' $other_letters = StringReplace($other_letters ,"C", "2") $other_letters = StringReplace($other_letters ,"G", "2") $other_letters = StringReplace($other_letters ,"J", "2") $other_letters = StringReplace($other_letters ,"K", "2") $other_letters = StringReplace($other_letters ,"Q", "2") $other_letters = StringReplace($other_letters ,"S", "2") $other_letters = StringReplace($other_letters ,"X", "2") $other_letters = StringReplace($other_letters ,"Z", "2") ;~ * 3 = 'D','T' $other_letters = StringReplace($other_letters ,"D", "3") $other_letters = StringReplace($other_letters ,"T", "3") ;~ * 4 = 'L' $other_letters = StringReplace($other_letters ,"L", "4") ;~ * 5 = 'M','N' $other_letters = StringReplace($other_letters ,"M", "5") $other_letters = StringReplace($other_letters ,"N", "5") ;~ * 6 = 'R' $other_letters = StringReplace($other_letters ,"R", "6") ;-------------------------------------------------------- remove pair $other_letters = StringReplace($other_letters ,"AA", "A") $other_letters = StringReplace($other_letters ,"BB", "B") $other_letters = StringReplace($other_letters ,"CC", "C") $other_letters = StringReplace($other_letters ,"DD", "D") $other_letters = StringReplace($other_letters ,"EE", "E") $other_letters = StringReplace($other_letters ,"FF", "F") $other_letters = StringReplace($other_letters ,"GG", "G") $other_letters = StringReplace($other_letters ,"HH", "H") $other_letters = StringReplace($other_letters ,"II", "I") $other_letters = StringReplace($other_letters ,"JJ", "J") $other_letters = StringReplace($other_letters ,"KK", "K") $other_letters = StringReplace($other_letters ,"LL", "L") $other_letters = StringReplace($other_letters ,"MM", "M") $other_letters = StringReplace($other_letters ,"NN", "N") $other_letters = StringReplace($other_letters ,"OO", "O") $other_letters = StringReplace($other_letters ,"PP", "P") $other_letters = StringReplace($other_letters ,"QQ", "Q") $other_letters = StringReplace($other_letters ,"RR", "R") $other_letters = StringReplace($other_letters ,"SS", "S") $other_letters = StringReplace($other_letters ,"TT", "T") $other_letters = StringReplace($other_letters ,"UU", "U") $other_letters = StringReplace($other_letters ,"VV", "V") $other_letters = StringReplace($other_letters ,"WW", "W") $other_letters = StringReplace($other_letters ,"XX", "X") $other_letters = StringReplace($other_letters ,"YY", "Y") $other_letters = StringReplace($other_letters ,"ZZ", "Z") ;-------------------------------------------------------- Remove all zeros $other_letters = StringReplace($other_letters ,"0", "") ;--------------------------------------------------------;remove spaces $other_letters = StringReplace($other_letters, " ", "") ;-------------------------------------------------------- ASSEMBLE Soundex CODE $NEW_answer = $BOSS_letter & StringLeft($other_letters & "00000" ,3) ;-------------------------------------------------------- return Soundex CODE msgbox(0,"",$NEW_answer)I must change my wordlist and put near my word pre-calculated Soundex keyAutoit;A330So i can open door to suggestion feature in my spellchecker script.And if this can't worcs i laern neuw staaf ... m. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now