我试图使用scikit-learn perl -nle 'push @a, $_ ;
END{print join("\n", map { $_->[0] }
sort { $a->[1] <=> $b->[1] }
map { [$_, /(\d+)/] } @a)}' file
来计算字符2克,忽略空格。在docs中,它提到了参数CountVectorizer
,其中包含
该功能是否应由单词或字符n-gram组成。 选项'char_wb'仅从单词内的文本创建字符n-gram 边界。
然而,&#34; char_wb&#34;似乎不像我预期的那样工作。例如:
analyzer
请注意例如&#39; B&#39;其中包括一个空间。是什么给了什么?
答案 0 :(得分:8)
我认为这是文档中长期存在的不准确之处,欢迎您帮忙修复。这样说更为正确:
选项'char_wb'创建字符n-gram,但不生成跨越字边界的n-gram。
似乎已在this commit中进行了更改以确保;看贡献者的comment。将bigrams输出与analyzer='char'
的输出进行比较时看起来特别尴尬,但是当你增加到三元组时,你会发现空格可以开始或结束n-gram但不能在中间。这有助于表示特征的单词初始或单词最终性质,而无需捕获嘈杂的交叉单词字符n-gram。它还确保,与该提交之前不同,所有提取的n-gram具有相同的长度!