[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5853890B2 - Software execution control device, execution control method, and execution control program - Google Patents

Software execution control device, execution control method, and execution control program Download PDF

Info

Publication number
JP5853890B2
JP5853890B2 JP2012164510A JP2012164510A JP5853890B2 JP 5853890 B2 JP5853890 B2 JP 5853890B2 JP 2012164510 A JP2012164510 A JP 2012164510A JP 2012164510 A JP2012164510 A JP 2012164510A JP 5853890 B2 JP5853890 B2 JP 5853890B2
Authority
JP
Japan
Prior art keywords
user
message
application
user message
action
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.)
Active
Application number
JP2012164510A
Other languages
Japanese (ja)
Other versions
JP2014026367A (en
Inventor
弘司 高橋
弘司 高橋
祐司 園山
祐司 園山
耕司 西谷
耕司 西谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2012164510A priority Critical patent/JP5853890B2/en
Priority to KR1020120086415A priority patent/KR101438895B1/en
Priority to EP13176780.8A priority patent/EP2690587A3/en
Priority to US13/944,517 priority patent/US9614790B2/en
Priority to CN201310315054.2A priority patent/CN103577183B/en
Publication of JP2014026367A publication Critical patent/JP2014026367A/en
Application granted granted Critical
Publication of JP5853890B2 publication Critical patent/JP5853890B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-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)

Description

本発明は、ソフトウェア実行制御装置及び実行制御方法と、その実行制御プログラムに関する。特に、本発明は、使用者のコンピュータシステムに保存されたソフトウェア、又は、外部のコンピュータシステム、例えば、サーバーに保存されたソフトウェアの実行を制御することによって、使用者が必要とする業務に柔軟に対応できるソフトウェア実行制御装置及び実行制御方法と、その実行制御プログラムに関する。   The present invention relates to a software execution control device, an execution control method, and an execution control program thereof. In particular, the present invention flexibly adapts to the work required by the user by controlling the execution of software stored in the user's computer system or software stored in an external computer system, for example, a server. The present invention relates to a software execution control apparatus and execution control method that can be used, and an execution control program thereof.

中小自営業とフランチャイズ等を含む多様な規模と形態のレストランが存在する。このような多様なレストランを運営するためには、多様な種類の業務が遂行される必要があり、今までは通常的に業務の種類によって人が直接処理したり、市中に流通するソフトウェアを購入して処理したりしていた。例えば、店主は、市販された会計用ソフトウェアを購入して、自身のパソコンにインストールし、売り上げ情報を上記ソフトウェアに入力して実行させることによって、売り上げ情報を取得することができる。最近、パソコン、スマートフォン、タブレットPC、等のように、応用ソフトウェア(以下、『アプリケーション』又は簡略に『アプリ』とも呼ぶ)をダウンロードすることができたり、ウェブサーバーに接続してウェブサービスを利用することができる、高性能の、様々なコンピューティングシステムが開発されて広く普及されることに伴って、様々なレストラン業務用アプリケーションが 活発に開発されている。(例えば、特許文献1参照。)   There are restaurants of various sizes and forms, including small and medium self-employed and franchise. In order to operate such a variety of restaurants, it is necessary to carry out various types of business. Until now, software that is usually processed directly by people depending on the type of business or distributed in the city. We purchased and processed. For example, the store owner can acquire sales information by purchasing commercially available accounting software, installing it on his / her personal computer, inputting the sales information into the software and executing it. Recently, you can download application software (hereinafter also referred to as “application” or simply “application”), such as a personal computer, smartphone, tablet PC, etc., or use a web service by connecting to a web server. With the development and widespread use of various high-performance computing systems that can be used, various restaurant business applications are being actively developed. (For example, refer to Patent Document 1.)

レストランの店主や従業員は、特定業務のための専用アプリケーションに、予め決まった特定のタイプとフォーマットのデータを入力し、上記アプリケーションを実行させることによって、必要な業務を遂行する。店主や従業員は、自分が遂行しようとする業務のために、時々直接プログラム コードを作成してアプリケーションを開発する場合もありえるが、大部分ソフトウェア開発者に専用アプリケーションを開発させたり、ソフトウェア開発者又は開発会社の既に開発した市販用アプリケーションを購入して利用したりする。店主や従業員は、遂行しようとする業務が、一つのアプリケーションによって支援されない作業を含む場合には、上記作業を実行できる一つ又はそれ以上の追加的なアプリケーションを探して、そのアプリケーションを別に実行させたり、自分が直接その作業を行う。   A restaurant owner or employee performs a necessary job by inputting predetermined data of a specific type and format into a dedicated application for a specific job and executing the application. Store owners and employees may sometimes create applications by directly creating program code for the work they are trying to accomplish, but most software developers have developed dedicated applications or software developers Or, a commercial application already developed by a development company is purchased and used. If a business owner or employee wants to perform a task that is not supported by a single application, the store owner or employee will look for one or more additional applications that can perform the task and execute that application separately. Or do it directly yourself.

国際公開公報WO 91/08540 A1International Publication No. WO 91/08540 A1

レストランビジネスにおいて、例えば、予約管理、帳簿作成、在庫管理、等多様な種類の業務が遂行される必要があり、このような多様な業務が互いに連携されなければならない場合も多い。しかし、このような多様な業務を処理するために、店主が各々自分の要求と状況に合う専用アプリケーションを開発することは、コストと時間面でかなり難しい。また、直接アプリケーションを開発するといっても、業務のプロセスや細部の事項に変動がある場合、これに対応するためには変動があるたびにアプリケーションのプログラムコードを変更したり、完全に新しく開発しなければならない問題もある。   In the restaurant business, for example, various types of operations such as reservation management, book creation, and inventory management need to be performed, and such various operations often have to be linked to each other. However, in order to handle such various operations, it is quite difficult for shop owners to develop dedicated applications that meet their own requirements and circumstances. Even if you develop an application directly, if there is a change in the business process or details, you can change the program code of the application every time there is a change or develop a completely new application. There are also problems that must be addressed.

ソフトウェア開発者によって開発された市販用アプリケーションを購入して使う場合には、そのアプリケーションが提供しない機能を追加したり、アプリケーションの機能又は動作を変更したりすることができない。従って、新たな機能が必要になる場合には別のアプリケーションを更に購入したり、必要な機能を含む専用アプリケーションを開発しなければならない。また、遂行されるべき業務のために要求される様々な機能を一つのアプリケーションが支援しない場合も多い。一つのアプリケーションが支援しない追加の機能のためには、この機能を支援する別のアプリケーションを実行させなければならないし、同じデータを重複して複数のアプリケーションに入力したり、入力データのフォーマットを事々に変更したりしなければならない不都合がある。更に、必要な機能を支援するアプリケーションを直接探しなければならないので、多くの時間が所要されるし、必要なアプリケーションを探せない場合は目標にする業務自体を行えなくなることもある。更に、特定業務のために開発されたアプリケーションでは、予定されていなかった業務を全然処理できないという問題点もある。   When purchasing and using a commercial application developed by a software developer, it is not possible to add a function that the application does not provide or change the function or operation of the application. Therefore, when a new function is required, another application must be purchased, or a dedicated application including the necessary function must be developed. In many cases, one application does not support various functions required for the work to be performed. For additional functions not supported by one application, another application that supports this function must be executed, and the same data can be input to multiple applications or the format of the input data must be specified. There is an inconvenience that must be changed frequently. Furthermore, since it is necessary to directly search for an application that supports a necessary function, a lot of time is required, and if the necessary application cannot be found, the target operation itself may not be performed. Furthermore, there is a problem that an application developed for a specific business cannot process a business that was not planned at all.

本発明の課題は、上記の従来技術の問題点を解決することである。具体的に、本発明は、レストランビジネスに必要な多様な種類の業務を迅速に、且つ便利に処理することができるように、複数のソフトウェアの実行を制御するソフトウェア実行制御装置及び実行制御方法と、その実行制御プログラムを提供することを目的とする。本発明の応用分野は、レストランに限定されなくて、病院、学校、書店、劇場、ショッピングセンター、テーマパーク等、本発明の技術思想が適用されることができるところであれば、その業種に制限がないことに注意しなければならない。   An object of the present invention is to solve the above-mentioned problems of the prior art. Specifically, the present invention relates to a software execution control device and an execution control method for controlling the execution of a plurality of software so that various types of operations necessary for a restaurant business can be processed quickly and conveniently. It is an object of the present invention to provide an execution control program. The application field of the present invention is not limited to restaurants, but there are restrictions on the industry as long as the technical idea of the present invention can be applied, such as hospitals, schools, bookstores, theaters, shopping centers, theme parks, etc. Note that there is no.

上記課題を解決する為に、本発明の1つの態様は、使用者から受信した使用者メッセージに基づいて複数のアプリケーションの実行を制御するソフトウェア実行制御装置において、複数のアプリケーションの実行のために参照される参照情報を収集し、更新する参照情報管理部と、所定の方法により使用者から入力又は伝達された使用者メッセージを受信し、上記受信された使用者メッセージから一つ又はそれ以上のコンポーネントを抽出し、抽出されたコンポーネントに基づいて上記使用者メッセージを解釈する使用者メッセージ前処理部と、上記使用者メッセージから解釈された事項に基づいて、上記使用者が要求する一つ又はそれ以上のアクションを特定するメッセージ処理部と、上記参照情報管理部によって管理される参照情報と、上記メッセージ処理部によって特定されたアクションとに基づいて、上記特定されたそれぞれのアクションを遂行するために実行されるべきアプリケーションを選別し、上記選別されたアプリケーションを実行させるアプリ実行部と、を含み、上記参照情報管理部は、使用者別に一つ又はそれ以上の特性と、各特性別に複数の選択肢の優先順位及び加重値で構成された集合から選択された情報とを対応付けて記録した特性情報データベースを構築して運用し、上記メッセージ処理部は、上記特性情報データベースを参照して上記使用者メッセージに対応する一つ又はそれ以上のアクションを特定する、ことを特徴とするソフトウェア実行制御装置を提供する。 In order to solve the above-described problem, one aspect of the present invention refers to execution of a plurality of applications in a software execution control apparatus that controls execution of a plurality of applications based on a user message received from a user. Reference information management unit that collects and updates the reference information to be received, a user message input or transmitted from the user by a predetermined method, and one or more components from the received user message A user message pre-processing unit that interprets the user message based on the extracted components, and one or more requested by the user based on the items interpreted from the user message A message processing unit for identifying the action of the reference information, reference information managed by the reference information management unit, Containing, based on the action specified by the serial message processing unit, and selecting the application to be run in order to perform each of the actions specified above, the application executing unit for executing the selected application, the For example, the reference information management unit records one or more characteristics for each user in association with information selected from a set composed of priority and weight values of a plurality of options for each characteristic. Software execution control characterized in that a characteristic information database is constructed and operated, and the message processing unit specifies one or more actions corresponding to the user message with reference to the characteristic information database. Providing equipment.

また、本発明の他の1つの態様は、ソフトウェア実行制御装置を利用して、使用者から受信した使用者メッセージに基づいて複数のアプリケーションの実行を制御するソフトウェア実行制御方法において、複数のアプリケーションの実行のために参照される参照情報を収集し、更新する参照情報管理段階と、所定の方法により使用者から入力又は伝達された使用者メッセージを受信し、上記受信された使用者メッセージから一つ又はそれ以上のコンポーネントを抽出し、抽出されたコンポーネントに基づいて上記使用者メッセージを解釈する使用者メッセージ前処理段階と、上記使用者メッセージから解釈された事項に基づいて、上記使用者が要求する一つ又はそれ以上のアクションを特定するメッセージ処理段階と、上記参照情報と、上記メッセージ処理段階で特定されたアクションとに基づいて、上記特定されたそれぞれのアクションを遂行するために実行されるべきアプリケーションを選別し、上記選別されたアプリケーションを実行させるアプリ実行段階と、を含み、上記参照情報管理段階は、使用者別に一つ又はそれ以上の特性と、各特性別に複数の選択肢の優先順位及び加重値で構成された集合から選択された情報とを対応付けて記録した特性情報データベースを構築して運用し、上記メッセージ処理段階は、上記特性情報データベースを参照して上記使用者メッセージに対応する一つ又はそれ以上のアクションを特定する、ことを特徴とするソフトウェア実行制御方法を提供する。 According to another aspect of the present invention, there is provided a software execution control method for controlling execution of a plurality of applications based on a user message received from a user using a software execution control device. Reference information management stage for collecting and updating reference information to be referred to for execution, receiving a user message input or transmitted from a user by a predetermined method, and receiving one of the received user messages A user message pre-processing stage that extracts or extracts more components and interprets the user message based on the extracted components, and the user requests based on matters interpreted from the user message A message processing stage identifying one or more actions, the reference information, and the Based on the action specified in the message processing steps, were selected application to be run in order to perform each of the actions specified above, the application executing step of executing the selected application, only contains In the reference information management stage, one or more characteristics for each user and characteristics selected by associating information selected from a set composed of priority and weight values of a plurality of options for each characteristic are recorded. A software execution control method characterized in that an information database is constructed and operated, and the message processing step specifies one or more actions corresponding to the user message with reference to the characteristic information database. I will provide a.

また、本発明の他の1つの態様は、使用者から受信した使用者メッセージに基づいて複数のアプリケーションを実行させるようにコンピュータを制御するためのプログラムにおいて、
上記コンピュータを、複数のアプリケーションの実行のために参照される参照情報を収集し、更新する参照情報管理部、所定の方法により使用者から入力又は伝達された使用者メッセージを受信し、上記受信された使用者メッセージから一つ又はそれ以上のコンポーネントを抽出し、抽出されたコンポーネントに基づいて上記使用者メッセージを解釈する使用者メッセージ前処理部、上記使用者メッセージから解釈された事項に基づいて、上記使用者が要求する一つ又はそれ以上のアクションを特定するメッセージ処理部、及び上記参照情報管理部によって管理される参照情報と、上記メッセージ処理部によって特定されたアクションとに基づいて、上記特定されたそれぞれのアクションを遂行するために実行されるべきアプリケーションを選別し、上記選別されたアプリケーションを実行させるアプリ実行部として機能させるためのプログラムであって、上記参照情報管理部は、使用者別に一つ又はそれ以上の特性と、各特性別に複数の選択肢の優先順位及び加重値で構成された集合から選択された情報とを対応付けて記録した特性情報データベースを構築して運用し、上記メッセージ処理部は、上記特性情報データベースを参照して上記使用者メッセージに対応する一つ又はそれ以上のアクションを特定する、ことを特徴とするプログラムを提供する。
Another aspect of the present invention provides a program for controlling a computer to execute a plurality of applications based on a user message received from a user.
The reference information management unit that collects and updates reference information that is referred to for execution of a plurality of applications, receives a user message input or transmitted from a user by a predetermined method, and receives the received message. One or more components are extracted from the user message, a user message pre-processing unit that interprets the user message based on the extracted component, based on matters interpreted from the user message, The message processing unit that specifies one or more actions requested by the user, the reference information managed by the reference information management unit, and the identification specified based on the action specified by the message processing unit Application to be executed to carry out each action And another, a program to function as the application execution unit for executing the selected application, the reference information management unit, apart from the one or more characteristics's use in multiple for each characteristic Build and operate a characteristic information database in which information selected from a set composed of priorities and weights is recorded in association with each other, and the message processing unit refers to the characteristic information database and the user message A program characterized by specifying one or more actions corresponding to the above is provided.

本発明によれば、使用者が要求する業務を充足させるアクションフローを生成し、このアクションフローに従って一つ又は複数のアプリケーションを選別し、選別されたアプリケーションの実行を制御することによって、迅速に、且つ効率的に使用者が要求する多様な業務に対応するソフトウェア実行制御装置及び実行制御方法と、実行制御プログラムを提供することができる。従って、複雑な業務を構成する多様な動作を遂行する専用のアプリケーションを別に開発する必要がなく、複数のアプリケーションを様々に組み合わせて使用者が要求する多様な業務に対応することができる。   According to the present invention, an action flow that satisfies a job requested by a user is generated, one or a plurality of applications are selected according to the action flow, and execution of the selected applications is controlled quickly. In addition, it is possible to provide a software execution control apparatus, an execution control method, and an execution control program that can efficiently and efficiently handle various tasks requested by a user. Therefore, it is not necessary to separately develop a dedicated application for performing various operations constituting a complex business, and a plurality of applications can be combined in various ways to cope with various business required by the user.

本発明の一実施例によるソフトウェア実行制御装置の構成を概念的に示す図面である。1 is a diagram conceptually illustrating a configuration of a software execution control device according to an embodiment of the present invention. 本発明のソフトウェア実行制御装置の使用者メッセージ前処理部、メッセージ処理部、アプリ実行部、及び、参照情報管理部の構成の一実施例を概念的に示す図面である。It is drawing which shows notionally one Example of a structure of the user message pre-processing part of the software execution control apparatus of this invention, a message processing part, an application execution part, and a reference information management part. 本発明の一実施例によるソフトウェア実行制御方法を示すフローチャートである。5 is a flowchart illustrating a software execution control method according to an embodiment of the present invention. 本発明の一実施例による構造化された使用者メッセージを示す図面である。6 is a diagram illustrating a structured user message according to an exemplary embodiment of the present invention. 本発明の一実施例による構造化された使用者メッセージのエンティティ構造テーブルを示す図面である。3 is a diagram illustrating an entity structure table of a structured user message according to an exemplary embodiment of the present invention. 本発明の一実施例による構造化された使用者メッセージの命令語構造テーブルを示す図面である。6 is a diagram illustrating a command word structure table of a structured user message according to an exemplary embodiment of the present invention. 本発明の一実施例による定形的メッセージ データベースの構造を示す図面である。3 is a diagram illustrating a structure of a regular message database according to an exemplary embodiment of the present invention. 図7に図示された定形的メッセージデータベースのレストラン用システムの実施例を示す図面である。FIG. 8 is a diagram illustrating an example of a restaurant system for a typical message database illustrated in FIG. 7. 本発明の一実施例によるアクション要求同義語データベースの構造を示す図面である。3 is a diagram illustrating a structure of an action request synonym database according to an embodiment of the present invention. 本発明の一実施例による対応作業データベースの構造を示す図面である。3 is a diagram illustrating a structure of a corresponding work database according to an embodiment of the present invention. 本発明の一実施例による対応作業―アクションデータベースの構造を示す図面である。3 is a diagram illustrating a structure of a corresponding work-action database according to an embodiment of the present invention. 本発明の一実施例による使用者メッセージのコンポーネント別候補アクション目録を示す図面である。3 is a diagram illustrating a candidate action list for each component of a user message according to an exemplary embodiment of the present invention. 本発明の一実施例による特性情報データベースの構造を示す図面である。3 is a diagram illustrating a structure of a characteristic information database according to an exemplary embodiment of the present invention. 本発明の一実施例による使用者メッセージの候補アクションフロー目録を示す図面である。6 is a diagram illustrating a user message candidate action flow list according to an exemplary embodiment of the present invention; 本発明の一実施例によるアクション−アプリデータベースの構造を示す図面である。3 is a diagram illustrating a structure of an action-application database according to an exemplary embodiment of the present invention. 本発明の一実施例によるアプリケーション特定方法を概念的に示す図面である。1 is a diagram conceptually illustrating an application specifying method according to an embodiment of the present invention; 本発明の一実施例によるアプリケーションプロシージャデータベースの構造を示す図面である。3 is a diagram illustrating a structure of an application procedure database according to an exemplary embodiment of the present invention. 本発明の一実施例によるアプリ実行プロセスにおいてアプリケーション間の入力及び出力データの関係を概念的に示す図面である。3 is a diagram conceptually illustrating a relationship between input and output data between applications in an application execution process according to an embodiment of the present invention. 本発明の一実施例によるレストラン要約及び注文管理システムを概念的に示す図面である。1 is a diagram conceptually illustrating a restaurant summary and order management system according to an embodiment of the present invention;

