Overview
Comment: | [core][py] comments for spell suggestion engine |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | core |
Files: | files | file ages | folders |
SHA3-256: |
6edb221239a6d579aa8857c46ef396eb |
User & Date: | olr on 2017-09-13 09:55:34 |
Other Links: | manifest | tags |
Context
2017-09-13
| ||
12:56 | [core] ibdawg: suggest() try by removing chars check-in: 0346ff5361 user: olr tags: trunk, core | |
09:55 | [core][py] comments for spell suggestion engine check-in: 6edb221239 user: olr tags: trunk, core | |
2017-09-12
| ||
21:17 | [fr] màj: locutions considérées comme prépositions check-in: ba9c538626 user: olr tags: trunk, fr | |
Changes
Modified gc_core/py/ibdawg.py from [9237f7174c] to [a443118d5b].
︙ | |||
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | + + | def suggest (self, sWord, nMaxSugg=10): "returns a set of suggestions for <sWord>" # first, we check for similar words #return self._suggestWithCrushedUselessChars(cp.clearWord(sWord)) aSugg = self._suggest(sWord) if not aSugg: print("try without first char") aSugg.update(self._suggest(sWord[1:])) if not aSugg: print("crush useless chars") aSugg.update(self._suggestWithCrushedUselessChars(cp.clearWord(sWord))) return sorted(aSugg, key=lambda sSugg: cp.distanceBetweenWords(sWord, sSugg)) def _suggest (self, sRemain, nDeep=0, iAddr=0, sNewWord="", bAvoidLoop=False): "returns a set of suggestions" # recursive function aSugg = set() |
︙ | |||
274 275 276 277 278 279 280 281 282 283 284 285 286 287 | 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | + | "generator: yield similar char of <cChar> and address of the following node" for nVal, jAddr in self._getArcs(iAddr): if self.dCharVal.get(nVal, None) in cp.aVovels: yield (self.dCharVal[nVal], jAddr) yield from self._getSimilarArcs(cChar, iAddr) def drawPath (self, sWord, iAddr=0): "show the path taken by <sWord> in the graph" cChar = sWord[0:1] if sWord else " " iPos = -1 n = 0 print(cChar + ": ", end="") for nVal, jAddr in self._getArcs(iAddr): if nVal in self.dCharVal: print(self.dCharVal[nVal], end="") |
︙ |