我正在做“Kaggle电影情感分析”的工作,我发现电影评论已经用Standford解析了。在探索数据集时,我发现同一句话给出了不同的结论-
their parents , wise folks that they are , 2
their parents , wise folks that they are 3
Genuinely unnerving . 3
Genuinely unnerving 1英语是被解析的数据,数字属于情感。现在,如果你检查行,只是逗号和点是差,休息是一样的,但两者都属于不同的情感,这给我分类带来了很多麻烦。
在文本分类中,我应该做些什么来避免这样的问题,如果我忽略了重复,使用已经添加的情感,我的分类就会出现可怕的错误,那么应该如何解决这种情况。
发布于 2015-01-20 15:44:06
我假设您使用的是一袋单词,逗号和点是您的特性之一( X矩阵中的一列)。
+-------------------------+-----------+-----------+----+
| Document/Features | Genuinely | unnerving | . |
+-------------------------+-----------+-----------+----+
| Genuinely unnerving . | 1 | 1 | 1 |
| Genuinely unnerving | 1 | 1 | 0 |
+-------------------------+-----------+-----------+----+一个理想的算法应该知道这些特征是否相关。例如,在Logistic回归的情况下,您的算法将为相应的列分配一个非常小的权重,因此该列中的1或0不会更改预测的结果。所以你会有这样的东西:
"Genuinely unnerving ." -> 0.5*1 + -2.3*1 + 0.000001*1 -> Negative
"Genuinely unnerving " -> 0.5*1 + -2.3*1 + 0.000001*0 -> Also negative在你的例子中,他们似乎有一些小的影响。这真的有问题吗?你已经发现了一些特殊情况,如果它似乎是错误的,但是通过查看数据,算法发现带点的句子比没有点的句子更消极。也许你应该相信,从统计学上讲,一个点可以改变一个句子的意思。
它也可能发生,你有糟糕的训练数据或一个糟糕的过度拟合模型。如果你真的认为某件事是错误的,那么你可以把这些知识强加在模型上,表示这些句子,使它们无法区分,例如忽略一些标点符号。
我认为一次把所有标点符号都去掉是错误的,例如,如果你把!从句子中去掉,你就会隐藏有价值的模型信息,如果你把它从句子中去掉,那么yes就可以代表非常积极的情绪。但可能正好相反,!在大多数情况下都是负的,所以训练后会得到很高的负重,这就混淆了预测yes!!!类句子的模型。在这种情况下,您可以将句子表示为bigram,这样模型就可以分别加权单个!和(yes, !)组合的效果。
因此,在简历中,你应该尝试不同的模型和方法来表示你的数据,看看什么是可行的。
https://stackoverflow.com/questions/28033135
复制相似问题