以下、添付図面を参照して本発明に係る実施の形態の例について詳細に説明する。勿論、本発明の技術的範囲が添付図面に示された例に限定されるものではない。   Hereinafter, exemplary embodiments according to the present invention will be described in detail with reference to the accompanying drawings. Of course, the technical scope of the present invention is not limited to the examples shown in the accompanying drawings.

図1は、本発明の一実施例によるソフトウェア実行制御装置100の構成を概念的に示す図面である。図1に示されたように、本発明の一実施例によれば、本発明のソフトウェア実行制御装置100は、中央処理装置CPU102と、基本入出力システムBIOS(Basic Input Output System)104と、データやファイル等を保存するためのハードディスクやCD‐ROM等の記憶装置106と、メモリー108を含んで、USB、電源装置、ディスプレイデバイス等の各種ハードウェア110と、各種データや情報を相互関連づけて管理するデータベース112を含む。また、本発明のソフトウェア実行制御装置100は、プログラミングインターフェース、各種ドライバー、ライブラリーなどのソフトウェア120と、オペレーティングシステム(OS)122とを含む。また、本発明のソフトウェア実行制御装置100は、使用者から受信した使用者メッセージを構造化して解釈する使用者メッセージ前処理部200と、上記使用者メッセージから使用者の要求を糾明して上記使用者の要求を充足させる作業やオペレーションを特定するアクションフローを生成するメッセージ処理部300、上記アクションフローに対応するアプリケーションを選別し、選別されたアプリケーションの実行を制御するアプリ実行部400と、複数のアプリケーションの実行のために参照される参照情報を収集して更新する参照情報管理部500を更に含む。上記構成要素は、バス140によって相互接続される。図1は、本発明のソフトウェア実行制御装置100の構成の一実施例であるだけで、実施例によっては、上記構成要素の中で一部を含まなかったり、他の構成要素を更に含んだりすることができる。   FIG. 1 is a diagram conceptually illustrating a configuration of a software execution control apparatus 100 according to an embodiment of the present invention. As shown in FIG. 1, according to one embodiment of the present invention, a software execution control device 100 of the present invention includes a central processing unit CPU 102, a basic input / output system BIOS (Basic Input Output System) 104, data Including a storage device 106 such as a hard disk or CD-ROM for storing files and files, and a memory 108, and managing various hardware and data 110 such as a USB, power supply device, display device, etc. in association with each other Database 112 to be included. The software execution control device 100 of the present invention includes software 120 such as a programming interface, various drivers, and a library, and an operating system (OS) 122. The software execution control apparatus 100 according to the present invention also includes a user message pre-processing unit 200 for structuring and interpreting a user message received from the user, and a user request from the user message. A message processing unit 300 that generates an action flow that identifies an operation or operation that satisfies a user's request, an application corresponding to the action flow, an application execution unit 400 that controls execution of the selected application, and a plurality of It further includes a reference information management unit 500 that collects and updates reference information referred to for execution of the application. The above components are interconnected by a bus 140. FIG. 1 is only an example of the configuration of the software execution control apparatus 100 of the present invention. Depending on the embodiment, some of the above components may be included, or other components may be included. be able to.

ソフトウェア実行制御装置100には、メインフレーム、マイクロコンピュータ、ワークステーション、パソコン、等の典型的なコンピュータシステムは勿論、タブレット、PDA、スマートフォン等、演算能力を持つハンドヘルドデバイスも含まれる。ソフトウェア実行制御装置100のハードウェア的形態や構造、運営体系等のソフトウェア的アーキテクチャーに特別な制限はない。例えば、ソフトウェア実行制御装置100は、POS(Point of Sale)端末装置である。上記構成要素200乃至500の各々は、ロム(ROM)、フラッシュメモリー、ハードディスク、CD−ROM、DVD等の適合なハードウェアに記録されることができる純粋なソフトウェアとして具現されたり、論理回路等のハードウェアとソフトウェアとの組合として具現されたりすることもできる。また、上記構成要素200乃至500が全て一つのデバイス内に具現されることもできるが、複数のデバイスに分散されるように具現されることもできる。例えば、上記構成要素200乃至500の一部又は全部が、ネットワークで接続された外部サーバーに保存されることもできる。   The software execution control apparatus 100 includes not only typical computer systems such as mainframes, microcomputers, workstations, and personal computers, but also handheld devices having computing power such as tablets, PDAs, and smartphones. There is no particular restriction on the software architecture such as the hardware form, structure, and operating system of the software execution control apparatus 100. For example, the software execution control device 100 is a POS (Point of Sale) terminal device. Each of the above components 200 to 500 is embodied as pure software that can be recorded on suitable hardware such as ROM (ROM), flash memory, hard disk, CD-ROM, DVD, or logic circuit It can also be embodied as a combination of hardware and software. In addition, the components 200 to 500 may be implemented in a single device, but may be implemented in a plurality of devices. For example, some or all of the components 200 to 500 may be stored in an external server connected via a network.

構成要素200乃至500がソフトウェアとして具現される場合、これらはオブジェクティブシー(objective C)、C++、ジャバ(Java(登録商標))等の言語を利用した客体指向型プログラミングによって具現されることができる。または、ベーシック(BASIC)、C等の言語を利用したプロシージャ型プログラミング(Procedural Programming)により具現されることもできる。図1は、構成要素200乃至500がCPU102等のハードウェアやOS122から独立的に具現された実施例を示しているが、設計上の選択によってOS122の一部として具現されたり、アプリケーションとして具現されることもできる。即ち、本発明が属する技術分野で通常の知識を持つ者であれば、本発明の技術思想の具現方式にはいかなる制限もないことを明確に理解することができる。構成要素200乃至500の細部的な構成及び動作に関しては、本明細書の全体にかけて、特に、以下で詳細に説明する。   When the components 200 to 500 are implemented as software, they can be implemented by object-oriented programming using a language such as Objective C, C ++, Java (registered trademark), or the like. Alternatively, it may be realized by procedural programming using a language such as BASIC or C. FIG. 1 shows an embodiment in which the components 200 to 500 are implemented independently from the hardware such as the CPU 102 and the OS 122. However, the components 200 to 500 may be implemented as a part of the OS 122 or as an application depending on design choices. You can also. That is, a person having ordinary knowledge in the technical field to which the present invention belongs can clearly understand that there is no limitation on the implementation method of the technical idea of the present invention. The detailed configuration and operation of the components 200-500 will be described in detail throughout the present specification and more particularly below.

多様な業務用アプリケーションは、上記ソフトウェア実行制御装置100のメモリー108又は記憶装置106に保存されたり、外部サーバー(例えば、ウェブサーバー)のような独立的なコンピュータシステム150a、150bに保存されることができる。本明細書で、『アプリケーション』(又は、その略語である『アプリ』)という用語は、個別の応用ソフトウェアだけでなく、独立的な機能を遂行するソフトウェアの一部を示すこともでき、使用者端末デバイスにインストールされて独立的に実行されるアプリケーションだけでなく、サーブレット、アプレット、ウィジェット、ウェブサービス等、様々な形態で具現されることができる。即ち、アプリケーションの形態や 具現方式には特別な制限がない。それぞれのアプリケーションは、独立的に、又は、他のアプリケーションと相互連携して固有のフォーマットを持つ出力を生成する。上記アプリケーションがソフトウェア実行制御装置100の内部に保存される場合には、特定ディレクトリの特定フォルダとして定義される位置情報に基づいて呼び出されることができる。アプリケーションが外部のコンピュータシステム150a、又は、150bに存在する場合には、例えば、URL(Uniform Resource Locator)のような位置情報に基づいて呼び出されたり、探索されたりすることができる。   Various business applications may be stored in the memory 108 or the storage device 106 of the software execution control apparatus 100, or may be stored in independent computer systems 150a and 150b such as external servers (for example, web servers). it can. In this specification, the term “application” (or the abbreviation “application”) can indicate not only individual application software but also a part of software that performs an independent function. In addition to an application installed on a terminal device and executed independently, the application can be implemented in various forms such as a servlet, an applet, a widget, and a web service. In other words, there are no special restrictions on the application form or implementation method. Each application generates an output having a specific format independently or in cooperation with other applications. When the application is stored in the software execution control apparatus 100, it can be called based on position information defined as a specific folder in a specific directory. When the application exists in the external computer system 150a or 150b, it can be called or searched based on location information such as a URL (Uniform Resource Locator).

使用者メッセージ前処理部200は、使用者メッセージから形式的部分を識別して、一つ又はそれ以上の使用者メッセージコンポーネントを抽出するために、上記使用者メッセージを構造化し、上記構造化されたメッセージを解釈して上記使用者メッセージが定形的メッセージなのか非定型的メッセージなのかを判断する。上記使用者メッセージのコンポーネントは、各々が独立的な情報を現わす単語として、内容により特定動作やオペレーションを指示する命令語と、命令語の遂行に活用される意味内容(人間、事物、事件、場所、時間、等)であるエンティティとに分類されることができる。定形的メッセージは、予め決まった内容と個数の命令語や、予め決まった種類、タイプ及び個数のエンティティを含む。上記使用者メッセージが定形的メッセージであれば、メッセージ処理部300は、定形的メッセージとアクションフローとを対応づけて記録したデータベースを参照して、上記定形的メッセージに対応するアクションフローを読み出す。上記使用者メッセージが定形的メッセージでなければ、メッセージ処理部300は上記使用者メッセージの要求を究明し、上記究明された要求を充足させる一連の、又は、並列的な作業やオペレーションの組合、即ち、アクションフローを生成する。上記アクションフローは、実行されるべきアクションの実行時点や実行順序の先後、即ち、実行タイミングを規定する。アプリ実行部400は、上記メッセージ処理部によって生成されたアクションフローに含まれた各アクションに対応するアプリケーションを選別し、選別されたアプリケーションを実行させる。また、各々のアプリケーションに入力されるデータのタイプ及び/又はフォーマットを変換したり、各々のアプリケーションの実行を制御するための制御信号を生成する。尚、アプリ実行部は、選択的に、上記実行されたアプリケーションの出力データを組み合わせて上記使用者又は上記使用者メッセージに基づいて決まった受信者に提供する出力を生成することもできる。参照情報管理部500は、メッセージ処理部300とアプリ実行部400が参照する各種参照情報を構築して運用する。参照情報管理部500は、システム設計者、システム管理者、又は、使用者等から関連情報を受信したり、このような情報を定期に、又は、随時に収集して分類したりして、各種参照情報を更新することができる。   The user message pre-processor 200 identifies the formal part from the user message and structures the user message to extract one or more user message components, the structured user message The message is interpreted to determine whether the user message is a regular message or an atypical message. The components of the above user message are words that indicate independent information, command words that specify specific actions and operations according to the contents, and meaning contents (human, thing, incident, Can be classified as an entity that is a place, time, etc.). The fixed message includes a predetermined content and a number of command words, and a predetermined kind, type, and number of entities. If the user message is a regular message, the message processing unit 300 reads an action flow corresponding to the regular message with reference to a database in which the regular message and the action flow are recorded in association with each other. If the user message is not a regular message, the message processing unit 300 investigates the request for the user message, and a series or parallel combination of operations and operations that satisfy the determined request, that is, , Generate an action flow. The action flow defines the execution point of the action to be executed and the order of the execution order, that is, the execution timing. The application execution unit 400 selects an application corresponding to each action included in the action flow generated by the message processing unit, and causes the selected application to be executed. Further, it converts the type and / or format of data input to each application, and generates a control signal for controlling the execution of each application. Note that the application execution unit can selectively generate output to be provided to the user or a recipient determined based on the user message by combining the output data of the executed application. The reference information management unit 500 constructs and operates various types of reference information that the message processing unit 300 and the application execution unit 400 refer to. The reference information management unit 500 receives related information from the system designer, system administrator, user, etc., and collects and classifies such information regularly or from time to time. Reference information can be updated.

図2は、本発明のソフトウェア実行制御装置の使用者メッセージ前処理部200、メッセージ処理部300、アプリ実行部400、及び、参照情報管理部500の構成の一実施例を示す図面である。図2に示された実施例で、上記使用者メッセージ前処理部200、メッセージ処理部300、アプリ実行部400、及び、参照情報管理部500の各々は、上記の動作を実行する複数のモジュールを含むように具現される。本発明が属する技術分野で通常の知識を持つ者は、図2と異なる様々な具現方式が存在することができ、各モジュールの機能構成の広狭によって本発明の技術的範囲が限定されるのではないことを明確に理解することができる。   FIG. 2 is a diagram illustrating an example of the configuration of the user message preprocessing unit 200, the message processing unit 300, the application execution unit 400, and the reference information management unit 500 of the software execution control apparatus of the present invention. In the embodiment shown in FIG. 2, each of the user message pre-processing unit 200, the message processing unit 300, the application execution unit 400, and the reference information management unit 500 includes a plurality of modules that execute the above-described operations. Embodied to include. A person having ordinary knowledge in the technical field to which the present invention belongs can have various implementation methods different from those shown in FIG. 2, and the technical scope of the present invention is not limited by the width of the functional configuration of each module. I can clearly understand that there is no.

使用者メッセージ前処理部200は、使用者メッセージ受信モジュール202と、使用者メッセージ構造化モジュール204と、使用者メッセージ解釈モジュール206とを含む。使用者が、ソフトウェア実行制御装置100へ所定の業務の遂行を要請する内容の使用者メッセージを入力すれば、ソフトウェア実行制御装置100が動作を開始する。所定の方法によって使用者からの使用者メッセージが入力、又は、伝達されると、上記使用者メッセージは使用者メッセージ受信モジュール202によって受信される。上記使用者メッセージは、ソフトウェア実行制御装置100に有線、又は、無線で連結されたキーボード、マウス、又は、マイク等の入力装置(図示されていない)を通じて入力されることができる。ソフトウェア実行制御装置100がディスプレイデバイスを含むならば、使用者がマウス等の入力装置を通じて上記使用者メッセージを入力することができるように、上記ディスプレイデバイスを通じてグラフィカルユーザインタフェースを提供することもできる。この場合、ディスプレイデバイスに表示された特定業務を指示するアイコンをマウスでクリックする方式も可能である。もし、マイクを通じて音声命令が入力された場合、使用者メッセージ受信モジュール202は、音声命令をテキストに変換して使用者メッセージ構造化モジュール204へ伝達する。また、ソフトウェア実行制御装置100は、外部の通信デバイスから電子メール、携帯電話メッセージ等の形態で使用者要求を受信することもできる。このために、ソフトウェア実行制御装置100は、予め特定された電子メールアドレス、電話番号等の固有な識別情報を持つことができる。例えば、使用者はソフトウェア実行制御装置100に特定業務の遂行を要求するために、ソフトウェア実行制御装置100とは別個の自分の携帯電話を利用して、ソフトウェア実行制御装置100に予め指定されたメールアドレスに電子メールを送信することができる。この場合、使用者はソフトウェア実行装置100から遠く離れた場所にいる時も、ソフトウェア実行制御装置100に必要な業務を要請することができるので、非常に便利である。   The user message pre-processing unit 200 includes a user message receiving module 202, a user message structuring module 204, and a user message interpretation module 206. When the user inputs a user message with a content requesting execution of a predetermined job to the software execution control apparatus 100, the software execution control apparatus 100 starts operation. When a user message from a user is input or transmitted by a predetermined method, the user message is received by the user message receiving module 202. The user message can be input through an input device (not shown) such as a keyboard, a mouse, or a microphone that is wired or wirelessly connected to the software execution control device 100. If the software execution control apparatus 100 includes a display device, a graphical user interface may be provided through the display device so that a user can input the user message through an input device such as a mouse. In this case, a method of clicking an icon indicating a specific task displayed on the display device with a mouse is also possible. If a voice command is input through the microphone, the user message receiving module 202 converts the voice command into text and transmits it to the user message structuring module 204. The software execution control apparatus 100 can also receive a user request in the form of an e-mail, a mobile phone message, or the like from an external communication device. Therefore, the software execution control apparatus 100 can have unique identification information such as an e-mail address and a telephone number specified in advance. For example, in order to request the software execution control device 100 to perform a specific task, the user uses his / her mobile phone separate from the software execution control device 100 to send a mail designated in advance to the software execution control device 100. An email can be sent to the address. In this case, the user can request a necessary job from the software execution control device 100 even when the user is far away from the software execution device 100, which is very convenient.

便宜性のために、使用者メッセージは使用者が日常的に使う言語である自然語で作成されることができる。使用者は、特定業務を遂行するためにどのアプリケーションを実行させるべきか、実行させるべき一つ又は複数のアプリケーションの入力のタイプやフォーマットが何であるか等を具体的に知っている必要はなくて、上記業務を自然語で記述すればいい。例えば、ソフトウェア実行制御装置100がレストランに設置されたPOS端末装置であり、使用者がレストランを運営する店主の場合を仮定する。使用者が個人的な用務のためにレストランの外部にいる時、当日の売り上げを分かりたければ、自分の携帯電話で『今日の売り上げを知らせて下さい』という内容の電子メール又は携帯電話メッセージを上記POS端末装置へ伝送すればいい。この場合、後述のように、上記POS端末装置は上記使用者メッセージを処理して必要になるアプリケーションを識別し、識別されたアプリケーションを実行させる。次に、上記実行の結果として得られた当日の売り上げデータを適合した形態(例えば、テキストファイル)で生成して電子メール又は携帯電話メッセージとして使用者の携帯電話へ伝送する。このように、使用者メッセージを入力できる方法を多様化することによって、便宜性を向上させることができる。   For convenience, the user message can be created in natural language, which is the language that the user uses on a daily basis. The user does not need to specifically know which application should be executed to perform a specific task, what type or format of input of one or more applications to be executed, etc. The above work can be described in natural language. For example, it is assumed that the software execution control device 100 is a POS terminal device installed in a restaurant and the user is a store owner who operates the restaurant. If the user is outside the restaurant for personal service and wants to know the current day's sales, send an e-mail or mobile phone message saying "Please let me know today's sales" on my mobile phone What is necessary is just to transmit to a POS terminal device. In this case, as will be described later, the POS terminal device processes the user message to identify the necessary application, and causes the identified application to be executed. Next, the sales data of the day obtained as a result of the execution is generated in a suitable form (for example, a text file) and transmitted to the user's mobile phone as an e-mail or a mobile phone message. Thus, the convenience can be improved by diversifying the method of inputting the user message.

