CN1726494A - 使用模糊表达式进行查询 - Google Patents
使用模糊表达式进行查询 Download PDFInfo
- Publication number
- CN1726494A CN1726494A CNA2003801064015A CN200380106401A CN1726494A CN 1726494 A CN1726494 A CN 1726494A CN A2003801064015 A CNA2003801064015 A CN A2003801064015A CN 200380106401 A CN200380106401 A CN 200380106401A CN 1726494 A CN1726494 A CN 1726494A
- Authority
- CN
- China
- Prior art keywords
- song
- constraint
- entity
- database
- standard
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/632—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/638—Presentation of query results
- G06F16/639—Presentation of query results using playlists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种用于从数据库检索数据的方法和装置。在第一存储器中存储多个实体,并在第二存储器中存储关于每个存储实体的信息。从用户接收以至少一种模糊表达式形式的标准,用于从存储的实体中选择实体。将接收的标准转换为在已存储信息中使用的术语。然后,根据转换后的标准选择实体序列。
Description
技术领域
本发明涉及一种查询信息的方法和装置,以及更具体的说,涉及使用模糊表达式从数据库查询信息的方法和装置。
背景技术
因为计算机变的更加有效,而且购买和使用也更便宜,在计算机数据库中存储的数据量以惊人的速率增加。例如,计算机数据库会包括音乐集、视频内容、音频/视频内容、照片等。为了访问和使用在这些数据库中存储的数据,采用各种数据库检索技术。
已知数据库检索技术主要根据音乐常规书目分类方案,例如搜索和查询音乐风格、乐器、表演者、作曲者等,或者将音乐信息看作基于文本的介质,例如关键字搜索。常规的方法需要将查询格式化为命名的属性和它们的相关值的逻辑表达式。然后,该查询的执行指定一特定实体集合,也就是,音乐记录。这些常规方法需要用户侧在音乐属性和它们各个值的领域知识。典型的查询是选择音乐风格并从该风格中选择音乐艺术家。基于文本的检索集中于将统计技术应用于诸如歌曲歌词的索引静态文本,并通过发现这些索引和用户查询的相似性解决关键字组成的用户查询。
如果用户不熟悉或不知道这些音乐特性,用户必须求助于偶然的导航并在音乐集中搜索。而且,虽然许多人知道它们想看什么或听什么,但是他们不能将他们的请求表达或格式化为当前数据库检索技术需要的精确形式或术语。因此,对于数据库检索系统,这就需要通过允许用户使用模糊而自然的术语从数据库请求一项或多项,而提高系统的用户友好性。
发明内容
本发明的目的是通过提供一种使用模糊表达式查询数据库从数据库选择项的方法和装置来克服上述缺点。
根据本发明实施例,公开了一种从数据库检索数据的方法和装置。在第一存储器中存储多个实体,并在第二存储器中存储关于每个已存储实体的信息。从用户接收以至少一种模糊表达式为形式的标准,以便从存储的实体中选择实体。将接收的标准转化为在存储信息中使用的术语。然后,根据转化的标准选择一系列实体。
参考下述实施例阐明,本发明的这些和其他方面将更加清楚。
附图说明
将参考相应附图描述本发明,其中:
附图1表示其中会使用本发明实施例的教导的示例性系统的框图;
附图2是根据本发明一个实施例,将自动演奏列表产生建模为约束问题的图表;
附图3是根据本发明一个实施例,表示查询数据库方法的流程图;
附图4是根据本发明一个实施例,表示语言变量“节奏”和相关值的示例的图表。
具体实施方式
本发明给出了一种从数据库查询信息的新方法。虽然下面的描述会讨论关于音乐的音乐检索、音乐选择、音乐编辑和音乐排序目的查询信息,熟知本领域的人士会理解对于包含视频内容、音频/视频内容、照片等的数据库也能使用本发明。
附图1表示可以用来利用本发明实施例的视频/音频自动点播机系统10。点播机系统10包括计算机11,该计算机可以是市场上可得的任何标准的数据处理器。计算机11的尺寸会取决于访问的数据库的尺寸、处理器12所需的其他功能和执行各种操作所需的速度。虽然为了方便以下描述,假设使用相同的计算机11转化从用户接收的术语并搜索数据库,并不是对本发明加以限制,并能使用不同处理器执行下述的不同功能。而且,计算机11包含用于从用户设置的术语发现诸如歌曲的存储数据序列的一种或多种已知算法。
计算机11至少具有一个大的存储器13,其中存储将被搜索的数据库。存储器13可以是任何类型的大容量存储器。计算机11也能具有至少一个另外的存储设备14,其中以结构化形式存储在存储器13中存储的信息的元数据。根据主数据库存储器13的尺寸,存储器14具有适当的尺寸。存储器13和14可以是不同的存储设备或者也可以是同一存储设备的不同部分。
在本发明实施例中,主数据库存储器13会包括实体集,例如音乐、视频内容、音频/视频内容、照片等。而且,在自动点播机系统中,存储器13会连接包含音乐压缩盘集合的压缩盘存储设备21。第二存储器14会包含用于表征数据库存储器13内每个实体的元数据。搜索算法使用元数据确定每个单个实体是否满足用户指定的标准。
可以以多种方式产生元数据并存储在存储器14中,并不因此限制本发明。例如,当购买或获得实体时,元数据会伴随每个实体。例如,描述压缩盘上每首歌曲的元数据会存储在压缩盘上。当将压缩盘的歌曲转化到存储器13或添加到压缩存储介质21时,可以将元数据从压缩盘添加到存储器14。此外,用户能使用计算机11为添加到数据库存储器13的每个实体产生元数据。也能使用例如因特网将元数据从外部计算机下载到计算机11。
可以使用多种标准输入设备16向计算机11提供信息。这些包括,但不限制于,键盘设备、鼠标或滚球输入、文本/图像扫描器、调制解调器、交互式显示器,来自其他系统的网络输入等。该系统的一个选择是包括用于向系统输入查询的麦克风的声音识别模块17。计算机11也可以具有多个标准输出设备18,例如显示器20、打印机、声音合成器、扬声器19等。
根据本发明的一个实施例,如在麦克风中输入音乐片断的哼唱(humming)和轻敲声(tapping)提交查询。
根据本发明的一个实施例,本发明表示多个查询机制、查询会话和交互方法的集成,以在音乐领域表示查询结果。可以将演奏列表的产生看作约束满足问题。简而言之,约束满足问题(CSP:Constraint Satisfaction Problem)描述如下。给出可以从有限离散域和约束集获得值的变量集(或未知)。每个约束是在提供关于待解决问题的部分信息的变量子集上定义的逻辑关系或线性表达式。每个约束限制子集中的变量可以获得的值的组合。解决该问题的方法是发现值到变量的分配,以满足所有约束。也可以详细搜索满足所有约束的所有可能值的分配。
约束的重要特性是其说明特性,也就是,约束指定了必须符合什么关系而不需要指定用于实现该关系的计算过程。换句话说,用户通过应该符合什么约束来描述问题,而系统任务是解决该问题。句子“我需要以低速用钢琴和萨克斯管的小集合演奏的10首奏爵士乐歌曲,但只来自3位不同的钢琴演奏者”是一个典型的例子,其中某人会通过在音乐领域宣布其约束来表示他的音乐偏好。明显的是,在该示例中,不仅需要满足单个约束,并且必须要满足不一定独立或矛盾的约束集合。
可以将约束看作是定义在所有变量子集上的关系;它包括表示到这些变量的允许的值分配的数组集。如果约束的所有变量具有值并且相应的值数组属于该约束,则满足该约束。CSP的解决方法是当满足所有约束时所有变量的完整示例。将不违反所有约束的CSP的部分或完整示例称为相容的。将没有解决方案存在的CSP称为不相容(或不可解的、过度约束)。
变量基数是关于该变量的约束数目。约束数量指定义约束的变量数。一元约束限制了单个变量的值。二元约束限制一组2个变量的值。n元约束限制一组n个变量的值。一元和二元约束主要指基本约束,因为由n元约束组成的所有CSP都能转化为二元约束的CSP。约束图可以描述所谓的二元CSP,其中结点表示变量,而每条弧表示弧端点两个变量之间的二元约束。一元约束由起始和终止于相同结点的循环弧表示。转换为二元CSP并不必然意味着给定的n元CSP较容易解决,因为需要在具有更大域的其他变量上产生并解决其他约束。然而,许多CSP解决技术仅适用于二元CSP。
将音乐演奏列表定义为可以一口气演奏的歌曲的有限序列。以自动的形式即时地(on-the-fly)产生音乐演奏列表是个困难的组合问题。
如附图2所示,将音乐演奏列表设计为约束满足问题涉及到以约束集指定所需的演奏列表属性。演奏列表属性反映音乐听众表示出的音乐偏好。该方面中的变量是音乐从有限尺寸的给定音乐集必须具有的演奏列表序列中的空余位置。最初,每个空余演奏列表位置的范围由整个音乐集决定,因为集合的任何歌曲可以填充演奏列表中的每个位置。相容演奏列表是所得出的解决方案,其中所有演奏列表位置都有来自音乐集的歌曲同时该演奏列表的所有属性都得到了满足。
每首歌曲被表示为属性表示,其具有目录数据和音乐感知属性。同时,歌曲属性只可以从给出的有限属性范围中获得值;歌曲属性范围包括存在于给定音乐集合中的所有不同值的集合。应该强调的是给定歌曲的属性具有固定值;在解决问题时不能对其进行操作。相反,可操作被分配给演奏列表位置的歌曲本身。在本发明实施例中,使用如表1所示的音乐属性表示,但本发明并不限制于此。
标题 | 标称形 | 歌曲标题 | ‘All blues’ |
艺术家 | 标称形 | 领唱 | Miles Davis |
作曲者 | 复合形 | 歌曲的编曲 | Miles Davis |
唱片 | 标称形 | 唱片标题 | ‘kind of blue’ |
发行商 | 复合形 | 歌曲的发行商 | Teo Macero,Ray Moore |
标签 | 标称形 | 记录标签 | CBS |
年 | 数值 | 发行年 | 1959 |
风格 | 种类、分类 | 音乐风格或时代 | 爵士乐/后波普 |
持续时间 | 树值 | 以秒计的持续时间 | 695 |
曲调 | 数值 | 整体曲调(bmp) | 144 |
曲调标记 | 序数 | 整体曲调(标记) | 快速,急速 |
音乐家 | 复合形 | 音乐家列表 | Miles Davis,JohnColtrane,CannonballAdderley,Bill Evans,PaulChambers,Jimmy Cobb |
乐器 | 复合形 | 乐器列表 | 喇叭、高音萨克期管、低音萨克斯管、钢琴、低音提琴、鼓 |
合唱强度 | 数值形 | 没有音乐家 | 6 |
现场 | 二进制 | 是否在现场观众前? | 否 |
表1.音乐的属性表示
音乐属性的范围可以是标称形、二进制、种类、分类、序数、数值或复合形。标称形属性的值只反应一组值的相等、不同和该组值的成员关系。相同的对象被给予相同的值,而不同的对象被给予不同的值。标称形属性的示例是标题、唱片标题和歌曲的艺术家。该范围包括音乐集合中已知的所有标题和艺术家。
二进制属性是只能取自两个不同的值的属性。本质上说,二进制属性是标称形;它的值只允许测试相同或不同。该示例是指示一首歌曲是否已在现场观众前记录。
种类属性指其中给出的歌曲是否能被指定为例如音乐风格的种类(例如,主要种类为诸如经典、爵士乐、或流行音乐)。不在我们属性表示的其他示例是古典组合的主题目录数或古典作品的分类(管弦乐队、小乐队演奏、键盘、声乐作品)。它的值只反映相同、不同或集合伙伴关系。在某些方面相同的对象被给予相同的值,因为可以认为他们属于同一种类。
分类属性对值进行概念层次划分。这些分类体现了编目音乐的专业知识。对于音乐风格,该IS-A层次包括音乐形式、种类和子种类。音乐乐器的分类将它们划分为乐器的种类,例如管乐器、弦乐器、打击乐器、声音等。虽然层次的使用允许在值之间设计部分顺序关系,从严格意义上来说,分类的值只反映相同、不同或集合伙伴关系。可以使用该局部顺序作为在值上的相似性量度。
除了相同、不同和集合伙伴关系之外,序数属性的值反映顺序结构。可以使用该顺序表示一个值大于或小于另一个值,尽管不知道多少。一个示例是将一首歌曲的整体音调划分从‘极慢(极慢,大约40bpm)’到‘非常快(极快的,208及更高bmp)’的音调标记。
数值属性的值反映一个顺序结构,其具有标准单位和唯一的零点。后两者允许从加法和乘法的意义上推断出一个值与另一个值之间的差别。该属性从整数域获得它们的值并具有由当前的音乐集合所确定的极点(也就是,最小和最大值)。示例是以每分钟的节拍数表示的歌曲表演的整体节奏,以秒计的歌曲持续时间、或录制或发行该歌曲的年份。
对于最好表示为来自任一其他属性范围的枚举值的歌曲特性保留了复合形属性。示例是参加的音乐家或所使用的乐器的列表。
约束必须以某些形式接收它们的参数。一般来说,它们表示演奏列表中歌曲之间的关系。可以将它们中的一些定义为歌曲属性(例如,类型、主要艺术家、节奏)上的基本约束;将其他的看作和演奏列表的组成有关的整体序列约束。后者的典型示例指应该在演奏列表中包含的、期望的音乐多样性或规则的等级。可以将多样性约束表示为(连续的)歌曲应该出自不同的表演者、种类等的限制。可以将规则约束表示为规定特定歌曲属性值(例如,给定的艺术家)应该在演奏列表中足够多的出现。
当把演奏列表的自动产生表述为CSP时,可以将期望的演奏列表看作连续演奏列表位置的有限序列S=s1,s2,...,sM。每个变量si表示序列中的第i个位置。歌曲的有限范围Di与每个si相关。si可以从包含N首歌曲的音乐集获得任何歌曲。
歌曲可以表示为任意顺序,但是K个有值属性的固定集合Ak=Vik,k=1,...,K,其中Ak指属性名。歌曲用矢量si=(Vi1,Vi2,...Vik)表示。演奏列表的特性是在变量si,1≤i≤M,以及相应的歌曲属性Vik,k=1,...,K上定义的约束。为了标注方便,Vik=(vik1,vik2,...,vikLik)是长度为Lik的矢量。除了复合性属性,对于大多数属性,Lik=1,因为复合属性表示值的枚举。
现在将描述被认为对自动演奏列表产生有用的所有约束,但是本发明并不限制于此。大多数约束来自作品。通过以下实体描述每个约束:
名字提供用于参考目的的约束的符号名字;
约束的数量指组合在约束中的演奏列表位置的数目;
特征式(signature)提供参数列表、它们的类型、任何参数值和必要的限制;
意义解释约束的目的;
示例列出用于演奏列表产生可能使用的约束示例。
基本约束是一元和二元约束。一元歌曲固定约束表示在给定的演奏列表位置,来自歌曲集合的一首歌曲应该出现。特征式和意义是
SongFixed(i,S)
≡
对于位置i,1≤i≤M,si∈S成立,
其中i表示指向演奏列表中的位置的整数索引,而S表示歌曲集合。一个示例是第一首歌曲是固定的并由音乐听众给出的演奏列表。
一元相等约束表示在给出的演奏列表位置,第k项属性Vik具有给定属性值v的歌曲应该出现。特征式和意义是:
Equal(i,k,v)
≡
对于位置i,1≤i≤M,Vik=v成立,
其中i表示指向演奏列表中位置的整数索引,k表示歌曲si的第k项属性。属性的类型可以是任何已定义的类型(也就是,标称形、二进制、种类、数值、复合形)。一个示例表明演奏列表中的第i首歌曲应该是爵士乐,第i首歌曲应该由‘Prince’演奏,或者第i首歌曲应该使用给定的乐器,钢琴、低音提琴和鼓。
简单的说,一元不等约束是一元相等约束的相反版本。它表示,在给定的演奏列表位置,第k项属性Vik不具有给定的属性值v的歌曲应该出现。特征式和意义是:
Inequal(i,k,v)
≡
对于位置i,1≤i≤M,Vik≠v成立,
其中i表示指向演奏列表中位置的整数索引,k表示歌曲si的第k项属性。属性类型可以是任何给定值(也就是,标称形、二进制、种类、分类、数值、复合形)。一个示例表示演奏列表中的第i首歌曲不应该是‘爵士乐’歌曲,第i首歌曲该由不是‘Prince’的人表演,或者第i首歌曲应由不同于钢琴、低音提琴和鼓的乐器表演。
一元大于约束表示在给出的演奏列表位置,第k项属性Vik大于给定的属性值v的歌曲应该出现。特征式和意义是:
Greater(i,k,v)
≡
对于位置i,1≤i≤M,Vik>v成立,
其中i表示指向演奏列表中位置的整数索引,k表示歌曲si的第k项属性。很明显,在属性范围中必定存在值的顺序关系。这意味着可以在序数和数值属性上定义约束。一个示例是演奏列表中的第i首歌曲不应快于100节拍每分钟,或者第i首歌曲应该是在1990年之后发布的。
一元大于-等于约束是一元相等约束和一元大于约束的简单结合。它表示在给出的演奏列表位置,第k项属性Vik的值大于或等于给定的属性值v的歌曲应该出现。特征式和意义是:
GreaterEqual(i,k,v)
≡
对于位置i,1≤i≤M,Vik≥v成立,
其中i表示指向演奏列表中位置的整数索引,k表示歌曲si的第k项属性。很明显,在属性范围中,应该存在值之间的顺序关系。这意味着可以在序数和数值属性上定义约束。一个示例表示演奏列表中的第i首歌曲应该具有100节拍每分钟或更快的整体节奏,或者第i首歌曲应该在1990年或更晚发布。
一元小于约束表示在给出的演奏列表位置,第k项属性Vik的值小于给定属性值v的歌曲应该出现。特征式和意义是:
Smaller(i,k,v)
≡
对于位置i,1≤i≤M,Vik<v成立,
其中i表示指向演奏列表中位置的整数索引,k表示歌曲si的第k项属性。很明显,在属性范围中应该存在值之间的顺序关系。这意味着可以在序数和数值属性上定义约束。一个示例为,演奏列表中的第i首歌曲应该不慢于100节拍每分钟,或者第i首歌曲应该在1990年前发布。
一元小于-等于约束是一元等于约束和一元小于约束的简单结合。它表示在给出的演奏列表位置,第k项属性Vik的值小于或等于给定的属性值v的歌曲应该出现。特征式和意义是:
SmallerEqual(i,k,v)
≡
对于位置i,1≤i≤M,Vik≤v成立,
其中i表示指向演奏列表中位置的整数索引,k表示歌曲si的第k项属性。很明显,在属性范围中应该存在值之间的顺序关系。这意味着可以在序数和数值属性上定义约束。一个示例表示演奏列表中的第i首歌曲应该具有100节拍每分钟或更慢的节奏,或者第i首歌曲应该在1990年或更早发布。
一元之间约束(unary among constraint)表示在给出的演奏列表位置,第k项属性Vik的值是值集合vals={v1,...,vp}之一的歌曲应该出现,。特征式和意义是:
Among(i,k,vals)
≡
对于位置i,1≤i≤M,Vik∈vals成立,
其中i表示指向演奏列表中位置的整数索引,k表示歌曲si的第k项属性,以及vals={v1,...,vp}表示属性值的集合。可以对所有类型的属性指定该约束。一个示例为,演奏列表中的第i项歌曲应该是‘爵士乐’歌曲或‘流行’歌曲,或者第i首歌曲应该由‘Prince、‘James Brown’或者‘Michael Jackson’表演。
一元范围(unary range)约束表示在给出的演奏列表位置,第k项属性Vik的值在从整数值v到整数值w的范围内的歌曲应该出现。特征式和意义是:
Range(i,k,v,w)
≡
对于位置i,1≤i≤M,v≤Vik≤w成立,
其中,i表示指向演奏列表中位置的整数索引。k表示歌曲si的第k项属性,而v和w表示两个属性值,且w>v。只能对序数和数值属性指定该约束。一个示例为,演奏列表中的第i项歌曲的节奏应该在108节拍每分钟到120节拍每分钟的范围(也就是,适度或‘缓慢’节奏种类)内,或者第i首歌曲应该在70年代(从1970年到1979年)发行。
二元相同约束表示分配给两个不同演奏列表位置i和j的歌曲应该是相同的。特征式和意义是
Identical(i,j)
≡
对于位置i和j,1≤i≠j≤M,si=sj成立,
其中i和j表示指向演奏列表中位置的整数索引。一个示例是演奏列表的第一首和最后一首歌曲应该相同。
二元不同约束是二元相同约束的相反版本。它表示在两个不同演奏列表位置出现的歌曲应该不同。特征式和意义是:
Different(i,j)
≡
对于位置i和j,1≤i≠j≤M,si≠sj成立,
其中i和j表示指向演奏列表中位置的整数索引。一个简单的示例是演奏列表的前两首歌曲应该不同。
二元相等约束表示歌曲在位置i和j的第k项属性应该相等。特征式和意义是:
Equal2(i,j,k)
≡
对于位置i和j,1≤i≠j≤M,Vik=Vjk成立,
其中i和j表示指向演奏列表中位置的整数索引。一个示例是第一首和最后一首歌曲应该是相同种类(或唱片),或者由同一个艺术家演奏。
二元不等约束是二元相等约束的相反版本。它表示出现在两个演奏列表位置的歌曲的第k项属性应该是不同的。特征式和意义是:
Inequal2(i,j,k)
≡
对于位置i和j,1≤i≠j≤M,Vik≠Vjk成立,
其中i和j表示指向演奏列表中位置的整数索引。以及k指歌曲si和sj的第k项属性。一个示例是第一首和最后一首歌曲是不同的种类或由不同的艺术家表演。
二元小于约束表示出现在一个演奏列表位置的歌曲第k项属性应该小于其他演奏列表位置的。特征式和意义是:
Smaller2(i,j,k)
≡
对于位置i和j,1≤i≠j≤M,Vik<Vjk成立,
其中i和j表示指向演奏列表中位置的整数索引。以及k指歌曲si和sj的第k项属性。一个示例是第一首歌曲的节奏应该慢于第二首歌曲的。
二元等于之间(binary equal-among)约束表示出现在两个演奏列表位置的歌曲第k项属性应该是相等的并都是值的集合中的一员。特征式和意义是:
EqualAmong(i,j,k,vals)
≡
对于位置i和j,1≤i≠j≤M,Vik=Vjk∧Vik∈vals成立,
其中i和j表示指向演奏列表中位置的整数索引,以及k指歌曲si和sj的第k项属性,以及vals={v1,...,vp}表示属性值的集合。一个示例是演奏列表开始于相同种类的两首歌曲,或为‘techno’,‘dance’或‘house’。
二元相同组约束表示出现在两个演奏列表位置的歌曲的第k项属性应都是相同的值集合中的值。特征式和意义是:
SameGroup(i,j,k,vals)
≡
对于位置i和j,1≤i≠j≤M,Vik∈vals∧Vjk∈vals成立,
其中i和j表示指向演奏列表中位置的整数索引,以及k指歌曲si和sj的第
k项属性,以及vals={v1,...,vp}表示属性值的集合。一个示例是演奏列表开始于两首歌曲,其选自‘dance’、‘techno’和‘house’种类。
全局约束表示包括其他(基本)约束集合的约束。换句话说,可以将一些全局约束建模为相同基本约束的网络。全局和约束表示出现在演奏列表位置集合的歌曲的第k项属性值之和不应该小于给出的值v1并不超过给出的值v2。特征式和意义是:
Sum(I,k,v1,v2)
≡
对于所有位置i∈I,1≤i≤M,
成立,
其中I{1,...M}表示指向演奏列表中位置的整数索引的集合,以及v1和v2分别表示指向下限和上限和的整数值。只能对数值属性使用该约束。该约束的一个示例是要求演奏列表的整体持续时间不长于一个小时听觉享受。
全局所有歌曲不同(all song different)约束表示分配到演奏列表位置集的歌曲应该是成对不同的。对于所有可能的成对演奏列表位置,该约束本质上是二元不同约束的组合。如果包含所有演奏列表位置,它相当于M(M-1)/2个约束。
特征式和意义是:
AllSongsDifferent(1)
≡
对于所有i∈I,j∈I,1≤i<j≤M,si≠sj成立,
其中I{1,...M}表示指向演奏列表中位置的整数索引集合。该约束的示例是需要演奏列表中的所有歌曲应该不同,这会是普通的先决条件。
全局所有属性不同约束表示出现在给定演奏列表位置集的歌曲的第k项属性应该是成对的不同。特征式和意义是:
AllAtrributeDifferent(I,k)
≡
对于所有i∈I,j∈I,1≤i<j≤M,Vik=Vjk成立,
其中I{1,...M}表示指向演奏列表中位置的整数索引集合,而k表示歌曲si和sj的第k项属性。该约束的示例是需要演奏列表中的歌曲的所有主要表演者或所有作曲者是不同的。
全局所有属性相等约束表示出现在给定的演奏列表位置集合的歌曲的第k项属性的值应该是相等的。特征式和意义是:
AllAttribute-Equal(I,k)
≡
对于所有i∈I,j∈I,1≤i<j≤M,Vik=Vjk成立,
其中I{1,...M}表示指向演奏列表中位置的整数索引集合,而k表示歌曲si和sj的第k项属性。该约束的示例是需要演奏列表中的所有歌曲应该是相同种类的,由相同艺术家表演或来自相同唱片。
全局最小约束表示出现在给定的演奏列表位置集合的歌曲的第k项属性的最小值应该等于给定值。特征式和意义是:
Minimum(I,k,v)
≡
min{Vik:i∈I}=v
其中I{1,...M}表示指向演奏列表中位置的整数索引集合,而k表示歌曲的第k项属性,而v是所需的最小值。一个示例是演奏列表中歌曲的整体节奏应该是90节拍每分钟及更高。
全局最大约束表示出现在给定演奏列表位置集合的歌曲的第k项属性的最大值应该等于给定值。特征式和意义是:
Maximum(I,k,v)
≡
max{Vik:i∈I}=v
其中I{1,...M}表示指向演奏列表中位置的整数索引的集合,k表示歌曲的第k项属性,而v是所需的最大值。一个示例是演奏列表中歌曲的整体节奏应该是120节拍每分钟及更低。
全局所有属性范围约束表示出现在给定演奏列表位置集合的歌曲的第k项属性的值应该在一特定范围内。特征式和意义是:
AllAttributeRange(I,k,T1,T2)
≡
T1≤max{Vik:i∈I}-min{Vik:i∈I}≤T2成立,
其中I是指向演奏列表位置的整数索引的集合(I{I,...,M}),k表示第k项属性(1≤k≤K),而T1和T2分别表示下限和上限。一个示例是演奏列表的歌曲应该在70年代(1970年-1979年)发行。
全局连续属性相似性约束表示分配到从i到j的范围内任意两个连续演奏列表位置的两首歌曲的第k项属性的值在某些方面应该‘相似’(但是‘不是特别相似’)。特征式和意义是:
AttributeSimilar(i,j,f(,),T1,T2)
≡
l,1≤i≤l<j≤M,T1≤f(Vlk,Vl+lk)≤T2成立,
其中i和j(i<j)表示指向演奏列表中位置的整数索引,T1和T2分别表示下限和上限相似性极限值,而f(v,w)表示属性值相似性函数。函数f(v,w)也可以表示为二元判定。
对于例如标题、人名和音乐种类的标准、二进制、种类和序数属性,如果属性值相等,属性值相似性f(v,w)为1,或者如果值不同时为0。使用概念层次的结构以及层次中两个值的相对位置,我们可以定义分类属性的相似性量度。
对于诸如以节拍每分钟的整体节奏、发行年或合唱强度(ensemble strength)的数值属性而言,属性值相似性可以是1减去绝对值同数值属性范围的总跨度的比值。更精确的说:
其中R表示对应属性可以取得的最大值(上限)和最小值(下限)之间的差。然而,也可以定义其他属性值相似性函数。该约束的一个示例是需要演奏列表中的两首连续歌曲应该具有在特定范围内的整体节拍或发行年。
全局连续歌曲相似性约束表示分配到从i到j的范围内的任何两个连续演奏列表位置的两首歌曲的第k项属性的值在某些全局方面应该‘相似’(不是特别相似)。特征式和意义是:
SongSimilar(i,j,F(,),T1,T2)
≡
l,1≤i≤l<j≤M,T1≤F(sl,sl+1)≤T2成立,
其中i和j(i<j)表示指向演奏列表中位置的整数索引,T1和T2分别表示下限相似性边界值和上限相似性边界值,而F(si,sj)表示歌曲相似性函数。
歌曲相似性函数能包括所有属性值相似性的加权和。可以将演奏列表位置si和sj之间的歌曲相似性量度F(si,sj)定义为所涉及的所有属性值相似性的归一化加权和。该值范围在0到1之间。更精确的说:
其中K是属性的数目,Lik是属性Ak的值的数目。s(vik1,vjk1)表示歌曲(或演奏列表位置)si和sj之间属性Ak的属性值相似性,而加权wik1表示属性值的相对重要性。
相似性量度不是度量意义上的距离量度,因为它违反三项度量公理(metricaxiom)中的两个。对于所有歌曲而言,任何歌曲和其本身之间的相似性是一致的,并且是可能的最大值(也就是,F(si,sj)≤F(si,si)=F(sj,sj)=1)。很明显,不会把一首歌曲弄错成另一首歌曲。同时,注意相似性量度是非对称的(也就是,F(si,sj)≠F(sj,si)),因为每首歌曲具有它自身的加权集合。相似性的非对称性指观察到歌曲si在某种情形下较类似于歌曲sj,在另一情形下则是其他情况。可以通过比较歌曲并且什么歌曲作为参考点的命令来产生。参考点的选择使得在相似性计算时更少地关注在其它歌曲中没有的属性值。听众更熟悉的音乐会充当参考点。然后,例如,会判定来自相对不出名艺术家的音乐很相似于著名艺术家的音乐,而相反的判断也许不正确。最后,因为在比较三首歌曲之间成对相似性中许多属性的标称特性和属性相关性的改变,一般不符合三角形不等关系(也就是,F(si,sj)+F(sj,sk)≥F(si,sk))。
其他非度量心理相似性(non-metric psychological similarity)测量基于对比模型和乘法定则模型。该约束的一个示例是需要演奏列表中互相跟着的所有歌曲应该是‘相容的’。
全局属性计数(global attribute count)约束表示演奏列表位置的选定集合的第k项属性的不同值的数目应该在a和b两个整数值之间。特征式和意义是:
AttributeCount(I,k,a,b)
≡
i,i∈I,0≤a≤b≤M,a≤Card{Vik:i∈I}≤b
其中,I是指向演奏列表位置的整数索引集合(I{1,...,M}),k表示第k项属性(1≤k≤K),而a和b表示最小允许的基数(cardinality)和最大允许的基数(0≤a≤b≤M)。可以对任何属性类型使用该约束。一个示例是应该只使用三种不同的唱片产生该演奏列表,或者演奏列表应该包含3到6个不同的主要表演者。
全局歌曲基数约束表示在给定的演奏列表位置集合的歌曲数应该在两个整数a和b内,所述演奏列表位置的第k项属性的值是给定集合vals的成员,特征式和意义是:
SongCoun(I,k,vals,a,b)
≡
i,i∈I,a≤Card{i:Vik∈vals}≤b成立,
其中I{I,...,M}是指向演奏列表位置的整数索引集合,vals={v1,...,vp}表示属性值的集合,而a和b分别表示最小可允许基数和最大可允许基数(0≤a≤b≤M)。可以对任何属性类型使用该约束。
对于数值属性存在该约束的特殊变量,其中作为参数传递值的范围,而不是值的集合。更精确的说,
SongCount(I,k,v1,v2,a,b)
≡
i,i∈I,a≤Card{i:v1≤Vik≤v2}≤b成立,
其中I{1,...,M}是指向演奏列表位置的整数索引集合,v1和v1分别表示下限值和上限值,而a和b分别表示最小可允许基数和最大可允许基数(0≤a≤b≤M)。
另一变量表示在其第k项属性的值与给定值有特殊关系的演奏列表位置的给定集合中的歌曲数:
SongCount(I,k,rel,v,a,b)
≡
i,i∈I,a≤Card{i:Vik rel v}≤v成立,
其中I{1,...,M}是指向演奏列表位置的整数索引集合,k表示第k项属性(1≤k≤K),rel是关系操作符(rel∈{=,≠,≤,<,≥,>}),而a和b分别表示最小可允许基数和最大可允许基数(0≤a≤b≤M)。一个示例是在10首歌曲的演奏列表中主要表演者‘Miles Davis’应该出现至少2次最多4次,或者至少6首歌曲应该在70年代(1970年-1979年)发行。
全局歌曲平稳约束表示第k项具有特定值出现最多的歌曲数和第k项属性具有特定值出现最少的歌曲数之间的差别应该限制到一个特定值。特征式和意义是:
SongBalance(I,k,a)
≡
maxv∈Di{Card{i:i∈I,Vik=v}}-minv∈Di{Card{i:i∈I,Vik=v}}=a
其中I{1,...,M}是指向演奏列表位置的整数索引集合,k表示第k项属性(1≤k≤K),而a表示平衡界限值(0≤a≤M)。可以对所有属性类型使用该约束。一个示例是在音乐风格之间或主要表演者之间执行平衡而不管在演奏列表中应该有多少不同的风格或表演者。
为了解决CSP,我们需要在包含分配到变量的可能值的所有组合的完整枚举空间进行搜索。该搜索空间的大小等于所有涉及的变量范围的笛卡儿乘积。在该情况下,这意味着在包含所有可能的演奏列表的空间中进行搜索。例如,如果我们需要从500首歌曲的音乐集合中产生包含10首歌曲的演奏列表,必须考虑的不同演奏列表数目是50010。
该部分给出了解决CSP的搜索(search)和约束传播(constraint propagation)方法。将CSP术语转变为来自音乐领域的术语。我们不使用变量、值、范围和解决方案,而分别使用术语演奏列表位置、歌曲、音乐集和相容演奏列表。所给出的大多数搜索方法都是回溯方法的变体,其中逐个位置地扩展部分一致的演奏列表,同时根据试探法和记账(bookkeeping)以从死点(dead-end)恢复。在搜索方法的讨论中,只假设了涉及一元和二元约束(二元CSP)的演奏列表产生。约束传播是从集合中去除违反约束并因此不能成为相容列表一部分的歌曲的一类方法。可以使用这些方法作为预处理阶段,以在开始时减少搜索空间或者在搜索方法中使用它们来增加其性能。
约束传播是将问题减少到更易于管理的部分。去除不能是相容演奏列表一部分的歌曲,产生空余演奏列表位置的范围减少以及约束的紧缩。不需要考虑没有对解决方案真正作出贡献的歌曲可以提高搜索性能。很明显,去除这些歌曲不会排除任何感兴趣的演奏列表。
约束传播数量是以获得的相容性级别为特征的。存在可以引起手头问题的不同相容性级别,以及用于建立一特定相容性级别的多种算法。
演奏列表产生问题是结点相容的(node-consistent),如果所有一元约束对空余演奏列表位置适用所有歌曲。如果一个问题缺少结点相容性,这意味着至少一首歌曲不能满足一元约束。随后在任何位置使用该首歌曲都会导致立即的违反。可以通过从变量范围去除那些违反一元约束的值来简单地避免由缺少结点相容性而产生的麻烦。
演奏列表产生问题是弧相容的,如果它是结点相容的并对任意候选歌曲任意演奏列表位置,可以满足指向该位置的所有二元约束。如果缺少弧相容性并且二元约束限制特定歌曲出现在两个位置,将这些歌曲放在这些位置将总是会产生立即的违反。通过首先使它结点相容然后通过每个二元约束并去除对于两个位置违反约束的所有歌曲,可以使该问题弧相容。如果对于给定位置去除所有歌曲,指向该位置的其他约束必须被再次检查。
对于二元约束,可以通过使用推理法则有效地实现歌曲的去除。例如,对于二元小于约束Vik<Vjk,其中Vik和Vjk分别是位置si和sj的第k项整数(数值)属性(例如,节奏、发行年),可以将去除表示为:
v∈Z,Vik≥v→Vjk≥v+1
v∈Z,Vjk≤w→Vik≤w-1
其中Z是整数集。现在,以下面的方式去除位置sj的歌曲,Vjk的范围有最小值等于1加上范围Vik的最小值。去除位置sj的歌曲,使范围Vik具有最大值等于1-范围Vjk的最大值。
公知的弧相容性的较弱形式是有向弧相容性。一个问题是有向弧相容的,如果对给定顺序的任何演奏列表位置的任何候选歌曲,在该顺序的任一在前位置上存在候选歌曲,其而不违反指向这两个位置的任何二元约束。
相容性级别表示可以将给出的部分相容演奏列表可以被扩展到什么范围。如果只有一个位置占据弧相容演奏列表的歌曲,可以总是在其他位置以其他歌曲来扩展这个部分演奏列表。如果包括更多的位置,我们可以得到k相容性的概念。
如果通过将一首歌曲分配到任何剩余空余位置来扩展在k-1位置具有歌曲的部分相容演奏列表,则演奏列表产生问题就是k相容的。如果它是1相容、2相容直到k相容的,它甚时是强k相容性的。结点相容性意味着强1相容,弧相容性意味着强2相容。
如果可以将当前问题变成k相容问题,这并不必然意味着存在相容性演奏列表。如果它是强k相容的,意味着不需要搜索或回朔就可以将歌曲分配到k位置的任意集合。如果演奏列表有M个位置需要填充,则可以将该问题变成M相容问题,可以不需要任何搜索产生演奏列表。然而,对很大的k,使用(强)k相容性的实际好处是很小的,因为把给定问题减小到该相容性级别所需的努力是成指数增长的。
和基本约束相反,全局约束很难传播。然而,可以将弧相容性的概念扩展到非二元约束(全局)约束。演奏列表产生问题是广义的弧相容问题,如果对约束中所有演奏列表位置的所有候选歌曲,在约束中有其他位置的歌曲而不违反约束。可以改变获得弧相容性的标准算法,使它们获得广义的形式。缺点是约束的变形减少稀有性增加。因此,为了在特定类型的全局约束上工作,必须设计特殊传播算法。
产生并测试模式是一种简单的技术,它不是回溯为基础。在该模式中,以系统的形式将音乐集合中的歌曲分配给演奏列表中的所有位置。随后,测试该演奏列表是否满足所有约束。然后,第一个满足所有约束的歌曲分配是相容的演奏列表。通过以系统形式继续产生并测试方法来寻找更多的演奏列表(也就是,避免重复的进行相同的分配或只改变一个违反约束的位置)。很明显,需要考虑整个搜索空间来发现所有可能的相容演奏列表。
一个更有效的技术是按照年代回溯(chronological backtracking)。在该方法中,一个接一个地将歌曲分配给每个演奏列表位置。一旦与约束相关的所有位置都有歌曲,使用该部分实例来检查约束的有效性。如果违反约束中的一个,执行回溯过程,其中取消对一个位置最近歌曲分配,并选择该位置的另一首歌曲。然后将调整的实例输入到约束有效性检查。如果遇到死点情况,即对于该位置没有备选歌曲,则回溯甚至在前一位置的级别进一步寻求。如果所有位置都有一首歌曲,同时满足所有约束,相容演奏列表就已经产生了。通过取消最近的歌曲分配并继续相同回溯过程来寻找其他的相容性演奏列表。如果没有剩余的需要回溯的位置,却仍然违反了某些约束,这说明不存在满足所有约束的相容演奏列表。
可以将回溯搜索看作搜索树遍历。则树的根结点指向空演奏列表。树的第一层结点包括将一首歌曲分配给一个位置的所有演奏列表。第二层结点包括将歌曲分配到两个位置演奏列表,等等。树的叶结点包括其中填满所有位置的所有可能演奏列表。
可以从以下事实示例表示产生并测试方法的有效性,当部分相容演奏列表违反约束时,去除部分搜索空间,因为不再进一步寻求部分演奏列表。换句话说,不再进一步探查子树,因为搜索采用该树的另一分枝。
实际中,按照年代回溯的运行时复杂度仍然与问题的规模成指数关系。这表示根据以下的观察,访问了搜索树中过多的结点:
1.以任意形式反复地选择演奏列表中的下一个位置和候选歌曲。顺序试探法选择位置和歌曲来避免复杂搜索。
2.只有当约束违反发生时,稍后检测到约束违反。这意味着需要完整的搜索才能发现没有相容演奏列表。因为违反相同的约束而产生重复失败,无需任何措施。提出预判方案(look-ahead scheme)来避免搜索过程中发生的约束违反。简而言之,这些方案去除了违反约束的位置的候选歌曲。
3.不记录错误的原因,同时探查搜索空间导致在搜索空间的不同部分重复发生相同错误(称为垃圾)并因此导致冗余的工作。提出回顾方案(look-backscheme)用于避免冗余的工作。简而言之,这些方案试图识别并记住错误的原因并在回溯过程中使用。
在得出有必要进行回溯的结论之前,选自下一个演奏列表位置的顺序可以防止进行复杂的搜索。直观地,应该首先选择最重要的关键位置。已经提出一些试探法针对不同的问题特性判断这种关键程度。如果提前设定了位置顺序,则将该试探法称为静态试探法。相反,动态试探法根据搜索的当前状态重新排列顺序。以下给出一些试探法:
失败优先原则首先选择那些可选歌曲数最少的位置。
最小宽度排序首先选择这样的位置(如加入约束),依赖于所述位置的、先前实例化的位置的数目最少。
最大基数排序首先选择这样的位置,依赖于所述位置的未来位置的数目最少(如假如约束)。
最小带宽排序将加入约束的位置互相紧靠。
除了以适当方式选择下一个位置,我们也可以通过选择适当歌曲尝试用于该位置。这里,应当将适当歌曲解释为‘最有希望’产生相容演奏列表的歌曲。最小冲突优先试探法为当前位置选择歌曲,为演奏列表中的其他空余位置留下大多数歌曲。
向前检查(forward checking)如回溯法一样使用相同的搜索过程。一个接一个的将歌曲分配给演奏列表位置并检查所涉及的约束。然而,它保证对于每个空余演奏列表位置,至少有一首歌曲满足涉及部分相容演奏列表的约束。为了确保,每次将一首歌曲分配给一个位置时,为剩余空余的演奏列表位置去除候选歌曲。特别是,必须从范围中去除违反了约束传播的最近歌曲分配所涉及的部分约束的歌曲。如果这些范围之一为空,将拒绝最近歌曲分配。否则,将为下一个演奏列表位置分配一首歌曲,直到完成演奏列表。如果对当前位置,所有歌曲都已尝试失败,以与回溯法一样的形式返回到以前的位置。
在向前检查的约束传播阶段,只检查可以出现在空余演奏列表位置的歌曲而不是已经分配给位置的歌曲。部分预判通过同时以固定顺序检查涉及所有空余位置的约束并去除违反约束的歌曲来进一步减少搜索空间。现在,可以确保对于任何空余演奏列表位置,至少有一首歌曲不违反部分相容演奏列表的所有约束,而且对每两个空余位置存在一对歌曲。然而,保证在任意两个演奏列表位置之间的弱相容版本称为有向弧相容性,因为约束传播是以固定顺序进行的。计算上更昂贵的版本放松该顺序、维持弧相容性并称为全预判。
后跳不是返回到前一演奏列表位置以从死点恢复,而是回朔到(联合)引起死点的位置。在死点情形下,对于当前位置不违反所有约束时,没有可用的歌曲。回跳首先收集保持该歌曲的所有位置,直到违反当前位置的约束。然后,它采用最近实例化的位置作为回跳的位置。如果当前位置已经具有歌曲但是然后用于回溯,至少有一首歌曲满足部分相容演奏列表的所有约束。在该情况中,回跳采取常规回溯过程,也就是,返回到以前的演奏列表位置。
回跳仅计算回溯的位置,但在搜索中有更多位置。作为回跳的改进,面向冲突的回跳(conflict-directed backjumping)、回查和回标记都是在不相容集中对每个位置维持所有不相容位置的稍微不同算法。在死点环境中,将最近实例化的位置作为回溯的位置。此外,参加不相容集以免丢失关于约束违反的信息。
回跳也倾向于回溯和忘记由被跳过的位置组成的一致演奏列表的一部分。动态回溯(dynamic backtracking)通过重新对位置排序来保持分配到回溯位置的歌曲。特别是,将回溯到的位置实际放在否则会跳过的所有位置末端。
搜索方案和试探法的多样性很自然会导致用于演奏列表产生的算法上的许多选择。幸运的是,可以合并许多搜索方案和顺序试探法,尽管它们不需要正交。
不仅需要对一特定情形产生一个演奏列表,而且需要对许多情形产生许多演奏列表。可以想像的是对于一些情况不可能满足所有约束。在这方面,值得注意的是,并非所有约束都是是‘同等重要的’或者具有相同优先级。不能牺牲所谓的硬约束,但是可以牺牲软约束,这样可以放宽当前的问题。相似的方法是在0到1的满意值之间表示出对给定约束的满意程度。然后。给定演奏列表的满意程度等于每个约束的单独满意度的某种组合。
现在将参考附图3描述在点播机系统10中本发明的数据库检索系统的操作的说明性示例。如上所述及如步骤302和304所示出的,该示例假定在数据库存储器13中存储了音乐集,在存储器14中存储了关于音乐集中每首歌曲的元数据。然后,在步骤306,点播机系统10通过任何输入设备16从用户接收查询的标准。在该示例中,用户使用模糊表达式请求“大约一个小时的音乐”、“用于浪漫的晚上”、“用钢琴弹奏的”、“低速”、“相似的曲调”、“法语发音”。然后,在步骤308,点播机系统10将上述的模糊表达式转化为标准、约束和判定。其中,转化后的模糊表达式具备了可以与存储在存储器14中的元数据比较的信息的形式。例如,将表达式“大约一个小时的音乐”转化为“总长~60分钟”。将表达式“用于浪漫的晚上”转化为“主题=爱”。将表达式“用钢琴演奏”转化为“乐器=钢琴”。将表达式“低速”转化为“节奏<80bpm”。将表达式“相似的曲调”转化为“对于所有曲调,他们之间的差距<K”。将表达式“法语发音”转化为“语言=法语”。
一旦转化了每个模糊表达式,在步骤310,处理器12使用已知的搜索算法在存储器14中搜索满足用户查询的音乐元数据。然后,在步骤312,处理器产生可以由点播机系统10演奏的音乐列表。
可以以以下形式执行模糊表达式的转化。该示例假设用户向当前约束基础增加一个约束。可以在具备附加支持以及用户指导的对话框中实现该步骤。因此,每个表达式对应一个约束。此外,已经产生了数据模型,定义音乐领域的概念、属性以及相关关系。
对于每个表达式,转化涉及两个方面:(1)选择合适的约束,(2)用合适的参数实例化该约束。可以将约束看作是强加在在演奏列表中位置子集上的关系;它包括到这些位置的可允许歌曲分配的元组集。可以在歌曲本身或歌曲的特定属性(例如,艺术家、节奏、风格)上定义约束。只有有限数目不同种类的约束,其中一些可以是缺省的。例如,全差别(all-difference)约束表示演奏列表中的所有歌曲应该是不同的,该约束明显是缺省约束的候选。相似约束表示连续的歌曲应该具有相似的特性(例如,相同的艺术家或风格)。计数(count)约束表示具有特定特性(例如,特定艺术家、风格或节奏范围)的歌曲应该足够出现(在给定的限制内)。
需要使用短语结构语法来分析表达式。每个约束类型具有它自身的语法,该语法意味着选择合适的约束取决于表达式中使用的语法形式和词(语法中的终结符)。模糊与约束的参数非常相关。它有不同方式。表达式中的公有名词和从句可以具有模糊意义。在查找表中保留相同对象(概念和属性)的同义词,当使用对象的不同名字时,允许用户参照数据模型中的对象。分析来自表达式的这些名字并检索相应的对象。规则结构分析例如‘用于浪漫的晚上’的从句。
当使用形容词和它们的修饰语时,模糊会发生。大多数形容词与反义词成对出现(例如,慢-快、高声的-温和的、好-坏)。识别反义词(例如,从快到慢)的转折点是任意的。修辞语以精细的方式作用在这些形容词的语义上(例如,‘非常’、‘很’、‘差不多’、‘稍稍’)。关于基数的模糊也会发生。诸如‘许多’、‘少数的’、‘一些’和‘大约一半’定量表达式的意思不能被充分限定。
处理这种模糊的方式是通过使用已知的模糊变量、集合和逻辑。主要观念是成员函数在从0.0到1.0的实际范围内表示到模糊集合的成员关系。该函数是凸的并且必须经过定义。诸如补、并、交的集合理论操作对这些成员函数起作用。使用模糊集合,可以将一个元素‘或多或少’地分配给集合。虽然成员函数的指定是任意的,模糊集合允许我们使用算术声音方法从表达式得到意义。
对于不精确和模糊,使用语言变量,语言变量具有以词而不是(实)数表示的值的范围。语言变量被表征为:由凸函数实现的模糊变量的语言值或术语的集合、模糊变量的范围、领域范围、参考语言变量分析或产生术语的语法规则以及计算每个语言值含义的意义规则。可以从算法上通过为作用于模糊集合的成员函数的修辞词和连接符(‘和’、‘非’)定义操作符来计算其含义。
一个示例是具有从50到250bpm的节拍每分钟范围上语言值‘慢’和‘快’以及修饰的值‘非常慢’、‘或多或少慢’等的‘节奏’。可以由模糊集合和梯形成员函数模拟值‘慢’和‘快’。如附图4所示,修辞词‘非常’、‘极度的’、‘稍稍’作用在这些函数上得到诸如‘非常慢’和‘稍快’的表达式的含义。相似的示例是‘记录年份’在从1940年到2002年的时期范围上具有值‘古老’、‘最近’和‘新’,在数字范围上具有值‘没有’、‘很少’、‘一些’、‘大多数’和‘所有’的基数等。
为了得到约束的参数值,我们必须再次使模糊集合明晰。通过应用界限T实现该目的。属于模糊集合A、具有界限T的元素的明晰集AT由AT={x∈A|f(x)≥T}给出,其中f(x)是A的成员函数。在我们的示例中,当使用T=0.8,我们将提交范围50-65bpm为‘非常慢’以及范围152-250bpm为‘稍快’。
需要理解的是,本发明的不同实施例不限于上述步骤的确切顺序,因为一些步骤的顺序可以互相转变而不影响本发明的整体性能。而且,术语“包括”并不排除其他组件或步骤,术语“一”和“一个”并不排除多个和单一处理器或者能实现若干单元或权利要求书中引用的电路的功能的其他单元。
本发明已经总结为公开了一种用于从数据库检索数据的方法和装置。在第一存储器中存储多个实体,并在第二存储器中存储关于每个存储实体的信息。从用户接收以至少一个模糊表达式形式的标准用于从存储的实体中选择实体。将接收的标准转化为在被存储的信息中使用的术语。然后根据转化后的标准选择实体序列。
Claims (19)
1.一种数据库检索系统,该系统包括:
用于存储多个实体的装置;
用于存储关于每个已存储实体的信息的装置;
用于从用户接收以至少一种模糊表达式的形式的标准,以从存储的实体中选择实体的装置;
用于将接收的标准转化为在存储信息中所使用的术语的装置;
用于根据转化后的标准选择一系列实体的装置。
2.如权利要求1所述的数据库检索系统,其中从用户接收标准的所述装置包括键盘、鼠标和麦克风中的至少一种。
3.如权利要求1所述的数据库检索系统,其中实体包括音乐、视频内容、音频/视频内容、和照片中的至少一种。
4.如权利要求1所述的数据库检索系统,其中至少一种模糊表达式包括模糊限定词、单数/复数量词、疑问副词和疑问形容词中的至少一种。
5.如权利要求1所述的数据库检索系统,其中接收的标准包括哼唱和轻敲声中的一个。
6.如权利要求1所述的数据库检索系统,其中接收的标准是特别的类。
7.如权利要求1所述的数据库检索系统,其中将存储的信息下载到数据库检索系统中。
8.如权利要求1所述的数据库检索系统,其中用户向数据库检索系统输入至少一些存储的信息。
9.如权利要求1所述的数据库检索系统,其中从实体读出关于实体的信息并存入存储装置。
10.一种从数据库检索数据的方法,包括步骤:
存储多个实体;
存储关于每个存储实体的信息;
从用户接收以至少一种模糊表达式形式的标准,以从存储的实体中选择实体;
将接收的标准转化为在存储信息中使用的术语;
根据转化后的标准选择一系列实体。
11.如权利要求10所述的数据库检索方法,其中使用键盘、鼠标、麦克风的至少一种从用户输入标准。
12.如权利要求10所述的数据库检索方法,其中实体包括音乐、视频内容、音频/视频内容、和照片中的至少一种。
13.如权利要求10所述的数据库检索方法,其中至少一种模糊表达式包括模糊限定词、单数/复数量词、疑问副词和疑问形容词中的至少一种。
14.如权利要求10所述的数据库检索方法,其中接收的标准包括哼唱和轻敲声的一种。
15.如权利要求10所述的数据库检索方法,其中接收的标准是特别的类。
16.如权利要求10所述的数据库检索方法,其中将存储的信息下载到数据库检索系统中。
17.如权利要求10所述的数据库检索方法,其中用户向数据库检索系统输入至少一些存储的信息。
18.如权利要求10所述的数据库检索方法,其中从实体读出关于实体的信息并存入存储设备。
19.一种机器可读的程序存储设备,包括机器可执行的程序指令以执行从数据库接收数据的方法步骤,其中在数据库中存储多个实体和关于每个实体的信息,所述方法步骤包括:
从用户接收以至少一种模糊表达式的形式的标准,以从存储的实体中选择实体;
将接收的标准转化为在所存储的信息中使用的术语;以及
根据转化后的标准选择一系列实体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02080527 | 2002-12-20 | ||
EP02080527.1 | 2002-12-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1726494A true CN1726494A (zh) | 2006-01-25 |
Family
ID=32668825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2003801064015A Pending CN1726494A (zh) | 2002-12-20 | 2003-11-27 | 使用模糊表达式进行查询 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20060200449A1 (zh) |
EP (1) | EP1579343A1 (zh) |
JP (1) | JP2006510986A (zh) |
KR (1) | KR20050098841A (zh) |
CN (1) | CN1726494A (zh) |
AU (1) | AU2003286383A1 (zh) |
WO (1) | WO2004057495A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975584A (zh) * | 2016-05-03 | 2016-09-28 | 河北大学 | 一种数学表达式相似距离测量方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8875198B1 (en) | 2001-08-19 | 2014-10-28 | The Directv Group, Inc. | Network video unit |
US9602862B2 (en) | 2000-04-16 | 2017-03-21 | The Directv Group, Inc. | Accessing programs using networked digital video recording devices |
US7617531B1 (en) | 2004-02-18 | 2009-11-10 | Citrix Systems, Inc. | Inferencing data types of message components |
KR20060063601A (ko) * | 2004-12-03 | 2006-06-12 | 엘지전자 주식회사 | 로컬 스토리지에 데이터를 다운로드/업데이트 하는 방법 및장치 |
EP1842376A4 (en) * | 2005-01-05 | 2008-01-02 | Digital Networks North America | METHOD AND SYSTEM FOR INTELLIGENTLY INDEXING INDICATORS FOR RECORDABLE EVENTS |
US7290211B2 (en) * | 2005-01-05 | 2007-10-30 | Digital Networks North America, Inc. | Method and system for reconfiguring a selection system based on layers of categories descriptive of recordable events |
US7657151B2 (en) * | 2005-01-05 | 2010-02-02 | The Directv Group, Inc. | Method and system for displaying a series of recordable events |
JP2008535127A (ja) * | 2005-02-11 | 2008-08-28 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | コンテンツ及びクエリをデバイスに格納する方法及び装置 |
US9104773B2 (en) * | 2005-06-21 | 2015-08-11 | Microsoft Technology Licensing, Llc | Finding and consuming web subscriptions in a web browser |
EP1905037A1 (en) * | 2005-07-06 | 2008-04-02 | Koninklijke Philips Electronics N.V. | Method and apparatus for generation of a sequence of elements |
US7797304B2 (en) * | 2006-03-20 | 2010-09-14 | Microsoft Corporation | Extensible query language with support for rich data types |
JP2010518428A (ja) | 2007-02-01 | 2010-05-27 | ミューズアミ, インコーポレイテッド | 音楽転写 |
JP2010518459A (ja) | 2007-02-14 | 2010-05-27 | ミューズアミ, インコーポレイテッド | 配布オーディオファイル編集用ウェブポータル |
US20080222188A1 (en) * | 2007-03-05 | 2008-09-11 | Kaleidescape, Inc. | Playlists responsive to coincidence distances |
US10056077B2 (en) * | 2007-03-07 | 2018-08-21 | Nuance Communications, Inc. | Using speech recognition results based on an unstructured language model with a music system |
US8494257B2 (en) | 2008-02-13 | 2013-07-23 | Museami, Inc. | Music score deconstruction |
JP5230358B2 (ja) * | 2008-10-31 | 2013-07-10 | キヤノン株式会社 | 情報検索装置、情報検索方法、プログラム及び記憶媒体 |
US8965826B2 (en) * | 2010-05-17 | 2015-02-24 | International Business Machines Corporation | Dynamic backjumping in constraint satisfaction problem solving |
US9258175B1 (en) * | 2010-05-28 | 2016-02-09 | The Directv Group, Inc. | Method and system for sharing playlists for content stored within a network |
US11210338B2 (en) * | 2014-05-29 | 2021-12-28 | Sirius Xm Radio Inc. | Systems, methods and apparatus for generating music recommendations based on combining song and user influencers with channel rule characterizations |
US10936654B2 (en) | 2018-05-24 | 2021-03-02 | Xandr Inc. | Aggregated content editing services (ACES), and related systems, methods, and apparatus |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1265871A (en) * | 1986-11-18 | 1990-02-13 | Yawar Bakht Ali | Domain-independent natural language database interface |
US5404295A (en) * | 1990-08-16 | 1995-04-04 | Katz; Boris | Method and apparatus for utilizing annotations to facilitate computer retrieval of database material |
JP2895184B2 (ja) * | 1990-08-22 | 1999-05-24 | 株式会社日立製作所 | 文書処理システム及び文書処理方法 |
US6044365A (en) * | 1993-09-01 | 2000-03-28 | Onkor, Ltd. | System for indexing and retrieving graphic and sound data |
JP2897659B2 (ja) * | 1994-10-31 | 1999-05-31 | ヤマハ株式会社 | カラオケ装置 |
US5918223A (en) * | 1996-07-22 | 1999-06-29 | Muscle Fish | Method and article of manufacture for content-based analysis, storage, retrieval, and segmentation of audio information |
US5963957A (en) * | 1997-04-28 | 1999-10-05 | Philips Electronics North America Corporation | Bibliographic music data base with normalized musical themes |
AU2001245656A1 (en) * | 2000-03-13 | 2001-09-24 | Sri International | System, method and article of manufacture for navigating network-based electronic multimedia content using spoken natural language input |
US6740802B1 (en) * | 2000-09-06 | 2004-05-25 | Bernard H. Browne, Jr. | Instant musician, recording artist and composer |
-
2003
- 2003-11-27 KR KR1020057011591A patent/KR20050098841A/ko not_active Application Discontinuation
- 2003-11-27 AU AU2003286383A patent/AU2003286383A1/en not_active Abandoned
- 2003-11-27 US US10/546,722 patent/US20060200449A1/en not_active Abandoned
- 2003-11-27 JP JP2004561931A patent/JP2006510986A/ja not_active Withdrawn
- 2003-11-27 WO PCT/IB2003/050023 patent/WO2004057495A1/en active Application Filing
- 2003-11-27 EP EP03777128A patent/EP1579343A1/en not_active Ceased
- 2003-11-27 CN CNA2003801064015A patent/CN1726494A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975584A (zh) * | 2016-05-03 | 2016-09-28 | 河北大学 | 一种数学表达式相似距离测量方法 |
CN105975584B (zh) * | 2016-05-03 | 2019-02-05 | 河北大学 | 一种数学表达式相似距离测量方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2004057495A1 (en) | 2004-07-08 |
KR20050098841A (ko) | 2005-10-12 |
US20060200449A1 (en) | 2006-09-07 |
JP2006510986A (ja) | 2006-03-30 |
EP1579343A1 (en) | 2005-09-28 |
AU2003286383A1 (en) | 2004-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1726494A (zh) | 使用模糊表达式进行查询 | |
Aucouturier et al. | Music similarity measures: What's the use? | |
Logan et al. | A Music Similarity Function Based on Signal Analysis. | |
US20040199491A1 (en) | Domain specific search engine | |
CN100339907C (zh) | 同步重放系统及其记录器和播放器 | |
US20040030691A1 (en) | Music search engine | |
US20030135513A1 (en) | Playlist generation, delivery and navigation | |
CN1377023A (zh) | 通过借助预测完成的波形高速缓存实现音乐合成 | |
CN1755686A (zh) | 音乐搜索系统和音乐搜索装置 | |
WO2006134866A1 (ja) | 情報処理装置、方法、およびプログラム | |
KR20090033750A (ko) | 콘텐츠 플레이 리스트 추천 방법 및 장치 | |
JP4560544B2 (ja) | 楽曲検索装置、楽曲検索方法および楽曲検索プログラム | |
Six et al. | Tarsos: a platform to explore pitch scales in non-western and western music | |
CN1737802A (zh) | 信息处理设备与方法、记录介质,以及程序 | |
Moelants et al. | Exploring African tone scales | |
Ferrara et al. | A semantic web ontology for context-based classification and retrieval of music resources | |
Pachet et al. | The cuidado music browser: an end-to-end electronic music distribution system | |
CN1752966A (zh) | 使用本体论和用户查询处理技术解决问题的方法 | |
Aucouturier et al. | Tools and Architecture for the Evaluation of Similarity Measures: Case Study of Timbre Similarity. | |
Sutcliffe et al. | Searching for musical features using natural language queries: the C@ merata evaluations at MediaEval | |
Islam et al. | Chinese traditional opera database for music genre recognition | |
CN1230770C (zh) | 字符串相似度计算方法和装置 | |
Suyoto et al. | Effective retrieval of polyphonic audio with polyphonic symbolic queries | |
Chu | [Retracted] Feature Extraction and Intelligent Text Generation of Digital Music | |
US20230188108A1 (en) | System and method for increasing energy level of songs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |