使用多个分隔符从 sklearn 中使用 CountVectorizer 获取令牌

Get tokens with CountVectorizer from sklearn using multiple separators

我想使用这些分隔符将句子拆分为标记(每当 Python 看到其中一些字符时我想在那里拆分句子):

{""/%»…l¦>|=!—\+([„:<#•}‘°_–·˘“›;^$®&”’){€*?.`@«ľ]~}

这是一个句子示例,我想将其拆分为标记并计算每个标记的出现次数:

@itkutak (pitanje za intesu: radi li ?neka)

我想获得的代币:itkutakpitanjezaintesuradilineka 如何使用CountVectorizer得到这个?

这是我的代码现在的样子:

from pandas import DataFrame
cv=CountVectorizer(min_df=0, max_df=1.0)
post_textCV= cv.fit_transform(post_text)
df=DataFrame(post_textCV.A, columns=cv.get_feature_names())
print(df.head)

我假设您在谈论 sklearn 的 CountVectorizer。根据documentation,你可以

  1. 定义token_pattern参数。如果你知道你的大部分标记都是字母数字的,你总是可以做这样的事情

    vectorizer = CountVectorizer(token_pattern=u'(?u)\b\w+\b')
    
  2. 通过编写一个函数来覆盖 tokenizer,该函数采用字符串来自己进行标记化。不过,与第一种方法相比,这通常要慢得多。

    def tokenizer(document):
        pass
    
    vectorizer = CountVectorizer(tokenizer=tokenizer)