Нахождение нечеткого среднего отношения определенных слов в текстовом файле
Я пытаюсь найти нечеткое соотношение между определенными словами в текстовом файле и получить его среднее значение.
Я написал код, который найдет нечеткое соотношение всех строк в текстовом файле с "привет", но не определенными словами. Я хотел найти нечеткое отношение только между определенными словами, которые представлены ниже в форме регулярных выражений.
Моя кодировка:
s1='hello'
def good_ratio(a):
return fuzz.token_set_ratio(a, s1)
with open(dir_entry_path, 'r') as my_file:
try:
my_sum, my_len = reduce(lambda a, b: (a[0]+b[0], a[1]+b[1]), ((good_ratio(i), 1) for i in my_file))
except TypeError: # file empty, move to next file
continue
fuzzinessav=(my_sum/my_len)
Предположим, что мой файл содержит определенные слова, которые можно получить с помощью шаблонов regex: regex для получения конкретных слов из моего файла:
r'(?:see[.](\w+))' when lines with : see.me ->takes 'me'
r'(?:here (\w+))' when lines with : here we ->takes 'we'
текстовый файл:
Hello how are you!
did you see.him
of course he was here with me
ok then bye
Мой код находит нечеткие соотношения с каждой строкой, а затем находит нечеткое соотношение каждой строки, а затем принимает среднее значение.
Но мне нужно было таким образом, чтобы определенные слова из шаблонов регулярных выражений создавались отдельно, чтобы найти нечеткое соотношение, а не всю строку. Вот некоторые слова: him , with
Затем мне нужно найти среднее значение нечеткого отношения.
Помогите, пожалуйста, добавить шаблоны регулярных выражений и найти нечеткое соотношение определенных слов, а не всех строк.