【问题标题】:How do I find similarity between addresses with Mahout?如何使用 Mahout 找到地址之间的相似性?
【发布时间】:2013-02-20 16:09:22
【问题描述】:

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

我有两组数据:

  • 表 1:id1,地址 1

  • 表 2:id2,地址 2

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

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

已完成:

  1. 将文件合并到一个 csv

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

  3. 向量化:seq2sparse (-wt tfidf)

不完全确定之后该去哪里。推荐或聚类。如何使用jaccard索引等需要指针和例子。

【问题讨论】:

    标签: mahout


    【解决方案1】:

    虽然您可以将通用文本相似性算法应用于地址,但我很确定它会产生较差的结果,因为任何通用算法都不会考虑拼写错误。 “Main St”将与“Main Dr”相似,就像“Main Street”一样。 “Apt 203”和“#203”不相关。

    也就是说——我不认为矢量化表示是良好模糊匹配算法的基础。因此 Mahout 不会直接有用,但可能会提供一些基础设施来构建您自己的非矢量数据集群。

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

    【讨论】:

    • 感谢您的回复,肖恩。另一个场景/问题:如果我有以下情况,我可以对给定地址进行分类和预测邮政编码吗?文件 1(用于训练模型):id、全文地址、邮政编码 文件 2(用于测试):id、全文 addr 是否可以使用 mahout 执行此操作?谢谢你
    • 我不会再考虑 Mahout 这个工具了,而是先决定你需要一个工具来处理什么过程。想想分类器是如何工作的……街道名称的什么属性告诉你它在哪里?虽然 Main St 在同一城市 上的两个地址可能具有相同的邮政编码,但任何两条给定的街道都可能相邻或相距数英里。分类器不合适。相反,您可能希望找到最近的模糊匹配,并在您已知的地址中为邮政编码找到多数票。
    • 尝试预测邮政编码的用例是什么?使用可以给它一个地址并找到邮政编码的地图地理编码 API 是否更有意义?示例:developers.google.com/maps/documentation/geocoding
    【解决方案2】:

    将 Mahout 用于地址相似性可能太多了。您是否考虑过使用像 SimHash 这样更简单的算法?以下是关于它的精彩教程。用于 SimHash 和查找带状疱疹等的 Java 库可在 Google 代码中找到。

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

    你会在这里找到 lib

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

    【讨论】:

      猜你喜欢
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多