对文本进行分类

时间:2016-03-08 18:14:16

标签: java algorithm machine-learning data-science

我正在尝试确定给定的URL是否是任何类型的事件。通过事件我的意思是事件,例如conferencesummitconvention等。这是我的初步算法:< / p>

我发现了以下(查看结尾)令牌,如果它们位于页面内容中(我使用第三方库从HTML中找到内容),那么我将其标记为事件。但是,这并不止于此。我为每个令牌分配权重,权重表示 - 此令牌可以判断给定网址是一个事件的强度。例如如果我在内容中找到conference,则会更有信心告诉我这是一个与registration相比较的事件 - 这种情况在其他类型的文章中也经常出现。

所以,我计算每篇文章的得分如下: (内容中令牌的频率*其权重)的总和。然后,如果此分数为> EVENT_THRESHOLD,那么我将该文章标记为事件。这种方法的问题是:如果我得到,可以说20次出现'事件'(信心差,即体重低),分数会跳跃并打破EVENT_THRESHOLD并将文章标记为事件。有没有更好的方法来实现这个?我希望我不是重新发明轮子。谢谢。附:我不是数据科学家:(

活动代币:

("event", 0.4),
("workshop", 1.0),
("registration", 0.4),
("register", 0.3), 
("conference", 1.0),
("tickets", 1.0), 
("summit", 0.5), 
("speaker", 0.5),
("training", 0.5),
("session", 0.4),
("convention", 1.0),
("webinar", 1.0),
("duration", 0.6)

1 个答案:

答案 0 :(得分:2)

你肯定会重新发明轮子。如果你想让你的生活变得简单,那么你最好看看Naive Bayes模特。它与您的模型非常相似,但具有统计基础。

基本思想是,您可以为每种类型的事件学习先验概率P(conference),这基本上是来自班级conference的文档的一小部分。此外,您还可以计算特定事件页面包含单词的概率,例如,registration计算为包含此单词conference的{​​{1}}页面的一小部分。注意:如果未包含该单词,则需要合并反向概率P(registration|conference) 所有概率的乘积为您提供页面属于特定事件类别的(非标准化)概率。

如果您考虑单词1-P(registration|conference)registration

文档conference的概率为conference的概率为

{registration}

从这份文件中估算出的概率

P(registration|conference)* (1-P(conference | conference) )*P(conference)

但是,您可以使用更多算法,例如,多类SVM,决策树,......