我正在尝试分析一些机器日志文件,而我正在查看的列可能具有“Part.C1.11.Reading Status”之类的值。我想将完整的字符串视为一个标记,我不希望将其拆分为“Part”、“C1”、“11”和“Reading#”和“Status”。
我有一种模糊的感觉,token_pattern 是我需要调整的参数,所以我尝试指定字符串的开头和结尾,如下所示:
from sklearn.feature_extraction.text import CountVectorizer
cvo = CountVectorizer(token_pattern='^$',lowercase=False)
OriginCV = cvo.fit_transform(log['Message_Origin']).toarray()
然而,最后一行抛出了一个错误:ValueError:空词汇;也许文档只包含停用词
我还尝试在 token_pattern 中明确包含点和空格,如下所示:
cvo = CountVectorizer(lowercase=False, token_pattern=r"(?u)\b\w\w+\b|\.|\s")
不抛出任何错误但不成功(除了一个额外的标记“。”之外没有任何变化)
但是,不更改默认 token_pattern 确实会在空格和冒号处拆分字符串。我找到了这个解决方案,但是它通过删除例如冒号来修改字符串。任何其他想法如何解决这个问题?
谢谢,马克