Как я могу узнать по сходству, какая конкретная строка включена в предложение?

#python

Вопрос:

Как я могу узнать по сходству, какая конкретная строка включена в предложение??


  • например..

пример) предложение : Сообщество здесь для того, чтобы помочь вам с конкретными проблемами кодирования, алгоритма или языка.

конкретная строка : алгоритм

  • после пробега

сходство : 0,8248242 (алгоритм — алгоритм)


Теперь я использую Python и jellyfish. Я планирую проверить тему письма в Outlook и классифицировать ее на основе определенного списка строк.

Помоги мне……………..

Комментарии:

1. Какого рода сходство?

2. Да, откуда взялся этот номер 0.8248242 ?

3. Число 0,8248242-это всего лишь примерное значение.

4. Я хочу знать сходство отношений включения между предложением и конкретной строкой.

Ответ №1:

Попробуй это ?

 import string from difflib import SequenceMatcher  def similarity(a, b): # EDIT WITH YOU OWN SIMILARITY OF NOT CORRECT  return SequenceMatcher(None, a, b).ratio()  def max_similar(sentence, string_to_find):  result = ["", 0]  # Remove punctuation  sentence = sentence.translate(str.maketrans('', '', string.punctuation))  # split to list  sentence = sentence.split()  for word in sentence:  coeff = similarity(word, string_to_find)  if coeff gt; result[1]:  result[0] = word  result[1] = coeff  return result  print(max_similar("The community is here to help you with specific coding, algorithm, or language problems.", "algorism"))  

Результат :

 ['algorithm', 0.8235294117647058]  

Комментарии:

1. Я просто использовал ваш код, но результат был совсем другим. предложение : Сообщество здесь, чтобы помочь вам с конкретными проблемами кодирования, алгоритма или языка. слово : алгоритм результат : [‘алгоритм’, 0,18556701030927836]

2. Какова ваша версия python? Обновите метод подобия своим собственным методом сравнения 😉