Text completion: Difference between revisions

Content added Content deleted
m (add percentages)
Line 136: Line 136:
Words at Levenshtein distance of 4 (60% similarity) from "complition":
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"]
["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>
</pre>