如何使用本体进行文本分类?

数据挖掘 分类 文本分类 知识图谱
2022-03-02 16:53:29

我是机器学习的新手,想使用本体(分类法/知识图)和监督学习方法(我有一个带注释的训练数据集)对句子进行分类。

我的问题是如何使用本体来完成这项任务?下面的方法正确吗?

我将首先执行标记化、词干化和停用词删除(预处理)。然后,我将在本体中搜索每个术语,并在找到它们之后,将它们的相关层次结构添加到每个文档的数组或向量中。然后我将在这些向量上训练分类器(监督)。

请让我知道此方法是否正确,或者我是否缺少此处的步骤。

谢谢!:)

1个回答

由于没有人回答我的问题,我将描述我在这里为其他人找到的内容。

与我在上面的问题中描述的类似,您会进行预处理,然后在本体中查找术语并将它们替换为本体中的整个分支。之后,你训练你的模型。

笔记:

  • 由于您拥有包含所有相关术语的本体,因此您可以在预处理时保留停用词。可以通过列表或使用 sklearn 或 Spacy 来删除停用词。此外,Spacy 执行词形还原,这也可以通过本体来完成(更准确,但可能更慢)。

  • 使用 SPARQL 处理本体和模式匹配。Spacy 也进行模式匹配;此外,Lucene 和其他几个工具。但是,我没有将它们与本体一起使用。也可以使用相似度算法。

  • 我发现随机森林在传统的监督方法中效果最好。但是,可能使用神经网络可能会产生更好的结果。请记住,您可以在没有本体的情况下使用替代方法进行文本分类,例如词嵌入和主题模型。Spacy 似乎也是文本分类的好工具。它有很好的文档。