【问题标题】:SKLearn TF-IDF to drop numbers?SKLearn TF-IDF 丢号?
【发布时间】:2018-02-08 01:19:39
【问题描述】:

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

【问题讨论】:

    标签: scikit-learn tf-idf


    【解决方案1】:

    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']
    

    【讨论】:

      【解决方案2】:

      看看它是如何在官方文档here 中实现的。 所有数字都被视为一个特征#NUMBER

      【讨论】:

        猜你喜欢
        • 2023-04-06
        • 2019-08-13
        • 2023-03-17
        • 1970-01-01
        • 2015-05-07
        • 2017-12-27
        • 2015-11-22
        • 2018-03-16
        • 2020-09-27
        相关资源
        最近更新 更多