Python sklearn TfidfVectorizer не работает - PullRequest
0 голосов
/ 06 октября 2019

Я пытаюсь сделать 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]:

. Он никогда не печатает последнюю строку основной функции и не вызывает никаких ошибок, поэтому я действительно запутался и не знаю, как это сделать. исправить эту проблему

...