欢迎您来到 数字平台。 您尚未登录。[登录] [注册新用户]
当前位置: 论坛首页 / 栏目 产品与服务 / 文章 426

点击:1094

[顶层访客留言] [回复顶层(需要先登录)] [表状] [简明]


头衔: 总工
文章数: 539
积分: 5390
注册时间: 2005/9/5
[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章跟帖
文章id: 426
回复: 不能完全解决问题

作者: xietao


==========

以下是引用 Harry 于 2009-2-28 18:51:24 发表的文字:

谢老师,rms里面查重的我还没试验,单对batch这里,您的设置还是不能完全解决问题,比如以下两种情况:

1.一套书共用ISBN,比如金庸的《鹿鼎记》,出版商把它做成五本,ISBN(80)、题名(20)、作者(20)都一样,加起来就120了,重了。200$h不一样,就不能算重!这种情况十分普遍,上下册共用ISBN的太多了。

2.一本书有很多作者,有很多超过五六个的,论文这种情况就很普遍了(一个导师写篇文章恨不得把他的学生全带上,论文不做MARC,但是电子化收录是有,查重也要用到),200字段一般只著录三个,而702字段却要全部著录上,这个老师领导他的学生写的第二篇论文就极有可能不能被系统收录,加权算法把它判重了,哪怕一个学生重复就给10分权重。

MARC书目里面影响因素太多,更改设置可能对这批书有效,换一批就无效了。真的要用加权算法,那恐怕真的要一位数学家仔细研究MARC后设置一个比较好的权重分配体系,这样就不像您说的是一种简单的查重实现方法了。

是否可以参考人判断一本书是否重复的思维模式呢。

人在判断两个复杂事物,比如书目,是否相同的时候,肯定不会给一个点设置分值,然后边比较边在脑子里加分。在逐点比较的时候,人会每比较一个点就做出一次综合判断:要么相似则继续比较;要么得出结论不相似,退出;人的判断往往最准确,这就是一种是非关系,计算机就用0、1就可以模拟了。

设置key=0(不重复)

1、先比较ISBN,相同则key=1,继续;(否则,key=0,退出,判不重,ISBN不同的书不可能重复,至少我询问的有经验的编目员说不可能,除非著录错误)

说明:ISBN相同的未必就重,200$h未必相同。

2、比较200$h,重复key=1,继续;(否则,key=0,判不重)

说明:到这里200$h重了未必就重,可能是再版书,再版书有可能用前一版的ISBN(这样可能给出版商省钱吧)。

3、比较205字段或200$e,重复key=1,继续;(否则key=0,判不重)

按说,到此应该结束了,但是为了防止盗版书盗用别人ISBN(200$h和205及200$e均为空),再继续比较。

4、题名重复,key=1,(不重复,key=0,退出)

5、第一责任者(很重要,只比较第一责任者,第二责任者参考价值不大)也一样,key=1,那重复可能性太大了;(若不重复,key=0,退出)

6、再看看出版社,出版社也一样,key=1。(否则key=1,退出)

7、再比较出版年(不比较月份,很多Marc不著录月份),相同ke=1,(否则key=0,退出)

结束,key=1 重复,key=0不重复。

可能不是很严谨,就是表达一个意思,这样的算法很简单,也不太容易犯错,给老师参考。

==========

> 1.一套书共用ISBN,比如金庸的《鹿鼎记》,出版商把它做成五本,ISBN(80)、题名(20)、作者(20)都一样,加起来就120了,重了。200$h不一样,就不能算重!这种情况十分普遍,上下册共用ISBN的太多了。

上次没有来得及说200$h的事情。200$h按照一般惯例是不进入检索点的。道理很简单,和页码不进入检索点一样。

因此,在目前这个查重体系下,200$h不能参与运算。为查重而增加一个200$h的检索点,我觉得不值。

目前这个查重算法,有一个很好的思想,就是尽量利用现有的编目检索点。编目检索点是为了通用,为了大部分用途而设立的,不一定是为了查重的某种特殊需要而设立。

当然,不是检索点的200$h内容,可以在已经(通过其他检索点)命中的结果集中参与进一步的过滤(或者称为二次检索)运算。

另外,上下册应当怎样著录?原则上是尽量著录在一条编目记录中。我接触编目多年,有很多资深的编目员朋友,这点常识我还是有的。至于,许多单位把上下册分开著录,往往是因为每册有单独的价格或者ISBN号(这后者属于不正常的情况),在一些不合格的编目软件产品中,过分强调畸形的全部信息相同才能算一种的概念,而册信息单薄、没有价格例外等措施,这样操作是可以理解的,但是违背编目的基本思想。

现在dp2系统则很强调种的聚集、册的例外信息描述,册记录面有单独的价格字段,单独的卷期册字段,上述分开著录的办法可以休矣。正因为册信息里面能容纳不同,所以种能够“和”,和而不同。所以,在200$h不同的记录之间算不算重,我和你恰恰有相反的结论。从编目员的角度,如果要著录下册,而套录到了上册的数据,这已经算达到目的了,稍微修改一点就可以用(而且是一条上下册通用的书目记录)。这怎么就不算命中呢?你给我个理由先!

在极端情况下,如果编目员非要给一套丛书仅作一个编目记录的“综合著录记录”跟随所有册记录,dp2系统也能游刃有余。

我再举一个例子,探讨一点所谓编目意识。如果两种编目记录,完全是同样一种书,在所谓“一边查重一边转入”过程中,后面一条记录因为前面已经有了,就没有转入。这是一种正常的行为么?不见得正常。举例来说,如果第二条记录的编目质量较高,特别是有高质量的主题词和分类号字段内容,那实际上应该用第二条覆盖第一条才对。否则就成了武大郎开店,高的反而进不去了。

这里面,实际上包含了一个评估两条已经重了的记录的质量的课题,或者说,即便在手工操作下,有一个取长补短的字段合并课题,不是谁覆盖谁,而是两条记录各自抽取一些内容然后合并。手工操作下,这问题很好解决,人来判断就可以了;而迷信软件自动去操作,就像现在的机器翻译课题一样,是一个非常难的问题,实用化程度很低。dp2系统在这个方面,小心地平衡各种因素,今后还将提供一些技术进步和新设施。不过要谨慎,这里面水很深,不可小瞧。

鉴于您现在的身份,在图书公司工作,基于给用户提供立竿见影的低质量的服务(抱歉,我说了实话),管它什么数据,弄个软件三七二十一合并了给用户就行了,数据来源本身是盗版,负责合并的人更没有专业知识,也没有那个海量处理的精力。主要目的是卖书赚钱,数据是团体客户要数据,书店本不喜欢弄什么数据,无奈用户提出了要求,不得不随便弄一点。从这个角度,江汇泉的“畏难”情绪并不是一种低级的情绪,而是我们长期素养的一种体现。对这类急功近利的需求,我们多数时候退了几步,给出了一定空间,而不去硬来,这恰恰是一种成熟的态度。

所谓各自的角度不同,自然态度不同。我目前倒是乐于接受外来的新鲜思路,对于图书公司的实用化的追求也抱有积极配合的态度。但是我们不能丢了西瓜捡芝麻,而要向您曾说过的 -- 继承,继承的基础上发展,理论水平不降低,然后提高实践水平。这方面确实需要实际用户的推动,包括来自图书公司的推动。有项目做才是硬道理!公司不是研究机构,需要实际的推动才行。

> 2.一本书有很多作者,有很多超过五六个的,论文这种情况就很普遍了(一个导师写篇文章恨不得把他的学生全带上,论文不做MARC,但是电子化收录是有,查重也要用到),200字段一般只著录三个,而702字段却要全部著录上,这个老师领导他的学生写的第二篇论文就极有可能不能被系统收录,加权算法把它判重了,哪怕一个学生重复就给10分权重。

这个问题难不倒我。如果从要维护现有的权重体系的角度,我会给题名99分,著者1分。题名和一个著者重复,100分,够阈值了吧?而要题名不同而著者相同达到阈值,岂不是要100个著者相同才行?如果我把阈值改为1000分,题名999,著者1分呢?那就再多的著者也不怕了。不要低估了这套加权体系的灵活空间。

搞软件开发的玩的就是智商和逻辑推理。请重视一下我说出的话:现有的体系空间很大,你能找出不利的理由,我能找出有利的理由。你不妨多从两方面都想一下。反对以前,给出分量足一点的案例。当然,这属于设计、思辨层面的攻防模拟,不属于真刀真枪的开发行为。但是常思考、善思考总是没有坏处的。

而如果从改进这个体系的角度,我把楼上的新思路实现了就可以了,重复著者再也不会成为烦恼,过两天您看看新版本再说吧。我觉得我已经太周到了,两边都讲到了。讨论也应该有进步,不应该还停留在前两天没有改进方案时候的情绪中。

> MARC书目里面影响因素太多,更改设置可能对这批书有效,换一批就无效了。真的要用加权算法,那恐怕真的要一位数学家仔细研究MARC后设置一个比较好的权重分配体系,这样就不像您说的是一种简单的查重实现方法了。

不是这样的。一种权重体系,完全可以设计成对大部分情况都有效。检验的方法很简单,让软件查重,然后人工核对甄别。依靠统计数据,逐渐提高配置方案的表现和质量。这是一个体力活。只是我们目前没有太多精力做这样的事情。

我们提出的加权体系提供了一个很好的平台,但是没有能力给出一个非常好的权重分数例子。这好比word给出了排版的完全自由,但是可能没有预先携带某些现成的模板,容易造成用户对它的可能空间的轻看。我觉得我们这配置体系已经不错了,您完全可以稍微研究一下,弄出较好的分数方案,算是各出一半力气,得个好结局。您现在是破坏性思维模式,力图要证明它不好。其实如果反过来,您力图要证明它好,很快就会找到很好的分数方案。应用性的领域,倾向性是很重要的,所谓理论思维不要走极端。

“要一位数学家仔细研究MARC后设置一个比较好的权重分配体系”,这有点夸张了。稍微积累一点经验,多一点样本数据测试,就可以弄好的。要不然我们打赌,您出钱,我找人给你马上弄?实践领域,最怕来真的。一来真的,原先的顾虑的那些就都没有了。好比我那一段潜心核对著者号码表数据,找出每一个错误,我自就是一个校对员,有什么干不了的呢!一个星期很快就弄完了,不用求什么打字员数据录入员。

~~~

感谢您提出的判断流程。

我这里给您讲讲我开发生涯多年来悟出的一些门道。从产品角度,您已经看到产品了,和我看到的基本一样。但是从结构上,从思路上,我的眼睛和思路是X光机,透视看到的图像和角度可能和您感觉的差异很大,甚至面目全非。

加权查重的体系,可贵就可贵在它是一个彻底对称和自构的方案,特别符合计算机的基本算法的原则。不要轻看它,即便是找到了少量反对的案例。

打个比方,乐高的基本拼插部件,仅仅是少数几个基本形状。通过拼接,可以构造出复杂的形状。当然,也存在一些预先就是复杂形状预制件,但是这些预制件的可重用性不强,或者说生产的批量不够大。也好比我们砌墙的砖头,都是一个形状。有人问,我要一百米的墙怎么办?砌到一百米就行了,不必要造一块一百米长的专用砖头。

当然,这样的方法有时候会有缺点,比如乐高的基本部件虽然可以拼接为复杂形状,但是容易坑坑洼洼的,一看就是拼起来的,不如专用部件形状那么贴切。

从我的角度,如果属于对称和自构的方案,有少量缺点,但是实践表明缺点不足以否定对称和自构的强大优点,那我就还是用对称和自构的简单方案,而尽量不用专用的方案。这里面有成本因素、可维护因素等多方面的考量。

您提出的判断流程,仅仅是对特定的图书类型的一种判断流程,不是通用的。和上述权置体系不在一个层面。如果我要实现,比方说在现有的查重窗上加上C#脚本代码实现(为一个特定的二次开发方案),我在软件一次开发固件方面要做的事情仅仅是提供一些函数,而具体的流程和相关代码永远是一个一个具体的案例,属于用户的部分,而不是属于我们这个平台系统的部分。也就是说,虽然我们的系统对中文图书库缺省提供的题名和责任者的检索点,但是本质上来说我们什么也没有提供,题名和责任者仅仅是那个具体的配置文件的事儿,还到不了系统层次。从系统层次,它仅仅看到一个一个抽象的字段,并不偏爱其中任何一个,不在一次开发代码里面固化任何一个。

也好比我们做裁缝,永远是客人来了量体裁衣,而不是做大批成衣、均码。我们准备的只能是布料,客人来了以前,我们没法预知他的身高的胖瘦。

从我们的体系结构讲,什么东西要进入一次开发的代码,那是非常严格的。您看看,连上述的题名和责任者有关信息都是进不了一次开发代码的,永远在外围配置体系中。所以,您提出的思路,只能在二次开发中实现(即便可能是由我们来编写)。从目前来讲,还没有推广的必要,仅仅作为您自己的、或者您单位的特定做法。

而加权体系可以进入一次开发的代码。当然,具体的分数方案进不了一次开发的代码。

如果您把自己提出的方案改变为一个通用的算法(而具体几步的流程可以作为一个案例来表述),那另当别论。Microsoft最近一两年增加了一些流程灵活定义处理的通用设施,这方面也有可能在将来作出一些努力,有实现的可能。

~~~

最后要说一点,编目领域关于查重和去重,乃至记录合并,有不少误区,包括许多专业人员都存在认识误区。

我这里给你出一个思考题:编目数据查重不良,也就是说时有重复,会对图书馆业务系统带来什么具体的负面的影响?这个题目没有标准答案,但是我的答案肯定会让别人感到一定程度的意外,而且随着年头变长,我的答案有不断变简单的倾向。



发表时间: 2009-02-28 21:58:07
最后修改时间: 2009-02-28 22:32:27



  • 精品 查重导入数据发生“误杀”现象 Harry 2009-02-27 17:48:21[点击:60878]
  • 普通文章 请正确理解加权计算 孤舟蓑笠翁 2009-02-28 01:35:46 (ID:421) [点击:1129]
  • 普通文章 当求甚解 Harry 2009-02-28 09:03:23 (ID:422) [点击:1110]
  • 普通文章 回复: 当求甚解 xietao 2009-02-28 17:47:10 (ID:424) [点击:993]
  • 普通文章 回复: 查重导入数据发生“误杀”现象 xietao 2009-02-28 17:28:36 (ID:423) [点击:1234]
  • 普通文章 不能完全解决问题 Harry 2009-02-28 18:51:24 (ID:425) [点击:1378]
  • 普通文章 回复: 不能完全解决问题 xietao 2009-02-28 21:58:07 (ID:426) [点击:1094]
  • 普通文章 难以深入 Harry 2009-03-01 13:43:40 (ID:427) [点击:966]
  • 普通文章 回复: 难以深入 xietao 2009-03-01 21:25:34 (ID:428) [点击:1158]
  • 普通文章 要乐于听丑话 孤舟蓑笠翁 2009-03-03 13:18:56 (ID:434) [点击:1185]
  • 普通文章 向老同志学习 Harry 2009-03-03 21:33:12 (ID:436) [点击:1444]
  • 普通文章 回复: 向老同志学习 xietao 2009-03-03 22:31:00 (ID:438) [点击:1434]
  • 普通文章 有新改进 xietao 2009-03-02 21:26:37 (ID:432) [点击:1029]
  •  

    在线用户
    访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客 (我自己)   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客
    当前栏目在线用户数 128, 总在线用户数 134