分类文本

我正在尝试判断给定的URL是否属于某种活动。所谓“活动”,我指的是诸如conference(会议)、summit(峰会)、convention(大会)等活动。以下是我为此设计的初步算法:

我发现了以下(请看最后)的标记,如果这些标记出现在页面内容中(我使用第三方库从HTML中提取内容),我就会将其标记为活动。当然,这还不够。我为每个标记分配了一个权重,权重表示该标记有多大可能表明给定的URL是一个活动。例如,如果我在内容中找到了conference,它比registration(注册)更能让我确信这是一个活动,因为registration可能在其他类型的文章中也经常出现。

因此,我按以下方式计算每篇文章的得分:标记在内容中的频率乘以其权重之和。然后,如果这个得分> EVENT_THRESHOLD,我就会将文章标记为活动。这种方法的问题是:如果我得到了20次‘event’(这是一个低置信度,即低权重的标记)的出现,得分就会跳跃并突破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)

回答:

你确实是在重新发明轮子。如果你想让生活简单一些,最好是看看朴素贝叶斯模型。它与你的模型非常相似,但有统计学基础。

基本思想是,你为每种类型的活动学习一个先验概率,例如P(conference),这基本上是conference类别文档的比例。此外,你计算特定活动页面包含某个词的概率,例如registration,这是conference页面中包含该词的比例P(registration|conference)。注意:如果该词未包含,你需要纳入逆概率1-P(registration|conference)。所有概率的乘积给你的是页面属于某个活动类别的(未归一化)概率。

如果你考虑registrationconference这两个词,

对于conference,文档{registration}的概率将是

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

其中,从该文档估计的概率将是

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

然而,还有许多其他算法你可以使用,例如多类支持向量机、决策树等。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注