Python:集群搜索引擎关键字

use*_*134 6 python text nlp cluster-analysis keyword

Python:集群搜索引擎关键字

嗨,我有一个CSV,最多20,000行(我有10万多个不同的网站),每行包含一个引用关键字(即某人在搜索引擎中键入的关键字以查找相关网站),以及一些访问.

我要做的是将这些关键字聚类成"相似含义"的集群,并创建集群的层次结构(按每个集群的总搜索总数的顺序排列).

一个示例集群 - "女装" - 最好包含这些方面的关键词:女装,1000女装,300女装,50女装,6女装,2

我可以使用类似Python自然语言工具包的东西:http://www.nltk.org/和WordNet,但是,我猜测对于某些网站,引用关键字将是WordNet一无所知的单词/短语.例如,如果网站是名人网站,WordNet不太可能知道关于"Lady Gaga"的任何信息,如果该网站是新闻网站则更糟糕.

因此,我也猜测解决方案必须是一个只使用源数据本身的解决方案.

我的查询非常类似于如何聚类搜索引擎关键字?,我只是想找个地方开始,而是使用Python而不是Java.

我也想知道Google Predict和/或Google Refine是否有用.

无论如何,任何想法/建议最受欢迎,

谢谢,C

Raf*_*afi 0

好吧,我自己是个菜鸟。但我认为解决这个问题的方法是 nltk 和 wordnet。(正如你已经说过的)

首先删除所有数字和任何特殊字符(基本上清理关键字)

检查基本字符串匹配/子字符串匹配

标记POS标签,(以默认标记器作为名词)如果它不是名词,则使用wordnet获取其所有同义词同音异义词并进行匹配。如果它是名词,则使用一些基本技术,例如最低公共子串匹配或拉文斯坦距离、B/K 树等。

您可以根据误报/漏报的需要嵌套级别

至于高级聚类,你可以使用Python机器学习模块(如PyML、Reverend等),并使用已经给定的数据来训练..就像谷歌在LDC上的ngram数据