【发布时间】:2017-12-14 12:17:11
【问题描述】:
我正在学习 NLP 并学习使用 NLTK 和 scikit-learn 进行文本分类。所以我在 NLTK 的 movie_review 语料库中实现了 Unigram 存在作为一个特性。现在我正在尝试实施一篇他们使用了多种功能的研究论文:
1. N-Gram Features : Unigram : Presence and Count, Bigram : Presence and Count
2. Stylistic Features : POS_Noun, POS_Adverb, POS_Adjective : Ratios No. of spelling errors : Real-valued feature Length of text : Real-valued feature
由于到目前为止我只实现了一项功能,我现在遇到了问题。我可以分别为上述所有功能实现功能,例如:
def find_POS_Noun_feature(document) : 使用 POS_Noun 作为特征对文本进行分类 def find_Length_of_text_feature(document) : 使用#characters 作为我的特征等等。然后我可以分别训练多个分类器。
但我需要的是如何将所有这些功能集成到一个分类器中?
请帮忙,我搜索了互联网但找不到正确的解释。
【问题讨论】:
-
那么,您的特征函数返回什么?每个数据点的一维数组?如果是这样,您需要连接所有特征函数的返回值。
-
我的特征函数返回一个字典。我输入 nltk.classify.scikitlearn 分类器的标记数据集是一个元组列表,其中一个是字典,第二个是类别。因此,对于 unigram 存在:[({w1 : True, w2 : False.....},'pos'), ({w1 : False, w2 : True....},'neg')... ...]。同样适用于二元组和 POS_Noun、Length_of_text 等。
标签: python nlp nltk feature-extraction text-classification