基于DBpedia的动画情节规划

2019-12-12 06:05杜艮魁
软件导刊 2019年11期
关键词:背景知识

杜艮魁

摘 要:手机动画自动生成系统将中文短信作为输入,经过信息抽取、情节规划、定量计算和实时渲染之后,生成一段可以表现短信内容的动画。其中情节规划决定了动画对短信内容的表现方式,是动画系统的重要组成部分。当前动画系统情节规划模块仅仅基于动画课题组建立的动画本体库,实体及实体关系较少,能够进行的情節规划十分有限。为丰富情节规划可使用的语义信息,构建了DBpedia数据集与动画本体库之间的实体链接,并在情节规划过程中以DBpedia数据集作为背景知识,实现基于DBpedia的动画情节规划。实验表明,平均每条短信获取备选场景的数量提升了33%,获取短信相关模型的数量提升了37%,基于DBpedia的情节规划能够显著提高情节规划的多样性。

关键词:动画自动生成;情节规划;实体链接;DBpedia;背景知识

0 引言

20世纪90年代,中科院数学所陆汝钤院士[1]首次提出了全过程计算机辅助动画自动生成技术。该技术以受限语言作为输入,将人工智能技术、图形学和电影艺术相结合,全自动进行动画生成。整个过程不需要人工干预,由计算机自动完成,因此可提高动画成片效率。中科院张松懋研究员[2]提出将动画自动生成技术应用在手机短信上,并完成了手机动画自动生成系统的初始版本。该系统通过对发送方的短信进行信息抽取、情节规划、定量计算和实时渲染处理后,最终生成表现短信内容的动画并发送给短信接收方。

动画系统的情节规划模块衔接了信息抽取和定量计算,实现对短信内容的设计,包括场景模型规划、音乐规划、动作规划、特效规划、色彩灯光规划、空间布局规划、摄像机规划等。情节规划以动画本体库为知识基础[3],本体库中实体和关系的数量将对情节规划效果产生直接影响。

Linked Open Data(LOD)是一个开放、互联的数据集集合,包含音乐、电影、医学和跨领域等各种类型的数据集[4],部分数据集如图1所示。其中DBpedia是最大且应用最广泛的跨领域数据集之一[5],内容为Wikipedia中抽取的结构化数据,包含丰富的语义信息,因此在很多应用中被用作背景知识来源[6]。

本文旨在通过构建动画本体库与DBpedia之间的实体链接,在情节规划过程中使用DBpedia作为背景知识提高情节规划效果。

1 相关研究

Tim Berners-Lee[7-8]将语义网定义为“被机器理解的数据网络”,该技术可增强计算机对数据的处理能力。自2012年谷歌发布知识图谱(Knowledge Graph)以来[9],推动了语义网技术在搜索和推荐等领域的研究和商业化应用[10-12]。

动画系统情节规划基于语义网技术[13],并使用本体编辑器protégé构建了动画本体库。目前,动画本体库包括场景库、模型库、音乐库、动作库、空间布局库和摄像机库等,主要为描述动画生成手段的类、实体、属性和关系三元组,数据统计如表1所示。由于动画本体库实体和关系较少,因此能够进行的情节规划十分有限。

DBpedia是从 Wikipedia中抽取的结构化数据,可通过SPARQL终端查询或直接下载。Wikipedia文章之间的相互引用为DBpedia抽取海量关系提供了数据基础。目前DBpedia包含760个类、62 025个属性、400多万个实体和9.5亿多个关系三元组,其主要类型的实体数量统计如表2所示。

DBpedia包含了大量的语义信息,因此各种应用常使用DBpedia对业务数据进行实体链接以获取该数据的语义信息。DBpedia lookup提供了基于关键字的实体搜索服务,该服务使用类型作为搜索限制,并基于相关度对结果进行排序。DBpedia Spotlight是一种将非结构化信息链接到 DBpedia实体上的解决方案[14],该工具可自动使用DBpedia URI对文本中实体进行注释。通过分析数据特点,构造SPARQL语句查询对应的实体,是一种常用的针对DBpedia数据集实体链接方案[15]。此外,DBpedia本身也和很多开源数据集之间存在着丰富的链接,例如与yago[16]之间的关系三元组有18 100 000多个,这些数据可作为被链接实体的语义信息来源。

在进行实体链接之前常常需要对数据进行预处理,以减小不同数据集的格式、命名规范和同义词等因素对实体链接造成的影响[17]。Natural Language Toolkit(NLTK)是一个开源的自然语言处理框架[18],可以对文本数据进行分词、词干提取、词性标记等处理。

