分类文本

我正在尝试判断给定的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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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