如何构建关键字云? 我知道有很多nlp方法,但是我不确定它们如何解决以下问题:
您可以有多个项目,每个项目都有与之相关的关键字列表。
(在我自己的程序中,这些项目是我可以使用nlp方法检测专有名词,人物,地点和(?)可能是主题的文章。如果文章大小足够,这将是一个很大的列表,但是我将假设我可以通过比较文章的方式使用某种方法来筛选列表。如何正确执行操作是我很困惑的事情。
每个项目都可以有一个关键字列表,但是它们如何选择关键字,以使每个项目之间的关键字不会过于具体或过于笼统? 例如,琐碎的“ the”可以是包含很多项目的关键字。 而“超能力”只能合而为一。
我假定,我可以创建一种启发式方法,如果在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
我不确定我想要使用神经网络的东西(这个问题有点复杂吗?),但仍在考虑。