Я пытаюсь построить что-то, что я прочитал в газете.В этой статье он представил частоту синхронизации - обратную частоту документов (SF-IDF)
Согласно документу:
SF-IDF works in the same way as TF-IDF does, with the
difference that t is now replaced by s, where s is not a word
but a synset instead. This means that we consider two words
with the same meaning as one and the same synset. The SFIDF formula for similarity is:
sf − idf(s, d) = tf(s, d) × idf(s, d).
Я понимаю, как это работает в основном,но я не уверен, как частота sysnet должна быть реализована.
У меня есть функция, которая определяет, находятся ли два слова в одной и той же системной сети:
def are_same_synset(word1, word2):
word1_set = set(wn.synsets(word1))
word2_set = set(wn.synsets(word2))
common_synset = word1_set.intersection(word2_set)
return common_synset
Интересно, как определить s
в этом случае.Прямо сейчас мы сначала посчитаем частоты всех слов в документах.Кажется, что мы должны объединить слова в синтаксис, но не уверены, что это то, что указано в документе.
Любая помощь или мысли?