张春成

V2

2022/07/14阅读:19主题:默认主题

信息茧房

信息茧房

都说互联网是个信息茧房,所以我们就来试试。

其实什么也没试出来。


搜索引擎

做这个事情的思路很简单,就是利用搜索引擎,从一个词开始,一路搜索下去。比如从 bank 开始,找到了 automobile,又找到了 motocar,又遇到了 nationwide。

Untitled
Untitled

当然,实际情况比这个要复杂,因为对于某个搜索结果,我不可能只搜索一个词。而是要统计哪些词出现的频率高,就探索这样一些出现频率高的词。类似广度优先(BFS)的搜索机制。

Untitled
Untitled

接下来的事情就很简单,找一个爬虫,比如 BeautifulSoup

Beautiful Soup Documentation - Beautiful Soup 4.4.0 documentation

def bfs(keyword):
  '''
  BFS search
  '''


  # !!! Add some stop code here to prevent it operates forever.

 url = f'https://cn.bing.com/search?q={keyword}&ensearch=1'
 rep = requests.request('get', url=url)
 content = rep.content
 soup = bs(content)

 # Get words from soup
 words = parse(soup)

 # Continue with words
 for w in words:
  bfs(w)

 return

按照这样的规则去不断探索 Bing 的国际版。重复一段时间之后,就可以得到下面的映射表格,它代表从 word 出发,能搜索到哪些词汇。下图的初始关键词是 steam。

Untitled
Untitled

再计算简单的后验概率,就可以得到词汇之间的连接强弱关系

Untitled
Untitled
Untitled
Untitled

接下来,将词汇当作是节点,它们之间的连接关系当作是节点之间的连接强度,可以绘制它们的信息拓扑图,图中的颜色代表它是在第几次迭代时进入视野的,其实就代表它与原始词之间的远近关系。

Untitled
Untitled
Untitled
Untitled
Untitled
Untitled

前端代码可见我的前端笔记本,Graph view of searches / Chuncheng / Observable (observablehq.com)。看上去这个方法可能能够提供一个词汇扩展的思路,但我是啥也没看出来。不过技术嘛,不一定非得有用,是吧?

Graph view of searches

分类:

后端

标签:

后端

作者介绍

张春成
V2