Text completion: Difference between revisions

m (add percentages)
Line 136:
Words at Levenshtein distance of 4 (60% similarity) from "complition":
["collection", "combination", "commission", "comparison", "compensation", "competing", "competitive", "complaint", "complete", "completed", "completely", "complexity", "compliance", "compliant", "compression", "computing", "conclusion", "conditions", "connection", "convention", "conviction", "cooperation", "corporation", "correction", "correlation", "corruption", "nomination", "opinion", "opposition", "option", "pollution", "population", "position", "simulation", "solution"]
</pre>
 
=={{header|Phix}}==
{{trans|Julia}}
uses levenshtein() from [[Levenshtein_distance#Phix]]
<lang Phix>string word = "complition"
integer fn = open(join_path({"demo","unixdict.txt"}),"r")
sequence words = get_text(fn,GT_LF_STRIPPED)
close(fn)
function lt(string w, integer n)
--function lt(string w, sequence nw) -- alt...
-- {integer n, string word} = nw -- ...""
return levenshtein(w,word)=n
end function
for n=1 to 4 do
printf(1,"Words at Levenshtein distance of %d (%g%% similarity) from \"%s\": \n%s\n",
{n,100-round(100*n/length(word)),word,join_by(filter(words,lt,n),1,6)})
-- ..."" {n,100-round(100*n/length(word)),word,join_by(filter(words,lt,{n,word}),1,6)})
end for</lang>
{{out}}
<pre>
Words at Levenshtein distance of 1 (90% similarity) from "complition":
completion
 
Words at Levenshtein distance of 2 (80% similarity) from "complition":
coalition competition compilation complexion composition
 
Words at Levenshtein distance of 3 (70% similarity) from "complition":
cognition collision combustion commotion companion compassion
complain complicity compton compulsion compunction computation
condition contrition demolition incompletion volition
 
Words at Levenshtein distance of 4 (60% similarity) from "complition":
abolition admonition ambition ammunition campion caption
collusion combination commission communion compactify comparison
compatriot competitive competitor complaint complete compliant
complicate compliment compline compositor compression conception
concision conclusion concretion congestion consolation contention
convention convolution corruption cotillion decomposition depletion
dominion gumption implosion imposition munition oblivion
opinion opposition option pollution position simpleton
soliton solution sorption templeton temptation tomlinson
</pre>
 
7,818

edits