CN102089757B - 基于代理的系统的自动创建的系统和方法 - Google Patents
基于代理的系统的自动创建的系统和方法 Download PDFInfo
- Publication number
- CN102089757B CN102089757B CN200980126895.0A CN200980126895A CN102089757B CN 102089757 B CN102089757 B CN 102089757B CN 200980126895 A CN200980126895 A CN 200980126895A CN 102089757 B CN102089757 B CN 102089757B
- Authority
- CN
- China
- Prior art keywords
- conversion
- data
- candidate conversion
- model
- agency
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000008569 process Effects 0.000 claims abstract description 31
- 238000010801 machine learning Methods 0.000 claims abstract description 27
- 238000006243 chemical reaction Methods 0.000 claims description 215
- 238000013507 mapping Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 239000012141 concentrate Substances 0.000 claims 2
- 230000007246 mechanism Effects 0.000 abstract description 2
- 238000007781 pre-processing Methods 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 30
- 230000008859 change Effects 0.000 description 19
- 238000013519 translation Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006872 improvement Effects 0.000 description 6
- 230000002068 genetic effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000010429 evolutionary process Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/043—Distributed expert systems; Blackboards
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
基于代理的系统可以由用户或第三方过程提供的规范而自动地生成。代理生成器将规范映射到将由基于代理的系统执行的一个或多个任务识别为典范概念的典范模型。代理生成器可以使用典范模型,生成一个或多个候选代理。候选代理可以包括一个或多个互连数据转换,其可以包括数据访问转换、预处理转换、机器学习转换和/或结构转换。代理生成器迭代地修改基于代理的系统,直到满足终止标准为止。终止标准可以提供选择机制,由此可以评价多个候选代理的性能。使用尤其是基于代理的系统的性能,可以选择最优代理。
Description
技术领域
本公开内容涉及用于自动地生成被配置成执行特定任务的基于代理的系统的系统和方法。
附图说明
从参考附图进行的优选实施例的下述详细描述,另外的方面和优点将是显而易见的,其中:
图1A是用于生成基于代理的系统的系统的一个实施例的框图;
图1B是计算设备的框图;
图2是包括多个转换(transform)和转换变形的数据结构的一个实施例的图;
图3是代理生成器的一个实施例的数据流图;以及
图4是用于自动地生成基于代理的系统的方法的一个实施例的流程图。
具体实施方式
代理或基于代理的系统可用来为用户执行任务,诸如数据处理、数据挖掘等等。如在此所使用的,“代理”或“基于代理的”系统可以是指被配置成执行数据处理任务的软件和/或硬件组件。同样地,代理可以包括但不限于:专家系统、语义智能系统、机器学习系统、数据挖掘系统、预测分析系统等等。
在一个或多个转换上可以包括代理。如在此所使用的,转换可以指与数据采集、数据处理、数据流(例如转换间的数据流)、数据分析等等有关的任何任务。因此,转换可以包括但不限于:数据采集、数据获取、数据融合、数据清洗、数据格式化、数据挖掘、机器学习、模式匹配、结果格式化等等。
开发基于代理的系统的过程可以包括选择、配置,和/或将各种转换组成适用于执行特定任务的一个或多个代理。一旦创建了(例如转换选择、配置和/或组合)基于代理的系统,可以测试和/或改进该系统。测试可以包括为基于代理的系统提供一个或多个数据集、评价由该系统响应于数据集而产生的结果,以及相应地修改该系统。数据集可以包括存在已知“答案”或所需结果的测试数据集。替选地,或者另外地,数据集可以包括“现实世界”数据。在一些实施例中,测试可以是迭代的;在每一迭代后,可以比较由基于代理的系统的不同变形产生的结果来识别该系统的“最优执行”模型。
如上所示,开发基于代理的系统可能是单调且耗时的,以及可能要求超过典型用户的技能。实际上,在许多情形下,开发基于代理的系统可能要求一个或多个“领域专家”(具有选择、组合、配置和/或改进包括基于代理的系统的转换所需的专业技能的人)的服务。
可以由典型用户(例如非专家用户)使用在此公开的系统和方法来自动地生成基于代理的系统。在一个实施例中,可以提供代理生成器(例如“元代理”),其能自主地生成基于代理的系统。可以将代理生成器配置成从用户接收“代理规范(agent specification)”,其可以定义由该系统解决的问题和/或数据源。可以通过将在规范中定义的任务映射到本体内的概念中,确定规范的典范模型。典范模型也可以包括在规范中识别的数据源和本体间的映射。
响应于导出规范的典范模型,可以将代理生成器配置成从转换集合选择一个或多个转换来形成基于代理的系统。可以迭代地评价和改进包括基于代理的系统的转换,直到确定“最优”系统为止。
图1A是用于自动地生成基于代理的系统的系统100的一个实施例的框图。在一些实施例中,系统100的一个或多个组件(例如元代理110、代理生成器130、模块120,122和/或124)可以在诸如图1B中所示的计算设备101的一个或多个计算设备上实现和/或与之结合实现。如图1B所示,计算设备101可以包括一个或多个处理器150、存储器模块152、计算机可读存储介质154、人机接口156、通信接口158等等。处理器150可以包括一个或多个通用处理器和/或一个或多个专用处理器(例如一个或多个专用集成电路(ASIC)处理器)。存储器模块152可以包括易失和/或非易失存储器存储资源。计算机可读存储介质154可以包括一个或多个盘、光存储、闪存模块等等。人机接口(HMI)156可以允许用户104与计算设备101交互,并且可以包括显示器、输入/输出设备(例如鼠标、键盘等等)等等。通信接口158可以包括被配置为将计算设备101可通信地耦合到一个或多个网络102的一个或多个适配器。通信接口158可以包括但不限于:有线网络接口(例如以太网)、光网络接口(例如光纤接口)、无线网络接口、公用交换电话网络(PSTN)接口(例如调制解调器)、蜂窝网络接口(例如3G网络接口)等等。
返回参考图1A,系统100包括元代理110,其可以通过网络102可通信地耦合到一个或多个外部数据源160和/或用户104。网络102可以包括本领域公知的任何通信网络,包括但不限于:互联网协议(IP)网络(例如传输控制协议IP网络(TCP/IP)等等)、局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、无线网络(例如IEEE802.11a-n,BluetoothEDGE,G3等等)、公用交换电话网(PSTN)、蜂窝电话网等等。
用户104可以经各自的计算设备(未示出)可通信地耦合到元代理模块110,各自的计算设备可以包括本领域公知的任何计算设备,包括但不限于个人计算设备(例如个人计算机(PC)等等)、移动计算设备(例如膝上型计算机、超便携计算机等等)、智能电话、个人数字助理等等。用户104可以经在用户计算设备上运行的诸如网络浏览器软件、远程通信网(Telnet)门户等等的通用应用程序(未示出),与元代理模块110交互。替选地,或者另外地,用户104可以经由元代理模块110提供的专用应用程序112,与元代理模块110交互。
如下文将更详细论述的,用户104可以向元代理模块110提交代理规范105,其可以指出用户104要求哪种类型的基于代理的系统:定义由该系统解决的问题(例如定义由该系统执行的任务),识别执行该任务所需的数据源,和/或指明如何格式化不同的输出。例如,规范105可以指出用户感兴趣识别在纽约证券交易所(NYSE)交易的、展示诸如“倒锤”模式、“倒杯”模式等等特定趋势的股票。规范105可以进一步指出用户104想将搜索限制到特定行业内的股票、具有特定市盈(PE)率的股票、具有特定市场资本的股票等等。在另一例子中,规范105可以指出用户104希望找出与诸如医疗条件的特定主题有关的内容。规范105可以将搜索空间限制到同行评审过,由具有特定证书(例如来自特定学校的证书,在特定期刊出版等等)、具有特定类型的技能的研究人员编辑的内容。
尽管在此提供规范105的两个非限制例子,本领域的技术人员将意识到规范105能够与本领域已知的感兴趣的任何主题或领域关联,以及能够适用于包括与本领域已知的感兴趣的特定主题和/或领域有关的任何限定词和/或参数。
元代理模块110可以根据规范105构建基于代理的系统。在从用户104接收规范105后,元代理模块110可以将规范105发送到代理生成器模块130,其可以被配置为从规范105导出典范模型。如下将论述的,典范模型可以包括规范105和本体134(如下讨述的)间的本体映射。使用典范模型,代理生成器130可以从转换集合中选择转换集,从其可以生成基于代理的系统。在一些实施例中,可以迭代地修改包括基于代理的系统的转换,直到确认最优基于代理的系统为止。
元代理110可以包括本体134,其可以用来开发规范105的典范模型,识别与从不同数据源160访问的数据161有关的概念,选择用于包含在基于代理的系统中的转换等等。如在此所使用的,本体,诸如本体134,可以指参考自然语言术语(例如概念)的含义和概念间的关系的知识的有组织集合。在一些实施例中,本体可以实现为具有由一个或多个边互连的多个顶点(例如节点)的图形数据结构。顶点可以指本体内的概念,以及互连顶点的边可以表示本体内的相关概念间的关系。可以结合计算设备,诸如图1B的计算设备101实现本体134,其可以被配置为使本体信息对其他模块和/或设备可用(例如经网络102)。本体134可以包括实现本体数据结构的计算机可读存储介质,包括但不限于:专用本体库(例如Allegro等等);数据库(例如结构化查询语言(SQL)数据库、可扩展标记语言(XML)数据库等等);目录(例如X.509目录、轻量级目录访问协议(LDAP)目录等等);文件系统、存储器;存储器映射文件等等。
在一些实施例中,本体134可以包括数据访问层(未示出),诸如应用编程接口(API)、远程访问协议(例如SOAP、RMI等等)等等。数据访问层可以提供对本体134的可编程访问和/或改进(例如使用语言,诸如语义应用设计语言(SADL)等等)。
本体134可以包括以适用于由代理生成器130自动处理的格式的预编译知识。例如可以以web本体语言(OWL或OWL2),资源描述格式(RDF)、资源描述格式架构(RDFS)等等格式化本体134。
可以由包括概念和概念间的关系的一个或多个知识源编译本体134。这些知识源可以包括但不限于百科全书、字典等等。在一些实施例中,本体134可以包括从诸如Wikipedia(San Francisco,CA的Wikimedia Corp的注册商标)、Encarta(Redmond,WA的Microsoft Corp的注册商标)等等的在线百科全书获得的信息。
在一些实施例中,本体134可以通过使用基于Web的爬行器、脚本等等爬过知识源的主题来生成。可以在本体134内将知识源中的每一资源(例如网页)表示为概念。通过知识源中的类别信息,诸如链接,可以提取边(例如概念间的关系)。例如,知识源可以包括到有关资料的链接;可以对特定概念(例如概念网页)内的每一链接创建边。
在一些实施例中,本体134可以包括来自多个不同知识源的信息。本体134可以是自适应的,由此可以响应于机器学习技术、用户反馈、基础知识源的改变等等来改变(例如强化、弱化、创建和/或移除)概念和/或概念间的关系。
在一些实施例中,本体134可以响应于输入到本体134中的知识和/或从用户(例如代理生成器模块130、用户104等等)接收的反馈,而随时间改变。另外,可以响应于用来生成本体134的一个或多个知识源的更新,来修改本体134。同样地,本体134可以包括更新机制(例如爬行器、脚本等等),以监视本体134潜在的一个或多个知识源,以及响应于在相应知识源中检测的变化来更新本体134。
本体映射模块136可以被配置成将数据(例如自然语言文本、数值数据等等)与相应的本体概念关联。相应地,映射模块136可以被配置成将数据161和/或代理规范105的一部分映射到本体134内的一个或多个概念。例如,与股票报价有关的数据161可以映射到本体134内的“股票报价”概念。在2009年8月3日提交的,名为“Systems andmethods for concept mapping”的共同未决U.S.专利申请No.12/534,676中提供了用于概念映射的系统和方法的例子,其全部在此引入以供参考。
如上所述,元代理模块110可以接收引导元代理模块110的规范105,以生成被配置成使用特定数据集来实现特定任务的基于代理的系统。可以将规范105发送到代理生成器模块130,其可以自主或半自主地生成能执行规范105的基于代理的系统。
代理生成器130可以被配置成由规范105导出典范模型。如上所述,典范模型可以指规范105和本体134间的本体映射。因此,典范模型可以识别与在规范105中定义的任务有关的概念。例如,如果规范105包括“识别展示过去6个月中‘倒杯’模型的生物工程公司股票”的指示,典范模型可以包括表示为本体134内的概念的逻辑组合(例如以公用代数规范语言格式,以公用逻辑格式(CLF)、以规则互换格式(RIF)、以OWL等等)的相应指示。典范模型也可以包括在规范内识别的数据源和本体134内的概念间的概念映射。例如,从识别股票行情数据的规范105导出的典范模型可以包括相应的“投票行情”概念映射。可以通过概念映射模块136,执行从规范105开发典范模型,概念映射模块136可以平衡上述概念映射技术。
使用典范模型,代理生成器130可以可编程地确定由规范105所需的基于代理的系统的属性。例如,代理生成器130可以包括指出在执行特定本体任务(例如模型匹配等等)时哪种机器学习转换有效的先验知识。类似地,代理生成器130可以已知在预处理某种数据时哪些转换有效。此外,典范模型可以允许代理生成器130识别和/或生成一个或多个性能度量,由此可以评价和/或彼此比较候选转换集(例如选择“最优”转换集,以包括在基于代理的系统中)。
代理生成器130可以使用在元代理模块110中可用的转换组件来构造候选的基于代理的系统,包括但不限于:获取模块120、集成模块122、机器学习模块124、本体134、和/或本体映射模块136。在一些实施例中,可以将代理生成器130配置成生成多个候选的基于代理的系统(各自包括候选转换集)以及从此选择“最优”基于代理的系统。选择可以基于测试和/或真实世界环境中的候选转换的性能。
获取模块120可以被配置成经网络102与一个或多个外部数据源160通信来由此获得数据161。外部数据源160可以包括本领域公知的任何数据源,包括但不限于:数据库,诸如结构查询语言(SQL)数据库,可扩展标记语言(XML)数据库等等;目录系统,诸如X.509目录、轻量级目录访问协议(LDAP)目录等等、分层和/或平面文件系统、空间分隔值(SDV)序列、自然语言内容(例如文本内容)、Web内容(例如格式化成超文本标记语言(HTML)数据的内容);分隔符分隔值;格式化数据(例如以便携式文档格式(PDF)的数据,作为MicrosoftWord Document等等)等等。
代理生成器130可以配置获取器120来访问基于由此构建的(例如,如在规范105中定义的)代理的系统所需的数据。获取器120可以被配置成从特定位置(例如从特定数据源160)访问数据、访问特定格式的数据、访问满足特定资格集的数据(例如由具有特定资格集的研究人员生成的)等等。例如,如果规范105要求处理特定类型数据(例如金融数据,诸如股票报价、赢利信息等等),代理生成器130可以配置获取模块120访问特定类型和/或来自适当数据存储的数据161(例如访问来自SEC数据库、股票报价提供者等等的金融数据)。
获取模块120能与不同类型的外部数据源160交互。例如,如果规范105要求经由互联网(例如经由网络102)可访问的数据,那么获取模块120可以提供Web爬行器来爬过由数据源160提供的一个或多个Web可访问存储位置(例如网站)。Web爬行器可以被配置成经由超文本传输协议(HTTP)、安全HTTP(HTTPS)、文件传输协议(FTP)、Telnet或由相应外部数据源160提供的任何其他协议和/或端口,与外部数据源160交互。获取模块120可以通过通信接口(未示出),诸如图1B的通信接口158,可通信地耦合到网络102。
在一些实施例中,获取器120可以被配置成确定描述数据161的元数据163的集。元数据163可以由集成模块122(如下所述)使用以解析数据161。元数据163可以由外部数据源160提供,可以由用户104提供,和/或可以由获取模块120自动确定。例如,外部数据源160可以公布描述由此提供的数据161的元数据163。获取模块120可以被配置成通过数据161访问元数据163。在另一例子中,用户104可以直接地访问外部数据源160,并且可以识别或者向获取模块120指出数据源160内的哪些项与用户104有关,提供数据类型和/或格式信息,指定解析指示等等(例如,经由接口应用程序112和/或作为浏览器应用程序的插件)。可以使用用户提供的信息来定义描述从数据源160获得的数据161的元数据163。替选地,或者另外地,由用户104提供的规范105(或由此导出的典范模型)可以提供有关由此导出元数据163的外部数据源160的信息。在一些实施例中,通过尤其将从外部数据源160获得的数据类型和/或其他信息映射到本体134内的概念,获取模块120可以自动地确定元数据163,如下所述。
集成模块122可以被配置成尤其使用元数据163来对从外部数据源160接收的数据161进行预处理。预处理可以包括识别数据161内的与基于代理的系统有关的数据(例如解析来自网页的相关数据)、验证数据161(例如基于数据类型信息)、移除损坏的数据、限定数据161(例如基于在规范105中定义的需求)、过滤数据161、清洗数据161等等。
由获取模块120采集并由集成模块122预处理的数据161可以存储在数据存储126中,其可以包括计算机可读存储介质,诸如一个或多个盘、光学介质、存储器存储等等。
机器学习模块124可以包括一个或多个机器学习算法125,其可以由代理生成器130使用来根据规范105生成代理。在一些实施例中,代理生成器130可以将由机器学习模块124提供的多个机器学习算法125汇编(或组合)成单一基于代理的系统。代理生成器130可以被配置成采用机器学习算法125来执行在规范105中定义的任务(例如,通过设置算法125参数,组合算法125等等)。
如上所讨论的,代理生成器模块130可以使用概念映射模块136和本体134,从规范105导出典范模型。使用典范模型,代理生成器130可以生成包括转换集(由获取器、集成器、和/或机器学习模块120、122和124提供)的基于代理的系统。包括基于代理的系统的转换可以根据典范模型来选择(例如可以选择转换来与模型中指定的数据交互,以实现模型中的任务等等)。
在一些实施例中,代理生成器模块130可以迭代地改进基于代理的系统,直到识别出“最优”转换集为止。迭代改进可以包括迭代地修改包括基于代理的系统的转换,直到满足终止标准为止(例如修改转换的配置、转换的排列、转换间的数据流等等)。修改可以进一步包括添加、移除、和/或替换一个或多个候选转换。
使用在典范模型中定义的性能或合理度量,可以识别“最优”转换集。合理度量可以量化在执行典范模型中定义的任务时,该转换集有多有效。优化过程可以包括“元机器学习技术”,可以包括但不限于:遗传算法、局部搜索、分布式局部搜索等等。
在优化过程期间,可以将一个或多个候选转换集的当前状态保留在代理数据存储132中。转换系统的当前状态可以指包括系统的转换的配置,包括但不限于:包括在系统中的候选转换集、转换配置参数、转换结构参数、转换结构,包括不同转换间的数据流、转换排序等等。
在一些实施例中,代理数据存储132可以将基于代理的系统表示为二维网格数据结构。网格中的每一行可以表示不同转换(数据访问转换、预处理转换、机器学习转换、结构转换等等)。每一行的列可以表示转换的变形(例如使用不同配置参数、阈值等等)。代理生成器130可以执行网格内的搜索来识别最优转换执行集。
图2示出了转换数据结构200的一个实施例。转换结构200能存储在图1A的代理数据存储132中,以由代理生成器130使用来产生“最优”基于代理的系统。数据结构200中的每一行210A-210J可以对应于特定转换。列212A-212G可以对应于转换的不同变形(例如,对转换的一个或多个参数的改进等等)。
如上所述,行210A-210J的转换可以对应于数据采集转换、数据预处理转换、算法转换和/或结构转换。尽管在此论述了特定转换集,但本公开内容不限于这一点;数据结构200能适用于包括本领域公知的任何数据转换集。
数据采集转换可以包括从数据源(例如图1A的外部数据源160)读取数据的指示。例如,数据采集转换可以包括从特定统一资源定位符(URI)地址的数据源读取N条特定类型的记录的指令。
数据结构200可以包括一个或多个预处理转换,其可以与从一个或多个数据源获得的数据的预处理有关。例如,预处理转换可以包括但不限于:从特定数据集选择特定数据的选择转换;基于一个或多个过滤标准,过滤一个或多个数据集的过滤转换;由一个或多个数据集创建新的数据的衍生转换;将两个或多个数据集组成单一集的聚集和/合并转换;将数据集重新格式化成特定标准格式的标准化转换等等。
可以在数据结构200内表示机器学习转换。如上所讨论的,机器学习转换可以执行实现在代理规范中定义的任务所需的数据分析和处理算法(例如识别股票报价集内的“倒杯”模式)。例如,数据结构200的行210A-210J可以表示决策树算法,诸如分类回归树(CART)、多元自适应回归样条(MARS)、C4.5决策树等等。另一行210A-210J可以表示聚类算法,诸如K-平均值算法、Kohonen算法等等。其他行210A-210J可以对应于其他机器学习转换,包括但不限于贝叶斯分类器(例如朴素贝叶斯算法);神经网络算法(例如反向传播神经网络);遗传算法、K近邻算法等等。
结构转换可以与在数据结构200中表示的转换间的数据流有关。例如,一个或多个结构转换可以使第一数据采集转换的输出流向预处理转换的输入,以及可以使预处理转换的输出流向机器学习转换的输入等等。
数据结构200中的每一行210A-210J的列212A-212G可以包括各自转换的变形。列212A-212G可以改变转换的参数、对转换的输入、其他转换的排列等等。例如,行210A的转换可以包括被配置成从一个或多个数据源获得数据的数据采集转换(由图1A的获取模块120执行)。行210A的列212A-212G可以改变发生获取、修改在不同数据源获得的数据等等的统一资源定位符(URI)。可以以类似的方式改变其他转换。例如,可以根据合并的特定数据集字段、合并的属性(例如平均、均方等等)等等,改变“合并”数据预处理转换。可以通过修改不同算法转换的参数、修改输入到转换中的数据集、修改哪些数据集特征输入到转换中、修改应用于转换的阈值等等,改变机器学习转换。
可以根据与相应转换有关的特定列212A-212G,修改数据结构200内的转换的每一个(例如行210A-210J)。用这种方式,代理生成器,诸如图1的代理生成器130,可以变更一个或多个转换来根据特定规范优化代理。在一些实施例中,在数据结构200中可用的转换间的变更可以表示为转换本身。这些转换可以称为结构转换。如上所述,结构转换可以定义哪些转换将组合到特定代理,可以确定代理间的数据流,可以确定如何排列转换(例如排序处理)等等。例如,结构转换可以指出特定转换的输出应当流向另一转换的输入。例如,“获取数据”转换的输出能流向“合并”转换来预处理该数据,以及“合并”转换的输出能流向机器学习转换(例如K近邻转换等等)等等。其他结构转换(“突变”结构转换)可以要求移除或增加数据结构200中的其他转换、用第二转换代替第一转换等等。
再参考图1A,代理生成器130可以被配置成为代理数据存储132提供根据由规范105导出的典范模型选择的候选转换集。候选转换可以在如上所述的网格数据结构中的代理数据存储内表示。代理生成器130可以在数据结构200内搜索“最优”转换集。在一些实施例中,搜索可以包括代理生成器130响应于测试,迭代地修改候选转换。
参考图2,由代理生成器130执行的搜索可以包括迭代地修改210A-210J的转换的参数和/或转换的各自的参数212A-212G并相对于测试和/或现场数据集测试最终基于代理的系统。在一些实施例中,可以将转换修改形象化为遍历网格数据结构(例如在一个或多个转换(行210A-210J)的列212A-212G内移动)。例如,可以根据修改矢量214,修改转换210D的特定版本212D以使用转换210D的变形212B。替选地,或者另外地,可以在数据结构200内迭代地增加、移除,和/或替换转换(例如通过根据“变更”结构转换,在数据结构200的行210A-210J中增加、移除或替换转换)。例如,修改216可以用另一转换210B替换特定转换210D。可以将转换的修改和/或转换替换的属性形象化为对数据结构200局部搜索。给定数据结构200的属性,可以在数据结构200的不同部分内同时执行几个独立的、平行优化搜索。因此,代理生成器(未示出)的优化过程可以高度平行化。
在每一修改后,可以评价最终转换集的性能。评价可以包括将“适应”函数应用于由转换集产生的结果(根据用户定义的性能标准)。迭代修改可以继续,直到找到“最优执行”基于代理的系统。然而,选择“最优”基于代理的系统的过程可以具有非封闭式解决方案。事实上,对汇编基于代理的系统的一般问题,不一定可能定义能识别最优解决方案的条件或封闭式方程。同样地,使用标准、封闭式计算技术(例如线性编程等等),不一定可能选择最优转换集。因此,可以配置代理生成器130来使用非线性技术,诸如局部搜索、遗传算法,生成和测试、线搜索、Nelder-Mead单纯性、梯度下降、Lagrange等等来选择最优转换集。优化技术可以自适应以避免局部极大/极小、最小化处理时间(例如避免颠簸),避免不收敛等等。
图3是由代理生成器330,诸如图1A的代理生成器130,的一个实施例执行的数据流图。代理生成器330包括编程模块310,其可以被配置成执行优化功能。代理生成器330(包括编程和/或翻译模块310和320)可以在计算设备上和/或与计算设备结合实现。因此,部分代理生成器330可以实现为实现在计算机可读存储介质(未示出)上的计算设备可执行指令。
编程模块310可以包括非线性优化过程,诸如遗传编程过程、进化编程过程、局部搜索、生成和测试编程过程、线搜索编程过程、Nelder-Mead单纯性过程等等。
编程模块310可以接收典范建模数据311,如上所述,其可以包括代理规范和本体间的本体映射。典范建模数据311可以进一步包括与将由基于代理的系统处理的一个或多个数据集有关的信息(例如识别对应于数据的本体概念)。在一些实施例中,典范模块311数据可以使用本体映射模块,诸如图1A的本体映射模块136,来确定。
编程模块310也可以接收功能模型数据312,其可以包括对编程模块310可用的一个或多个转换,诸如由图1A的获取器、集成和机器学习模块120、122和124提供的数据处理转换、机器学习算法转换、结构转换等等。在一些实施例中,功能模型数据312可以表示为数据结构,诸如图2的数据结构200。
编程模块310使用典范建模数据311和功能模型312,生成一个或多个候选代理。候选的基于代理的系统可以包括互连的转换集。候选的基于代理的系统的性能可以使用适宜度量313来评价。适宜度量可以包括在和/或由典范模型311导出。例如,如果典范模型311定义将由基于代理的系统执行的任务,适宜度量313可以在实现任务时,量化候选的基于代理的系统的性能或“适宜性”(例如量化系统来识别“倒杯”股票模式的能力)。在一些实施例中,可以相对于一个或多个训练数据集,评价适宜度量313。训练数据可以包括已知“正确”结果集的数据。适宜度量313可以与由候选的基于代理的系统获得的“正确”结果的数量成正比。在其他实施例中,可以使用现实世界数据。在这种情况下,候选代理性能评价可以基于候选代理的错误率,如由第三方数据源、人工操作者等等确定。适宜度量313可以包括效率度量,其可以量化由每一候选代理所需的计算资源(例如量化实现每一候选代理所需的处理时间和/或计算资源)。
可以由编程模块310使用算法参数集314来修改由一个或多个候选代理使用的转换。算法参数314可以存储在代理数据存储中,诸如图1A的代理存储模块132(例如在二维网格数据结构200中)。算法参数314可以与候选转换的任何修改有关,包括但不限于:修改读取数据的位置(例如URI);修改预处理指令(例如过滤规则、数据清洗等等);修改转换排列(例如转换选择、排序、数据流等等);修改机器学习算法参数(例如阈值、权重等等);修改转换间的结构关系;增加、移除、和/或替换转换等等。
在一些实施例中,对编程模块310可用的算法参数314可以通过用来执行基于代理的系统的转换的能力来确定(例如通过功能模型数据312)。例如,功能模型数据312可以指出可以修改特定转换的哪些参数,提供修改阈值等等。
编程模块310可以进一步接收终止标准315。如上所述,识别最优基于代理的系统可以是具有非封闭式解决方案的迭代过程。同样地,对编程模块310来说,得知何时达到最优解决方案可能是困难的(例如与局部极大/极小等等相对)。终止标准315可以定义编程模块310何时停止迭代搜索“最优”基于代理的系统。例如,终止标准315可以指定“最优”系统的适宜阈值(例如训练集和/或实时数据的最小误差、迭代计数等等)。在一些实施例中,终止标准315可以包括迭代计数,以限制由编程模块310研究的置换数。在其他实施例中,终止标准315可以包括如果连续迭代未显著地改进代理的性能而终止搜索的改进率度量。这种终止标准315可以包括局部极小和/或局部极大检测。
编程模块310可以使用输入311、312、313、314和315来搜索最优代理输入316。如上所述,编程模块310可以使用多个不同过程的任何来确定最优代理316。在下文中,更详细地描述这些过程的例子。
编程模块310的输出316可以包括基于代理的系统,其能执行在典范模型输入311中定义的任务。最优代理输出316可以包括可由计算系统,诸如通用计算系统(例如个人计算系统等等)、专用计算系统(例如基于专用集成电路(ASIC)的计算系统、基于现场可编程门阵列(FPGA)的计算系统等等)、移动计算系统等等,执行的转换集。
在一些实施例中,最优代理输出316可以流向翻译模块320,其可以被配置成将代理输出316翻译成最优代理的翻译321,其可以被配置成可由特定类型的计算设备执行。例如,最优代理316可以翻译成计算设备可执行代码(例如汇编代码)。翻译321可以适用于由特定类型的计算设备(例如X.86处理器、特定类型的RISC处理器、特定类型的ASIC等等)执行。在一些实施例中,最优代理316的翻译321可以包括能由多个计算设备执行的多个计算机可执行模块(例如在分布式计算环境中,诸如网格计算环境等等)。例如,翻译321可以包括可由一个或多个J2EE服务器等等执行的多个Enterprise Java Beans(EJB)。
在一些实施例中,翻译321可以用可以由另一计算设备使用(解释)的计算设备可解释语言来实现。例如,最优代理316可以表示为定义基于代理的系统的XML数据结构(例如定义包括该系统的转换、转换的配置、数据流和/或转换的排序等等)。翻译321中的数据结构可以由另一计算设备(未示出)解释来实现由此定义的基于代理的系统。因此,由翻译模块320产生的翻译321可以包括可由被配置成解释数据结构的多个不同的计算设备解释的中间语言,以生成和/或获得对应于数据结构内的转换的计算设备可执行代码,以及实现由数据结构定义的代理。
尽管图3中未示出,但可以在计算机可读存储介质(未示出),诸如数据库,中存储最优代理输出和/或翻译321。用这种方式,可使最优代码316及其翻译321稍后对一个或多个用户和/或计算设备可用。类似地,经诸如图1A的网络102的数据通信网络,可以将最优代理输出316和/或及其翻译321传送到一个或多个用户,以一个或多个用户和/或远程计算设备使用。
图4是用于生成基于代理的系统的方法的一个实施例的流程图。方法400可以由诸如图3的编程模块310的编程模块和/或诸如图1A的代理生成器130的代理生成器来执行。方法400可以包括一个或多个计算机可执行指令。包括方法400的指令可以实现为一个或多个不同的软件模块。指令和/或软件模块可以实现在计算机可读存储介质上,诸如盘、光存储介质、存储器等等。在一些实施例中,方法400的一个或多个步骤可能依赖于特定机器组件,诸如计算机可读存储介质、通信接口、处理模块等等。
在步骤405,可以初始化方法400,其可以包括从计算机可读存储介质加载包括方法400的指令,为过程400分配资源,初始化分配的资源等等。
在步骤410,方法400可以接收请求,以生成代理系统。步骤410的请求可以包括规范,诸如图1A的规范105。规范可以由人工用户生成和/或可以响应于用户请求(例如搜索查询等等)而由另一过程和/或计算设备自动生成。规范可以标识将由基于代理的系统执行的一个或多个任务。替选地,或者另外地,规范可以标识将由基于代理的系统处理的一个或多个数据源和/或数据类型。
在步骤420,可以将在请求中标识的任务和/或数据映射到上述本体内的一个或多个概念。映射可以包括将请求内的一个或多个术语与本体内的一个或多个概念比较。在一些实施例中,映射可以进一步包括使用激活扩散算法等等,消除候选概念间的歧义。
在步骤425,在步骤420识别的概念可以用来形成请求的典范模型。典范模型可以包括在步骤410接收的代理规范的本体表示。在一些实施例中,在步骤410接收的请求可以包括典范模型。例如,可以以本体格式,诸如CLF、RIF、OWL等等,来提供请求。假如这样的话,可以省略映射和模拟步骤420和425。另外,如果典范模型指不同本体,可以包括翻译步骤,其可以将请求中的典范模型翻译成由方法400使用的本体。
在步骤430,可以选择包括基于代理的系统的候选转换集。可以使用在步骤425确定的典范模型,来选择包括基于代理的系统的候选转换。(例如,可以根据在典范模型425中定义的任务、模型425中规定的数据类型等等,来选择转换)。步骤430的选择可以基于在执行任务和/或处理在典范模型中指定的数据类型时哪些转换很可能有效的先验知识。例如,如果典范模型要求组分类,那么基于代理的系统可能包括朴素贝叶斯机器学习转换。
在步骤430选择的候选转换可以表示为互连转换集(例如在网格数据结构中,诸如图2的数据结构200)。可以通过下述操作,完成对以图形形式表示的基于代理的系统的改进:修改图中的特定转换(例如修改转换的参数等等);修改转换间的关系(例如改变图内的转换顺序等等);增加和/或从图中移除转换;或任何其他基于图或网格的操作。
如上所述,在步骤430选择候选转换可以平衡表示为一个或多个规则的存储专家知识。例如,专家知识可以指出特定机器学习算法(例如转换)在处理特定数据类型时和/或执行特定任务类型时有效。方法400可以将典范模型与该专家知识相比较,以识别很可能产生有效的基于代理的系统的一个或多个转换。
在步骤440,在步骤430定义的候选转换集可以用来识别最优代理。同样地,在步骤440,方法400可以在候选转换的一个或多个变形上迭代。步骤440的迭代可以是非线性、诸如遗传算法的元机器学习算法、进化编程方法等等的一部分。因此,步骤440至448的一个迭代可以包括候选转换的单一“生成”。如下文所讨论的,步骤440-448的每一迭代可以导致修改(例如变更)一个或多个候选转换。该修改可以导致更好执行的基于代理的系统。
步骤440至448的不同迭代和/或修改可以彼此无关。同样地,经步骤440-448的结果迭代可以是高度平行的。因此,在一些实施例中,在特定计算设备内的分布式处理器上,在多个分布式计算系统上等等,使用平行线程(在单核和/或多核处理器上),可以并发执行步骤440-448的多个迭代。
在步骤442,可以评价每一候选转换集的性能。如上所讨论的,性能评价可以包括为基于代理的系统(包括候选转换集)提供输入数据集,以及评价由此提供的结果。候选系统的性能可以与系统的能力有关,以便执行在典范模型中定义的任务(例如基于候选转换的误差率)。数据可以包括存在已知解答的测试数据集。在其他实施例中,步骤442的性能评价可以包括将现实世界、“处理中”数据应用于代理,以及确定其误差率(例如使用第三方服务、另一基于代理的系统、人工操作者等等)。
在步骤444,方法400可以确定是否应当保留特定候选转换集。在采用具有固定候选族群的算法的实施例中(例如遗传和/或进化过程),可以在多个迭代440上保留该族群的一个或多个高执行构件。这可以允许高执行候选变更多次,同时防止方法400变为“卡”在局部极小上。与生成中的其他候选相比,可以在随机基础上和/或基于候选的性能,保留另外的候选。在步骤444,如果应当保留候选,那么流程可以继续到步骤445,其中,该过程可以保留候选,用于进一步处理(例如通过将候选存储在数据结构中,标记与候选有关的数据结构中的字段等等);否则,可以删除该候选。
在步骤446,可以评价终止标准来确定是否继续步骤440的迭代。如上所讨论的,迭代步骤440-448可以包括指出何时过程400应当停止查找日益增加的最优结果的终止标准。终止标准可以与最大迭代数、目标性能阈值、改变率度量、导出度量等等关联。如果满足终止标准,流程可以继续到步骤450;否则,流程可以继续到步骤448。
在步骤448,可以根据由过程400实现的算法,修改(例如变更)当前候选转换集。变更可以包括执行上述的基于网格的修改(例如执行在图2的数据结构200内定义的变形)。在一些实施例中,可以在候选库中保留原始(未变更的)候选转换集(或其记录)。这也可以允许在方法400确定当前转换集是“最优”的情况下,重构原始的、未变更的候选转换集。
在一些实施例中,步骤448的修改可以包括遍历图2的网格数据结构200。如上所讨论的,在一些实施例中,可以将候选转换集实现为转换的网格,行表示转换,列表示转换变形。步骤448的修改可以包括通过选择数据结构200内的替选列来选择多个转换的变形,通过选择数据结构200内的替选行来选择不同转换类型。以上结合图2,描述了这些修改的例子。
在其他实施例中,可以在另一数据结构,诸如互连图中,表示基于代理的系统,其中,转换表示为顶点和通过图边的数据流。在这些实施例中,步骤448的修改可以包括但不限于:将新变换增加到图中(例如作为新图顶点);从图中移除转换(例如移除顶点);增加和/或取代图中的顶点;修改图内的顶点顺序;修改顶点连接等等。其他转换可以包括通过修改图顶点来修改转换的参数。
步骤448可以强加定义可以对候选转换作出哪些变换的前提。例如,某些结构修改可能导致不可行的代理(例如移除所有“获取”数据步骤、将不兼容的转换连续地放置等等)。因此,方法400可以包括一个或多个前提,其可以确定可以对候选转换集作出那些修改而哪些不可以。另外,步骤448可以包括确认步骤,其中,修改的候选转换被确认为形成可操作的基于代理的系统。
在步骤448的修改后,流程可以继续到步骤440,其中,迭代可以继续。
在步骤450,步骤440-448的迭代可以终止。响应于该终止,方法400可以从剩余的候选(或先前记录的候选转换),选择“最优”候选转换集。“最优”候选可以是最高执行候选(例如根据一个或多个适宜度量,具有最高性能的候选)。在一些实施例中,其他因素也可以用在确定哪一候选是“最优”的。例如,可以评价基于代理的系统的大小和/或计算复杂度。相对于类似的执行更大和/或更计算昂贵的系统,可以将更简单和/或更快速的基于代理的系统视为更优的。
在步骤445,可以存储被选的基于代理的系统,以便由一个或多个用户和/或外部过程使用。另外,如上所讨论的,可以将被选的代理翻译成可由一个或多个用户和/或外部过程使用的格式。在步骤460,流程可以终止。
上述描述对全面理解在此所述的实施例提供了许多具体的细节。然而,本领域的技术人员将意识到可以省略一个或多个具体细节,或者可以使用其他方法、组件或材料。在一些情况下,并未详细地示出或描述操作。
此外,在一个或多个实施例中,可以以任何适当的方式结合所述的特征、操作或特性。易于理解的是,如对本领域的技术人员显而易见的,可以改变结合在此所公开的实施例所述的方法的步骤或动作的顺序。因此,附图或具体实施方式中的任何顺序将仅是示例目的,而且不意指所需的顺序,除非具体要求顺序。
实施例可以包括不同步骤,其可以实现在将由通用或专用计算机(或其他电子设备)执行的机器可执行指令中。另外,可以由包括用于执行步骤的特定逻辑的硬件组件,或通过硬件、软件和/或固件的组合,来执行步骤。
实施例也可以提供为计算机程序产品,包括计算机可读存储介质,在其上存储可以用来编程计算机(或其他电子设备)来执行在此所述的过程的指令。计算机可读存储介质可以包括但不限于:硬盘、软盘、光盘、CD-ROM、DVD-ROM、ROM、RAM、EPROM、、EEPROM、磁性或光学卡、固态存储设备或适用于存储电子指令的其他类型的介质/机器可读介质。
如在此所使用的,软件模块或组件可以包括位于存储设备内和/或作为电子信号经系统总线或有线或无线网络传输的任何类型的计算机指令或计算机可执行代码。软件模块可以例如包括计算机指令的一个或多个物理或逻辑块,其可以组织成执行一个或多个任务或实现特定抽象的数据类型的例程、程序、对象、模块、数据结构等等。
在某些实施例中,特定软件模块可以包括在存储设备的不同位置中存储的完全不同的指令,其一起实现模块的所需功能性。当然,模块可以包括单一指令或若干指令,并且可以分布在多个存储设备上、不同程序中、几个不同代码段上。一些实施例可以在分布式计算环境中实施,其中,可以由通过通信网络链接的远程处理设备执行任务。在分布式计算环境中,软件模块可以位于本地和/或远程存储设备中。另外,在数据存储记录中结合或一起再现的数据可以驻留在同一存储设备中,或在几个存储设备上,以及可以在网络上的数据库中的记录的字段中链接在一起。
本领域的技术人员将理解,在不背离公开内容的基本原理的情况下,可以对上述实施例的细节做出许多改变。
Claims (18)
1.一种用于生成基于代理的系统的装置,包括:
计算设备,包括处理器和计算机可读存储介质;
代理生成器,被实现在计算机可读存储介质上并且在所述处理器上可操作,所述代理生成器被配置成接收代理规范;以及
本体映射模块,被实现在所述计算机可读存储介质上并且在所述处理器上可操作,所述本体映射模块被配置成从所述代理规范导出典范模型,其中所述典范模型包括在所述代理规范和本体之间的映射,所述本体包括多个互连的概念,每个概念与一个或多个相关概念相关联;
其中,所述代理生成器被配置成:使用所述典范模型来生成包括多个候选转换的基于代理的系统,通过向所述多个候选转换中添加一个或多个转换的操作以及从所述多个候选转换中移除一个或多个转换的操作中的一个或多个操作来迭代地修改包括所述基于代理的系统的候选转换直到满足终止标准为止,以及响应于满足所述终止标准从所述多个候选转换选择候选转换集。
2.如权利要求1所述的装置,其中,所述多个候选转换包括被配置成从网络可访问数据源获取数据的数据采集转换。
3.如权利要求2所述的装置,其中,所述多个候选转换包括被配置成对从所述网络可访问数据源所访问的数据进行预处理的集成转换。
4.如权利要求1所述的装置,其中,所述多个候选转换包括被配置成处理数据集来产生结果的机器学习转换。
5.如权利要求4所述的装置,其中,所述代理生成器被配置成使用所述结果来确定所述多个候选转换的适宜度量。
6.如权利要求5所述的装置,其中,所述数据集包括具有已知结果的测试数据集,以及其中,所述多个候选转换的所述适宜度量基于所述已知结果与由所述多个候选转换产生的结果的比较。
7.如权利要求5所述的装置,其中,所述数据集包括从网络可访问数据源所访问的数据,以及其中,所述多个候选转换的所述适宜度量基于由所述多个候选转换产生的结果与由第三方提供的结果的比较。
8.如权利要求7所述的装置,其中,所述第三方是人工操作者。
9.如权利要求5所述的装置,其中,所述终止标准包括适宜度量阈值。
10.如权利要求5所述的装置,其中,所述终止标准包括适宜度量改变阈值。
11.如权利要求1所述的装置,其中,所述终止标准包括迭代限度。
12.如权利要求1所述的装置,其中,所述候选转换被表示在网格数据结构内,以及其中,修改所述候选转换包括遍历所述网格数据结构。
13.如权利要求12所述的装置,其中,所述候选转换的每一个被表示为所述网格数据结构中的行,其中,每一行包括多个列,每一列表示相应转换的变形,以及其中,修改所述候选转换包括遍历网格列。
14.如权利要求13所述的装置,其中,修改所述候选转换包括遍历行,以及其中,遍历行以第二候选转换替换所述多个候选转换中的第一候选转换。
15.一种由计算设备执行的方法,所述方法用于构造基于代理的系统,所述计算设备包括处理器和存储器,所述方法包括:
通过将在代理规范中定义的任务映射到存储在被实现在计算机可读存储介质上的本体中的一个或多个本体概念,从所述代理规范导出典范模型,其中所述本体被实现为包括多个互连的概念的图,每个概念通过一个或多个图边与一个或多个相关概念相关联;
使用所述典范模型选择候选转换集,所述候选转换集被配置成执行在所述代理规范中定义的任务;
迭代地修改所述候选转换集,以产生多个替选的候选转换集,直到满足终止标准为止,其中,所述替选的集中的每一个被配置成执行在所述代理规范中定义的任务,以及其中,所述替选的集中的每一个被赋予相应的适宜度量,其中修改所述候选转换集包括向所述候选转换集添加一个或多个转换的操作以及从所述候选转换集移除一个或多个转换的操作中的一个或多个操作;以及
响应于满足所述终止标准,使用所述替选候选转换集中的所选择的一个,生成基于代理的系统。
16.如权利要求15所述的方法,其中,所选择的一个候选转换集包括被配置成从网络可访问数据源获取数据的数据采集转换以及被配置成执行在所述代理规范中定义的任务的机器学习转换。
17.如权利要求15所述的方法,其中,所选择的一个候选转换集被表示为互连的候选转换的图,其中,所述图互连定义所述候选转换集间的数据流,以及其中,迭代修改所述候选转换集包括迭代地结构上修改所述图互连。
18.如权利要求15所述的方法,其中,所选择的一个候选转换集被表示在网格数据结构内,其中,所述候选转换的每一个由网格行表示,以及所述候选转换的每一个的变形由相应网格列表示,以及其中,迭代修改所述候选转换集包括迭代遍历所述网格数据结构。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10266508P | 2008-10-03 | 2008-10-03 | |
US61/102,665 | 2008-10-03 | ||
PCT/US2009/059527 WO2010040125A1 (en) | 2008-10-03 | 2009-10-05 | Systems and methods for automatic creation of agent-based systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102089757A CN102089757A (zh) | 2011-06-08 |
CN102089757B true CN102089757B (zh) | 2014-09-03 |
Family
ID=42073933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980126895.0A Expired - Fee Related CN102089757B (zh) | 2008-10-03 | 2009-10-05 | 基于代理的系统的自动创建的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8412646B2 (zh) |
EP (1) | EP2332066A4 (zh) |
CN (1) | CN102089757B (zh) |
AU (1) | AU2009298151B2 (zh) |
CA (1) | CA2726729C (zh) |
WO (1) | WO2010040125A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8719770B2 (en) * | 2010-09-09 | 2014-05-06 | International Business Machines Corporation | Verifying programming artifacts generated from ontology artifacts or models |
CN102195899B (zh) * | 2011-05-30 | 2014-05-07 | 中国人民解放军总参谋部第五十四研究所 | 通信网络的信息挖掘方法与系统 |
WO2013067242A1 (en) * | 2011-11-02 | 2013-05-10 | ThinkVine Corporation | Agent awareness modeling for agent-based modeling systems |
US9070135B2 (en) | 2011-11-02 | 2015-06-30 | ThinkVine Corporation | Agent generation for agent-based modeling systems |
US8812411B2 (en) | 2011-11-03 | 2014-08-19 | Microsoft Corporation | Domains for knowledge-based data quality solution |
US20130117202A1 (en) * | 2011-11-03 | 2013-05-09 | Microsoft Corporation | Knowledge-based data quality solution |
US9274772B2 (en) * | 2012-08-13 | 2016-03-01 | Microsoft Technology Licensing, Llc. | Compact type layouts |
US9038157B1 (en) | 2014-02-09 | 2015-05-19 | Bank Of America Corporation | Method and apparatus for integrating a dynamic token generator into a mobile device |
US20170366443A1 (en) * | 2016-06-16 | 2017-12-21 | The Government Of The United States Of America, As Represented By The Secretary Of The Navy | Meta-agent based adaptation in multi-agent systems for soa system evaluation |
US11093841B2 (en) | 2017-03-28 | 2021-08-17 | International Business Machines Corporation | Morphed conversational answering via agent hierarchy of varied granularity |
CN108200567B (zh) * | 2018-01-18 | 2021-04-16 | 浙江大华技术股份有限公司 | 一种设备发现方法及设备 |
EP3746890A4 (en) * | 2018-03-26 | 2021-12-08 | Balanced Media Technology, LLC | ABSTRACTED INTERFACE FOR GAMIFICATION OF MACHINE LEARNING ALGORITHMS |
US10225277B1 (en) * | 2018-05-24 | 2019-03-05 | Symantec Corporation | Verifying that the influence of a user data point has been removed from a machine learning classifier |
WO2020005922A1 (en) * | 2018-06-25 | 2020-01-02 | Walmart Apollo, Llc | System and method for a dynamic resource allocation engine |
US10997503B2 (en) * | 2019-06-20 | 2021-05-04 | Google Llc | Computationally efficient neural network architecture search |
US20210103827A1 (en) * | 2019-10-07 | 2021-04-08 | International Business Machines Corporation | Ontology-based data storage for distributed knowledge bases |
US11687710B2 (en) * | 2020-04-03 | 2023-06-27 | Braincat, Inc. | Systems and methods for cloud-based productivity tools |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6449603B1 (en) * | 1996-05-23 | 2002-09-10 | The United States Of America As Represented By The Secretary Of The Department Of Health And Human Services | System and method for combining multiple learning agents to produce a prediction method |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2005A (en) * | 1841-03-16 | Improvement in the manner of constructing molds for casting butt-hinges | ||
US5867725A (en) | 1996-03-21 | 1999-02-02 | International Business Machines Corporation | Concurrent multitasking in a uniprocessor |
AU6754800A (en) | 1999-08-02 | 2001-02-19 | Reticular Systems, Inc. | Integrated system and method of creating intelligent agents |
GB9923340D0 (en) | 1999-10-04 | 1999-12-08 | Secr Defence | Improvements relating to security |
US7757271B2 (en) * | 2000-04-19 | 2010-07-13 | Hewlett-Packard Development Company, L.P. | Computer system security service |
JP3729064B2 (ja) * | 2000-11-29 | 2005-12-21 | 日本電気株式会社 | データ依存関係検出装置 |
US7581170B2 (en) | 2001-05-31 | 2009-08-25 | Lixto Software Gmbh | Visual and interactive wrapper generation, automated information extraction from Web pages, and translation into XML |
US7225183B2 (en) * | 2002-01-28 | 2007-05-29 | Ipxl, Inc. | Ontology-based information management system and method |
CA2475267C (en) * | 2002-02-04 | 2014-08-05 | Cataphora, Inc. | A method and apparatus for sociological data mining |
US20030196108A1 (en) * | 2002-04-12 | 2003-10-16 | Kung Kenneth C. | System and techniques to bind information objects to security labels |
US7574652B2 (en) * | 2002-06-20 | 2009-08-11 | Canon Kabushiki Kaisha | Methods for interactively defining transforms and for generating queries by manipulating existing query data |
US7134022B2 (en) * | 2002-07-16 | 2006-11-07 | Flyntz Terence T | Multi-level and multi-category data labeling system |
US20040153908A1 (en) * | 2002-09-09 | 2004-08-05 | Eprivacy Group, Inc. | System and method for controlling information exchange, privacy, user references and right via communications networks communications networks |
US7711670B2 (en) * | 2002-11-13 | 2010-05-04 | Sap Ag | Agent engine |
US7761480B2 (en) * | 2003-07-22 | 2010-07-20 | Kinor Technologies Inc. | Information access using ontologies |
CA2459004A1 (en) * | 2004-02-20 | 2005-08-20 | Ibm Canada Limited - Ibm Canada Limitee | Method and system to control data acces using security label components |
US7809548B2 (en) | 2004-06-14 | 2010-10-05 | University Of North Texas | Graph-based ranking algorithms for text processing |
US20050289342A1 (en) * | 2004-06-28 | 2005-12-29 | Oracle International Corporation | Column relevant data security label |
US7823123B2 (en) * | 2004-07-13 | 2010-10-26 | The Mitre Corporation | Semantic system for integrating software components |
US7831570B2 (en) * | 2004-12-30 | 2010-11-09 | Oracle International Corporation | Mandatory access control label security |
US7992134B2 (en) * | 2005-04-29 | 2011-08-02 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Systems, methods and apparatus for modeling, specifying and deploying policies in autonomous and autonomic systems using agent-oriented software engineering |
US8024653B2 (en) * | 2005-11-14 | 2011-09-20 | Make Sence, Inc. | Techniques for creating computer generated notes |
US20080127146A1 (en) * | 2006-09-06 | 2008-05-29 | Shih-Wei Liao | System and method for generating object code for map-reduce idioms in multiprocessor systems |
US20080222634A1 (en) * | 2007-03-06 | 2008-09-11 | Yahoo! Inc. | Parallel processing for etl processes |
JP4973246B2 (ja) * | 2007-03-09 | 2012-07-11 | 日本電気株式会社 | アクセス権管理システム、サーバ及びアクセス権管理プログラム |
US20080294624A1 (en) * | 2007-05-25 | 2008-11-27 | Ontogenix, Inc. | Recommendation systems and methods using interest correlation |
US8010567B2 (en) * | 2007-06-08 | 2011-08-30 | GM Global Technology Operations LLC | Federated ontology index to enterprise knowledge |
US7792836B2 (en) * | 2007-06-17 | 2010-09-07 | Global Telegenetics, Inc. | Portals and doors for the semantic web and grid |
US20080086436A1 (en) * | 2007-08-01 | 2008-04-10 | Dr. Ying Zhao | Knowledge pattern search from networked agents |
US8280892B2 (en) * | 2007-10-05 | 2012-10-02 | Fujitsu Limited | Selecting tags for a document by analyzing paragraphs of the document |
US20090254540A1 (en) * | 2007-11-01 | 2009-10-08 | Textdigger, Inc. | Method and apparatus for automated tag generation for digital content |
US8285748B2 (en) * | 2008-05-28 | 2012-10-09 | Oracle International Corporation | Proactive information security management |
US8589333B2 (en) * | 2008-08-19 | 2013-11-19 | Northrop Grumman Systems Corporation | System and method for information sharing across security boundaries |
US8234693B2 (en) * | 2008-12-05 | 2012-07-31 | Raytheon Company | Secure document management |
US9244981B2 (en) * | 2008-12-30 | 2016-01-26 | Oracle International Corporation | Resource description framework security |
US9430570B2 (en) * | 2009-07-01 | 2016-08-30 | Matthew Jeremy Kapp | Systems and methods for determining information and knowledge relevancy, relevant knowledge discovery and interactions, and knowledge creation |
US9038168B2 (en) * | 2009-11-20 | 2015-05-19 | Microsoft Technology Licensing, Llc | Controlling resource access based on resource properties |
US8887163B2 (en) * | 2010-06-25 | 2014-11-11 | Ebay Inc. | Task scheduling based on dependencies and resources |
-
2009
- 2009-10-05 US US12/573,573 patent/US8412646B2/en active Active
- 2009-10-05 WO PCT/US2009/059527 patent/WO2010040125A1/en active Application Filing
- 2009-10-05 EP EP09818612.5A patent/EP2332066A4/en not_active Withdrawn
- 2009-10-05 CN CN200980126895.0A patent/CN102089757B/zh not_active Expired - Fee Related
- 2009-10-05 AU AU2009298151A patent/AU2009298151B2/en not_active Ceased
- 2009-10-05 CA CA2726729A patent/CA2726729C/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6449603B1 (en) * | 1996-05-23 | 2002-09-10 | The United States Of America As Represented By The Secretary Of The Department Of Health And Human Services | System and method for combining multiple learning agents to produce a prediction method |
Also Published As
Publication number | Publication date |
---|---|
AU2009298151A1 (en) | 2010-04-08 |
CA2726729C (en) | 2017-01-24 |
EP2332066A4 (en) | 2013-07-31 |
EP2332066A1 (en) | 2011-06-15 |
US20110087625A1 (en) | 2011-04-14 |
CA2726729A1 (en) | 2010-04-08 |
AU2009298151B2 (en) | 2015-07-16 |
CN102089757A (zh) | 2011-06-08 |
WO2010040125A1 (en) | 2010-04-08 |
US8412646B2 (en) | 2013-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102089757B (zh) | 基于代理的系统的自动创建的系统和方法 | |
Yang et al. | Heterogeneous network representation learning: A unified framework with survey and benchmark | |
Fischer et al. | A taxonomy and archetypes of smart services for smart living | |
Petrova et al. | Towards data-driven sustainable design: decision support based on knowledge discovery in disparate building data | |
Gao et al. | A cross-domain recommendation model for cyber-physical systems | |
Chiroma et al. | A review on artificial intelligence methodologies for the forecasting of crude oil price | |
Abdelbari et al. | A computational intelligence‐based method to ‘learn’causal loop diagram‐like structures from observed data | |
Nigam et al. | Web scraping: from tools to related legislation and implementation using python | |
Shafiq et al. | Virtual engineering process (VEP): a knowledge representation approach for building bio-inspired distributed manufacturing DNA | |
Oliveira et al. | A framework for provenance analysis and visualization | |
Demirbaga | HTwitt: a hadoop-based platform for analysis and visualization of streaming Twitter data | |
Iglesias-Molina et al. | An ontological approach for representing declarative mapping languages | |
Giamphy et al. | A survey on bipartite graphs embedding | |
Stoilos et al. | Reasoning with fuzzy extensions of OWL and OWL 2 | |
Pelekh et al. | Design of a system for dynamic integration of weakly structured data based on mash-up technology | |
Naim et al. | Reconstructing and evolving software architectures using a coordinated clustering framework | |
Papakostas et al. | Linguistic fuzzy cognitive map (LFCM) for pattern recognition | |
Blondet et al. | Towards a knowledge based framework for numerical design of experiment optimization and management | |
Koudouridis et al. | An evaluation survey of knowledge-based approaches in telecommunication applications | |
Shafi et al. | [WiP] Web Services Classification Using an Improved Text Mining Technique | |
Bahrami et al. | Automated web service specification generation through a transformation-based learning | |
JP2023025683A (ja) | ニューロン様表現グラフを使用して、インタラクティブ自動モードで意味及び抽象的概念を求めるための知識モデルを作成するコンピュータベースのシステム | |
Kalenkova et al. | Application of a genetic algorithm for finding edit distances between process models | |
CN114648121A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
Liu et al. | Supply chain network extraction and entity classification leveraging large language models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140903 |