Python 基于字符的拼写检查
我正在根据上面提到的示例开发n gram拼写检查。尽管算法方法如下所示: 考虑两个字符串“statistics”和“statistic”。如果n设置为2(提取双克),则两个字符串的相似性计算如下: 最初,这两个字符串被分成两个g: 统计数据-ti的st ta为st ti ic cs 9 Bigram 统计-ti处的st ta为st ti ic ca al 10 Bigram 然后在每个字符串中找到唯一的双图 统计数据-在is ti ic cs的st ta(7个唯一的Bigram) 统计-ti处的st ta为ic ca al(8个独特的Bigram) 接下来,找到与这两个术语共享的唯一bi图 有6个这样的双克:ic的st ta是ti 相似性度量使用相似系数计算,公式如下: 相似系数=2*C/A+BPython 基于字符的拼写检查,python,nlp,n-gram,spelling,Python,Nlp,N Gram,Spelling,我正在根据上面提到的示例开发n gram拼写检查。尽管算法方法如下所示: 考虑两个字符串“statistics”和“statistic”。如果n设置为2(提取双克),则两个字符串的相似性计算如下: 最初,这两个字符串被分成两个g: 统计数据-ti的st ta为st ti ic cs 9 Bigram 统计-ti处的st ta为st ti ic ca al 10 Bigram 然后在每个字符串中找到唯一的双图 统计数据-在is ti ic cs的st ta(7个唯一的Bigram) 统计-ti处的
A - unique n-grams in term 1.
B - unique n-grams in term 2.
C - unique n-grams appearing in term 1 and term 2.
上述示例将产生结果(2*6)/(7+8)=0.80。相似度越高,更正的词就越相关
我的程序示例输出如下所示:
Enter a word: ttem
temp : 0.5
stem : 0.5
items : 0.4444444444444444
item : 0.5
我如何在其中选择最有可能的候选人。我希望你能提供一些解决办法。希望见到你们。基于ngram,没有首选的修正选项。 有些拼写检查器确实提供多重更正。
如果你想选择一个,你可以考虑为选择添加其他规则,比如Levenshtein距离——单词之间的单个字符编辑的最小数量,或者为每个字母给出显著的分数(例如使Z值很多,E值更少,因为Z不太可能被错误地写入)。.谢谢你,伙计。你能用一些例子详细说明一下给重要性评分吗?基于这篇文章,你可以在其中看到分数: