CN103577183B - 软件执行控制装置和软件执行控制方法 - Google Patents
软件执行控制装置和软件执行控制方法 Download PDFInfo
- Publication number
- CN103577183B CN103577183B CN201310315054.2A CN201310315054A CN103577183B CN 103577183 B CN103577183 B CN 103577183B CN 201310315054 A CN201310315054 A CN 201310315054A CN 103577183 B CN103577183 B CN 103577183B
- Authority
- CN
- China
- Prior art keywords
- mentioned
- message
- action
- user
- user message
- 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 59
- 230000009471 action Effects 0.000 claims abstract description 207
- 238000012545 processing Methods 0.000 claims abstract description 76
- 238000004513 sizing Methods 0.000 claims description 78
- 230000008569 process Effects 0.000 claims description 26
- 239000000284 extract Substances 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 12
- 238000007493 shaping process Methods 0.000 claims description 9
- 239000000470 constituent Substances 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 abstract description 8
- 238000007781 pre-processing Methods 0.000 abstract description 2
- 238000004590 computer program Methods 0.000 abstract 1
- 230000000875 corresponding effect Effects 0.000 description 54
- 238000010276 construction Methods 0.000 description 24
- 241000894007 species Species 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 101100215368 Dictyostelium discoideum act21 gene Proteins 0.000 description 3
- 238000010411 cooking Methods 0.000 description 3
- 230000004069 differentiation Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 235000013305 food Nutrition 0.000 description 3
- 230000000877 morphologic effect Effects 0.000 description 3
- 235000013311 vegetables Nutrition 0.000 description 3
- 101100054764 Dictyostelium discoideum act24 gene Proteins 0.000 description 2
- 235000013361 beverage Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100215339 Arabidopsis thaliana ACT11 gene Proteins 0.000 description 1
- 101100215341 Arabidopsis thaliana ACT12 gene Proteins 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 101100217138 Mus musculus Actr10 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002073 mitogenetic effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/12—Hotels or restaurants
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种软件执行控制装置和软件执行控制方法。该软件执行控制装置根据从用户接收到的用户消息控制多个应用程序的执行,包括:参照信息管理部,其收集为了执行多个应用程序而参照的参照信息并更新;用户消息预处理部,其接收通过预定的方法从用户输入或传达的用户消息,从接收到的上述用户消息中提取一个或一个以上的组分,根据提取出的组分解释上述用户消息;消息处理部,其根据从上述用户消息解释的事项,确定上述用户所请求的一个或一个以上的动作;应用程序执行部,其根据由上述参照信息管理部管理的参照信息、由上述消息处理部确定的动作,挑选为了完成所确定的各个上述动作而应该执行的应用程序,执行挑选出的上述应用程序。
Description
技术领域
本发明涉及一种软件执行控制装置和软件执行控制方法。特别地本发明涉及一种软件执行控制装置和软件执行控制方法,其通过控制保存在用户的计算机系统中的软件、或保存在外部的计算机系统例如服务器中的软件的执行,而能够灵活地对应用户所需要的业务。
背景技术
存在包含中小自营业、垄断经销等各种各样规模和形式的餐厅。为了运营这样的各种各样的餐厅,必须执行各种各样的业务,以前通常根据业务的种类由人直接处理,或购买市场中流通的软件来处理。例如,店主购买市售的会计用软件,安装在自己的个人计算机中,将销售额信息输入到上述软件而执行,由此能够得到销售额信息。最近,如个人计算机、智能手机、平板PC等那样,伴随着能够下载应用软件(以下称为“应用程序”)、或能够与网页服务器连接而利用网页服务的高性能的各种计算系统的开发以及广泛普及,而活跃地开发出各种餐厅业务用应用程序(例如参照国际公开公报WO91/08540A1)。
餐厅的店主、工作人员向用于特定业务的专用应用程序输入预先决定的类型和格式的数据,使上述应用程序执行,由此完成必需的业务。店主、工作人员为了自己要完成的业务,可能有时直接生成程序代码而开发应用程序,但大部分让软件开发者开发专用应用程序,或购买和利用软件开发者或开发公司已经开发出的市售用应用程序。店主、工作人员在要完成的业务包含不被一个应用程序支持的工作的情况下,搜索能够执行上述工作的一个或一个以上的追加应用程序,使该应用程序另外执行,或自己直接进行该工作。
发明内容
在餐厅业务中,例如必须完成预约管理、账目作成、库存管理等各种业务,这样的各种业务必须相互协作的情况也很多。但是,为了处理这样的各种各样的业务,由店主分别开发与自己的要求和状况符合的专用应用程序在成本和时间方面相当难。另外,即使直接开发应用程序,也存在以下的问题,即在业务的处理、细节的事项有变动的情况下,为了与之对应,必须在每次有变动时变更应用程序的程序代码,或完全重新开发。
在购买由软件开发者开发的市售用应用程序而使用的情况下,无法追加该应用程序不提供的功能,或无法变更应用程序的功能或动作。因此,在需要新的功能的情况下,必须再购买其他应用程序,或开发包含必要的功能的专用应用程序。另外,一个应用程序大多数情况下不支持应该完成的业务所要求的各种功能。存在以下的不良状况,即为了一个应用程序不支持的追加的功能,必须执行支持该功能的其他应用程序,还要重复地将相同数据输入到多个应用程序,或每次变更输入数据的格式。还必须直接搜索支持必要的功能的应用程序,因此需要很多时间,在无法搜索到必要的应用程序的情况下,有时还无法进行目标业务自身。并且,在为了特定业务而开发的应用程序中,还存在完全无法处理未预定的业务的问题点。
本发明的课题在于解决上述现有技术的问题点。具体地说,本发明的目的在于:提供一种软件的执行控制装置和执行控制方法、记录了该执行控制程序的记录介质,其控制多个软件的执行,使得能够迅速、并且方便地处理餐厅商务所需要的多种业务。必须注意到本发明的应用领域并不限于餐厅,只要是医院、学校、书店、剧场、商业中心、主题公园等能够应用本发明的技术思想的地方,则对其业务种类就没有限制。
为了解决上述问题,本发明的一个形式是一种软件执行控制装置,其根据从用户接收到的用户消息来控制多个应用程序的执行,该软件执行控制装置包括:参照信息管理部,其收集并更新为了执行多个应用程序而参照的参照信息;用户消息预处理部,其接收通过预定的方法从用户输入或传达的用户消息,从接收到的上述用户消息中提取一个或一个以上的组分,根据提取出的组分解释上述用户消息;消息处理部,其根据从上述用户消息解释的事项,确定上述用户所请求的一个或一个以上的动作;应用程序执行部,其根据由上述参照信息管理部管理的参照信息、由上述消息处理部确定的动作,挑选为了完成所确定的各个上述动作而应该执行的应用程序,并执行挑选出的上述应用程序。
另外,本发明的另一个形式是一种软件执行控制方法,其利用软件执行控制装置,根据从用户接收到的用户消息来控制多个应用程序的执行,该软件执行控制方法包括:收集并更新为了执行多个应用程序而参照的参照信息的参照信息管理阶段;接收通过预定的方法从用户输入或传达的用户消息,从接收到的上述用户消息中提取一个或一个以上的组分,根据提取出的组分解释上述用户消息的用户消息预处理阶段;根据从上述用户消息解释的事项,确定上述用户所请求的一个或一个以上的动作的消息处理阶段;根据上述参照信息、在上述消息处理阶段确定的动作,挑选为了完成所确定的各个上述动作而应该执行的应用程序,并执行挑选出的上述应用程序的应用程序执行阶段。
根据本发明,能够提供一种软件执行控制装置和执行控制方法、记录了执行控制程序的记录介质,其通过生成满足用户所请求的业务的动作流程,依照该动作流程挑选一个或多个应用程序,控制挑选出的应用程序的执行,从而迅速、并且高效地对应用户所请求的多种业务。因此,不需要另外开发完成构成复杂业务的各种各样动作的专用应用程序,就能够对多个应用程序进行各种组合来对应用户所请求的各种各样的业务。
附图说明
图1是概念性地表示本发明的一个实施例的软件执行控制装置的结构的图。
图2是概念性地表示本发明的软件执行控制装置的用户消息预处理部、消息处理部、程序执行部、参照信息管理部的结构的一个实施例的图。
图3是表示本发明的一个实施例的软件执行控制方法的流程图。
图4是表示本发明的一个实施例的结构化了的用户消息的图。
图5是表示本发明的一个实施例的结构化了的用户消息的实体构造表的图。
图6是表示本发明的一个实施例的结构化了的用户消息的指令词构造表的图。
图7是表示本发明的一个实施例的定型消息数据库的构造的图。
图8是表示图7所图示的定型消息数据库的餐厅用系统的实施例的图。
图9是表示本发明的一个实施例的动作请求同义词数据库的构造的图。
图10是表示本发明的一个实施例的对应工作数据库的构造的图。
图11是表示本发明的一个实施例的对应工作-动作数据库的构造的图。
图12是表示本发明的一个实施例的用户消息的组分区分候选动作目录的图。
图13是表示本发明的一个实施例的特性信息数据库的构造的图。
图14是表示本发明的一个实施例的用户消息的候选动作流程目录的图。
图15是表示本发明的一个实施例的动作-应用程序数据库的构造的图。
图16是概念性地表示本发明的一个实施例的应用程序确定方法的图。
图17是表示本发明的一个实施例的应用程序过程(procedure)数据库的构造的图。
图18是概念性地表示本发明的一个实施例的应用程序执行处理中应用程序之间的输入和输出数据的关系的图。
图19是概念性地表示本发明的一个实施例的餐厅预约和点菜管理系统的图。
具体实施方式
以下,参照附图详细说明本发明的实施方式的例子。当然本发明的技术思想并不限于附图所示的例子。
图1是概念性地表示本发明的一个实施例的软件执行控制装置100的结构的图。如图1所示,根据本发明的一个实施例,本发明的软件执行控制装置100包括:中央处理装置CPU102;基本输入输出系统BIOS104;用于保存数据、文件等的硬盘或CD-ROM等存储装置106;存储器108,包括USB、电源装置、显示器设备等各种硬件110、相互关联地管理各种数据、信息的数据库112。另外,本发明的软件执行控制装置100包括编程接口、各种驱动程序、库等软件120、操作系统(OS)122。另外,本发明的软件执行控制装置100还包括:用户消息预处理部200,其对从用户接收到的用户消息进行结构化而解释;消息处理部300,其从上述用户消息查明用户的请求,生成用于确定满足上述用户的请求的工作、操作的动作流程;应用程序执行部400,其挑选与上述动作流程对应的应用程序,控制挑选出的应用程序的执行;参照信息管理部500,其收集并更新为了执行多个应用程序而参照的参照信息。上述结构要素通过总线140相互连接。图1只是本发明的软件执行控制装置100的结构的一个实施例,根据实施例,可以不包含上述结构要素中的一部分,或还包含其他结构要素。
在软件执行控制装置100中,包括主机(main frame)、微型计算机、工作站、个人计算机等典型的计算机系统,当然还包括触摸板、PDA、智能手机等具有运算能力的手持设备。对于软件执行控制装置100的硬件形式、构造、运营体系等软件结构并没有特别限制。例如,软件执行控制装置100是POS(Point of Sale:销售点)终端装置。上述结构要素200~500也可以分别作为能够记录到ROM、闪速存储器、硬盘、CD-ROM、DVD等合适的硬件中的纯粹的软件来实现,或作为逻辑电路等硬件和软件的组合来实现。另外,也可以在一个设备内实现全部上述结构要素200~500,但也可以以分散在多个设备中的方式来实现。例如,也可以将上述结构要素200~500的一部分或全部保存在通过网络连接的外部服务器中。
在作为软件实现结构要素200~500的情况下,可以通过利用了面向对象C(Objective C)、C++、Java等语言的面向对象型编程来实现它们。或者,也可以通过利用了BASIC、C等语言的过程型编程(Procedural Programming)来实现。图1表示了从CPU102等硬件、OS122独立地实现结构要素200~500的实施例,但根据设计上的选择,也可以作为OS122的一部分来实现,或作为应用程序来实现。即,只要是在本发明所属的技术领域中具有通常的知识的人,就能够明确地理解对本发明的技术思想的实现方式没有任何限制。关于结构要素200~500的细节的结构和动作,在本说明书的全体中,特别在以下详细进行说明。
各种各样的业务用应用程序可以保存在上述软件执行控制装置100的存储器108或存储装置106中,或保存在外部服务器(例如网页服务器)那样的独立的计算机系统150a、150b中。在本说明书中,“应用程序”(或其简称的“程序”)这样的术语不只是表示个别的应用软件,也可以表示执行独立的功能的软件的一部分,不只是通过安装在用户终端设备中而独立地执行的应用程序,还能够通过子服务(servlet)、子应用程序(applet)、控件(Widget)、网页服务等各种形式实现。即,对应用程序的形式、实现方式没有特别限制。各个应用程序独立或与其他应用程序相互协作地生成具有固有格式的输出。在将上述应用程序保存在软件执行控制装置100的内部的情况下,可以根据被定义为特定目录的特定文件夹的位置信息来调用。在应用程序存在于外部的计算机系统150a、或150b的情况下,例如可以根据URL(Uniform Resource Locator)这样的位置信息调用,或搜索。
用户消息预处理部200为了根据用户消息识别形式部分,提取一个或一个以上的用户消息组分,而对上述用户消息进行结构化,解释上述结构化了的消息,判断上述用户消息是定型消息还是非定型消息。上述用户消息的组分作为分别表示独立的信息的单词,可以根据内容分类为指示特定动作、操作的指令词、在完成指令词时灵活运用的含义内容(人、事物、事件、场所、时间等)即实体。定型消息包含预先决定的内容和个数的指令词、预先决定的种类、类型和个数的实体。如果上述用户消息是定型消息,则消息处理部300参照对应地记录定型消息和动作流程所得的数据库,读出与上述定型消息对应的动作流程。如果上述用户消息不是定型消息,则消息处理部300查明上述用户消息的请求,生成满足上述查明的请求的一连串或并列的工作、操作的组合、即动作流程。上述动作流程规定了应该执行的动作的执行时刻、执行顺序的先后、即执行定时。应用程序执行部400挑选包含在由上述消息处理部生成的动作流程中的各动作所对应的应用程序,并执行挑选出的应用程序。另外,对输入到各应用程序的数据的类型和/或格式进行变换,或生成用于控制各个应用程序的执行的控制信号。另外,应用程序执行部也可以有选择地组合上述执行的应用程序的输出数据,生成向上述用户或根据上述用户消息确定的接收者提供的输出。参照信息管理部500构建消息处理部300和应用程序执行部400所参照的各种参照信息并运用。参照信息管理部500可以从系统设计者、系统管理者、或用户等接收关联信息,或定期或随时收集这样的信息并分类,并更新各种参照信息。
图2是表示本发明的软件执行控制装置的用户消息预处理部200、消息处理部300、程序执行部400、参照信息管理部500的结构的一个实施例的图。在图2所示的实施例中,上述用户消息预处理部200、消息处理部300、应用程序执行部400、参照信息管理部500分别以包含执行上述动作的多个模块的方式来实现。本发明所属的技术领域中具有通常知识的人能够明确地理解可以存在与图2不同的各种实现方式,并不根据各模块的功能结构的宽窄来限定本发明的技术范围。
用户消息预处理部200包括用户消息接收模块202、用户消息结构化模块204、用户消息解释模块206。如果用户向软件执行控制装置100输入请求完成预定业务的内容的用户消息,则软件执行控制装置100开始动作。如果通过预定的方法输入或传达了来自用户的用户消息,则通过用户消息接收模块202接收上述用户消息。可以通过用有线、或无线连接的键盘、鼠标、或麦克风等输入装置(未图示),将上述用户消息输入到软件执行控制装置100。如果软件执行控制装置100包含显示器设备,则也可以通过上述显示器设备提供图形用户界面来使用户能够通过鼠标等输入装置输入上述用户消息。在该情况下,可以是用鼠标点击显示在显示器设备上的用于指示特定业务的图标的方式。在通过麦克风输入了声音指令的情况下,用户消息接收模块202将声音指令变换为文本,传达到用户消息结构化模块204。另外,软件执行控制装置100也可以从外部的通信设备以电子邮件、便携电话消息等形式接收用户请求。为此,软件执行控制装置100可以具有预先确定的电子邮件地址、电话号码等固有识别信息。例如,用户为了向软件执行控制装置100请求特定业务的完成,可以利用与软件执行控制装置100独立的自己的便携电话,向在软件执行控制装置100中预先指定的邮件地址发送电子邮件。在该情况下,在用户位于从软件执行控制装置100远离的地方时,也能够向软件执行控制装置100请求必要的业务,因此非常方便。
为了方便,可以用用户日常使用的语言即自然语言生成用户消息。用户不需要具体知道为了完成特定业务应该执行哪个应用程序、应该执行的一个或多个应用程序的输入的类型、格式如何,用自然语言记述上述业务即可。例如,假定软件执行控制装置100是设置在餐厅的POS终端装置,用户是运营餐厅的店主的情况。在用户为了个人的事务而在餐厅的外部时,如果希望知道当日的销售额,则用自己的便携电话向上述POS终端装置传送“请通知今日的销售额”这样的内容的电子邮件或便携电话消息即可。在该情况下,如后述那样,上述POS终端装置处理上述用户消息而识别所需要的应用程序,使得执行识别出的应用程序。接着,以合适的形式(例如文本文件)生成作为上述执行结果所得到的当日的销售额数据,作为电子邮件或便携电话消息向用户的便携电话传送。这样,通过使能够输入用户消息的方法多样化,能够提高便利性。
用户消息结构化模块204提取由用户消息接收模块202接收到的用户消息所包含的有意义的数据(例如发送者的身份、发送日期时间、发送地点等)和消息正文。接着,针对用户消息(特别是形式信息以外的正文的内容的部分),例如应用词素分析,将用户消息分离为有意义的最小单位即词素。词素分析方法根据语言的特性而有差别,对每个语言都存在各种分析技术。采用哪个词素分析方法是系统设计者的选择,并不一定采用特定的方法。接着,上述用户消息结构化模块204向用户消息的各词素赋予含义封面,对用户消息进行结构化。为了对词素赋予含义封面,例如使用本体(ontology)映射技法。例如对“5小时”赋予时间、对“卡西欧”赋予企业这样的含义封面。另外,用户消息结构化模块204例如依照六何法(5W1H)对用户消息进行结构化,由此规定用户消息所具有的整体含义。
例如在上述用户以电子邮件的形式发送了自己的消息的情况下,上述用户消息结构化模块204能够从由上述用户消息接收模块202接收到的电子邮件中识别发送者的电子邮件地址和消息正文等,根据识别出的电子邮件地址判断用户是谁、是否是具有能够访问软件执行控制装置100的权限的人。为此,理想的是预先构建按照用户区分地记录了标识符(ID)、电子邮件地址、便携电话号码等识别信息的用户数据库。在不具有对软件执行控制装置100的访问权限的人发送了用户消息的情况下,结束动作。在该情况下,软件执行控制装置100也可以向发信者、系统管理者、或从具有权限的用户中选择出的用户发送通知该情况的消息。另一方面,如果上述用户是具有正当权限的用户,则进行上述那样的消息分析,进一步准确地查明用户的请求内容。
接着,上述用户消息结构化模块204从结构化了的用户消息中,提取一个或一个以上的用户消息组分(以下也简称为“组分”)即实体和指令词。例如,在根据六何法对用户消息进行了结构化的情况下,与5H相当的组分是实体,与1H相当的组分是指令词。通常用户消息可以包含一个或一个以上的指令词即组分。图4表示结构化了的用户消息的实施例。在图4的实施例中,例如用户1的用户消息i包含实体ENTi1、ENTi2、ENTi3、指令词COMMi1。作为实体的组分以后可以用作执行应用程序时所需要的输入数据。
接着,为了判断用户消息是否是定型消息,用户消息解释模块206对上述结构化了的用户消息进行解释。为此,可以生成与上述结构化了的用户消息有关的实体构造表和指令词构造表。实体构造表按照实体区分地识别和保存种类和类型,指令词构造表识别指令词的内容并保存各指令词的个数。由此,能够判别用户消息包含何种实体和怎样内容的指令词。将在后面参照图4~图6对用户消息的解释进行更详细的说明。如果用户消息包含预先决定的种类和类型的实体、预先决定的内容和个数的指令词,则判断为该消息是定型消息。为此,预先将定型消息的构造(实体的种类和类型、指令词的内容和个数)记录在后述那样的定型消息数据库510中,比较当前输入的用户消息的构造和保存在上述数据库中的定型消息的构造,由此能够判断上述用户消息是否是定型消息。特别针对用户能够请求的多种业务中反复请求的可能性高的业务,理想的是预先将与该业务对应的用户消息的定型构造记录在定型消息数据库510中。
接着,消息处理部300分别包括进行以下处理等的定型消息处理模块302、非定型消息处理模块304,即生成与由用户消息解释模块206判断为定型消息的用户消息、判断为非定型消息的用户消息对应的动作流程。在本说明书中,作为为了满足用户的请求而应该完成的工作,将其内容上能够相互独立地区别的最小单位的工作或动作(操作)称为“动作”。还有用户通过特定消息请求的业务由一个动作构成的情况,但由以固定的顺序组合的2个以上的动作构成的情况也很多。将这样构成业务的一个或多个动作的次序、或并列的组合称为“动作流程”。动作流程还规定应该执行的动作的执行定时(执行的时刻或执行的顺序)。如果假定在餐厅中使用本发明的软件执行控制装置100的例子,则“预约信息登记”、“预约信息查询”、“预约信息删除”、“预约信息变更”等分别相当于动作。可以由一个应用程序或应用程序的一部分完成这样的各动作。根据本发明,将上述动作定义为在其内容上区分的最小单位的工作、动作,因此也可以与一个用户消息对应地反复执行相同的动作。例如“预约信息查询”这样的动作可以只执行一次使得查询与一人的顾客有关的特别销售处的特定日的预约信息,但也可以数次地反复执行使得统一地查询特定日的全部顾客对全部销售处的预约信息。
如参照图7和图8后述的那样,定型消息数据库510记录一个或一个以上的定型消息,并且与各个定型消息对应地记录预定的动作流程。通过灵活运用这样的定型消息数据库510,定型消息处理模块302在执行时存在被解释为定型消息的用户消息的情况下,能够从上述定型消息数据库510中读出与该定型消息对应的动作流程。如果一个用户消息包含2个以上的定型消息,则能够顺序或并列地组合与各个定型消息对应的动作流程,生成与该用户消息对应的最终动作流程。由此,在输入了定型消息作为用户消息的情况下,只通过简单地读出记录在数据库中的信息,就能够迅速并且容易地生成动作流程。
另一方面,非定型消息处理模块304针对被解释为不对应于定型消息、即被解释为非定型消息的用户消息,挑选与上述用户消息的各组分对应的动作,顺序或并列地组合挑选出的动作,生成用于上述非定型用户消息的处理的动作流程。为了挑选上述各动作,而参照后述的动作请求同义词数据库520、对应工作数据库530、对应工作-动作数据库540和/或特性信息数据库550。关于这样的非定型消息处理模块304的动作,在后面参照图9~图14进行说明。
接着,应用程序执行部400包含应用程序挑选模块402、应用程序执行控制模块404,根据实施例可以有选择地包含输出生成模块406。程序挑选模块402挑选与由消息处理部300生成的动作流程的各动作对应的应用程序。程序执行控制模块404使得执行上述挑选出的应用程序的一部分或全部。应用程序挑选模块402可以参照后述的动作-应用程序数据库560,挑选与各个动作对应的应用程序。动作-应用程序数据库560对应地记录独立地完成的单位工作或动作(操作)即动作的识别信息、为了完成该动作所需要的应用程序的识别信息。在参照动作-应用程序数据库560的结果是存在多个完成一个动作的应用程序的情况下,参照后述的特性信息数据库550,挑选更合适的应用程序。为了使得执行上述挑选出的应用程序,应用程序执行控制模块404参照后述的应用程序过程数据库570,生成为了执行应用程序所需要的控制信号。另外,应用程序执行控制模块404参照应用程序执行信息数据库580,在必要的情况下,变换为执行应用程序所需要的数据的类型、格式。
如果上述挑选出的全部应用程序的执行结束,则向上述用户或根据上述用户消息确定的接收者传送处理结果。上述处理结果可以是最终执行的应用程序的输出数据或所执行的全部应用程序的输出数据的一部分或全体。这根据用户消息的请求内容而变化。在必要的情况下,可以根据预先确定的类型、格式或输出方式,对向用户或特定接收者提供的上述输出数据进行变换。或者,输出生成模块406可以组合所执行的全部应用程序的输出数据的一部分或全部而生成处理结果,以预先确定的类型、格式或输出方式,向上述用户或特定接收者提供上述处理结果。输出生成模块406也可以将上述输出数据的一部分或全部分割为多个输出,或将多个输出数据组合为一个或其他个数的输出。也可以参照特性信息数据库550决定适合于上述用户或特定接收者的输出的类型、格式或输出方式。
参照信息管理部500包括定型消息数据库510、动作请求同义词数据库520、对应工作数据库530、对应工作-动作数据库540、特性信息数据库550、动作-应用程序数据库560、应用程序过程数据库570、应用程序执行信息数据库580、参照信息运用模块590。在图7、图9、图10、图11、图13、图15、图17、图18中分别图示上述数据库510~580各自的构造。参照对应的附图在后面说明与各数据库有关的详细内容。根据本实施例,构成为在本发明的软件执行控制装置100的参照信息管理部500内构建全部的数据库510~580。但是,只要是在本发明所属的技术领域中具有通常的知识的人,就能够明确地理解并不一定要在上述软件执行控制系统100内构建上述数据库510~580的一部分或全部,例如也可以灵活利用已经在外部服务器等中构建的数据库。
参照信息运用模块590随时或定期地构建并更新上述数据库520~580。上述数据库510~580既可以在处理用户的请求之前预先构建,也可以在执行处理时实时地构建。记录在上述数据库520~580中的信息可以由系统设计者、系统管理者或具有正当权限的用户进行变更、追加或删除,为此,参照信息运用模块590可以提供合适的接口。另外,记录在上述数据库中的信息有时随着时间的经过而变化,因此参照信息运用模块590定期或随时地更新上述数据库,使得上述数据库包含变化了的信息。由此,能够根据用户的请求更适合地对应。
例如,参照信息运用模块590定期或随时、或有来自系统管理者、用户发出的指示时,搜索软件执行控制装置100的内部或外部的预定区域,收集与应用程序有关的信息,根据收集到的信息,将应用程序的识别信息登记到动作-应用程序数据库560或特性信息数据库550中,或管理其变化。参照信息运用模块590探知是否有新的应用程序、现有的应用程序的位置信息是否变化、应用程序是否升级、或应用程序是否被删除等变更内容。参照信息运用模块590参照该变更内容,更新对应的数据库中记录的信息。例如,如果保存在软件执行控制装置100的内部的应用程序被移动到不同的文件夹,则参照信息运用模块590探知该情况而将记录在动作-应用程序数据库560中的该应用程序的位置信息更新为变更后的位置信息。这时,理想的是如果在多个数据库中记录了相同的信息,则统一地更新上述多个数据库。另外,在有应用程序的升级版本的情况下,将动作-应用程序数据库560的应用程序信息更新为上述升级版本的位置信息。
接着,参照图3说明本发明的一个实施例的软件执行控制方法。通过将用户请求完成预定业务的内容的用户消息输入、传送或传达到本发明的软件执行控制装置100,来开始本发明的处理(阶段1000)。软件执行控制装置100通过预定的方法进行输入,或传送或传达的上述用户消息(阶段1002),对上述用户消息进行结构化(阶段1004)。例如,在按照自然语言的形式生成上述用户消息的情况下,对上述接收到的用户消息应用词素分析方法,对各词素赋予含义封面。接着,软件执行控制装置100从上述结构化了的用户消息中提取一个或一个以上的组分即实体和/或指令词(阶段1006)。接着,软件执行控制装置100为了解释上述结构化了的用户消息,而识别所提取的指令词的内容和个数、实体的种类和类型(阶段1008)。根据上述识别出的信息,判断上述用户消息是否是定型消息(阶段1010)。为此参照定型消息数据库510。
在上述用户消息是定型消息的情况下(阶段1010:是),读出与该定型消息对应地记录在定型消息数据库510中的动作流程,由此生成与上述用户消息对应的动作流程(阶段1020)。在上述用户消息是非定型消息的情况下(阶段1010:否),为了查明上述用户消息所内含的用户的请求,挑选与上述提取出的组分对应的动作请求,挑选满足上述挑选出的动作请求的动作,顺序或并列地组合上述挑选出的动作而生成动作流程(阶段1040)。上述生成的动作流程可以保存在缓存存储器、缓冲器、队列(queue)等中,如果这样根据上述用户消息生成动作流程,则挑选用于完成动作流程的各动作的应用程序(阶段1060)。为此,可以参照对应地记录了各动作、满足该动作的应用程序的动作-应用程序数据库560。另外,如果与一个动作对应的应用程序是多个,则例如也可以参照特性信息数据库550,挑选其中最适合的一个应用程序。
接着,软件执行控制装置100调用上述挑选出的应用程序(阶段2000)。可以根据其位置信息调用各应用程序。接着,针对各个应用程序,确认该应用程序所需要的输入数据的类型和格式(阶段2002)。为此,可以参照对应地记录了各应用程序的识别信息、该应用程序的输入数据的类型和格式的应用程序执行信息数据库580。如果应该输入到上述应用程序的数据的类型和格式与该应用程序的输入数据的类型和格式一致(阶段2002:是),则将上述数据直接输入到应用程序使得执行应用程序(阶段2006)。如果应该输入的数据的类型、格式与该应用程序的输入数据的类型、格式不一致(阶段2002:否),则与上述输入数据的类型和格式一致地对上述数据的类型和格式进行变换(阶段2004)。接着,软件执行控制装置100确认用于上述动作流程的全部动作的应用程序是否已经执行(阶段2008)。在应该执行的应用程序中一部分还没有执行的情况下(阶段2008:否),返回到阶段2000。在与上述动作流程对应的全部应用程序的执行完成了的情况下(阶段2008:是),向用户或根据用户消息选定的特定接收者提供全部或一部分应用程序的输出数据(阶段2010),结束对该用户消息的处理过程(阶段2020)。
接着,参照图4~图6,更详细地说明用户消息的解释。图4表示本发明的一个实施例的结构化了的用户消息,图5图示本发明的一个实施例的结构化了的用户消息的实体构造表,图6图示本发明的一个实施例的结构化了的用户消息的指令词构造表。如图4所示那样,从用户1接收到的用户消息i包含3个实体ENTi1、ENTi2、ENTi3、1个指令词COMMi1,从用户2接收到的用户消息j包含2个实体ENTj1和ENTj2、2个指令词COMMj1和COMMj2。用户消息解释模块206根据上述结构化了的用户消息生成实体构造表和指令词构造表。实体构造表如图5所示,按照包含在上述用户消息中的按实体区分地识别并保存种类和数据类型。例如,实体的种类可以根据由用户消息结构化模块204赋予的含义封面确定,可以包含名称、电话号码、日期、人数等。指令词构造表识别指令词的内容而保存各指令词的个数。可以根据上述实体构造表和指令词构造表,判别用户消息包含哪种实体和怎样内容的指令词。上述用户消息的解释方法只不过是一个实施例,在本发明所属的技术领域中具有通常的知识的人能够明确认识到存在各种变形或代替方案。例如,在上述实施例中说明了定型消息包含实体和指令词两者的情况,但根据其他实施例,存在只包含实体的定型消息,另外根据其他实施例,有可能有只包含指令词的定型消息。这样的定型消息的构造只不过是设计上的选择事项,本发明并不限于特定结构。
接着,参照图7和图8,说明定型消息数据库510。定型消息数据库510使得相互间对应地记录定型消息的识别信息(StpMES01、StpMES02、StpMES03、StpMES04、……)、各个定型消息的构造、满足各个定型消息的动作流程。例如,定型消息StpMES01具有包含一个指令词COMM11、2个实体ENT11和ENT12的构造,实体ENT11的种类和类型分别是Kind01和Type11,实体ENT12的种类和类型分别是Kind02和Type12。只要接收到的用户消息具有上述那样的构造(即包含指令词COMM11、上述种类和类型的实体ENT11和ENT12),则该用户消息相当于定型消息StpMES01。因此,可以将与上述用户消息对应的动作流程规定为ACT11+ACT12+ACT16。这样,在将用户消息解释为定型消息的情况下,通过从定型消息数据库510读出与该定型消息对应地记录的动作流程,能够迅速地进行应对。
在本发明所属的技术领域中具有通常的知识的人能够认识到图7所示的定型消息数据库只不过是一个实施例,存在与之对应的各种各样的变形、代替方案。注意定型消息数据库510可以按照用户或企业体系、或针对全部用户统一地构建。其中选择怎样的方式和内容是理想的可以根据行业、业务的内容而变化,是可以考虑用户的方便性、系统的效率性等由系统设计者选择的事项。在其他实施例中,也可以存在多个与一个定型消息对应的动作流程。在这样的实施例中,可以依照用户的选择,或参照记录在后述的特性信息数据库550中的特性信息,在多个动作流程中挑选最合适的动作流程。
图8图示与餐厅用系统的实施例有关的定型消息数据库510’。例如预约在餐厅中是非常日常并且频繁地请求的业务之一,用于预约的必需信息限于预约日、预约时间、预约人数,因此对上述业务的请求能够定型化。如图示那样,“新预约”这样的定型消息具有包含“预约”这样的指令词、日期、时间、人数这样的实体的构造。例如,如果图4的用户消息i是“2012/07/01,6点,3人预约”,则用户消息解释模块206解释为上述用户消息包含“预约”这样的指令词、日期“2012/07/01”、时间“6点”、人数“3人”这样的实体,将其与记录在定型消息数据库510中的定型消息的构造进行比较。由此,能够判断为上述用户消息i相当于“新预约”这样的定型消息。因此,读出在定型消息数据库510’中与上述定型消息对应地记录的动作流程即“桌子查询(查询在请求预约的日和时间是否有能够容纳该人数的空的桌子)+新预约登记(记录预约信息)+便携电话消息(向确定了的接收者通知预约完成)”,由此能够容易地生成与上述用户消息对应的动作流程。上述3个实体被用作为了完成上述动作流程而执行的应用程序的输入数据。在该情况下,在上述用户消息记载了“今日6点3人预约”的情况下,也可以将“今日”这样的单词例如解释为“2012/07/01”这样的日期,因此当然可以作为上述那样的定型消息来处理。
接着,参照图9~图13,说明本发明的一个实施例的非定型消息的处理。图9~图11分别图示本发明的一个实施例的动作请求同义词数据库520、对应工作数据库530、对应工作-动作数据库540。图12图示针对非定型消息生成的按组分区分候选动作目录的一个实施例。图13图示特性信息数据库550的一个实施例。
动作请求同义词数据库520与构成被请求根据用户消息完成的业务的一个或一个以上的动作请求对应地记录一个或一个以上的同义词。在本说明书中,将为了指示通过预定的应用程序或其一部分完成的工作、操作而由用户经常使用的代表性的指令词、单词称为动作请求。上述动作请求的同义词是有可能由用户、或在关联行业中作为与动作请求相同或类似的含义而实际经常使用的单词。接着,请求对应工作数据库530分别与上述动作请求对应地记录为了满足用户消息内含的用户请求而应该完成的一个或一个以上的对应工作。另外,对应工作-动作数据库540分别与上述对应工作对应地记录完成各个对应工作所需要的一个或一个以上的动作。在此,动作请求同义词数据库520的上述动作请求REQ01、REQ02、REQ03、REQ04、……、上述动作请求同义词SYN11、SYN12、……等也可以由系统设计者、系统管理者、或用户等挑选,事先输入,或在处理非定型消息时实时地输入。这对于对应工作数据库530和对应工作-动作数据库540也同样。
以下,说明针对作为非定型消息的用户消息j(参照图4),生成图12图示的按组分区分候选动作目录的过程。如图示那样,根据本实施例,上述用户消息j包含2个实体和2个指令词。假定在上述组分中,ENTj1和ENTj2是其含义明确地被确定的实体。在该情况下,不需要针对组分ENTj1和ENTj2确定动作请求。在实体表示什么不明确的情况下,为了明确地定义该实体,可以确定与之对应的动作请求。例如在餐厅用系统的例子中,在输入了“今日下午6点5人预约”这样的用户消息的情况下,在其组分中,“今日”、“下午6点”、“5人”相当于实体,“预约”相当于指令词。如果在上述实体中“今日”的含义不明确,则为了明确地确定“今日”所表示的日期,可以参照动作请求同义词数据库520。例如,针对上述实体,可以确定“日期查询”这样的动作请求。另一方面,在用户消息中包含“其”、“那人”这样的代名词而无法规定实体的情况下,也可以使用谈话分析(discourse analysis)。针对“预约”这样的指令词,参照动作请求同义词数据库520,确定与之对应的动作请求。
为了确定与上述用户消息j的2个指令词COMMj1和COMMj2对应的动作请求,非定型消息处理模块304参照动作请求同义词数据库520。参照结果判断为指令词COMMj1相当于同义词SYN11和SYN21,因此使动作请求REQ01和REQ02与上述指令词COMMj1对应。指令词COMMj2相当于同义词SYN31,因此动作请求REQ03与上述指令词对应。这样,通过参照动作请求同义词数据库520,能够针对用户消息的各组分确定动作请求。另一方面,为了确定动作请求并不一定利用动作请求同义词数据库520,也可以如上述那样,实时地输入动作请求、其同义词。在该情况下,非定型消息处理模块304可以向用户或系统管理者等提供接口,由用户、系统管理者等决定它。或者,非定型消息处理模块304也可以通过因特网检索等,查明与用户消息的各组分对应的动作请求。或者,非定型消息处理模块304也可以让用户选择动作请求,或向用户传送用于进行追加说明的询问消息。
接着,非定型消息处理模块304为了挑选与针对上述各组分确定的各个动作请求对应的对应工作,而参照对应工作数据库530。在图10的实施例中,存在多个分别与REQ01、REQ02、REQ03对应的对应工作。为了挑选其中更适合的对应工作,可以参照特性信息数据库550,或让系统管理者、用户等直接选择对应工作。在本实施例中,针对组分COMMj1挑选对应工作JOB11和JOB21,针对组分COMMj2挑选对应工作JOB31。另一方面,在本实施例中,针对一个动作请求挑选了一个对应工作,但也可以挑选多个对应工作。
接着,非定型消息处理模块304参照对应工作-动作数据库540,针对上述挑选出的对应工作分别挑选最适合的动作。上述挑选可以参照特性信息数据库550进行,或让系统管理者、用户等直接选择。在图12的实施例中,在与针对组分COMMj1挑选出的对应工作JOB11和JOB21分别对应地记录的动作中,分别挑选ACT111和ACT112、ACT211和ACT212作为更适合的动作。针对上述组分COMMj2,挑选ACT311、ACT312、ACT313。这样,针对用户消息j,能够生成图12图示的按组分区分候选动作目录。
动作请求同义词数据库520、对应工作数据库530、对应工作-动作数据库540和/或特性信息数据库550可以由系统设计者、系统管理者、或用户等事先或实时地生成、追加、删除。另外,上述数据库的全部并不一定要始终包含在本发明的软件执行控制系统100的内部。不只如此,也可以将上述数据库中的至少一部分替代为由系统设计者、系统管理者或用户等实时指定或输入的方式等。
上述实施例为了根据动作请求查明动作而使用了2个数据库530和540,但在其他实施例中,可以利用一个数据库、即动作请求-动作数据库。即通过直接对应地记录动作请求和动作,能够减少为了确定与各动作请求对应的动作所需要的处理。在该实施例中,动作请求-动作数据库可以由系统设计者、系统管理者、或用户等事先或实时地生成、追加、删除。上述数据库并不一定要始终包含在本发明的软件执行控制系统100的内部,也可以替代为由用户或系统设计者、系统管理者等实时指定或输入的方式等。
为了确定动作而使用2个数据库、即对应工作数据库530、对应工作-动作数据库540的实施例与只使用1个数据库的实施例相比处理增加,因此处理时间也可以变得更长。但是,在上述使用2个数据库的情况下,有挑选出更适合于用户的请求的动作的可能性高的优点。
在无法确定与组分对应的动作的情况下,根据实施例,也可以(i)判断为无法处理用户消息,结束软件执行控制装置100的动作,或(ii)参照过去由该、或其他用户为了处理相同或类似的消息而执行应用程序的履历(history)信息,或(iii)灵活运用通过网页搜索等收集到的信息等。考虑到用户的方便性、系统的效率性等,由系统设计者选择该情况下的处理方式。
接着,参照图13详细说明特性信息数据库550。如图示那样,特性信息数据库550按照用户区分地对应地记录各种各样的特性信息和与各特性关联的选择项的加权值。根据实施例,也可以代替按照各选择项区分地保存加权值,而只保存选择项相互之间的优先顺序。对于与多个选择项对应的加权值或优先顺序,可以(i)由用户、系统管理者或系统设计者等设定,或(ii)参照与过去的非定型消息处理有关履历信息来决定,或(iii)根据各选择项的属性决定。在挑选各特性的选择项时,可以按照各个选择项区分地逐一地只挑选加权值或优先顺序最高的,也可以选择按照特性区分选择项的组合中最佳的。例如,在前者的情况下,针对按照非定型消息的组分区分而确定的动作请求,挑选加权值最高的一个对应工作,针对上述挑选出的对应工作挑选加权值最高的一个动作。在后者的情况下,可以是以下的实施例,即按照加权值从高到低的顺序在按照组分区分而挑选出的各个对应工作所对应的动作中选择多个,在挑选出的动作的组合中挑选最佳的一个或多个。当然可以是其他组合。特别地也可以求出包含在各个组合中的选择项的加权值的合计或积,按照其值从大到小的顺序选择一个或一个以上的组合。
在根据选择项的属性决定加权值或优先顺序的情况下,决定与一个动作对应的应用程序的加权值或优先顺序的方法例如如下。
上述表中罗列的属性只不过是示例,也可以为了决定应用程序的优先度而与上述属性的一部分或全部不同的属性一起使用,还可以使用完全不同的属性。理想的是参照信息运用模块590随时或定期地收集与记录在特性信息数据库550中的信息的变动事项有关的信息,根据收集到的信息更新特性信息数据库550。
以下,通过餐厅领域的假想事例说明根据非定型消息查明动作的过程。例如假定输入了“上午11点员工会议延迟到12点”这样的内容的用户消息的情况。用户消息预处理部200在接收到上述用户消息后,对接收到的消息进行结构化。由上述用户消息预处理部200结构化了的用户消息的组分被分类为具有“上午11点”、“员工会议”、“12点”等内容的3个实体和具有“延迟”的内容的一个指令词。非定型消息处理模块304为了查明与作为指令词组分的“延迟”对应的动作,而参照动作请求同义词数据库520、对应工作数据库530、对应工作-动作数据库540,挑选对上述指令词“延迟”最佳的动作。下表示例了对上述指令词挑选出的动作请求、对应工作、动作。
即,根据上述例子,针对“延迟”这样的指令词,能够挑选“一定时间变更”、“用电子邮件联络”、“用便携电话消息联络”这样的3种动作。可以顺序或并列地执行这样挑选出的全部3种动作。根据本发明的其他实施例,也可以参照特性信息数据库550而在上述挑选出的动作中挑选加权值最高的,从而只查明与上述用户消息对应的一个动作。或者,也可以针对各个对应工作逐一地挑选加权值高的动作,由此挑选2个动作。例如,针对“延迟”这样的组分,能够生成(日程时间变更+电子邮件)或(日程时间变更+便携电话消息)的动作流程。
接着,参照图14说明生成非定型消息的动作流程的方法。非定型消息处理模块304生成在图12的按组分区分候选动作目录中组合了与各个组分对应的动作的动作流程。如果组合对COMMj1查明的多个动作、对COMMj2查明的各个动作,则如图14那样生成多个动作流程候选目录。在本实施例中,存在合计12个动作流程候选。为了从它们中挑选适合的动作流程,图14的实施例附加构成动作流程的各动作的加权值,挑选加权值的积的值最高的2个动作流程P1和P2。在其他实施例中,选择由加权值或优先顺序最高的动作构成的一个动作流程。另外,在其他实施例中,也可以针对对组分COMMj1确定的2个对应工作分别挑选动作,将挑选出的2个动作与对COMMj2挑选出的动作组合(例如ACT111+ACT211+ACT311)而挑选动作流程。这样生成的动作流程按照用户区分或根据所生成的顺序,保存在缓存存储器、缓冲器、队列等中,按照保存顺序进行处理,或从有紧急性的动作流程开始先处理。当然也可以按照其他顺序进行处理。
接着,说明图15所图示的本发明的一个实施例的动作-应用程序数据库560。动作-应用程序数据库560对应地记录各动作的识别信息、为了完成该动作所需要的应用程序的识别信息。上述应用程序的识别信息包含保存了各应用程序的文件夹信息或URL等位置信息。应用程序挑选模块402参照动作-应用程序数据库560,决定与构成动作流程的各个动作对应的应用程序。在多个应用程序与一个动作对应的情况下,也可以参照特性信息数据库550挑选应用程序,或由系统设计者、系统管理者、用户等选择。参照信息运用模块590对记录在动作-应用程序数据库560中的动作进行追加、变更、或删除。例如在需要在系统设计时没有预想到的新的动作的情况下,向动作-应用程序数据库560追加新动作。为此,可以提供接口使得系统设计者、系统管理者、应用程序开发者、或具有适合的权限的用户直接输入新动作、与为了执行它所需要的应用程序相关的识别信息即应用程序识别信息。在追加了新动作的情况下,参照信息运用模块590能够搜索为执行上述新动作所需要的应用程序,将搜索出的应用程序识别信息记录到动作-应用程序数据库560中。
参照图16说明确定执行构成动作流程的动作所需要的应用程序的方法。在图16的实施例中,用户1的动作流程F1包含动作ACT21和ACT24。应用程序挑选模块402为了先确定与ACT21对应的应用程序,而参照动作-应用程序数据库560。存在多个与ACT21对应的应用程序,因此从用户1的特性信息数据库550a中,选定与动作ACT21对应的应用程序即APP211、APP212、APP213中的加权值最高的APP211。对于动作ACT24,也通过相同的方法选定应用程序APP242。根据本发明的其他实施例,应用程序挑选模块402可以在软件执行控制装置100的内部的存储装置106或外部服务器(图1的150a和150b)等中检索并选定各个动作所需要的应用程序。这可以在为了对应在动作-应用程序数据库560中不存在与特定的动作对应的应用程序的信息的情况、或虽然在动作-应用程序数据库560中存在应用程序的信息但其有效性不确定的情况等而执行。理想的是在检索出执行特定动作所需要的新应用程序的情况下,使参照信息运用模块590将上述新应用程序的识别信息追加到动作-应用程序数据库560中。
接着,参照图17和图18说明应用程序执行控制模块404的动作。应用程序执行控制模块404为了控制应用程序的执行,可以参照图17图示的应用程序过程数据库570。即,应用程序执行控制模块404从应用程序过程数据库570中提取与应该执行的应用程序的过程有关的信息,参照它生成为了执行该应用程序所需要的控制信号。例如,将作为联络目标管理应用程序的APP211的过程指定为用户认证(authentication)、姓名输入(input Name)、电话号码检索(Phone_no search)、检索出的电话号码的输出(output Phone_on)。应用程序执行控制模块404在应该执行APP211的情况下,生成上述过程所需要的控制信号而提供给APP211。另外,应用程序执行控制模块404确认应该执行的各个应用程序的输入数据的类型和格式。为此,理想的是如上述那样预先构建按照应用程序区分地记录了输入数据的类型和格式的应用程序执行信息数据库580。在图18中图示了应用程序执行信息数据库580的一个实施例。如果应该输入到应用程序的数据的类型和格式与该应用程序的输入数据类型和格式一致,则可以直接将上述数据输入到应用程序而执行应用程序。如果应该输入到应用程序的数据的类型和格式与该应用程序的输入数据的类型和格式不一致,则与该应用程序的输入的类型和格式一致地变换上述数据的类型和格式。
可以将包含在上述用户消息中的实体作为其输入数据提供给上述应该执行的应用程序。或者,也有将先执行的其他应用程序的输出数据作为该应用程序的输入数据而提供的情况。在该情况下,必须依照该应用程序所需要的数据的类型和格式,对上述先执行的应用程序的输出数据进行变换。
根据本发明的其他实施例,上述应用程序执行控制模块404在不适合直接执行由应用程序挑选模块402挑选出的应用程序的情况、或判断为更适合于对其进行变形的情况下,也可以修正上述应用程序而使其执行。例如,也可以对为了执行特定的应用程序所需要的数据的个数、类型或格式、执行该应用程序的结果所产生的数据的个数、类型或格式、或包含在该应用程序中的过程的一部分或全部进行变形。
可以事先和/或实时地,由系统设计者、系统管理者和/或用户等构建或更新上述应用程序过程数据库570、应用程序执行信息数据库580。因此,参照信息运用模块590可以生成必要的用户接口而提供。另外,参照信息运用模块590也可以随时或定期地对从软件执行控制系统100的内部或外部收集到的信息进行分类,将该信息记录到应用程序过程数据库570、应用程序执行信息数据库580中。
接着,参照图18说明在本发明的一个实施例的应用程序执行处理中应用程序间的输入和输出数据的关系。如上述那样,有时应该执行的应用程序的输入数据是比它先执行的其他应用程序的输出数据。如图18的左侧所图示的那样,如果由应用程序挑选模块402确定了应该对用户消息k执行的应用程序APP311和APP211,则应用程序执行控制模块404先执行APP311。为此,输入在APP311中规定的类型和格式的输入数据in01和in02。另外,如果APP311的执行完成,则执行APP211。如图示那样,作为应用程序APP211的输入数据而提供应用程序APP311的输出数据。在该情况下,应用程序执行控制模块404使APP311的输出数据out01的类型和格式与APP211的输入数据的类型和格式一致。在此,APP211的输入数据的字段名和APP311的输出数据的字段名可以相互不同。将依照APP211的输入数据的类型和格式变换后的APP311的输出数据out01作为输入数据提供给APP211。应用程序执行控制模块404参照程序过程数据库570生成APP311和APP211的控制信号,由此控制APP311和APP211的执行。
可以作为数据库而构建并使用上述那样的应用程序之间的相互关系。如上述例子那样,在特定应用程序的输出数据和不同的应用程序的输入数据相互关联的情况下,如果将该信息预先记录在数据库中,则应用程序的执行控制变得非常容易。另外,理想的是预先作为数据库而构建表示存在2个以上的应用程序必须共享的数据的信息。例如,在上述餐厅用系统的例子中,理想的是由销售额管理应用程序共享钱款登记(cash register)应用程序所保有的销售额数据。由此,不需要重复地将销售额数据保存在存储器中,因此能够节约存储器的保存空间。
本发明的软件执行控制装置100的结构要素200~500、分别包含在上述结构要素中的模块的结构可以与上述实施例不同。例如,包含在用户消息预处理部200中的模块202~206既可以作为独立的部(unit)而构成,或者也可以将模块202~206统一为一个模块。在本发明所属的技术领域中具有通常的知识的人应该认识到存在其他变形、代替方案。
以上,通过软件执行控制装置和软件执行控制方法的实施例说明了本发明,但也可以作为能够由记录了软件执行控制程序的计算机读取的记录介质来实现本发明的技术思想。上述软件执行控制程序使计算机作为以下部件而动作:用户消息预处理部,其对从用户接收到的用户消息进行结构化并解释;消息处理部,其根据从上述用户消息提取出的组分生成动作流程;应用程序执行部,其挑选用于执行构成上述动作流程的动作的应用程序,控制上述挑选出的应用程序的执行;参照信息管理部,其构建并运用各种数据库。本发明的软件执行控制程序的动作与上述软件执行控制方法的各阶段对应,因此省略与之相关的详细说明。
以下,说明应用于餐厅的预约和点菜管理的本发明的其他实施例。图19是概念性地表示本发明的一个实施例的餐厅预约和点菜管理系统的图。餐厅用软件执行控制装置3010包括用户消息预处理部、用户消息处理部、应用程序执行部、参照信息管理部(未图示),它们分别与图2图示的实施例的用户消息预处理部200、用户消息处理部300、应用程序执行部400、参照信息管理部500对应。因此,省略与这些结构有关的详细说明。POS终端、个人计算机、或触摸板等餐厅用软件执行控制装置3010以便携电话消息、电子邮件的形式接受从店主、顾客等请求预约的用户消息。如果顾客向店主发送请求预约的便携电话消息、电子邮件,则可以自动地传送到餐厅用软件执行控制装置3010。
上述便携电话消息、电子邮件是定型消息或非定型消息。餐厅用软件执行控制装置3010如果接收到该用户消息,则对其进行结构化而判断是否是定型消息。如果上述用户消息是定型消息,则上述定型消息处理模块302参照定型消息数据库510,读出、生成与该消息对应的动作流程。如果上述用户消息是非定型消息,则上述非定型消息处理模块304参照上述动作请求同义词数据库520挑选与上述消息对应的动作请求,参照上述对应工作数据库530指定对挑选出的各动作请求适合的对应工作,参照上述对应工作-动作数据库540生成适合的动作流程。接着,针对这样生成的动作流程,上述应用程序挑选模块402挑选适合的应用程序,上述应用程序执行控制模块404参照上述动作-应用程序数据库560、应用程序过程数据库570、应用程序执行信息数据库580的全部或一部分,执行上述挑选出的应用程序。
在具体的例子中,根据包含在上述接收者消息中的预约日、预约时间、人数等信息预约桌子,根据包含顾客名的顾客识别信息从上述特性信息数据库550中读出该顾客经常点的食品、饮料相关的信息,在根据读出的信息确认了上述食品、饮料的库存后,在没有库存的情况下,进行购买的请求。如果在用户消息中不包含顾客的姓名,则可以向店主查询顾客名。
接着,说明处理点菜请求的实施例。如图示那样,餐厅预约和点菜管理系统3000包括用有线或无线连接的餐厅用软件执行控制装置3010、一个或一个以上的顾客用触摸板3020、一个或一个以上的厨房用触摸板3030、一个或以上以上的服务员用触摸板(未图示)。在存在多个顾客用触摸板3020、厨房用触摸板3030或服务员用触摸板(未图示)的情况下,根据固有识别信息来区别它们。餐厅用软件执行控制装置3010包含点菜信息管理应用程序、待机时间计算应用程序等,上述应用程序可以记录在餐厅用软件执行控制装置3010的内部的存储器或智能卡、CD等存储装置。配置在销售处内的各桌子上的顾客用触摸板3020包含点菜请求应用程序、点菜信息显示应用程序等。配置在厨房中的厨房用触摸板3030包含菜品处理管理应用程序等。上述应用程序既可以保存在餐厅用软件执行控制装置3010、顾客用触摸板3020、或厨房用触摸板3030中,也可以保存在外部服务器中。注意上述应用程序也可以是网页服务。
例如,如果从与上述本发明的餐厅用软件执行控制装置3010连接的多个顾客用触摸板3020分别输入包含点菜信息、桌子识别信息、顾客识别信息等的用户消息,则上述软件执行控制装置3010经过上述过程生成与上述用户消息对应的动作流程,执行挑选出的应用程序。各个顾客用触摸板3020包括显示器和能够接受输入点菜信息的输入部,将所服务的菜单项目、点菜请求图标显示在显示器上。如果顾客在显示在配置于桌子上的顾客用触摸板3020上的菜单项目中选择希望点菜的项目,并点击或触摸点菜图标,则上述输入部接收该信息。菜单项目的选择、点菜请求既可以通过鼠标、触摸板输入,也可以是声音指令的形式。另外,上述点菜请求应用程序在通过接受姓名输入等的方法从顾客取得了该顾客的识别信息,或该顾客事先进行了预约的情况下,参照预约信息而取得顾客识别信息。上述点菜请求应用程序将顾客用触摸板3020的识别信息、通过上述输入部接收到的菜单项目相关的信息、顾客识别信息发送到餐厅用软件执行控制装置3010。餐厅用软件执行控制装置3010将顾客用触摸板3020的固有识别信息、选择出的菜单项目、顾客识别信息等数据与点菜这样的内容的数据一起作为用户消息而接收。
餐厅用软件执行控制装置3010根据上述顾客识别信息从上述特性信息数据库550中读出用餐个性(例如快的上菜、顺序上菜、有富余的上菜等)、喜好的味道(例如口重、普通、口轻等)等信息。在没有保存顾客信息的情况下,可以在让店长或负责招待员与顾客商量后,使用设置在柜台或其他地方的工作人员用触摸板(未图示)输入关联信息。餐厅用软件执行控制装置3010根据上述读出的信息确定从多个顾客用触摸板3020点菜的菜单项目的烹调顺序,传达到厨房用触摸板3030。例如可以调整烹调顺序,使得与选择喜好有富余上菜的顾客所点菜的菜品相比先烹调由选择喜好快上菜的顾客所点菜的菜品。厨房用触摸板3030将所点菜的菜单项目的烹调过程分为预定的阶段,根据实际烹调进展状况向厨师输入进入了哪个阶段的信息,将该信息发送到餐厅用软件执行控制装置3010。餐厅用软件执行控制装置3010将烹调等待时间或烹调完成信息传送到顾客用触摸板3020,使得能够由顾客阅览它。
除此以外,本发明并不限于上述的实施方式,在实施阶段在不脱离其主要内容的范围内能够进行各种变形。另外,也可以尽量适当地组合实施在上述实施方式中执行的功能。在上述实施方式中包含各种阶段,通过所公开的多个结构要件的适当的组合能够提取各种发明。例如,即使从实施方式所示的全部结构要件中删除若干个结构要件,只要能够得到效果,则能够作为发明而提取删除了该结构要件后的结构。
Claims (10)
1.一种软件执行控制装置,其根据从用户接收到的用户消息来控制多个应用程序的执行,该软件执行控制装置包括:
参照信息管理部,其收集并更新为了执行多个应用程序而参照的参照信息;
用户消息预处理部,其接收通过预定的方法从用户输入或传达的用户消息,从接收到的上述用户消息中提取一个以上的组分,根据提取出的组分解释上述用户消息;
消息处理部,其基于根据上述用户消息解释的事项,确定上述用户所请求的一个以上的动作;以及
应用程序执行部,其根据由上述参照信息管理部管理的参照信息、由上述消息处理部确定的动作,挑选为了完成所确定的各个上述动作而应该执行的应用程序,并执行挑选出的上述应用程序,
上述用户消息预处理部包括:
用户消息接收模块,其接收通过预定的方法从用户输入或传达的用户消息;
用户消息结构化模块,其从接收到的上述用户消息中提取一个以上的组分,各个上述组分是指令词或实体;以及
用户消息解释模块,其根据提取出的一个以上的上述组分,判断上述用户消息是否是定型消息,
上述消息处理部根据由上述用户消息预处理部提取出的一个以上的组分确定动作,
上述消息处理部包括:
定型消息处理模块,其根据被解释为定型消息的定型用户消息确定一个以上的动作;
该软件执行控制装置的特征在于,
上述消息处理部还包括非定型消息处理模块,其根据被解释为不是定型消息的非定型用户消息确定一个以上的动作,
上述参照信息管理部构建并运用以下数据库:
动作请求同义词数据库,其对于构成被请求根据上述用户消息完成的业务的一个以上的动作请求,对应地记录了一个以上的同义词;
对应工作数据库,其将为了满足各个上述动作请求而应该完成的一个以上的对应工作与各个上述动作请求对应地记录起来;
对应工作-动作数据库,其将完成各个上述对应工作所需要的一个以上的动作与各个上述对应工作对应地记录起来;以及
特性信息数据库,其按照用户对应地记录了一个以上的特性、从由按照各特性的多个选择项的优先顺序和加权值构成的集合中选择出的信息,
上述非定型消息处理模块参照上述动作请求同义词数据库、上述对应工作数据库、上述对应工作-动作数据库中的一个以上,确定与从上述用户消息中提取出的实体或指令词对应的一个以上的动作,规定所确定的上述动作的执行定时,
上述消息处理部参照上述特性信息数据库,确定与上述用户消息对应的一个以上的动作。
2.一种软件执行控制装置,其根据从用户接收到的用户消息来控制多个应用程序的执行,该软件执行控制装置包括:
参照信息管理部,其收集并更新为了执行多个应用程序而参照的参照信息;
用户消息预处理部,其接收通过预定的方法从用户输入或传达的用户消息,从接收到的上述用户消息中提取一个以上的组分,根据提取出的组分解释上述用户消息;
消息处理部,其基于根据上述用户消息解释的事项,确定上述用户所请求的一个以上的动作;以及
应用程序执行部,其根据由上述参照信息管理部管理的参照信息、由上述消息处理部确定的动作,挑选为了完成所确定的各个上述动作而应该执行的应用程序,并执行挑选出的上述应用程序,
上述用户消息预处理部包括:
用户消息接收模块,其接收通过预定的方法从用户输入或传达的用户消息;
用户消息结构化模块,其从接收到的上述用户消息中提取一个以上的组分,各个上述组分是指令词或实体;以及
用户消息解释模块,其根据提取出的一个以上的上述组分,判断上述用户消息是否是定型消息,
上述消息处理部根据由上述用户消息预处理部提取出的一个以上的组分确定动作,
上述消息处理部包括:
定型消息处理模块,其根据被解释为定型消息的定型用户消息确定一个以上的动作;
该软件执行控制装置的特征在于,
上述消息处理部还包括非定型消息处理模块,其根据被解释为不是定型消息的非定型用户消息确定一个以上的动作,
上述参照信息管理部构建并运用以下数据库:
动作请求同义词数据库,其对于构成被请求根据上述用户消息完成的业务的一个以上的动作请求,对应地记录了一个以上的同义词;
对应工作数据库,其将为了满足各个上述动作请求而应该完成的一个以上的对应工作与各个上述动作请求对应地记录起来;
对应工作-动作数据库,其将完成各个上述对应工作所需要的一个以上的动作与各个上述对应工作对应地记录起来;以及
特性信息数据库,其按照用户对应地记录了一个以上的特性、从由按照各特性的多个选择项的优先顺序和加权值构成的集合中选择出的信息,
上述非定型消息处理模块参照上述动作请求同义词数据库、上述对应工作数据库、上述对应工作-动作数据库中的一个以上,确定与从上述用户消息中提取出的实体或指令词对应的一个以上的动作,规定所确定的上述动作的执行定时,
上述应用程序执行部参照上述特性信息数据库挑选上述应用程序。
3.一种软件执行控制装置,其根据从用户接收到的用户消息来控制多个应用程序的执行,该软件执行控制装置包括:
参照信息管理部,其收集并更新为了执行多个应用程序而参照的参照信息;
用户消息预处理部,其接收通过预定的方法从用户输入或传达的用户消息,从接收到的上述用户消息中提取一个以上的组分,根据提取出的组分解释上述用户消息;
消息处理部,其基于根据上述用户消息解释的事项,确定上述用户所请求的一个以上的动作;以及
应用程序执行部,其根据由上述参照信息管理部管理的参照信息、由上述消息处理部确定的动作,挑选为了完成所确定的各个上述动作而应该执行的应用程序,并执行挑选出的上述应用程序,
上述用户消息预处理部包括:
用户消息接收模块,其接收通过预定的方法从用户输入或传达的用户消息;
用户消息结构化模块,其从接收到的上述用户消息中提取一个以上的组分,各个上述组分是指令词或实体;以及
用户消息解释模块,其根据提取出的一个以上的上述组分,判断上述用户消息是否是定型消息,
上述消息处理部根据由上述用户消息预处理部提取出的一个以上的组分确定动作,
上述消息处理部包括:
定型消息处理模块,其根据被解释为定型消息的定型用户消息确定一个以上的动作;
该软件执行控制装置的特征在于,
上述消息处理部还包括非定型消息处理模块,其根据被解释为不是定型消息的非定型用户消息确定一个以上的动作,
上述参照信息管理部构建并运用以下数据库:
动作请求同义词数据库,其对于构成被请求根据上述用户消息完成的业务的一个以上的动作请求,对应地记录了一个以上的同义词;
对应工作数据库,其将为了满足各个上述动作请求而应该完成的一个以上的对应工作与各个上述动作请求对应地记录起来;
对应工作-动作数据库,其将完成各个上述对应工作所需要的一个以上的动作与各个上述对应工作对应地记录起来;以及
特性信息数据库,其按照用户对应地记录了特性、按照各特性的多个选择项的加权值信息,
上述非定型消息处理模块参照上述动作请求同义词数据库、上述对应工作数据库、上述对应工作-动作数据库中的一个以上,确定与从上述用户消息中提取出的实体或指令词对应的一个以上的动作,规定所确定的上述动作的执行定时,
上述非定型消息处理模块参照上述特性信息数据库,根据从选择自集合的运算结果中选择的值完成上述挑选,所述集合由构成各个组合的动作的加权值的合计和积构成。
4.根据权利要求1~3中任一项所述的软件执行控制装置,其特征在于,
上述参照信息管理部构建并运用定型消息数据库,该定型消息数据库将与一个以上的定型消息的构造有关的信息、规定与上述定型消息的各个对应的一个以上的动作的执行定时的动作流程与一个以上的上述定型消息对应地记录起来,
上述用户消息解释模块根据从包含由上述用户消息结构化模块提取出的指令词的内容和个数、实体的种类和类型的组中选择出的一个以上的信息以及记录在上述定型消息数据库中的信息,判断上述用户消息是否是定型消息,
如果由上述用户消息解释模块判断为上述用户消息是定型消息,则上述定型消息处理模块从上述定型消息数据库读出与上述定型消息对应地记录的动作流程。
5.根据权利要求3所述的软件执行控制装置,其特征在于,
上述参照信息管理部构建并运用以下数据库:
动作请求-动作数据库,其将满足各个上述动作请求的一个以上的动作与各个上述动作请求对应地记录起来,
上述非定型消息处理模块参照上述动作请求同义词数据库、上述动作请求-动作数据库中的一个以上,确定与从上述用户消息中提取出的实体或指令词对应的一个以上的动作,规定所确定的上述动作的执行定时。
6.根据权利要求1~3中任一项所述的软件执行控制装置,其特征在于,
上述应用程序执行部根据与应该执行的上述应用程序的输入数据的类型和格式相关的信息,变更应该输入到上述应用程序的数据的类型或格式。
7.根据权利要求1~3中任一项所述的软件执行控制装置,其特征在于,
上述应用程序执行部根据与应该执行的上述应用程序的过程有关的信息,生成控制上述应用程序的执行的控制信号。
8.根据权利要求1~3中任一项所述的软件执行控制装置,其特征在于,
上述应用程序执行部还包括:输出生成模块,其组合针对上述用户消息挑选出的应用程序的输出数据的一部分或全部,生成向上述用户或根据上述用户消息确定的接收者提供的一个以上的输出。
9.根据权利要求5所述的软件执行控制装置,其特征在于,
上述非定型消息处理模块在存在与上述动作请求的任意一个对应的多个动作的情况下,生成与上述动作请求对应的多个上述动作的上述组合,在上述组合中挑选一个以上。
10.一种软件执行控制方法,其利用软件执行控制装置,根据从用户接收到的用户消息来控制多个应用程序的执行,该软件执行控制方法包括:
收集并更新为了执行多个应用程序而参照的参照信息的参照信息管理阶段;
接收通过预定的方法从用户输入或传达的用户消息,从接收到的上述用户消息中提取一个以上的组分,根据提取的组分解释上述用户消息的用户消息预处理阶段;
根据从上述用户消息解释的事项,确定上述用户所请求的一个以上的动作的消息处理阶段;
根据上述参照信息、在上述消息处理阶段中确定的动作,挑选为了完成所确定的各个上述动作而应该执行的应用程序,并执行挑选出的上述应用程序的应用程序执行阶段,
其中,上述用户消息预处理阶段包括从接收到的上述用户消息中提取一个以上的组分的用户消息结构化阶段,各个上述组分是指令词或实体;
其中上述消息处理阶段根据由上述用户消息预处理阶段提取出的一个以上的组分确定动作,并且包括定型消息处理阶段,其根据被解释为定型消息的定型用户消息确定一个以上的动作,
该软件执行控制方法的特征在于,
上述消息处理阶段还包括非定型消息处理阶段,其根据被解释为不是定型消息的非定型用户消息确定一个以上的动作,
上述参照信息管理阶段构建并运用以下数据库:
动作请求同义词数据库,其对于构成被请求根据上述用户消息完成的业务的一个以上的动作请求,对应地记录了一个以上的同义词;
对应工作数据库,其将为了满足各个上述动作请求而应该完成的一个以上的对应工作与各个上述动作请求对应地记录起来;
对应工作-动作数据库,其将完成各个上述对应工作所需要的一个以上的动作与各个上述对应工作对应地记录起来;以及
特性信息数据库,其按照用户对应地记录了一个以上的特性、从由按照各特性的多个选择项的优先顺序和加权值构成的集合中选择出的信息,
上述非定型消息处理阶段参照上述动作请求同义词数据库、上述对应工作数据库、上述对应工作-动作数据库中的一个以上,确定与从上述用户消息中提取出的实体或指令词对应的一个以上的动作,规定所确定的上述动作的执行定时,
上述消息处理阶段参照上述特性信息数据库,确定与上述用户消息对应的一个以上的动作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012164510A JP5853890B2 (ja) | 2012-07-25 | 2012-07-25 | ソフトウェア実行制御装置、実行制御方法、及び実行制御プログラム |
JP2012-164510 | 2012-07-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103577183A CN103577183A (zh) | 2014-02-12 |
CN103577183B true CN103577183B (zh) | 2017-05-24 |
Family
ID=48832763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310315054.2A Expired - Fee Related CN103577183B (zh) | 2012-07-25 | 2013-07-25 | 软件执行控制装置和软件执行控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9614790B2 (zh) |
EP (1) | EP2690587A3 (zh) |
JP (1) | JP5853890B2 (zh) |
KR (1) | KR101438895B1 (zh) |
CN (1) | CN103577183B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150134441A1 (en) * | 2013-11-13 | 2015-05-14 | Tabletop Media Llc D/B/A Ziosk | Table-side device integration to a point-of-sale (POS) hospitality system |
US10055223B1 (en) * | 2017-02-13 | 2018-08-21 | Coupa Software Incorporated | Method of automatically invoking application program functions for a defined project and generating activity and report data for progress in the project |
DE102017107277A1 (de) * | 2017-04-05 | 2018-10-11 | Hanon Systems | Anordnung und Verfahren zur Aktualisierung einer Steuersoftware in einem Hochvolt-Steuergerät |
US11410075B2 (en) * | 2018-01-15 | 2022-08-09 | Microsoft Technology Licensing, Llc | Contextually-aware recommendations for assisting users with task completion |
JP2020003905A (ja) * | 2018-06-26 | 2020-01-09 | 株式会社日本総合研究所 | Rpa装置、rpaシステム、及びプログラム |
KR102169980B1 (ko) * | 2018-06-29 | 2020-10-27 | ㈜유엔이 | 재난 상황 전파 방법 및 이를 위한 시스템 |
CN112075806B (zh) * | 2020-09-16 | 2022-02-18 | 浙江梦神家居股份有限公司 | 一种带有app控制的智能充气床垫 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748974A (en) * | 1994-12-13 | 1998-05-05 | International Business Machines Corporation | Multimodal natural language interface for cross-application tasks |
CN1742461A (zh) * | 2003-02-10 | 2006-03-01 | 诺基亚有限公司 | 识别消息中的模式并生成操作的方法和装置 |
CN100548007C (zh) * | 2003-09-30 | 2009-10-07 | 京瓷株式会社 | 移动通信终端、信息提供系统及方法 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0455825B1 (en) | 1989-11-28 | 2000-04-26 | Japan Airlines Company, Ltd. | Terminal of reserving system and method of operating terminal computer thereof |
US6950991B2 (en) | 1995-11-13 | 2005-09-27 | Citrix Systems, Inc. | Interacting with software applications displayed in a web page |
JPH09231145A (ja) * | 1996-02-27 | 1997-09-05 | Hitachi Ltd | 電子メールによる自動運転システム |
US7076784B1 (en) * | 1997-10-28 | 2006-07-11 | Microsoft Corporation | Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment |
US6397191B1 (en) * | 1998-06-05 | 2002-05-28 | I2 Technologies Us, Inc. | Object-oriented workflow for multi-enterprise collaboration |
JP2002523828A (ja) | 1998-08-24 | 2002-07-30 | ビーシーエル コンピューターズ, インコーポレイテッド | 適応型自然言語インターフェース |
GB2342194A (en) * | 1998-09-28 | 2000-04-05 | Kpmg Management Consulting | Monitoring and controlling a process |
WO2002021401A2 (en) | 2000-09-07 | 2002-03-14 | Petrovantage, Inc. | Computer method and apparatus for petroleum trading and logistics |
JP2002135206A (ja) * | 2000-10-27 | 2002-05-10 | Temuko Japan:Kk | 特定グループごとに行なう無線通信用システム |
US20030135384A1 (en) | 2001-09-27 | 2003-07-17 | Huy Nguyen | Workflow process method and system for iterative and dynamic command generation and dynamic task execution sequencing including external command generator and dynamic task execution sequencer |
US6901417B2 (en) | 2002-01-11 | 2005-05-31 | International Business Machines Corporation | Method, system, and program for updating records in a database when applications have different version levels |
US7529762B2 (en) * | 2002-08-28 | 2009-05-05 | Hewlett-Packard Development Company, L.P. | Workflow data warehousing |
US7493387B2 (en) * | 2003-09-19 | 2009-02-17 | International Business Machines Corporation | Validating software in a grid environment using ghost agents |
JP4476589B2 (ja) * | 2003-09-30 | 2010-06-09 | 京セラ株式会社 | 移動通信端末 |
US7870201B2 (en) * | 2004-12-03 | 2011-01-11 | Clairmail Inc. | Apparatus for executing an application function using a mail link and methods therefor |
US7657870B2 (en) | 2005-02-25 | 2010-02-02 | International Business Machines Corporation | Method and apparatus for implementing dynamic function groups in a data processing system |
JP2007079896A (ja) * | 2005-09-14 | 2007-03-29 | Nomura Research Institute Ltd | 監視装置及び監視方法 |
US8010700B2 (en) * | 2005-11-01 | 2011-08-30 | International Business Machines Corporation | Workflow decision management with workflow modification in dependence upon user reactions |
EP1955183A2 (en) * | 2005-11-15 | 2008-08-13 | Clairmail Inc. | Application access utilizing a client-generated authentication code |
US20070192152A1 (en) | 2006-02-13 | 2007-08-16 | Itt Manufacturing Enterprises, Inc. | Software phase sequencer editor and method of editing |
WO2008103608A2 (en) | 2007-02-19 | 2008-08-28 | Ondeego, Inc. | Methods and system to create applications and distribute applications to a remote device |
US8676902B2 (en) | 2007-11-28 | 2014-03-18 | International Business Machines Corporation | System and method for service oriented email client application |
US8312104B2 (en) * | 2008-07-01 | 2012-11-13 | General Motors Llc | Interactive information dissemination and retrieval system and method for generating action items |
US8213971B2 (en) * | 2009-04-27 | 2012-07-03 | Qualcomm Incorporated | Apparatus and method for activating computer applications with SMS messaging |
US8332811B2 (en) | 2009-04-30 | 2012-12-11 | United Parcel Service Of America, Inc. | Systems and methods for generating source code for workflow platform |
US20110202864A1 (en) * | 2010-02-15 | 2011-08-18 | Hirsch Michael B | Apparatus and methods of receiving and acting on user-entered information |
US8789205B2 (en) | 2010-04-21 | 2014-07-22 | Microsoft Corporation | Role-based graphical user interfaces |
US20120311157A1 (en) * | 2011-06-03 | 2012-12-06 | Erickson Philip J | Integrated information technology service management for cloud resources |
EP2495673A1 (en) | 2011-03-01 | 2012-09-05 | Tata Consultancy Services Ltd. | Computer implemented system for facilitating configuration, data tracking and reporting for data centric applications |
US9274877B2 (en) * | 2011-07-31 | 2016-03-01 | Hewlett Packard Enterprise Development Lp | Incident handling |
JP2013257738A (ja) * | 2012-06-13 | 2013-12-26 | Casio Comput Co Ltd | コンピューティングシステム、コンピューティングシステムの実行制御方法及び実行制御プログラム |
-
2012
- 2012-07-25 JP JP2012164510A patent/JP5853890B2/ja active Active
- 2012-08-07 KR KR1020120086415A patent/KR101438895B1/ko active IP Right Grant
-
2013
- 2013-07-17 EP EP13176780.8A patent/EP2690587A3/en not_active Ceased
- 2013-07-17 US US13/944,517 patent/US9614790B2/en active Active
- 2013-07-25 CN CN201310315054.2A patent/CN103577183B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748974A (en) * | 1994-12-13 | 1998-05-05 | International Business Machines Corporation | Multimodal natural language interface for cross-application tasks |
CN1742461A (zh) * | 2003-02-10 | 2006-03-01 | 诺基亚有限公司 | 识别消息中的模式并生成操作的方法和装置 |
CN100548007C (zh) * | 2003-09-30 | 2009-10-07 | 京瓷株式会社 | 移动通信终端、信息提供系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101438895B1 (ko) | 2014-11-03 |
EP2690587A2 (en) | 2014-01-29 |
JP5853890B2 (ja) | 2016-02-09 |
US9614790B2 (en) | 2017-04-04 |
US20140032685A1 (en) | 2014-01-30 |
EP2690587A3 (en) | 2014-06-18 |
CN103577183A (zh) | 2014-02-12 |
JP2014026367A (ja) | 2014-02-06 |
KR20140013869A (ko) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103577183B (zh) | 软件执行控制装置和软件执行控制方法 | |
US20200134738A1 (en) | Navigating to user content in a financial management system | |
Chen et al. | Analysing customer behaviour in mobile app usage | |
JP2010033484A (ja) | 宴会場所推薦装置および宴会場所推薦プログラム | |
Steinfield et al. | Small and medium-sized enterprises in rural business clusters: the relation between ICT adoption and benefits derived from cluster membership | |
CN108228559A (zh) | 一种用于用户业务的人机交互实现方法及系统 | |
JP2002032649A (ja) | 購買促進システム及び方法並びに装置 | |
EP1500015A2 (en) | Customer interaction reporting | |
Liyanage et al. | Foody-Smart restaurant management and ordering system | |
CN109155041A (zh) | 提供与社交图相关联的基于旅行或促销的推荐 | |
CN109102326A (zh) | 一种基于大数据特征分析的云餐饮平台及分析方法 | |
US20170374001A1 (en) | Providing communication ranking scheme based on relationship graph | |
JP2021185535A (ja) | 行動情報収集システム | |
KR20100003102A (ko) | 개인 맞춤형 상품 정보를 제공하는 방법 및 장치 | |
Suyunchaliyeva et al. | Digital economy: Information technology and trends in tourism | |
JP2019219737A (ja) | 対話サーバ、対話方法及び対話プログラム | |
JP3939249B2 (ja) | 店舗システム | |
JP2003058672A (ja) | 店舗の評価情報提供システム | |
Cho et al. | Strategic planning using service roadmaps | |
US20200219123A1 (en) | Server, method and recording medium storing commands for managing customers | |
Pawar et al. | Developing an Improvised E-Menu Recommendation System for Customer | |
US20160260178A1 (en) | Commodity management system, information processing apparatus and terminal device for managing commodity | |
JP2006235956A (ja) | オフィス業務システムおよびプログラム | |
JP2008250634A (ja) | 出張スケジュール連携土産品購入支援システム、土産品購入支援装置、土産品購入支援プログラム | |
KR20210022397A (ko) | 여행사를 위한 여행사 전용 전사적자원관리 서비스 제공 서버 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170524 Termination date: 20210725 |
|
CF01 | Termination of patent right due to non-payment of annual fee |