【发布时间】:2018-02-08 01:19:39
【问题描述】:
我正在做文本分析,我想忽略只是数字的“单词”。例如。来自文本“这是 000 斯巴达!”只应使用“this”、“is”和“Sparta”等词。有没有办法做到这一点?怎么样?
【问题讨论】:
标签: scikit-learn tf-idf
我正在做文本分析,我想忽略只是数字的“单词”。例如。来自文本“这是 000 斯巴达!”只应使用“this”、“is”和“Sparta”等词。有没有办法做到这一点?怎么样?
【问题讨论】:
标签: scikit-learn tf-idf
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']
【讨论】:
看看它是如何在官方文档here 中实现的。 所有数字都被视为一个特征#NUMBER
【讨论】: