我正在尝试使用具有分析器功能的TF-IDF。此函数返回单词ngram。
当我尝试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]:
它从不打印主函数的最后一行,并且不会引发任何错误,因此我非常困惑,不知道如何解决此问题