Я пытаюсь сделать TF-IDF с функцией анализатора. Эта функция возвращает слово ngrams.
Моя проблема возникает, когда я пытаюсь использовать функцию fit_transform, она останавливает выполнение и ничего не делает. Я понятия не имею, почему, и я не нашел никакого решения. Я использую Anaconda Navigator. Код выглядит следующим образом:
from sklearn.feature_extraction.text import TfidfVectorizer
def ngrams(string, n=3):
string = re.sub(r'[,-./]|\sBD',r'', string)
ngrams = zip(*[string[i:] for i in range(n)])
return [''.join(ngram) for ngram in ngrams]
def main():
termList = getListofTerms(path)
print("Start TF-IDF")
vectorizer = TfidfVectorizer(min_df=1, analyzer=ngrams)
tf_idf_matrix = vectorizer.fit_transform(termList)
print("Completed")
if __name__ = '__main__':
main()
Список терминов состоит из 550 000 элементов с 1, 2, 3, 4 или 5 словами. Когда я запускаю код, результат будет таким:
In [1]: runfile('test.py', wdir='D:/tests')
Start TD-IDF
In [1]:
. Он никогда не печатает последнюю строку основной функции и не вызывает никаких ошибок, поэтому я действительно запутался и не знаю, как это сделать. исправить эту проблему