使用wordnet查找具有6种基本情绪的句子的相似度

时间:2016-01-23 13:35:52

标签: nltk wordnet emotion senti-wordnet

我正在研究一个项目,其中一部分需要检测我们所处理文本的情感。

例如,

他很高兴回家。

我将从上面的句子中取两个字,即快乐和回家。

我将有一张包含6种基本情绪的表格。 (快乐,悲伤,恐惧,愤怒,厌恶,惊讶)

这些情绪中的每一种都会有一些与之相关的同义词。

我需要找到这些同义词和单词happy之间的相似性,然后找到这些同义词和单词home之间的相似性。

我试图将WORDNET用于此目的,但无法理解wordnet的工作方式,因为我是新手。

1 个答案:

答案 0 :(得分:0)

我认为你想要在句子中找到与任何代表6种基本给定情绪中的任何一种的单词相似的单词。如果我是正确的,我认为你可以使用以下解决方案。

首先提取代表6种基本情绪的每个词义的同义词集。现在形成每个synset(同义词集合)的矢量化表示。您可以使用https://code.google.com/archive/p/word2vec/提供的word2Vec工具执行此操作。 e.g。

假设“快乐”这个词的意思是a1,a2,a3作为其同义词 1.首先在任何大型英语语料库上训练Word2Vec工具,例如Bojar语料库 然后使用训练的word2Vec获得每个同义词a1,a2,a3的字嵌入(矢量化表示)。 然后,“happy”的synset的矢量化表示将是a1,a2,a3的矢量化表示的平均值。 通过这种方式,您可以获得每种基本情绪的矢量化表示同义词。

现在对于给定的句子,使用经过训练的word2vec生成的词汇表找到每个单词的矢量化表示。现在你可以使用余弦相似度了 (https://en.wikipedia.org/wiki/Cosine_similarity)找出每个单词与6种基本情绪的同义词的距离(相似度)。通过这种方式,您可以确定句子的情绪(基本水平)。

该技术的来源:Sudha等人的研究论文“使用Word嵌入的无监督最频繁检测”。人(http://www.aclweb.org/anthology/N15-1132