用于对具有特定主题的单词列表进行分类的 NLP 算法

数据挖掘 Python nlp 算法 主题模型
2021-09-16 08:04:28

目前我正在使用 LDA 将主题建模应用于语料库。由于 LDA 是无监督的,它返回给定“主题”的一组词,但不一定指定主题本身。我想知道对于采用单词列表并查看可以分类到哪些主题的算法是否有任何建议?

例如[cat, dog, fish]可以归类为animalspets

我的模型的一个输出:

['game', 'week', 'fantasy', 'sportsline', 'play', 'players', 'league', 'random', 'sunday', 'season', 'agent', 'elink', 'exercise', 'start', 'yards', 'free', 'injury', 'expected', 'practice', 'getbad', 'weekly', 'year', 'reports', 'starting', 'luck', 'nat', 'nfl', 'weeks', 'smith', 'fast']

可以归类为footballsports

任何建议,特别是 Python 模型/包,将不胜感激。

1个回答

扩展@krayyem 评论中所述的基本思想,您正在寻找Ontology和/或Taxonomy简短的故事是(1)根据您的数据构建它们或(2)使用现有数据。

从您的数据构建

你需要很多 Is-A 对来表明这个概念是什么类型的东西,例如马拉多纳是一名足球运动员,而足球是一项运动为此,您根据一些模式从文本中提取信息并更新信息,然后根据信息更新模式,循环继续进行,直到它不再改变。虽然看到这个答案。

您可能正在寻找的解决方案

使用现有的知识库,其中一些在 Python 中,例如wordnet您可以在我为上面链接的答案提供的链接中找到更多信息。

如何进行一种想法

在找到的关键字中找到主导关键字。您可能只是简单地计算并浏览概念图(您的本体,知识库)并找到父概念。如果无法以这种形式访问图形,您可以使用 Python 中的现有 API 和/或 Python 中的图形库(如 Networkx)自己创建它。

如果需要更多输入,请在此处评论。祝你好运!