我正在研究一个 LDA 模型,以根据其课程描述和标题来识别约 100,000 个在线课程的主题。在进一步的过程中,我想使用这些主题对这些课程进行聚类。到目前为止,我们的模型确定的主题并不是很好,我正在寻找改进的方法 - 并就我的改进尝试获得一些想法。以下是我们当前(非常标准)方法的快速总结,以及我对改进的一些想法:
合并标题、副标题和课程描述
删除长度 < 100 字的描述和非英语描述
对于培训,我只使用较长的英文描述。当然,这意味着非英语描述的课程将被随机分类。
- 随机选择 30,000 条描述
这个数字有些随意。我注意到当使用较少的描述进行培训时,主题更加“清晰”。但是,我们不希望我们的主题基于在此步骤中选择的随机描述而产生偏见。
- 删除停用词
自定义和使用库。
删除标点符号
词形还原
删除出现在超过 50% 文档中的单词
为了识别重复出现的主题,我在 for 循环中多次运行模型并打印了结果主题。基于这些迭代的主题重叠,我正在考虑添加与重复出现的主题相关的维基百科文章,并将它们添加到我们用于训练的描述中。通过这种方式,我希望能够“强化”训练数据中的这些主题,并使它们更加清晰——希望得到更多可解释的主题。目前,我正在将大约 150 篇维基百科文章添加到包含 30,000 条课程描述的语料库中,结果似乎很有希望。
我的主要问题是:将预先选择的维基百科文章添加到我们的训练数据中的方法是否有效?这意味着什么?
我知道,通过使用这种方法,我将我们的模型“推”向我们在初始运行中看到的主题方向 - 但是,我相信对该数据集的训练将导致更好/更可解释的分类当然说明。