使用Python的NLTK,我成功地从一篇博客文章中提取出了单元图、比格图、三格图和四边形。我把观点与整个网站的内容,以找到正确的主题讨论在给定的博客文章。
我得到了一个结果,如article_topic =“养狗”
现在,什么是正确或最好的方式使用“狗繁殖”术语,并找到相关的术语,类似的长度,例如,狗育种计划,育种犬,狗繁殖,等等。
是否有API或库对此有所帮助?
发布于 2016-12-04 05:48:05
如果您想根据主题对文档进行分类,那么进一步推进的一种方法是使用聚类。
因此,我遇到了一个类似的问题,一个几百个文档的数据集。此外,我还获得了创建集群的所有主题。
工作-在集群完成之后,对于任何集群,该集群中的所有文档都是密切相关的,因为群集是根据在集群中找到的主题进行的。
如何-
因此,我遵循的说明是::
1)用tf-idf表示法链接以向量形式表示每个文档。
2)利用上面得到的向量形式运行K-均值聚类算法。
3)最后,您得到的任何新文档都可以一直添加到集群中。
4)现在您可以知道集群中的主题是密切相关的,因此您的新文档可以被归类到一个/多个主题中。
想了解更多信息- 链接
发布于 2016-12-05 00:32:46
您可以使用非常流行的语义向量(或word2vec)。使用此模型,您可以很容易地根据训练集推断出最相似的单词(或主题)。你可以用10亿个英语单词获得谷歌培训过的模型。然而,你也可以使用你博客的标签来训练你自己的模型(这对我来说是有意义的)。
你可以用Gensin库来做。https://radimrehurek.com/gensim/models/word2vec.html
发布于 2016-12-05 02:51:14
如果我已经正确地理解了您的问题,您将为每一篇文章提供主题,现在您希望选择与相关文章主题更接近的其他关键字。
您可以通过两个步骤实现这一点:
k权重选择最高级的tf-idf术语,它们应该更接近文章主题。因为您已经知道了文章的主题,所以没有必要使用主题建模方法。也许,您可以使用字嵌入技术,但随后您必须重新设计您的主题推理部分。这将是困难的,如果你没有足够的知识的词嵌入技术,如CBOW或跳格模型。(我不想为你的目标任务推荐这个)
我宁愿建议您使用一些基于聚类的方法来使用好的特征提取技术,我相信您会得到相当好的结果。您可以考虑一些很好的度量,比如互信息,它可以告诉您两个关键字是否共享一些信息,并且应该分组在一起。
最后,您还可以使用一些基于字典的方法来计算关键字之间的语义相关性。例如,您可以使用WordNet,然后根据它们之间的关系根据WordNet层次结构对关键字对进行评分。WordNet是一种非常好的结构化知识资源。有关详细信息,请参阅此示例。您可以使用用于WordNet搜索的Java或WordNet NLTK接口,它们都非常容易使用(我以前使用过)。
您可以计算WordNet相似度(成对关系),这样每个单词/主题都表示为一个距离向量,然后可以离散化,因此每个向量都有这样的形式:[0,2,3,1,0,0,2,1,3,...]。然后,可以使用NLTK集群包或scikit学习集群包中的一种方法对这些向量进行聚类。
我相信你会得到足够好的结果,这些建议的方法。
https://stackoverflow.com/questions/40955700
复制相似问题