本文使用开源框架Apache Jean对本体库进行操作。Apache Jena是用来构建语义网应用的常用解决方案,可以对RDF(Resource Description Framework)数据进行存储、查询和修改等操作,主要功能组件如下:

(1)Ontology API:可使用模型对象对RDF数据进行查询或修改,例如添加额外的语义信息到RDF数据。

(2)ARQ:可使用基于SPARQL1.1协议的查询语言对本地本体库或网络上的SPARQL 终端进行查询。

(3)TDB:高性能的RDF数据存储组件,可对数据进行持久化。

(4)RDF API:读取和修改RDF数据,将RDF数据转换成XML、JSON等格式。

2 DBpedia与动画知识库的实体链接构建

构建动画本体库和DBpedia的实体链接后,可借助这些链接进一步对动画知识库增强,使得在情节规划过程中将DBpedia作为背景知识,充分利用其语义信息进行情节规划。构建实体链接主要步骤如下:

(1)数据预处理:将用于辅助实体链接的实体名称格式进行归一化处理和同义扩充。

(2)建立关系:将动画本体库中的实体链接到DBpedia实体,构造两个本体库之间的关系,并使用这些关系对动画本体库进行增强。

2.1 数据预处理

为避免两个数据集不同命名规范和词形对后续建立关系时造成影响,有必要先对数据进行预处理,数据预处理流程如图2所示。

在经过分词和词干提取处理后,实体名称已经转换为相对统一的形式,对于实体名称为单个词语的数据项,不同的数据集可能采用同义词命名,因此本文使用WordNet[19]和thesaurus获取名称的同义词集作为对实体的等价描述,以此消除同义词带来的影响。实体名称在进行预处理后转换为统一的形式。例如“Human”在经过预处理后可得到同义词集的词干“human,person”,“histor build”为“HistoricBuilding”经过预处理之后所包含单词的词干。

2.2 DBpedia与动画知识库实体链接建立

此阶段构造DBpedia和动画本体库之间的关系三元组,步骤如下:①构造两个数据集之间的具有等价关系的实体链接;②借助实体链接的等价关系,获取DBpedia和动画本体库实体之间的其它关联关系,如子类关系、属性定义域和值域等,并使用这些关系增强动画本体库。

动画本体库中资源的URI后缀是被描述的资源英文名称,例如“人类”对应URI的后缀是 “Human”。DBpedia实体的rdfs:label属性提供了人类易于理解的资源名称,如“人类”在DBpedia中对应类的rdfs:label属性值是“person”。因此动画本体库资源的URI后缀和DBpedia资源的rdfs:label属性可以作为构建两个数据集之间具有等价关系的实体链接辅助信息。通过以下两种策略进行匹配:①标签匹配:查找DBpedia的rdfs:label属性与动画实体名称相匹配的实体,匹配借助正则表达式;②前缀匹配:构建自定义的URI链接。例如将动画本体库中类名称拼接到“http://dbpedia.org/ontology/”后,查看DBpedia中是否存在与其等价的类。

DBpedia包含400多万实体,rdfs:label关联的关系三元组有22 430 850个。考虑到数据规模,本文使用开源框架Apache Jena 的TDB组件对数据进行存储。

使用Human实体名称和DBpedia实体的 rdfs:labe属性值经过预处理后的同义词集作为正则匹配参数,并将 ‘cou作为相关性权值,选取权值最大的DBpedia实体作为结果进行链接。

实体链接之后,每对链接关联的实体具有等价关系,以这些等价关系为基础,使用Apache Jena框架补全两个本体库之间其它的关系,结果如表3所示。

链接完成后,动画本体库中仍有部分数据未能链接到DBpedia上,分析原因为:动画本体库中很多描述动画生成手段的专业知识在 DBpedia中没有实体与其准確匹配,比如可用空间、交互动作、摄像机等,对于这部分数据不再进行匹配。

动画本体库和DBpedia使用了不同的模式层,因此两者对于相同的知识可能使用不同形式的描述。例如DBpedia中存在定义域为dbo:Person的属性foaf:gender描述人物性别,动画本体库中区分实体年龄的属性为人物模型类型。对于此类情况,将DBpedia中的属性及属性值补充到动画本体库中以增强动画本体库。由于不同类下的实体需要进行整合的属性和属性值不同,因此这部分工作无法采用全自动方式处理,而是需要不断总结规律,采用半自动化方式进行。

通过构建DBpedia与动画知识库之间的实体链接,丰富了情节规划可使用的知识,为更加多样性的情节规划提供了知识基础。

3 基于DBpedia的情节规划

情节规划是指对动画的内容进行设计,主要基于选定的场景和模型。本版情节规划使用信息抽取模块结果作为输入,结合动画本体库,使用DBpedia作为背景知识进行情节规划。

