==========
以下是引用 Harry 于 2009-3-1 13:43:40 发表的文字:
dp2的核心rmsws,如果我猜的没错的话,应该翻译为Resource Management System Web Service,名字就能看出您要做一个很通用的东西,加权法被放入您所说的一次开发,应该是针对于通用数据检索的,作为数据检索应用,用加权法判断数据的“相似”度,应该是一种很好的办法,就像是用google搜出来的很多结果,有相关的,也有不那么相关的,权值高的最相关,权值低的不相关,作为用户来说,找到了能找到的最相关的数据,即便有一些不相关的结果,我不看就是了,对软件的评价不会降低,就像是如果用dp2套录书目数据,搜出多个结果,我只用其中最相关的一条就好了,对软件也不会提出异议。
但是反过来,如果用这种方法排除数据就不那么恰当了。假设,仅仅是假设啊,我自己的数据库,想要排除一批数据,装上google引擎进行搜索,如果产生了很多不相关结果都删除了,那不就造成了数据丢失了吗?!这样我肯定要破口大骂了。一边导入一边查重的应用就类似于很多数据被无辜排除了。
这个地方是不是不要那么高的自动化呢,出现重复数据的时候给用户一个手动决定的机会,就像是搜索引擎会给一个结果list,而不是帮你打开相关页面。基本的工作软件做好了,决定权在用户,这样的机制您觉得怎么样呢?这应该是软件设计方面的问题,而不是核心算法的问题了。
另外,为客户着想,与客户仔细沟通,发觉客户需求,尽量满足客户的要求才是商道;把自己的精美设计理念强加给客户,“你不懂就是农民,就不配用我们产品”的想法,是只有书呆子才会干的事,就是低“商商”的表现。什么是标准,客户的话就是标准,他说让你上下册分开著录,就得分开著录;你要坚持所谓的标准,不愿意干,那好啊,排队等着的多着呢,我们面对的就是这样的市场,残酷的让人无法坚持真理。...唉,说过了不再说闲话的,晕。
==========
针对你上面的话题,回复如下:
1、加权查重就是相似度的比较,根据权重排序,而决定取舍的主体还得是交给用户人工判断。只不过,计算机可以帮人作些提高效率的事情,只要用户愿意设置一个阈值,凡高于此值的,就当它是重复。至于低于此阈值的是否有相关性或相重性,这些牺牲是用户自己决定的,也是用户能够承受的。
所以,用户想从严查重,可以设置更多的查重依据(检索点)和更高的阈值,即只有多个查重依据的权值和达到一个很高的分值后,才算重;而如果想从宽,则可以设置一个较低的阈值,甚至可以让某个或几个查重的权值就等于或超过阈值,那么,只要一碰这些依据,就重了。我们的查重方案可以跨库,也可以一个库带多种查重方案,人民大学图书馆采编部的老师们不可谓不专业、不可谓没经验吧?通过我们的多种查重方案结合,先宽再严,已满足他们的实际需求了。
2、还是坚持我们的观点,重不重,不能由软件说了算,得由用户取舍,好听一点,这叫以人为本——所以我们的程序替用户先过滤的所谓“重”记录,并不是说要丢弃,用户可以把“重”记录导入到所谓的“重数据库”(反正我们系统可以由用户轻易扩展很多数据库的)中,再逐条观察其与库中记录到底相似在哪里再决定取舍——如果用户觉得这么做有价值。
3、所以,即使在现有机制下,根据工作经验,设置出合理的加权因子与阈值,已能满足绝大多数需求了。何况谢涛还为了满足你的需求,补充完善了一些细节。我们乐意做锦上添花与细节完善的工作,但我们更要坚守的是一个长期思考并经实践考验的设计理念与架构。当然,不排除你的想法可以做出一个更好的查重方案,但是,如果增加了几倍的开发成本去解决用户有限甚至用户都不介意的问题,如果没用户买单,商业公司会做吗?这也是我很佩服你纯属个人爱好来体验我们系统的原因。
4、近期事务繁杂,所以我暂没有仔细分析与推敲你的文字,凭直观的浏览就回复,也没有更多修饰措辞,如让你不满意,不爱听,就当我没说。事实上,当初写出有关“农民玩单反”措辞前,我也曾有些犹豫是否有点不讨好人。但似乎找不到更妥当的替代词汇,所以也就用了。论坛中可以看出,对于你这位匿名朋友(至今我们还没有得知你的真实身份),公司两位负责人回复你的内容可能比我们大多数客户都多、也耗了很多精力。如果一团和气却无实质内容,可能你也嚼之无味。乐意与更多技术偏执狂交流,与技术偏执狂和普通用户交流的风格,我们都是有的,你想要哪种?