查找重复的书籍
Posted
技术标签:
【中文标题】查找重复的书籍【英文标题】:Finding duplicate books 【发布时间】:2012-01-14 07:59:40 【问题描述】:我有一些书名列表及其作者(没有 ISBN 编号)。我想维护一个包含唯一书籍条目的列表,并删除每本书的重复条目。
我面临的问题是不同的列表可能遵循不同的约定来存储书籍的条目。例如 - 一个列表可能以last name
first name
约定存储作者姓名,在另一个列表中,书名条目本身包含一些附加信息,例如系列名称以及序列号。
是否有任何标准算法来处理此类问题?我不想重新发明***。现在我正在使用 php 来编写解决方案。作为初学者,我尝试过levenshtein, soundex, metaphone, similar_text
,但它们对我来说都没有希望。
示例:以Inheritance Cycle 为例,该系列包含四本书。现在系列第二本书的入口可以是Eldest
、Eldest: The Inheritance Cycle (Book 2)
、Eldest (Inheritance)
、Eldest (Inheritance Cycle)
、Inheritance 002: Eldest
。
【问题讨论】:
这是一个复杂的问题。您可以尝试使用包含书名和作者姓名的数据库,并对数据进行模式识别。我还想看看这里是否有任何可用的 Amazon API。 是否有任何免费的、最新的、图书数据库或某种订阅可用? 【参考方案1】:这听起来像是一个搜索问题,只是域更受限制。我可能会使用现有的搜索技术(可能使用Lucene 或Solar)并遍历列表,首先搜索匹配项,然后如果找不到足够接近的匹配项,则添加“文档”(您拥有的一本书的信息)到索引。
这不是一个完美的答案,但它会为您提供各种匹配的分数,因此它会为您提供一些可调整的参数来使用。如果这不仅仅是一个需要解决的一次性问题,这是一个特别诱人的解决方案,因为“算法”可以在需要时学习和调整自身。
【讨论】:
以上是关于查找重复的书籍的主要内容,如果未能解决你的问题,请参考以下文章