我有一个HTML文档,一个常见拼写错误列表,以及每个案例的正确拼写。
html文档将多达50页,并且有大约30k个拼写更正条目。
什么是更正此HTML文档中所有拼写错误的有效方法?
(注意:我的实现将使用python,以防您知道任何相关的库。)
我想到了两种可能的方法:
建立拼写数据的哈希表
从HTML分析文本
按空格将文本拆分为标记
如果拼写哈希表中的标记替换为更正
使用更新的文本生成新的HTML文档
这种方法将失败,多词拼写修正,这将存在。以下是一种简单但似乎效率较低的方法,适用于多个单词:
迭代拼写数据
在HTML文档中搜索单词
如果单词存在,用修正代替
最佳答案
您是正确的,第一种方法将比第二种方法快得多(另外,我建议您查看Tries而不是直接的散列,对于30000个单词来说,节省的空间将非常巨大)。
为了仍然能够处理多个单词的情况,您可以跟踪上一个令牌,从而检查哈希中是否有组合字符串,如“prev cur”。
或者,您可以将多字更正保留在散列之外,并将两种方法结合起来,首先对单个字使用散列,然后对多字组合进行扫描(反之亦然)。如果多字更正的数量相对较少,这可能还是比较快的。
小心点,拔出单词标记比仅仅在空白处分割要复杂得多。你不想仅仅因为找不到“instence”而无法更正错误,因为你的哈希表中有一个逗号。
关于python - 对HTML文档执行拼写检查的高效算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1957131/