我正计划建立一个自学习字典的情感词与他们的情感标签。
我可以用POS标签来识别情感词,但不能将这些词标记为积极、消极或中性。
例如:“食物不好”是句子,我用词组标签从句子中提取了“不好”作为感情用词。现在,我想把这个标记为否定的,并将它添加到我的新字典中,以备将来使用。
我喜欢做这个项目/任务是不使用任何预定义的字典/字库/任何预定义的情感分析包。
我正在征求您的意见,不使用任何预定义字典或预定义字典,就知道如何对其进行标记。。
目前,我已经探索了字嵌入,跳过n格模型来实现这一点.我还使用了一个预先定义的字典来训练模型,使用了一些有监督的学习模型,如Xgboost,KNN,朴素贝叶斯分类器。我用一些非监督的模型,比如k-均值,用单词来预测标签。还是没能得到结果。
如果你知道任何其他方式或一些输入应用于上述任何一种使用的模型标签为积极,消极或中性的词,那么请建议。
发布于 2019-07-24 09:03:06
好吧,让我帮你提一些基本的建议,因为我在大学里也做过类似的事情。首先,你必须至少有几个单词(或短语)。你拥有的单词越多,你得到的结果就越多。为了帮助构建这个特性,您的单词必须从Caps和读取引号中清除,然后用分隔符标记它,并使用该类型的单词(NN、PRO等)进行标记。
为了给单词或短语加上标签,如果这个词或短语有积极的、消极的或其他的东西,你必须自己定义它。Python是标记英语单词的最佳库,基于其类型的单词,但您必须为情感定义。因此,您可以将您的特性存储在类似于以下数组的数据源中:
{"anarchy","VB","+"}
where the format is
{<word>,
<type_of_word>,
<sentiment_class>}如果您有另一个词,只需使用您的训练数据集进行分类方法,并将结果存储到您的数据集中。但是,如果分类词有很高的不准确性,这种技术就会失败。
但我的注意是,对于一个有几种情感的词,要小心(从句子上下文来看,它看起来是积极的,但实际上却有负面的情绪,或者相反)。所以最好的建议是,让你的模型标记单词在句子中的情感,而不是像单词本身一样,而是因为它在句子中的位置。这是像“无政府状态下的人民”这样的短语的一个例子(注意,清洗后,所有的单词都被转换成小头)。
{"anarchy","VB","the","PP","peoples","NNP","0,001","+"}
where the format is
{<word>,
<type_of_word>,
<word_before your word>,
<type_of_word_before>,
<word_after>,
<kind_of_word_after>,
<probability_of_word_presence>,
<sentiment_class>}我建议你在做这件事之前先读一些关于情绪分析的相关研究。
希望它对你有帮助
https://stackoverflow.com/questions/57178799
复制相似问题