我真的是python的新手,我想知道是否输入了文本,我可以使用sequencematcher检查文本中是否包含某个单词或另一个80%相似或更高的单词。
例如,如果要检查的单词是“ circumflex ”,而文字是:
“在解剖学中,旋流描述了一种弯曲的结构 像弓一样。”
它将检测为90%匹配,然后执行某些操作,否则,如果文本为:
“在解剖学中, cercimflux 描述了一种弯曲的结构 像弓一样。”
这将是70%的比赛,什么也不做。
这可能吗?
答案 0 :(得分:0)
尝试这个很棒的软件包fuzzywuzzy
它的工作原理类似于-
from fuzzywuzzy import fuzz
fuzz.ratio("this is a test", "this is a test!")
输出-97
答案 1 :(得分:0)
基于ThatBird的模糊建议,加上我自己的补充内容,以检查每个单词。
from fuzzywuzzy import fuzz
my_string = "this is a test"
comparisons = []
for x in my_string:
comparisons.append(fuzz.ratio(x, "test!"))
print sum(i > 70 for i in comparisons) #Based on previous example test! would be 97%
Output: 1 #as test was a 97% match
此外,您还可以保存要比较的单词和比较值,以使它们可以进一步使用。