使用者メッセージ構造化モジュール204は、使用者メッセージ受信モジュール202が受信した使用者メッセージに含まれている有意味なデータ(例えば、送信者の身元、送信日時、送信場所等)とメッセージ本文を抽出する。次に、使用者メッセージ(特に、形式的情報以外の本文の内容の部分)に対して、例えば、形態素分析を適用して、意味を持つ最小の単位である形態素に使用者メッセージを分離する。形態素分析方法は、言語の特性によって差があり、言語ごとに様々な種類の分析技術が存在する。どの形態素分析方法を採用するのかは、システム設計者の選択であり、必ず特定の方法を採用すべきことではない。続いて、上記使用者メッセージ構造化モジュール204は、使用者メッセージの各形態素に意味表紙を与えることによって、使用者メッセージを構造化する。形態素に意味表紙を与えるために、例えば、オントロジー(ontology)マッピング技法が使われる.例えば、『5時』は時間、『○○会社』は企業という意味表紙が与えられる。また、使用者メッセージ構造化モジュール204は、例えば、六何の法則(5W1H)にしたがって使用者メッセージを構造化することによって、使用者メッセージが持つ全体的な意味を規定する。   The user message structuring module 204 extracts meaningful data (for example, the sender's identity, transmission date / time, transmission location, etc.) and message text included in the user message received by the user message receiving module 202. To do. Next, for example, morpheme analysis is applied to the user message (particularly, the content part of the text other than the formal information) to separate the user message into morphemes that are the smallest meaningful units. Morphological analysis methods vary depending on language characteristics, and various types of analysis techniques exist for each language. Which morphological analysis method is adopted is a choice of the system designer, and a specific method is not necessarily adopted. Subsequently, the user message structuring module 204 structures the user message by giving a semantic cover to each morpheme of the user message. For example, an ontology mapping technique is used to give a semantic cover to the morpheme. For example, “5 o'clock” is given a time, and “XX company” is given a company cover. Further, the user message structuring module 204 defines the overall meaning of the user message by structuring the user message according to, for example, the six rules (5W1H).

例えば、上記使用者が電子メールの形で自分のメッセージを送信した場合に、上記使用者メッセージ構造化モジュール204は、上記使用者メッセージ受信モジュール202によって受信された電子メールから送信者の電子メールアドレスとメッセージ本文等を識別し、識別された電子メールアドレスから使用者が誰であるか、ソフトウェア実行制御装置100にアクセスできる権限を持つ者であるかどうかを判断することができる。このために、予め使用者別に識別子(ID)、電子メールアドレス、携帯電話番号等の識別情報を記録した使用者データベースを構築しておくことが望ましい。もし、ソフトウェア実行制御装置100に対するアクセス権限を持っていない者が使用者メッセージを送信した場合には、動作を終了する。この場合、ソフトウェア実行制御装置100は、発信者、システム管理者、又は、権限を持った使用者中選択された者にその旨を通知するメッセージを送信することもできる。一方、上記使用者が正当な権限を持つ使用者であれば、上記のようなメッセージ分析を進行して使用者の要求内容をより一層正確に究明する。   For example, when the user sends his / her message in the form of an e-mail, the user message structuring module 204 uses the e-mail address of the sender from the e-mail received by the user message receiving module 202. The message body and the like can be identified, and it can be determined from the identified e-mail address who the user is and who is authorized to access the software execution control device 100. For this purpose, it is desirable to construct a user database in which identification information such as an identifier (ID), an e-mail address, and a mobile phone number is recorded in advance for each user. If a person who does not have access authority to the software execution control apparatus 100 transmits a user message, the operation is terminated. In this case, the software execution control apparatus 100 can also send a message notifying the sender, the system administrator, or a person selected among authorized users to that effect. On the other hand, if the user has a legitimate authority, the message analysis as described above proceeds to investigate the user's request content more accurately.

次に、上記使用者メッセージ構造化モジュール204は、構造化された使用者メッセージから一つ又はそれ以上の使用者メッセージコンポーネント(以下、簡略に『コンポーネント』とも呼ぶ)であるエンティティと命令語とを抽出する。例えば、六何の法則により使用者メッセージを構造化した場合、5Hに該当するコンポーネントがエンティティであり、1Hに該当するコンポーネントが命令語である。通常、使用者メッセージは一つ又はそれ以上の命令語であるコンポーネントを含むことができる。構造化された使用者メッセージの実施例は図4に示される。図4の実施例で、例えば、使用者1の使用者メッセージiはエンティティENTi1、ENTi2とENTi3、及び命令語COMMi1を含む。エンティティであるコンポーネントは、以後にアプリケーションを実行させる時に必要になる入力データとして利用されることができる。   Next, the user message structuring module 204 obtains an entity and an instruction word that are one or more user message components (hereinafter, also simply referred to as “components”) from the structured user message. Extract. For example, when a user message is structured according to the six rules, a component corresponding to 5H is an entity, and a component corresponding to 1H is an instruction word. Typically, a user message can include components that are one or more command words. An example of a structured user message is shown in FIG. In the example of FIG. 4, for example, the user message i of the user 1 includes the entities ENTi1, ENTi2 and ENTi3, and the command word COMMi1. A component that is an entity can be used as input data that is required when an application is subsequently executed.

次に、使用者メッセージが定形的なメッセージであるかどうかを判断するために、使用者メッセージ解釈モジュール206が上記構造化された使用者メッセージを解釈する。このために、上記構造化された使用者メッセージに関するエンティティ構造テーブルと命令語構造テーブルを生成することができる。エンティティ構造テーブルは、エンティティ別に種類とタイプを識別して保存し、命令語構造テーブルは、命令語の内容を識別して各命令語の個数を保存する。これによって、使用者メッセージがどんな種類のエンティティとどんな内容の命令語とを含んでいるのかを判別できる。使用者メッセージの解釈に関するもっと詳細な説明は図4乃至図6を参照して後述する。もし使用者メッセージが予め決まった種類及びタイプのエンティティと、予め決まった内容及び個数の命令語を含んでいれば、このメッセージは定形的メッセージと判断される。このために、定形的メッセージの構造(エンティティーの種類とタイプ、命令語の内容と個数)を、後述のような定形的メッセージデータベース510に記録しておき、現在入力された使用者メッセージの構造と上記データベースに保存された定形的メッセージの構造とを比較することによって、上記使用者メッセージが定形的メッセージであるかどうかを判断することができる。特に、使用者が要求できる多様な業務の中で、反復的に要求される可能性が高い業務に対しては、当該業務に対応する使用者メッセージの定形的構造を予め定形的メッセージデータベース510に記録しておくことが望ましい。   Next, the user message interpretation module 206 interprets the structured user message to determine whether the user message is a regular message. For this purpose, an entity structure table and a command structure table relating to the structured user message can be generated. The entity structure table identifies and stores the type and type for each entity, and the instruction word structure table identifies the contents of the instruction word and stores the number of each instruction word. As a result, it is possible to determine what kind of entity and what kind of instruction word the user message contains. A more detailed description regarding the interpretation of the user message will be described later with reference to FIGS. If the user message includes an entity of a predetermined type and type and a predetermined content and number of commands, this message is determined to be a fixed message. For this purpose, the structure of the standard message (type and type of entity, contents and number of commands) is recorded in the standard message database 510 as described later, and the structure of the user message currently input is recorded. And the structure of the regular message stored in the database, it can be determined whether the user message is a regular message. In particular, among the various tasks that can be requested by the user, for a job that is highly likely to be requested repeatedly, the fixed message database 510 stores the fixed structure of the user message corresponding to the job in advance. It is desirable to record it.

次に、メッセージ処理部300は、各々が、使用者メッセージ解釈モジュール206によって定形的メッセージと判断された使用者メッセージと、非定型的メッセージと判断された使用者メッセージに対するアクションフローを生成する等の処理を行う定形的メッセージ処理モジュール302と非定型的メッセージ処理モジュール304とを含む。本明細書で、使用者の要求を充足させるために遂行されるべき作業として、その内容上お互いに独立的に区別されることができる最小単位の作業又は動作(オペレーション)を『アクション』と呼ぶ。特定メッセージを通じて使用者が要求している業務は一つのアクションで構成される場合もあるが、一定の順序で組合わせた二つ以上のアクションで構成される場合も多い。このように業務を構成する一つ又は複数のアクションの順次、又は、並列的な組合を『アクションフロー』と呼ぶ。アクションフローは、さらにまた、実行されるべきアクションの実行タイミング(実行の時点又は実行の順序)を規定する。レストランで本発明のソフトウェア実行制御装置100を使う例を仮定してみれば、『予約情報登録』、『予約情報照会』、『予約情報削除』、『予約情報変更』等の各々がアクションに該当する。このようなアクションの各々は、一つのアプリケーション又はアプリケーションの一部によって遂行されることができる。本発明によれば、上記アクションはその内容上区分される最小単位の作業や動作として定義されるので、一つの使用者メッセージに対応して同じアクションが反復的に実行されることもできる。例えば、『予約情報照会』というアクションは、一人の顧客に関する特定の売り場での特定日の予約情報を問い合わせるように一回だけ実行されることもできるが、特定日の全ての売り場に対する全ての顧客の予約情報を一括に問い合わせるように数回にかけて反復的に実行されることもできる。   Next, the message processing unit 300 generates an action flow for each of the user message determined to be a fixed message by the user message interpretation module 206 and the user message determined to be an atypical message. A typical message processing module 302 and an atypical message processing module 304 that perform processing are included. In this specification, as a work to be performed in order to satisfy a user's request, a minimum unit work or operation that can be distinguished from each other by its contents is called an “action”. . A task requested by a user through a specific message may be composed of one action, but is often composed of two or more actions combined in a certain order. A sequential or parallel combination of one or a plurality of actions constituting a business is called an “action flow”. The action flow further defines the execution timing (time of execution or execution order) of the action to be executed. Assuming an example of using the software execution control device 100 of the present invention in a restaurant, each of “reservation information registration”, “reservation information inquiry”, “reservation information deletion”, “reservation information change”, etc. corresponds to the action To do. Each such action can be performed by one application or part of an application. According to the present invention, since the action is defined as a minimum unit of work or action classified according to its contents, the same action can be repeatedly executed in response to one user message. For example, the action “Reservation Information Inquiry” can be executed only once to inquire about the reservation information for a specific customer at a specific sales floor on a specific day, but all customers for all sales floors on a specific day. The reservation information can be repeatedly executed over several times so as to be inquired collectively.

図7及び図8を参照して後述するように、定形的メッセージデータベース510は、一つ又はその以上の定形的メッセージと、各々の定形的メッセージに対して所定のアクションフローとを対応付けて記録する。このような定形的メッセージデータベース510を活用することによって、定形的メッセージ処理モジュール302は、実行時に定形的メッセージと解釈される使用者メッセージが存在する場合、上記定形的メッセージデータベース510から当該定形的メッセージに対応するアクションフローを読み出すことができる。もし一つの使用者メッセージが、二つ以上の定形的メッセージを含んでいれば、それぞれの定形的メッセージに対応するアクションフローを、順次に、又は、並列に組み合わせて当該使用者メッセージに対する最終的なアクションフローを生成することができる。これによって、使用者メッセージとして定形的メッセージが入力された場合には、単にデータベースに記録された情報を読み出すだけでアクションフローを迅速に、且つ、容易に生成することができる。   As will be described later with reference to FIGS. 7 and 8, the regular message database 510 records one or more regular messages in association with a predetermined action flow for each regular message. To do. By utilizing such a fixed message database 510, the fixed message processing module 302 allows the fixed message database 510 to read out the fixed message if there is a user message that is interpreted as a fixed message at the time of execution. The action flow corresponding to can be read out. If one user message contains two or more regular messages, the action flow corresponding to each regular message is combined in sequence or in parallel, and the final message for the user message is obtained. An action flow can be generated. Thus, when a standard message is input as a user message, an action flow can be generated quickly and easily by simply reading out information recorded in the database.

一方、非定型的メッセージ処理モジュール304は、定形的メッセージに該当しないと解釈された、即ち、非定型的メッセージと解釈された使用者メッセージに対して、上記使用者メッセージの各コンポーネントに対応するアクションを選別し、選別されたアクションを順次に、又は、並列に組み合わせて上記非定型的使用者メッセージの処理のためのアクションフローを生成する。上記各アクションの選別のためには、後述するアクション要求同義語データベース520、対応作業データベース530、対応作業−アクションデータベース540及び/又は特性情報データベース550が参照される。このような非定型的メッセージ処理モジュール304の動作に関しては、図9乃至図14を参照して後述する。   On the other hand, the atypical message processing module 304 interprets an action corresponding to each component of the user message for a user message that is interpreted as not being a typical message, that is, a user message that is interpreted as an atypical message. And the selected actions are combined sequentially or in parallel to generate an action flow for processing the atypical user message. In order to select each action, an action request synonym database 520, a corresponding work database 530, a corresponding work-action database 540, and / or a characteristic information database 550 described later are referred to. The operation of the atypical message processing module 304 will be described later with reference to FIGS. 9 to 14.

次に、アプリ実行部400は、アプリ選別モジュール402とアプリ実行制御モジュール404を含んでおり、実施例によって選択的に出力生成モジュール406を含むことができる。アプリ選別モジュール402は、メッセージ処理部300によって生成されたアクションフローの各アクションに対応するアプリケーションを選別する。アプリ実行制御モジュール404は、上記選別されたアプリケーションの一部又は全部を実行させる。アプリ選別モジュール402は後述するアクション−アプリデータベース560を参照して、それぞれのアクションに対応するアプリケーションを選別することができる。アクション−アプリデータベース560は、独立的に遂行される単位作業又は動作(オペレーション)であるアクションの識別情報と、当該アクションを遂行するために必要になるアプリケーションの識別情報を対応づけて記録する。アクション−アプリデータベース560を参照した結果、一つのアクションを遂行するアプリケーションが複数個存在する場合には、後述する特性情報データベース550を参照してより適合したアプリケーションを選別する。上記選別されたアプリケーションを実行させるために、アプリ実行制御モジュール404は後述するアプリプロシージャデータベース570を参照して、アプリケーションを実行するために必要になる制御信号を生成する。また、アプリ実行制御モジュール404は、アプリ実行情報データベース580を参照して、必要な場合、アプリケーションの実行に必要なデータのタイプやフォーマットを変換する。   Next, the application execution unit 400 includes an application selection module 402 and an application execution control module 404, and may optionally include an output generation module 406 according to an embodiment. The application selection module 402 selects an application corresponding to each action in the action flow generated by the message processing unit 300. The application execution control module 404 causes a part or all of the selected applications to be executed. The application selection module 402 can select an application corresponding to each action with reference to an action-application database 560 described later. The action-application database 560 records identification information of an action, which is a unit work or operation (operation) performed independently, and identification information of an application necessary for performing the action in association with each other. As a result of referring to the action-application database 560, when there are a plurality of applications that perform one action, a more suitable application is selected with reference to the characteristic information database 550 described later. In order to execute the selected application, the application execution control module 404 refers to an application procedure database 570 to be described later, and generates a control signal necessary for executing the application. In addition, the application execution control module 404 refers to the application execution information database 580 and converts the type and format of data necessary for executing the application, if necessary.

上記選別された全てのアプリケーションの実行が終了すれば、上記使用者又は上記使用者メッセージに基づいて決まった受信者に処理結果を伝送する。上記処理結果は、最後に実行されたアプリケーションの出力データ又は実行された全てのアプリケーションの出力データの一部又は全体でありうる。これは、使用者メッセージの要求内容によって変わる。必要な場合、使用者又は特定受信者に提供される上記出力データは、あらかじめ決まったタイプ、フォーマット又は出力方式により変換されることができる。または、出力生成モジュール406が実行された全てのアプリケーションの出力データの一部又は全部を組み合わせて処理結果を生成し、上記使用者又は特定受信者にあらかじめ決まったタイプ、フォーマット又は出力方式で、上記処理結果を提供することができる。出力生成モジュール406は、上記出力データの一部又は全部を複数の出力に分割したり、複数の出力データを一つ又は他の個数の出力に組合わせることもできる。上記使用者又は特定受信者に適合した出力のタイプ、フォーマット又は出力方式は特性情報データベース550を参照して決定されることもできる。   When the execution of all the selected applications is completed, the processing result is transmitted to the user or a recipient determined based on the user message. The processing result may be a part or all of output data of the last executed application or output data of all executed applications. This depends on the request contents of the user message. If necessary, the output data provided to a user or a specific recipient can be converted according to a predetermined type, format, or output method. Alternatively, the output generation module 406 generates a processing result by combining a part or all of the output data of all the executed applications, and uses the above-described type, format, or output method for the user or the specific receiver. Processing results can be provided. The output generation module 406 can divide a part or all of the output data into a plurality of outputs, or combine the plurality of output data into one or another number of outputs. The output type, format or output method suitable for the user or the specific recipient may be determined with reference to the characteristic information database 550.

参照情報管理部500は、定形的メッセージデータベース510と、アクション要求同義語データベース520と、対応作業データベース530と、対応作業−アクションデータベース540と、特性情報データベース550と、アクション−アプリデータベース560と、アプリプロシージャデータベース570と、アプリ実行情報データベース580と、参照情報運用モジュール590とを含む。上記データベース510乃至580のそれぞれの構造は、図7、図9、図10、図11、図13、図15、図17及び図18に各々図示されている。各データベースに関する詳細な内容は、対応する図面を参照して後述する。本実施例によれば、データベース510乃至580の全てが本発明のソフトウェア実行制御装置100の参照情報管理部500の内に構築されるように構成されている。しかし、本発明が属する技術分野で通常の知識を持つ者であれば、上記データベース510乃至580の一部又は全てが必ず上記ソフトウェア実行制御システム100の内に構築されるべきことではないし、例えば、外部サーバー等に既に構築されているデータベースを活用することもできることを明確に理解することができる。   The reference information management unit 500 includes a fixed message database 510, an action request synonym database 520, a corresponding work database 530, a corresponding work-action database 540, a characteristic information database 550, an action-application database 560, an application A procedure database 570, an application execution information database 580, and a reference information operation module 590 are included. The structures of the databases 510 to 580 are shown in FIGS. 7, 9, 10, 11, 13, 15, 17, and 18, respectively. Detailed contents regarding each database will be described later with reference to the corresponding drawings. According to the present embodiment, all of the databases 510 to 580 are configured to be built in the reference information management unit 500 of the software execution control apparatus 100 of the present invention. However, if the person has ordinary knowledge in the technical field to which the present invention belongs, a part or all of the databases 510 to 580 should not necessarily be built in the software execution control system 100. For example, It is possible to clearly understand that a database already built in an external server can be used.

参照情報運用モジュール590は、上記データベース520乃至580を随時又は定期に構築して更新する。上記データベース520乃至580は、使用者の要求を処理する前にあらかじめ構築されることもできるし、処理の実行の際リアルタイムで構築されることもできる。上記データベース520乃至580に記録された情報は、システム設計者、システム管理者又は正当な権限を持つ使用者によって変更、追加又は削除されることができるし、このために、参照情報運用モジュール590は適合なインターフェースを提供することができる。尚、上記データベースに記録された情報は、時間の経過によって変わることがあるので、上記データベースが変わった情報を含むように参照情報運用モジュール590が定期又は随時に上記データベースを更新する。これによって、使用者の要求により一層適合するように対応できることになる。   The reference information operation module 590 constructs and updates the databases 520 to 580 as needed or periodically. The databases 520 to 580 can be constructed in advance before processing a user request, or can be constructed in real time when the processing is executed. Information recorded in the databases 520 to 580 can be changed, added, or deleted by a system designer, a system administrator, or a user with a legitimate authority. For this reason, the reference information operation module 590 A suitable interface can be provided. Note that the information recorded in the database may change over time, so the reference information operation module 590 updates the database periodically or at any time so that the database includes the changed information. As a result, it is possible to cope with the user's request more appropriately.

例えば、参照情報運用モジュール590は、定期又は随時に、又は、システム管理者や使用者から指示がある時、ソフトウェア実行制御装置100の内部又は外部の所定の領域を探索し、アプリケーションに関する情報を収集し、収集した情報に基づいてアクション−アプリデータベース560又は特性情報データベース550にアプリケーションの識別情報を登録したり、その変化を管理したりする。参照情報運用モジュール590は、新たなアプリケーションがあるのか、既存のアプリケーションの位置情報が変わったのか、アプリケーションがアップデートされたのか、又は、アプリケーションが削除されたのか等の変更内容を探知する。参照情報運用モジュール590はこの変更内容を参照して対応するデータベースに記録された情報を更新する。例えば、ソフトウェア実行制御装置100の内部に保存されていたアプリケーションが異なるフォルダに移されたら、参照情報運用モジュール590がこれを探知してアクション−アプリデータベース560に記録された当該アプリケーションの位置情報を変更された位置情報に更新する。この時、同じ情報が複数のデータベースに記録されていれば、上記複数のデータベースを一括に更新することが望ましい。また、アプリケーションのアップデートバージョンがある場合には、アクション−アプリデータベース560のアプリケーション情報が上記アップデートバージョンの位置情報に更新される。   For example, the reference information operation module 590 searches for a predetermined area inside or outside the software execution control apparatus 100 and collects information about the application periodically or as needed, or when an instruction is received from a system administrator or user. Then, based on the collected information, application identification information is registered in the action-application database 560 or the characteristic information database 550, and changes thereof are managed. The reference information operation module 590 detects changes such as whether there is a new application, whether location information of an existing application has changed, whether an application has been updated, or whether an application has been deleted. The reference information operation module 590 refers to this change content and updates the information recorded in the corresponding database. For example, when an application stored in the software execution control apparatus 100 is moved to a different folder, the reference information operation module 590 detects this and changes the position information of the application recorded in the action-application database 560. The updated location information is updated. At this time, if the same information is recorded in a plurality of databases, it is desirable to update the plurality of databases collectively. If there is an updated version of the application, the application information in the action-application database 560 is updated to the location information of the updated version.

次に、図3を参照して本発明の一実施例によるソフトウェア実行制御方法を説明する。使用者が所定の業務を遂行することを要請する内容の使用者メッセージを本発明のソフトウェア実行制御装置100へ入力、伝送又は伝達することで、本発明のプロセスが開始される(段階1000)。ソフトウェア実行制御装置100は、所定の方法によって入力されたり、伝送又は伝達された上記使用者メッセージを受信し(段階1002)、上記使用者メッセージを構造化する(段階1004)。例えば、上記使用者メッセージが自然語の形態で作成された場合は、上記受信された使用者メッセージに形態素分析方法を適用し、各形態素に意味表紙を与える。次に、ソフトウェア実行制御装置100は、上記構造化された使用者メッセージから一つ又はそれ以上のコンポーネントであるエンティティ及び/又は命令語を抽出する(段階1006)。次に、ソフトウェア実行制御装置100は、上記構造化された使用者メッセージを解釈するために、抽出された命令語の内容と個数、エンティティの種類とタイプを識別する(段階1008)。上記識別された情報に基づいて、上記使用者メッセージが定形的メッセージであるかどうかを判断する(段階1010)。このために定形的メッセージデータベース510を参照する。   Next, a software execution control method according to an embodiment of the present invention will be described with reference to FIG. The process of the present invention is started by inputting, transmitting, or transmitting a user message requesting that the user perform a predetermined task to the software execution control apparatus 100 of the present invention (step 1000). The software execution control apparatus 100 receives the user message input, transmitted or transmitted by a predetermined method (step 1002), and structures the user message (step 1004). For example, when the user message is created in the form of a natural language, a morpheme analysis method is applied to the received user message, and a semantic cover is given to each morpheme. Next, the software execution control apparatus 100 extracts an entity and / or an instruction word as one or more components from the structured user message (step 1006). Next, in order to interpret the structured user message, the software execution control apparatus 100 identifies the contents and number of the extracted instruction words and the types and types of entities (step 1008). Based on the identified information, it is determined whether the user message is a regular message (step 1010). For this purpose, the regular message database 510 is referred to.

上記使用者メッセージが定形的メッセージである場合は(段階1010:Yes)、定形的メッセージデータベース510に当該定形的メッセージに対応して記録されたアクションフローを読み出すことで、上記使用者メッセージに対応するアクション フローを生成する(段階1020)。上記使用者メッセージが非定型的メッセージである場合は(段階1010:No)、上記使用者メッセージに内包された使用者の要求を究明するために、上記抽出されたコンポーネントに対応するアクション要求を選別し、上記選別されたアクション要求を充足させるアクションを選別し、上記選別されたアクションを順次に、又は、並列に組み合わせてアクションフローを生成する(段階1040)。上記生成されたアクションフローはキャッシュメモリー、バッファー、キュー(queue)等に保存されることができる。このように、上記使用者メッセージからアクションフローが生成されれば、アクションフローの各アクションを遂行するためのアプリケーションを選別する(段階1060)。このために、各アクションと、当該アクションを充足させるアプリケーションを対応付けて記録したアクション−アプリデータベース560を参照することができる。尚、一つのアクションに対応するアプリケーションが複数であれば、例えば、特性情報データベース550を参照して、その中で最も適合した一つのアプリケーションを選別することも可能である。   If the user message is a regular message (step 1010: Yes), the action message recorded in correspondence with the regular message is read in the regular message database 510 to correspond to the user message. An action flow is generated (step 1020). If the user message is an atypical message (step 1010: No), the action request corresponding to the extracted component is selected in order to investigate the user request included in the user message. Then, an action that satisfies the selected action request is selected, and an action flow is generated by combining the selected actions sequentially or in parallel (step 1040). The generated action flow can be stored in a cache memory, a buffer, a queue, or the like. Thus, if an action flow is generated from the user message, an application for performing each action of the action flow is selected (step 1060). For this purpose, it is possible to refer to the action-application database 560 in which each action is recorded in association with an application that satisfies the action. If there are a plurality of applications corresponding to one action, for example, it is possible to refer to the characteristic information database 550 and select one application most suitable among them.

次に、ソフトウェア実行制御装置100は、上記選別されたアプリケーションを呼出する(段階2000)。各アプリケーションはその位置情報に基づいて呼び出しされることができる。次に、それぞれのアプリケーションに対して、当該アプリケーションが必要とする入力データのタイプとフォーマットとを確認する(段階2002)。このために、各アプリケーションの識別情報と、当該アプリケーションの入力データのタイプ及びフォーマットとを対応づけて記録したアプリ実行情報データベース580を参照することができる。もし上記アプリケーションに入力されるべきデータのタイプ及びフォーマットが、当該アプリケーションの入力データのタイプ及びフォーマットと一致すれば(段階2002:Yes)、上記データをそのままアプリケーションに入力してアプリケーションを実行させる(段階2006)。もし入力されるべきデータのタイプやフォーマットが当該アプリケーションの入力データのタイプやフォーマットと一致しなければ(段階2002:No)、上記データのタイプとフォーマットを上記入力データのタイプとフォーマットに合わせて変換する(段階2004)。次に、上記ソフトウェア実行制御装置100は上記アクションフローの全てのアクションのためのアプリケーションが実行されたかを確認する(段階2008)。実行されるべきアプリケーションの中で一部がまだ実行されなかった場合は(段階2008:No)、段階2000に戻る。上記アクションフローに対応する全てのアプリケーションの実行が完了した場合(段階2008:Yes)、全て又は一部のアプリケーションの出力データを使用者又は使用者メッセージに基づいて選定された特定受信者に提供し(段階2010)、当該使用者メッセージに対する処理プロセスを終了する(段階2020)。   Next, the software execution control apparatus 100 calls the selected application (step 2000). Each application can be called based on its location information. Next, for each application, the type and format of the input data required by the application are confirmed (step 2002). For this reason, it is possible to refer to the application execution information database 580 in which the identification information of each application is recorded in association with the type and format of the input data of the application. If the type and format of data to be input to the application matches the type and format of the input data of the application (step 2002: Yes), the data is input to the application as it is to execute the application (step 2006). If the type and format of data to be input does not match the type and format of the input data of the application (step 2002: No), the data type and format are converted according to the type and format of the input data. (Step 2004). Next, the software execution control apparatus 100 checks whether applications for all actions in the action flow have been executed (step 2008). If some of the applications to be executed have not yet been executed (step 2008: No), the process returns to step 2000. When the execution of all the applications corresponding to the above action flow is completed (step 2008: Yes), the output data of all or some of the applications is provided to the user or a specific recipient selected based on the user message. (Step 2010), the process for the user message is terminated (Step 2020).

次に、図4乃至図6を参照して、使用者メッセージの解釈に関してより一層詳細に説明する。図4は本発明の一実施例による構造化された使用者メッセージを示す。図5は本発明の一実施例による構造化された使用者メッセージのエンティティ構造テーブルを図示し、図6は本発明の一実施例による構造化された使用者メッセージの命令語構造テーブルを図示する。図4に示されたように、使用者1から受信された使用者メッセージiは三個のエンティティENTi1、ENTi2及びENTi3と、一個の命令語COMMi1を含んでおり、使用者2から受信された使用者メッセージjは二つのエンティティENTj1及びENTj2と、二つの命令語COMMj1及びCOMMj2を含む。使用者メッセージ解釈モジュール206は上記構造化された使用者メッセージからエンティティ構造テーブルと命令語構造テーブルを生成する。エンティティ構造テーブルは、図5に示されたように、上記使用者メッセージに含まれたエンティティ別に種類とデータタイプとを識別して保存する。例えば、エンティティの種類は、使用者メッセージ構造化モジュール204によって与えられた意味表紙に基づいて定められることができるし、名称、電話番号、日付、人数等を含むことができる。命令語構造テーブルは命令語の内容を識別して各命令語の個数を保存する。上記エンティティ構造テーブルと命令語構造テーブルによって、使用者メッセージがどんな種類のエンティティと、どんな内容の命令語を含んでいるのかを判別することができる。上記使用者メッセージの解釈方法は一つの実施例にすぎないし、本発明が属する技術分野で通常の知識を持つ者は多様な変形又は代案が存在することを明確に認識することができる。例えば、上記実施例では定形的メッセージがエンティティと命令語の両方を含む場合を説明したが、他の実施例によればエンティティだけを含む定形的メッセージがあり、また他の実施例によれば命令語だけを含む定形的メッセージがありえる。このような定形的メッセージの構造は設計上の選択事項にすぎないし、本発明が特定構成に限定されることではない。   Next, the interpretation of the user message will be described in more detail with reference to FIGS. FIG. 4 shows a structured user message according to one embodiment of the present invention. FIG. 5 illustrates an entity structure table of a structured user message according to an embodiment of the present invention, and FIG. 6 illustrates an instruction structure table of a structured user message according to an embodiment of the present invention. . As shown in FIG. 4, the user message i received from the user 1 includes three entities ENTi1, ENTi2 and ENTi3 and one command word COMMi1. The message j includes two entities ENTj1 and ENTj2 and two command words COMMj1 and COMMj2. The user message interpretation module 206 generates an entity structure table and a command structure table from the structured user message. As shown in FIG. 5, the entity structure table identifies and stores the type and data type for each entity included in the user message. For example, the type of entity can be determined based on a semantic cover provided by the user message structuring module 204 and can include name, phone number, date, number of people, and the like. The instruction word structure table identifies the contents of the instruction word and stores the number of each instruction word. By the entity structure table and the command word structure table, it is possible to determine what kind of entity the user message includes and what kind of command word. The interpretation method of the user message is only one example, and those having ordinary knowledge in the technical field to which the present invention belongs can clearly recognize that there are various modifications or alternatives. For example, in the above embodiment, the case where the fixed message includes both an entity and an instruction word has been described. However, according to another embodiment, there is a fixed message including only the entity, and according to another embodiment, the There can be a fixed message containing only words. The structure of such a regular message is merely a design choice, and the present invention is not limited to a specific configuration.

次に、図7及び図8を参照して、定形的メッセージデータベース510に関して説明する。定形的メッセージデータベース510は定形的メッセージの識別情報(StpMES01、StpMES02、StpMES03、StpMES04)と、それぞれの定形的メッセージの構造と、それぞれの定形的メッセージを充足させるアクションフローを相互間に対応づけて記録する。例えば、定形的メッセージStpMES01は一つの命令語COMM11と、二つのエンティティENT11及びENT12とを含む構造を持ち、エンティティENT11の種類とタイプは各々Kind01とType11であり、エンティティENT12の種類とタイプは各々Kind02とType12である。受信された使用者メッセージが上記のような構造を持っていれば(即ち、命令語COMM11と、上記種類及びタイプのエンティティENT11及びENT12とを含む)、当該使用者メッセージは定形的メッセージStpMES01に該当する。従って、上記使用者メッセージに対するアクションフローは、ACT11+ACT12+ACT16として規定されることができる。このように、使用者メッセージが定形的メッセージと解釈された場合は、定形的メッセージデータベース510から当該定形的メッセージに対応づけて記録されたアクションフローを読み出すことで速かに対応することができる。   Next, the regular message database 510 will be described with reference to FIGS. The fixed message database 510 records the identification information (StpMES01, StpMES02, StpMES03, StpMES04) of the fixed message, the structure of each fixed message, and the action flow satisfying each fixed message. To do. For example, the fixed message StpMES01 has a structure including one instruction word COMM11 and two entities ENT11 and ENT12. The types and types of the entities ENT11 are Kind01 and Type11, respectively, and the types and types of the entities ENT12 are each Kind02. And Type12. If the received user message has the structure as described above (that is, includes the command word COMM11 and the entities ENT11 and ENT12 of the above type and type), the user message corresponds to the fixed message StpMES01. To do. Therefore, the action flow for the user message can be defined as ACT11 + ACT12 + ACT16. As described above, when the user message is interpreted as a standard message, it can be quickly dealt with by reading out the action flow recorded in association with the standard message from the standard message database 510.

本発明が属する技術分野で通常の知識を持つ者は、図7に示された定形的メッセージデータベースは一つの実施例に過ぎないし、これに対する多様な変形や代案が存在することを認識することができる。定形的メッセージ データベース510は使用者又は事業体別に、又は、全ての使用者に対して統一して構築されることができることに注意する。この中でどんな方式と内容を選択することが望ましいかは、業種や業務の内容により変わることができるし、使用者の便宜性、システムの効率性等を考慮してシステム設計者が選択できる事項である。他の実施例では、一つの定形的メッセージに対応するアクションフローが複数個存在することもできる。このような実施例では、使用者の選択にしたがって、または、後述する特性情報データベース550に記録された特性情報を参照して複数のアクションフローの中で最も適合したアクションフローを選別することができる。   Those skilled in the art to which the present invention pertains will recognize that the standard message database shown in FIG. 7 is only one example, and that there are various modifications and alternatives to this. it can. Note that the regular message database 510 can be built by user or entity, or uniformly for all users. The method and content that should be selected among these can vary depending on the type of business and the content of the business, and can be selected by the system designer considering the convenience of the user and the efficiency of the system. It is. In another embodiment, there may be a plurality of action flows corresponding to one regular message. In such an embodiment, the most suitable action flow can be selected from among a plurality of action flows according to the user's selection or by referring to characteristic information recorded in the characteristic information database 550 described later. .

図8は、レストラン用システムの実施例に関する定形的メッセージデータベース510’を図示する。例えば、予約はレストランで非常に日常的に、且つ頻繁に要求される業務の一つであり、予約のための必須情報は予約日、予約時間、及び予約人数に限定されるので、上記業務に対する要請は定形化が可能である。図示のように、『新規予約』という定形的メッセージは『予約』という命令語と、日付、時間及び人数というエンティティを含む構造を持つ。例えば、図4の使用者メッセージiが『2012/07/01、6時、3人予約』であれば、使用者メッセージ解釈モジュール206は上記使用者メッセージが『予約』という命令語と、日付『2012/07/01』、時間『6時』、人数『3人』というエンティティを含むと解釈し、これを定形的メッセージデータベース510に記録された定形的メッセージの構造と比較する。これによって、上記使用者メッセージiが『新規予約』という定形的メッセージに該当すると判断することができる。従って、定形的メッセージデータベース510’で上記定形的メッセージに対応づけて記録されたアクションフローである『テーブル照会(予約を要請した日と時間に当該人数を収容できる空きテーブルがあるのかを照会)+新規予約登録(予約情報を記録)+携帯電話メッセージ(決まった受信者に予約完了を通知)』を読み出すことで、上記使用者メッセージに対するアクションフローを容易に生成することができる。上記三つのエンティティは上記アクションフローの遂行のために実行されるアプリケーションの入力データとして使われる。この場合、上記使用者メッセージが『今日6時3人予約』と記載されている場合にも『今日』という単語が、例えば『2012/07/01』という日付と解釈されることができるので、上記のような定形的メッセージとして処理できることは勿論である。   FIG. 8 illustrates a regular message database 510 'for an embodiment of a restaurant system. For example, reservation is one of the tasks that are required very frequently and frequently in restaurants, and the essential information for reservation is limited to the reservation date, reservation time, and number of reservations. Requests can be formatted. As shown in the figure, the standard message “new reservation” has a structure including an instruction word “reservation” and entities of date, time, and number of people. For example, if the user message i in FIG. 4 is “2012/07/01, 6 o'clock, reserved for 3 people”, the user message interpretation module 206 uses the command word “reservation” and the date “ 2012/07/01 ”, the time“ 6 o'clock ”, and the number of people“ 3 ”are interpreted as being included, and this is compared with the structure of the fixed message recorded in the fixed message database 510. Accordingly, it can be determined that the user message i corresponds to a fixed message “new reservation”. Accordingly, the action flow recorded in association with the above-mentioned fixed message in the fixed message database 510 ′ is “table inquiry (inquires whether there is a free table that can accommodate the number of people on the date and time when the reservation is requested) + By reading “new reservation registration (recording reservation information) + cell phone message (notifying the recipient of the completion of reservation)”, an action flow for the user message can be easily generated. The above three entities are used as input data of an application executed for executing the action flow. In this case, the word “today” can be interpreted as, for example, the date “2012/07/01” even when the user message is described as “Today 6: 3 reservation”. Of course, it can be processed as a regular message as described above.

次に、 図9乃至図13を参照して、本発明の一実施例による非定型的メッセージの処理に関して説明する。図9乃至図11のそれぞれは、本発明の一実施例によるアクション要求同義語データベース520、対応作業データベース530、及び対応作業−アクションデータベース540を図示する。図12は非定型的メッセージに対し生成されたコンポーネント別候補アクション目録の一実施例を図示する。図13は特性情報データベース550の一実施例を図示する。   Next, an atypical message process according to an embodiment of the present invention will be described with reference to FIGS. 9 to 11 illustrate an action request synonym database 520, a corresponding work database 530, and a corresponding work-action database 540 according to an embodiment of the present invention. FIG. 12 illustrates one example of a candidate action inventory by component generated for an atypical message. FIG. 13 illustrates one embodiment of the characteristic information database 550.

アクション要求同義語データベース520は、使用者メッセージによって遂行されるように要求された業務を構成する一つ又はそれ以上のアクション要求に対し一つ又はそれ以上の同義語を対応付けて記録する。本明細書で、所定のアプリケーション又はその一部によって遂行される作業やオペレーションを指し示すために使用者がしばしば使う代表的な命令語や単語をアクション要求と呼ぶ。上記アクション要求の同義語は使用者によって、又は、関連業界でアクション要求と同一又は類似の意味として実際よく使われていたり、使われる可能性がある単語である。次に、要求対応作業データベース530は、使用者メッセージが内包する使用者の要求を充足させるために遂行されるべき一つ又はそれ以上の対応作業を上記アクション要求の各々に対応づけて記録する。また、対応作業−アクションデータベース540は、それぞれの対応作業の遂行に必要な一つ又はそれ以上のアクションを上記対応作業の各々に対応づけて記録する。ここで、アクション要求同義語データベース520の上記アクション要求REQ01、REQ02、REQ03、REQ04と上記アクション要求同義語SYN11、SYN12等はシステム設計者、システム管理者、又は、使用者等によって選別されたものであり、事前に入力されたり非定型的メッセージの処理の際にリアルタイムで入力されることもできる。これは対応作業データベース530及び対応作業−アクションデータベース540に対しても同様である。   The action request synonym database 520 records one or more synonyms in association with one or more action requests constituting a task requested to be performed by a user message. In this specification, typical command words and words that are often used by a user to indicate work or operations performed by a predetermined application or a part thereof are called action requests. The synonym of the action request is a word that is often used or may be used in practice by the user or in the related industry as the same or similar meaning as the action request. Next, the request response work database 530 records one or more response tasks to be performed in order to satisfy the user's request contained in the user message in association with each of the action requests. In addition, the corresponding work-action database 540 records one or more actions necessary for performing each corresponding work in association with each of the corresponding works. Here, the action requests REQ01, REQ02, REQ03, REQ04 and the action request synonyms SYN11, SYN12, etc. in the action request synonym database 520 are selected by the system designer, system administrator, or user. Yes, it can be entered in advance or in real time when processing atypical messages. The same applies to the corresponding work database 530 and the corresponding work-action database 540.

以下では、非定型的メッセージである使用者メッセージj(図4参照)に対し図12に図示されたコンポーネント別候補アクション目録を生成する過程を説明する。図示のように、本実施例によれば上記使用者メッセージjは二つのエンティティと二つの命令語とを含む。上記コンポーネントの中でENTj1とENTj2はその意味が明確に特定されるエンティティであると仮定する。この場合、コンポーネントENTj1とENTj2に対してはアクション要求を特定する必要がない。もしエンティティが何を示すのか不明確な場合には、このエンティティを明確に定義するためにこれに対するアクション要求を特定することができる。例えば、レストラン用システムの例で、『今日午後6時5人予約』という使用者メッセージが入力された場合、そのコンポーネントの中で『今日』、『午後6時』及び『5人』はエンティティに該当し、『予約』は命令語に該当する。上記エンティティの中で『今日』の意味が明確でなければ、『今日』が示す日付を明確に特定するためにアクション要求同義語データベース520を参照することができる。例えば、上記エンティティに対して『日付照会』というアクション要求が特定されることができる。一方、使用者メッセージに『それ』とか『その人』のような代名詞が含まれてエンティティを規定できない場合には、談話分析(discourse analysis)が使われることもできる。『予約』という命令語に対してはアクション要求同義語データベース520を参照して、それに対応するアクション要求を特定する。   Hereinafter, a process of generating the component-specific candidate action list illustrated in FIG. 12 for the user message j (see FIG. 4) which is an atypical message will be described. As illustrated, according to the present embodiment, the user message j includes two entities and two command words. In the above components, it is assumed that ENTj1 and ENTj2 are entities whose meanings are clearly specified. In this case, there is no need to specify an action request for the components ENTj1 and ENTj2. If it is unclear what an entity represents, an action request for it can be specified to clearly define this entity. For example, in the example of a restaurant system, if a user message “Reserve 6: 5 pm today” is entered, “Today”, “6 pm”, and “5 people” in the component are entities. Applicable, “Reservation” corresponds to the command word. If the meaning of “today” is not clear in the entity, the action request synonym database 520 can be referred to in order to clearly specify the date indicated by “today”. For example, an action request “date inquiry” can be specified for the entity. On the other hand, when the user message includes pronouns such as “it” or “that person” and the entity cannot be defined, discourse analysis can be used. For the command word “reserved”, the action request synonym database 520 is referred to and the corresponding action request is specified.

上記使用者メッセージjの二つの命令語COMMj1とCOMMj2とに対するアクション要求を特定するために、非定型的メッセージ処理モジュール304はアクション要求同義語データベース520を参照する。参照結果、命令語COMMj1は同義語SYN11とSYN21に該当すると判断されたので、上記命令語COMMj1に対してはアクション要求REQ01とREQ02を対応させる。命令語COMMj2は同義語SYN31に該当するので、上記命令語に対してはアクション要求REQ03が対応される。このように、アクション要求同義語データベース520を参照することによって、使用者メッセージの各コンポーネントに対しアクション要求を特定することができる。一方、アクション要求を特定するためにアクション要求同義語データベース520を必ず利用すべきことではないし、上記のように、アクション要求やその同義語がリアルタイムで入力されることもできる。この場合、非定型的メッセージ処理モジュール304は使用者又はシステム管理者等にインターフェースを提供して使用者やシステム管理者等がこれを決めるようにすることができる。または、非定型的メッセージ処理モジュール304はインターネット検索等を通して使用者メッセージの各コンポーネントに対応するアクション要求を究明することもできる。または、非定型的メッセージ処理モジュール304は、使用者にアクション要求を選択させたり、追加的な説明をさせるための質問メッセージを使用者に伝送するようにすることもできる。   In order to identify action requests for the two command words COMMj1 and COMMj2 of the user message j, the atypical message processing module 304 refers to the action request synonym database 520. As a result of the reference, it is determined that the instruction word COMMj1 corresponds to the synonyms SYN11 and SYN21. Therefore, the action requests REQ01 and REQ02 are associated with the instruction word COMMj1. Since the command word COMMj2 corresponds to the synonym SYN31, an action request REQ03 is associated with the command word. Thus, by referring to the action request synonym database 520, an action request can be specified for each component of the user message. On the other hand, the action request synonym database 520 is not necessarily used to specify an action request, and an action request and its synonym can be input in real time as described above. In this case, the atypical message processing module 304 can provide an interface to the user or the system administrator so that the user or the system administrator can determine this. Alternatively, the atypical message processing module 304 can determine an action request corresponding to each component of the user message through an Internet search or the like. Alternatively, the atypical message processing module 304 may cause the user to select an action request or transmit a question message to the user for additional explanation.

次に、非定型的メッセージ処理モジュール304は上記各コンポーネントに対し特定されたそれぞれのアクション要求に対応する対応作業を選別するために、対応作業データベース530を参照する。図10の実施例で、REQ01、REQ02とREQ03の各々に対応する対応作業は複数個存在する。この中でより適合した対応作業を選別するために特性情報データベース550を参照したり、システム管理者や使用者等に直接対応作業を選択させたりすることができる。本実施例で、コンポーネントCOMMj1に対しては対応作業JOB11とJOB21が、コンポーネントCOMMj2に対しては対応作業JOB31が選別される。一方、本実施例では、一つのアクション要求に対し一つの対応作業が選別されたが、複数の対応作業を選別することも可能である。   Next, the atypical message processing module 304 refers to the corresponding work database 530 in order to select the corresponding work corresponding to each action request specified for each component. In the embodiment of FIG. 10, there are a plurality of corresponding operations corresponding to each of REQ01, REQ02, and REQ03. Among them, the characteristic information database 550 can be referred to in order to select a more suitable corresponding work, or the system administrator or the user can directly select the corresponding work. In this embodiment, corresponding tasks JOB11 and JOB21 are selected for the component COMMj1, and corresponding operations JOB31 are selected for the component COMMj2. On the other hand, in this embodiment, one corresponding work is selected for one action request, but it is also possible to select a plurality of corresponding works.

次に、非定型的メッセージ処理モジュール304は対応作業−アクションデータベース540を参照して、上記選別された対応作業の各々に対して最も適合したアクションを選別する。上記選別は特性情報データベース550を参照して行われたり、システム管理者や使用者等に直接選択させることができる。図12の実施例では、コンポーネントCOMMj1に対し選別された対応作業JOB11とJOB21の各々に対応して記録されたアクションの中で、より適合したアクションとしてACT111とACT112、ACT211とACT212が各々選別される。上記コンポーネントCOMMj2に対しては、ACT311、ACT312とACT313が選別される。このように、使用者メッセージjに対して図12に図示されたコンポーネント別候補アクション目録を生成することができる。   Next, the atypical message processing module 304 refers to the corresponding work-action database 540 to select the most suitable action for each of the selected corresponding works. The selection can be performed with reference to the characteristic information database 550, or can be directly selected by a system administrator or a user. In the embodiment of FIG. 12, among the actions recorded corresponding to each of the corresponding work JOB11 and JOB21 selected for the component COMMj1, ACT111 and ACT112, and ACT211 and ACT212 are respectively selected as more suitable actions. . For the component COMMj2, ACT311, ACT312 and ACT313 are selected. In this manner, the component-specific candidate action list shown in FIG. 12 can be generated for the user message j.

アクション要求同義語データベース520、対応作業データベース530、対応作業−アクションデータベース540及び/又は、特性情報データベース550はシステム設計者、システム管理者、又は使用者等によって事前に又はリアルタイムで生成、追加、削除されることができる。また、上記データベースの全てが常に本発明のソフトウェア実行制御システム100の内部に含まれるべきことではない。それだけではなく、上記データベースの中で少なくとも一部はシステム設計者、システム管理者又は使用者等によるリアルタイム指定又は入力方式などに代替されることもできる。   The action request synonym database 520, the corresponding work database 530, the corresponding work-action database 540, and / or the characteristic information database 550 are created, added, or deleted in advance or in real time by the system designer, system administrator, or user. Can be done. Further, all of the above databases should not always be included in the software execution control system 100 of the present invention. In addition, at least a part of the database may be replaced with a real-time designation or input method by a system designer, a system administrator, a user, or the like.

上記実施例はアクション要求からアクションを究明するために二つのデータベース530と540を使ったが、他の実施例では、一個のデータベース、即ち、アクション要求−アクションデータベースを利用することができる。即ち、アクション要求とアクションを直接対応づけて記録しておくことによって、各アクション要求に対するアクションを特定するために必要なプロセスを減らすことができる。この実施例でもアクション要求−アクションデータベースはシステム設計者、システム管理者、又は使用者等によって事前に又はリアルタイムで生成、追加、削除されることができる。上記データベースは常に本発明のソフトウェア実行制御システム100の内部に含まれるべきことではないし、使用者又はシステム設計者やシステム管理者等によるリアルタイム指定又は入力方式等に代替されることもできる。   While the above embodiment used two databases 530 and 540 to investigate actions from action requests, in other embodiments, a single database can be used, namely an action request-action database. That is, by recording the action request and the action in direct correspondence, it is possible to reduce the processes necessary for specifying the action for each action request. Also in this embodiment, the action request-action database can be created, added, or deleted in advance or in real time by a system designer, a system administrator, or a user. The database should not always be included in the software execution control system 100 of the present invention, and can be replaced with a real-time designation or input method by a user, a system designer, a system administrator, or the like.

アクションを特定するために二つのデータベース、即ち、対応作業データベース530と対応作業−アクションデータベース540とを使う実施例は、一つのデータベースだけを使う実施例に比べてプロセシングが増加し、従って処理時間がもっと長くなりうる。しかし、上記二つのデータベースを使う場合、使用者の要求にもっと適合したアクションを選別する可能性が高くなるという利点がある。   Embodiments using two databases to identify actions, namely, the corresponding work database 530 and the corresponding work-action database 540, have increased processing and therefore processing time compared to embodiments using only one database. Can be longer. However, when using the above two databases, there is an advantage that it is highly possible to select an action more suitable for the user's request.

もしコンポーネントに対応するアクションを特定できない場合には、実施例によって、i)使用者メッセージを処理できないと判断してソフトウェア実行制御装置100の動作を終了したり、又は、ii)過去に当該又は他の使用者が同一又は類似のメッセージを処理するためにアプリケーションを実行させた履歴(history)情報を参照したり、iii)ウェブ検索等を通して収集された情報等を活用したりすることもできる。この場合の処理方式は、使用者の便宜性、システムの効率性等を考慮してシステム設計者が選択することができる。   If the action corresponding to the component cannot be specified, i) it is determined that the user message cannot be processed, and the operation of the software execution control apparatus 100 is terminated according to the embodiment, or ii) this or other in the past. It is also possible to refer to history information on the execution of an application to process the same or similar message, or to use information collected through a web search or the like. The processing method in this case can be selected by the system designer in consideration of user convenience, system efficiency, and the like.

