我正在编写一个嵌套的 for 循环来判断两个单词的发音是否相似。我的代码如下:
wordsDict = nltk.defaultdict(list)
for s1 in prondict[word1]:
for s2 in prondict[word2]:
sm=difflib.SequenceMatcher(None, s1, s2)
if (sm.ratio != 1 and sm.ratio >= 0.6):
#push word2 into the dict with key word1
wordsDict[word1].append(word2)
结果应该是一个名为 wordsDict 的字典。例如键“university”将具有值“anniversary”,因为它们的音素相似(sm.ratio 为 0.66666,大于 0.6),但是当输入为“university”和“good”时,“good”将也可以附加到一个关键的“大学”,但实际上“大学”和“好”的相似度是0.0,小于0.6。看来我的“if”控制语句失败了。如何使“if”语句起作用?