【问题标题】:algorithm to find a similarity score from facebook and twitter friends?从 facebook 和 twitter 朋友那里找到相似度分数的算法?
【发布时间】:2013-04-24 04:34:07
【问题描述】:

我使用 PHP 从 facebook 和 twitter 获取朋友列表,并将每个列表存储在一个关联数组中。我有他们的名字和位置。我想根据他们的姓名和位置比较来自 fb 和 twitter 的朋友,并提供相似度分数。

就像我想设置一个大约 0.7 的阈值,如果分数高于一个人的分数,那么这意味着它们代表同一个实体。我使用了php函数similar_text,但它太基础了,几乎每个朋友都有50-60%的匹配度,因为它只是基于名字中的单词。

有什么建议吗?

【问题讨论】:

    标签: php algorithm facebook-graph-api twitter similarity


    【解决方案1】:

    您可能需要考虑向量空间模型:将每个名称和位置表示为非常高维空间中的一个维度。将 twitter 表示为一个向量,将 facebook 表示为另一个向量。例如,如果我在 facebook 和 twitter 上都有一个名叫 Mike 的朋友,则“Mike”维度在两个向量中都有一个非零值。通过比较这两个向量之间的角度,我可以计算出相似度得分。较小的角度表示较高的相似度。一个简单的例子:

    我的推特朋友: 艾达 艾伦 贝丝 达纳 乔恩

    我的脸书好友: 安妮 贝丝 达纳 乔恩

    空间包含维度:

    推特矢量: t =

    脸书矢量: f =

    它们之间的夹角等于 ArcCos( [ f dot t ] / [ | f | * | t | ])

    https://en.wikipedia.org/wiki/Vector_space_model

    【讨论】:

    • 这是一个基于名称计算相似度的好主意,我有一个问题,我如何合并位置?就像我有两套 Ada Alan Beth Dana Jon,一套住在洛杉矶,一套住在纽约。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多