次に、図13を参照して、特性情報データベース550に関して詳細に説明する。図示のように、特性情報データベース550は使用者別に多様な特性情報と各特性に関連した選択肢の加重値を対応づけて記録する。実施例によっては、各選択肢別に加重値を保存する代わりに、選択肢の相互間の優先順位だけを保存することもできる。複数の選択肢に対する加重値又は優先順位は、i )使用者、システム管理者又はシステム設計者等によって設定されたり、ii)過去の非定型的メッセージ処理に関する履歴情報を参照して決定されたり、iii)各選択肢の属性によって決定されたりすることができる。各特性の選択肢を選別するとき、それぞれの選択肢別に加重値又は優先順位が最も高いことだけを一つずつ選別して行くことも可能であり、特性別選択肢の組合の中で最も適合したものを選択するのも可能である。例えば、前者の場合において、非定型的メッセージのコンポーネント別に特定されたアクション要求に対して加重値が最も高い一つの対応作業を選別し、上記選別された対応作業に対して加重値が最も高い一つのアクションを選別する。後者の場合には、コンポーネント別に選別されたそれぞれの対応作業に対応するアクションの中で加重値が高い順に複数を選別し、選別されたアクションの組合の中で最も適合した一つ又は複数を選別する実施例が可能である。他の組合が可能であることは勿論である。特に、それぞれの組合に含まれた選択肢の加重値の合計又は積を求めて、その値が大きい順に一つ又はそれ以上の組合を選択することも可能である。   Next, the characteristic information database 550 will be described in detail with reference to FIG. As shown in the figure, the characteristic information database 550 records various characteristic information for each user in association with weight values of options related to the respective characteristics. In some embodiments, instead of storing a weight value for each option, it is also possible to store only the priority between the options. Weight values or priorities for a plurality of options are set by i) a user, a system administrator, a system designer, or the like, or ii) determined with reference to historical information regarding past atypical message processing, or iii ) Can be determined by the attributes of each option. When selecting options for each characteristic, it is possible to select only the one with the highest weighting value or priority for each option one by one. It is also possible to select. For example, in the former case, one corresponding operation having the highest weight is selected for the action request specified for each component of the atypical message, and the one having the highest weight for the selected corresponding operation is selected. Select one action. In the latter case, multiple actions are selected in descending order of the action corresponding to each corresponding task selected by component, and one or more most suitable among the selected action combinations is selected. Embodiments are possible. Of course, other unions are possible. In particular, it is also possible to obtain the sum or product of the weights of the options included in each association and select one or more associations in descending order of the values.

