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