SKLearn TF-IDF丢弃数字?

时间:2017-08-31 12:03:56

标签: scikit-learn tf-idf

我正在进行文本分析,我想忽略那些只是数字的'单词'。例如。从文本“这是000斯巴达!”只应使用'this','is'和'Sparta'这两个词。有没有办法做到这一点?怎么样?

2 个答案:

答案 0 :(得分:6)

TfidfVectorizer的默认令牌模式是u'(?u)\\b\\w\\w+\\b',它与至少包含两个单词字符的单词匹配,即[a-zA-Z0-9_];您可以根据需要修改token_pattern,例如,正则表达式(?ui)\\b\\w*[a-z]+\\w*\\b确保它与单词匹配,但至少包含一个字母:

from sklearn.feature_extraction.text import TfidfVectorizer
tf = TfidfVectorizer(token_pattern=u'(?ui)\\b\\w*[a-z]+\\w*\\b')
​
text = ["This is 000 Sparta!"]
tfidf_matrix =  tf.fit_transform(text)
feature_names = tf.get_feature_names() 
​
print(feature_names)
[u'is', u'sparta', u'this']

答案 1 :(得分:1)

了解它是如何在官方文档here中实现的。 所有数字都被视为一个功能#NUMBER

相关问题