- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在定义条件概率时,他走了一条捷径:
So I took a shortcut: I defined a trivial model that says all known words of edit distance 1 are infinitely more probable than known words of edit distance 2, and infinitely less probable than a known word of edit distance 0. By "known word" I mean a word that we have seen in the language model training data -- a word in the dictionary. We can implement this strategy as follows:
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)
我不明白这段代码是如何实现他的策略的。对我来说,返回的最后一行只是返回具有最高计数/先验的单词,而不是模型中的优先级列表。
以及定义他的字数统计词典:
def train(features):
model = collections.defaultdict(lambda: 1)
for f in features:
model[f] += 1
return model
他为什么不从0开始呢?我的意思是 default_factory 不应该是 (lambda:0) 或 (int) 吗?
谁能解释一下吗?您可以在这里找到完整的文章:http://norvig.com/spell-correct.html
谢谢
最佳答案
优先级列表由或
实现。如果known([word])
是非空集,则其值是表达式的值。如果为空,则右侧
known(edits1(word)) or known_edits2(word) or [word]
已评估。例如
>>> [1, 2, 3] or [4, 5, 6]
[1, 2, 3]
>>> [] or [4, 5, 6]
[4, 5, 6]
Why didn't he start from 0?
那就是 Laplace smoothing 。其实文章里已经解释过了。
关于python - Norvig的拼写检查器,他是如何实现条件概率的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23545901/
Peter Norvig 的著名作品 spellchecker (Java 8 版本 here )能够纠正单个单词,如果训练数据中出现与该单词接近的内容。但是我该如何调整它来处理整个短语。例如,如果我
在彼得诺维格的 PAIP ,第 18.12 节,第。 643(不幸的是不是谷歌图书预览的一部分),他包括二维数组,如: (/ (aref '#2A((.1 .4 .7)
在 Peter Norvig 的人工智能编程范式的练习 1.2 中,要求读者 Write a function to exponentiate, or raise a number to an int
Peter Norvig 的 PAIP 书籍包含此 code作为排列问题的解决方案(为简洁起见,删除了某些部分) (defun permutations (bag) ;; If the input
我看到了 Michael Sparks 对 Peter Norvig's Spell Checker 的非常有趣的剖析在伦敦举行的 SO DevDays 上,这让我想知道是否有人尝试用另一种语言(例如
在阅读 Peter Norvig 的 Python IAQ 时,我遇到了这个代码片段: def _if(test): return lambda alternative: \
我想了解 Peter Norvig 的拼写校正器是如何工作的。 关于他的 jupyter-notebook 标题 here他解释说,如何在没有空格分隔单词的情况下分割字符序列。它工作正常,当顺序中的所
我是一名优秀的程序员,十分优秀!