python – Twitter 一般分类培训语料库

python – Twitter 一般分类培训语料库,第1张

概述有谁知道任何好的广泛的Twitter分类语料库? 我正在寻找广泛的类别,如:   – 运动  – 科学技术  – 餐饮   – 健康   – 娱乐   – 音乐   – 游戏   – 财务  – 教育  – 政治   – 电视   – 宗教  – 发动机   – 冲突 (我认为这几乎涵盖了一切) 有很好的资源链接here,但它们是具体的方式: > Reuters特定于商品和自然资源 > 20New 有谁知道任何好的广泛的Twitter分类语料库?

我正在寻找广泛的类别,如:
  – 运动
 – 科学技术
 – 餐饮
  – 健康
  – 娱乐
  – 音乐
  – 游戏
  – 财务
 – 教育
 – 政治
  – 电视
  – 宗教
 – 发动机
  – 冲突

(我认为这几乎涵盖了一切)

有很好的资源链接here,但它们是具体的方式:

> Reuters特定于商品和自然资源
> 20Newsgroups看起来像美国报纸
> Medir用于心血管医学数据

编辑
这非常令人兴奋.我通过sklearn找到了这个database.这是list of all categories.看起来它包含了我要找的东西.
我将不得不学习如何,然后实现这个东西,所以如果它有效,我将不得不回到你们身边……

解决方法 大部分成功!虽然这不是一个Twitter优化的训练数据集,但似乎更多的一般文本分类.
好吧,这比希望的要尴尬得多.首先,

from sklearn.datasets import fetch_rcv1rcv1 = fetch_rcv1()

创建一个我不知道如何使用的数据集.数据是47236维度向量而不是文本标记,没有明显或记录(我可以找到)如何处理它的方式.所以我必须做很长的路.

查看datasource,可以下载令牌文件.它们分为5个部分:

lyrl2004_tokens_train.dat,lyrl2004_tokens_test_pt0.dat,lyrl2004_tokens_test_pt1.dat,lyrl2004_tokens_test_pt2.dat,lyrl2004_tokens_test_pt3.dat,

一个包含所有分类的文件:

rcv1-v2.topics.qrels

作为一个有用的附注,对于像这样的大型文件,只需查看一些数据就可以了解您正在使用的内容.在linux中,您可以执行head -5 rcv1-v2.topics.qrels来查看分类数据的前5行.

这些文件可以通过ID链接.因此,我创建了一个包含所有ID及其相应文本标记和分类的字典.我之所以用字典做这个,这是一个相当缓慢的过程,而不是仅创建包含所有值和错误的两个列表,因为我不知道数据文件是否匹配100%.

我的字典看起来像这样:
    dTrainingData = {‘2286’:{lsTokens:[…],lsCats:[…]}}

然后,我创建了2个numpy数组,一个用于标记,另一个用于类别.这些需要先处理.所以,你可以训练模型:

def categorize(sText):    import numpy as np    aTokens = np.array([d['lsTokens'] for d in dTrainingData.values()],str)    lCats = [d['lsCats'] for d in dTrainingData.values()]    print("creating binary cats")    from sklearn import preprocessing    oBinarizer = preprocessing.MultiLabelBinarizer()    aBinaryCats = oBinarizer.fit_transform(lCats)    from sklearn.multiclass import OneVsRestClassifIEr    from sklearn.feature_extraction.text import TfIDftransformer    from sklearn.svm import linearSVC    from sklearn.feature_extraction.text import CountVectorizer    from sklearn.pipeline import Pipeline    oClassifIEr = Pipeline([        ('vectorizer',CountVectorizer()),('tfIDf',TfIDftransformer()),('clf',OneVsRestClassifIEr(linearSVC()))])    print("fitting data to classifIEr...")    oClassifIEr.fit(aTokens,aBinaryCats)    aText = np.array([sText])    aPredicted = oClassifIEr.predict(aText)    lAllCats = oBinarizer.inverse_transform(aPredicted)

结果好坏参半.如果你看一下list of categories,你会注意到许多类别都是财务类别,而不是我想要的很好的均匀分布.所以我确实有很多失误.但是,它创建了一个坚实的基础,并且使用上面突出显示的支架,只需在dTrainingData字典中添加标记/类别以获取更具体的类别.

总结

以上是内存溢出为你收集整理的python – Twitter /一般分类培训语料库全部内容,希望文章能够帮你解决python – Twitter /一般分类培训语料库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1197525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存