擅长:python、mysql、java
<p>我不认为这是一个编程挑战,但看起来更像一个NLP挑战本身。拼写变化通常是预处理过程中遇到的一个障碍</p>
<p>我建议您使用基于<a href="https://en.wikipedia.org/wiki/Edit_distance" rel="nofollow noreferrer">Edit-distance</a>的方法来识别允许某些变体的词对。特别是对于您上面描述的问题,我建议使用“<a href="https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance" rel="nofollow noreferrer">Jaro Winkler Distance</a>”。这种方法允许在单词对之间给出更高的相似度,以显示特定字符对之间的变化,比如y和i</p>
<p>所有这些方法都在<a href="https://pypi.org/project/jellyfish/" rel="nofollow noreferrer">Jellyfish library</a>中实现。
你也可以看看<a href="https://github.com/seatgeek/fuzzywuzzy" rel="nofollow noreferrer">fuzzywuzzy package</a>。希望这有帮助</p>