zoukankan      html  css  js  c++  java
  • 基于信用评价和知识共享为中心的网络协作模型设想(续1: 信用评价模块)

    一、信用评价的目的

            对系统中的人,以及由人创作的作品内容,以评价人的知识经验和个人信用为基础,进行可更新的、可取消的、可跟踪的、记名的数值评价。

    二、信用评价的主体和客体 

            主体:具有能动性的人;
            客体:由人提供的内容(直接客体)、提供内容的人(间接客体);

            说明:
            人在整个信用评价的体系中处于一个微妙的地位,即人既是评价的主体,又可以作为内容的提供者,成为被评价的客体,当然,人作为客体时,主要作为“内容提供者”这一间接客体,即不是直接评价“人”,而是通过评价某人提供的某内容,间接的把评价结果转化为对该人的评价。
            这里弱化了一点,即人的行为。从整体的概念上讲,“由人提供内容”本身属于人的行为之一,内容是行为的产物,而以上的客体叙述中,只列出了内容和提供内容的人,显然并不完备。在现实生活中,一个人需要被评价的,除了其行为的产物,往往还包括其行为本身的影响和产生行为的动机。但是,作为一个网络协作平台,一般是以内容为中心的,也因此,人的行为(包括行为的影响和产生动机)很大程度上可以根据行为的产物——内容来间接评价,因此,小弟认为,此处对人的行为的评价的弱化是可以接受的。

    三、应用情景分析 

            1、情景一:人员A,在“.Net技术”领域的“怎样建立一个可重用的通用Web评价模块”这一主题下,发表了一篇文章(记为内容a)。人员B,通过内容搜索引擎,找到这篇文章,读过文章之后,认为文章写得很不错,因此,对其进行评价,评价时,他首先给文章打分(所有的评分取值都在0-10之间),B为内容a打了8分的同时,他还给出了一段为什么打这个分的描述性文字——“很有参考价值,正好可以将思想借用到是我的项目中去,太感谢了!”。(其他可参考数据:人员A有一个总的信用值7分,在领域“.Net技术”有一个信用值8分和一个用发贴数代表的经验值23; 人员B有一个总的信用值8分,在领域“.Net技术”有一个信用值9分和一个用发贴数代表的经验值52)

            1) 问题 
            以上的情景应该是一个比较通常的评价的过程,那么先来分析一下,这个简单的过程会涉及哪些问题:
            ·人员A刚创建内容a时,内容a还没有被任何他人评价过,那么,内容a这时处于一个什么地位呢?之所以会问这一问题是因为,当采用评分机制来帮助筛选内容时,未被评价过的内容,是属于“好”内容,还是“差”内容呢?问得更明白些,一个未经过评价的内容,是不是应该有一个初始评分呢?这个初始评分,以什么为标准来确定呢?是统一的采用中间值,比如5分来评定,还是,根据作者原有的信用值和领域经验计算一个初始值,如果要计算,那么怎样计算才合理呢?
            ·人员B对内容a进行了一次评价(8分,以及一段文字),那么,人员B的这一评价,会对内容a的平均分值产生什么影响,又会对内容a的作者人员A的信用值产生什么影响呢?是简单的将评价累积平均到内容a及人员A原有的评价分值还是该根据人员B原有的信用值和领域经验,将评价附加一个权值,再与内容a和人员A原有的信用分值进行累计平均呢?如果要这样做,那么这个权值又该怎样计算才合理呢? 
            
            2) 分析
            以上两个问题,未必能轻易解决,但是,至少,每个被评价对象需要一个初始评价值,并且,每一次评价,需要有一个表示评价可靠程度的权值,我想应该没有太大疑问,退一步说,怎样计算这两个值得问题,属于专业领域问题,甚至,对不同的领域,如果有必要也可以有不同的计算方法,因此,作为一个通用信用评价模块来说,只需记录这两个值即可。对于权值,一个简单可行的运用方法就是,取大于1的正整数,最小值为1,当一个评价的权值大与1时,则可理解为,该评价分量更重(比如,可以在计算平均值时,简单的将这一个评价,当作多个评价来处理,高手一句话,胜过低手十句。这我想应该不难理解,现实生活中,我们经常也会说,对同一问题,某专家的评语肯定要比一个无名小卒的评语分量更重的)。对于怎样将对内容的评价转化为对内容作者的评价,同样是一个专业领域问题,计算逻辑也不应该是放在评价模块内部的。

            2、情景二:延续情景一,在上次人员B对人员A的内容a作完评价的三天后,人员B很气愤地再次找到人员A的a这篇文章,为什么呢?因为他气愤地发现,人员A在文章a中给出的范例,理论性太浓,完全不符合人员B的项目需要,他觉得可能第一眼看到时过高评价a了,他想把原来的评分8分改为6分比较合适,并且它可能希望对A说明一下,为什么这样改变评价值,但是,这时,已经有其他人也对a进行过多次评价了,现在包括B上次给出的评价外,又有9人对a作出过评价,现在内容a的平均分值为7.1分。(其他可参考数据:人员A的总信用值现在为7.3分,在领域“.Net技术”的信用值7.5分和用发贴数代表的经验值25; 人员B总信用值8分,在领域“.Net技术”信用值9分和用发贴数代表的经验值52)

            1) 问题
            ·新的问题出现了,人员B企图修改以前的评价,那么这个新的修改后的6分的评价是该完全代替原来8分的评价呢,还是该像新评价一样进行叠加呢?叠加是简单的处理方式,但是,不追回以前的错误评价是否合理呢?如果不叠加,而是采用更新原来的评价,那么,由原来的的评价引出的对人员A的信用评分值是不是应该也追回和更改呢?评价模块该怎样维护这种一致性呢?

            2) 分析
            很显然,叠加的处理方式不合理也不公平。设想,如果A和B私下关系很好,而B信用值和领域经验值很高,则如果B可以多次叠加评价A的作品a的话,势必造成评价数据混乱和不真实。而采用后一种的方式的话,则要求评价模块,必须要有一个对历史评价的追踪机制,以在日后更新评价或撤销评价时,作出应有的对被评价对象的信用评分的更新的同步。


    四、数据结构设计  

            1、分析
            对于被评价的对象,主要需记录两方面的属性:
            1) 被评价次数 (体现该对象的被关注程度);
            2) 平均评价分值 (对人,体现该对象的能力值,对内容,体现内容包含信息的有用性);

            对过程,主要记录的属性:
            1) 可追踪的、可更新的、可取消的信用评价记录日志; 

            2、设计 
           

    五、接口设计 

           
            说明:
            对人的评价没有显式的CUD操作,但是实际上每次对Article的评价处理,都要对Article的作者同步更新评价值。

    六、其他

            本文的讨论的前提,请参见:基于信用评价和知识共享为中心的网络协作模型设想

    //文章结束
  • 相关阅读:
    Android(java)学习笔记68:使用proguard混淆android代码
    SGU 194 Reactor Cooling
    关于流量有上下界的网络流问题的求解
    关于最小割的求解方法
    HDU 5311 Hidden String
    POJ 3548 Restoring the digits
    POJ 2062 HDU 1528 ZOJ 2223 Card Game Cheater
    ZOJ 1967 POJ 2570 Fiber Network
    HDU 1969 Pie
    HDU 1956 POJ 1637 Sightseeing tour
  • 原文地址:https://www.cnblogs.com/teddyma/p/98681.html
Copyright © 2011-2022 走看看