使用多个分隔符从 sklearn 中使用 CountVectorizer 获取令牌
Get tokens with CountVectorizer from sklearn using multiple separators
我想使用这些分隔符将句子拆分为标记(每当 Python 看到其中一些字符时我想在那里拆分句子):
{""/%»…l¦>|=!—\+([„:<#•}‘°_–·˘“›;^$®&”’){€*?.`@«ľ]~}
这是一个句子示例,我想将其拆分为标记并计算每个标记的出现次数:
@itkutak (pitanje za intesu: radi li ?neka)
我想获得的代币:itkutak
、pitanje
、za
、intesu
、radi
、li
、neka
如何使用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,你可以
定义token_pattern
参数。如果你知道你的大部分标记都是字母数字的,你总是可以做这样的事情
vectorizer = CountVectorizer(token_pattern=u'(?u)\b\w+\b')
通过编写一个函数来覆盖 tokenizer
,该函数采用字符串来自己进行标记化。不过,与第一种方法相比,这通常要慢得多。
def tokenizer(document):
pass
vectorizer = CountVectorizer(tokenizer=tokenizer)
我想使用这些分隔符将句子拆分为标记(每当 Python 看到其中一些字符时我想在那里拆分句子):
{""/%»…l¦>|=!—\+([„:<#•}‘°_–·˘“›;^$®&”’){€*?.`@«ľ]~}
这是一个句子示例,我想将其拆分为标记并计算每个标记的出现次数:
@itkutak (pitanje za intesu: radi li ?neka)
我想获得的代币:itkutak
、pitanje
、za
、intesu
、radi
、li
、neka
如何使用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,你可以
定义
token_pattern
参数。如果你知道你的大部分标记都是字母数字的,你总是可以做这样的事情vectorizer = CountVectorizer(token_pattern=u'(?u)\b\w+\b')
通过编写一个函数来覆盖
tokenizer
,该函数采用字符串来自己进行标记化。不过,与第一种方法相比,这通常要慢得多。def tokenizer(document): pass vectorizer = CountVectorizer(tokenizer=tokenizer)