哥大學生抗議行動告一段落。對我來說,持續觀察這一事件是難得的體驗。
一位朋友說:張豐從想追求客觀變成了“他們的傳聲筒”,本身就是一個值得研究的事。他支持以色列,認為我在支持巴勒斯坦。
而一位支持巴勒斯坦的朋友也在指責我,因為我的文章還“還不夠”。
我自我檢討。去年10月7日,我為哈馬斯的恐怖罪行而震驚,但是到哥大之後,我開始注意以色列清算哈馬斯造成的後果,開始看到加沙遇難的婦女兒童。慢慢的,我不再喜歡以色列的戰爭技能。
這種變化是困難的。考慮到我公眾號的讀者,大部分都是支持以色列(當然,放眼全國,這又是極少數),我同情巴勒斯坦,冒著得罪讀者的風險。不過,看到不少讀者留言謾罵,我又覺得我的冒犯是有價值的。
人們的認知確實存在極化的現象,一旦形成一個印象,就很難改變。但是,我也看到有些讀者開始像我一樣,看到戰爭的另一個層麵。
如果有“信息繭房”的話,我自己的公眾號就是一個“繭房”,但是它也有從內部瓦解或者更新的可能。
重慶“胖貓”事件也是如此。警方公布胖貓和譚某的經濟往來之後,盡管仍有一部分不信,但是也有相當多的人改變了看法,不再認為譚某是騙子,也有人為曾經指控她為“撈女”而道歉。
這說明,所謂的“信息繭房”,或許隻是一個虛擬的靶子。其實,在傳播學上這個詞的誕生就很有趣,它是一個悖論。
信息繭房(Information
cocoon)這個概念,是美國法學教授凱斯·桑坦斯的《信息烏托邦》最早提出來的,時間是2006年。這是關於信息時代的一個假說。
它為更多人所知,是2014年紐約時報的一篇報道。當時,皮尤研究中心發布了一個報告,認為美國因為黨派政治影響,大眾正在陷入信息繭房或者回音壁效應之中,支持共和黨的都看福克斯,而民主黨受眾則集中在NBC、紐約時報等媒體。這個報告擔憂,如果人們隻看自己“喜歡的”媒體,社會觀念就會越來越兩極化。
大家都忘了,紐約時報在報道這個研究的時候,其實提出了一個相反的看法:移動互聯網時代,人們接受多源信息的渠道和能力,都被低估了,這篇報道的標題就是“Americans
Don’t Live Information Cocoons,美國人沒有生活在信息繭房裏。
吊詭的是,這篇“反思式報道”,反而讓信息繭房這個詞破圈了,尤其是這個詞被翻譯成中文之後,成為一個常用概念。實際上,在穀歌學術上搜索Information
cocoon這個詞,前排展示出來的論文,大部分都是中國人寫的。
在美國,因為它缺乏分析的有效性,既不是一個常用的學術概念,也不是一個日常術語,但是它被翻譯到中文語境,卻成為了一個用來製造焦慮和貶低別人的武器——你處在信息繭房中,就不具備了對話資格。
在以興趣和“算法”為基礎的信息和短視頻流行後,“信息繭房”也成為一個為大家所知的流行詞。這表明了一種擔憂,人們擔心被大數據算計。人們擔心“大數據”捕獲到你的興趣愛好,就會推送相似的內容,這樣你在屏幕上看到的就會是同類信息。
但這種擔心是不必的。前幾天在洛杉磯的時候,我用Uber點了幾次外賣。前天晚上回到紐約,在肯尼迪機場叫了一輛車,上車後竟然收到一條短信:現在在Uber上點餐,等你到家就可以吃了。四十多分鍾的車程,剛好和送餐時間吻合。
我罵了一聲混蛋。但是轉念一想,這也沒什麽。平台其實根本不知道,我晚上從來不點外賣。這不是說“大數據”不聰明,因為嚴格來說,這根本不是大數據,而是一個小小的服務。
我們總是過於敏感,把這樣的信息,上綱上線到“算法”,它連小學數學都算不上。
實際上,就像紐約時報當初報道的那樣,移動互聯網時代,人們接受多元信息的可能性大大增加了。海量的ugc、pgc內容,加上推薦算法,就可以給你帶來一個更大的世界,並且是高效的。
在X(推特)上,除了“正在關注”的人外,還有“為你推薦”,經常推薦我討厭的人。我必須手動屏蔽,才能讓那些人不出現在我的屏幕上。
這說明一個事實:算法不但沒有導致信息繭房,而且正在努力打破我的認知框架,想給我一些新東西。在抖音這樣的視頻平台,這樣的操作也是很普遍。除了係統推薦的,你關注的,還有電商、長視頻各類頻道,甚至還可以自己調節管理每種類型內容的比例。
就連最近的微信公號也開始轉向算法了。現在獲得10萬+比較容易,因為會有“係統推薦”。但是一篇10萬+文章,“點讚”和“在看”,可能隻有幾十上百個。我已經遇到幾次莫名其妙的推薦,感覺自己已經失去對文章的控製,它被推薦到一些陌生人那裏——引來大量謾罵。
坦白說,我不喜歡這種感受。我更喜歡文章被推送到誌同道合者那裏,他們可能會打賞,而不是舉報、謾罵。
換一個說法,我隻在乎同道的評價,就是想製造“回音壁效應”,打造一個“信息繭房”。公眾號本來就是無數個這樣的“繭房”,現在平台加強推薦,反而打破了繭房。
過去的公眾號更像是同溫層自媒體,封閉的、不斷強化認同的。而今日頭條這樣的靠算法推薦的平台,會帶來觀點的不同,突破同溫層,你總會看到新的、意想不到的內容。它恰恰打破了個人視野的局限性。
而短視頻平台就更是如此。不管是抖音還是快手,都有海量用戶,所謂的“算法”,也是多維、立體的,在這樣的信息海洋,你想躲在某個信息繭房裏,反而是不可能的。
很多人喜歡使用“信息繭房”,其實隻是對和自己觀點不一致的人的變相指責。凡是和自己不一致的,就是處在繭房中。其實,各種“不一樣”恰恰說明信息繭房是一個可疑的概念——你不願意看到另一麵,那不是信息繭房的問題,而是你的問題。
-->
`,
"script":[{"type":"text/javascript","src":"//widgets.outbrain.com/outbrain.js","async":"async"}]
}
, "gg_rightside": {
"html":`
`,
"script":[{"type":"text/javascript","src":"//widgets.outbrain.com/outbrain.js","async":"async"}]
}
, "gg_duturandom": {
"html":`
`,
"script":[]
}
, "gg_square": {
"html":`
`,
"script":[]
}
, "gg_topbanner": {
"html":`
`,
"script":[]
}
, "gg_middlesquare": {
"html":`
`,
"script":[]
}
, "gg_dutu": {
"html":`
`,
"script":[]
}
, "gg_botline": {
"html":``,
"script":[]
}
, "gg_dututop": {
"html":`
`,
"script":[]
}
, "gg_shipintop": {
"html":`
`,
"script":[]
}
, "gg_inContent": {
"html":`
`,
"script":[]
}
, "gg_shipinrandom": {
"html":``,
"script":[]
}
, "gg_sideSticky": {
"html":`
`,
"script":[]
}
, "gg_bottombanner": {
"html":`
`,
"script":[{"type":"text/javascript","src":"//widgets.outbrain.com/outbrain.js","async":"async"}]
}
, "gg_marquee": {
"html":`
`,
"script":[]
}
}
const adEnv={
"gg_header": {
"html":``,
"script":[{"type":"text/javascript","exec":` var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; var pbjs = pbjs || {}; pbjs.que = pbjs.que || []; `},{"type":"text/javascript","src":"https://adncdnend.azureedge.net/adn-hb/adn.wnx2.js","async":""},{"type":"text/javascript","src":"https://adncdnend.azureedge.net/adn-video/WenxuecityPlayer.js","async":"async"}]
}
}
const wxcEnv = {
"base":{
"exe":[],
"src":[
{"src": "/news/js/recommendednews.js","defer":"true"},
{"src":"/js/wxcFunc.js","defer":"true"}
]
},
"func":{
"exe":[
//展示評論
'function showMoreComments(){let n = 4;for(let i=0;i
2){dom.hide();}}$("#showallcomment").show();$("#showlesscomment").hide();};hideComments();',
],
"src":[
//圖片,搜索,QR code
{"src": "/news/js/view.js?v=05132024"},
//計數器
{"src":"//count.wenxuecity.com/service/count/script/do.php?type=news&id=125583437&n=0&out=jsval","defer":"true"},
]
}
}
function wxcCode(){
wxcEnv.base.exe.forEach(x=>{
let tag = buildAdcode(x);
document.head.append(tag);
})
wxcEnv.base.src.forEach(src => {
let tag = buildSrc(src)
document.head.append(tag);
});
wxcEnv.func.exe.forEach(x=>{
let tag = buildAdcode(x);
document.body.append(tag);
})
wxcEnv.func.src.forEach(src => {
let tag = buildSrc(src)
document.body.append(tag);
});
}
function adcode(){
let adkey = Object.keys(ads);
adkey.forEach(x=>{
let code = ads[x].html;
let div = document.getElementById(x);
if(div)div.innerHTML = code;
ads[x].script.forEach(s=>{
if(Object.keys(s).indexOf('src')===-1){
let tag = buildAdcode(s.exec);
document.body.append(tag);
}else{
let tag = buildSrc(s);
document.body.append(tag);
}
})
})
}
function baseCode(){
let baseKeys = Object.keys(adEnv);
baseKeys.forEach(x=>{
adEnv[x].script.forEach(s=>{
if(Object.keys(s).indexOf('src')===-1){
let tag = buildAdcode(s.exec);
document.head.append(tag);
}else{
let tag = buildSrc(s);
document.head.append(tag);
}
})
})
}
function buildAdcode(script){
let tag = document.createElement('script');
tag.innerHTML = script;
return tag;
}
function buildSrc(obj){
let keys = Object.keys(obj);
let tag = document.createElement("script");
keys.forEach(key=>{
tag.setAttribute(key, obj[key]);
})
return tag ;
}