在安卓系统开发中,实现订阅模式是一种非常常见且实用的技术方法。订阅模式是一种设计模式,通过该模式,对象之间的一对多的依赖关系被解耦,当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并自动更新。本文将探讨在安卓系统开发中不同的技术方法来实现订阅模式。
1. BroadcastReceiver:
一个常见的安卓系统开发中实现订阅模式的技术方法是使用BroadcastReceiver。通过注册广播接收器,可以让组件之间进行消息传递,实现状态更新的订阅和通知。当某个事件发生时,发送广播,注册了相应广播的组件就能接收到通知并做出相应的响应。这种方式适用于需要全局通知的情况,但也存在广播无法传递复杂数据结构的缺点。
2. EventBus:
EventBus是一个开源的事件总线库,提供了一种更加方便、灵活的订阅模式实现方法。在安卓系统开发中,EventBus可以帮助组件之间进行解耦,实现事件的发布和订阅。通过定义事件类和注册/注销事件监听器,可以实现事件的发布和订阅,实现状态更新。EventBus可以传递复杂的数据结构,并且具有线程模型的灵活性,使得安卓应用的开发更加简单高效。
3. RxJava:
RxJava是一个基于响应式编程思想的库,提供了强大的事件处理和数据流操作功能。在安卓系统开发中,RxJava可以作为实现订阅模式的技术方法之一。通过Observable和Subscriber,可以建立观察者模式的订阅关系,在数据流发生改变时及时通知订阅者。RxJava提供了丰富的操作符,可以方便地进行数据处理和转换,使得订阅模式的实现更加灵活和高效。
4. LiveData:
LiveData是Android架构组件库中的一个核心组件,用于实现数据驱动的UI更新。在安卓系统开发中,LiveData可以作为实现订阅模式的技术方法之一。LiveData具有生命周期感知能力,可以在数据发生变化时通知观察者,实现订阅和更新。通过ViewModel结合LiveData的方式,可以帮助开发者更好地管理UI组件的数据和状态,实现模块化的设计。
在安卓系统开发中,实现订阅模式的技术方法有多种选择,每种方法都有其适用的场景和优缺点。开发者可以根据具体需求和项目特点选择合适的技术方法来实现订阅模式,从而提高代码的可读性和可维护性,实现更加优秀的安卓应用。
app定制开发需要怎么定制?
手机app制作流程从app开发前,中,后期详细给您讲解下:
一、App开发前期
1、明确app开发需求
在明确需要开发一个app前,首先要问自己,为什么要做一个app,手机app需要什么系统版本,app是给谁使用的,面向的用户是哪些群体等。要对开发app行业进行了解,分析app开发的可行性。
2、确定app开发报价
在确定完需求后,开发公司会根据沟通内容出一份开发app功能需求列表,目前普遍使用思维导图居多,可以根据这份思维导图增加或删除功能。敲定好功能需求后,再确认使用什么开发模式进行开发等细节。较后开发公司会核算开发所需周期和人员投入,提供一份详细开发价格表。
二、App开发中期
1、确定视觉UI界面设计
UI设计是APP正式开发的为数不多步。一般来说,app风格较好简洁大方,功能一目了然,能让用户为数不多眼留下好印象。效果图的制作会根据app的需求、app的LOGO、app面对人群来选择主色调,终让客户确定。
2、着手开发app应用程序
在确定好app界面风格后,就可以正式进入app应用程序开发了。目前主流app包括两类,一类是基于安卓系统的app,另一类是基于苹果系统的app。两种系统使用的开发语言和工具不同,但是流程基本都是包括前端开发、后端开发、应用接口开发、服务器环境构建等。此外还有就是页面标注和手机适配,这是app开发项目独有的流程。这个环节是为了能够让app在不同手机上也能正常显示和使用,后期上线不会影响用户使用app的体验。
3、进行app整体测试
测试内容包括:APP内容测试、APP性能测试、APP功能测试、APP视觉测试、对于BUG调试修复。如果测试问题需要及时修复,直到测试结果通过,App的整体开发才能完成。可以多邀请一些内部人员进行测试,充分优化和测试app的体验度和稳定性。
三、App开发后期
1、App打包上线发布
全部做好之后就可以在各大应用市场发布上线了。APP上线审核,俱备苹果开发者账号的前提下,一般苹果的APP store审核大概需要一个星期,安卓审核在3天左右,甚至更快,所以我们要注意把握好这个时间,不要让审核时间耽误上线时间。而且,有个别情况会导致审核失败,需要修改资料重新提交,这样就会导致审核周期更长。
2、App后期维护升级
跟随手指的小白点如何取消
1.点手机屏幕有一个圆点是怎么回事建议您:1.重新开关机。
2.切换到不同界面,查看是否都是同一位置出现此情况。
初步排除图案背景问题。
3.如果问题依旧,由于网络中无法对实物机器进行实际检测。
为了更针对性的了解并解决您手机出现的问题。
跟随手指的小白点如何取消1、进入手机桌面,找到设置图标,点击进入.2、滑动屏幕,找到系统应用选项,点击进入.3、然后找到屏幕录制点击进入.4、记录屏幕点击动作,关闭它之后,录屏的时候就不会再出现小白点啦.因为“显示触摸操作”这个功能会在录屏时自动激活,所以就算录屏开始前打开此操作,也是关闭状态手机怎么把触屏圆点去掉oppo触摸有小圆点怎么关闭。
1、打开oppo手机设置,点击关于手机;2、在关于手机界面点击版本号;3、在设置中点击其他设置,点击开发者选项;4、输入验证码,点击使用5、开启开发者选项;6、可以看到显示触摸操作,将其开启即可。
7、在不行可以联系客服解决。
4.点手机屏幕有一个圆点是怎么回事儿手机屏幕(所有安卓手机)上一触碰就会出现小圆圈是因为开启了【显示点按操作反馈】功能,用户在屏幕上的每一次点击,都会在点击的位置上显示圆点。
这个功能位于开发者模式中,需要进入【系统设置】-【开发者选项】-【显示点按操作反馈】中关闭。
以下是具体说明:1、显示点按操作反馈是安卓系统开发者用来测试手机屏幕点按效果的一个功能,在常规情况下(也就是没有开启开发者选项时)是关闭的,如果出现了这个功能就表示开发者选项开启了。
2、如果需要关闭这个功能,可以在系统中直接在【系统设置】中关闭【开发者选项】;或者进入【系统设置】-【开发者选项】,只关闭【显示点按操作反馈】选项。
3、需要注意的是,开发者选项涉及到系统关键位置的设置,所以一般情况下建议用户关闭,以免被其他非法应用侵入获取隐私数据。
4、以上回答适用于所有的安卓手机(不限机型和系统版本)。
5.手机屏幕点一下有个圆点是什么屏幕上的小圆点怎么去掉?很多用户在使用苹果手机的时候都想要用小圆点,那么屏幕上的小圆点要怎么去掉呢?接下来就来和大家分享一下设置的方法。
本视频是由苹果xsmax手机的ios12版本录制的。
首先在手机页面打开设置功能,在设置页面点击辅助功能,这时即可在页面看到触控选项,点击进入之后再点击辅助触控,滑动按钮关闭就可以成功去掉了。
6.手机屏幕手点上去,会出现一个圆点可能开启显示触控操作,开启后手指点击屏幕,屏幕会出现一个小圆点或者一个小白点。
开启方法:1、进入「设置>关于本机(关于手机)>(版本信息)>版本号」,连续点击版本号,(输入锁屏密码),即可打开开发者模式。
2、进入「设置>系统设置(其他设置)>开发者选项>显示触摸操作」,打开对应开关即可7.点手机屏幕有一个圆点是怎么回事OPPO1.打开手机,点击桌面上的”设置“进入。
2.进入设置以后,点击”智能便捷“一项进入,。
3.然后选择”导航键“选项。
4.进入导航键以后,点击“虚拟按键导航”选项。
5.然后将“虚拟按键可隐藏”一项的开关打开即可。
8.点手机屏幕有一个圆点是怎么回事啊手机屏幕触摸时出现白色圈等情况,原因如下:由于您打开了开发者选项中一些测试项目导致的,建议您进入“设定-开发者选项”中查看是否把测试功能打钩了,取消对钩即可。
例:若出现白色圆点,请在开发者选项里将显示触摸位置的对钩取消。
若非上述情况,为了给您提供更针对性的服务,建议您将手机送至服务中心进行专门检测。
如何打开安卓系统的开发者模式进行USB调试
安卓系统有原生的Android,有国内修改UI的:小米的MIUI、魅族的Flyme、华为的Emotion UI、乐蛙、云、IUNI OS、Sense、LG Optimus、CyanogenMod、Blur、等等。
在这些系统里面都有一个模式,叫开发者模式。
这个模式是开放给开发人员用于调试手机的。
比如USB调试。
事实上,手机系统不会自动打开这个模式,因为不是每个人都是开发者。
非开发者不会调试反而会弄坏手机。
某部分人因功能需要而打开调试。
那这个开发者模式该怎样打开呢?安卓系统的版本不一样,打开的方法也是不一样的,我分别说一说。
安卓系统版本低于4.0的,包括4.0、3.2、2.3、2.2等等, 低版本的,在程序里,分别找到按下去: 1.系统设置 2.应用程序 3.开发 4.你可以打开“开发者模式”比如:USB调试安卓系统版本是4.12至到4.2的 这个版本比较直接,或许当时系统开发者认为这个是大众要的。
分别找到按下去: 1.系统设置 2.开发人员选项 3.你可以打开“开发者模式”比如:USB调试安卓系统版本是4.2.2以上的,包括4.4、5.0 这些版本就不一样了,系统开发者认为这个模式公开,大众都乱调试,结果把这个模式隐藏了。
分别找到按下去: 1.系统设置 2.关于手机 3.版本号,在最底下一行,连续猛点七八下,激活开发者模式 4.返回“系统设置”这层,你可以看到“开发者模式” 这时,你可以打开“开发者模式”比如:USB调试 是不是有点捉迷藏一样, 告诉你个小秘密:连续猛点“Android版本”会出现在一个糖果的。
开发者模式打开了,有人想说,我要关闭“开发者模式”,那该怎样呢? 方法1:事实“开发者模式”本身就有个开关,你把它关了,变灰色,“开发者模式”功能就不能用了,你不用它就是了。
方法2:设置—–应用程序—–设罝—–清除数据 方法3:恢复出厂 方法4:刷机 推荐方法1,其它的个人数据没备份,有风险。
软件设计模式主要有哪几种
软件设计模式主要有以下三大类共23种:
一、创建型模式:
1、工厂方法模式工厂方法模式的创建是因为简单工厂模式有一个问题,在简单工厂模式中类的创建依赖工厂类,如果想要拓展程序,必须对工厂类进行修改,这违背了开闭原则,所以就出现了工厂方法模式,只需要创建一个工厂接口和多个工厂实现类。
2、抽象工厂模式抽象工厂模式是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。区别于工厂方法模式的地方,工厂方法模式是创建一个工厂,可以实现多种对象;而抽象工厂模式是提供一个抽象工厂接口,里面定义多种工厂,每个工厂可以生产多种对象。
3、单例模式单例模式能保证一个类仅有一个实例,并提供一个访问它的全局访问点,同时在类内部创造单一对象,通过设置权限,使类外部无法再创造对象。单例对象能保证在一个JVM中,该对象只有一个实例存在。
4、建造者模式建造者模式是将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。在程序当中就是将一些不会变的基本组件,通过builder来进行组合,构建复杂对象,实现分离。
5、原型模式:原型模式是用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。其实就是将对象复制了一份并返还给调用者,对象需继承Cloneable并重写clone方法。原型模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。
二、结构型模式:
1、适配器模式适配器模式是使得原本由于接口不兼容而不能一起工作的那些类可以一起工作,衔接两个不兼容、独立的接口的功能,使得它们能够一起工作,适配器起到中介的作用。
2、装饰模式:装饰器模式是动态地给一个对象添加一些额外的职责,给一个对象增加一些新的功能,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。除了动态的增加,也可以动态的撤销,要做到动态的形式,不可以用继承实现,因为继承是静态的。
3、代理模式代理模式是为其他对象提供一种代理以控制对这个对象的访问,也就是创建类的代理类,间接访问被代理类的过程中,对其功能加以控制。
4、外观模式外观模式是为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
5、桥接模式桥接模式是将抽象部分与实现部分分离,使它们都可以独立的变化。桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化(突然联想到了mvc模式)。
6、组合模式:组合模式是将对象组合成树形结构以表示部分-整体的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。
7、享元模式:享元模式是运用共享技术有效地支持大量细粒度的对象。享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,重用现有的同类对象,若未找到匹配的对象,则创建新对象,这样可以减少对象的创建,降低系统内存,提高效率。
三、行为型模式:
1、策略模式:
策略模式是定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换,且算法的变化不会影响到使用算法的客户。
2、模版方法模式:
模板方法模式是定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。该模式就是在一个抽象类中,有一个主方法,再定义1…n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用。
模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤,将一些固定步骤、固定逻辑的方法封装成模板方法。调用模板方法即可完成那些特定的步骤。
3、观察者模式:
观察者模式是定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
也就是当被观察者状态变化时,通知所有观察者,这种依赖方式具有双向性,在QQ邮箱中的邮件订阅和RSS订阅,当用户浏览一些博客时,经常会看到RSS图标,简单来说就是当订阅了该文章,如果后续有更新,会及时通知用户。这种现象即是典型的观察者模式。
4、迭代器模式:
迭代器模式是提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。
在Java当中,将聚合类中遍历各个元素的行为分离出来,封装成迭代器,让迭代器来处理遍历的任务;使简化聚合类,同时又不暴露聚合类的内部,在我们经常使用的JDK中各个类也都是这些基本的东西。
5、责任链模式:
责任链模式是避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。
6、命令模式:
命令模式是将一个请求封装成一个对象,从而使发出者可以用不同的请求对客户进行参数化。模式当中存在调用者、接收者、命令三个对象,实现请求和执行分开;调用者选择命令发布,命令指定接收者。
7、备忘录模式:
备忘录模式是在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。创建一个备忘录类,用来存储原始类的信息;同时创建备忘录仓库类,用来存储备忘录类,主要目的是保存一个对象的某个状态,以便在适当的时候恢复对象,也就是做个备份。
8、状态模式:
状态模式是允许对象在内部状态发生改变时改变它的行为。对象具有多种状态,且每种状态具有特定的行为。
9、访问者模式:
访问者模式主要是将数据结构与数据操作分离。在被访问的类里面加一个对外提供接待访问者的接口,访问者封装了对被访问者结构的一些杂乱操作,解耦结构与算法,同时具有优秀的扩展性。通俗来讲就是一种分离对象数据结构与行为的方法。
10、中介者模式:
中介者模式是用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
11、解释器模式:
解释器模式是给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子,基本也就用在这个范围内,适用面较窄,例如:正则表达式的解释等。
扩展资料:
软件设计的概念以及意义:
软件设计模式是对软件设计经验的总结,是对软件设计中反复出现的设计问题的成功解决方案的描述。为了记录这些成功的设计经验并方便以后使用,软件设计模式通常包含 4 个基本要素:模式名称、问题、解决方案以及效果。
模式名称实际上就是一个帮助记忆的名称,是用于软件设计的技术术语,有助于设计者之间的交流。
问题描述了设计者所面临的设计场景,用于告诉设计者在什么情况下使用该模式。
解决方案描述了设计的细节,通常会给出方案的原理图示(例如 UML 的类图,序列图等,也可能是一些示意图)及相关文字说明,如果可能,还会给出一些代码实例,以便对解决方案的深入理解。
效果描述了设计方案的优势和劣势,这些效果通常面向软件的质量属性,例如,可扩展性、可复用性等。
软件设计模式的重要意义在于设计复用。设计模式可以使设计者更加方便地借鉴或直接使用已经过证实的成功设计方案,而不必花费时间进行重复设计。一些设计模式甚至提供了显示的类图设计及代码实例,为设计的文档化及软件的开发提供了直接的支持。
开发者模式怎么打开
开发者模式打开如下:
1、在系统界面,点击进入【关于手机】,找到【版本号】,然后点击该选项5-7下即可开启开发者模式,在屏幕中下方会出现【您现在处于开发者模式】的提示,说明已打开,如果没有请继续点击,直至出现为止;
安卓手机开发者选项对我们使用手机还是非常重要的,有时候我们需要用到安卓手机的开发者选项,很多人对开发者选项并不了解,那么对于安卓手机它的开发者选项在哪里呢?1、我们首先点击打开手机桌面上的的【设置】,找到并点击打开【系统】选项;2、在系统界面,点击进入【关于手机】,找到【版本号】,然后点击该选项5-7下即可开启开发者模式,在屏幕中下方会出现【您现在处于开发者模式】的提示,说明已打开,如果没有请继续点击,直至出现为止;
3、然后我们回到上一层的系统设置中就可以看到【开发人员选项】。
开发者模式是什么?
开发者模式是开发者选项,是为开发者准备的工具。开发者模式的作用是实现很方便很强大的功能,但对于一般用户,反而有风险。比如“充电时不锁定屏幕”,只要连接了USB就不会锁屏,也就免除了反复解锁的麻烦。
关于java新闻网站的算法
(一) 算法伦理的研究1.算法内涵界定。
算法源于数学,但现代算法又远远不止于传统数学的计算范畴。
算法多被理解为是计算机用于解决问题的程序或步骤,是现代人工智能系统的运行支柱。
《计算主义:一种新的世界观》(李建会等,2012)中将算法定义为能行的方法,在外界的常识性理解中所谓算法就是能感受到的一套运算规则,这个规则的特点在于运算时间的有限性、计算步骤的有穷性、输入结果的确切性,它是机械步骤或能行可算计程序。
该定义点明了算法应具备的两个基本属性——有限性与有穷性。
《用计算的观点看世界》( 郦全民,2016) 则从信息传播的角度解读算法,认为算法实质上是信息处理方法。
2.算法伦理研究伦理关乎道德价值真理及其判断。
存在于自然界、社会中的人,其行为应遵循一定的伦理道德规范。
伦理的效应要导向善。
伦理道德关注对个体存在的尊重、个体的自由、公平正义以及组织团体的延续与发展等问题。
在一定程度上可以说,当今的人类社会已经不能脱离智能算法系统而运行了。
算法无时无处不在对世界产生影响,因而算法也会必然的触碰到伦理道德。
和鸿鹏(2017)已指出,算法系统在人类社会生活中的广泛应用,会陷入诸多如人类面临且无法回避的伦理两难选择困境之中。
而当算法与伦理发生关联时,学界一般认为会引出职业伦理和技术伦理两种伦理问题。
职业伦理主要与算法系统的开发者有关,指开发者是带有个性价值观、伦理道德观去研发算法系统的行为体,因而算法系统一开始便会掺杂着设计人主观性的伦理道德观。
设计者出于何种目的开发某算法系统、面对不同问题设计者持有的伦理道德态度,这些都会在算法系统的运行中得到体现。
技术伦理是算法系统在一定意义上可称之为一种科学技术,这种技术自身及其运作结果都会负载着伦理价值。
其实在一些情况下,职业伦理与技术伦理之间并没有很明确的界别,关于这一点,刘则渊跟王国豫已做过论述。
本文将主要从技术伦理的角度对算法关涉伦理这一问题尝试做深入研究。
(二)网络新闻传播的算法伦理研究算法与技术的融合不断英语于网络新闻传播领域中,从数据新闻到机器写作,从算法推送到舆情到分析,国内新闻传媒领域的机器新闻和相关研究逐渐发展,金兼斌在《机器新闻写作:一场正在发生的革命》(2014),作者较早的将眼光聚焦于基于算法的新闻内容生产和编辑。
认为在自动化新闻生产大发展的前提下,诸如新闻生产或分发中劳动密集型的基础性工作与环节都将被技术取代。
张超、钟新在《从比特到人工智能:数字新闻生产的算法转向》(2017) 认为算法正在从比特形式走向人工智能阶段,这种转向使得数字新闻与传统新闻的边界进一步明晰,促使数字新闻生产也产生了变革。
胡万鹏在《智能算法推荐的伦理风险及防范策略》中总结了从算法推送方面:针对新闻的价值观所受到的负面影响;以及新闻的公共性、客观性和真实性受到的削弱进行分析;从受众方面:将具体对信息茧房现象以及受众的知情权和被遗忘权展开探讨;从社会影响方面,则针对社会群体、社会公共领域和社会文化所受到的消极影响展开论述。
根据以上文献的梳理可以看出,国内目前对网络新闻传播的算法伦理研究主要集中在新闻业态算法伦理失范的相关问题,因为与其他失范问题相比,这是比较容易发现的。
但目前关于网络新闻传播的算法伦理的国内研究还存在不足:国内算法伦理和网络新闻传播算法伦理的研究还是在起步阶段,比较成熟的系统性研究还未出现;关于算法开发人员和平台的责任机制的研究都比较薄弱,总上所述,算法推送新闻的伦理问题研究是有必要继续加强的。
2.新闻推荐算法的兴起、发展与原理2.1 新闻推荐算法的兴起随着计算机技术的信息处理的维度越来越高,信息处理的能力不断提升,算法技术可以从大数据中筛选出用户最关心最感兴趣的信息,改变了原有的新闻信息传播方式,重塑了新的媒介生态和传播格局。
但反过来看,在人人都能生产信息的背景下,信息的生产、传播和反馈的速度都是呈几何倍数增长,用户面对的信息越来越多。
由于设备的局限性和信息海量,用户无法集中注意力看自己感兴趣的内容,也无法及时抓取对自己有用的信息,于是出现了“注意力经济”。
美国经济学家迈克尔·戈德海伯(1997)认为,当今社会是一个信息极大丰富甚至泛滥的社会,而互联网的出现,加快了这一进程,信息非但不是稀缺资源,相反是过剩的。
相对于过剩的信息,只有一种资源是稀缺的,那就是人们的注意力。
换句话说,信息不能够一味追求量,还要有价值,价值就在于用户对信息的注意力,谁获得了用户的注意力就可以有市场的发展空间,通过“贩卖”用户的注意力能够使新媒体聚合平台获得利润,维持发展。
再加上现在生活节奏越来越快,人们对信息获取的量和效率要求提高,不想把时间浪费在自己不感兴趣的信息,从而用户获取信息的“个性化”特征变得明显起来。
基于此背景下,算法推送新闻的传播机制应运而生,用户不需要特意搜索自己需要的信息,而是海量的信息会自行“找到”用户,为用户节省搜索时间之余,又能做到真正为用户提供有用的信息。
2.2新闻推荐算法的发展现状算法推荐是依据用户数据为用户推荐特定领域的信息,根据受众使用反馈不断修正并完善推荐方案。
目前主要有两类新闻机构使用算法推送,其一是新型的互联网新闻聚合类平台,国内主要是以今日头条和一点资讯等算法类平台为代表,在我国新闻客户端市场上拥有极高的占有率。
张一鸣创建今日头条是依靠大数据和算法为用户推荐信息,提供连接人与信息的服务,算法会以关键词等元素判断用户的兴趣爱好,从全网抓取内容实现个性化推荐。
国外则是以Facebook、Instagram等平台为代表,这些APP都是通过算法挖掘用户的数据,以用户个性化需求为导向对用户进行新闻推送。
另一种则是专业新闻生产的传统媒体,为积极应对新闻市场的竞争和提高技术水平而转型到新闻全媒体平台,如国内的“人民日报”等,国外利用算法推送向用户推送新闻的传统媒体则有美国的美联社、华盛顿邮报和英国的BBC等,他们利用算法监督受众的数量还有阅读行为,使他们的新闻报道能够更加受受众的喜欢,增加用户的粘性。
2.2 新闻推荐算法的原理2.2.1 新闻推荐算法的基本要素算法推送有三个基本要素,分别是用户、内容和算法。
用户是算法推送系统的服务对象,对用户的理解和认知越是透彻,内容分法的准确性和有效性就越准确。
内容是算法推送系统的基本生产资料,对多种形式内通的分析、组织、储存和分发都需要科学的手段与方法。
算法是算法推送技术上的支持,也是最核心的。
系统中大量用户与海量的信息是无法自行匹配的,需要推送算法把用户和内容连接起来,在用户和内容之间发挥桥梁作用,高效把合适的内容推荐给合适的用户。
2.2.2 新闻推荐算法的基本原理算法推送的出现需要具备两个条件:足够的信息源和精确的算法框架。
其中,算法的内容生产源与信息分发最终效果密切相关:是否有足够多的信息可供抓取与信息是否有足够的品质令用户满意都将对信息的传播效果产生影响。
与此同时,分发环节也在向前追溯,改变着整个传播的生态。
目前,国内新闻传播领域所使用的算法推送主要有三大类——协同过滤推送、基于内容推送和关联规则推送。
协同过滤推送分为基于用户的协同过滤和基于模型的协同过滤。
前者主要考虑的是用户和用户之间的相似度,只要找出相似用户喜欢的新闻文章类别,并预测目标用户对该文章的喜欢程度,就可以将其他文章推荐给用户;后者和前者是类似的,区别在此时转向找到文章和文章之间的相似度,只有找到了目标用户对某类文章的喜爱程度,那么我们就可以对相似度高的类似文章进行预测,将喜爱程度相当的相似文章推荐给用户。
因此,前者利用用户历史数据在整个用户数据库中寻找相似的推送文章进行推荐,后者通过用户历史数据构造预测模型,再通过模型进行预测并推送。
基于内容的推送即根据用户历史进行文本信息特征抽取、过滤,生成模型,向用户推荐与历史项目内容相似的信息。
它的优点之一就是解决了协同过滤中数据稀少时无法准确判断分发的问题。
但如果长期只根据用户历史数据推荐信息,会造成过度个性化,容易形成“信息茧房”。
关联规则推送就是基于用户历史数据挖掘用户数据背后的关联,以分析用户的潜在需求,向用户推荐其可能感兴趣的信息。
基于该算法的信息推荐流程主要分为两个步骤,第一步是根据当前用户阅读过的感兴趣的内容,通过规则推导出用户还没有阅读过的可能感兴趣的内容;第二是根据规则的重要程度,对内容排序并展现给用户。
关联规则推送的效果依赖规则的数量和质量,但随着规则数量的增多,对系统的要求也会提高。
2.2.3 算法推送的实现流程在信息过载的时代,同一个新闻选题有很多同质化的报道,因此分发前需要对新闻内容进行消重,消重后的新闻内容便等待推送,此时的推送有三个类别:启动推送、扩大推送和限制推送。
第一类是启动推送,先对用户精准推送,即将其订阅账号的更新内容第一时间向用户推荐;然后根据用户的历史浏览数据,把相似的文本特征归类后推送给其他用户;最后是给关注用户的相似人群进行推荐。
第二类扩大推送是指对于某个点击率、阅读时长都明显高于平均水平的新闻内容,系统会将它自动筛选出来,并向更多的人进行推荐。
但在扩大推荐的过程中,系统会依据用户的反馈进行调整。
第三为限制推送,指某个点击率、阅读时长都明显低于平均水平的新闻内容,会被系统自动筛选出来,遏制推送,这样的内容会被缩小推荐范围。
3. “今日头条”新闻推荐算法分析“今日头条”是国内一款资讯类的媒体聚合平台,每天有超过1.2亿人使用。
从“你关心的,才是头条!”到如今的“信息创造价值!”,产品slogan的变化也意味着今日头条正逐渐摆脱以往单一、粗暴的流量思维,而开始注重人与信息的连接,在促进信息高效、精准传播的同时注重正确的价值引导。
在2018年初,“今日头条”的资深算法架构师曹欢欢博士在一场分享交流会上公开了其算法运行原理。
在他的叙述中,非常详细地介绍了“今日头条”的算法推荐系统概述以及算法推荐系统的操作原理。
3.1.1-1 曹欢欢博士的今日头条算法建模上图用数学形式化的方法去描述“今日头条”的算法推送,实际上就是一个能够得出用户对内容满意程度的函数:即y为用户对内容的满意度,Xi,Xc,Xu分别是今日头条公开的算法推送的三个维度:Xi是用户,包括用户的性别、年龄、职业和兴趣标签,还有其他算法模型刻画的隐形用户偏好等;Xc是环境,这也是移动互联网时代新闻推送的特点,由于用户随时随地在不停移动,移动终端也在移动,用户在不同的工作场合、旅行等场景信息推送偏好也会不同;Xu是内容,今日头条本身就是信息聚合类平台,平台上涵盖各种不同形式的内容。
本章将以该函数为基础,逐一分析今日头条的推荐算法。
3.1 推荐维度之一:内容分析内容分析原指第二次世界大战期间,传播学家拉斯韦尔等研究学家组织了“战士通讯研究”的工作,以德国公开出版的战时报纸为分析研究对象,弄清报纸内容本质性的事实和趋势,揭示隐含的隐性情报内容,获取了许多军情机密情报并且对事态发展作出情报预测。
在“今日头条”中,内容分析则是对文章、视频内容提取关键要素,通过对文本、视频标题关键字进行语义识别,给内容进行分类。
“今日头条”的推送系统是典型的层次化文本分类算法,来帮助每篇新闻找到合适的分类,比如:第一大分类是政治、科技、财经、娱乐、体育等,体育类可以下分篮球、足球、网球等,足球又可以下分中国足球和国际足球,中国足球最后下分为甲、中超、国家队等。
这一步是对文章进行对这个工作主要目的是对文章进行分类,方便以后对客户推荐。
想要内容分析实现效果,则需要海量的内容信息给算法系统提供有效的筛选和分类。
“今日头条”既然是依赖于算法推送新闻,那它背后的数据库必然是强大的,“网页蜘蛛”和“头条号”就是支撑今日头条平台消息来源的重要渠道,其消息来源极其丰富,何时何地有何新鲜事,都能高效率抓取信息。
第一个消息来源的渠道是“网页蜘蛛”,“网页蜘蛛”又叫网页爬虫,头条使用的就是搜索引擎爬虫叫“Bytespider”。
它能按照一定的规则,自动爬行抓取互联网的信息或脚本,就像蜘蛛通过蛛网进行捕食,当发现新的信息资源,蜘蛛会立刻出动抓取信息内容并将其收入自己的数据库中。
和微信的垂直搜索不同,Bytespider是能够抓取全网内容的全新搜索引擎,因此“今日头条”的搜索引擎功能很全面,搜索的资源很广,资源包容性极高。
Bytespider信息抓取的基本流程如下:首先是网页抓取。
Bytespider顺着网页中的超链接,从这个网站爬到另一个网站,通过超链接分析连续访问抓取更多网页。
被抓取的网页被称之为网页快照。
由于互联网中超链接的应用很普遍,理论上,从一定范围的网页出发,就能搜集到绝大多数的网页。
第二步是处理网页。
搜索引擎抓到网页后,还要做大量的预处理工作,才能提供检索服务。
其中,最重要的就是提取关键词,建立索引库和索引。
其他还包括消除重复网页、判断网页类型、分析超链接、计算网页的重要度、丰富度等。
第三步提供检索服务。
用户输入关键词进行检索,搜索引擎从索引数据库中找到匹配该关键词的网页,为了用户便于判断,除了网页标题和URL外,还会提供一段来自网页的摘要以及其他信息。
第二个消息来源渠道是“头条号”。
与“今日头条”不同,它是今日头条针对媒体、国家机构、企业以及自媒体推出的专业信息发布平台。
致力于帮助生产者在移动互联网上高效率地获得更多的曝光和关注。
简单来说头条号是媒体在上面撰写并发布文章、视频后,会在今日头条(包括今日头条极速版)平台展示。
通过头条号后台,媒体可以看到具体文章推荐量、阅读量、粉丝阅读量、评论量、转发量和收藏量,最后通过这些可以量化的用户阅读行为的反馈,算法系统进一步对目标用户进行内容推荐。
3.2 推荐维度之二:用户分析用户分析通过提取用户的有效数据,如用户经常浏览的文字类型、经常搜索的关键字、注册时登记信息的内容等,算法系统可以将每个用户的浏览记录、浏览时间、留言、评论和转发等行为进行关键字提取,最终形成用户画像,以便之后对用户进行文章和视频的精准推送。
举个例子,给喜欢阅读“体育”的用户标上“体育”标签;给喜欢“娱乐”的用户标上“娱乐”的标签,这一步的作用是给用户的兴趣进行建模,包括用户对文章和视频的全局热度、分类热度,主题热度,以及关键词热度等。
热度信息在大的推荐系统能够解决新闻冷启动问题,帮助新闻实现推送。
用户分析还具有协同特征,它可以在部分程度上帮助解决所谓算法越推越窄的问题。
协同特征也就是“联想式”的推送方法,并非只考虑用户已有历史,而是通过用户行为分析不同用户间相似性,比如点击相似、兴趣分类相似、主题相似、兴趣词相似,甚至向量相似,从而扩展模型的探索能力。
根据用户之间计算数据的相似程度,把用户细化分类成为不同的目标群体,再向目标群体集中的推送其感兴趣的新闻内容内容分析和用户分析是相辅相成的,如果没有分析的文本标签,无法得到用户兴趣标签,没有用户的兴趣标签就无法给用户定位实现精准推送。
3.3 推荐维度之三:环境分析环境分析就是根据文章的时效性和接近性推送给相应的用户,比如获取用户当前所在位置是否在旅游区,这个可以通过获取用户的实时位置来实现。
还会不断与用户之前经常出现的所在地进行对比等方式确认当前状态,分析出用户是在常住地区还是在旅行。
这时若系统检测到用户正在泰山及周边游玩,则可能会相应推送泰山的相关文章、周边的交通新闻和天气信息等等。
通过上面三个推荐维度可以作为数据基础,分析当前用户处于什么环境,结合用户画像以及文章的内容分类来推荐,尽量做到推送的内容都是用户所感兴趣的。
算法系统还会通过内容分类、分析抽取,把文本相似度高的文章,包括新闻主题、内容相似的文章进行消重,解决推送重复的问题,进一步对目标用户进行精确且不重复的内容推荐。
最后过滤质量低俗色情的内容,以免造成平台会有负面倾向。
3.4 “今日头条”新闻推荐算法的价值取向3.4.1 “用户为上”“今日头条”的算法推送是站在用户的立场上的,以满足用户个性化和推送的精准性,“今日头条”也重新衡量了新闻价值标准:以用户为上,用户对新闻内容和阅读方式的满意度便是平台推送新闻的价值宗旨。
传统媒体时代,只有报纸和电视,有什么受众就得看什么,而如今“今日头条”根据用户兴趣去进行推送。
算法推送平台用户范围广,很多用户热衷关注负面,也有许多用户都有窥视欲和好奇心,喜欢无聊八卦和无聊新闻,而且在好奇心作用下用户都有从众心理。
这使得生产者过度去迎合受众,只要是用户喜欢看就可以发表在“今日头条”上。
3.4.2 “算法主导”“今日头条”更注重技术分发,生产者是用户,受众者也是用户,这样一来内容监管和分发就很困难。
算法推送机制根据用户爱好进行推送,这样生产的内容快、也无疑会加速内容配送效率。
在算法推送模型中,用户点击频率、阅读时间、点赞评论以及转发在算法时代都是可以进行量化的目标。
在这样情况下生产的内容,想要获得较大点击率和推送率,需要标题才能吸引用户,因为用户在平台一眼能看到的就是标题和配图。
标题和配图决定用户是否会打开你的内容,这导致许多内容生产者在编辑新闻标题时陷入标题党的怪圈,还有导致低俗内容的呈现,以制造冲突制造悬念贴标签等方式引用户点击,意图把自己的文章做成爆文。
对于海量的信息内容,即使今日头条数据和智能推荐做的再好,目前来说也难以抵挡海量的垃圾信息。
4.算法推送新闻引发的伦理问题在如今网络时代的传播思维中,“用户为上”、“算法主导”的新闻价值取向已经在算法聚合类平台成为了普遍,算法推送技术作为吸引用户的手段,搭建起一个充满诱导的媒介环境,以此增加用户对平台的粘性。
算法推送技术在获取信息、传播速度等方面与以往相比有着跨时代的进步,但与此同时,由于算法推送技术的加入,衍生出新的伦理问题,并且日渐复杂化。
4.1 算法推送引发的伦理问题4.1.1 算法推送过于机械化,没有思考能力单向的算法推荐对用户来说经常会带来内容杂乱无章、信息量过大、信息价值低等问题。
从逻辑讲,算法只是从关键字的检索匹配来完成统计推荐,但对新闻报道或文学作品具有艺术性、专业性的内容来说,是不能保证推送的质量的。
算法方面,目前主要基于匹配检索与统计,大部分都是个人关注的信息类型和标签,难以达到较好的推送效果。
一千个人眼里有一千个哈姆雷特,但是计算机只有只有一个。
算法技术过于注重机械化的统计,只根据关键词来推荐用户,对我们中国具有博大精深的中国文字文化底蕴,推荐算法是远远不够的。
整个新闻客户端显得像是一个菜市场,没有态度、没有风格,阅读感受单一化,呈现了碎片化的特点。
新闻不只是让用户能够了解身边发生的新鲜事,还有宣传正面思想和传播正能量的作用,新闻应该还要给人们带来新的思考。
让机器做出正确判断很简单,但是让机器综合心理学、社会学、乃至某细分领域内的规则做出判断还要正确地引导受众则很难,正如现在算法技术还不能完成一篇富有人文性、文学性和批判性的深度报道,它止步在了碎片式的、表层的传播范畴。
4.1.2 容易引起“信息茧房”效应“信息茧房”这一概念是凯斯.桑斯坦在《信息乌托邦》一书中提出的。
意指受众在过度的信息自我选择之中,这样会降低接触外界其他信息的可能,从而将自己的生活桎梏于蚕茧一般的“蚕房”中的现象。
人们的信息领域会习惯性被自己的兴趣引导,信息窄化带来了受众对信息接收的单一性,这种单一性的可能会使受众陷入循环,加重受众信息同质化。
在互联网的普及初期,受众主要是从主流媒体和门户网站获取新闻信息,主流媒体能够保障新闻的质量;对于其他资讯的获取,由于技术的限制,此时的茧房并没有过度被放大,受众是有适当的自主选择性阅读新闻的。
但到了如今以智能技术的互联网时代,情况发生了改变,信息茧房的现象越来越明显,用户被标签的情况下,算法系统进行大量的主动推送,使受众被动地成为信息的接收者。
用户的阅读兴趣不可能涵盖所有的知识领域,算法分发的核心逻辑是根据用户的行为数据来进行精确推荐的,但同时算法又会自动过滤掉“不感兴趣”“不认同”的信息,实现“看我想看,听我想听”。
在此过程中,因为算法技术的力量将用户的信息选择效果放大了倍数,进而将受众困住在信息茧房当中,受众也很难凭借自身力量打破茧房,甚至在不知觉中受到更多负面的影响。
4.1.3 算法推送的“伪中立性”客观和全面是新闻伦理的基本要求,新闻从业者必须从可好信息源来获取真实的信息,以客观的态度反应现实。
我们惯常认为,互联网技术服务商是技术中立者,不需要承担约束大众媒体的社会责任,然而当信息把关人又新闻编辑转变为算法工程师,传统的媒介伦理似乎已经失效。
算法具有商业倾向性,“中立性”是算法平台用以逃避媒体责任的理由,给大众媒介造成传播乱象,如此一来更像是一场算法平台“肆意妄为又不想负责”的诡辩。
算法平台的信息源是经过选择和过滤的,“头条号”的内容占“今日头条”整个信息系统的绝大部分,然而在“人人都可以做新闻人”的时代,头条号平台是一个开放的网络媒介环境,存在大量的偏见和错误的认知。
无论是“今日头条”平台设立的算法规则,还是其他爬虫的抓取的关键词,算法系统的信息源很多是具有目的性的、有偏见和非客观的信息,所以信息源不能直接作用于用户。
因此,筛选算法系统的信息源与传统的人工编辑相比较,范围极广且很难把关,若算法被恶意利用,那么使整个传播系统将会被轻易控制。
4.1.4 算法推送里的“议程设置”原议程设置功能揭示的重要内涵是:“受众对新闻的看法虽然被大众媒体议程设置功能所主导,但其更深刻的是议程设置给大众媒体新闻带来放大与延伸,从而使受众对新闻选择做出能动性修正,让受众在满足需求和媒介依赖中逐渐培养出的潜在认同感”。
推送算法技术在互联网平台的运用,使原来传统媒体主导的议程设置过程发生了变化,伴随着传播权的转移、公众参与度的提高和信息量剧增等原因导致议程设置功逐渐能减弱。
过往传统新闻的内容是由编辑有选择地进行报道后再呈现在受众面前的,而个性化新闻推送是用户自己来选择看哪一方面的内容,而这一环节中,天然的技术赋权将传播权从传统媒体下放至平台的用户,使得受众和社会的连接无需依赖传统媒介,新闻媒体作为把关人的作用和议程设置功能都在减弱。
4.2 算法新闻治理缺陷下的算法权利异化算法作为人工智能的基石之一,是“一种有限、确定、有效并适合用计算机程序来实现的解决问题的方法,是计算机科学的基础”。
近年来,伴随人工智能深度学习算法取得的重大突破和大数据时代的到来,人工智能的应用场景不断拓展,人工智能时代正逐渐从想象成为现实。
借助于海量的大数据和具备强大计算能力的硬件设备,拥有深度学习算法的人工智能机器可以通过自主学习和强化训练来不断提升自身的能力,解决很多人类难以有效应对的治理难题。
伴随人工能算法在国家和社会治理中重要性的日渐凸显,国家和社会对于算法的依赖也逐渐加深,一种新型的权力形态——算法权力也随之出现。
可以把算法权利分为四种:数据主权、算法设计权、研发的资本权和算法控制权。
由于前三种权利都是单向的、算法开发者赋予算法的权利,是属于算法开发者的,与算法分发平台呈现的效果没有直接的影响,所以本文将着重论述算法控制权。
算法控制权是双向的,用户是算法技术数据行为的提供者,同时又是被算法技术控制的受害者。
例如我们看到“今日头条”会通过推送算法来监管用户的发布和浏览行为,同时平台会通过算法决策系统来实现内容的发布去引导用户。
算法控制权当然是一种天然技术赋予的权利,但算法控制权是在用户提供数据行为的情况下才得以实现的,因此算法控制权既存在内容生产权,同时有要尊重和保护算法相对人的义务。
正因为如此,算法技术被认为是一种双刃剑,一方面算法能够做出精准的行为预测,可以为管理者提供非常好的循环干预机制;对于公共行为主体来说,可以通过对大数据的应用来解决社会治理问题,对于私人主体来说可以借助数据来提供个性化和定制化的服务;另一方面,算法技术存在着诸如利益和风险不对称等问题,而且由于算法技术发展的超前性,新科技的创造者具备不对称的信息和技术优势,能够按照自身利益的需求来塑造在平台上的算法推送逻辑和社会系统,这带来了监管的不确定性。
人们要通过集体行为去承担社会责任,通过这样的方式规制算法权利,可以让我们能够对算法分发系统的意义和价值得到更深刻的思考。
文章版权声明
1 原创文章作者:汇维网,如若转载,请注明出处: https://www.52hwl.com/109497.html
2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈
3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)
4 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别