我正在进行文本分析,我想无视数字的"单词"。例如。从文字中"这是000 sparta!"只能使用" this",''和sparta'的单词。有没有办法做到这一点?如何?
TfidfVectorizer
的默认令牌模式是 u'(?u)\b\w\w+\b'
,它匹配一个至少两个单词字符的单词,即 [a-zA-Z0-9_]
;例如,您可以根据需要修改token_pattern
,例如,Regex (?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']
在此处的官方文档中如何实现。所有数字均被视为一个功能#number