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
好吧,我自己是个菜鸟。但我认为解决这个问题的方法是 nltk 和 wordnet。(正如你已经说过的)
首先删除所有数字和任何特殊字符(基本上清理关键字)
检查基本字符串匹配/子字符串匹配
标记POS标签,(以默认标记器作为名词)如果它不是名词,则使用wordnet获取其所有同义词同音异义词并进行匹配。如果它是名词,则使用一些基本技术,例如最低公共子串匹配或拉文斯坦距离、B/K 树等。
您可以根据误报/漏报的需要嵌套级别
至于高级聚类,你可以使用Python机器学习模块(如PyML、Reverend等),并使用已经给定的数据来训练..就像谷歌在LDC上的ngram数据