康赵楠+潘善亮
【摘 要】为了构建一个适用中文歌曲及听众的音乐推荐服务型本体(CHMO)来对音乐知识进行自动化处理。首先,设计一个细粒度的音乐本体模型;然后,提出合理的构建原则和方法,并利用Protégé和OWL建立本体;接着,详细阐述本体中的组成内容,并采用Jena进行推理优化模型;最后,完善本体,包括算法检测以及本体实现中的支持性问题。
【关键词】音乐本体建模 构建方法 推理规则
1 引言
基于个性化的音乐推荐已经成为推荐系统的研究热点[1]。音乐作为一门凭借声波振动而存在、在时间中展现、通过人类的听觉器官而引起各种情绪反应和情感体验的艺术存在[2],本体(Ontology)是客观现实的抽象本质[3]。
在关于音乐本体的研究中,主要以基础理论研究为主导,其次是对其用途进行研究[5-7]。Yves Raimond等[8]开发了音乐本体Music Ontology。Han等[9]通过本体推理机分类情境实例来推理出用户的心情和音乐偏好。Rho等[10]提出了基于情境的音乐推荐本体Context-Based Music Recommendation Ontology。由于中西方审美的差异[11-12],针对西方音乐和受众的音乐本体在处理中文歌曲方面并不适用[13]。张冰冰结合现有已成熟的其他本体词汇表得到了涵盖影视音乐、历史事件、地点文化等的相关本体的本体知识库[14]。薛云在构建好的民乐领域本体基础之上完成语义推理[15]。
本文将详细介绍构建一个互联网下涵盖数字音乐领域知识及情境信息的可以共享的基于中文歌曲的音乐推荐本体,并对该音乐本体进行属性约束及其一致性的检测与分析。
2 音乐本体的构建
2.1 音乐对象的确定
在构建本体之前,要明确该领域本体的各项构成要素,它包括了目的、范围、表示方法和用途等等,以此使得目标本体的主要轮廓变得清晰。本阶段可以得到关于本体的开发目的和详细的说明书。一旦确定了领域本体的范围,接着尽最大可能地罗列出该领域本体的有关术语或概念。音乐作为一个独立的领域,它所包含的对象是十分丰富的。
针对互联网,借鉴已有的音乐概念,增加符合基于中文歌曲和华人收听习惯的术语描述。
音乐对象包括音乐人、专辑、歌词、图片、语种、风格、场景、情感、节日、主题等多个方面。为了使用户更加容易理解以及后续工作的使用,在音乐本体中增加标签来统一管理部分知识(能够代表一首音乐内在性质的关键词)。
2.2 音乐本体的构成要素
本文所设计的数字音乐领域本体主要通过分类歌曲信息以进一步细化出用户的兴趣偏好。它所包含的概念或者術语间存在着上下位的关系,其本质上是一个概念层次树,且只含有父类和子类。父类概念是子类概念的一种泛化,而子类概念是父类概念的一种分类,它可以从不同角度对上级概念进行一个深层次的细化,同时分类的层次越深,相应的用户兴趣划分的力度就会越大,对用户偏好的分析也就可以越细致。
本文在Protégé[16]平台上使用一个七元组的形式自上而下地来描述和完善音乐本体(CHMO)模型:
CHMO={C, P, RC, HC, I, A, R} (1)
其具体描述如下:
(1)C(Class或Concept)表示本体覆盖的类(概念、术语)的集合。当个体具有相似的性质,可以将之抽象成相应的类,而这里的个体就是类的实例。
(2)P(Property)表示属性集合。属性是对类的表征和描述,包括两种,即对象属性和数据属性。
(3)RC(Relation)为关系的集合。形式上可以定义为一组n维笛卡尔积的子集R:C1×C2×...×Cn概念之间有四种基本关系,如表1所示。
(4)HC(Hierarchy)表示音乐本体概念的层次结构。形式上可以定义为:H(C1,C2)表示概念C1是概念C2的子概念。
(5)I(Instance)表示实例集合。它是本体类包含的基本元素。
(6)A(Axiom)表示公理的集合。在音乐本体中,每个元素都有特定的意义,元素之间也存在着连接或约束,公理表示一些永真式,用来解释元素和它们之间的相关性和约束关系。
(7)R(Ratiocination)表示推理规则。用来模仿推理能力。
依据以上描述可以看到本文所设计的音乐本体的知识结构包括类、属性、关系、层次、实例、公理和推理规则。这种结构通过“类-属性-实例”,三位一体式描述音乐并扩展其相关知识,确定其关系和层次结构,最后使用公理和推理规则约束知识,完成音乐知识网络体系结构。
2.3 音乐本体的构建原则
参照Gruber于1995年[17]所提出的比较权威的五条标准,进一步阐释音乐本体构建原则,包括以下方面:
(1)明确性和客观性:即本体的术语应该具有明确的自然语言的形式以及客观的定义。
(2)完全性和完整性:即要对音乐本体中术语的意义提供完整、准确定义和详细说明。
(3)一致性:即本体是前后一致的。
(4)最大单调可扩展性:即添加一个新项,不需要调整原本体。
(5)编码偏好程度最小:即音乐本体位于知识水平的表达,不限于编码语言。
(6)与层次概念保持最小的语义距离。
(7)最小本体承诺:即建模对象的约束尽量少,只要能满足当前需求的特定的知识共享。
(8)尽可能使用标准化的术语名称。
(9)使用多样的概念层次结构实现多继承机制。
2.4 音乐本体的构建方法
上文提到,音乐本体包含音乐人、专辑、图片、语种、风格、场景、情感、节日、主题、音乐奖项、专辑、时间等子本体。根据音乐本体的组织结构和构建原则,参照已有的TOVE法[18]和七步法[19],设计本文音乐本体的构建方法,采用OWL DL描述语言和Protégé 4.3,主要步骤如下:
(1)音乐对象的收集和分析。对音乐知识获取、分析和记录,初始化管理和保护音乐对象。
(2)音乐本体内容和范围的合理界定,确定名词术语的来源。一般而言,领域本体是覆盖整个领域的本体,但具体的讨论往往不是那么简单。本文从网络出发,给出数字音乐本体的定义,所以没有完全覆盖音乐学科的基本内容,但参照了《音乐百科词典》和《2015-2016中国手机音乐客户端市场研究报告》,增加专辑和标签等知识,细化分类,形成一个数字音乐库。
(3)刻画音乐本体的术语表,对名词术语进行规范。构建本体之前,列出所有术语表的词汇项。
(4)确定音乐本体的类和实例。
(5)区别音乐本体结构和类之间的关系。具体方法是自上而下、从下到上、综合方法这三种。自上而下是先确定一般的类,不断找到一个新的子类,最终实现最特别的类;从下到上先确保本体中特殊的类,不断归纳类,最后达到本体中最一般类;综合方法是它们的组合。本文基于综合方法,结构如图1所示。
(6)借鉴和复用现有本体。CHMO中复用人、时间、语种等公共信息本体以及DBpedia中的部分术语,同时参考已有的The Music Ontology[20]对术语进行标准化。
(7)定义音乐本体中类的属性。根据最常用的原则和符合用户欣赏的特点,设置属性,从不同的侧面对音乐本体的类进行描绘。
(8)添加标签。鉴于国内主流音乐平台的使用情况,为基于中文歌曲的音乐推荐本体添加标签这一概念,它包含了情感、节日、语种、场景、风格、主题子本体以及它们所各自包含的子本体,为了便于用户理解本体的概念和使用,从而进一步完善音乐本体。
(9)描述类中的实例。基于实例的描述来确定最终的实例与类关系,完成一个概念体系的构建。
(10)建立公理库和推理规则。利用OWL描述公理和规则,进行音乐本体的一致性分析。
(11)形成音乐本体的文档。通过持续改进使本体逐步接近人类对客观世界的认知,形成文档管理的过程。
(12)检查异常。在Protégé中,可以使用推理机对本体自身的不一致和置入本体的实例集不一致进行检测。
3 音乐本体的描述
3.1 类间的层次体系
本体中的类包含两种作用:(1)对自身及其所包含的知识含义的描述。类中包含知识,知识可以是类本身,也可以是类实例的共同点。(2)限定对类的子类和实例的描述。通过分析,最终确定了“音乐人”、“时间”、“图片”、“标签”、“歌词”、“音乐獎项”、“专辑”为核心词汇,满足非二义性、互不相交的要求。各个顶级概念之下再扩展具体的类。部分音乐本体的类术语表如表2所示,层次概念如图2。
3.2 属性及关系
音乐本体的属性包括发行时间、风格、主题、专辑详情、歌词、时长等等,分为对象属性和数据属性。对象属性指两个类的实例之间的关系,定义域是类,值域是实例;数据属性规定类的实例、文字及数据类型间的关系,定义域是某个类的实例,值域可以是int、string、float等,该属性不能为传递的、对称的和反函数的。音乐本体的属性术语部分如表3所示,属性关系如图3和图4所示。
3.3 添加标签
添加标签类目,用来代表一首音乐内在内容的一种性质,可以简单理解为关键词描述。它除了包括基本的分类信息:语种、主题、风格等,还额外添加歌曲所涉及的情感和场景这两个情境信息子类。在这两个子类中又进一步划分数个类,从而达到一个细粒度的本体建模,能够更适合互联网下基于本体的音乐个性化推荐研究。
3.4 生成实例
在Protégé中的Individuals面板中可直接添加类的实例(个体),在这个实例中对每个属性进行赋值,这样就可以构建音乐本体了。为了直观地描述音乐本体类和实例,给出应用的例子,其中歌曲类和歌曲实例《山丘》的部分框架表示如图5所示。
3.5 基于本体和自定义规则的推理
(1)公理和推理规则的表示
依据音乐本体属性和关系,再结合领域本体的公理集,采用谓词逻辑系统来设计本文的音乐本体公理。主要包括了函数属性、反函数属性、传递属性、对称属性、自反属性等,其中所谓函数性是指同一个参数的函数值是唯一确定的,反函数性则与之相反。如果一个属性是传递性的,那么它的逆属性也是具有传递性的。传递性和函数性不兼容,如果一个对象属性具有传递性就不可能有函数性等等,这些公理将作为推理机制中的约束。比如其中函数属性形式化表示如下:
推理规则是一个重要的基础,主要分为两点:
1)完善音乐知识,获取隐含的信息;
2)检测和维护音乐知识,确保本体的一致性和完整性。本文音乐本体部分自定义推理规则可以写成如下的形式:
如果歌曲的封面是某一位歌手的照片,那么这位歌手即是其音乐人。
自定义的规则大多来自既定事实的表述。其中规则(5)和规则(6)体现了标签子类情感-幸福-快乐三者上下层关系的一个递进。利用谓词逻辑描述信息,然后通过自定义的规则产生新的、隐含的上层知识。
(2)推理工具
本文采用Jena作为推理工具,它的软件包能够同时支持本体推理和自定义规则的推理。
Jena[21]是支持语义网应用的一个Java应用程序接口,它包含以下模块:RDF的API、解析器、内存存储与永久性存储、推理机子系统、本体子系统和查询模型。其中推理机子系统具有两大功能:
1)支持使用RDFS和OWL语言,能够加入一系列推理引擎或推理机来获取额外的信息;
2)包括一个可以用于许多RDF处理或转换任务的一般的规则引擎。
(3)推理流程
步骤1:获取歌曲信息并描述。
步骤2:将信息持久性保存到知识库中。
步骤3:触发推理行为,利用推理机对信息进行推理得到上层或者新的隐含的信息。
步骤4:对比知识库,检测新信息的一致性和正确性。
步骤5:如果上一步产生冲突,则进行冲突处理。没有冲突,则推理结束,更新知识库。
推理流程如图6所示:
(4)推理规则有效性验证
将自定义规則写入规则库后,使用SPARQL和Jena进行当前歌曲信息的查询与推理本体模型,系统会自动校验规则前后的状态,判断其是否有效。通过所构建的合理的本体推理机制,能够对隐含的知识进行有效地推理,节省存储空间的同时还能够提高读取效率,还能优化知识的梳理。
4 音乐本体的完善
上述步骤后已经初步建立了一个基本的音乐本体,接下来将进一步阐释验证本体过程中的一些关键内容。
本体的一致性是指本体中各概念没有矛盾。一致性检测就是根据本体中的公理和约束来判断整个结构是否存在矛盾,如果存在矛盾和不一致的地方需要及时进行修正。
4.1 类间关系的一致性检测
首先,定义音乐本体的类间关系。
4.2 基于音乐公理的知识一致性分析
公理作为本体的一个重要组成部分,它的功能有两个:第一,公理即知识;第二,公理保证本体中低水平的知识是一致的。这里所提的知识一致性指的是公理约束下的知识和公理没有矛盾。获取的知识的过程并不总是正确、没有矛盾的。知识获取的过程中知识来源的不准确,人为的过失等原因,都可能导致知识是不一致的。当一首歌曲是契合婚礼的这一特定情形的音乐,那么它所表达的情感一定是幸福、开心的。如果出现情感是悲伤的,则报告本体出现错误。
本体的一致性分析是一项非常复杂的任务。它涵盖了本体中的类、属性和实例等诸多方面,需要不断地更新知识,逐步完善本体。
4.3 音乐本体实现中的问题及解决
目前,Protégé的中文支持性很差,而本文所构建的互联网下基于中文歌曲的音乐本体模型中所涉及的多处概念,比如标签、主题都是基于中文或者中文环境的。为了解决这个问题,本文通过mapping.properties文件实现中文到相应英文或者拼音的映射操作。部分mapping.properties文件映射片段如图7所示。
5 结束语
本文根据现代互联网下数字音乐领域的形势,针对中文歌曲及听众,通过扩展构建新的音乐本体模型,设计音乐本体的构建方法及构建流程,阐明了对音乐领域知识构建本体的必要性和可行性。构建方覆盖本体建设和维护的生命周期,与现有的本体建设方法相比更加细粒度且全面。本文所建立的面向中文歌曲及听众的音乐本体模型既先进也实用,对下一代网络平台下数字音乐服务的推广具有重要意义,同时也将会进一步应用在后续的音乐个性化推荐研究中。随着信息地不断扩充,该本体模型的完善工作将持续进行。
参考文献:
[1] 谭学清,何珊. 音乐个性化推荐系统研究综述[J]. 现代图书情报技术, 2014,30(9): 22-32.
[2] 缪天瑞. 音乐百科词典[M]. 北京: 人民音乐出版社, 1998.
[3] Gruber T R. A translation approach to portable ontology specifications[J]. Knowledge Acquisition, 1993(5): 199-220.
[4] LU R. Knowledge engineering and knowledge science at the turn of the century[M]. Beijing: Tsinghua University Press, 2001.
[5] Seheon Song, Minkoo Kim, Seungmin Rho, et al. Music Ontology for Mood and Situation Reasoning to Support Music Retrieval and Recommendation[A]. Third International Conference on Digital Society[C]. 2009: 304-309.
[6] Sefki Kolozali, Mathieu Barthet, Gy?rgy Fazekas, et al. Knowledge Representation Issues in Musical Instrument Ontology Design[A]. 12th International Society for Music Information Retrieval Conference[C]. 2011: 465-470.
[7] Marius Kaminskas, Ignacio Fernandeztobias, Ivan Cantador, et al. Ontology-Based Identification of Music for Places[Z]. 2013.
[8] Yves Raimond, Samer A, Abdallah, et al. The Music Ontology[A]. International Society for Music Information Retrieval Conference[C]. 2007: 417-422.
[9] Han B J, Rho S, Jun S, et al. Music Emotion Classification and Context-Based Music Recommendation[J]. Multimedia Tools and Applications, 2010,47(3): 433-460.
[10] Rho S, Song S, Hwang E, et al. COMUS: Ontological and Rule-Based Reasoning for Music Recommendation System[A]. Advances in Knowledge Discovery and Data Mining[C]. Springer Berlin Heidelberg, 2009: 859-866.
[11] 李姝. 中西音樂美学的比较研究[D]. 成都: 四川大学, 2007.
[12] 刘正维. 中西音乐结构的审美异同散论[J]. 音乐研究, 2003(3): 3-16.
[13] Mi Tian, Gy?rgy Fazekas, Dawn A, et al. Towards the representation of Chinese traditional music: a state of the art review of music metadata standards[A]. Dublin Core Conference[C]. 2013: 71-81.
[14] 张冰冰. 基于领域本体的景点影视音乐推荐[D]. 杭州: 浙江大学, 2014.
[15] 薛云. 基于民乐领域本体的语义推理研究[J]. 情报探索, 2009(4): 104-106.
[16] Protégé. Stanford Center for Biomedical Informatics Research[EB/OL]. (2016-02-09)[2017-01-10]. http://protege.stanford.edu/.
[17] Gruber T R. Towards principles for the design of ontologies used for knowledge sharing[J]. International Journal of Human-Computer Studies, 1995(43): 907-912.
[18] University of Toronto. Faculty of Applied Science and Engineering TOVE ontologies[EB/OL]. (2013-09-18)[2017-01-10]. http://www.ie.utoronto.ca/EIL/tove/toveont.html.
[19] NOY N F, McGUINNESS D L. Ontology development 101: a guide to creating your first ontology: knowledge systems laboratory, SMI-2001-0880[R]. Stanford University, 2001.
[20] Rory Pickering. The Music Ontology[EB/OL]. (2015-11-30)[2017-01-10]. http://musicontology.co/.
[21] Apache Jena. A free and open source Java framework for building Semantic Web and Linked Data applications[EB/OL]. (2016-02-09)[2017-01-10]. http://jena.apache.org/.