選択肢の属性によって加重値又は優先順位を決める場合において、一つのアクションに対応するアプリケーションの加重値又は優先順位を決める方法は、例えば、次のようなものがある。
上記表1に羅列された属性は例示にすぎないし、アプリケーションの優先度を決めるために上記属性の一部又は全てが異なる属性と一緒に使われる事もでき、全然異なる属性が使われることもできる。参照情報運用モジュール590は、随時又は定期に特性情報データベース550に記録された情報の変動事項に関する情報を収集し、収集された情報にもとづいて特性情報データベース550を更新することが望ましい。
In the case where the weight value or priority order is determined according to the attribute of the option, a method for determining the weight value or priority order of the application corresponding to one action is as follows, for example.
The attributes listed in Table 1 are only examples, and some or all of the attributes can be used together with different attributes to determine the priority of the application, or completely different attributes can be used. . It is desirable that the reference information operation module 590 collects information related to information change items recorded in the characteristic information database 550 as needed or periodically, and updates the characteristic information database 550 based on the collected information.

以下ではレストラン分野の仮想事例を通じて非定型的メッセージからアクションを究明する過程を説明する。例えば、『午前11時スタッフミーティングを12時に遅らせる』という内容の使用者メッセージが入力された場合を仮定する。使用者メッセージ前処理部200は上記使用者メッセージを受信した後、受信されたメッセージを構造化する。上記使用者メッセージ前処理部200によって構造化された使用者メッセージのコンポーネントは『午前11時』、『スタッフミーティング』及び『12時』等の内容を持つ三つのエンティティと、『遅らせる』の内容を持つ一つの命令語に分類される。非定型的メッセージ処理モジュール304は、命令語コンポーネントである『遅らせる』に対応するアクションを究明するために、アクション要求同義語データベース520と、対応作業データベース530と、対応作業−アクションデータベース540とを参照して上記命令語『遅らせる』に対し最も適合したアクションを選別する。上記命令語に対し選別されたアクション要求、対応作業及びアクションは、次の表2に例示される。