如图3所示,基于DBpedia的情节规划主要步骤为:①实体查找:查找短信内容对应的DBpedia实体;②相关实体搜索:获取短信内容对应的DBpedia实体之后,搜索与其相关的动画本体库实体;③实体选择:对搜索到的动画实体和短信对应的实体进行相似度计算,选取最能表现短信内容的动画实体。

本文以“海明威钟意墨西哥卷饼”为例,详细介绍DBpedia为背景知识的情节规划。

3.1 实体查找

DBpedia包含丰富的语义信息,比如定义域为dbo:Person的属性有5 754个,通过识别出短信内容中对应的人物实体,可以获取关于该短信内容丰富的语义信息,比如性别、年龄、职业等。

图4为短信在信息抽取模块进行词性分析、命名实体识别和否定词分析[20-21]等处理后的结果,主要包括短信主题、模板原子和带有词性标注分词3类信息。其中主题为“购物”,模板为“墨西哥”,短信分词结果为“海明威#np 钟意#vb 墨西哥#ng 卷饼#nn”。以短信信息抽取结果为输入,采用以下两种策略查找与短信相关的DBpedia实体。

(1)标签匹配:查找DBpedia的rdfs:label属性与短信分词相匹配的实体,如果分词已经被识别为模板,则将模板中的类别信息作为查询的限制条件。例如查询“墨西哥”对应的实体时,在类型为“地点”的实体范围内,查找是否存在实体的rd-fs:label属性与“墨西哥”或“Mexico”相匹配的实体。

(2)前缀匹配:构造特定模式的DBpedia URI。例如“http://dbpedia.org/resource/墨西哥”或“http://dbpedia.org/resource/Mexico”存在则表示对应的DBpedia实体存在。

DBpedia数据以英文为主,因此在进行匹配时,将输入的中文分词翻译成英文,将结果作为以中文为输入实体查找失败时的备选输入,例如若使用“墨西哥”查不到对应实体,则使用“Mexico”再次进行查找。根据以上两个策略可以搜索到短信内容相关的DBpedia实体URI:http://dbpedia.org/resource/Ernest_Hemingway、http://dbpedia.org/resource/Burrito、http://dbpedia.org/resource/Mexico。

3.2 相關实体搜索

情节规划的后续步骤以动画本体库中描述动画表现手段的数据为基础,因此需要找到与DBpedia实体对应的动画本体库实体。通过DBpedia和动画本体库之间的关系三元组,搜索获取的DBpedia实体关联的动画实体。相关实体搜索以SPARQL查询技术为基础,以短信对应的DBpedia实体S为起始节点,动画本体库中的动画实体E为结束节点,构建如下模式的路径搜索:

(1)搜索与DBpedia实体等价的动画实体。

(2)搜索与DBpedia实体类型接近的动画实体,类型包括等价类、父子类和兄弟类等情况。

(3)此种搜索模式由前两种模式组合而成,表示通过各种关系与DBpedia实体关联的动画本体库实体,关系不局限于等价。这种搜索模式可以选取多个与此DBpedia实体间接对应的动画实体。

例如“卷饼”对应的DBpedia实体Burrito其类型为dbo:Food,由于dbo:Food和动画本体库的  Food类具有等价关系,因此可选出动画本体库Food类下的模型M_carrot.ma、M_icecream.ma、M_grape.ma M_hamburger.ma 、M_fullwatermelon.ma等作为表现短信内容“卷饼”的备选模型。通过与之关联的实体Qdoba餐饮类型产业,可以找到动画库中与“卷饼”间接关联的EatingScene类下的场景,如Kitchen.ma、restaurantTable.ma等。同理可搜索到与“海明威”关联的Human类模型和Book类模型,其搜索路径如图5所示,出发节点为Ernest_Hemingway。

通过搜索可以找到与短信内容相关的Human类模型、Book类模型、Food类模型和EatingScene类场景。在经过实体查找和相关实体搜索之后,就能尽可能多地识别出短信中的实体及其相关的动画实体,从而在情节规划的后续步骤中进行更加多样性的规划。

3.3 实体相似度计算

图6所示规则表示动画以“restaurantTable.ma”为场景,并添加了模型“M_casualman.ma”、“M_openbook.ma”和“M_hamburger.ma”。以上场景和模型的选择都是通过该系统获取,更多可选择的场景和模型提升了情节规划的多样性。最终效果如图7所示。

4 基于DBpedia的情节规划实验

情节规划是动画系统的重要组成部分,决定了动画表现内容与方式,其结果直接影响动画质量。本文从测试过的短信中随机选取100条短信进行评测,以验证系统对动画多样性的提升效果。

