我正在尝试使用需要 numpy/scipy 数组作为输入的 scikit.learn。nltk 中生成的特征集由 unigram 和 bigram 频率组成。我可以手动完成,但这会很费力。所以想知道是否有我忽略的解决方案。
问问题
638 次
2 回答
1
Jacob Perkins 为使用 scikit-learn 分类器训练 NLTK 分类器搭建了一座桥梁,这正是它的来源:
https://github.com/japerk/nltk-trainer/blob/master/nltk_trainer/classification/sci.py
如果您使用的是 0.9+ 版本,则应更新包导入行。
于 2011-12-07T08:26:36.180 回答
0
不是我知道的,但请注意 scikit-learn 可以自己进行n -gram 频率计数。假设词级n -grams:
from sklearn.feature_extraction.text import CountVectorizer, WordNGramAnalyzer
v = CountVectorizer(analyzer=WordNGramAnalyzer(min_n=1, max_n=2))
X = v.fit_transform(files)
wherefiles
是字符串或类似文件的对象的列表。在此之后,X
是一个原始频率计数的 scipy.sparse 矩阵。
于 2011-12-06T14:05:10.160 回答