すなわち、上記表2の例によれば、『遅らせる』という命令語に対しては『一定時間変更』、『電子メールで連絡』及び『携帯電話メッセージで連絡』のような三種類のアクションが選別されることができる。このように選別された三種類のアクションの全てを順次、又は、並列に実行することができる。本発明の他の実施例によれば、特性情報データベース550を参照して上記選別されたアクションの中で最も加重値が高いものを選別することによって、上記使用者メッセージに対する一つのアクションだけを究明することもできる。または、それぞれの対応作業に対して加重値が高いアクションを一つずつ選別することによって、二つのアクションを選別することも可能である。例えば、『遅らせる』というコンポーネントに対して、(日程時間変更+電子メール)又は(日程時間変更+携帯電話メッセージ)のアクションフローが生成されることができる。
The following describes the process of investigating actions from atypical messages through virtual examples in the restaurant sector. For example, it is assumed that a user message “Delay staff meeting at 11:00 am 12:00” is input. After receiving the user message, the user message preprocessing unit 200 structures the received message. The user message component structured by the user message pre-processing unit 200 includes three entities such as “11 am”, “staff meeting”, and “12 o'clock”, and “delay” content. It is classified into one command word that it has. The atypical message processing module 304 refers to the action request synonym database 520, the corresponding work database 530, and the corresponding work-action database 540 in order to investigate the action corresponding to the “delay” command word component. Then, the action most suitable for the command word “delay” is selected. The action request, the corresponding work and the action selected for the command word are exemplified in the following Table 2.

That is, according to the example in Table 2 above, three types of actions such as “change for a certain time”, “contact by e-mail” and “contact by mobile phone message” are selected for the command word “delay”. Can be done. All three types of actions selected in this way can be executed sequentially or in parallel. According to another embodiment of the present invention, only one action for the user message is determined by selecting the action with the highest weight among the selected actions with reference to the characteristic information database 550. You can also Alternatively, it is also possible to select two actions by selecting one action with a high weight value for each corresponding work. For example, an action flow of (schedule time change + email) or (schedule time change + cell phone message) can be generated for the component “delay”.

次に、図14を参照して非定型的メッセージのアクションフローを生成する方法に関して説明する。非定型的メッセージ処理モジュール304は、図12のコンポーネント別候補アクション目録においてそれぞれのコンポーネントに対応するアクションを組み合わせたアクションフローを生成する。COMMj1に対して究明された複数のアクションと、COMMj2に対して究明されたそれぞれのアクションを組み合わせれば図14のように複数のアクションフロー候補目録が生成される。本実施例では総12個のアクションフロー候補が存在する。これらの中でより適合したアクションフローを選別するために、図14の実施例はアクションフローを構成する各アクションの加重値をかけて、加重値の積の値が最も高い二つのアクションフローP1とP2を選別する。他の実施例では、加重値又は優先順位が最も高いアクションで構成された一つのアクションフローを選択する。また他の実施例では、コンポーネントCOMMj1に対して特定された二つの対応作業の各々に対しアクションを選別し、選別された二つのアクションをCOMMj2に対して選別されたアクションと組み合わせて(例えば、ACT111+ACT211+ACT311)アクションフローを選別することも可能である。このように生成されたアクションフローは、使用者別に又は生成された順序により、キャッシュメモリー、バッファー、キュー等に保存され、保存された順に処理されたり、又は、緊急性があるアクションフローから先に処理される。他の順序で処理されることもできることは勿論である。   Next, a method for generating an atypical message action flow will be described with reference to FIG. The atypical message processing module 304 generates an action flow that combines actions corresponding to respective components in the candidate action list for each component in FIG. When a plurality of actions investigated for COMMj1 and each action investigated for COMMj2 are combined, a plurality of action flow candidate lists are generated as shown in FIG. In this embodiment, there are a total of 12 action flow candidates. In order to select a more suitable action flow among these, the embodiment of FIG. 14 multiplies the weights of the actions constituting the action flow to obtain the two action flows P1 having the highest product of the weight values. Select P2. In another embodiment, one action flow composed of actions having the highest weight or priority is selected. In another embodiment, an action is selected for each of the two corresponding tasks specified for the component COMMj1, and the two selected actions are combined with an action selected for the COMMj2 (for example, ACT111 + ACT211 + ACT311). It is also possible to sort action flows. Action flows generated in this way are stored in cache memory, buffers, queues, etc. for each user or in the order in which they were generated, and processed in the order in which they were stored, or urgent action flows first. It is processed. Of course, it can also be processed in other orders.

次に、図15に図示された本発明の一実施例によるアクション−アプリデータベース560に関して説明する。アクション−アプリデータベース560は、各アクションの識別情報と、当該アクションを遂行するために必要なアプリケーションの識別情報を対応づけて記録する。上記アプリケーションの識別情報は各アプリケーションが保存されたフォルダ情報又はURL等の位置情報を含む。アプリ選別モジュール402は、アクション−アプリデータベース560を参照してアクションフローを構成するそれぞれのアクションに対するアプリケーションを決める。一つのアクションに複数個のアプリケーションが対応した場合には、特性情報データベース550を参照してアプリケーションを選別したり、システム設計者、システム管理者、使用者等によって選択するようにすることも可能である。参照情報運用モジュール590はアクション−アプリデータベース560に記録されたアクションを追加、変更、又は削除する。例えば、システムの設計の時に予想できなかった新しいアクションが必要になる場合は、アクション−アプリデータベース560に新規アクションを追加する。このために、システム設計者、システム管理者、アプリケーション開発者、又は適合した権限を持つ使用者が新規アクションと、これを遂行するために必要なアプリケーションに関する識別情報であるアプリケーション識別情報とを直接入力するようにインターフェースを提供することができる。新規アクションが追加された場合に、参照情報運用モジュール590が上記新規アクションを遂行するために必要なアプリケーションを探索し、探索されたアプリケーション識別情報をアクション−アプリデータベース560に記録することができる。   Next, the action-app database 560 according to an embodiment of the present invention illustrated in FIG. 15 will be described. The action-application database 560 records the identification information of each action in association with the identification information of the application necessary for performing the action. The identification information of the application includes folder information where each application is stored or location information such as a URL. The application selection module 402 refers to the action-application database 560 to determine an application for each action constituting the action flow. When a plurality of applications correspond to one action, it is possible to select an application by referring to the characteristic information database 550 or to select it by a system designer, a system administrator, a user, or the like. is there. The reference information operation module 590 adds, changes, or deletes actions recorded in the action-app database 560. For example, a new action is added to the action-app database 560 if a new action that was not anticipated at the time of system design is required. For this purpose, a system designer, system administrator, application developer, or a user with appropriate authority directly inputs a new action and application identification information, which is identification information about the application necessary to accomplish this. An interface can be provided. When a new action is added, the reference information operation module 590 searches for an application necessary for performing the new action, and records the searched application identification information in the action-application database 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に追加させることが望ましい。   With reference to FIG. 16, a method for identifying an application necessary for performing an action constituting an action flow will be described. In the example of FIG. 16, the action flow F1 of the user 1 includes actions ACT21 and ACT24. The application selection module 402 refers to the action-application database 560 in order to determine an application corresponding to the ACT 21 first. Since there are a plurality of applications corresponding to the ACT 21, the APP 211 having the highest weight value among the APPs 211, APP 212, and APP 213 corresponding to the action ACT 21 is selected from the characteristic information database 550 a of the user 1. The application APP 242 is selected in the same manner for the action ACT 24. According to another embodiment of the present invention, the application selection module 402 searches the storage device 106 in the software execution control device 100 or an external server (150a and 150b in FIG. 1) for applications required for each action. Can be selected. This is to cope with a case where information of an application corresponding to a specific action does not exist in the action-application database 560, or a case where the information of the application exists in the action-application database 560 but its validity is not certain. Can be carried out. When a new application necessary for performing a specific action is searched, it is desirable to cause the reference information operation module 590 to add the new application identification information to the action-application database 560.

次に、図17及び図18を参照して、アプリ実行制御モジュール404の動作に関して説明する。アプリ実行制御モジュール404はアプリケーションの実行を制御するために図17に図示されたアプリプロシージャデータベース570を参照することができる。即ち、アプリ実行制御モジュール404はアプリプロシージャデータベース570から実行させるべきアプリケーションのプロシージャに関する情報を抽出し、これを参照して当該アプリケーションを実行するために必要な制御信号を生成する。例えば、連絡先管理アプリケーションであるAPP211のプロシージャは使用者認証(authentication)、名前入力(input Name)、電話番号検索(Phone_no search)、検索された電話番号の出力(output Phone_no)として指定されている。アプリ実行制御モジュール404はAPP211を実行させるべき場合、上記プロシージャに必要な制御信号を生成してAPP211に提供する。また、アプリ実行制御モジュール404は実行されるべきそれぞれのアプリケーションの入力データのタイプとフォーマットを確認する。このため、上記のように、アプリケーション別に入力データのタイプとフォーマットを記録したアプリ実行情報データベース580を予め構築しておくことが望ましい。図18にアプリ実行情報データベース580の一実施例が図示されている。もしアプリケーションに入力されるべきデータのタイプ及びフォーマットが、当該アプリケーションの入力データタイプ及びフォーマットと一致すれば、上記データをそのままアプリケーションに入力してアプリケーションを実行させることができる。もしアプリケーションに入力されるべきデータのタイプ及びフォーマットが、当該アプリケーションの入力データタイプ及びフォーマットと一致しなければ、上記データのタイプ及びフォーマットを当該アプリケーションの入力データタイプ及びフォーマットに合わせて変換する。   Next, the operation of the application execution control module 404 will be described with reference to FIGS. 17 and 18. The application execution control module 404 can refer to the application procedure database 570 illustrated in FIG. 17 to control the execution of the application. That is, the application execution control module 404 extracts information related to the procedure of the application to be executed from the application procedure database 570, and generates a control signal necessary for executing the application with reference to this. For example, the procedure of APP211 which is a contact management application is specified as user authentication (authentication), name input (input name), phone number search (Phone_no search), and output of searched phone number (output Phone_no). . When the APP execution control module 404 is to execute the APP 211, the application execution control module 404 generates a control signal necessary for the procedure and provides it to the APP 211. In addition, the application execution control module 404 confirms the type and format of input data of each application to be executed. For this reason, as described above, it is desirable to construct in advance the application execution information database 580 that records the type and format of input data for each application. FIG. 18 shows an embodiment of the application execution information database 580. If the type and format of data to be input to the application match the input data type and format of the application, the data can be input to the application as it is to execute the application. If the type and format of data to be input to the application do not match the input data type and format of the application, the data type and format are converted to match the input data type and format of the application.

上記実行されるべきアプリケーションには、上記使用者メッセージに含まれたエンティティをその入力データとして提供することができる。または、先に実行された他のアプリケーションの出力データを当該アプリケーションの入力データとして提供する場合もある。この場合には、上記先に実行されたアプリケーションの出力データを当該アプリケーションが必要とするデータのタイプとフォーマットに従って変換する必要がある。   An entity included in the user message can be provided as input data to the application to be executed. Alternatively, output data of another application executed previously may be provided as input data of the application. In this case, it is necessary to convert the output data of the previously executed application in accordance with the data type and format required by the application.

本発明の他の実施例によれば、上記アプリ実行制御モジュール404は、アプリ選別モジュール402によって選別されたアプリケーションをそのまま実行させることが適していない場合、又は、これを変形させることがより一層適合すると判断される場合、上記アプリケーションを修正して実行させることもできる。例えば、特定のアプリケーションの実行のために必要なデータの個数、タイプ又はフォーマットや、当該アプリケーションの実行の結果産出されるデータの個数、タイプ又はフォーマットや、又は当該アプリケーションに含まれたプロシージャの一部又は全てを変形することもできる。   According to another embodiment of the present invention, the application execution control module 404 is more suitable to execute the application selected by the application selection module 402 as it is or to change the application as it is. If it is determined, the application can be corrected and executed. For example, the number, type or format of data required to run a particular application, the number, type or format of data produced as a result of running the application, or part of a procedure included in the application Alternatively, all can be modified.

上記アプリプロシージャデータベース570と、アプリ実行情報データベース580は、事前に及び/又はリアルタイムで、システム設計者、システム管理者及び/又は使用者等によって構築されたり、更新されたりすることができる。このため、参照情報運用モジュール590は必要なユーザインタフェースを生成して提供することができる。また、参照情報運用モジュール590は、随時又は定期にソフトウェア実行制御システム100の内部又は外部から収集した情報を分類し、この情報をアプリプロシージャデータベース570とアプリ実行情報データベース580に記録することもできる。   The application procedure database 570 and the application execution information database 580 can be constructed or updated in advance and / or in real time by a system designer, a system administrator, and / or a user. Therefore, the reference information operation module 590 can generate and provide a necessary user interface. The reference information operation module 590 can also classify information collected from inside or outside the software execution control system 100 as needed or periodically, and record this information in the application procedure database 570 and the application execution information database 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の実行を制御する。   Next, the relationship between input and output data between applications in an application execution process according to an embodiment of the present invention will be described with reference to FIG. As described above, input data of an application to be executed may be output data of another application executed earlier than that. As shown on the left side of FIG. 18, if the applications APP 311 and APP 211 to be executed for the user message k are specified by the application selection module 402, the application execution control module 404 first executes the APP 311. For this purpose, input data in01 and in02 of the type and format defined in APP311 are input. In addition, when the execution of the APP 311 is completed, the APP 211 is executed. As illustrated, output data of the application APP 311 is provided as input data of the application APP 211. In this case, the application execution control module 404 matches the type and format of the output data out01 of the APP 311 with the type and format of the input data of the APP 211. Here, the field name of the input data of APP 211 and the field name of the output data of APP 311 can be different from each other. The output data out01 of APP311 converted according to the type and format of the input data of APP211 is provided to APP211 as input data. The application execution control module 404 controls the execution of the APP 311 and APP 211 by generating control signals for the APP 311 and APP 211 with reference to the application procedure database 570.

上記のようなアプリケーション間の相互関係はデータベースとして構築されて使われることができる。上記例のように、特定アプリケーションの出力データと、異なるアプリケーションの入力データがお互いに関連した場合、この情報を予めデータベースに記録しておけばアプリケーションの実行制御が非常に容易になる。また、二つ以上のアプリケーションが共有しなければならないデータがあることを意味する情報を予めデータベースとして構築しておくことも望ましい。例えば、上記レストラン用システムの例で、金銭登録(cash register)アプリケーションが保有した売り上げデータを、売り上げ管理アプリケーションが共有することが望ましい。これによって、売り上げデータはメモリーに重複して保存される必要がないので、メモリーの保存空間を節約することができる。   The interrelationship between applications as described above can be constructed and used as a database. As in the above example, when output data of a specific application and input data of a different application are related to each other, if this information is recorded in advance in the database, execution control of the application becomes very easy. It is also desirable to construct in advance as a database information indicating that there is data that must be shared by two or more applications. For example, in the restaurant system example described above, it is desirable that the sales management application share the sales data held by the cash register application. As a result, the sales data does not need to be stored redundantly in the memory, so that the memory storage space can be saved.

本発明のソフトウェア実行制御装置100の構成要素200乃至500と、上記構成要素の各々に含まれたモジュールの構成は、上記実施例と異なることができる。例えば、使用者メッセージ前処理部200に含まれたモジュール202乃至206は独立的な部(unit)として構成されることができるし、又は、モジュール202乃至206が一つのモジュールとして統合されることもできる。本発明が属する技術分野で通常の知識を持つ者は他の変形や代案が存在することを認識するはずだ。   The components 200 to 500 of the software execution control apparatus 100 of the present invention and the configurations of the modules included in each of the components can be different from those of the above-described embodiment. For example, the modules 202 to 206 included in the user message pre-processing unit 200 can be configured as an independent unit, or the modules 202 to 206 can be integrated as one module. it can. Those skilled in the art to which the present invention pertains will recognize that there are other variations and alternatives.

以上、ソフトウェア実行制御装置とソフトウェア実行制御方法の実施例を通じて本発明を説明したが、本発明の技術思想はソフトウェア実行制御プログラムを記録したコンピュータで読むことができる記録媒体として具現されることもできる。上記ソフトウェア実行制御プログラムはコンピュータを、使用者から受信した使用者メッセージを構造化して解釈する使用者メッセージ前処理部と、上記使用者メッセージから抽出したコンポーネントからアクションフローを生成するメッセージ処理部と、上記アクションフローを構成するアクションを遂行するためのアプリケーションを選別して上記選別されたアプリケーションの実行を制御するアプリ実行部と、各種データベースを構築して運用する参照情報管理部として動作させる。本発明のソフトウェア実行制御プログラムの動作は上記のソフトウェア実行制御方法の各段階に対応するので、それに関する詳細な説明は省略する。   As described above, the present invention has been described through the embodiments of the software execution control device and the software execution control method. However, the technical idea of the present invention can also be embodied as a computer-readable recording medium on which a software execution control program is recorded. . The software execution control program includes a user message pre-processing unit that interprets and interprets a user message received from a user, a message processing unit that generates an action flow from components extracted from the user message, An application for performing an action constituting the action flow is selected and operated as an application execution unit that controls execution of the selected application and a reference information management unit that constructs and operates various databases. Since the operation of the software execution control program of the present invention corresponds to each stage of the software execution control method described above, a detailed description thereof will be omitted.

以下では、レストランの予約及び注文管理に適用された本発明の他の実施例に関して説明する。図19は本発明の一実施例によるレストラン予約及び注文管理システムを概念的に示す図面である。レストラン用ソフトウェア実行制御装置3010は、使用者メッセージ前処理部と、使用者メッセージ処理部と、アプリ実行部と、参照情報管理部(図示されない)とを含んでおり、これらはそれぞれ図2に図示された実施例の使用者メッセージ前処理部200、使用者メッセージ処理部300、アプリ実行部400と参照情報管理部500に対応する。従って、これらの構成に関する詳細な説明は省略する。POS端末、パソコン、又はタブレット等のレストラン用ソフトウェア実行制御装置3010は、店主や顧客等から予約を要請する使用者メッセージを携帯電話メッセージや電子メールの形態で受ける。顧客が店主に予約を要請する携帯電話メッセージや電子メールを送れば、自動的にレストラン用ソフトウェア実行制御装置3010に伝えられるようにしても良い。   In the following, another embodiment of the present invention applied to restaurant reservation and order management will be described. FIG. 19 conceptually illustrates a restaurant reservation and order management system according to an embodiment of the present invention. The restaurant software execution control device 3010 includes a user message preprocessing unit, a user message processing unit, an application execution unit, and a reference information management unit (not shown), each of which is shown in FIG. This corresponds to the user message preprocessing unit 200, the user message processing unit 300, the application execution unit 400, and the reference information management unit 500 of the embodiment. Therefore, the detailed description regarding these structures is abbreviate | omitted. A restaurant software execution control device 3010 such as a POS terminal, a personal computer, or a tablet receives a user message requesting a reservation from a store owner or a customer in the form of a mobile phone message or an e-mail. If the customer sends a mobile phone message or e-mail requesting a reservation to the store owner, the information may be automatically transmitted to the restaurant software execution control device 3010.

