Моя модель gensim выглядит следующим образом:
class MyCorpus(object):
parametersList = []
def __init__(self,dictionary):
self.dictionary=dictionary
def __iter__(self):
#for line in open('mycorpus.txt'):
for line in texts:
# assume there's one document per line, tokens separated by whitespace
yield self.dictionary.doc2bow(line[0].lower().split())
if __name__=="__main__":
texts=[['human human interface computer'],
['survey user user computer system system system response time'],
['eps user interface system'],
['system human system eps'],
['user response time'],
['trees'],
['graph trees'],
['graph minors trees'],
['graph minors minors survey survey survey']]
dictionary = corpora.Dictionary(line[0].lower().split() for line in texts)
corpus= MyCorpus(dictionary)
Частота каждого токена в каждом документе оценивается автоматически.
Я также могу определить модель tf-idf и получить доступ к tf-IDF статистика для каждого токена в каждом документе.
model = TfidfModel(corpus)
Однако я понятия не имею, как подсчитать (с учетом памяти) количество документов, которые возникают с данным словом.Как я могу это сделать? [Конечно ... Я могу использовать значения tf-idf и частоту документа, чтобы оценить это ... Однако я хотел бы оценить это непосредственно из некоторого процесса подсчета]
Например, для первого документа я хотел бы получить somenthing как
[('human',2), ('interface',2), ('computer',2)]
, так как каждый вышеупомянутый токен возникает дважды в каждом документе.
Для второго.
[('survey',2), ('user',3), ('computer',2),('system',3), ('response',2),('time',2)]