如何找到与Mahout的地址之间的相似性?

时间:2013-02-18 09:36:04

标签: mahout

需要帮助和建议。设置了一个带有mahout集群的5个hadoop

我有两组数据:

  • 表1:id1,地址1

  • 表2:id2,address2

  • 如何使用mahout查找相似性评分,以便比较两个文件中的地址,以便得到以下结果?

结果:地址1,地址2,得分

完成了:

  1. 将文件合并到一个csv

  2. 转换为序列文件:seqdirectory,

  3. vectorise:seq2sparse(-wt tfidf)
  4. 不完全确定在此之后去哪里。推荐或聚类。如何使用jaccard索引等需要指针和示例。

2 个答案:

答案 0 :(得分:1)

虽然您可以将通用文本相似度算法应用于地址,但我很确定它会产生不良结果,因为任何通用算法都不会解释拼写错误。 “Main St”将与“Main Dr”类似“Main Street”。 “Apt 203”和“#203”无关。

那就是 - 我不认为矢量化表示是这里良好的模糊匹配算法的基础。因此Mahout将无法直接使用,但可能会提供一些基础设施来构建您自己的非矢量数据聚类。

在选择工具之前,我会备份并定义您的算法。

答案 1 :(得分:0)

使用Mahout进行地址相似可能太多了。您是否考虑使用像SimHash这样简单的算法?以下是一个很棒的教程。用于SimHash的Java库和用于查找Shingles等的Java库可在Google代码中找到。

http://matpalm.com/resemblance/simhash/

你会在这里找到lib

http://code.google.com/p/simhash/