上記携帯電話メッセージや電子メールは定形的メッセージ又は非定型的メッセージである。レストラン用ソフトウェア実行制御装置3010は当該使用者メッセージが受信されると、これを構造化して定形的メッセージであるかどうかを判断する。もし上記使用者メッセージが定形的メッセージであれば、上記定形的メッセージ処理モジュール302は、定形的メッセージデータベース510を参照して当該メッセージに対応するアクションフローを読出、生成する。もし上記使用者メッセージが非定型的メッセージであれば、上記非定型的メッセージ処理モジュール304は、上記アクション要求同義語データベース520を参照して上記メッセージに対応するアクション要求を選別して、上記対応作業データベース530を参照して選別された各アクション要求に対して適合した対応作業を指定し、上記対応作業−アクションデータベース540を参照して適合したアクションフローを生成する。次に、このように生成されたアクションフローに対して上記アプリ選別モジュール402は、適合したアプリケーションを選別し、上記アプリ実行制御モジュール404は上記アクション−アプリデータベース560、アプリプロシージャデータベース570、アプリ実行情報データベース580の全て又は一部を参照して上記選別されたアプリケーションを実行させる。   The mobile phone message or the e-mail is a standard message or an atypical message. When the user message is received, the restaurant software execution control device 3010 structures the user message and determines whether it is a regular message. If the user message is a fixed message, the fixed message processing module 302 reads and generates an action flow corresponding to the message with reference to the fixed message database 510. If the user message is an atypical message, the atypical message processing module 304 refers to the action request synonym database 520 to select an action request corresponding to the message, and performs the corresponding work. Corresponding work corresponding to each action request selected with reference to the database 530 is designated, and an adapted action flow is generated with reference to the corresponding work-action database 540. Next, the application selection module 402 selects a suitable application for the action flow thus generated, and the application execution control module 404 includes the action-application database 560, the application procedure database 570, and application execution information. The selected application is executed with reference to all or part of the database 580.

具体的な例で、上記受信者メッセージに含まれた予約日、予約時間、人数等の情報によりテーブルを予約し、顧客名を含む顧客識別情報に基づいて当該顧客がよく注文する食べ物や飲み物に関する情報を上記特性情報データベース550から読み出して、読み出された情報に基づいて上記食べ物や飲み物の在庫を確認した後、在庫がない場合、購買の要請をする。もし、顧客の名前が使用者メッセージに含まれていなければ、店主に顧客名を問い合わせするようにすることができる。   In a specific example, a table is reserved based on information such as a reservation date, a reservation time, and the number of people included in the above-mentioned receiver message, and the customer often orders food and drinks based on customer identification information including a customer name. After the information is read from the characteristic information database 550 and the stock of the food and drink is confirmed based on the read information, if there is no stock, a purchase request is made. If the customer name is not included in the user message, the customer name can be inquired of the store owner.

次に、注文要請を処理する実施例に関して説明する。図示のように、レストラン予約及び注文管理システム3000は有線又は無線で連結されたレストラン用ソフトウェア実行制御装置3010と、一つ又はそれ以上の顧客用タブレット3020と、一つ又はそれ以上の台所用タブレット3030と、一つ又はそれ以上のスタッフ用タブレット(図示されない)を含む。顧客用タブレット3020、台所用タブレット3030又はスタッフ用タブレット(図示されない)が複数個ある場合、各々は固有識別情報によって区別される。レストラン用ソフトウェア実行制御装置3010は注文情報管理アプリケーション、待機時間計算アプリケーション等を含んでおり、上記アプリケーションはレストラン用ソフトウェア実行制御装置3010の内部のメモリー又はスマートカード、コンパクトディスク等の記憶装置に記録されることができる。売り場内の各テーブルに配置された顧客用タブレット3020は注文要請アプリケーション、注文情報表示アプリケーション等を含む。台所に配置された台所用タブレット3030は料理プロセス管理アプリケーション等を含む。上記アプリケーションはレストラン用ソフトウェア実行制御装置3010、顧客用タブレット3020又は台所用タブレット3030に保存されることもできるし、外部サーバーに保存されることもできる。上記アプリケーションはウェブサービスも可能であることに注意する。   Next, an embodiment for processing an order request will be described. As illustrated, the restaurant reservation and order management system 3000 includes a restaurant software execution control device 3010, one or more customer tablets 3020, and one or more kitchen tablets that are connected by wire or wirelessly. 3030 and one or more staff tablets (not shown). When there are a plurality of customer tablets 3020, kitchen tablets 3030, or staff tablets (not shown), each is distinguished by unique identification information. The restaurant software execution control device 3010 includes an order information management application, a waiting time calculation application, and the like. Can. The customer tablet 3020 arranged on each table in the sales floor includes an order request application, an order information display application, and the like. The kitchen tablet 3030 disposed in the kitchen includes a cooking process management application and the like. The application may be stored in the restaurant software execution control device 3010, the customer tablet 3020, or the kitchen tablet 3030, or may be stored in an external server. Note that the application can also be a web service.

例えば、上記本発明のレストラン用ソフトウェア実行制御装置3010と接続された複数の顧客用タブレット3020の各々から注文情報、テーブル識別情報、顧客識別情報等を含む使用者メッセージが入力されれば、上記ソフトウェア実行制御装置3010は上記の過程を経て上記使用者メッセージに対応するアクションフローを生成し、選別されたアプリケーションを実行させる。それぞれの顧客用タブレット3020はディスプレイ及び注文情報を入力受けることができる入力部を含んでおり、サービスされるメニュー項目と注文要請アイコンとをディスプレイに表示する。顧客がテーブルに配置された顧客用タブレット3020に表示されたメニュー項目の中で注文したい項目を選択し、注文アイコンをクリック又はタッチすれば、上記入力部がこの情報を受信する。メニュー項目の選択や注文要請はマウスやタッチパッドを通じて入力されることもできるし、音声命令の形態も可能である。また、上記注文要請アプリケーションは顧客から名前を入力受ける等の方法で当該顧客の識別情報を取得したり、当該顧客が事前に予約をした場合には予約情報を参照して顧客識別情報を取得する。上記注文要請アプリケーションは顧客用タブレット3020の識別情報、上記入力部によって受信されたメニュー項目に関する情報及び顧客識別情報をレストラン用ソフトウェア実行制御装置3010へ送信する。レストラン用ソフトウェア実行制御装置3010は、注文という内容のデータと共に、顧客用タブレット3020の固有識別情報、選択されたメニュー項目、顧客識別情報等のデータを使用者メッセージとして受信する。   For example, if a user message including order information, table identification information, customer identification information, etc. is input from each of a plurality of customer tablets 3020 connected to the restaurant software execution control device 3010 of the present invention, the software The execution control device 3010 generates an action flow corresponding to the user message through the above process, and executes the selected application. Each tablet 3020 for a customer includes a display and an input unit for receiving order information, and displays a menu item to be serviced and an order request icon on the display. When the customer selects an item to order from the menu items displayed on the customer tablet 3020 arranged on the table and clicks or touches the order icon, the input unit receives this information. Menu item selection and order request can be input through a mouse or a touchpad, and can be in the form of voice commands. In addition, the order request application obtains customer identification information by receiving a name from the customer, or obtains customer identification information by referring to the reservation information when the customer makes a reservation in advance. . The order request application transmits the identification information of the customer tablet 3020, the information about the menu item received by the input unit, and the customer identification information to the restaurant software execution control device 3010. The restaurant software execution control device 3010 receives, as user messages, data such as the order content, unique identification information of the customer tablet 3020, selected menu items, customer identification information, and the like.

レストラン用ソフトウェア実行制御装置3010は、上記顧客識別情報に基づいて上記特性情報データベース550から食事性向(例えば、早いサービング、順次にサービング、余裕のあるサービング等)、好む味(例えば、塩辛い、普通、水っぽい等)等の情報を読み出す。顧客情報が保存されていなかった場合、店長又は担当ウェイターに、顧客との相談を行わせた後、カウンター又は別の場所に設置されたスタッフ用タブレット(図示されない)を使って関連情報を入力させることができる。レストラン用ソフトウェア実行制御装置3010は上記読み出された情報に基づいて複数の顧客用タブレット3020から注文されたメニュー項目の調理順序を定めて台所用タブレット3030に伝達する。例えば、早いサービングを選り好みする顧客が注文した料理が、余裕のあるサービングを選り好みする顧客が注文した料理より先に調理されるように、調理順序を調整することができる。台所用タブレット3030は注文されたメニュー項目の調理過程を所定の段階に分けて、実際料理進行状況によってどんな段階に進入したという情報を調理師に入力するようにして、この情報をレストラン用ソフトウェア実行制御装置3010へ送信する。レストラン用ソフトウェア実行制御装置3010は調理待機時間又は調理完了情報を顧客用タブレット3020へ伝送して、これを顧客が閲覧することができるようにする。   Based on the customer identification information, the restaurant software execution control device 3010 reads the food tendency (for example, fast serving, sequentially serving, generous serving, etc.) and preferred taste (for example, salty, normal, Information such as watery). If customer information has not been saved, ask the store manager or responsible waiter to consult with the customer and then enter the relevant information using a tablet for staff (not shown) installed at the counter or elsewhere be able to. The restaurant software execution control device 3010 determines the cooking order of the menu items ordered from the plurality of customer tablets 3020 based on the read information and transmits the determined order to the kitchen tablet 3030. For example, the cooking order can be adjusted so that dishes ordered by customers who prefer early serving are cooked ahead of dishes ordered by customers who prefer surplus serving. The kitchen tablet 3030 divides the cooking process of the ordered menu item into predetermined stages, and inputs information indicating what stage has been entered depending on the actual cooking progress, and this information is executed by the restaurant software. It transmits to the control apparatus 3010. The restaurant software execution control device 3010 transmits the cooking standby time or cooking completion information to the customer tablet 3020 so that the customer can view it.

その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。   In addition, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the invention in the implementation stage. Further, the functions executed in the above-described embodiments may be combined as appropriate as possible. The above-described embodiment includes various stages, and various inventions can be extracted by an appropriate combination of a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, if the effect is obtained, a configuration from which the constituent requirements are deleted can be extracted as an invention.

Claims (16)

