Java 文本分类

Java 文本分类,java,algorithm,machine-learning,data-science,Java,Algorithm,Machine Learning,Data Science,我试图确定给定的URL是否是某种事件。我所说的事件是指诸如会议,峰会,会议等事件。以下是我对其的初步算法: 我发现了以下(请看结尾)标记,如果它们在页面内容中(我使用第三方库从HTML中查找内容),那么我将其标记为事件。当然,这还不止于此。我给每个令牌分配了权重,权重表示——这个令牌能够告诉给定url是一个事件的强度。e、 g.如果我在内容中找到会议,它会更有信心告诉我,与注册相比,这是一个事件,这可能也会经常出现在其他类型的文章中 因此,我计算每篇文章的分数如下: 总和(内容中标记的频率*其权

我试图确定给定的URL是否是某种事件。我所说的事件是指诸如
会议
峰会
会议
等事件。以下是我对其的初步算法:

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

因此,我计算每篇文章的分数如下: 总和(内容中标记的频率*其权重)。然后,如果这个分数是
>EVENT\u THRESHOLD
,那么我将文章标记为EVENT。这种方法的问题是:如果我得到20次“事件”(置信度低,即权重低),分数会跳升并打破
event_阈值,并将文章标记为事件。有没有更好的方法来实现这一点?我希望我不是在重新发明轮子。谢谢另外,我不是数据科学的人:(

事件的令牌:

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

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

基本思想是,你要了解每种类型的事件a的先验概率
p(会议)
,基本上是类
会议
中文档的分数。此外,您还可以计算特定事件页面包含单词的概率,例如,
注册
,该概率计算为包含该单词的
会议
页面的分数
P(注册|会议)
。注意:如果单词未包含,则需要包含逆概率
1-P(注册|会议)
所有概率的乘积为您提供了页面属于某个事件类别的(未规范化)概率

如果您考虑“代码>注册< /代码>,<代码>会议

会议的概率
文件
{registration}
的概率为

P(registration|conference)* (1-P(conference | conference) )*P(conference)
根据本文件估算的概率为:

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

然而,你还可以使用更多的算法,例如,多类支持向量机、决策树等等

是的,你正在重新发明轮子。关于事件检测的科学文章有很多。他们大多数的共同点是,他们使用某种TF-IDF。太棒了!感谢指导。我将直接学习ML。我实现了这个算法,现在要训练我的模型。我如何持续训练我的模型,流行的方法是什么?你只需要不断地计算每个单词出现的次数。一旦你需要对ew计数进行分类,你就可以计算出概率,这非常便宜。