Я думаю, у вас есть небольшие пробелы в python. Не входил в реализацию класса, но вот несколько замечаний: знайте, что при токенизации вы передаете только путь, но в методе, использующем его в качестве текста файла, вам сначала нужно открыть путь к файлу и прочитать его содержимое. .
def vectorize(data_path):
documents = [] # No need to declare the type of the array
for i in range(1, 21):
file_name = "./textfiles/"+ i + ".txt"
# create a new document with an ID
doc= Document(i+1) # Initiation
# compute the term frequencies
doc.tokenization(file_name)
# add the documents to the lists
documents .append(doc) # appending a current document to documents array
Да, и, очевидно, измените имя класса на Document, как обычно, pep8 вы можете посмотреть здесь: pep8
О save_dictionary fun c: Я бы сделал это методом класса Document. и используйте json, чтобы сохранить его в файл:
import json
def save_dictionary(self):
# print the key-values pair in a dictionary
with open(f'somepath/tf_{self.id}.txt', 'w') as f:
f.write(json.dumps(self.tfs))