使用difflib在python中搜索单词字典的有效数据结构?

2024-09-27 22:28:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图编写一个拼写检查程序,我想用difflib来实现它。基本上,我有一个添加到标准unix字典(/usr/share/dict/words)的技术术语列表,并将其存储在我调用的文件中词典文件.py. 在

我还有另外一个剧本叫字符串模拟.py在这里我导入字典并根据它测试示例字符串。以下是基本代码:

import os, sys
import difflib
import time
from dictionaryFile import wordList

inputString = "dictiunary" 
print "Search query: "+inputString  
startTime = time.time()

inputStringSplit = inputString.split()
for term in inputStringSplit:
termL = term.lower()
print "Search term: "+term
closeMatches = difflib.get_close_matches(termL,wordList)
if closeMatches[0] == termL: 
    print "Perfect Match"
else:
    print "Possible Matches"
    print "\n".join(closeMatches)

print time.time() - startTime, "seconds"

它返回以下值:

^{pr2}$

我想知道是否有更好的策略可以用来查找相似的匹配项(假设一个单词拼写错误)。我想把Snapam作为这个应用程序的一部分来优化。有没有更好的方法可以构造wordList变量(现在它只是一个单词列表)?在

谢谢。在


Tags: 文件字符串pyimport列表search字典time
1条回答
网友
1楼 · 发布于 2024-09-27 22:28:34

我不确定difflib是否是此类工作的最佳解决方案;通常,拼写检查程序使用某种编辑距离,例如Levenshtein距离。NLTK包括edit distance的实现,我将从这里开始。在

相关问题 更多 >

    热门问题