【发布时间】:2020-09-18 05:51:37
【问题描述】:
考虑以下示例:
-
示例 1:
str1 = "wow...it looks amazing" str2 = "looks amazi"您看到
amazi接近amazing,str2输入错误,我想编写一个程序告诉我amazi接近amazing然后在str2我将替换amazi与amazing -
示例 2:
str1 = "is looking good" str2 = "looks goo"在这种情况下,更新后的
str2将是"looking good" -
示例 3:
str1 = "you are really looking good" str2 = "lok goo"在这种情况下,
str2将是"good",因为lok不接近looking(或者即使程序可以在这种情况下将lok转换为looking,那么这对于我的问题的解决方案来说很好) -
示例 4:
str1 = "Stu is actually SEVERLY sunburnt....it hurts!!!" str2 = "hurts!!"更新后的
str2将是"hurts!!!" -
示例 5:
str1 = "you guys were absolutely amazing tonight, a..." str2 = "ly amazin"更新的
str2将是"amazing","ly"将被完全删除或替换。
这将是什么算法和代码?
也许我们可以通过按字典顺序查看字符并设置一个
阈值如 0.8 或 80% 所以如果 word2 从 str1 获得 80% 的 word1 连续字符,那么我们将 str2 中的 word2 替换为 str1 的单词?
请问还有其他有效的python代码解决方案吗?
【问题讨论】:
-
python 包pypi.org/project/fuzzywuzzy 可能就是你要找的。span>
-
你应该使用贝叶斯网络来完成这项任务,因为找到正确的世界是一个概率问题
-
那个包显示比例?我想检查我们在哪里有一个非常接近但不完全相同的单词,此时只需简单地替换为原始单词,您可以发布您的解决方案代码作为答案吗?如果它通过所有测试用例我会接受
标签: python python-3.x string pattern-matching stop-words