使用 CountVectorizer 的没有空格的 unicode 句子的正则表达式
Regex for unicode sentences without spaces using CountVectorizer
我希望我不必提供示例集。
我有一个二维数组,其中每个数组包含一组句子中的单词。
我正在使用 CountVectorizer 在整个二维数组上有效地调用 fit_transform
,这样我就可以构建单词词汇表。
然而,我有这样的句子:
u'Besides EU nations , Switzerland also made a high contribution at Rs 171 million LOCATION_SLOT~-nn+nations~-prep_besides nations~-prep_besides+made~prep_at made~prep_at+rs~num rs~num+NUMBER_SLOT'
而且我当前的矢量化器在删除诸如 ~
和 +
之类的标记时过于严格。而我希望它根据 split()
词汇表中的一个标记来查看每个单词,即 rs~num+NUMBER_SLOT
本身应该是词汇表中的一个词,made
也应该如此。同时,像 the
和 a
这样的停用词(正常的停用词集)应该被删除。
当前矢量化器:
vectorizer = CountVectorizer(analyzer="word",stop_words=None,tokenizer=None,preprocessor=None,max_features=5000)
您可以指定一个 token_pattern
,但我不确定我可以使用哪个来实现我的目标。正在尝试:
token_pattern="[^\s]*"
导致词汇量:
{u'': 0, u'p~prep_to': 3764, u'de~dobj': 1107, u'wednesday': 4880, ...}
这把事情搞砸了,因为 u''
不是我想要的词汇。
我想构建的这种 vocabulary_
类型的正确令牌模式是什么?
我已经弄明白了。矢量器允许 0 个或多个非空白项 - 它应该允许 1 个或更多。正确的 CountVectorizer
是:
CountVectorizer(analyzer="word",token_pattern="[\S]+",tokenizer=None,preprocessor=None,stop_words=None,max_features=5000)
我希望我不必提供示例集。
我有一个二维数组,其中每个数组包含一组句子中的单词。
我正在使用 CountVectorizer 在整个二维数组上有效地调用 fit_transform
,这样我就可以构建单词词汇表。
然而,我有这样的句子:
u'Besides EU nations , Switzerland also made a high contribution at Rs 171 million LOCATION_SLOT~-nn+nations~-prep_besides nations~-prep_besides+made~prep_at made~prep_at+rs~num rs~num+NUMBER_SLOT'
而且我当前的矢量化器在删除诸如 ~
和 +
之类的标记时过于严格。而我希望它根据 split()
词汇表中的一个标记来查看每个单词,即 rs~num+NUMBER_SLOT
本身应该是词汇表中的一个词,made
也应该如此。同时,像 the
和 a
这样的停用词(正常的停用词集)应该被删除。
当前矢量化器:
vectorizer = CountVectorizer(analyzer="word",stop_words=None,tokenizer=None,preprocessor=None,max_features=5000)
您可以指定一个 token_pattern
,但我不确定我可以使用哪个来实现我的目标。正在尝试:
token_pattern="[^\s]*"
导致词汇量:
{u'': 0, u'p~prep_to': 3764, u'de~dobj': 1107, u'wednesday': 4880, ...}
这把事情搞砸了,因为 u''
不是我想要的词汇。
我想构建的这种 vocabulary_
类型的正确令牌模式是什么?
我已经弄明白了。矢量器允许 0 个或多个非空白项 - 它应该允许 1 个或更多。正确的 CountVectorizer
是:
CountVectorizer(analyzer="word",token_pattern="[\S]+",tokenizer=None,preprocessor=None,stop_words=None,max_features=5000)