如何在 sklearn 特征提取中使用 build_analyzer

数据挖掘 scikit-学习 文本挖掘 特征提取
2022-02-28 01:16:28

我正在尝试获取文本的 n-gram 标记列表

例如:“如何在 sklearn 特征提取中使用 build_analyzer”

输出:['How', 'use', 'build_analyzer', 'sklearn', 'feature', 'extraction', 'How use', 'use build_analyzer', 'build_analzer sklearn', 'sklearn feature', '特征提取']

from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer

vectorizer = TfidfVectorizer(stop_words = 'english',ngram_range=(1, 2), token_pattern=r'\b\w+\b', min_df=1)

 df['Text'].apply(lambda x : vectorizer.build_analyzer(x))

TypeError: build_analyzer() 接受 1 个位置参数,但给出了 2 个

1个回答

build_analyzer() 返回CountVectorizer一个可调用的,让您从包含在or中的转换管道中提取标记化步骤TfidfVectorizer你可以这样做:

analyze = vectorizer.build_analyzer()
df['Text'].apply(lambda x: analyze(x)) #or df['Text'].apply(analyze)