首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Python中的关键字中找到一组类似的主题?

如何从Python中的关键字中找到一组类似的主题?
EN

Stack Overflow用户
提问于 2016-12-04 05:26:01
回答 3查看 3.9K关注 0票数 1

使用Python的NLTK,我成功地从一篇博客文章中提取出了单元图、比格图、三格图和四边形。我把观点与整个网站的内容,以找到正确的主题讨论在给定的博客文章。

我得到了一个结果,如article_topic =“养狗”

现在,什么是正确或最好的方式使用“狗繁殖”术语,并找到相关的术语,类似的长度,例如,狗育种计划,育种犬,狗繁殖,等等。

是否有API或库对此有所帮助?

EN

回答 3

Stack Overflow用户

发布于 2016-12-04 05:48:05

如果您想根据主题对文档进行分类,那么进一步推进的一种方法是使用聚类。

因此,我遇到了一个类似的问题,一个几百个文档的数据集。此外,我还获得了创建集群的所有主题。

工作-在集群完成之后,对于任何集群,该集群中的所有文档都是密切相关的,因为群集是根据在集群中找到的主题进行的。

如何-

因此,我遵循的说明是:

1)用tf-idf表示法链接以向量形式表示每个文档。

2)利用上面得到的向量形式运行K-均值聚类算法。

3)最后,您得到的任何新文档都可以一直添加到集群中。

4)现在您可以知道集群中的主题是密切相关的,因此您的新文档可以被归类到一个/多个主题中。

想了解更多信息- 链接

票数 0
EN

Stack Overflow用户

发布于 2016-12-05 00:32:46

您可以使用非常流行的语义向量(或word2vec)。使用此模型,您可以很容易地根据训练集推断出最相似的单词(或主题)。你可以用10亿个英语单词获得谷歌培训过的模型。然而,你也可以使用你博客的标签来训练你自己的模型(这对我来说是有意义的)。

你可以用Gensin库来做。https://radimrehurek.com/gensim/models/word2vec.html

票数 0
EN

Stack Overflow用户

发布于 2016-12-05 02:51:14

如果我已经正确地理解了您的问题,您将为每一篇文章提供主题,现在您希望选择与相关文章主题更接近的其他关键字。

您可以通过两个步骤实现这一点:

  • 第1步:从一篇文章中根据k权重选择最高级的tf-idf术语,它们应该更接近文章主题。
  • 步骤2:将共享相同主题的所有文章聚在一起,然后执行步骤1中解释的相同的操作。

因为您已经知道了文章的主题,所以没有必要使用主题建模方法。也许,您可以使用字嵌入技术,但随后您必须重新设计您的主题推理部分。这将是困难的,如果你没有足够的知识的词嵌入技术,如CBOW或跳格模型。(我不想为你的目标任务推荐这个)

我宁愿建议您使用一些基于聚类的方法来使用好的特征提取技术,我相信您会得到相当好的结果。您可以考虑一些很好的度量,比如互信息,它可以告诉您两个关键字是否共享一些信息,并且应该分组在一起。

最后,您还可以使用一些基于字典的方法来计算关键字之间的语义相关性。例如,您可以使用WordNet,然后根据它们之间的关系根据WordNet层次结构对关键字对进行评分。WordNet是一种非常好的结构化知识资源。有关详细信息,请参阅此示例。您可以使用用于WordNet搜索的JavaWordNet NLTK接口,它们都非常容易使用(我以前使用过)。

您可以计算WordNet相似度(成对关系),这样每个单词/主题都表示为一个距离向量,然后可以离散化,因此每个向量都有这样的形式:[0,2,3,1,0,0,2,1,3,...]。然后,可以使用NLTK集群包scikit学习集群包中的一种方法对这些向量进行聚类。

我相信你会得到足够好的结果,这些建议的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40955700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档