欢迎访问一起赢论文辅导网
机械论文
当前位置:首页 > 机械论文
智能家居场景联动中基于知识图谱的隐式冲突检测方法研究
来源:一起赢论文网     日期:2020-01-16     浏览数:1798     【 字体:

 dents.Therefore,interference problems in smart home automation require enoughresearches and solutions urgently.In this paper,we divide the interference into two categories:one is the explicit interference that performs as obviously opposite actions on the same actuator,the other is the implicit interference that manifests as interference between different actuators.The state-of-the-art interference detection technology is relatively mature on explicit interferences.While in respect to implicit interferences,the performance of these detection technology is relativelyweak,and the reasons of that can be concluded as two major disadvantages,low degree ofautomation and high false negative rate.This paper proposes an implicit interference detectionmethod.Through analyzing information from knowledge graph,our method is able to integrateand utilize commonsense knowledge of actuators in different categories substantially,and thendetect the implicit interference among actuators in automation.Our method contains two mainphases,which are actuator registration phase and rule subscription phase.During the actuatorregistration phase,our method utilizes commonsense knowledge included in the knowledge graphto evaluate the effects caused by the actuator,judge the interference of effects automatically andat last store the results as the implicit interference matrix at the edge devices;While in the rulesubscription phase,our method matches and queries the interference of effects between actuatorsrecorded in the implicit interference matrix to help judge the interference from rules.Besides,based on the characteristics of functionality phrases stored in the knowledge graph,we analysethe grammar of these phrases and design a strategy to determine the weight of words according tothe contribution degrees of each word to the whole phrases,and then updates and clusters on thebasis of the actuator function lists.For the semantic non-relevance problem led by word propertiesin natural language texts,we propose the relative polarity index and relative polarity calculationmethod,which transforms the division problem into a graph coloring problem,and thus it canclassify the same and opposite operations from relevant functions.Using the rule data collectingfrom IFTTT website,we design an experiment set based on the 10typical floor plans.Theexperiment result shows the recall rate of our method reaches 0.8301,the precision rate reaches0.9681and the F-score is 0.8938.The experiment results show that our method outperformsstate-of-the-art technologies by more than 61.93% in recall rate and 54.56% in F-score.Besides,compared with existing methods,our method does not require manual labeling and hasthe ability to automatically detect the implicit interferences.Therefore,our method significantlyimproves the detection efficiency and reduces the missed rate.Keywords  smart home automation;interference;implicit interference;knowledge graph;weight distribution;polarity analysis;smart home1 引 言智能家居场景联动是智能家居系统提供的一种自动化服务.它通过智能设备感知环境以及场景变化,自动执行相应的动作,从而有效提高家庭环境的舒适 度、安 度,全 体验[1].例如,当智能摄像头检测到住户走进家门时,自动开启“回家模式”:打开楼道灯光,客厅背景音乐缓缓响起,中央空调调整至舒适的温度;当智能手环监测到人体进入睡眠状态,自动执行“睡眠模式”:关闭全家灯光,小夜灯自动开启,调高卧室空调温度,避免人受凉,室内切换至安防模式.区别于传统家电的控制操作全部依赖于用户行为,智能家居场景联动集成了智能传感、无线网络、机器对机器通信、自动化控制等一系列技术,使得各类智能设备能在预先设定的条件情形下进行互联、互通和互动,从而为用户提供更加便捷、舒适和安全的智能化服务.参与智能家居场景联动的智能设备分为两大6期 肖 丁等:智能家居场景联动中基于知识图谱的隐式冲突检测方法研究1119s)和作动器(Actuators)[2].传感器是监测环境因素变化的设备,能够感知并收集温度、光线、湿度、烟雾、音频、视频以及其他环境数据,是数据收集者;而作动器是实施动作和提供服务的功能设备,如空调控制器、窗帘控制器、照明控制器等,是指令执行者.智能家居场景联动提供的服务以规则集合的形式来互联互通各类的智能设备,并驱动各类智能场景[3].目前主流的智能家居系统,如三星的 Smart-Things、苹果 的 HomeKit、小 米 智 能 家 庭 平 台 (米家)、云端规则定制平台IFTTT[4]及开源智能家居系统 HomeAssistant等,均采用 Trigger-Action模式来定制各类规则.传感器负责收集数据以验证环境是否达成规则的触发条件(Trigger),作动器则负责按照规则制定的方式执行对应的动作(Action).例如,用户制定规则“当室内二氧化碳的浓度超过一定范围的时候,则打开窗户通风”.其中触发条件就是“二氧化碳浓度超过一定范围”,这一信息是由二氧化碳传感器负责感知采集的数据.如果当前的触发条件满足,作动器会接受来自智能家居系统的命令,执行开窗动作.然而,由于 Trigger多种多样,同时作动器行为严格遵循规则中的 Action命令,因此随着制定的规则数量增多,规则之间产生控制冲突现象的可能性也随之提高[5].这些控制冲突会降低智能场景的用户体验,缩短智能设备使用寿命,甚至危及住户的人身财产安全[6].因此在智能家居系统中对于控制冲突的检测非常必要且尤为关键.对于控制冲突,考虑以下规则组:规则1.当太阳落山时,打开窗户;规则2.当太阳落山时,关闭窗户;规则3.当太阳落山时,打开暖气;规则4.当太阳落山时,打开空调制冷模式.其中,规则1和规则2的 Trigger是相同的,但是使得同一个作动器“窗户”执行了相反的 Action,因此产生了控制冲突;规则3与规则4在相同 Trigger条件下,命令不同的作动器“暖气”和“空调”产生动作,然而两者动作之间产生的效果是矛盾的(暖气制热,空调制冷),因此同样判定为冲突;同时,规则 1与规则3、规则1与规则4两两之间也是相互冲突的,因为打开暖气或者空调时,如果窗户被打开,由于空气流通,其会严重影响暖气或者空调的运作.在上述例子之中,第一组冲突的检测更为直观,因为同一个作动器实施了相反 的 Action.相比之下,第 二组和第三组冲突的检测较为困难,因为规则涉及不同作动器,要进一步判断不同作动器之间的行为是否有冲突,这需要引入必要的常识性知识进一步判断.因此,针对两种不同情形,我们将控制冲突分为两类:定义1. 在短时间内能够同时满足的条件下,同一作动器同时产生明显相反动作的控制冲突称为显式冲突.定义2. 在短时间内能够同时满足的条件下,不同作动器产生的动作导致效果相反的控制冲突称为隐式冲突.现有工作对于冲突检测的理论成因和逻辑关系的研究相对成熟[7-8],然而针对隐式冲突检测的实际应用的研究仍有不足.现有的隐式冲突检测方法主要是通过引入环境变量作为判断中介,同时人工标注每一条规则对环境变量的影响来进行判断.例如,规则3与规则4中,空调和暖气都影响了环境变量“温度”.因此,标注规则3和规则4对于温度的影响呈现相反效果,进而检测出隐式冲突.但是这类检测方法面临两大困难与挑战:(1)自动化程度低.现有的隐式冲突依赖于人工对智能设备的功能标注信息,工作量大,自动化程度低.由于智能家居平台的多样性,大量的人工标注和额外规定不仅给开发人员带来负担,同时也不利于检测方法在不同平台上的扩展应用.此外,当智能家居场景联动中加入全新种类设备或全新服务类型时,可能会与原场景中其他原有设备或服务产生冲突或干扰,因此原有方法需要很高的维护成本持续对新设备或新服务进行功能标注.(2)漏判率高.由于智能设备具有多功能性、标注者背景知识、能力水平也参差不齐,使得人工对规则的标注难以保证全面性和一致性,导致冲突的漏判.例如,对窗户仅标注了“采光”、“吹风”功能,而遗漏了“通风”、“升温”、“降温”等功能,则会遗漏“空调制冷”与“打开窗户”之间存在的隐式冲突.因为窗户打开后会将室内产生的冷空气流出室外,影响空调制冷效果,加大能耗.由于知识图谱中的知识语料有着来源广泛、涵义丰富、结构清晰和关系严谨等特点,知识图谱在消除歧义、问答系统等方面得到了广泛的应用.因此,本文提出了一种基于知识图谱语义分析的作动器隐式冲突检测方法,可以充分整合并有效挖掘各类作动器功能描述的常识性知识,进而实现对作动器隐式冲突的自动化检测.与传统方法相比,该方法对于1129 计  算  机  学  报 2019年率都得到明显的改善,且跨平台适应性良好.本文的贡献如下:(1)将控 制 冲 突划 分 为 显式 冲 突和 隐 式 冲突两类.针对隐式冲突检测,本文首次提出了一种自动化的 隐 式 冲 突 检 测 方 法———KGIID(KnowledgeGraph based Implicit Interference Detection),基于知识图谱抽取作动器常识性知识,对不同类型作动器之间隐式冲突实现自动化的判断.(2)为解决聚类后的相同簇中近反义功能短语混合杂糅问题,首次提出反义关系子类拆分的图模型染色方法,将反义关系的功能短语拆分到不同子类,实现聚类效果优化,降低了误判概率.(3)开展了与现有的隐式冲突判别方法的对比实验,进行了与人工标注方法的检测效果对比.实验结果表明本文提出的基于知识图谱的隐式冲突规则检测方法具有相较于其他方法更好的检测性能.本文第2节介绍相关工作;第3节介绍 KGIID方法的流程设计;第4节介绍作动器功能列表的获取与处理;第5节介绍作动器功能聚类;第6节介绍隐式冲突矩阵的生成;第7节介绍实验设计与评估;第8节全文总结.2 相关工作Hu等人[8]提出了一个名为 SPIDER 的检测方法来检测用户策略(即用户制定的规则)间的冲突.SPIDER 自行定义了一个针对智能家居的基于本体的语义语境模型,并在该模型中将参与智能家居系统的成员分为元件(传感器和作动器)、服务、策略和特征.在此基础上,该模型将用户制定的规则以模型中的各成员进行基本逻辑运算的形式进行结构化解析,从而能够表达出规则间的相互关系和冲突成因.但该模型仅仅在理论层面上对冲突检测进行了研究,并未在实验方面考虑隐式冲突如何检测识别等问题.Munir等人[9]设计了 DepSys系统,DepSys通过解决一系列依赖关系(包括需求,名称和控制依赖关系),提供了全面的策略来检测和解决智能家居的冲突问题.DepSys将冲突检测模块划分为静态检测模块和动态检测模块.静态检测模块在设备安装过程中进行冲突可能性分析,而动态检测模块则在运行时进行检测.针对隐式冲突检测,DepSys采用人工标注规则动作对于环境变量(如温度、湿度、光照等)的影响趋势(上升或下降)来判断不同作动器之间是否产生了冲突效果,并将标注好的结果形成结构化的文档提供给系统.然而,DepSys对于人工标注的文件格式具有严格的规定,不利于冲突检测模块在不同平台上的移植.Sun等人[10]提 出了一个基 于 形式化规 则的控制冲突检测模型 UTEA.UTEA 将规则之间的关系定义为11种类型,由 关系间不 同 的组合构 成 5 种类型的冲突.针对隐式冲突检测,该模型引入了环境实体(Environment Entities)模块,通过标注不同规则对于环境实体影响的目标值(或范围),来判断各个规则之间是否有冲突.但是,目前智能家居系统中并未对环境实体模块进行独立配置,因此该检测方法只适用于其模型自身.3 KGIID方法流程KGIID方法的整体流程主要分为两个环节:一个是作动器设备注册环节,另一个是规则定制环节,整体流程如图1所示.图 1 KGIID 方法整体流程3.1 作动器设备注册环节主要包含作动器功能列表获取、作动器功能聚类和隐式冲突矩阵生成三个步骤,主要目的是将智能家居系统发现的所有作动器设备的功能进行冲突预判断,并以隐式冲突矩阵的形式进行存储,方便规则制定环 节 中 进 行 隐 式 冲 突 判 断.具 体 处 理 流 程如下:(1)作动器功能知识条目获取与处理.在知识图谱中检索新注册的作动器类型,获得该作动器的功能知识条目.图2所示的是以“空调”(air conditioning)为例,在知识图谱中所获取的功能知识条目列表,简称功能列表.然后根据作动器功能列表,结合词向量工具计算每个功能知识短语的短语向量,为聚类作准备.(2)作动器功能聚类.由于在知识图谱中的知识6期 肖 丁等:智能家居场景联动中基于知识图谱的隐式冲突检测方法研究11395-11;在线出版日期:2019-03-16.本课题得到国家自然科学基金(51775496,51875503)资助.肖 丁,博士研究生,主要研究方向为物联网、人工智能等.E-mail:derll.xiao@gmail.com.王乾宇,硕士研究生,主要研究方向为物联网、嵌入式系统等.蔡 铭(通信作者),博士,副教授,中国计算机学会(CCF)会员,主要研究方向为物联网、人工智能、嵌入式系统等.E-mail:cm@zju.edu.cn.李 秀,硕士,主要研究方向为物联网、嵌入式系统等.智能家居场景联动中基于知识图谱的隐式冲突检测方法研究肖 丁 王乾宇 蔡 铭 李 秀(浙江大学计算机科学与技术学院 杭州 310027)摘 要 智能家居场景联动是智能家居系统提供的一种自动化服务,它通过各类智能设备的互联、互通和互动,从而为住户提供更为舒适、安全和节能的家居环境.然而,由于各个智能场景的侧重点不同、管理策略各异,当多个智能场景联动和叠加时,会引起作动器设备之间的竞争、干扰和矛盾等控制冲突现象,降低智能场景用户体验,缩短智能设备使用寿命,甚至危及住户的人身财产安全.因此,智能家居场景联动中的控制冲突问题亟需大量实验研究并找到解决方案.本文中,我们将控制冲突分为两大类,一类是同一作动器上执行明显相反动作的显式冲突,一类是不同作动器之间产生相互干扰动作的隐式冲突.现有的控制冲突检测技术对于显式冲突检测的研究较为成熟,而在隐式冲突检测方面性能相对较弱,其原因可归结为自动化程度低与漏判率高两大缺点.本文提出了一种基于知识图谱语义分析的作动器隐式冲突检测方法,可以充分整合并有效挖掘各类作动器功能描述的常识性知识,进而实现对作动器隐式冲突的自动化检测.该方法有两个主要环节,分别是作动器设备注册环节与规则制定环节.我们在作动器设备注册环节提取知识图谱中的常识性知识,对作动器功能之间的效果冲突进行识别判断,并以隐式冲突矩阵的形式将判断结果在边缘设备上进行存储,实现存在于不同类型作动器之间的干扰检测;在规则制定环节,借助隐式冲突矩阵的冲突信息进行字典式查询与匹配,以判断规则之间的隐式冲突.此外,基于知识图谱中设备功能短语自身特点,设计了基于语义贡献度的权重分配策略,完成词向量到短语向量的转化.为解决聚类后相同簇中近反义功能短语混合杂糅的问题,本文提出了相对极性指标和近反义关系一步扩展方法,并借由图模型染色算法将反义关系的短语拆分到不同子类,优化了聚类效果.通过利用IFTTT 数据集对10个典型户型的测试,我们的方法对隐式冲突的查全率达到0.8301,查准率达到0.9681,F-score值为0.8938.实验结果表明,我们的方法相比于当前检测技术,查全率至少高出61.93%,F-score值至少高出54.56%.并且与已有的方法相比,我们的方法不需要人工标注,可以自动化地进行隐式冲突检测,显著提高了检测效率,同时极大降低了冲突的漏判率.关键词 智能家居场景联动;控制冲突;隐式冲突;知识图谱;权重分配;极性分析;智能家居中图法分类号 TP391   DOI号 10.11897/SP.J.1016.2019.01190Research on Implicit Interference Detection Based onKnowledge Graph in Smart Home AutomationXIAO Ding WANG Qian-Yu CAI Ming LI Xiu(College of Computer Science and Technology,Zhejiang University,Hangzhou 310027)Abstract  Smart home automation is a service which provides residents with more comfortable,approved and energy-saving home environments via the connection,interoperation and interactionof smart devices.However,due to different concerns and management strategies of each smartscene,interferences such as competition,interference and contradiction among devices frequentlyoccur when multiple automation scenes encounter.They influence user experience of smart homeautomation,shorten service life of smart devices and even endanger the personal and property2 空调的功能列表来源于多种数据源,导致同一种语义存在多种不同的描述,因此作动器功能列表内对于作动器功能的描述有着大量的重复和冗余,例如图2中,空调功能列表中直接表达“cool”的相关功能条目达到了11条,间接表达制冷效果的有3条,它们都可视为空调制冷功能的重复表达.为了消除重复冗余功能信息,我们引入词向量,将作动器功能进行聚类,得到初步聚类结果.由于初步聚类结果中将相关性高的功能知识条目聚为了一类,而相关性包含相同和相反.因此我们引入语义字典,将初步聚类结果的同一簇中相反语义的功能知识条目进行子类拆分,确保每一个子类内部并不包含语义相反的功能短语,从而获得作动器功能簇列表.(3)隐式冲突矩阵生成.结合语义字典,我们将不同作动器的功能簇列表进行两两比较,可以得到功能簇之间的相关关系,以判断作动器之间各个功能簇的作用为相同或相反关系.出于数据传输负载和数据隐私的考虑,智能家居内的敏感数据处理都应在家庭范围内完成[11].因此我们将相同或相反关系的判断结果,以隐式冲突矩阵的形式存储在配置智能家居系统的边缘设备(如家庭网关、边缘路由器等)上,方便规则制定环节进行隐式冲突判断.3.2 规则制定环节当用户制定新规则后,规则引擎将新加入规则和已有的规则生成规则列表,放入隐式冲突判断模块进行冲突识别.隐式冲突模块在判断规则触发条件能够同时满足的情况下,将规则之中的作动器设备名称和动作,与隐式冲突矩阵中的作动器名称和功能簇进行匹配.隐式冲突矩阵将查询结果反馈给隐式冲突判断模块.如果两条规则之间的动作所对应的功能簇是相反关系,则判断这两条规则出现了隐式冲突.规则制定环节中,隐式冲突判断环节依赖于作动器设备注册环节中的输出———隐式冲突矩阵.因此 KGIID 方法的技术关键在于如何准确、高效地生成隐式冲突矩阵.本文将在后续4、5、6三节中分别详细介绍作动器设备注册环节 中三个步骤的技术原理.4 作动器功能列表获取与处理如图3所示,作动器功能列表的获取与处理主要分为三个步骤:一是提取知识图谱中的作动器功能列表;二是对功能列表中功能短语的词性标注和词形还原;三是对功能短语进行向量化表示,以方便功能聚类.图 3 作动器功能列表获取与处理流程4.1 作动器功能列表获取目前,常用的知识图谱有Freebase[12]、Wikidata[13]、DBpedia[14]、ConceptNet[15]等.由 于 ConceptNet 5.0中含有35种边关系(即语义关系),并支持在线 API接口,相比之下更为全面,因此我们选 用 Concept-Net 5.0 知识图谱作为获取作动器功能列表的数据源.在 ConceptNet 5.0 的作动器所有边关系中,“used for”边关系与作动器功能信息最为相关(如图2所示空调的“used for”边关系),因此作动器功能列表主要提取 “used for”边 关系.对于少 量缺乏1149 计  算  机  学  报 2019年的作动器条目(如“humidifier”、“air purifier”),我们提取其“is capable of”和“derivedfrom”边关系作为补充.4.2 功能短语的词性标注与词形还原作动器功能列表中的各功能知识条目,都是以功能短语的形式存储.由于英语自身的语法特点,需要进行词形还原(Lemmatization),即将功能短语中的各单词的屈折形态或者派生 形态简化或归并为原形的基础形式[16],以便于提高短语距离计算的准确性.例如,“removing moisture”中“removing”应还原为原形 “remove”,“breathe better”中 “better”需还原为原形“good”.而词性标注是进行词形还原之前所做的预处理步骤,是为每个单词标注一个词性,以确定该词是名词、动词、形 容词或者其他词性的过程.在实现方案上,我们采用NLTK(Natural LanguageToolkit,自然语言工具箱)结合词性标注的方式进行词形还原.NLTK 是一组用 Python语言开发的用于自然 语 言 处 理 的 模 块 工 具 包.其 本 身 提 供 与WordNet的良好接口,在词形还原时能够对目标单词在 WordNet中进行访问 查 询,并进行词缀删 除和转换,从而获得目标单词的有效原形.同时,词性标注的准 确 率 直 接 影 响 着 词 形 还 原 的 准 确 率.在词性标注器选择方面,我们 采 用 NLTK 包 自 带 的pos_tag方法(part-of-speech tagging)进行标注.在词性标注的过程中,我们需要结合该单词在ConceptNet中的例句进行标注,才能使得词形还原更为准确.例如对单词“cooling”在脱离上下文环境的情况下进行标注,容易标注其为 NNS(名词复数形式);但 将 其 放 入 原 句 “It is used for cooling anoffice”中后进行标注,才能准确判别其词性为 VBG(动词现在进行时).4.3 功能知识条目的短语向量表示在功能聚类的指标选取方面,考虑到自然语言处理 中,词 向 量 技 术 (Word Vector,又 称 词 嵌 入,Word Embedding)是基于文本训练而得到,保证了词汇之间的相对相似度和语义相似度,因此选取词向量作为聚类指标进行功能聚类较为合适.ConceptNetNumberBatch(简称 为 NumberBatch)是 词 向 量 技术中的一种[17-18],它作为ConceptNet开源数据项目的一 部 分,构 建 之 初 便 结 合 了 来 自 ConceptNet、Word2vec[19]、GloVe[20]等数据并加以改进[20].因此综合考虑,本实验选用 NumberBatch进行词义分析和极性判别最为合适.经过大量查阅 ConceptNet中的各类作动器词条,我们观察到表达作动器功能知识条目的短句均为动词 短 语 结 构 (VP 结 构 短 语),例 如 “cooling aroom”、“keep the room cold”等,词向量技术无法直接使用.我们需要运用语义线性放缩方法进行短文本内容计算,因为通过语义放缩更有利于分类、比较和查找[21].因此,为了度量两个短语之间的相关程度,我们提出了一种话题语义的线性放缩方法,对功能短语建立可计算的模型,将语句转化为短语向量的形式,为聚类作准备.为求得功能短语的向量表示,我们有以下两个定义:定义3. S={w1,…,wn}:某一个功能短语S,由其包含的所有单词 Wi的词向量wi组成.定义4. K={k1,…,kn}:功能短语S 的向量倍数集合K,由各个词向量wi对应的向量倍数ki组成,并满足式(1)∑ni=1ki=1 (1)因此,我们可以得到式(2),其中 T(S)表示功能短语S 的向量表示.T(S)=∑niS.wi·K.kin(2)式(2)中,词向量 wi可由 NumberBatch直接获取,向量倍数ki的赋值与分配策略是影响短语向量值的关键.我们将向量倍数ki视作单词 Wi语义对整个短语的语义贡献度.经研究发现,实义义动词组成的动词短语中,动词对于整个短语的语义贡献度最大,如“cooling a residence”中“cooling”的语义更重要;而由使役动词或系动词组成的动词短语中,动词无实意,此时其他词汇对整个短语的语义贡献度最大,如“keep the room cold”中“room”和“cold”两个单词的语义贡献度更大.因此我们提出一种基于语义贡献度的权重分配策略,该策略的核心思路是根据每个词向量wi对于短语语义的贡献程度来赋予向量倍数ki的权重值.具体策略如下:(1)在实义动词的 VP结构短语中,实义动词本身对于短语语义的贡献程度较大,例如“cool a resident”.因此对于实义动词的向量倍数ki我们赋予统一的高权重p,同时将代词、冠词、介词等无实义的词汇的向量倍数设为0后,剩余词语平均分配余下的倍数权重.(2)使役动词、系动词、助动词或情态动词组成6期 肖 丁等:智能家居场景联动中基于知识图谱的隐式冲突检测方法研究1159动词本身含义较弱,对整个短语语义贡献较 小,而 宾 语 部 分 语 义 贡 献 更 大,例 如 “letthe light in”.因此对于这一类动词向量倍数设为0权重,同时将代词、冠词、介词等无实义的词汇的向量倍数设为0后,剩下的单词平均分配倍数权重.经实践发现,在语料不完全充分的情形下,基于语义贡献度的权重分配策略相比深度学习的注意力训练机制在准确率上更具有优势,可以减小短语向量化时次要语义成分的干扰,确保短语向量的极性倾向不会被影响.经过反复实验,我们可以调整权重p值的大小到合适数值,使得功能短语的向量表示呈现理想结果.5 作动器功能聚类基于作动器功能短语向量之间的向量距离,我们可以对每个作动器的功能列表进行聚类.如图 4所示,作动器功能聚类的主要流程分为三个步骤:首先用聚类方法进行初步聚类,得到初步聚类结果;然后根据单词之间的相对极性指标获得初步聚类结果中短语之间的相对极性指标;最后以短语之间相对极性指标为依据,用图染色算法将初步聚类结果进行子类拆分,完成最终的聚类.其中,第二步和第三步是对初步聚类结果的进一步优化.图 4 作动器功能聚类流程在初步聚类之前,我们需要对作动器功能短语作预处理.为了减少信息干扰,在预处理时需要忽略停用词(stop word).停用词是指在英语用语习惯中出现较为频繁和普遍,而实际含义作用较弱,只是维持语法结构的作用的一类词,包含冠词 (如 “the”,“a”)、介词(如“of”,“for”)、代词(如“that”,“this”)和使役动词(如“let”,“make”)等.因此对于停用词,我们在预处理过程中将其忽略.预处理过程中,还需要额外注意负极性词(negativepolarity items),它们的出现会将语义变为否定含义,极性倾向也会发生逆转,例如“not”、“stop”等.因此在相对极性判别之前,我们需要额外注意句式中是否出现负极性词汇,如果出现,则需要将整个句子的极性取反.例如,“air conditioning”设备的功能短语中包含“removing moisture from the air”,因为“re-move”表达的是“去除”、“消除”之意,后面无论接上任何名词,都代表该名词被去除,不再含有该名词本身的效果,因而判定“removing”为负极性词汇.5.1 功能短语初步聚类与效果分析由于在知识图谱中的知识来源于多种数据源,导致同一种语义存在多种不同的描述,作动器功能列表内对于作动器功能的描述有着大量的重复和冗余.因此我们将同种作动器下的功能列表进行聚类,按照语义相似度关系将功能知识短语拆分 为若干簇,使得同一簇中功能短语的语义相似度高,不同簇之间功能短语的语义相似度低,尽可能使得每一个簇中的所有功能短语表达该作动器的同一 项功能作用.我们选择余弦距离作为度量语义相似度的指标.余弦距离是一个大小在0至1之间的值,用来衡量两个向量之间的相似程度,其大小等于1减去这两个向量之间余 弦 相似度.因 此,余弦距离 越接近1,表明这两个向量越相似;反之,若余弦距离越接近0,表示这两个向量越倾向于无关.在聚类的方法上,我们选择了 DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)[22],DBSCAN 适用于支持加速区域查询的数据库,对数据库中点的排序不敏感,可用于高密度的连通区域的划分.同时拥有着不需要指定类别数量、对异常值具有较强鲁棒性和易于寻找任意形状集群的特点,非常适合功能知识条目的聚类任务.由 DBSCAN 得 到 初 步 聚 类 结 果,以 空 调 “airconditioning”为例,在表1中展示.表 1 “air conditioning”的功能知识初步聚类结果簇编号 功能知识条目1cooling a room,cool down,cool the environment,cool your home,cool a house,cooling,cooling an office,cooling a hotel,keep the room cold,cooling anautomobile,manipulating the temperature,reducingthe temperature,removing the moisture from the air,storing cold food items,warming,cooling a residence,cool a room or building2 altering the environment of a room3 be comfortable in hot weather4 breathe better观察初步聚类结果,我们发现有将不同功能聚在一类中的错误.例如空调的作动器功能列表中,功能相反的 “warming”和 “cooling a room”都 在 第 1簇,同 时,除 湿 功 能 “removing the moisture from1169 计  算  机  学  报 2019年the air”也与降温功能同在一个簇中.这些错误并非由聚类算法造成的.事实上,短语间的余弦距离并不能完全区分出相反或冲突功能,例如,“warming”和“cooling a room”余 弦 距 离 接 近 于 1.进 而 根 据NumberBatch词向量分别计算语义相似度,发现作为反义词 的 “warm”和 “cool”的 语 义 相 似 度 高 达0.491,非常接近于同义词之间的语义相似度(0.5及以上),而无关词汇之间语义相似度都低于 0.3.除湿功能与降温功能聚为一类,是因为“temperature”和“moisture”两者的余弦距离高达0.582.这样的现象是词向量本身的特点所导致的.因为词向量是基于自然语言数据的分布属性来量化和分类不同的单词,单词的分布取决于单词之间是否经常出现在相似的语言环境中.因此,两个词向量的余弦距离较大,表达的确切涵义是两个单词使用场景比较相似,两者之间可能是同义词(如“cold”和“cool”),也可能为反义词(如“warm”和“cold”),或者是同领域的关系(如“temperature”和“moisture”)等.因此,词汇之间的余弦距离大并不代表他们是近义或反义词,只是使用场景很接近,我们称为相关.功能聚类的初步结果是将相似 度高的词汇聚在了一起.5.2 相对极性分析初步聚类的结果对作动器功能区分的粒度过粗,将很多相反或相近类型的功能混淆为一类功能.我们需要将相似词汇中的相反 与相近关系区分出来,并拆分为不同类,以最大化地保证同一类中的作动器功能相近.因此,本节引入了“相对极性”指标.相对极性指标表达的是两个短语或词汇极性之间的相互关系,取值为三种离散数值:-1代表词汇或短语之间具有相反含义,1代表词汇或短语之间具有相同含义,0代表词汇或短语之间的含义既不相同也不相反.在隐式冲突判断的研究场景中,我们需要重点解决相对极性为-1的情形,比如“warming”和“cool-ing a residence”,以及不同领域词汇“temperature”和“moisture”.对同一簇下的功能知识条目依照相对极性指标进行拆分,将相对极性指标为-1的功能短语拆分到不同子类中,得到最终的功能簇列表.5.2.1 词之间的相对极性定义5. p(A,B)为单词 A 和单词B 的相对极性指标,并满足p(A,B)∈{-1,0,1}.p(A,B)的具体取值需要参考近义词典和反义词典.在 实 验 过 程 中,我 们 整 合 了 WordNet和ConceptNet中的近义和反义关系,并生成了相应的近义、反义词典.具体做法为:在 WordNet中,对目标单词的所有语义的同义词和反义词进行整合;在ConceptNet中,我们将 Synonym 关系中的边权重大于 0.5 的 英 文 单 词 作 为 目 标 单 词 的 同 义 词,将Antonym 关系中的边权重大于0.5的单词作为目标单词的反义词.由于 WordNet和 ConceptNet中,目标单词的近义、反义关系中的单词仅为了释义说明,并未包含所有相关的近反义词词汇.因此我们需要对单词的近反义关系进行拓展.由定义5我们不难发现:p(A,C)≈p(A,B)·p(B,C) (3)我们称式(3)为相对极性的扩展性.单词 A 和单词C 的相对极性指标值,近似于单词 A、B 之间和单词B、C 之间的相对极性指标乘积.理论上,按式(3)能对近反义关系进行任意多步扩展.然而事实上,由于单词之间的近义反义关系是指目标单词之间某个语义下的具有相近或相反的含义,而一个单词会往往对应多个语义,因此相对极性的多步扩展下会将偏差累积从而导致更多的错误判断.实践证明,一步扩展的判断效果最好.图5以无向图的形式展示了单词间的相对极性指标的一步扩展方式:初始的相对极性指标由近反义词典来获取,图5中的实线代表从近反义词典中获取的相对极性指标,虚线代表的是一步扩展后获取的相对极性指标.一步扩展后的边权重可按式(3)的方式计算.例如单词“warm”和“hot”之间的相对极性指标值,等于“warm”与“cool”、“hot”与“cool”的相对极性指标值的乘积.图 5 相对极性指标的一步扩展5.2.2 短语间的相对极性指标短语间的相对极性指标计算依赖于两个短语中每个词汇之间的相对极性指标,同时要考虑到两个短语中的负极性词汇的影响.设短语S={w1,w2,…,wn},wi代表组成该短语的有效词(去除无意义词汇后的单词).单 词 wi和 w′i之 间 的 相 对 极 性 指 标 为p(wi,w′i)∈{-1,0,1}.由于在子类拆分任务中,更6期 肖 丁等:智能家居场景联动中基于知识图谱的隐式冲突检测方法研究1179

[返回]
上一篇:极限学习机前沿进展与趋势
下一篇:支持Unikernel的流式计算引擎:Hummer