如何构建关键字云?

问题描述 投票:1回答:1

如何构建关键字云?我知道有很多nlp方法,但是我不确定它们如何解决以下问题:

您可以有几个项目,每个项目都有与之相关的关键字列表。

((在我自己的程序中,这些项目是我可以使用nlp方法检测专有名词,人物,地点和(?)可能是主题的文章。如果文章大小足够,这将是一个很大的列表,但是我会假设我可以通过比较文章来使用某种方法来筛选列表。如何正确执行此操作令我感到困惑。]

每个项目都可以有一个关键字列表,但是如何选择关键字,以使每个项目之间的关键字不会过于具体或过于笼统?例如,琐碎的“ the”可以是包含很多项目的关键字。虽然“超级口算主义者”只能合而为一。

I suppose我可以创建一种启发式方法,如果在n足够小的项目的n%中存在一个单词,但会返回一个不错的子列表(例如,每1000篇文章中的5%为50 ,这似乎很合理),那么我可以使用它。 但是,我采用这种方法的问题是,给定两组完全不同的项目,这些项目之间的相互关联性很可能存在一些差异,因此我将这些信息扔掉了。

这非常不令人满意。

我认为,鉴于关键字云的普及,必须已经创建了一个解决方案。但是,我不想使用库,因为我想理解和操纵数学中的假设。

如果有人有任何想法,请告诉我。

谢谢!

编辑:

freenode / programming / guardianx已建议https://en.wikipedia.org/wiki/Tf%E2%80%93idf

tf-idf可以,但是问题是需要先确定权重。考虑到两个不同的文档集合在文档之间具有不同的固有相似性,假设先验权重不正确]

freenode / programming / anon

建议的https://en.wikipedia.org/wiki/Word2vec

我不确定我想要使用神经网络的东西(这个问题有点复杂吗?),但仍在考虑。

如何构建关键字云?我知道有很多nlp方法,但是我不确定它们如何解决以下问题:您可以有多个项目,每个项目都有与...相关的关键字列表...

algorithm math search nlp keyword
1个回答
0
投票

Tf-idf仍然是提取关键字的相当标准的方法。您可以尝试a tf-idf-based keyword extractor的演示(它具有idf矢量,正如您所说的,是根据Wikipedia估算的)。一种流行的替代方法是基于PageRank的TextRank algorithm,在Gensim中有现成的实现。

© www.soinside.com 2019 - 2024. All rights reserved.