“弹窗”的算法不是法:凭什么限制人身自由?
文章来源: 何家弘说案 于
- 新闻取自各大新闻媒体,新闻内容并不代表本网立场!
日前,我在网上看到老人到湖州开会,回京时妻子的健康宝突然出现“弹窗”,导致他们无法购买火车票或飞机票。他们各方求助,都没有得到解决。他们甚至都不知道为什么出现了弹窗。而且,二人一直同行同住,为什么只有一人弹窗?健康宝系统的AI女士在解答问题时虽然软语温柔,但是不解决任何实际问题,给人的感觉是冷冰冰的。两位老人孤独无助地滞留他乡的这段经历,令人感慨万分。
于是,我又想到了发生在自己身边的事情。我的亲戚在两个月前从深圳来到北京。这也是一对七八十岁的老人。他们在北京饭店住了几天,按规定进行核酸检测。一天早上,ta他们要乘坐出租车外出时,丈夫的健康宝突然出现了弹窗。他们急忙回饭店询问工作人员,后者回答说可能是他们在深圳的住宅区出现了疫情。按规定,他们要就地隔离,搬到特定楼层的房间。工作人员考虑到他们的年龄,又征求了他们的意见,然后通过酒店帮他们购买了返回深圳的飞机票,
并且叫来出租车,亲自向司机说明有关情况。当天晚上,他们顺利地回到了深圳的家中。他们非常感谢北京饭店的工作人员!
健康宝的弹窗是科学技术的产物。防疫部门利用这种科技手段进行流行病学调查和疫情风险排查,具有一定的必要性与合理性。但是,把弹窗作为直接限制公民自由的工具,
缺乏法律依据,因为这等于把信息系统的“算法”当作了限制公民权利和拘束公民行为的法律。
健康宝的弹窗功能是以算法为基础的,而算法是信息技术人员为实现特定目的或解决特定问题而设计的一系列准确而完整的指令,是通过相关的软件、程序或代码表达的系统性技术规则。毫无疑问,算法的设计是一项科学工作。但是,在一个国家中,限制公民权利和自由的决策不仅要考虑科学性,还要考虑许多涉及国家治理和道德规范的因素,例如公平、秩序、人性、友善、和谐等。因此,把限制公民权利和自由的权力交给算法,既不符合人类文明的要求,也不符合依法治国的原则。
算法虽然具有科学性,但是在设计过程中也可能出现疏漏,或者说,算法的内部结构与实现逻辑也可能存在漏洞,甚至包含某些设计人员私自安植的“后门”。因此,涉及公民权力和自由的重大问题,不能完全交由算法进行规制处理。另外,作为健康宝弹窗之基础的算法,往往还会运用大数据抓取技术去选择对象,于是就出现了同行同住的夫妻中只有一人弹窗的现象。用这种带有随机性的选择方法确定限制人身自由的对象,显然不符合公平正当的法治原则。
我以为,健康宝的弹窗技术具有科学性,可以作为防疫部门进行流行病学调查和疫情风险排查的工具,但是不能直接用来限制公民的人身自由。我建议防疫部门采取修正措施如下:1.要求信息技术人员修改算法,使那些需要提醒的可能与新冠病毒感染者有接触的人不再出现手机弹窗,而改为手机短信提示;2.明确规定健康宝弹窗只是对个人的提醒,不影响其乘坐交通工具和进入公共场所。诚然,笔者只是个法学教授,既不懂疫情防控,也不懂信息技术,因此,这只是从法治的角度提出的一点建议,
供决策者参考而已。
随着大数据和人工智能等新型科学技术的迅速发展,我们正在快步进入人类社会的智能时代。在这种形势下,算法会以各种方式干预人类的生活,而智能机器和信息系统等搭载算法的各类产物也会干方百计地入侵人类的社会。假如有一天,国家的法治变成了“算法之治”,人类恐怕就将沦为机器人的奴隶!
我这是杞人忧天吗?
-->
`,
"script":[]
}
, "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":""},{"src":"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js","async":"","data-ad-client":"ca-pub-7528949385909099"},{"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 = 10;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=11965158&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 ;
}