自动否定单词

时间:2012-02-11 22:43:50

标签: php nlp sentiment-analysis

考虑以下陈述

We are not talking about a well established company in the NASDAQ
I will not initiate any trades until those clowns hammer out a deal

我正在编写一个简单的朴素贝叶斯分类器,基本上用手标记一组训练语句(作为正面或负面情绪)并相应地存储构成该陈述的单词。

问题:如果我将这两个陈述都标记为具有负面情绪,则单词“well”,“established”(陈述1)和“any”,“until”(陈述2)将被单独标记为否定。而在另一种情况下(即“该公司表现良好”),相同的单词(在这种情况下为“井”)将被标记为正数,使得“井”-1 + 1 = 0的情绪总和。我会通过将这些单词标记为否定词来克服这一点,例如:

We are talking about a not-well not-established company in the NASDAY.
I will initiate not-anymore trades not-until those clowns hammer out a deal

是否有标准或最佳方式标记这些单词(我甚至不知道它们是否属于同一组单词)?显然,标记“公司”是没有意义的“非公司”没有任何感情价值。我(在PHP中)创建了一个函数,可以在否定词之后标记所有单词(不,不,不能等),但其中许多单词之后没有真正意义(例如“not-company”,“不是纳斯达克“,”不是小丑“)。

由于英语不是我的母语,我问你是否有我在这里标记的单词的通用名称,以及我想要的是(基本)可能。我知道有很多例外可能(双重否定等),但我不想进入那个;我相信如果可能的话,它将涵盖很多方面。

1 个答案:

答案 0 :(得分:4)

从你的例子中,

We are talking about a not-well not-established company in the NASDAY.
I will initiate not-anymore trades not-until those clowns hammer out a deal

我认为你想要标记形容词(以及它们的变体),这样它们就会被否定,对吧?它被称为“词性标注”。有一个很好的PHP here教程。

然而,你需要一个普通英语形容词的字典(或单词列表)。