PYTHON:如何将带有关键字参数的tokenizer传递给scikit的CountVectorizer?

时间:2015-08-05 22:39:22

标签: python scikit-learn tokenize feature-extraction kwargs

我有一个带有一些关键字参数的自定义标记生成器函数:

def tokenizer(text, stem=True, lemmatize=False, char_lower_limit=2, char_upper_limit=30):
    do things...
    return tokens

现在,我怎样才能将此tokenizer及其所有参数传递给CountVectorizer?我没有尝试过任何作品;这也不起作用:

from sklearn.feature_extraction.text import CountVectorizer
args = {"stem": False, "lemmatize": True}
count_vect = CountVectorizer(tokenizer=tokenizer(**args), stop_words='english', strip_accents='ascii', min_df=0, max_df=1., vocabulary=None)

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:6)

tokenizer应该是可调用的或无。

tokenizer=tokenize(**args)是拼写错误吗?上面的函数名是tokenizer。)

你可以试试这个:

count_vect = CountVectorizer(tokenizer=lambda text: tokenizer(text, **args), stop_words='english', strip_accents='ascii', min_df=0, max_df=1., vocabulary=None)