使用者から受信した使用者メッセージに基づいて複数のアプリケーションの実行を制御するソフトウェア実行制御装置において、
複数のアプリケーションの実行のために参照される参照情報を収集し、更新する参照情報管理部と、
所定の方法により使用者から入力又は伝達された使用者メッセージを受信し、上記受信された使用者メッセージから一つ又はそれ以上のコンポーネントを抽出し、抽出されたコンポーネントに基づいて上記使用者メッセージを解釈する使用者メッセージ前処理部と、
上記使用者メッセージから解釈された事項に基づいて、上記使用者が要求する一つ又はそれ以上のアクションを特定するメッセージ処理部と、
上記参照情報管理部によって管理される参照情報と、上記メッセージ処理部によって特定されたアクションとに基づいて、上記特定されたそれぞれのアクションを遂行するために実行されるべきアプリケーションを選別し、上記選別されたアプリケーションを実行させるアプリ実行部と、を含み、
上記参照情報管理部は、使用者別に一つ又はそれ以上の特性と、各特性別に複数の選択肢の優先順位及び加重値で構成された集合から選択された情報とを対応付けて記録した特性情報データベースを構築して運用し、
上記メッセージ処理部は、上記特性情報データベースを参照して上記使用者メッセージに対応する一つ又はそれ以上のアクションを特定する、
ことを特徴とするソフトウェア実行制御装置。
In a software execution control device that controls execution of a plurality of applications based on a user message received from a user,
A reference information management unit that collects and updates reference information referred to for execution of a plurality of applications;
A user message input or transmitted from a user by a predetermined method is received, one or more components are extracted from the received user message, and the user message is extracted based on the extracted component. A user message preprocessor to interpret;
A message processing unit that identifies one or more actions requested by the user based on matters interpreted from the user message;
Based on the reference information managed by the reference information management unit and the action specified by the message processing unit, the application to be executed to perform each of the specified actions is selected, and the selection is performed. only contains the application executing unit for executing an application that is, the,
The reference information management unit records characteristic information in which one or more characteristics for each user are associated with information selected from a set of priorities and weights of a plurality of options for each characteristic. Build and operate a database
The message processing unit identifies one or more actions corresponding to the user message with reference to the characteristic information database;
A software execution control device.
使用者から受信した使用者メッセージに基づいて複数のアプリケーションの実行を制御するソフトウェア実行制御装置において、In a software execution control device that controls execution of a plurality of applications based on a user message received from a user,
複数のアプリケーションの実行のために参照される参照情報を収集し、更新する参照情報管理部と、A reference information management unit that collects and updates reference information referred to for execution of a plurality of applications;
所定の方法により使用者から入力又は伝達された使用者メッセージを受信し、上記受信された使用者メッセージから一つ又はそれ以上のコンポーネントを抽出し、抽出されたコンポーネントに基づいて上記使用者メッセージを解釈する使用者メッセージ前処理部と、A user message input or transmitted from a user by a predetermined method is received, one or more components are extracted from the received user message, and the user message is extracted based on the extracted component. A user message preprocessor to interpret;
上記使用者メッセージから解釈された事項に基づいて、上記使用者が要求する一つ又はそれ以上のアクションを特定するメッセージ処理部と、A message processing unit that identifies one or more actions requested by the user based on matters interpreted from the user message;
上記参照情報管理部によって管理される参照情報と、上記メッセージ処理部によって特定されたアクションとに基づいて、上記特定されたそれぞれのアクションを遂行するために実行されるべきアプリケーションを選別し、上記選別されたアプリケーションを実行させるアプリ実行部と、を含み、Based on the reference information managed by the reference information management unit and the action specified by the message processing unit, the application to be executed to perform each of the specified actions is selected, and the selection is performed. An application execution unit that executes the executed application,
上記参照情報管理部は、使用者別に一つ又はそれ以上の特性と、各特性別に複数の選択肢の優先順位及び加重値で構成された集合から選択された情報とを対応付けて記録した特性情報データベースを構築して運用し、The reference information management unit records characteristic information in which one or more characteristics for each user are associated with information selected from a set of priorities and weights of a plurality of options for each characteristic. Build and operate a database
上記アプリ実行部は、上記特性情報データベースを参照して上記アプリケーションを選別する、The application execution unit selects the application with reference to the characteristic information database.
ことを特徴とするソフトウェア実行制御装置。A software execution control device.
上記使用者メッセージ前処理部は、
所定の方法により使用者から入力又は伝達された使用者メッセージを受信する使用者メッセージ受信モジュールと、
上記受信された使用者メッセージから一つ又はそれ以上のコンポーネントを抽出し、上記コンポーネントの各々は命令語又はエンティティである使用者メッセージ構造化モジュールと、
上記抽出された一つ又はそれ以上のコンポーネントに基づいて上記使用者メッセージが定形的メッセージであるかどうかを判断する使用者メッセージ解釈モジュールとを含み、
上記メッセージ処理部は、上記使用者メッセージ前処理部によって抽出された一つ又はそれ以上のコンポーネントに基づいてアクションを特定する、
請求項1または2に記載のソフトウェア実行制御装置。
The user message preprocessing unit
A user message receiving module for receiving a user message input or transmitted from a user by a predetermined method;
Extracting one or more components from the received user message, each of the components being a command word or entity, a user message structuring module;
A user message interpretation module that determines whether the user message is a regular message based on the extracted one or more components;
The message processor identifies an action based on one or more components extracted by the user message preprocessor;
The software execution control device according to claim 1.
上記メッセージ処理部は、
定形的メッセージと解釈された定形的使用者メッセージから一つ又はそれ以上のアクションを特定する定形的メッセージ処理モジュールと、
定形的メッセージではないと解釈された非定型的使用者メッセージから一つ又はそれ以上のアクションを特定する非定型的メッセージ処理モジュールと
を含む、請求項3に記載のソフトウェア実行制御装置。
The message processing unit
A regular message processing module that identifies one or more actions from a regular user message interpreted as a regular message;
The software execution control device according to claim 3, further comprising: an atypical message processing module that identifies one or more actions from an atypical user message that is interpreted as not being a regular message.
上記参照情報管理部は、
一つ又はそれ以上の定形的メッセージの構造に関する情報と、上記定形的メッセージの各々に対応する一つ又はそれ以上のアクションの実行タイミングを規定するアクションフローとを、上記一つ又はそれ以上の定形的メッセージに対応付けて記録した定形的メッセージデータベースを構築して運用し、
上記使用者メッセージ解釈モジュールは、
上記使用者メッセージ構造化モジュールによって抽出された命令語の内容と個数、及びエンティティの種類とタイプを含むグループから選択された一つ又はそれ以上の情報及び上記定形的メッセージデータベースに記録された情報に基づいて、上記使用者メッセージが定形的メッセージであるかどうかを判断し、
上記定形的メッセージ処理モジュールは、
上記使用者メッセージ解釈モジュールによって上記使用者メッセージが定形的メッセージと判断されれば、上記定形的メッセージデータベースから上記定形的メッセージに対応付けて記録されたアクションフローを読み出す、
請求項4に記載のソフトウェア実行制御装置。
The reference information management unit
Information about the structure of one or more regular messages, and an action flow that defines the execution timing of one or more actions corresponding to each of the regular messages, and the one or more regular messages. Build and operate a standard message database that is recorded in association with the message,
The above user message interpretation module
One or more information selected from the group including the content and number of command words extracted by the user message structuring module, and the type and type of entity, and information recorded in the regular message database. Based on this, it is determined whether the user message is a regular message,
The regular message processing module
If the user message interpretation module determines that the user message is a regular message, the action flow recorded in association with the regular message is read from the regular message database.
The software execution control device according to claim 4 .
上記参照情報管理部は、
上記使用者メッセージによって遂行されるように要求された業務を構成する一つ又はそれ以上のアクション要求に対して、一つ又はそれ以上の同義語を対応付けて記録したアクション要求同義語データベースと、
上記アクション要求の各々を充足させるために遂行されるべき一つ又はそれ以上の対応作業を、上記アクション要求の各々に対応付けて記録した対応作業データベースと、
上記それぞれの対応作業の遂行に必要な一つ又はそれ以上のアクションを、上記対応作業の各々に対応付けて記録した対応作業−アクションデータベースを構築して運用し、
上記非定型的メッセージ処理モジュールは、
上記アクション要求同義語データベース、上記対応作業データベース及び上記対応作業−アクションデータベースの中で一つ又はそれ以上を参照して、上記使用者メッセージから抽出されたエンティティ又は命令語に対応する一つ又はそれ以上のアクションを特定し、上記特定されたアクションの実行タイミングを規定する、
請求項4に記載のソフトウェア実行制御装置。
The reference information management unit
An action request synonym database in which one or more synonyms are recorded in association with one or more action requests constituting a task requested to be performed by the user message;
A corresponding work database that records one or more corresponding tasks to be performed to satisfy each of the action requests in association with each of the action requests;
Build and operate a corresponding work-action database in which one or more actions necessary for the execution of each corresponding work are recorded in association with each of the corresponding works.
The atypical message processing module is
One or more corresponding to the entity or command extracted from the user message with reference to one or more of the action request synonym database, the corresponding work database and the corresponding work-action database Specify the above actions and specify the execution timing of the specified actions.
The software execution control device according to claim 4 .
上記参照情報管理部は、
上記使用者メッセージによって遂行されるように要求された業務を構成する一つ又はそれ以上のアクション要求に対して、一つ又はそれ以上の同義語を対応付けて記録したアクション要求同義語データベースと、
上記アクション要求の各々を充足させる一つ又はそれ以上のアクションを、上記アクション要求の各々に対応付けて記録したアクション要求−アクションデータベースを構築して運用し、
上記非定型的メッセージ処理モジュールは、
上記アクション要求同義語データベース及び上記アクション要求−アクションデータベースの中で一つ又はそれ以上を参照して、上記使用者メッセージから抽出されたエンティティ又は命令語に対応する一つ又はそれ以上のアクションを特定し、上記特定されたアクションの実行タイミングを規定する、
請求項4に記載のソフトウェア実行制御装置。
The reference information management unit
An action request synonym database in which one or more synonyms are recorded in association with one or more action requests constituting a task requested to be performed by the user message;
Build and operate an action request-action database that records one or more actions that satisfy each of the action requests in association with each of the action requests;
The atypical message processing module is
Identify one or more actions corresponding to an entity or command extracted from the user message with reference to one or more of the action request synonym database and the action request-action database. And specify the execution timing of the identified action.
The software execution control device according to claim 4 .
上記アプリ実行部は、
上記実行させるべきアプリケーションの入力データのタイプおよびフォーマットに関する情報に基づいて、上記アプリケーションに入力されるべきデータのタイプ又はフォーマットを変更する、
請求項1または2に記載のソフトウェア実行制御装置。
The above application execution unit
Changing the type or format of data to be input to the application based on information about the type and format of the input data of the application to be executed;
The software execution control device according to claim 1.
上記アプリ実行部は、上記実行させるべきアプリケーションのプロシージャに関する情報に基づいて、上記アプリケーションの実行を制御する制御信号を生成する、請求項1または2に記載のソフトウェア実行制御装置。 The software execution control device according to claim 1, wherein the application execution unit generates a control signal for controlling execution of the application based on information on a procedure of the application to be executed. 上記アプリ実行部は、
上記使用者メッセージに対し選別されたアプリケーションの出力データの一部又は全てを組み合わせて、上記使用者又は上記使用者メッセージに基づいて決まった受信者に提供する一つ又はそれ以上の出力を生成する出力生成モジュールを更に含む、
請求項1または2に記載のソフトウェア実行制御装置。
The above application execution unit
A part or all of the output data of the application selected for the user message is combined to generate one or more outputs to be provided to the user or a predetermined recipient based on the user message. An output generation module;
The software execution control device according to claim 1.
上記非定型的メッセージ処理モジュールは、
上記アクション要求のどれか一つに対応する複数のアクションが存在する場合、上記アクション要求に対応する上記複数のアクションの組合を生成し、上記組合の中で一つ又はそれ以上を選別する、
請求項又は7に記載のソフトウェア実行制御装置。
The atypical message processing module is
If there are a plurality of actions corresponding to any one of the action requests, generate a combination of the plurality of actions corresponding to the action request, and select one or more of the combinations.
The software execution control apparatus according to claim 6 or 7 .
上記参照情報管理部は、
使用者別に特性と、各特性別に複数の選択肢の加重値情報を対応付けて記録した特性情報データベースを構築して運用し、
上記非定型的メッセージ処理モジュールは、
上記特性情報データベースを参照して、上記組合の各々を構成するアクションの加重値の合計及び積で構成された集合から選択された演算結果から選択された値に基づいて上記選別を遂行する、
請求項11記載のソフトウェア実行制御装置。
The reference information management unit
Build and operate a characteristic information database that records the characteristics for each user and the weight value information of multiple options for each characteristic.
The atypical message processing module is
Referring to the characteristic information database, performing the screening based on a value selected from a calculation result selected from a set composed of a sum and a product of weights of actions constituting each of the combinations;
The software execution control device according to claim 11 .
ソフトウェア実行制御装置を利用して、使用者から受信した使用者メッセージに基づいて複数のアプリケーションの実行を制御するソフトウェア実行制御方法において、
複数のアプリケーションの実行のために参照される参照情報を収集し、更新する参照情報管理段階と、
所定の方法により使用者から入力又は伝達された使用者メッセージを受信し、上記受信された使用者メッセージから一つ又はそれ以上のコンポーネントを抽出し、抽出されたコンポーネントに基づいて上記使用者メッセージを解釈する使用者メッセージ前処理段階と、
上記使用者メッセージから解釈された事項に基づいて、上記使用者が要求する一つ又はそれ以上のアクションを特定するメッセージ処理段階と、
上記参照情報と、上記メッセージ処理段階で特定されたアクションとに基づいて、上記特定されたそれぞれのアクションを遂行するために実行されるべきアプリケーションを選別し、上記選別されたアプリケーションを実行させるアプリ実行段階と、を含み、
上記参照情報管理段階は、使用者別に一つ又はそれ以上の特性と、各特性別に複数の選択肢の優先順位及び加重値で構成された集合から選択された情報とを対応付けて記録した特性情報データベースを構築して運用し、
上記メッセージ処理段階は、上記特性情報データベースを参照して上記使用者メッセージに対応する一つ又はそれ以上のアクションを特定する、
ことを特徴とするソフトウェア実行制御方法。
In a software execution control method for controlling execution of a plurality of applications based on a user message received from a user using a software execution control device,
A reference information management stage that collects and updates reference information that is referenced for execution of multiple applications;
A user message input or transmitted from a user by a predetermined method is received, one or more components are extracted from the received user message, and the user message is extracted based on the extracted component. A user message preprocessing stage to interpret;
A message processing stage that identifies one or more actions requested by the user based on matters interpreted from the user message;
Based on the reference information and the action specified in the message processing stage, the application execution for selecting the application to be executed to perform the specified action and executing the selected application is executed. and the stage, only including,
In the reference information management step, characteristic information is recorded in association with one or more characteristics for each user and information selected from a set composed of priority and weight values of a plurality of options for each characteristic. Build and operate a database
The message processing step specifies one or more actions corresponding to the user message with reference to the characteristic information database.
And a software execution control method.
ソフトウェア実行制御装置を利用して、使用者から受信した使用者メッセージに基づいて複数のアプリケーションの実行を制御するソフトウェア実行制御方法において、In a software execution control method for controlling execution of a plurality of applications based on a user message received from a user using a software execution control device,
複数のアプリケーションの実行のために参照される参照情報を収集し、更新する参照情報管理段階と、A reference information management stage that collects and updates reference information that is referenced for execution of multiple applications;
所定の方法により使用者から入力又は伝達された使用者メッセージを受信し、上記受信された使用者メッセージから一つ又はそれ以上のコンポーネントを抽出し、抽出されたコンポーネントに基づいて上記使用者メッセージを解釈する使用者メッセージ前処理段階と、A user message input or transmitted from a user by a predetermined method is received, one or more components are extracted from the received user message, and the user message is extracted based on the extracted component. A user message preprocessing stage to interpret;
上記使用者メッセージから解釈された事項に基づいて、上記使用者が要求する一つ又はそれ以上のアクションを特定するメッセージ処理段階と、A message processing stage that identifies one or more actions requested by the user based on matters interpreted from the user message;
上記参照情報と、上記メッセージ処理段階で特定されたアクションとに基づいて、上記特定されたそれぞれのアクションを遂行するために実行されるべきアプリケーションを選別し、上記選別されたアプリケーションを実行させるアプリ実行段階と、を含み、Based on the reference information and the action specified in the message processing stage, the application execution for selecting the application to be executed to perform the specified action and executing the selected application is executed. And including stages,
上記参照情報管理段階は、使用者別に一つ又はそれ以上の特性と、各特性別に複数の選択肢の優先順位及び加重値で構成された集合から選択された情報とを対応付けて記録した特性情報データベースを構築して運用し、In the reference information management step, characteristic information is recorded in association with one or more characteristics for each user and information selected from a set composed of priority and weight values of a plurality of options for each characteristic. Build and operate a database
上記アプリ実行段階は、上記特性情報データベースを参照して上記アプリケーションを選別する、In the application execution stage, the application is selected with reference to the characteristic information database.
ことを特徴とするソフトウェア実行制御方法。And a software execution control method.
使用者から受信した使用者メッセージに基づいて複数のアプリケーションを実行させるようにコンピュータを制御するためのプログラムにおいて、
上記コンピュータを、
複数のアプリケーションの実行のために参照される参照情報を収集し、更新する参照情報管理部、
所定の方法により使用者から入力又は伝達された使用者メッセージを受信し、上記受信された使用者メッセージから一つ又はそれ以上のコンポーネントを抽出し、抽出されたコンポーネントに基づいて上記使用者メッセージを解釈する使用者メッセージ前処理部、
上記使用者メッセージから解釈された事項に基づいて、上記使用者が要求する一つ又はそれ以上のアクションを特定するメッセージ処理部、及び
上記参照情報管理部によって管理される参照情報と、上記メッセージ処理部によって特定されたアクションとに基づいて、上記特定されたそれぞれのアクションを遂行するために実行されるべきアプリケーションを選別し、上記選別されたアプリケーションを実行させるアプリ実行部
として機能させるためのプログラムであって、
上記参照情報管理部は、使用者別に一つ又はそれ以上の特性と、各特性別に複数の選択肢の優先順位及び加重値で構成された集合から選択された情報とを対応付けて記録した特性情報データベースを構築して運用し、
上記メッセージ処理部は、上記特性情報データベースを参照して上記使用者メッセージに対応する一つ又はそれ以上のアクションを特定する、
ことを特徴とするプログラム。
In a program for controlling a computer to execute a plurality of applications based on a user message received from a user,
The above computer
Reference information management unit that collects and updates reference information that is referenced for execution of multiple applications,
A user message input or transmitted from a user by a predetermined method is received, one or more components are extracted from the received user message, and the user message is extracted based on the extracted component. User message preprocessor to interpret,
A message processing unit that identifies one or more actions requested by the user based on matters interpreted from the user message; reference information managed by the reference information management unit; and the message processing A program for selecting an application to be executed in order to perform each of the specified actions based on the action specified by the unit, and causing the application to function as an application execution unit that executes the selected application. There,
The reference information management unit records characteristic information in which one or more characteristics for each user are associated with information selected from a set of priorities and weights of a plurality of options for each characteristic. Build and operate a database
The message processing unit identifies one or more actions corresponding to the user message with reference to the characteristic information database;
A program characterized by that.
使用者から受信した使用者メッセージに基づいて複数のアプリケーションを実行させるようにコンピュータを制御するためのプログラムにおいて、In a program for controlling a computer to execute a plurality of applications based on a user message received from a user,
上記コンピュータを、The above computer
複数のアプリケーションの実行のために参照される参照情報を収集し、更新する参照情報管理部、Reference information management unit that collects and updates reference information that is referenced for execution of multiple applications,
所定の方法により使用者から入力又は伝達された使用者メッセージを受信し、上記受信された使用者メッセージから一つ又はそれ以上のコンポーネントを抽出し、抽出されたコンポーネントに基づいて上記使用者メッセージを解釈する使用者メッセージ前処理部、A user message input or transmitted from a user by a predetermined method is received, one or more components are extracted from the received user message, and the user message is extracted based on the extracted component. User message preprocessor to interpret,
上記使用者メッセージから解釈された事項に基づいて、上記使用者が要求する一つ又はそれ以上のアクションを特定するメッセージ処理部、及びA message processing unit that identifies one or more actions requested by the user based on matters interpreted from the user message; and
上記参照情報管理部によって管理される参照情報と、上記メッセージ処理部によって特定されたアクションとに基づいて、上記特定されたそれぞれのアクションを遂行するために実行されるべきアプリケーションを選別し、上記選別されたアプリケーションを実行させるアプリ実行部Based on the reference information managed by the reference information management unit and the action specified by the message processing unit, the application to be executed to perform each of the specified actions is selected, and the selection is performed. Application execution unit that executes the registered application
として機能させるためのプログラムであって、Is a program for functioning as
上記参照情報管理部は、使用者別に一つ又はそれ以上の特性と、各特性別に複数の選択肢の優先順位及び加重値で構成された集合から選択された情報とを対応付けて記録した特性情報データベースを構築して運用し、The reference information management unit records characteristic information in which one or more characteristics for each user are associated with information selected from a set of priorities and weights of a plurality of options for each characteristic. Build and operate a database
上記アプリ実行部は、上記特性情報データベースを参照して上記アプリケーションを選別する、The application execution unit selects the application with reference to the characteristic information database.
ことを特徴とするプログラム。A program characterized by that.
JP2012164510A 2012-07-25 2012-07-25 Software execution control device, execution control method, and execution control program Active JP5853890B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012164510A JP5853890B2 (en) 2012-07-25 2012-07-25 Software execution control device, execution control method, and execution control program
KR1020120086415A KR101438895B1 (en) 2012-07-25 2012-08-07 An apparatus for controlling execution of software, a method for controlling thereof, and a computer-readable recording medium having a computer program for controlling thereof
EP13176780.8A EP2690587A3 (en) 2012-07-25 2013-07-17 Apparatus for controlling execution of software, method for controlling thereof, and computer-readable recording medium having computer program for controlling thereof
US13/944,517 US9614790B2 (en) 2012-07-25 2013-07-17 Apparatus for controlling execution of software, method for controlling thereof, and computer-readable recording medium having computer program for controlling thereof
CN201310315054.2A CN103577183B (en) 2012-07-25 2013-07-25 Apparatus for controlling execution of software and method for controlling software execution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012164510A JP5853890B2 (en) 2012-07-25 2012-07-25 Software execution control device, execution control method, and execution control program

Publications (2)

Publication Number Publication Date
JP2014026367A JP2014026367A (en) 2014-02-06
JP5853890B2 true JP5853890B2 (en) 2016-02-09

Family

ID=48832763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012164510A Active JP5853890B2 (en) 2012-07-25 2012-07-25 Software execution control device, execution control method, and execution control program

Country Status (5)

Country Link
US (1) US9614790B2 (en)
EP (1) EP2690587A3 (en)
JP (1) JP5853890B2 (en)
KR (1) KR101438895B1 (en)
CN (1) CN103577183B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
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
DE102017107277B4 (en) * 2017-04-05 2024-06-13 Hanon Systems Procedure for updating control software in a high-voltage control unit
US11410075B2 (en) * 2018-01-15 2022-08-09 Microsoft Technology Licensing, Llc Contextually-aware recommendations for assisting users with task completion
JP2020003905A (en) * 2018-06-26 2020-01-09 株式会社日本総合研究所 Rpa device, rpa system and program
KR102169980B1 (en) * 2018-06-29 2020-10-27 ㈜유엔이 Method for disaster situation propagation and system thereof
CN112075806B (en) * 2020-09-16 2022-02-18 浙江梦神家居股份有限公司 Intelligent inflatable mattress with APP control

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ236258A (en) 1989-11-28 1996-09-25 Japan Airlines Co Terminal for reservation system
US5748974A (en) * 1994-12-13 1998-05-05 International Business Machines Corporation Multimodal natural language interface for cross-application tasks
US6950991B2 (en) 1995-11-13 2005-09-27 Citrix Systems, Inc. Interacting with software applications displayed in a web page
JPH09231145A (en) * 1996-02-27 1997-09-05 Hitachi Ltd Automatic operation system by electronic mail
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 (en) 1998-08-24 2002-07-30 ビーシーエル コンピューターズ, インコーポレイテッド Adaptive natural language interface
GB2342194A (en) * 1998-09-28 2000-04-05 Kpmg Management Consulting Monitoring and controlling a process
US20020049667A1 (en) 2000-09-07 2002-04-25 Petro Vantage, Inc. Computer method and apparatus for petroleum trading and logistics
JP2002135206A (en) * 2000-10-27 2002-05-10 Temuko Japan:Kk Radio communication system for each specific group
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
CN100438425C (en) * 2003-02-10 2008-11-26 诺基亚有限公司 Method and device for identifying patterns in a message and generating an action
US7493387B2 (en) * 2003-09-19 2009-02-17 International Business Machines Corporation Validating software in a grid environment using ghost agents
KR100697416B1 (en) 2003-09-30 2007-03-20 교세라 가부시키가이샤 Mobile communication terminal, information providing system, and computer readable recording medium storing program
JP4476589B2 (en) * 2003-09-30 2010-06-09 京セラ株式会社 Mobile communication terminal
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 (en) * 2005-09-14 2007-03-29 Nomura Research Institute Ltd Monitoring device and monitoring method
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
US9451009B2 (en) 2007-02-19 2016-09-20 Appcentral, 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
EP2737394A4 (en) * 2011-07-31 2015-04-01 Hewlett Packard Development Co Incident handling
JP2013257738A (en) * 2012-06-13 2013-12-26 Casio Comput Co Ltd Computing system, execution control method for computing system and execution control program

Also Published As

Publication number Publication date
KR20140013869A (en) 2014-02-05
US9614790B2 (en) 2017-04-04
JP2014026367A (en) 2014-02-06
CN103577183A (en) 2014-02-12
CN103577183B (en) 2017-05-24
KR101438895B1 (en) 2014-11-03
EP2690587A2 (en) 2014-01-29
US20140032685A1 (en) 2014-01-30
EP2690587A3 (en) 2014-06-18

Similar Documents

Publication Publication Date Title
JP5853890B2 (en) Software execution control device, execution control method, and execution control program
US20210224306A1 (en) System, Apparatus and Methods for Providing an Intent Suggestion to a User in a Text-Based Conversational Experience with User Feedback
KR102368003B1 (en) Provide prompts in automated chat sessions based on selected content from previous automated chat sessions
Tanpure et al. Automated food ordering system with real-time customer feedback
CA2830224C (en) Methods and systems for transacting travel-related goods and services
JP2012059261A (en) Context based user interface, retrieval, and navigation
US10073826B2 (en) Providing action associated with event detected within communication
WO2018096872A1 (en) Business management apparatus, business management method, and recording medium
EP3465586A1 (en) Providing travel or promotion based recommendation associated with social graph
JP2019215679A (en) Server and computer program
US20230004727A1 (en) Task-action prediction engine for a task management system
US8762427B2 (en) Settlement house data management system
JP5266975B2 (en) Personal search system, information processing apparatus, personal search method, program, and recording medium
US10438218B2 (en) System, method, and recording medium for restaurant management
US20170098206A1 (en) Transactional user interface
JP2014006864A (en) Method of providing preview content interlocked with retrieval word automatic completion
US10432700B2 (en) Conversation connected visualization of items based on a user created list
US10248452B2 (en) Interaction framework for executing user instructions with online services
JP2009134511A (en) Sizing device, sizing method, program for sizing, and recording medium
US10691893B2 (en) Interest highlight and recommendation based on interaction in long text reading
JP2020144642A (en) Sales support system and sales support program
KR102703793B1 (en) Restaurant management system and method using speech recognition technology, computer program and restaurant management server
Gorman et al. Denver Water's Integrated Approach to Linear Asset Replacement Leveraging the Optimizer WMR Software Solution
JP2022090139A (en) Program, information processing device, and information processing method
JP2023143395A (en) Management device, management method, and management program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150925

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151123

R150 Certificate of patent or registration of utility model

Ref document number: 5853890

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150