衡量文本与主题“相关性”的概念?

我为一些政治学家做兼职工作,负责编写和改进一个研究项目网页应用程序。这个应用程序收集与美国最高法院相关的文章,并对其进行分析。经过将近一年半的时间,我们现在拥有一个包含约10,000篇文章(且还在增加)的数据库可供使用。

该项目的主要挑战之一是能够确定一篇文章的“相关性”——也就是说,主要关注的是联邦美国最高法院(及其法官),而不是地方或外国最高法院。自项目启动以来,我们处理这个问题的方式主要是解析标题中对联邦法院的各种明确提及,并验证“最高”和“法院”是否是文章文本中的关键词。这种方法简单而粗糙,但实际上效果还不错。尽管如此,无关的文章还是可能进入数据库——通常是那些标题中没有明确提及州或外国的文章(印度最高法院通常是罪魁祸首)。

我在开发过程中已经到了可以更多关注这个方面的阶段,但我还不确定从哪里开始。我所知道的是,我正在寻找一种分析文章文本以确定其与联邦法院相关性的方法,而不考虑其他。我想象这将涉及一些机器学习,但我在这方面的经验几乎为零。我已经阅读了一些关于tf-idf加权、向量空间模型和word2vec(+ CBOW和Skip-Gram模型)等内容,但还没有看到一个“整体图景”,让我明白这些概念对我的问题有多大适用性。谁能指点我正确的方向?


回答:

问题框架

在开始这样一个新颖的机器学习项目时,有几个基本问题需要思考,这些问题可以帮助你更好地定义问题,并更有效地进行文献综述和实验。

  1. 你是否拥有构建模型所需的正确数据?你有大约10,000篇文章作为模型输入,然而,如果使用监督学习方法,你需要为所有用于模型训练的文章提供可靠的标签。听起来你已经完成了这项工作。

  2. 使用什么指标来衡量成功。你如何衡量你的模型是否在做你想要的事情?在你的具体情况下,这听起来像是一个二元分类问题——你希望能够将文章标记为相关或不相关。你可以使用标准的二元分类指标来衡量你的成功,如ROC曲线下面积。或者,由于你有一个特定的假阳性问题,你可以选择像精确度这样的指标。

  3. 使用随机或简单的方法能做得怎么样。一旦数据集和指标已经建立,你就可以量化使用基本方法完成任务的效果。这可能简单到计算一个随机选择的模型的指标,但在你的情况下,你有关键词解析模型,这是设定基准的完美方式。量化你的关键词解析方法在数据集上的表现,以便你确定何时机器学习模型表现良好。

如果这些对你来说很明显和基础,我很抱歉,但我希望确保这些内容包含在答案中。在这样一个创新的开放式项目中,如果不经过这些基本思考就直接跳入机器学习实验,可能会效率低下。

机器学习方法

正如Evan Mata和Stefan G所建议的,最好的方法是首先将你的文章简化为特征。这可以不使用机器学习(例如向量空间模型)或使用机器学习(word2vec和你引用的其他例子)。对于你的问题,我认为尝试像BOW这样的方法作为起点是合理的。

一旦你有了文章的特征表示,你几乎就完成了,有许多二元分类模型会表现得很好。从这里开始实验,以找到最佳解决方案。

维基百科有一个简单的例子,展示了如何使用这种两步方法进行垃圾邮件过滤,这是一个类似的例子(参见文章的示例使用部分)。

祝你好运,听起来像是一个有趣的项目!

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中创建了一个多类分类项目。该项目可以对…

发表回复

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