问题1——最直接的方法是将其视为文本分类任务(情感分析是文本分类任务的一种,但绝不是唯一的一种)。在
可选地,正如你指出的,你可以把你的数据看作是在一个连续的范围内,从-3(取消之前的最强动作)到+3(采取最强的动作),中间有0个(不采取行动)。在这种情况下,您可以将结果视为具有自然顺序的连续变量。如果是这样,那么您可以将其视为回归问题而不是分类问题。在不了解更多数据的情况下,很难知道这样做是否明智。如果你怀疑你会有很多单词/短语,在量表的一端(-3)非常可能,而在另一端极不可能(反之亦然),那么回归可能是有意义的。另一方面,如果相关的单词/短语与强烈的情感相关,并且可能出现在量表的两端,但不在中间,那么最好将其作为分类对待。这也取决于你想如何评价你的结果。如果你的算法预测一个文档是a-2,而它实际上是a-3,那么它的惩罚会比它预测的+3少吗?如果是这样的话,最好将其视为一个回归任务。在
问题2。”我假设这是构建语料库的两个一般选择,对吗?我是否错过了其他(更好的)选择?”在
注意,这套文档(会议纪要和相应结果的.txt文件)就是你的语料库。典型的做法是随机抽取20%左右作为测试数据,剩下的80%作为训练数据。上面考虑的两个常规选项是选择分类或回归算法应注意的一组特征的选项。在
您正确地识别了两种最明显的特性产生方法的优缺点(手工选择您自己的方法与Pang&Lee仅使用unigram(单词)作为短语的方法)。在
就我个人而言,我也倾向于后一种方法,因为众所周知,人类很难预测哪些短语对分类有用,尽管没有理由不能将这两者结合起来,让你最初的一组特征包括所有单词以及任何你认为可能特别相关的短语。正如你所指出的,会有很多无关的词,所以剔除那些很少出现的词,或者在类之间的频率差别不大,无法提供任何辨别力的单词。减少初始特征集的方法被称为“特征选择”技术,其中提到了一种常见的方法here。或者查看this paper以获得更全面的列表。在
你也可以使用数据集here(单击补充材料并下载压缩文件)来考虑诸如高价词、高唤醒词或高支配词的百分比等特性。在
根据你想在这个项目上投入多少精力,另一个常见的做法是尝试一大堆方法,看看哪一个最有效。当然,您不能使用测试集中的数据来测试哪种方法最有效,因为这些数据可能会作弊,并且会有过度拟合测试数据的风险。但您可以将训练集的一小部分作为“验证数据”(即用于测试不同方法的小型测试集)。考虑到您没有那么多培训数据(大约80个文档),您可以考虑使用cross validation。在
问题3——最好的方法可能是尝试不同的方法,并选择在交叉验证中最有效的方法。但是如果我不得不选择一两个,我个人发现k-nearest neighbor classification (with low k) or SVMs通常对这种事情很有效。一个合理的方法可能是你最初的特征是所有的单字格(单词)+短语在
你认为在你看了一些培训数据后,你可能会有预测性
应用特征选择技术来修剪你的特征集
其他可能性在http://nlp.stanford.edu/IR-book/pdf/13bayes.pdf中讨论。通常,特定的算法比加入到其中的特性更重要。坦白地说,这听起来像是一个非常困难的分类任务,所以很可能没有什么能很好地工作。在
随机森林通常不能很好地处理大量的从属特征(单词),尽管如果你最终决定使用较少数量的特征(例如,手动选择的一组单词/短语,加上%的高价词和%的高唤醒词),它们可能会很好地工作。在