有没有办法将nltk功能集转换为scipy.sparse数组?

时间:2011-12-06 01:32:53

标签: python nlp nltk scikits

我正在尝试使用scikit.learn,它需要numpy / scipy数组来输入。 在nltk中生成的featureset由unigram和bigram频率组成。我可以手动完成,但这将是一项很大的努力。所以想知道是否有一个我忽略的解决方案。

2 个答案:

答案 0 :(得分:1)

雅各布·帕金斯(Jacob Perkins)使用scikit-learn分类器来训练NLTK分类器的桥梁,这完全符合以下要求:

https://github.com/japerk/nltk-trainer/blob/master/nltk_trainer/classification/sci.py

如果您使用的是版本0.9 +,则应更新包导入行。

答案 1 :(得分: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)

其中files是字符串或类文件对象的列表。在此之后,X是原始频率计数的scipy.sparse矩阵。

相关问题