过滤泡是如何产生的? —— 用PowerShell运行一个“推荐收窄”的简单模型

AI・機械学習カテゴリを表すパンダのイラスト 人工智能・机器学习

关于本文
本文是通过利用生成式AI的自动化生成流程创建的。我们查阅了过滤泡研究的相关论文,并使用PowerShell创建了一个简单的教育用模拟程序来帮助理解这一概念。

验证状态:📘 已查阅论文·已实现教育用模型·并非对实际SNS算法的复现

过滤泡是如何产生的? —— 用PowerShell运行一个“推荐收窄”的简单模型

过滤泡(Filter Bubble)是用来解释在个性化信息环境中接触到的信息趋于单一化这一现象的词汇。然而,现实中的信息环境交织着搜索、关注、好友关系、本人的选择以及推荐等多种因素,因此无法用一个简单的公式来概括。

因此,在本文中,为了便于通过动手操作来理解其概念,我们将其进行了刻意简化。

教育用规则

  1. 用 -100 到 100 的位置来表示内容

  2. 推荐方估计用户的兴趣位置

  3. 显示相近的候选内容

  4. 用户点击1项内容

  5. 将估计值向点击的内容靠拢

  6. 作为教学设定,当估计信心增强时,将显示条目从7条缩减为2条

最后一条规则是教学上有意添加的。这并不意味着实际的YouTube或X(原Twitter)正在使用相同的逻辑。

# 将内容排列在-100到100的虚拟位置上。


# 这并非指实际的政治或SNS分类值,而是用于学习的数轴。

$content = -100,-80,-60,-40,-20,0,20,40,60,80,100

# 设定该虚拟用户偏好45附近的内容。

$hiddenInterest = 45.0

# 推荐方起初并不知道用户的兴趣,因此从0开始进行估计。

$estimate = 0.0

for ($round = 1; $round -le 12; $round++) {

    # 在教学设定中,随着Round的推进,显示候选数从7条缩减至2条。


    # 这并不意味着实际服务在使用这个公式。

    $take = [math]::Max(2, 7 - [math]::Floor(($round - 1) / 2))

    # 按照与当前估计值接近的程度对内容进行排序,并仅推荐排在前面的内容。

    $recommended = $content |
        Sort-Object { [math]::Abs($_ - $estimate) } |
        Select-Object -First $take

    # 假定用户在显示的候选内容中,点击了最接近其原本兴趣的1项内容。


    $clicked = $recommended |
        Sort-Object { [math]::Abs($_ - $hiddenInterest) } |
        Select-Object -First 1

    "Round $round : count=$take shown=$($recommended -join ',') clicked=$clicked"

    # 更新新的估计值:以前的估计值 * 70% + 本次点击值 * 30%。


    # 并非一步到位移动100%,这是一种保留过去估计的简单平滑方法。

    $estimate = 0.7 * $estimate + 0.3 * $clicked
}

随着Round的推进,教学上的候选数减少,估计位置也逐渐向点击内容靠拢。

与回音室的区别

将过滤泡理解为“可见信息的偏倚”,将回音室(Echo Chamber)理解为“在相似意见的人群或信息中产生相同观点的反响与强化的状态”,会更容易理解两者的区别。

不过,研究结果并非整齐划一。也有报告指出通过搜索或SNS接触反对意见的方面同样存在,因此应避免断言“存在推荐就一定会导致视野狭隘”。

GitHub示例

论文与一手资料

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

标题和URL已复制