文本分类

Categorizing the text

我正在尝试确定给定的 URL 是否是任何类型的事件。 Event 我的意思是 Event 例如 conference, summit, convention 等。这是初步算法我有:

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

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

活动代币:

("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)

你绝对是在重新发明轮子。如果你想让你的生活变得简单,最好的办法是看看朴素贝叶斯模型。它与您的模型非常相似,但具有统计基础。

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

如果你考虑 registrationconference

conference 文档 {registration} 的概率为

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

根据本文档估计的概率是

P(registration|conference)= 1
P(conference | conference) =1 

但是,您可以使用更多算法,例如,多 class SVM、决策树……