Python :Расстояние Жаккара с использованием пересечения слов, но не пересечения символов

Я не осознавал, что эта функция set Python фактически разделяет строку на отдельные символы. Я написал функцию Python для Jaccard и использовал метод пересечения Python. Я передал два набора в этот метод, и перед передачей двух наборов в мою функцию жаккарда я использую функцию набора для setring.

пример :предположим, что у меня есть строка NEW Fujifilm 16MP 5x Optical Zoom Point and Shoot CAMERA 2 7 screen.jpg, я бы назвал set(NEW Fujifilm 16MP 5x Optical Zoom Point and Shoot CAMERA 2 7 screen.jpg), которая разделит строку на символы. Поэтому, когда я отправляю его на пересечение функций жаккарда, на самом деле смотрю на пересечение символов, а не на пересечение слов. Как я могу сделать слово в слово пересечение.

#implementing jaccard
def jaccard(a, b):
    c = a.intersection(b)
    return float(len(c)) / (len(a) + len(b) - len(c))

если я не вызываю функцию setдля своей строки NEW Fujifilm 16MP 5x Optical Zoom Point and Shoot CAMERA 2 7 screen.jpg, я получаю следующую ошибку:

    c = a.intersection(b)
AttributeError: 'str' object has no attribute 'intersection'

Вместо пересечения символов я хочу сделать пересечение слов и получить сходство с жаккардом.

8
задан add-semi-colons 11 August 2012 в 01:56
поделиться