gpt4 book ai didi

php - 从 facebook 和 twitter 好友中找到相似度分数的算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:08:56 26 4
gpt4 key购买 nike

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

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

有什么建议吗?

最佳答案

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

我的推特 friend : 阿达 艾伦 贝丝 达娜 乔恩

我的 Facebook 好友: 安妮 贝丝 达娜 乔恩

空间包含维度: <艾达、艾伦、安妮、贝丝、达娜、乔恩>

推特矢量:t = < 1, 1, 0, 1, 1, 1 >

Facebook 向量:f = < 0, 0, 1, 1, 1, 1 >

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

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

关于php - 从 facebook 和 twitter 好友中找到相似度分数的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16183417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com