【问题标题】:word sense disambiguation in sentiwordnet pythonsentiwordnet python中的词义消歧
【发布时间】:2013-04-03 06:31:18
【问题描述】:

我目前正在研究 Twitter 中的情绪分析。 我想结合预定义的词典资源,如 sentiwordnet 极性分数。然后进行机器学习。 问题是在得到sentiwordnet的正确分数上,以前的工作总是简单地通过词义的正负极性总分来选择。 我的意思是,例如“mad”这个词可以出现 3 次否定词和 2 次肯定词。 以前的大部分工作都会自动平均每个极性。 所以我想在得到分数之前消除单词的歧义,这样我们就可以真正使用应该的 sentiwordnet。 我正在通过比较目标句和光泽句的相似性来思考.. 有什么方法可以比较吗?你认为它会起作用吗? 如果没有,请分享您的想法..

我是这个领域的新手和新手 python 程序员,所以我真的需要你的建议.. 谢谢你。。

【问题讨论】:

    标签: python nlp wordnet sentiment-analysis word-sense-disambiguation


    【解决方案1】:

    这是一个词义消歧问题,要让您的系统在任何给定的多义词上正常工作将非常困难。您可以尝试(组合)几种方法来确定单词的正确含义:

    1. 位置标记会减少候选词义的数量。

    2. WordNet 中句子的余弦相似度与词义的光泽度。

    3. 使用SenseRelate:测量目标词与其周围词的不同意义之间的“WordNet相似度”。

    4. 使用WordNet Domains:数据库包含分配给每个WordNet 意义的域标签,例如“摇滚”的音乐意义的“音乐”。无需比较在注释和句子中找到的实际单词,您可以比较在它们中找到的域标签。

    5. 不是通过在其中找到的单词本身来表示光泽和句子,而是作为单词的平均共现向量。可以使用大型文本语料库构建此类向量,最好来自与您正在消除歧义的文本相同的应用程序域。有多种技术可以细化此类共现向量(tf-idf、PCA、SVD),您应该单独阅读它们。

    如果您的文本来自非常专业的领域(例如法律),则准确度会更高。但是,如果您使用通用语言文本,那么您只能期望在不高度多义的单词上具有良好的准确性(如果它们在 WordNet 中不超过 3-4 种意义)

    【讨论】:

      猜你喜欢
      • 2011-04-11
      • 2014-08-11
      • 1970-01-01
      • 2015-04-20
      • 2015-02-09
      • 2015-01-08
      • 2011-10-13
      • 2014-10-16
      • 1970-01-01
      相关资源
      最近更新 更多