У меня есть 2 столбца названий болезней, я должен попытаться подобрать лучшие варианты. Я попытался использовать модуль "SequenceMatcher" и модуль "fuzzywuzzy" в python, и результаты оказались удивительными. Я вставил результаты и мои сомнения ниже:
Учтите, что есть заболевание "новообразования печени", которое мне нужно сопоставить с наилучшим подходящим названием "рак, печень" или "рак, грудь". Теперь очевидно, что, поскольку слово «печень» совпадает, ей следует легко подобрать слово «рак, печень», но этого не происходит. Я хотел бы знать причину и лучший способ соответствовать в Python.
from difflib import SequenceMatcher
s1 = 'liver neoplasms'
s2 = 'cancer, liver'
SequenceMatcher(None, s1, s2).ratio()
# Answer = 0.3571
s2 = 'cancer, breast'
SequenceMatcher(None, s1, s2).ratio()
# Answer = 0.4137
# fuzzy.ratio also has the same results.
Мое сомнение в том, как рак, грудь может быть более подходящим, чем рак, печень. Какой другой метод я могу использовать, чтобы сделать это правильно?
Спасибо :)