实验表明,51%的短信通过该系统获取了更多与短信相关的模型,数据统计如表4所示;43%的短信通过该系统获取了更多的备选场景,数据统计如表5所示。

由表4和表5可知,通过该系统,平均每条短信获取11个模型,数量提升了37%,平均每条短信获取12个备选场景,数量提升了33%。由此可知,相比于仅仅通过动画知识库,该系统可以获取更多与短信相关的模型和场景,进而丰富短信内容表现手段,提高动画系统的多样性。

通过分析测评的100条短信,发现基于DBpedia的情节规划存在以下影响最终规划结果的因素:①情节规划依赖信息抽取模块的输出,因此信息抽取模块输出结果的好坏制约该系统;②DBpedia与动画本体库之间链接的准确度不够将影响部分短信内容的情节规划。

5 结语

手机动画自动生成系统面向开放的中文短信,内容千变万化,因此要求情节规划具备多样性特点。本文通过构建DBpedia与动画本体库的实体链接,使用DBpedia增强动画本体库,并在情节规划过程中使用DBpedia作为背景知识规划情节,获取了更多与短信相关的模型与场景,使短信情节规划获取更多可选的表现手段,从而提升动画系统的多样性。

通过将动画本体库与LOD其它数据集进行链接,可以进一步丰富情节规划可使用的语义信息,进一步提升情节规划效果。然而,由于场景和模型等数量有限,不能完全覆盖本文系统抽取到的所有实体,因此需要不断丰富动画库中的场景和模型,今后研究重点是针对以上问题进行改善。

参考文献:

[1] 陆汝钤,张松懋. 从故事到动画片——全过程计算机辅助动画自动生成[J]. 自动化学报,2002,28(3):321-348.

[2] 吴中彪. 全过程计算机辅助手机3D动画自动生成系统的设计与实现[D]. 北京:北京工业大学,2011.

[3] 聂君莲. 基于语义网的手机短信3D动画情节规划[D]. 北京:北京工业大学,2012.

[4] BIZER C,HEATH T, BERNERS-LEE T. Linked data - the story so far. Int [J]. Semantic Web Information System,2009,5(3):1-22.

[5] AUER S. DBpedia:a nucleus for a web of open data[C]. Busan: International Semantic Web Conference,2007.

[6] PAULHEIM H. Exploiting linked open data as background knowledge in data mining[C]. International Conference on Data Mining on Linked Data.org, 2014:1-10.

[7] BERNERS-LEE T. Linked data[EB/OL]. http://www.w3.org/DesignIssues/LinkedData.html.

[8] BERNERS-LEE T. Information management:a proposal[EB/OL]. https://www.w3.org/History/1989/proposal.html

[9] 阮彤. 中醫药知识图谱构建与应用[EB/OL]. https://googleblog.blogspot.com/2012/05/introducing-knowledge-graph-things-not.html

[10] NOIA T D, MIRIZZI R, OSTUNI V C, et al. Linked open data to support content-based recommender systems[C].International Conference on Semantic Systems,2012.

[11] 武金刚. 知识图谱——搜索引擎的进化[J]. 百科知识,2013(22):28-29.

[12] 赖朝安,钱娇. 基于知识图谱的专利挖掘方法及其应用[J]. 科研管理,2017(S1):341-349.

[13] 王金鹃. 基于本体的手机3D动画情节自动生成系统[D]. 北京:北京工业大学,2015.

[14] MENDES P N,JAKOB M,BIZER C. DBpedia spotlight:shedding light on the web of documents[C]. International Conference on Semantic Systems. 2011.

[15] HEIM P,HELLMANN S,LEHMANN J,et al. Relfinder: revealing relationships in RDF knowledge bases[C].International Conference on Semantic Multimedia,2009.

[16] SUCHANEK F M,KASNECI G,WEIKUM G. Yago: a core of semantic knowledge[C]. International Conference on World Wide Web. OAI, 2007.

[17] 陆伟,武川. 实体链接研究综述[J]. 情报学报,2015(1):105-112.

[18] LOPER E,BIRD S. NLTK: the natural language toolkit[J].arXiv, 2002(5):592-563.

[19] MILLER,GEORGE A. Wordnet: a lexical database  for English[J]. Communications of the Association for Computing Machinery, 1995, 38(11):39-41.

[20] 吴中彪. 全过程计算机辅助手机3D动画自动生成系统的设计与实现[D]. 北京:北京工业大学,2011.

[21] 裴艳霞,刘椿年. 面向手机3D动画自动生成的中文命名实体识别[J]. 计算机工程与应用,2012,48(13):190-195.

(责任编辑:杜能钢)

猜你喜欢
背景知识
浅谈初中英语写作教学的方法与技巧
提高高中生英语阅读能力的策略