我正在对包含“特朗普”这个词的推文进行情绪分析。我手动标记了前200条推文,这里是前13条观察结果:
pom.xml
我尝试根据用户是否支持特朗普或发布有关他的正面信息来标记推文。 这是我到目前为止使用的代码:
tycho-bundle/
这产生了以下结果
Date SentimentText Sentiment
Mon Nov 28 23:24:12 +0000 2016 "@HillaryClinton Go ahead with your hypocritical recount. It's fun to watch Trump squirm." 0
Mon Nov 28 23:39:06 +0000 2016 @SenSchumer & @SenGillibrand - Demand Trump rescind Steve Bannon's appointment. @MoveOn 0
Mon Nov 28 23:30:34 +0000 2016 Democrats Demand Trump's Tax Returns And An Investigation Into His Conflicts Of Interest via @politicususa 0
Mon Nov 28 23:54:43 +0000 2016 "Oh my god, how has this only been one day?" -@SaraMurray on covering a day on the Trump Trail #girlsonthebus @gupolitics 0
Mon Nov 28 23:18:16 +0000 2016 People are mad at GiGi for impersonating Melania Trump, saying "it's rude to bully and immigrant" OH?! THE FUCKING IRONY 0
Mon Nov 28 23:50:10 +0000 2016 @dosdelimas @FoxNews mt @resnikoff For those who don't understand why Trump would lie about voter fraud .. 0
Mon Nov 28 23:29:29 +0000 2016 @tanveerali Yo! Do you mind if I steal your awesome electoral map (giving credit where credit is due)? 1
Mon Nov 28 23:19:39 +0000 2016 "Historic," as in lower 1/3 of all EV results in American History 1
Mon Nov 28 23:41:40 +0000 2016 i thought this was gonna say trump before i opened it 0
Mon Nov 28 23:13:31 +0000 2016 Hold on wait, I voted for trump is the new racial slur now? im dead 1
Mon Nov 28 23:22:01 +0000 2016 O.K., well, if a mass of stuff was then taught, it was set up for. #SubhumanCheeto #NMP 0
Mon Nov 28 23:44:13 +0000 2016 Woman goes on racist, pro-Trump tirade in Michaels store over $1 bag Trumpmerica ladies & gents. 0
我的分类器(逻辑回归和朴素贝叶斯)无法准确地对正面标签进行分类,其中正数= 1,这使我的评估指标定义不明确。在200条推文中,有43条是正面的,但是我的分类器将所有200条推文分类为负数。我怎么能解决这个问题?注意,我仍然没有预处理我的数据。所以我仍然需要将url转换为令牌url,占用空格等等。这是因为我还没有预处理我的推文吗?或者也许是我手动标记推文的方式,其中一些很难确定它们是否是正面的。我试图在特朗普上搜索预先贴标签的推文并且没有运气
另外,我注意到L2正则化的会计和我的逻辑回归的BFGS优化方法没有改变我的准确性,这是正常的吗?
答案 0 :(得分:0)
我的猜测是你有太小的数据集来解决这个问题和这些分类器。为了激怒这种情况,数据集非常不平衡。因此,对于这些分类器和损失的选择(您使用交叉熵),在这种情况下预测主导类会发生最少的惩罚。
我的建议是获取更多数据(在这种情况下标记更多推文)
答案 1 :(得分:0)
我认为你有两件事情在这里发生。首先,如上所述,您的培训推文的语料库太小,尤其是当您考虑到许多情感分析代码想要对所使用的单词进行矢量化时。这些矢量非常大且非常稀疏。如果用于培训的带标签的推文数量与您接受培训的字数不相上下,那么您将得到一个不合适的解决方案。
好消息是,有一些体面的培训课程已经贴上了Twitter(至少用英语)。在Sentiment140引用了几个。
坏消息是,尝试进行情绪分析而不清理文本是一个非常糟糕的主意。这意味着将您的推文解析为单词(在删除链接,表情符号,主题标签等之后),消除停用词,然后决定是否要散列数据或以某种方式对其进行矢量化。在你做这些事情之前,训练集中你只有很少的单词会在噪音中丢失。