У меня есть список строк и строки, которые выглядят следующим образом:
mylist = ["the yam is sweet", "what is the best time to come", "who ate my food", "no empty food on the table", "what can I do to make you happy"] # about 20k data
myString1 = "Is yam a food" # String can be longer than this
myString2 = "should I give you a food"
myString3 = "I am not happy"
Я хочу сравнить каждую из myString с каждой строкой в моем списке и собрать процент сходства в трех разных списках. Таким образом, конечный результат будет выглядеть так:
similar_string1 = [70, 0.5, 50, 55, 2]
similar_string2 = [50, 0.5, 70, 85, 2]
similar_string3 = [20, 15, 0, 5, 80]
Итак, mystring1 будет сравниваться с каждой строкой в mylist и вычислять процентное сходство. То же самое с myString2 и myString3. Затем соберите каждый из этих процентов в список, как показано выше.
Я читал, что можно использовать TF-IDF для векторизации mylist и mystring, а затем использовать косинусное сходство для их сравнения, но я никогда не работаю над чем-то вроде этого раньше, и я буду рад, если у кого-нибудь есть идея, процесс или код, который поможет мне начать работу.
Спасибо