Я собираю словарь хештега в твиттере, используя Python. Ключами является сам хэштег, и соответствующая запись представляет собой большую коллекцию твитов, которые содержат этот хэштег, добавленный в конец. У меня есть отдельный список всех твитов без хэштегов, и я добавляю их в словарные статьи в соответствии с косинусным сходством. Все работает, но ОЧЕНЬ медленно (несколько часов на 4000 твитов). Вложенные циклы for дают мне время выполнения O (N ^ 2). У кого-нибудь есть какие-либо идеи о том, как я могу улучшить свое время выполнения? Любые предложения будут с благодарностью!
taglessVects = normalize(vectorizer.transform(needTags))
dictVects = normalize(vectorizer.transform(newDict))
#newDict contains: newDict[hashtag]: "tweets that used that hashtag"
#needTags is a list of all the tweets that didn;t use a hashtag
for dVect, entry in zip(dictVects, newDict):
for taglessVect, tweet in zip(taglessVects, needTags):
if cosine_similarity(taglessVect, dVect) > .9:
newDict[entry] = newDict[entry] + ' ' + tweet
return newDict