0

我正在尝试提出一种算法,以在同一个句子中找到该产品最常用的前 3 个形容词。我想使用关联规则挖掘(Apriori 算法)。

为此,我计划使用 twitter 数据。我可以或多或少地将 twits 分解成句子,然后通过过滤,我可以找到产品名称和形容词。

例如,过滤后我有类似的数据;

ipad mini,不错

ipad mini,太可怕了

三星galaxy s2,最好的

... ETC。

产品名称和形容词是先前定义的。所以我有一组产品名称和一组我正在寻找的形容词。

我读过几篇关于情感分析和规则挖掘的论文,他们都说使用了 Apriori 算法。但他们没有说他们是如何使用它的,也没有提供细节。

Therefore how can I reduce my problem to association rule mining problem? 
What values should I  use for minsup and minconf? 
How can I modify Apriori algorithm to solve this problem?

我在想的是;

我应该为每个产品分别找到常用的形容词。然后通过排序,我可以获得前 3 个形容词。但我不知道它是否正确。

4

2 回答 2

1

为每个产品寻找前 3 个最常用的形容词不是关联规则挖掘

要使 Apriori 产生好的结果,您必须对长度为 4 或更多的项集感兴趣。Apriori 剪枝从长度 3 开始,在长度 4 开始产生主要收益。在长度 2 处,它主要是枚举所有对。如果您只对成对(产品、形容词)感兴趣,那么 apriori 所做的工作比必要的要多得多。

相反,使用计数。使用哈希表。如果您确实拥有 EB 级数据,请使用近似计数和重击算法。(但很可能,在提取这些对后,您没有 EB 的数据......)

如果您只需要解决这个更简单的问题,请不要费心研究关联规则挖掘。

关联规则挖掘实际上仅用于查找模式,例如

pasta, tomato, onion -> basil

和更复杂的规则。Apriori 的贡献是在从长度 n-1 -> n 到长度 n > 2 时减少候选者的数量。当 n > 3 时它变得更有效。

于 2014-05-25T15:33:44.577 回答
0

将您的问题减少到关联规则挖掘 (ARM)

创建一个包含所有主题和形容词的特征向量。如果提要包含主题,则在元组中为其放置 1,否则为 0。例如。让我们假设主题是三星和苹果。形容词又好又可怕。并且饲料含有三星好。那么它对应的元组是:

三星苹果好可怕

1 0 1 0

需要修改 Apriori 算法

使用约束先验算法生成“主题”->“形容词”类型的关联规则。'topic' --> '形容词' 是一个约束。

如何设置 MinSup 和 MinConf :阅读一篇题为“Minin top-k association rules”的论文。用 k=3 来实现 3 个顶级形容词。

于 2014-09-24T18:02:59.300 回答