基于语义知识的建模方法和装置与流程

文档序号:14911225发布日期:2018-07-10 23:28阅读:226来源:国知局
本发明涉及工业自动化
技术领域
,尤其涉及一种基于语义知识的建模方法和装置。
背景技术
:在工业自动化领域,一个生产系统中的各个组件、各个组件的属性、在生产过程中各个组件产生的数据及各个组件间的关联关系错综复杂,例如,包括自动化生产过程中各个设备或组件的以及各个设备或组件之间的关联关系,其中,组件可以为发动机、变速器、震动感测器及滚动器等,组件间的关联关系可以为发动机与变速器的驱动关系、震动感测器与滚动器的物理连接关系等。建模工具很广泛地被用于描述工业自动化系统,还用于系统仿真,描述数据和关联关系等。然而,大部分的建模机制需要用户非常深入地了解一个系统的细节,还要求用户具有将真实的系统“翻译”成一个模型的能力。即使是一个对建模非常有经验的专家,也需要花费很多精力来建立一个模型,并且还有可能有误差。这是因为工业系统具有大量的组件和复杂的控制逻辑,而误差会导致在仿真或错误诊断中的错误,并会造成成本上升。技术实现要素:本发明第一方面提供了基于语义知识的建模方法,其中,包括如下步骤:S1,获得一个知识库;S2,接收并缓存用户的建模动作,根据用户建模动作对用户建模意图进行分析,比较用户建模动作和当前建模进程并查询所述知识库,从而输出一个推荐列表给用户。本发明具有交互模式和动态推荐的特点。本发明是基于语义知识的,语义知识能够被学习并存储,还能通过将建模结果当做新知识来进行自身扩展。利用本发明,当用户建模时推荐列表将会被动态发送,这使得建模过程变得更简单和快捷,也具有更高的准确性。进一步地,所述步骤S1还包括如下步骤:接收并分析用户输入的知识,并利用分类和提取好的知识产生具有分类信息的模型和片段信息,从而生成所述知识库。进一步地,所述步骤S1还包括如下步骤:分类步骤,将用户输入的知识分类得到具有分类信息的模型,并给输入的模板或模型分派一个分类;提取步骤,提取用户输入的知识并生成片段信息;计算步骤,统计所述具有分类信息的模型和所述片段信息的概率,并生成知识库。进一步地,所述知识库包括具有分类信息的模型和所述片段信息,以及所述具有分类信息的模型和所述片段信息的统计概率。进一步地,所述用户输入的知识为语义知识。进一步地,所述语义知识包括具有分类信息的基本语义知识、模板和库、样本模型。进一步地,所述步骤S2还包括如下步骤:缓存步骤,缓存用户建模动作;意图分析步骤,分析缓存的用户建模动作以确定所述用户建模意图和用户建模目标,并评估出用户建模目标的分类;比较步骤,比较缓存的当前建模和用户建模目标的分类,并查询知识库从而确定匹配知识;推荐步骤,整理并输出一个推荐列表给用户。进一步地,所述基于语义知识的建模方法还包括如下步骤:S3,用户建模完成以后,利用最终模型扩展所述知识库。进一步地,所述推荐列表包括以下任一项或任多项:-分类;-片段信息;-模板。本发明第二方面提供了基于语义知识的建模装置,其中,包括:一个知识获取模块,其用于获得一个知识库;一个推荐模块,其用于接收并缓存用户的建模动作,根据用户建模动作对用户建模意图进行分析,比较用户建模动作和当前建模进程并查询所述知识库,从而输出一个推荐列表给用户建模界面。本发明具有交互模式和动态推荐的特点。本发明是基于语义知识的,语义知识能够被学习并存储,还能通过将建模结果当做新知识来进行自身扩展。利用本发明,当用户建模时推荐列表将会被动态发送,这使得建模过程变得更简单和快捷,也具有更高的准确性。进一步地,所述知识获取模块为知识分析模块,其用于接收并分析用户输入的知识,并利用分类和提取好的知识产生具有分类信息的模型和片段信息,从而生成所述知识库。进一步地,所述知识分析模块包括:分类模块,其用于将用户输入的知识分类得到具有分类信息的模型,并给输入的模板或模型分派一个分类;提取模块,其用于提取用户输入的知识并生成片段信息;计算模块,其用于统计所述具有分类信息的模型和所述片段信息的概率,并生成知识库。进一步地,所述知识库包括具有分类信息的模型和所述片段信息,以及所述具有分类信息的模型和所述片段信息的统计概率。进一步地,所述用户输入的知识为语义知识。进一步地,所述语义知识包括具有分类信息的基本语义知识、模板和库、样本模型。进一步地,所述推荐模块还包括:缓存模块,其用于缓存用户建模动作;意图分析模块,其用于分析缓存的用户建模动作以确定所述用户建模意图和用户建模目标,并评估出用户建模目标的分类;比较模块,其用于比较缓存的当前建模和用户建模目标的分类,并查询知识库从而确定匹配知识;推荐模块,其用于整理并输出一个推荐列表给用户。进一步地,其还包括一个扩展模块,其用于在用户建模完成以后,利用最终模型扩展所述知识库。进一步地,所述推荐列表包括以下任一项或任多项:-分类;-片段信息;-模板。附图说明图1是根据本发明一个具体实施例的基于语义知识的建模方法的系统架构图;图2示例性地示出了根据本发明一个具体实施例的具有分类信息的基本语义知识;图3示例性地示出了根据本发明一个具体实施例的语义知识的模板;图4是根据本发明一个具体实施例的基于语义知识的建模方法的推荐示意图;图5是根据本发明一个具体实施例的用户界面的推荐示意图;图6是根据本发明一个具体实施例的最终建模结构示意图。具体实施方式以下结合附图,对本发明的具体实施方式进行说明。本发明提供的基于语义知识(semanticknowledge)的建模机制包括知识输入和用户推荐,用户端输入的知识会被分类和提取处理从而保存在知识库中,然后经过分析用户意图并发送推荐列表。图1是根据本发明一个具体实施例的基于语义知识的建模方法的系统架构图,如图1所示的系统被虚线划分为两个主要部分,即用户端100和服务器端200,用户端具有知识输入模块110和用户建模界面120。其中,用户通过只是输入模块110输入知识。而用户建模界面120是一个互动界面(interactiveinterface),用户可以通过用户建模界面120执行建模,其提供了建模组件、模板和用户操作界面(useroperationpanel)的动态推荐(dynamicrecommendations),在建模过程中用户界面会发送用户建模动作给服务器端200并且接收服务器端200的推荐或响应。语义知识是用一些特定语义标准(semanticstandard)描述的语义模型(semanticmodel),例如RDF、OWL和Modelica。利用语义知识,推荐列表会在用户建模时被动态提供给用户,这会使得建模过程变得更加轻松快捷,并具有更高精确度。本发明提供的基于语义知识的建模方法包括如下步骤:首先执行步骤S1,获得一个知识库K。其中,知识库K是执行本发明的基于语义知识的建模方法的基础,步骤S1是执行本发明方法的初始步骤。可选地,知识库K可以根据用户输入的知识产生。因此,所述步骤S1还优选地包括如下步骤:接收并分析用户输入的知识,并利用分类和提取好的知识产生具有分类信息的模型和片段信息,从而生成所述知识库K。需要说明的是,当知识库首次确定以后,上述步骤就并非是执行本发明的必须步骤。具体地,用户通过知识输入模块110输入知识,其是执行后续推荐步骤的首要必备条件,所述语义知识包括具有分类信息的基本语义知识(basicsemanticknowledge)、模板(template)和库(library)、样本模型(samplemodel)。其中,利用分类和语义模型标准(semanticmodelstandards)来安排和构建基本语义知识,所述语义模型标准包括ISA-95、SSN(SemanticSensorOntology)等。其中,利用经验或标准来安排模板和库,例如Modelicalibraries等,所述模板和库用一致的格式来代表。其中,利用之前的项目来构建和收集样本模型,例如装配线的某品牌汽车的模型可被用于充当其他品牌汽车装配线的样本模型。用户通过知识输入模块110输入的知识能被发送给服务器端200的知识分析模块210并存储起来。其中,示例性地,在如图2所示的具有分类信息的基本语义知识中,“Core”中的语义知识是由语义实体标准(semanticontologystandards)组成的,其描述了工业自动化系统(industrialautomationsystem)的常识(universalknowledge),其包括QUDT和SSN。如图2所示,“控制系统(ControlSystem)”、“加工厂(ProcessPlant)”、“车辆(Vehicle)”和“装配线(AssemblyLine’)”是分类,相关的语义标准和模板被分配给这些分类。所有用户输入的知识,例如模板和样本模型都将被分配给上述分类的一个或多个。具有分类信息的基本语义知识用于鉴定用户意图和建模目标。其中,ISA-95是控制系统的标准,其包括词汇、定义和关系定位。同理,ISO-15926是加工厂的标准,其也包括词汇、定义和关系定位。此外,引擎模板是车辆的模板,驱动模板是装配线的模板,其都是工程师建立的标准模板。其中,图3所示的模板示例性地为“装配线驱动模板(Assemblylinedrivingtemplate)”,其用语义标准RDF来描述。如图3所示,“发动机(Motor)”、“齿轮箱(Gearbox)”、“摩擦轮(Roller)”、“震动传感器(VibrationSensor)”和“位移传感器(DisplacementSensor)”是积木,而上述积木之间的线表示彼此之间的连接。例如,“发动机”和“振动传感器”以及“摩擦轮”和“位移传感器”之间的连接关系为连接,“齿轮箱”分别和“发动机”以及“摩擦轮”之间的连接关系为驱动。如图1所示,服务器端200包括知识分析模块210和推荐模块220。其中,所述步骤S1还包括分类步骤、提取步骤和计算步骤,因此分析模块210还进一步地包括分类模块212、提取模块214和计算模块216。具体地,在所述分类步骤中,分类模块212将用户输入的知识分类得到具有分类信息的模型,并给输入的模板或模型分派一个分类;在所述提取步骤,提取模块212用于提取用户输入的知识并生成片段信息(segmentinformation),接着将所述片段保存在所述知识库K中;在所述计算步骤中,计算模块216用于统计所述具有分类信息的模型和所述片段信息的概率,并生成知识库。然后执行步骤S2,接收并缓存用户的建模动作(useractions),根据用户建模动作对用户建模意图进行分析,比较用户建模动作和当前建模并查询所述知识库,从而输出一个推荐列表给用户。如图1所示,所述步骤S2还包括缓存步骤、意图分析步骤、比较步骤和推荐步骤,因此服务器端200的推荐模块220还进一步地缓存模块222、意图分析模块224、比较模块226和推荐执行模块228。具体地,在所述缓存步骤中,缓存模块222用于缓存用户建模动作,并发送用户建模动作给意图分析模块224;在所述意图分析步骤中,意图分析模块224用于分析缓存的用户建模动作以确定所述用户建模意图和用户建模目标,评估出用户建模目标的分类并发送给比较模块;在所述比较步骤中,比较模块226用于比较缓存的当前建模和用户建模目标的分类,查询知识库从而确定匹配知识并发送给推荐执行模块228;在所述推荐步骤中,推荐执行模块228用于整理并输出一个推荐列表给用户建模界面120,即用户。其中,如图1所示,知识库K是从知识分析模块210保存的知识数据库,知识库K用于推荐模块220来相较于用户建模动作获取最匹配的知识。所述知识库K包括具有分类信息的模型和所述片段信息,以及所述具有分类信息的模型和所述片段信息的统计概率。具有分类信息的模型是从所有用户输入的知识组织而来,包括基本语义知识、模板和库、样本模型。如图2所示,具有分类信息的模型会被分析并保存至知识库K,此外,用户新输入的知识(例如模板、库和样本模型)会分类注释(annotatedwithclassifications)并保存在知识。其中,模板来自两个资源,其一是模板和库的知识输入,另一是样本模型和片段信息的分析结果。例如,如果我们不能从如图3所示的“装配线驱动模板”中得到模板输入,则我们可以分析样本模型和片段信息来获得具有高可能性的积木(blocks)和连接(connections,比一些积木数量多)的结果,例如结合概率(CombiningProbability)大于0.9,会产生一个如图3所示的模板作为模板知识。而模板输入和分析模板的区别在于分析模板具有描述模板概率的能力。上述过程在输入最终模型作为样本模型时被每次执行,因此,模板具有自我扩展(selfexpanding)的能力。片段信息包括积木、连接和积木之间的连接概率,其也包括在不同分类中的积木和连接的概率。在提取片段信息时所有的用户输入都会被考虑,其实从一些工学统计算法(mathematicalstatisticalgorithms)计算而来并以同样的格式表示出来。图3中S表示包括两个相互连接的积木的最小模型,其是从如图3所示的输入模板中提取出来的。其中,如图3所示,片段信息S包括两个积木,分别为“发动机”和“振动传感器”,“发动机”和“振动传感器”之间的连接关系为连接。表1片段信息示例FromToconnectionclassificationcountFromProbToProbConnProbClassProb发动机齿轮箱驱动装配线50.850.750.411.0发动机振动传感器连接装配线60.760.660.620.96齿轮箱摩擦轮驱动装配线40.830.630.580.94摩擦轮位移传感器连接装配线20.640.880.491.0上表为一个片段信息的示例,如上表所示,“from”和“to”表示片段中积木和连接的方向,其示例性地示出了如图3的箭头方向所代表的积木之间的连接关系。“classification”是由图2所示的知识分析模块210中的分类模块212来分析和保存的。“count”表示该片段发生的频率。“FromProb”、“ToProb”、“ConnProb”和“ClassProb”是每个元件条件概率(conditionalprobabilities)的计算。下面以图3中片段S为例进行进一步说明。其中,条件概率P(B|A)表示当A已经发生时B的概率,其中,A和B表示不同积木。因此,我们可以得到:FromProb=P(发动机驱动齿轮箱|发动机)=0.85;ToProb=P(发动机驱动齿轮箱|齿轮箱)=0.75;ConnProb=P(发动机驱动齿轮箱|驱动)=0.41;ClassProb=P(装配线|发动机驱动齿轮箱)=1.0由于不同的领域(domain)和用法(usage),所有的片段信息会被分类注释。如果我们要从处理模型分析(analysisofprocessingmodel)中得到结果,这将十分有用。由于在分类范围内有大概率的模型,因此在这些分类中的推荐选择会及其精确。进一步地,步骤S2基于用户的动作和知识库来进行推荐,步骤S2是动作驱动进程(actiontriggeredprocess)。步骤S2的目的是为了分析用户建模动作和知识库,以寻找最匹配的知识,并提供给用户在建模过程中最有用的建议。图5是根据本发明一个具体实施例的基于语义知识的建模方法的推荐示意图,如图5所示,箭头1~5指示了不同的操作。箭头1表示当用户执行了建模动作或者选择了一种推荐,该建模动作或推荐选择会被发送给缓存模块222。箭头2表示建模动作或推荐选择被缓存。箭头3表示意图分析模块224会分析缓存的建模动作或推荐选择来确定用户意图的分类。当用户在一个推荐列表中选择一项,当该选择属于分类A,其意味着用户更有可能在分类A中建模而不是其他选项所属的分类。箭头4表示比较模块226会结合动作产生建模,其会利用意图分析模块224中的建模和分类来和知识库K比较,并获得最匹配的知识来输出比较结果,比较结果包括分类、片段信息和模板。箭头5表示推荐执行模块228会组织比较结果给一个推荐列表并发送推荐列表给用户建模界面120,推荐列表包括分类、片段信息和模板。其中,推荐结果中的分类是从意图分析模块224或比较模块226中产生的。当建模中的积木具有属于某一分类的极大可能性时,该分类则会被推荐。片段是基于知识库中的片段信息来计算的,当用户执行动作时,属于操作积木的片段会被用概率来收集并计算,从而列出排名。建模模块会被用于在同一分类中与模板比较,并计算出匹配率,从而列出排名。图5是根据本发明一个具体实施例的用户界面的推荐示意图,在界面1201中,用户在界面中选择了一个“发动机”,推荐给出了一个分类列表,该分类列表包括“装配线”、“车辆”和“加工厂”供用户选择。然后用户建模界面120从界面1201切换到界面1202,在用户执行建模动作以后,用户从推荐的相关类型中选择了“齿轮箱”和“摩擦轮”建立了如界面1203所示的模型。此时,在界面1203中又推荐了一个推荐列表,其包括相关分类和模板。所述相关分类包括“震动传感器”和“位移传感器”,所述模板包括“装配线驱动模板”。最后,执行步骤S3,用户建模完成以后,利用最终模型(finalmodel)扩展所述知识库。最终模型发送给知识分析模块210来扩展知识库K,在此步骤中分类、片段和模板会被重新安排,分类、片段和模板的概率会被重新计算。如图6所示,片段会从模型中被提取,新的片段例如“滑板线”和“轨道”以及他们的概率会被计算并加入知识库K。如图6所示,最终的建模具有两个如图3所示的模板,其中,发动机1驱动齿轮箱1,齿轮箱1驱动摩擦轮1,摩擦轮1连接位移传感器1,发动机1连接振动传感器。同理,发动机2驱动齿轮箱2,齿轮箱2驱动摩擦轮2,摩擦轮2连接位移传感器2,发动机2连接振动传感器。其中,发动机1靠近发动机2。滑板线和轨道的关系为有轨道,轨道和发动机1和发动机2的关系分别为有驱动。此外,现有的片段和模板会基于新的知识库被分析。具有同样图示(schema)的片段和模板会被加强,而相反的部分会被检索,因此知识库K得到了自身扩展(self-expanding)和自身加强(self-enhancing)。现有技术的大部分建模机制需要用户深入了解系统的每个细节,需要具备将真实系统翻译成模型的能力和技能。本发明第二方面还提供了一种基于语义知识的建模装置,其中,包括:一个知识获取模块,其用于获得一个知识库K;一个推荐模块220,其用于接收并缓存用户的建模动作,根据用户建模动作对用户建模意图进行分析,比较用户建模动作和当前建模进程并查询所述知识库K,从而输出一个推荐列表给用户建模界面120。进一步地,所述知识获取模块为知识分析模块210,其用于接收并分析用户输入的知识,并利用分类和提取好的知识产生具有分类信息的模型和片段信息,从而生成所述知识库K。进一步地,所述知识分析模块210包括:分类模块212,其用于将用户输入的知识分类得到具有分类信息的模型,并给输入的模板或模型分派一个分类;提取模块214,其用于提取用户输入的知识并生成片段信息;计算模块216,其用于统计所述具有分类信息的模型和所述片段信息的概率,并生成知识库K。进一步地,所述知识库K包括具有分类信息的模型和所述片段信息,以及所述具有分类信息的模型和所述片段信息的统计概率。进一步地,所述用户输入的知识为语义知识。进一步地,所述语义知识包括具有分类信息的基本语义知识、模板和库、样本模型。进一步地,所述推荐模块220还包括:缓存模块222,其用于缓存用户建模动作;意图分析模块224,其用于分析缓存的用户建模动作以确定所述用户建模意图和用户建模目标,并评估出用户建模目标的分类;比较模块226,其用于比较缓存的当前建模和用户建模目标的分类,并查询知识库K从而确定匹配知识;推荐模块228,其用于整理并输出一个推荐列表给用户。进一步地,本发明还包括一个扩展模块,其用于在用户建模完成以后,利用最终模型扩展所述知识库。进一步地,所述推荐列表包括以下任一项或任多项:-分类;-片段信息;-模板。由于本发明提供的基于语义知识的建模装置和方法一一对应,前文已经对基于语义知识的建模方法进行了详细介绍,此处为简明起见,不再赘述。本发明具有交互模式和动态推荐的特点。本发明是基于语义知识的,语义知识能够被学习并存储,还能通过将建模结果当做新知识来进行自身扩展。利用本发明,当用户建模时推荐列表将会被动态发送,这使得建模过程变得更简单和快捷,也具有更高的准确性。尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。此外,不应将权利要求中的任何附图标记视为限制所涉及的权利要求;“包括”一词不排除其它权利要求或说明书中未列出的装置或步骤;“第一”、“第二”等词语仅用来表示名称,而并不表示任何特定的顺序。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1