Как сравнить предложение в списке со всем предложением, появившимся после него в Python? - PullRequest
0 голосов
/ 07 июня 2018

У меня есть список из 1200 предложений.Я хочу вычислить коэффициент Жакара предложения в списке со всеми другими предложениями после него.Как и send1 будет сравниваться с sent2,3, ... Затем sent2 с sent3,4, ... У меня уже есть функция, которая принимает 2 набора и возвращает коэффициент Джакарда.Я просто хочу знать, как писать циклы python для описанного выше сценария.

list_question=[] #This List is later filled with sentences from a file

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

# ....Here i want to write the loop to compute the jaccard of sentences as explained in the question

Я хочу сформировать группу предложений, которые похожи на основе оценки Жакара Коффа> 0.5

Спасибо

1 Ответ

0 голосов
/ 07 июня 2018

Вы можете использовать itertools.combination следующим образом:

import itertools

def do_some_stuff(first, second):
    print('comapring', first, 'to', second)

sentences_list = ['fisrt', 'second', 'third', 'forth']
combinations = itertools.combinations(sentences_list, 2)
for first, second in combinations:
    do_some_stuff(first, second)

Приведенный выше фрагмент кода даст вам такой вывод:

comapring fisrt to second
comapring fisrt to third
comapring fisrt to forth
comapring second to third
comapring second to forth
comapring third to forth
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...