我正试图使用nltk从语料库中提取搭配,然后使用它们的出现作为scikit学习分类器的特征。不幸的是,我对nltk不太熟悉,我看不到一个简单的方法来做到这一点。我走了这么远:
- 使用
BigramCollocationFinder
从语料库中提取搭配 - 对于每个文档,提取所有bigram(使用
nltk.bigrams
),并检查它们是否为其中一个搭配 - 使用不执行任何操作的分析器创建
TfidfVectorizer
- 以提取的双字图的形式向其提供文档
对我来说,这似乎过于复杂了。此外,它还有一个问题,即BigramCollactionFinder
有一个window_size
参数,用于跨越单词的bigram。标准的nltk.bigrams
提取无法做到这一点。
克服这一问题的一种方法是为每个文档实例化一个新的BigramColocationFinder,并再次提取bigram,并将它们与我之前发现的bigram进行匹配。。。但同样,这似乎有点复杂。当然,有一种更简单的方法可以做到这一点,但我忽略了。
谢谢你的建议!
larsmans已经为简单的非搭配特征贡献了一个NLTK/scikit学习特征映射器。这可能会给你自己的问题带来一些灵感:
http://nltk.org/_modules/nltk/classify/scikitlearn.html