有没有办法将 nltk 特征集转换为 scipy.sparse 数组?
我正在尝试使用 scikit.learn ,它需要 numpy/scipy 数组作为输入。 nltk 中生成的特征集由一元词和二元词频率组成。我可以手动完成,但这会花费很多精力。所以想知道是否有我忽略的解决方案。
I'm trying to use scikit.learn which needs numpy/scipy arrays for input.
The featureset generated in nltk consists of unigram and bigram frequencies. I could do it manually, but that'll be a lot of effort. So wondering if there's a solution i've overlooked.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Jacob Perkins 做了一个使用 scikit-learn 分类器训练 NLTK 分类器的桥梁,它的来源正是:
https://github.com/japerk/nltk-trainer/blob/master/nltk_trainer/classification/sci.py
如果您使用的是 0.9+ 版本,则应更新包导入行。
Jacob Perkins did a a bridge for training NLTK classifiers using scikit-learn classifiers that does exactly that here is the source:
https://github.com/japerk/nltk-trainer/blob/master/nltk_trainer/classification/sci.py
The package import lines should be updated if you are using version 0.9+.
据我所知,但请注意 scikit-learn 本身可以进行 n-gram 频率计数。假设单词级 n-gram:
其中
files
是字符串或类文件对象的列表。之后,X
是原始频率计数的 scipy.sparse 矩阵。Not that I know of, but note that scikit-learn can do n-gram frequency counting itself. Assuming word-level n-grams:
where
files
is a list of strings or file-like objects. After this,X
is a scipy.sparse matrix of raw frequency counts.