这是我的代码:
count = CountVectorizer(lowercase = False)
vocabulary = count.fit_transform([words])
print(count.get_feature_names())
例如,如果:
words = "Hello @friend, this is a good day. #good."
我希望将其分为以下部分:
['Hello', '@friend', 'this', 'is', 'a', 'good', 'day', '#good']
目前,这是它的分离内容:
['Hello', 'friend', 'this', 'is', 'a', 'good', 'day']
答案 0 :(得分:1)
如documentation所述,您可以在token_pattern
中使用CountVectorizer
参数:
传递一个正则表达式告诉CountVectorizer应该把什么当作单词。假设在这种情况下,我们告诉CountVectorizer,即使带有#
或@
的单词也应该是单词。然后做:
count = CountVectorizer(lowercase = False, token_pattern = '[a-zA-Z0-9$&+,:;=?@#|<>.^*()%!-]+')
输出:
['#good', '@friend', 'Hello', 'a', 'day', 'good', 'is', 'this']