首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是标准的方法,在科学知识-学习安排文本数据的文本分类?

什么是标准的方法,在科学知识-学习安排文本数据的文本分类?
EN

Stack Overflow用户
提问于 2014-12-07 20:40:49
回答 3查看 550关注 0票数 3

我有一个NLP任务,基本上是监督文本分类。我给一个语料库加上了POS标签,然后我使用了scikit-learn提供的不同的向量器,以便提供一些scikit-learn提供的分类算法。我也有语料库的标签(类别),以前我是以一种没有监督的方式获得的。

首先对语料库进行词性标注,然后得到一些不同的词条,它们的结构如下:

代码语言:javascript
复制
bigram = [[('word','word'),...,('word','word')]]

显然,我似乎有所有的东西要分类(我都准备好用一些小例子来分类,但不是所有的语料库)。

我想利用这些特征作为特征,将它们呈现给分类算法(多项式朴素贝叶斯、SVM等)。

什么样的标准(pythonic)方法可以安排所有的文本数据来分类和显示分类的结果?我正在考虑使用arff文件和numpy数组,但我想这可能会不必要地使任务复杂化。另一方面,我正在考虑将数据分割到火车和测试文件夹中,但我没有想象如何在“火车”文件夹中设置标签。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-08 21:54:54

最简单的选择是load_files,它需要一个目录布局

代码语言:javascript
复制
data/
    positive/     # class label
        1.txt     # arbitrary filename
        2.txt
        ...
    negative/
        1.txt
        2.txt
        ...
    ...

(这不是一个真正的标准,它只是方便和习惯。web上的一些ML数据集是以这种格式提供的。)

load_files的输出是一个包含数据的dict

票数 1
EN

Stack Overflow用户

发布于 2014-12-08 07:13:44

你的问题很含糊。有关于这一主题的书籍和课程,你可以查阅。看看这个博客作为一个开始,1和这些课程的23.

票数 2
EN

Stack Overflow用户

发布于 2014-12-09 13:43:21

1) larsmans已经提到了一种方便的方法来安排和存储数据。2)当使用scikit时,numpy数组总是让生活变得更简单,因为它们具有许多易于更改数据排列的特性。3)训练数据和测试数据的标注方式相同。所以你通常会有这样的东西:

代码语言:javascript
复制
bigramFeatureVector = [(featureVector0, label), (featureVector1, label),..., (featureVectorN, label)]

培训数据与测试数据的比例在很大程度上取决于数据的大小。您确实应该了解n-fold cross validation。因为它会解决你所有的疑虑,而且很可能你不得不用它来进行更准确的评估。简单地解释一下,为了进行10倍的交叉验证,可以说您将有一个数组,其中保存了所有的数据和标签(类似于我上面的例子)。然后在循环中运行10次,将十分之一的数据留给测试,其余的留给培训。如果您了解了这一点,那么您将不会对培训或测试数据的外观感到困惑。他们俩看起来应该完全一样。4)如何可视化您的分类结果,取决于您想要使用的评估方法。你的问题不清楚,但如果你还有其他问题,请告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27347555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档